Why overlays are a good thing

Why overlays are a good thing

August 24, 2010 15:14 0 comments
1 Kudos

Few days ago I read a blog post regarding overlays written by Diego Elio Pettenò, an IRC fella and, despite I usually agree with him, this time I think he’s damn wrong.

I think overlays are a real good opportunity where to learn how to write (almost) proper ebuild and to learn how versioning, bumping and maintaining packages should be accomplished. Proxy-maintain is option, indeed, but not in the immediate time for sure.

Before asking a developer for proxy-maintaining something, you should be able to write good ebuilds that won’t break things up. A developer is not a mentor and he’s not supposed to be your personal guide.

Diego says that the main reason he dislikes overlays is the fact that, being proxy-maintainer, an huge amount of people will get your ebuild in a timely matter and, the developer, can fix your ebuild before reaching the tree.
I don’t think so. The “timely matter” opinion is barely sharable since the fact that a package is not in the tree means that very few people have interest in it. This means that time doesn’t matter at all.

The second part where a “developer can intercept mistakes before committing them to the tree” isn’t correct if compared to what do happen in certain overlays (at least).
Sunrise, which is my favorite overlay (where I commited tons of ebuilds myself), has a very good system to minimize the amount of poor ebuilds in the overlay: there are three-four developers that took the commitment of being there for replying questions and check & fix novices’ ebuilds. Furthermore, in the IRC-chan, there are five-six dozens of users willing to collaborate and that can help you in writing good ebuilds.
Before committing an ebuild you have to provide a good version of it and wait for a gentoo developer green light. Once you had it, you can commit it in the “non-reviewed” branch.
After few days (a week at most), a developer will read all the ebuilds that have been added in the “non-reviewed” branch, re-review those and, finally, they are pushed in the “reviewed” branch, that’s the public one.
It’s a pretty good system to me.

The main reason I like overlays is the level of engagement. You can write few ebuilds and other people will carry on with those. There’s no single-maintainer but everyone maintains everyone’s ebuilds so you can live your life without being reviled.

I don’t think every overlay is good and I agree with Diego when he says that, usually, overlays “mix should-be-working packages with don’t-even-try” and that’s bad, indeed.
But, for what concerns my humble opinion, I still prefer the approach where I don’t have to bother people asking for a role that I might not fulfill.