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

Re: Perl cross building support

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" <pjm@nac.net> 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

P. J. McDermott                                        (_/@\_)    ,--.
http://www.pehjota.net/                           o    < o o >   / oo \
http://www.pehjota.net/contact.html                 o   \ `-/    | <> |.
                                                o o o    "~v    /_\--/_/

Reply to: