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

Help needed: conditional removal of usr/*/perl5



Hi,


(this is a long mail. having yoru favourite drink around is recommended)


I've tried to rebuild all pkg-perl packages with perl 5.10 from
experimental and I have to say, the situation is not pink :(

Out of 268 packages attempted, 76 failed to build with the following
error:
  rmdir:
  /tmp/buildd/libdir-purge-perl-1.02/debian/libdir-purge-perl/usr/lib/perl5:
  No such file or directory

I have compiled a list on [1]

    [1] http://pkg-perl.alioth.debian.org/perl5.10-FTBFS.txt

The list is incomplete and I'll add more to it when I have more results.
Once again, this is only for packages maintained by the group, not all
perl module packages.

Note also that for now these are only the failures caused by the
unconditional rmdir. These are very easy to fix -- the fix is actually
already committed by gregoa so the packages have to "only" be
reviewed/uploaded.

There are also other, hidden failures that are not in that list. Take
for example image-size:

  The following packages are BROKEN:
    libcompress-raw-zlib-perl
  The following packages have unmet dependencies:
    libcompress-raw-zlib-perl: Depends: perlapi-5.8.8 which is a virtual
    package.
  The following packages will be DOWNGRADED:
    perl perl-base perl-modules

This downgrade will not be possible when 5.10 is in unstable. The fix,
however is not trivial at all. It is to build the packages depending on
perlapi-5.8.8 with perl5.10, which IMHO is best done with binNMUs. Some
of the binNMUs will fail (for the same reason build-deps depending on
perlapi-5.8.8), but several runs have to clear the pile.

If anyone can provide a "staircase" approach for this, i.e. a list of
package to binNMU first (arch-dep, with no build-depends (including
build-depends dependencies) depending on perlapi-5.8.8), then another
list which includes packages build-depending (incl. indirectly) on
packages from the first list, etc, that would be great.

Some of these packages will also FTBFS due to the rmdir bug so that
should be cleared first.

So I propose to
* Variant A
  1) upload packages with fixed debian/rules (no unconditional rmdir)
  2) give perl 5.10 green light, wait for it to enter sid on all
     architectures
  3) schedule binNMUs for the arch-dep packages (hopefuly using the
     staricase list someone prepared in the mean time)
  4) fix failures with maintainer uploads
  5) ask Lucas to rebuild archive yet again (or at least all packages
     that produce binary packages named lib*-perl)
  6) fix failures

  or,

* Variant B)
  1) upload arch-dep (not all) packages with fixed debian/rules and wait
     for them to appear on all architectures
  2) give perl 5.10 green light, wait for all archs
  3) binNMUs for arch-dep packages
  4) during 2) and 3), work on arch-indep packages may continue in
     parallel
  5) archive rebuild

the B method would allow for perl-5.10 to enter sid earlier, allowing
for more parallel work. OTOH it looks slightly more complicated and in
need of sync.

Ths script used to generate build logs is in scripts/rebuild-all.sh. It
is in very early stages of development and has hardcoded some
location-specific things. Still it can be used as a base. Note that the
script uses the sources from *unstable*, not the SVN repo.

That's it.
I'll keep filling up [1] as my PC progresses through the
queue (it is at 388/621 after some hours of work. hopefully it will be
done by today).

Any help for clearing the list is welcome. Please remove the package
from the list at [1] when uploading.


Thanks for participating ;-)
-- 
dam            JabberID: dam@jabber.minus273.org

Attachment: signature.asc
Description: Digital signature


Reply to: