[SCM] Tools to automatically infer debtags tags branch, master, updated. 42455e63a004d9c980df209cbaf6305cba9e8ffc
Enrico Zini
enrico at enricozini.org
Sat Feb 21 20:22:14 UTC 2009
The following commit has been merged in the master branch:
commit 42455e63a004d9c980df209cbaf6305cba9e8ffc
Author: Enrico Zini <enrico at enricozini.org>
Date: Sat Feb 21 20:22:10 2009 +0000
Added maint_tags
First attempt at autogenerating some tags about maintenance status
diff --git a/maint_tags b/maint_tags
new file mode 100755
index 0000000..b3c9fd3
--- /dev/null
+++ b/maint_tags
@@ -0,0 +1,143 @@
+#!/usr/bin/python
+
+import psycopg2
+
+conn = psycopg2.connect(host="localhost",port=5441,user="guest",database="udd")
+
+data = dict()
+
+queries = [
+ ("maint::orphaned", """
+select s.package from packages_summary s, orphaned_packages o where s.source = o.source and s.distribution = 'debian' and o.type='O' group by 1
+"""),
+
+ ("maint::rfa", """
+select s.package from packages_summary s, orphaned_packages o where s.source = o.source and s.distribution = 'debian' and o.type='RFA' group by 1
+"""),
+
+ ("maint::old-rc-bugs", """
+select package from bugs where exists (select * from packages_summary where package = bugs.package) and status <> 'done' and severity >= 'serious' and last_modified < current_date - interval '3 months'
+"""),
+
+ ("maint::low-popcon", """
+select package from popcon where insts < (select avg(insts) from popcon)*0.01 and exists (select * from packages_summary where package = popcon.package);
+""")
+]
+
+c = conn.cursor()
+for tag, query in queries:
+ c.execute(query)
+ for row in c:
+ data.setdefault(row[0], set()).add(tag)
+
+
+pkgs = data.keys()
+pkgs.sort()
+for pkg in pkgs:
+ print "%s: %s" % (pkg, ", ".join(sorted(data[pkg])))
+
+
+# Random bits of discussion
+#
+# - low-popularity packages can delegate security to the maintainers
+# - support-level tags
+# - Auto-generated tags
+# - MIA maintainer (should get orphaned)
+# + orphaned
+# + old RC bugs
+# - DD-introduced tags in control file
+# - self-declared fringe package
+# - self-declared dead-upstream
+# - self-declared dead-upstream but DD will fix bugs
+# - What else?
+# - brainstorm personal best practices/metrics for choosing packages
+# - package depends on orphaned packages
+# - development status (alpha, beta, production, ...)
+# - "I don't use this package anymore" (could be computed by
+# scanning RFA bugs)
+#
+# > Keywords would include buggyness, dead upstream, long-orphaned, long
+# > time without upload, low popcon.
+#
+# Facet: maint
+# Description: Maintenance status
+#
+# Tag: maint::orphaned
+# Description: Orphaned
+# There is no maintainer for this package. Maintenance is done by the Debian QA
+# Team.
+# (it can be autogenerated by looking if debian-qa is in the Maintainer field)
+#
+# Tag: maint::rfa
+# Description: Adoption requested
+# The maintainer is still maintaning the package, but has requestes for someone
+# else to take over its maintenance.
+# (it can be autogenerated by scanning open WNPP bugs)
+#
+# Tag: maint::mia
+# Description: Maintainer unreachable
+# The maintainer for this package is currently unreachable.
+# (mia-query on merkel shows all sorts of data, but I need to see how it
+# can be turned in a tag. It has been suggested that if a maintainer is
+# MIA, the package should just be orphaned, so this tag would be of no
+# use, and I tend to agree)
+#
+# Tag: maint::old-rc-bugs
+# Description: Old unfixed RC bugs
+# The package has unfixed RC bugs older than 3 months.
+# (it can be autogenerated by scanning the BTS)
+#
+# Tag: maint::fringe
+# Description: Fringe package (FIXME)
+# The maintainer declared this to be a fringe package.
+# .
+# (TODO: define what this practically means)
+# .
+# (from IRC) more users == greater level of peer review and peer support?
+# (maintainers can enter this information in debian/control and I can scan it using Mole)
+# (Isn't this what Priority: extra is for?)
+#
+# Tag: maint::unmaintained-upstream
+# Description: Unmaintained upstream
+# The package is not maintained anymore by its upstream developers.
+# .
+# Debian still carries on basic maintenance, but no new upstream versions of the
+# package are to be expected.
+# (maintainers can enter this information in debian/control and I can scan it using Mole)
+#
+# maint::rfh for RFH bugs should be a trivial extension of this concept.
+#
+# The interesting question would be how to handle ITA bugs. These packages
+# can either be owned by debian-qa (in this case we already have
+# maint::orphaned) or they can be owned by the former maintainer (in case
+# of a fast O -> ITA or in case the ITA is a former RFA).
+#
+#
+# I'm a bit unsure about that one. Having old RC bugs does say nothing
+# about a package without actually reading at least the titles of the bugs
+# in question (think non-free documentation/RFCs vs. "should not go to
+# stable because of instable API/ABI/..." vs. "this is crap, should be
+# removed" vs. "FTBFS in unstable because <random other library> is
+# fucked up"). I see no real information value here.
+#
+# What I would like to see would be a maint:obsolete tag. Can be added
+# to packages that are already removed from unstable and only supported
+# in stable or for packages that are only maintained in unstable for
+# external reasons (like dependencies). Think GNOME 1/GTK 1.2. This would
+# generally be the debtags equivalent to the oldlibs section.
+#
+# For the "removed from unstable" case this would need to be filtered
+# manually probably, since it shouldn't be assigned to libraries in stable
+# just because they had a SONAME change in unstable...
+#
+# For packages that aren't removed from unstable this could be a
+# maintainer field.
+#
+# Didn't someone mention in the Debconf session something along the lines
+# of maint::only-upstream? In the sense of "I'm the Debian maintainer and I
+# package new upstream versions and forward bugs, but I don't understand
+# the code [because it is too complex, because I don't speak the
+# programming language] and will/can not fix any bugs in it myself".
+#
+# That should probably correlate to a open RFH/RFA bug but there might be
+# reasons it doesn't.
--
Tools to automatically infer debtags tags
More information about the Debtags-devel
mailing list