Using perl to build perl

Niko Tyni ntyni at debian.org
Sat Apr 16 09:20:08 UTC 2016


(cc'ing the debian-cross list, but please let me know if there's a
"right" place to discuss architecture bootstrapping.)

For a long time, src:perl has had some limited support for bootstrapping a
new architecture without /usr/bin/perl.  We've gone to quite some trouble
to avoid needing perl to build perl as far as possible, including quite
a few sed scripts and a 600-line monstrous debian/rules file so we don't
need debhelper. However, things like dpkg-shlibdeps and dpkg-gencontrol
which are required for building .deb packages are #!/usr/bin/perl scripts,
so this is arguably somewhat ineffective.

The temptation for doing away with all these complications and starting to
use debhelper for src:perl too has come up every now and then. The last
time was when we had to implement separate binNMU changelogs (#797106),
and now we're looking at -dbgsym packages (#810327).

As I understand it, the idea in the src:perl "bootstrapping support" is
roughly that you can manually build a static perl binary, temporarily
symlink it into /usr/bin/ and then go ahead building the package.
See debian/checkperl and the top of debian/rules.  Presumably any build
dependencies depending on perl would complicate matters.

Now, I haven't really ever tried this myself, and it may well have
bitrotted. Clearly bootstrappers are managing somehow, though, given that
new Debian architectures seem to be popping up yearly or so. I wonder
if the above process is actually used anywhere, or if people are doing
something totally different to get working perl binary packages together?

So if we started to build-depend on debhelper and therefore transitively
perl, would anybody actually care?

I note that recent progress on src:perl cross build support has promise
in this area and might well be the final solution. However, it's new enough
that I wouldn't really want to count on it quite yet.

Thoughts?
-- 
Niko Tyni   ntyni at debian.org




More information about the Perl-maintainers mailing list