fails to resolve dependencies on virtual packages

Bug #86536 reported by EugeneB
36
This bug affects 7 people
Affects Status Importance Assigned to Milestone
debootstrap (Ubuntu)
Triaged
Low
Unassigned

Bug Description

Binary package hint: debootstrap

The following occurs on the dapper version of debootstrap version 0.3.3.0ubuntu2

I reduced the package set in the required field to just the essental packages (base-files, base-passwd, bash, bsdutils, coreutils, debianutils, diff, dpkg, e2fsprogs, findutils, grep, gzip, hostname, login, mawk, mount, ncurses-base, ncurses-bin, perl-base, sed, sysvinit, tar, util-linux) and then let debootstrap resolve the dependencies for the packages. This did not succeed becuase awk was not in the list of resolved dependencies.

I added a 'set -x' to the debootstrap script to attempt to find out what was going on. The function resolve_deps correctly picks up the 'awk' dependency in base-files, but then some time after that (I haven't figured out exactly where yet) awk gets dropped from the list. I'm speculating at this point that awk is getting dropped becuase there is no actual 'awk' package and debootstrap isn't looking in the Provides section for a match so it doesn't pick up mawk or gawk.

I will continue to search for the problem as I find time to help aid in the resolution of this item.

Revision history for this message
Andreas Moog (ampelbein) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. You reported this bug a while ago and there hasn't been any activity in it recently. We were wondering is this still an issue for you? Can you try with latest Ubuntu release? Thanks in advance.

Changed in debootstrap:
assignee: nobody → andreas-moog
status: New → Incomplete
Revision history for this message
EugeneB (eugene-bordenkircher) wrote : Re: [Bug 86536] Re: Debootstrap does not resolve awk dependencies correctly

The problem still exists in hardy. Let me elaborate on a test case that
should produce results to identify the problem.

Consider the following modification of the Hardy debootstrap script (it's
a little unrealistic, but it's done this way to make the problem obvious)

The important things to note:
1) We are only pulling down Essential packages which do not include any
variant of awk.
2) base-files will be the first package installed that has a listed awk
dependency in its Depends line.
3) no version of awk is resolved by the dependency resolver in debootstrap
so no version of awk is downloaded. This causes base-files to be the
first package to fail to install.

Note that this problem appears to blanket all virtual packages. The
resolver simply can't find viable install candidates for these packages.

Let me know if I can be of any other assistance.

Eugene

----------

--- /usr/share/debootstrap/scripts/hardy 2008-01-15
04:48:17.000000000 -0800
+++ ./hardy 2008-08-20 09:09:23.000000000 -0700
@@ -16,20 +16,8 @@
 fi

 work_out_debs () {
- LIBC6=libc6
- if [ "$ARCH" = "alpha" ] || [ "$ARCH" = "ia64" ]; then
LIBC6="libc6.1"; fi
-
- required="$(get_debs Priority: required)"
-
- if doing_variant -; then
- #required="$required $(get_debs Priority: important)"
- # ^^ should be getting debconf here somehow maybe
- base="$(get_debs Priority: important)"
- elif doing_variant buildd; then
- base="$(get_debs Build-Essential: yes)"
- elif doing_variant fakechroot || doing_variant minbase; then
- base="apt"
- fi
+ required="$(get_debs Essential: yes)"
+ base=
 }

 first_stage_install () {
@@ -114,14 +102,14 @@
     fi

     p; progress $baseprog $bases INSTCORE "Installing core packages" #4
- x_core_install $LIBC6
+ x_core_install libc6

     p; progress $baseprog $bases INSTCORE "Installing core packages" #5
     x_core_install perl-base

     p; progress $baseprog $bases INSTCORE "Installing core packages" #6
     rm "$TARGET/usr/bin/awk"
- x_core_install mawk
+ #x_core_install mawk

     p; progress $baseprog $bases INSTCORE "Installing core packages" #7
     if doing_variant -; then
@@ -164,10 +152,10 @@

     info UNPACKBASE "Unpacking the base system..."

- smallyes '' |
- (repeat 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 |
- dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system"
UNPACKING) 7>&1
+# smallyes '' |
+# (repeat 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 |
+# dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system"
UNPACKING) 7>&1

     info CONFBASE "Configuring the base system..."

Andreas Moog (ampelbein)
Changed in debootstrap:
assignee: andreas-moog → nobody
status: Incomplete → Confirmed
Revision history for this message
Lauro Ramos Venancio (lauro-venancio) wrote : Re: Debootstrap does not resolve awk dependencies correctly

In Intrepid, the debootstrap isn't looking in Provides section too.

Revision history for this message
Colin Watson (cjwatson) wrote :

While I do think this is a real bug, it only affects people doing this rather specialised customisation, so I'll mark it low-priority.

Changed in debootstrap (Ubuntu):
importance: Undecided → Low
status: Confirmed → Triaged
Revision history for this message
Nuwanda (nuwanda42-xyzzy) wrote :

Just mentioning that this bug still persists, rendering debootstrap entirely useless to build any installation that requires any vitrual package at all, but apparently that doesnt even make it important enough to even assign it to anybody – . –

Revision history for this message
Frederic Van Espen (frederic-ve) wrote :

Encountered this as well today. We are doing debootstrap of bionic with an include of a package that depends on libnet-ssleay-perl, which depends on virtual package perl-openssl-abi-1.1 which is provided by perl-openssl-defaults.

as a workaround I have to exclicitely add perl-openssl-defaults in the includes of the debootstrap.

Ken Sharp (kennybobs)
tags: added: dapper hardy
Revision history for this message
Anna Born (annaborn) wrote :

The problem still exists. We have same issue as described in #6 just with focal.

Anna Born (annaborn)
affects: debootstrap (Ubuntu) → minizip (Ubuntu)
affects: minizip (Ubuntu) → debootstrap (Ubuntu)
Revision history for this message
someone (someone-185) wrote :

Confirmed another instance on focal(20.04), python3-cryptography.
It depends on python3-cffi-backend-api-min/max, which are virtual packages by python3-cffi-backend-api.
This affects all the way up to ubuntu-desktop.

Ken Sharp (kennybobs)
tags: added: focal
Revision history for this message
Ken Sharp (kennybobs) wrote :

I tried to install both python3-cryptography and libnet-ssleay-perl on a Jammy host:

Trusty: ✓ (no python3-cryptography)
Xenial: ❌
Bionic: ❌
Focal: ❌
Jammy: ❌
Lunar: ❌
Mantic: ❌
Noble: ❌

Where ✓ completes the debootstrap successfully; and ❌ fails to complete the debootstrap.

tags: added: bionic jammy lunar mantic noble xenial
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.