[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#604397: debian-policy: require build-arch and build-indep targets



* Guillem Jover <guillem@debian.org>, 2011-06-06, 09:55:
And I think we should just go ahead with a flag day and declare build-arch/build-indep mandatory (at least for the cases were it makes sense, see below).

Agreed.

I'd even go further and combine that with dpkg-buildpackage stopping to set compilation flags on the environment, so we only have to deal once with possible mass FTBFS on the archive.

I don't think this is a good idea. To enable build-arch, we'll probably need quite a few NMUing volunteers, and it IME is very demotivating when you have to fix a seemingly simple bug (e.g. missing build-arch target) only to discover tha the package would mysteriously FTBFS anyway (e.g. because it relied on *FLAGS exported by dpkg-buildpackage).

Also not all packages really need them:
[...]
They really only makes sense for source packages providing both arch:any and arch:all packages.

This should reduce the affected packages.

Just to provide some statistics:
- There are 16491 source packages in unstable[0].
- Out of these, 2206 source package build both arch:all and arch:any binaries[1].
- Out of these, 214 already FTBFS in unstable[2].
- Out of remaining 1992 packages:
  + 486 use so called "tiny" debhelper rules.
  + 664 use cdbs.
  + At least 175 defines both build-arch and build-indep explicitly.

So that leaves us with at most 667 packages to fix (plus an unknown number of packages that define build-{arch,indep}, but do so incorrectly). This is still a big number, we'd roughly double the number of currently observed FTBFS bugs if we announced flag day *today*.

However:
- Lintian doesn't warn about missing build-* targets yet, so many maintainers are not aware that their package are affected by this issue. - These FTBFS would be trivial to fix. We'd just need an small army of volunteers (say, 10 people) to fix most of them in a single weekend.


[0] UDD query:
select distinct source from packages
where distribution='debian' and release='sid';

[1] UDD query:
select * from (
     select source, count(package) as arch_all from packages
     where distribution='debian' and release='sid' and architecture='all'
     group by source
) pkg_all
natural join
(
     select source, count(package) as arch_any from packages
     where distribution='debian' and release='sid' and architecture!='all'
     group by source
) pkg_any;

[2] UDD query (for all FTBFS bugs):
select source from bugs
where affects_unstable and severity>='serious' and title ilike '%ftbfs%' and status!='done';

--
Jakub Wilk



Reply to: