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

Fixing postinst detection of primary mirrors



> -- debconf information:
>  emsource/svnusername:
>  emsetup/aptagent: true
>  emsource/targetsuite: unstable
>  emsource/workdir:

(I would strongly recommend that you set an emdebian working directory -
debconf did warn you that the default top level directory is intended
for a chroot or automated build environment. It is particularly useful
to ensure that the chosen working directory is writable without sudo
privileges. I use /opt/emdebian/ but it is not safe to assume this as
the default for emdebian-tools.)

There are a few issues here and I've fixed the simplest.
:-)

1. postinst was only checking for a primary mirror that also supported
the "targetsuite" set in debconf. This is why your existing primary
mirror (ftp.pl.debian.org) was missed and a new primary added. postinst
in 0.8.1 will accept that mirror and won't add a default primary. This
closes the bug report - the actual upload will be later this weekend to
Emdebian. The bug itself will be closed by 0.9.0 (for Debian unstable),
depending on how other tasks proceed that is likely to be before or just
after Fosdem.

2. emdebian-tools reads the "targetsuite" from debconf (unstable in your
case) and passes that to apt-cross so that you get the right versions in
the cross dependency cache, allowing you to install packages that are
consistent on the host device. i.e. your apt-cross cache will contain
data from unstable for arm.

3. HOWEVER: there is a gotcha waiting. You've selected unstable as your
targetsuite whilst running testing. It is possible that apt-cross will,
at some point, require the installation of a -cross package that comes
from unstable and might not be installable on testing.

This has a consequence for your use of emdebian-tools:
You may have to get more involved in the dpkg-cross and apt-cross
options to allow certain -cross packages to install. Typically, I'd
expect this to involve using the -x option to apt-cross and/or -X option
to dpkg-cross. This will mean that some scripts in emdebian-tools will
need manual assistance before being able to run successfully (e.g.
emdebuild --build-dep).

It remains possible to simply
edit /etc/apt/sources.list.d/emdebian.sources.list at any time to
reflect your own needs, just like any sources.list. debconf/dpkg will
respect your changes and allow you to retain them (or accept the
packaging defaults) upon each installation.

The final option is, as ever, to run emdebian-tools within a Sid chroot.

As I see it, the issue comes down to:
1. Debian expects package building to be done in unstable, except for
specific circumstances, hence the default for "targetsuite" is unstable.

2. It is essential that your sources.list (as a collection) contains at
least one primary mirror so that the apt-cross cache contains package
data for your selected cross architecture.

3. Trying to build packages for unstable on testing is not recommended
in Debian and is likely to cause a lot more problems when cross-building
*unless* versions from unstable are available Some manual input may be
necessary to ensure that the -cross packages can be installed. One
option is to include an "unstable" listing but use apt pinning to
prioritise testing. Such configurations are beyond the scope of
emdebian-tools.

4. emdebian-tools tries to automate as much as reasonably possible but
the contortions of testing--build, unstable--host could be impossible to
solve through automation and I am not particularly keen on finding out.
;-) Mainly because it is a moving target - worst case scenario is that
the issues could change every 10 days.

5. The use of an unstable chroot is such an easy fix to all such
problems that I'm not convinced that it is worth spending the time
necessary to find an alternative solution.



-- 


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: