Gentoo Logo

Gentoo Summer of Code

Content:

1.  Project Description

For the fourth year running, Google is organising a Summer of Code, funding students to work on open-source projects over the summer. Gentoo has been accepted for Summer of Code 2008.

2.  Developers

Developer Nickname Role
Alec Warner antarus Lead, Mentor
Jorge Manuel B. S. Vicetto jmbsvicetto Member
Mark Kowarsky mark_alec Member
Grant Goodyear g2boojum Member, Mentor
Joshua Jackson tsunam Member, Mentor
Anant Narayanan anant Mentor
Alex Howells astinus Mentor
Jose Alberto Suarez Lopez bass Mentor
Petteri Räty betelgeuse Mentor
Preston Cody codeman Mentor
Saleem Abdulrasool compnerd Mentor
Diego Pettenò flameeyes Mentor
Marius Mauch genone Mentor
Fabian Groffen grobian Mentor
Mart Raudsepp leio Mentor
Luca Barbato lu_zero Mentor
Markus Dittrich markusle Mentor
Robert Buchholz rbu Mentor
Robin H. Johnson robbat2 Mentor
Olivier Crête tester Mentor

All developers can be reached by e-mail using nickname@gentoo.org.

3.  Applying to GSOC 2008

As a Student

Google is accepting student applications until 7 April 2008, 00:00 UTC. (Please see the published GSOC timeline in case that deadline should change). Before applying, we encourage you to browse our project ideas below and offer up your own ideas in #gentoo-soc on freenode and on the gentoo-soc mailing list. We urge you to discuss your ideas ahead of time with our prospective mentors so we can work out any kinks prior to the application deadline. Please also read our application guidelines prior to applying.

As a Mentor

Mentor applications are now open. Please read the mentoring guidelines to learn what you need to do to apply.

4.  Project Ideas

As of yet Gentoo is unaware of how many slots have been allocated. Some project ideas are below:

