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

Re: multistrap on ubuntu



On Fri, 20 Aug 2010 02:30:45 +0100
Wookey <wookey@wookware.org> wrote:

> I found a few issues worth noting, and some that merit a bit of
> discussion so here it all is in one big dollop.
> 
> 1) There were no configs for maverick or ubuntu cross-building-chroots

One note here - the plan for multistrap is as follows:

Multistrap 2.1.6 will go for translation updates next week and 2.1.7
will be uploaded to unstable and a freeze exception sought on the basis
of updated translations. If these are the only changes, the exception
will be granted without difficulty. I might seek consensus with RT
about the change to the $sourcedir handling because that is a potential
GPL-compliance issue. If people want other *individual* changes
implemented, these must be filed as bugs against multistrap with a
severity of at least important. Ubuntu or flatfile repository support
does *not* qualify and I'll downgrade any bug reports asking for that
and exclude those changes from the freeze exception. pdebuild-cross
will continue to use multistrap 2.1.6 or 2.1.7 when it arrives and will
not be seeking a freeze exception. 2.1.7 will be prepared and released
from a branch, the changes then being merged back into trunk before
2.1.8 is released. (At which point the translation strings change again
and a new translation cycle will be needed once Squeeze is released.)
Any changes to go into 2.1.7 *must* include any necessary documentation
so that this can be translated and any relevant output strings must be
marked up for translation as well. Run svn-buildpackage to update the
PO files.

Multistrap 2.1.8 will be uploaded to experimental and Emdebian -
www.emdebian.org/debian sid, alongside the toolchains. 

(Balloonboard will be released with a copy of 2.1.7 included inside the
release tarball so that the build can run on Lenny.)

> 2) Multistrap does not deal correctly with 'flat' source URLs, as
> produced by apt-ftparchive.

The patch is not acceptable because it doesn't handle the --simulate
output. The routine running the simulate output has been overhauled
in SVN but the changes for flatfile probably need to be done in 
&cascade() so that all parts of multistrap get the updated values.
Instead of setting defined values to an empty string, either undefine
them (for scalar variables) or delete the hash entry.
 
A patch for flatfile support also needs to patch the POD content to
document the behaviour.

> 3) Multistrap does not try to stop packages running services in
> postinsts. 

There are reasons not to corrupt start-stop-daemon except when
specifically enabled and documenting this will mean changing the
translations again. I don't consider this as a bug needing a freeze
exception as it is dependent on the config files specifying packages
which have problems inside a chroot. The example config files inside
multistrap in Squeeze will not need to list such packages.
 
> I'm not sure quite how many configs we should carry and how they
> should be cascaded and named. e.g. we could have 'armel.conf' which
> changes between debian and ubuntu versions to point to relevant distro
> stuff. That would be easiest from the users POV, but it's dull having
> an Ubuntu patch for them to carry. We could keep armel.conf for Debian
> and have armel-maverick.conf for maverick etc. Similarly for
> crosschroot.conf and so on. 

Please create a source package in Ubuntu which carries all the conf
files for plain chroots and cross-building chroots for Ubuntu suites.
I'll be doing the same for the Grip conf files after Squeeze is
released - these will move to emdebian-grip.

Such a source package can also carry the setup scripts and any other
docs.

> Here is my patch. It could probably be improved, as my perl is weak
> (maybe suite should be set to something other than "")?

Definitely, yes. As above, the patch needs to be elsewhere in the code
too, so that it acts either within or immediately after the cascade.

> 3) Nobbling services
> 
> This prevents a basic maverick chroot being multstrapped, as procps 
> fails when it can't find upstart. In fact it's important to stop apps
> starting services, as higher-level services will result in things like
> apps in the chroot being bound to socket on the base system.

I don't think we have a suitable way of fixing this for the general
case before Squeeze, so this will need to remain a custom script until
there is a reliable solution. Hacking start-stop-daemon is not a
reliable solution just because debootstrap uses it.

> I fixed this the same way that debootstrap deals with it - by
> replacing initctl and start-stop-daemon with little shell script that
> say 'in chroot, doing nothing'. This is implmented in a script
> chroot.sh which is called using hte setupscript mechanism. 

This needs to off by default and only set when specific conf files add
specific packages which don't know how to behave themselves. The issue
itself needs to be looked at after Squeeze.
 
> If there are no violent objections I'll check this lot in. 

I've also had to revert the earlier commits and reimplement those
fixes. Please look at the current SVN for multistrap and use a branch
to prepare a revised version.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.linux.codehelp.co.uk/
http://e-mail.is-not-s.ms/

Attachment: pgpaCOd1AFjOp.pgp
Description: PGP signature


Reply to: