build-arch for everyone

The other day, I was asked if it was really possible to get build-arch support in Wheezy (as in, buildds using build-arch) by adding these optional targets.

Lets have a look at the data that is available to us:

  • At least ~500 packages must be fixed (the “reduced set“)
  • The Wheezy freeze is expected in June (as I recall, I may be off)
    • NMUs can take quite a while, so lets reduce it to May.

To simplify my calculation I will assume we can fix packages over a course of 150 days (which is 5 months of ~30 days or every day in Dec to April). So 500/150 = 10/3 =~ 3.3 packages from the reduced set should be fixed every day.  Erring on the side of caution, we should make that 4 packages every day.

So if we fix 4 packages from the reduced set every day, we will definitely fix all of them before Wheezy.  But the reduced set are only the source packages that could possibly “benefit” from having a build-arch target (it builds both arch:all and non-arch:all packages).   There could (and probably will) still be sources building non-arch:all packages without a build-arch target.  Furthermore, with the rate of 4 a day we will only have a month to get dpkg and buildd support…

In short, no.  I do not expect us to get archive-wide build-arch support on buildds for Wheezy.  But I will do my best to ensure that option #4 “flip the switch” becomes very attractive early in the “Wheezy + 1” development schedule.

I hope you will join us in this endeavour.  Most of the time it is a trivial 3-4 line fix and often you can even throw in some hardening flags to spice it up a bit.  The easiest way to help is to fix your (team’s) packages listed in the “reduced set“.   Once you are done with that you can look at the “rest” of your (team’s) packages (see the full dd-list).

The most important thing to remember is that Build-Depends-Indep is still broken!  That is, you cannot rely on Build-Depends-Indep being installed on a buildd in the “build” target.  So any existing workarounds have to stay for now (i.e. check for certain commands or deferring indep till binary-indep is called).  If you are in doubt about how to fix a certain package feel free to ask for help.

Note: I pull the data directly from lintian.d.o (full set) and UDD (reduced set).  I try to remember to refresh it daily.  The full set is basically (z)grep | cut | uniq on the lintian log, the reduced set is found using the UDD query from this script (based on a query done by Jakub Wilk).  Since all data is (in)directly based on lintian.d.o only packages that are in sid are considered.


This entry was posted in Debian. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s