GSoC/GCI Archive
Google Summer of Code 2010

Gentoo Foundation

Web Page:

Mailing List: <>


We produce Gentoo Linux, a special flavor of Linux that can be automatically optimized and customized for just about any application or need. Extreme performance, configurability and a top-notch user and developer community are all hallmarks of the Gentoo experience. To learn more, read our about page.


  • "IDFetch" (Intelligent Distfile Fetcher) We say Linux is free to use and enjoy. Unfortunately, quite often this freedom is conditional on the quality of your Internet connection, and if you cannot afford broadband at your area, installation of the software packages becomes a stumbling block. This project is not about building new fast networks all over the world, but rather about making the installation software more intelligent and optimized to use the existing infrastructure and bring open source software closer to an end user.
  • Bash Programmatic and AST access Currently, programs like Portage or Repoman must rely either on ugly hacks or slow methods (regular expressions for parsing) to access Bash functionality. A library that allowed access to bash through both method calls and ASTs instead of the current hacks and regular expressions would improve the efficiency and neatness of current programs.
  • G-CRAN Wikipedia is pretty clear about it: "The R language has become the /de facto/ standard among statisticians for the development of statistical software [...]." With the introduction of bioinformatics, R has got another scientific backing. Many statistical, mathematical and biological research groups publish R code for their findings. There are a several repositories for specialized R packages. The goal of this project is to integrate support for these repositories into Gentoo package managers.
  • G-PEAR G-PEAR will generate and install PEAR packages on the fly, using a special Portage overlay with auto-generated ebuilds for each package. The ebuilds will be generated on an as-needed basis, but stored for later in case the user wants to uninstall or upgrade a package. This way PEAR and Portage will be kept in sync while external dependencies will be handled (semi-)automatically.
  • Help Gentoo Council and Recruiters by providing web based applications I would like to make a set of tools that will help Gentoo Council and Gentoo Recruiters Team to work more effectively. I will prepare a website for Council which will do the work that is now done manually and an IRC bot that will allow to use meeting log on website. The Councils website will also allow more input from developers community. The Recruiters website will help recruiters to prepare better quizzes and mark them in more accurately.
  • Improve NetworkManager integration with Gentoo This project will improve NetworkManager integration with Gentoo. NetworkManager is a very popular tool making network configuration much easier which is used in many popular Linux distributions. However, it can’t deal with Gentoo network configuration files which make it quite useless out of the box. This project will make it work properly in Gentoo.
  • Improve the Octave/Matlab support. The Octave-Forge packages can be managed using an internal package manager from Octave, but it is better for Gentoo users to manage the packages with their usual package manager, i.e. Portage, Paludis or Pkgcore. In other words, we need ebuilds for these packages. Thus I created g-octave, which generates fresh ebuilds "on-the-fly" from the Octave-Forge packages.
  • Multiple Repository Support in sys-apps/portage The proposed project is to implement support for multiple repositories in sys-apps/portage. Today, portage handle just one repository of ebuilds, with a lot overlays atached to it. The idea is to change Portage internals to support a stack of ebuilds' repositories. Each repository will be a standalone repository and may have overlays applyed to it. Syncing the repositories and overlays will be done using emerge and repositories will be added in a config file.
  • Port the new distro-neutral initrd framework, Dracut, to Gentoo The project aims to port Dracut to Gentoo. As a first part it will involve fixing test suites and updating modules to work in Gentoo. As a side-effect would be make the Dracut more generic and to ease to port it to other distros. Any changes from there need to go upstream. Second part is Gentoo specific. It will involve creating new (or modifying existing) ebuild for Dracut, integrate it with Genkernel and customize Catalyst (LiveCD generator) to use it.
  • Portage/ebuild ability to use file-based capabilities rather than setuid This project will add a feature to Gentoo to use Linux-Capabilities instead of setuid/setgid, which would be a security enhancement. Gentoo allows some security features already and Capabilities will make a useful addition. The user will be able to choose, if he/she wants to use Capabilities by setting a USE-Flag or selecting an appropriate profile.
  • Porting Portage and its tools to DragonFly BSD. DragonFly BSD is one of *BSD families. It is known for HAMMER which is a file system that provides several new features and rivals ZFS in the future. The idea is to make it possible to use Portage on DragonFly BSD/HAMMER, to create ebuild packages for DragonFly's core system and to make simple desktop work on Gentoo/DragonFly BSD.
  • Project Grumpy Project Grumpy is a set of applications for gathering, indexing and interacting with various ebuild- and developer-related metadata.
  • Revive Kuroo I will revive the currently dead portage GUI Kuroo. It will be ported to Qt 4, and to the new portage API. The goal is to have a Qt based portage GUI again as most of the current ones are GTK+ based. That will give KDE users a better solution when they want a graphical user interface for their gentoo.
  • Rewrite of g-pypi ebuild conversion tool Portage is a complex, full-featured package management for Gentoo Linux distribution. Many languages like Perl provide their own philosophy how Perl package distributions should be handled, for example CPAN. Python provides very similar service, the PyPi website, which can be queried for Python packages and their metadata. g-pypi solves fundamental problems converting pure Python packaged distributions to Portage's ebuilds format with accompanying metadata.
  • Ventoo - Visual Configure file editor Ventoo is a visual configuration editor that lets the user graphically edit system configuration files. Ventoo was originally written by Luis F. Araujo in '07, but was never finished, as it is a large project. All the existing code is in python and GTK. This summer I'd like to work on Ventoo until it is useable and can be put into portage. I have several ideas that I will outline below that I think would make Ventoo useable by the average gentoo user.
  • webapp-config rewrite webapp-config is the web application installer and updater on gentoo. it currently has many issues and bugs, and its design has some serious flaws. fixing the current mess would be a waste of time. instead it should be reimplemented, possibly in a distro-agnostic manner. (- shamelessly copied from the gentoo wiki, because it says it all, very well)