C1pher’s Adopt a Package Program
- March 29th, 2011
- Posted in Gentoo . Linux
- By c1pher
- Write comment
C1pher’s Adopt a Package Program (henceforth known as CAPP) aims to help reduce the number of maintainer-needed packages in the Portage Tree. As you can see in this (rather lengthy) thread on gentoo-dev ML, we have a lot of maintainer-needed (from now on, m-n) packages that could really use some adoptive devs.
M-N packages are hard to deal with for a lot of reasons. Ideally we could very easily just punt anything that was m-n from the tree and not worry about it, however, as you can see from that thread, that is anything but the case. Just because something is m-n does *not* mean that it’s broken, or useless, or anything else. What it *does* mean is that when issues show up, it could sit broken for months without anyone looking at it. That is a QA nightmare as well. We don’t like broken packages. We want the tree to be nice and working. However, if that m-n is useful to a fair number of users, or is depended on by other packages, it can lead to headaches… and angered users… leading in more headaches.
Soooooo, hence this post. As much as I would love to adopt all 675 or so packages that are looking for a home, I do *not* have *that* much free time. I’m a geek sure, but I do have a life. So, instead of watching them flounder, I’m offering myself up as a Proxy-Maintainer to anyone would like to adopt a package or 10 from the list. I am very easy to reach via e-mail or IRC, so poke me there and we will work something out.
If you’re curious what packages need some lovin’, here you are. Click away! Cantidates for adoption.
Some developer once posted a nice script somewhere (unfortunately I don’t remember who or where) which outputs which packages on your system are lacking a maintainer.
Here’s the script (hopefully the formatting won’t break):
#!/usr/bin/python2
from BeautifulSoup import BeautifulSoup
import portage
import urllib2
url = ‘http://www.gentoo.org/proj/en/qa/treecleaners/maintainer-needed.xml‘
# Build a to remove set
f = urllib2.urlopen(url)
soup = BeautifulSoup(f.read())
table = soup.first(‘table’, {‘class’: ‘ntable’})
toremove = set(row.findChild(‘a’).text for row in table.findChildren(‘tr’)[1:])
f.close()
# Build an installed set
vartree = portage.db[portage.root]['vartree']
installed = set(vartree.dbapi.cp_all())
# Print installed, but to be removed
”
packages = sorted(toremove.intersection(installed))
if packages:
print “The following %d installed package(s) need a maintainer” % len(packages)
for package in packages:
print “-”, package
exit(1)
else:
print “All installed packages have a maintainer
exit(0)
I heartily endorse this event or product.
Three packages off to new homes! Only 640 or so more to go! =)
Great idea ! I have some development skill, never done ebuild/python. Will check through list and find possible packages of interest.
I can be proxy of firehol.
Use it for years and did not find any suitable solution.
And it is quite stable.
Alon,
That would be great. Shoot me an e-mail with the relevant info (email mostly) and I’ll get that committed.
Thanks!
Hello!
I wont add and support NOC ebuild…
https://bugs.gentoo.org/show_bug.cgi?id=366051
We need 4 dependies:
dev-python/django-tagging
dev-python/mongoengine
dev-python/python-creole
dev-python/python-cjson
And 1 ebuild for NOC:
net-misc/noc
All is writen and tested…