My Use of Gentoo
Gentoo
I use Gentoo on this computer and a few other computers. I like the type of packaging system Gentoo uses. Most packages I install are compiled from source right on my computer. Also, Gentoo has its own patches to fix compilation issues or bugs in programs and support for a diverse amount of packages. These features are provided through a system known as Portage which uses Ebuilds to do the following things:
- Manage dependencies, separating run-time and build-time dependencies
- Provide the needed flexibility for programs which need unusual compilation procedures
- Give some support for cross-compilation of packages through its own tools and patches to occasionally misbehaving tools like Libtool
Agenda
As a Gentoo user, I get to see problems that normally only packagers care about. Here are the following things that I am interested in attacking or having fixed:
- Support for no lib -> lib64 symlink. This means anything from fixing packages which still have /usr/lib hardcoded into their buildsystems. This also catches a number of generallly bad practices, such as procmail's apparent manual searching of a hardcoded list of libdirs for something like lib${blah}.so in an unreadable ``./initmake'' script. Packages should instead either check pkg-config for linking flags (if available for a lib) and also check if linking against the lib (using the compiler's built-in libdir search-path by asking the compiler to link a small sample program which accesses a function provided by the library).
- Get multilib-portage to work (i.e., not the eclass branch)
- Provide up-to-date IRC-related ebuilds, such as ones for UnrealIRCd (bug 260806) or atheme (lp:bug:561946)
- Unbundle libraries as much as possible (Gentoo tracker)
-
Getting libraries to provide pkg-config files and proper methods of installing themselves.
- squirrel: (autotools + pkg-config petition (still waiting on a response from squirrel's maintainer as of 2010/05/18))
- procmail: Build fails on portage-multilib and buildsystem is proprietery, so I'm in the process of rewriting the buildsystem in autotools
- atheme: nenolod is willing to have automake added to atheme to overcome limitations in buildsys. I'm 1/3 of the way there.
- unrealIRCd: waiting for a comment of {dis,a}pproval from Syzop, (0001631 c16083)
Sunrise
I am slightly involved in the Sunrise user overlay. The following are packages I maintain in sunrise so far:
Please consider getting involved yourself! Just read the HowToCommit and join #gentoo-sunrise. There are many ebuilds that should be in the portage tree. If you don't see an ebuild in the tree or in sunrise that you need, you are a prime candidate for maintaining an ebuild in Sunrise yourself. Please be willing to take the time to get through the process of your first ebuild review. Also, please don't abandon any bugs you place into sunrise — we don't want future sunrise users to get a bad taste of sunrise from a failed compile or out-of-date package. Sunrise is a great place to get a jumpstart into Gentoo devship as well, as chiiph may be able to tell you.
Proxy-Maintained Packages
Some packages which used to appear only among my sunrise packages. hwoarang has kindly shoved a few into portage on my behalf so that I now proxy-maintain them :-).
My Overlay
I am attempting to maintain my own Portage overlay. If you
are are Gentoo user and have Layman installed and want to
risk using my few modifications to Gentoo's Portage tree,
install my overlay with the following command (you'll need
mercurial).
layman -a ohnobinki
Packages
I focus on the following packages in my overlay:
-
SuperTux:
Ebuilds for the development snapshots of the SuperTux 2D
platformer and its editor.
-
ClamAV: I don't know
much about clam itself, but I have modular
initscripts for clam which the Gentoo dev hasn't
touched.
-
portage-multilib:
Generally, every package blocking the portage-multilib
tracker bug is patched in my overlay with the
patches attached to those bugs.
-
Sunrise
Candidates: Most ebuilds I write start out in my
overlay. Then they move to the Gentoo
Sunrise User Overlay from whence they have a chance
at being eventually proxy-maintained. Thus, my overlay
is used as a staging area for new ebuilds I'm working
on.
-
UnrealIRCd: I have
UnrealIRCd release candidates and the latest stable
versions in my overlay. I find the (nonexistent)
net-irc herd to be too unresponsive for my
liking. I'm interested in changing that someday ;-).
Dependencies
My overlay assumes that you have the sunrise overlay installed. For example, as of this writing, my live supertux ebuild depends on dev-libs/findlocale which is available in sunrise. I removed it from my own overlay to help keep things clean, just like the sunrise overlay's policy is to not carry packages that are in the official portage tree.
Bug Reporting
If you have problems using my overlay or suggestions for
how I could improve it, please file a bug at the local bugtracker or find ohnobinki or
binki on freenode, oftc, or somewhere. I am
interested in improving it as I have time.
Me
Me as a penguin: