summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2009-07-29 09:49:51 (GMT)
committerColin Watson <cjwatson@debian.org>2009-07-29 09:49:51 (GMT)
commit9e7d96f50df440f1ce1432e44f774799d4e5c0c0 (patch)
tree9b6fc6775cd8ecde0653ae320b3a44440ea4d535 /scripts
parent91ea3a0cf08eddf8a0f134f4878387ef4fcd9c84 (diff)
downloaddebootstrap-9e7d96f50df440f1ce1432e44f774799d4e5c0c0.zip
debootstrap-9e7d96f50df440f1ce1432e44f774799d4e5c0c0.tar.gz
debootstrap-9e7d96f50df440f1ce1432e44f774799d4e5c0c0.tar.bz2
Cope with pre-dependencies of included packages that aren't in Priority:
required (closes: #487908). r59820
Diffstat (limited to 'scripts')
-rw-r--r--scripts/debian/sid13
-rw-r--r--scripts/ubuntu/gutsy13
2 files changed, 26 insertions, 0 deletions
diff --git a/scripts/debian/sid b/scripts/debian/sid
index 239b0c4..59e70fd 100644
--- a/scripts/debian/sid
+++ b/scripts/debian/sid
@@ -168,6 +168,19 @@ echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/
info UNPACKBASE "Unpacking the base system..."
+ setup_available $required $base
+ done_predeps=
+ while predep=$(get_next_predep); do
+ # We have to resolve dependencies of pre-dependencies manually because
+ # dpkg --predep-package doesn't handle this.
+ predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps")
+ # XXX: progress is tricky due to how dpkg_progress works
+ # -- cjwatson 2009-07-29
+ p; smallyes '' | in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep)
+ base=$(without "$base" "$predep")
+ done_predeps="$done_predeps $predep"
+ done
+
smallyes '' |
(repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages. This will be re-attempted up to five times." "" \
dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 || echo EXITCODE $?) |
diff --git a/scripts/ubuntu/gutsy b/scripts/ubuntu/gutsy
index caca1f8..2331622 100644
--- a/scripts/ubuntu/gutsy
+++ b/scripts/ubuntu/gutsy
@@ -166,6 +166,19 @@ echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/
info UNPACKBASE "Unpacking the base system..."
+ setup_available $required $base
+ done_predeps=
+ while predep=$(get_next_predep); do
+ # We have to resolve dependencies of pre-dependencies manually because
+ # dpkg --predep-package doesn't handle this.
+ predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps")
+ # XXX: progress is tricky due to how dpkg_progress works
+ # -- cjwatson 2009-07-29
+ p; smallyes '' | in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep)
+ base=$(without "$base" "$predep")
+ done_predeps="$done_predeps $predep"
+ done
+
smallyes '' |
(repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages. This will be re-attempted up to five times." "" \
dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 |