On Tue, 04 Nov 2014 07:58:59 -0800 Josh Triplett <j...@joshtriplett.org> wrote: > Package: debootstrap > Version: 1.0.64 > Severity: normal > > Please see the analysis in bug 746578. > > The essential package "init" has: > Depends: systemd-sysv | sysvinit-core | upstart > > The test in bug 746578 involved a modified libpam-systemd that had: > Depends: systemd-shim (>= 8-2) | systemd-sysv > > The test invoked debootstrap like this: > debootstrap --print-debs --no-check-gpg --include=libpam-systemd jessie $DIR > $MIRROR > > Given that set of constraints, debootstrap *should* install init, > systemd-sysv, libpam-systemd, and *not* systemd-shim, since systemd-sysv > already satisfies libpam-systemd's dependency. > > In addition to figuring that out automatically, debootstrap should at > least have produced that result if given --exclude=systemd-shim, since > no dependency requires debootstrap to add that back in.
Doing a full dependency resolver in debootstrap may be too difficut, but excluding packages after resolution should be possible. Maybe this is enough? diff --git a/debootstrap b/debootstrap index 084a541..a0a6000 100755 --- a/debootstrap +++ b/debootstrap @@ -584,8 +584,6 @@ if am_doing_phase finddebs; then work_out_debs - base=$(without "$base $ADDITIONAL" "$EXCLUDE") - if [ "$RESOLVE_DEPS" = true ]; then requiredX=$(echo $(echo $required | tr ' ' '\n' | sort | uniq)) baseX=$(echo $(echo $base | tr ' ' '\n' | sort | uniq)) @@ -613,6 +611,8 @@ if am_doing_phase finddebs; then fi fi + base=$(without "$base $ADDITIONAL" "$EXCLUDE") + all_debs="$required $base" fi This currently prevents debootstrapping a system with dracut and a linux image installed, as dracut conflicts with initramfs-tools (which in turn is the first alternative on the linux image). Saludos,