Your message dated Tue, 17 May 2011 16:29:32 +0200
with message-id <[email protected]>
and subject line Re: Bug#627068: multistrap: needs to finish installation of
essential packages first
has caused the Debian Bug report #627068,
regarding Issues arising from not running foreign preinst scripts
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
627068: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627068
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: multistrap
Version: 2.1.13
Severity: serious
base-passwd is an essential package. on a regular system, any package
that gets installed after base-passwd can expect /etc/passwd to be
existing and can therefore do stuff with users (e.g. calling a chown in
postinst) without having a depends on base-passwd.
during a multistrap run, all preinst scripts of the to be installed
packages are run first, then all postinst scripts. if a package is doing
stuff with users (e.g. calling a chown in postinst) and the postinst of
base-passwd is not run before that, /etc/passwd is missing, the postinst
fails and multistrap could not bootstrap.
means, it's not possible to multistrap any system that has any package
that is doing any user modification whatsoever. since these are quite a
few packages (legitimately!) in the archive doing that, multistrap is
essentially broken and can unfortunately not be used for any non-trivial
system.
the solution is to process first all preinst scripts of the essential
packages, then all postinst scripts of the essential packages, and then
the same for all non-essential packages.
Regards,
Daniel
--
Address: Daniel Baumann, Donnerbuehlweg 3, CH-3012 Bern
Email: [email protected]
Internet: http://people.progress-technologies.net/~daniel.baumann/
--- End Message ---
--- Begin Message ---
On 05/17/2011 04:09 PM, Neil Williams wrote:
> Unjustified severity. Lowering.
well, multistrap is a tool to bootstrap. if you can't bootstrap, that's
a major fail, isn't it? (regardless whichever you prefere, serious or grave)
> There is no Policy requirement here, it is simply what packages have
> come to expect but it is not possible to handle preinst scripts in this
> way in multistrap because multistrap is architecture-neutral (not just
> architecture-independent) and must deal with foreign builds in the
> same manner as native, subject to a small convenience wrapper for
> running 'dpkg --configure -a'.
i don't understand, why *exactely* do native and foreign bootstrapping
runs have to be handled identical?
>> base-passwd is an essential package.
>
> Essential is not the predicate here, it is Priority: required which is
> a much wider set.
daniel@daniel-desktop:~$ apt-cache show base-passwd | grep Essential
Essential: yes
daniel@daniel-desktop:~$
> There is no way to identify the ORDER in which
> preinst scripts in Priority: required should be run other than
> explicitly slaving to the debootstrap method of only unpacking *and
> configuring* Priority:required before even trying to download the rest
> of the packages. This fundamentally breaks the multi-repository model
> of multistrap and can ONLY work natively which is why debootstrap has
> such problems when using --foreign. This is the fundamental reason why
> debootstrap cannot support multiple repositories with --foreign - it
> must rely on a fully configured Priority: required set before the rest
> of the dependencies can be calculated.
sorry, i don't understand, what is the problem of fetching the indices,
extracting all essential packages, download and install them and then do
the rest?
>> on a regular system, any package
>> that gets installed after base-passwd can expect /etc/passwd to be
>> existing and can therefore do stuff with users (e.g. calling a chown in
>> postinst) without having a depends on base-passwd.
>
> Doesn't affect multistrap because the primary purpose is foreign, so
> the preinst scripts cannot be run anyway.
ok, so i guess we'll not pursue multistrap then and stick with
debootstrap for debian-live, our purpose is native bootstrapping as we
need to do non-trivial systems.
> I was tempted to close this bug immediately because there is nothing
> multistrap can do here which is replicable on a foreign architecture
> run and foreign is the primary use case for multistrap.
well, knowing that now helps that you don't care about the 'debootstrap
replacement' (no offence intended), so fair enough, i'm closing it then.
thank you for your time.
Regards,
Daniel
--
Address: Daniel Baumann, Donnerbuehlweg 3, CH-3012 Bern
Email: [email protected]
Internet: http://people.progress-technologies.net/~daniel.baumann/
--- End Message ---