Project Details Contact
Sandbox improvements Since Martin (azarah) has been busy and then was retired, there was nobody working full-time on sandbox, yet it's one of the core utilities that Gentoo uses; Martin left an experimental branch of sandbox, which has code used for Gentoo/FreeBSD support in it. At the moment that sandbox fails badly with Linux modules, and is non trivial to fix. Having someone cleanup sandbox code and ensure that building continues to occur in a safe environment from the running system is of critical importance. It would also be useful to port sandbox to other operating systems such as: Darwin, Solaris, *BSD and more. Diego Pettenò
Autoepatch Autoepatch was a project to replace gnuconfig.eclass and elibtoolize that you find used in quite a few ebuilds to help ensure packages build correctly. Its goal is to apply common patches and fixes to source code after the unpacking but before the the compile phase. Ensuring that common mistakes made in source code, such as a broken autotools issue, is resolved before someone has to fix it on an ebuild by ebuild basis is a very useful thing for developers and saves time. Diego Pettenò
Eselect modules Eselect is Gentoo's configuration tool for selecting versions or linguas of applications that have multiple instances that can fulfill a need. There are many applications such as tar, whois, cpio, sendmail, package managers (portage, paludis, pkgcore), and countless others that are different versions/implementations of the same application. Eselect is ideal for allowing you to have multiple versions of these applications installed but having the default system version be selected via the Eselect framework. Adding more modules will allow users to have better control over the various packages.
scanmacho A program that scans Darwin Mach-O files and returns information in the same way as the scanelf tool. It will be used as a replacement for otool, since the latter tool requires special parsing of its output to get the required values. Fabian Groffen
busybox package rescue applet An applet for busybox that aids users in fixing a broken system by merging gentoo binary packages (tbz2 format) to the live filesystem. This applet would be embedded (minimal size) written in C and it should handle things like atom parsing and dependency calculation as well as installing packages to the live filesystem properly (currently tar and bzip2 'work' but do not write the correct metadata.)
OpenPAM-compatible modules for basic login on Linux Gentoo supports already two PAM implementations, but they are tied to one operating system only: Linux-PAM (sys-libs/pam) on Linux and OpenPAM (sy-auth/openpam, plus sys-freebsd/freebsd-pam-modules) on FreeBSD. Being able to choose between either implementation on either operating system is one of the long term goals of the PAM team. The first step would be to produce a set of single PAM modules compatible with both Linux and OpenPAM that could replace Linux-PAM and its default set of PAM modules. Diego Pettenò
Portage/ebuild ability to use file-base capabilities rather than setuid. With recent Linux kernels, file-based capabilities are available. It is thus possible to give the ping command just the minimum capabilities needed to access the RAW socket, rather than leaving it entirely setuid. A long term goal for Gentoo would be to allow the user to choose capabilities over setuid for (at least some) programs. To support this feature however, Portage needs a means to copy over capabilities from one file to another. A python extension may be needed to handle this. Diego Pettenò
Portage support for multiple extraction tools. Some ebuilds refer to source packages that upsteam releases with formats different from tarballs (either gzip or bzip2), like ZIP or tarball compressed with LZMA. Right now, to unpack these, the ebuilds depend on a specific decompression tool like app-arch/unzip, even if the system might already have something like app-arch/libarchive installed that can handle it. A better way to handle this would be to have a set of virtual ebuilds that depend on at least one of a given set of tools that extract a specific format (like virtual/portage-unpack-zip), and a set of scripts that can find the best tool available on the system to do the unpacking. Diego Pettenò Zac Medico
Portage/Pkgcore/Paludis backend adapter for PackageKit PackageKit is a UI for getting packages installed. Currently there is no backend support for Gentoo-based package managers. This project would consist of authoring the correct adapters to allow PackageKit to utilize one or more existing Gentoo package managers such that users could use PackageKit on Gentoo. Donnie Berkholz
Reimplementation of revdep-rebuild as a Portage package set Revdep-rebuild is the solution to fix runtime linker errors caused by missing dynamic libraries. It has a number of conceptual problems as it is implemented as a bash script on top of various portage interfaces, most importantly emerge, resulting in errors, incorrect results, poor performance and lack of automation. To improve this situation it should be reimplemented as a dynamic package set using the set framework and linkage information included in portage-2.2. A prototype for this already exists, but lacks most of the processing steps currently in revdep-rebuild and therefore doesn't generate useful results. People working on this project could either complete this prototype or start from scratch if wanted. Marius Mauch
GNAP Love (embedded framework) The road to GNAP 3 needs your love. GNAP 3 will be a complete framewrok to creation of gentoo based embedded systems. Last GSoC was a nice GNAP experience and this year will be even better. The idea is to complete small/medium task for gnap (mostly smalls) for example: live firmware upgrade, SquashFS packages, UnionFS support and adapt GNAP to new catalyst. José Alberto Suárez López
Tools and support for multiple FORTRAN compilers The FORTRAN language is unfortunately not dead yet. Many scientists still use it and your pet program might need it. Gentoo has a few FORTRAN compilers, but the framework is getting old and could be much improved. Some powerful compilers are not allowed. The task could include rewriting the framework to allow any user compiler, FORTRAN profiles with eselect, writing documentation, testing applications, making benchmark on linear algebra. Basically making FORTRAN on Gentoo more configurable, robust and easy. Sébastien Fabbro
Make Beacon (the GuideXML editor) usable Beacon is a web based GuideXML editor that isn't widely used. The project entails making UI enhancements, improving usability and packaging the project for wide-range deployment and usage by GuideXML users. Knowledge of PHP, JavaScript and XML (XSLT in particular) will be considered a plus since you will be working on an existing codebase. Anant Narayanan
Write G-PEAR (inpired by G-CPAN) This project involves writing a tool (tentatively named G-PEAR) that generates and installs PEAR packages on the fly. The tool could closely emulate the structure of G-CPAN, that is open to discussion however. Anant Narayanan


Print

Updated March 25, 2008

Summary: The Gentoo Summer of Code subproject oversees Gentoo's participation in the annual Google Summer of Code program.

Alec Warner
Author

Joshua Jackson
Author

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.