Re: Perl cross building support

"P. J. McDermott" <[email protected]>
Newsgroups gmane.linux.debian.devel.embedded
Message-ID <[email protected]>
Sorry, I think I may have confused you.  The embedded distro project I
mentioned is separate from Debian and my work in this GSoC project.  I
only mentioned it because my experience with that project has helped me
in this case (and many others) on this GSoC project.

The idea in this GSoC project ("Bootstrappable Debian" [1][2]) is to
cross build just enough packages to get a base system that can natively
build the rest of the archive, then to resolve cyclic build dependencies
when natively building the rest.

On 2012-06-10 04:35:23, Neil Williams wrote:
> On Sat, 09 Jun 2012 18:16:32 -0400
> "P. J. McDermott" <[email protected]> wrote:
>
> > perl-base (from src:perl) is one of the packages that must be in the
> > base build system (it's marked "Essential: yes" and there are four
> > dependent Perl module packages marked "Priority: required").  So it will
> > be one of the packages I have to make sure can be cross built.
> 
> Not necessarily. For bootstrapping a full Debian archive, yes, but for
> an embedded distribution based on Debian, no. (Emdebian Crush did
> this). It is entirely possible to have Debian without perl, Essential
> doesn't have to mean anything for embedded purposes. Cross-building
> perl isn't a blocker for anything other than bootstrapping - and it
> could be argued that you don't need a full perl interpreter to
> bootstrap, as long as you can cross-build enough of perl that any
> circular dependencies are avoided.

I am working to bootstrap a full Debian archive, not to build a
distribution based on Debian.

A Perl interpreter is necessary for a bootstrap most obviously because
of dpkg-dev, and also probably debhelper [3].

> Don't cross-build stuff which is available already *unless* you
> absolutely must have modified functionality.

Host-architecture binary packages built from src:perl are of course not
available when bootstrapping.

> > I realized that the Perl interpreter
> > can't really be cross built (my goal in that project is to cross build
> > every package).
>
> That is a waste of effort. It is a pointless objective, as above.

That goal is for my embedded distro project and not related to my work
in Debian.  There is a valid reason for that goal, and so far it seems
feasible, so for that other project it is not pointless.

> Almost certainly they do, amongst other packages. Perl is just one of
> many, it's not just interpreters either. You might find the
> EmdebianAudit useful for that. (wiki.d.o)

Thanks, this looks like it could help in one or both of my projects.

> > Should I escalate the severity of #633884 from wishlist, since we need
> > src:perl to cross build?
>
> NO. Cross-building has never had a severity higher than wishlist in
> Debian. Cross-building is not an objective for Wheezy, it isn't an
> objective in and of itself anyway.

For a small number of packages (the base build system), cross building
is necessary for a full Debian bootstrap.  So while cross building for
most packages is indeed generally only of "wishlist" severity, for these
base packages I think a higher severity is warranted.  But of course
that's not up to me to decide.

> What we actually need is a cross-building system based on MultiArch in
> Wheezy+1 (or possibly +2) - as long as your cross-build support is
> independent of how the cross dependencies are installed (i.e. in the
> paths for foreign arch libraries) then it will work. Ensure that your
> support does not perpetuate a reliance on dpkg-cross because that is
> going away. Most cross-builds will be fine - just ensure that there are
> no hard-coded paths which look for /usr/$triplet/lib instead
> of /usr/lib/$triplet.

Yes, this is to be a multiarch cross build (with no dpkg-cross) of these
few packages for wheezy+1.

[1]: http://wiki.debian.org/SummerOfCode2012/StudentApplications/PJMcDermott
[2]: http://wiki.debian.org/SummerOfCode2012/Projects#Bootstrappable_Debian
[3]:
http://lists.mister-muffin.de/pipermail/debian-bootstrap/2012-June/000148.html

Thanks,
-- 
P. J. McDermott                                        (_/@\_)    ,--.
http://www.pehjota.net/                           o    < o o >   / oo \
http://www.pehjota.net/contact.html                 o   \ `-/    | <> |.
                                                o o o    "~v    /_\--/_/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.