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

Re: Good communication with upstream is good idea



On Tue, 2008-07-22 at 17:43 +0200, Loïc Minier wrote:
> On Tue, Jul 22, 2008, Neil Williams wrote:
> > >   Consider debootstrapping Debian
> > >  from Ubuntu or vice versa, pbuilding in the same combinations, or
> > >  creating virtual machines.  The same could apply to emdebian tools; of
> > >  course there's no official Ubuntu arm port, but did you know that Nokia
> > >  built many of the last Ubuntu releases for arm with almost zero
> > >  modifications?  Ubuntu is also preparing an armel port.  So I'm not
> > >  sure it's easy to tell whether emdebian is suitable for Ubuntu or not.
> > 
> > Not sure if those builds were done natively or as cross-builds.
> > Cross-building support is the issue here, in particular obtaining the
> > cross-architecture dependencies as pre-built, compatible, binary
> > packages.
> 
>  The unofficial Ubuntu arm port (ports actually) I mention were done
>  natively for reasons outlined in the article (many packages don't cross
>  build properly):

I am fully aware of how many packages do and do not cross-build. I've
been the one cross-building them. ;-)

http://www.emdebian.org/buildd/

Unofficial ARM ports might or might not work with the Emdebian patch
sets (I would say it is unlikely) and for as long as these patch sets
are still necessary, the patches will fail to apply. Unofficial ports
are irrelevant to emdebian-tools - at least until more packages
cross-build without patches in Debian. If this is important to you or
anyone else, then persuade the debhelper and CDBS maintainers to close
their cross-building bugs so that I can start removing most of the
patches.

I cannot rely on unofficial ports - I have no idea if the right version
is available or in sync. For this reason, emdebian-tools requires access
to a Primary Debian Mirror - trying to setup one of those outside a
chroot can easily result in an Ubuntu install being converted to Debian
sid. (Depending on your viewpoint, this may be an upgrade but it still
isn't what the user would expect.)

> > >  So, yes, Ubuntu Mobile wouldn't make a good use of Emdebian tools
> > >  because it's unrelated; however there might be interest for these tools
> > >  from an Ubuntu environment.
> > To do so, the binaries must exist to prepare using apt-cross/dpkg-cross.
> > Currently, that is not the case and I don't think that is going to
> > change before ibex is released. (If it does, by the sound of it this
> > would only happen for armel and the Emdebian patches would still fail to
> > apply.)
> 
>  I can't tell how it will be at the time of the intrepid release, but as
>  you could witness with the third-party port, it's entirely possible
>  that a third party provides a ported archive somewhere.  And it's still
>  useful to run the tools again the Debian archive from an Ubuntu
>  environment.

Inside a Debian chroot on whatever derivative you like. Running the
tools against a Debian archive on an Ubuntu install means making a
Debian archive source available to the system apt which (without careful
pinning) could easily result in the system being upgraded to Sid. Such
pinning cannot (and probably should not) be done reliably by a postinst.
Any bug requesting such a method would be tagged "wontfix" and closed.
Trying to install cross-dependencies built from Debian sources on an
Ubuntu install has unknown implications and is a source of avoidable
bugs.

This isn't a typical "application" that can be made to be
distro-agnostic, this is a package building toolset and just like in
Debian or Ubuntu, built packages must target the suite upon which they
are built.

Would anyone seriously recommend building packages to be uploaded to
Debian unstable on Ubuntu, outside a chroot ? With cross-building, the
whole issue becomes thrice more complicated due to the
cross-dependencies and the cross-building toolchain packages. It is,
IMNSHO, insane to expect any toolset to be able to build usable packages
on a completely different base system without using a chroot. It's not
just the availability of binary packages, it is the whole premise that
building Debian packages on Ubuntu is worthwhile. Emdebian is Embedded
Debian - the packages are Debian packages, Debian builds, Debian
versions and Debian compatibility is tested and assured via the existing
tools.

Once it is agreed that a chroot is required, it is obvious that this
chroot needs to be Debian Sid, at which point emdebian-tools works
without any changes and without the unnecessary bugs inherent in trying
to mangle the underlying installation.

> > >  ii)  you might want to build Debian based images from an Ubuntu env
> > debootstrap can do that.
> 
>  I meant: you might want to run emdebian-tools from an Ubuntu
>  environment against the Emdebian / Debian archives.

Not possible - honestly, it just won't work. There are two many
differences in the packages and in the build environment, let alone
trying to deal with an unofficial port that might or might not contain
compatible binaries at the relevant versions. There is simply no point
in doing so, running emdebian-tools within a Debian chroot is the only
sane implementation.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: