Debian Bug report logs - #933859
apt-cudf doesn't work with "apt install ./*.deb"

Packages: apt-cudf, apt; Maintainer for apt-cudf is Debian OCaml Maintainers <[email protected]>; Source for apt-cudf is src:dose3 (PTS, buildd, popcon). Maintainer for apt is APT Development Team <[email protected]>; Source for apt is src:apt (PTS, buildd, popcon).

Reported by: Simon McVittie <[email protected]>

Date: Sun, 4 Aug 2019 13:42:03 UTC

Severity: normal

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], APT Development Team <[email protected]>, Debian OCaml Maintainers <[email protected]>:
Bug#933859; Package apt,apt-cudf. (Sun, 04 Aug 2019 13:42:06 GMT) (full text, mbox, link).


Acknowledgement sent to Simon McVittie <[email protected]>:
New Bug report received and forwarded. Copy sent to APT Development Team <[email protected]>, Debian OCaml Maintainers <[email protected]>.

Your message had a Version: pseudo-header with an invalid package version:

1.8.2,5.0.1-12+b1

please either use found or fixed to the control server with a correct version, or reply to this report indicating the correct version so the maintainer (or someone else) can correct it for you.

(Sun, 04 Aug 2019 13:42:06 GMT) (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Simon McVittie <[email protected]>
To: Debian Bug Tracking System <[email protected]>
Subject: apt-cudf doesn't work with "apt install ./*.deb"
Date: Sun, 4 Aug 2019 14:38:57 +0100
Package: apt,apt-cudf
Version: 1.8.2,5.0.1-12+b1
Severity: normal

I tried to solve <https://salsa.debian.org/salsa-ci-team/pipeline/issues/58>
by configuring piuparts to be willing to take the versioned dependencies
of the package under test from experimental, by configuring apt in the
piuparts chroot to use apt-cudf and aspcud, but I was not successful.

Steps to reproduce outside piuparts (I used a sid VM):

* Have sid and experimental apt sources
* sudo apt install apt-cudf aspcud
* Have a .deb whose dependencies cannot be satisfied in sid, for example
  gnome-shell 3.32.2-2 as of today:
  apt-get -t experimental download gnome-shell
* Configure aspcud resolver with the same setup as official Debian
  experimental buildds:
  (<https://salsa.debian.org/dsa-team/mirror/dsa-puppet/blob/master/modules/buildd/files/sbuild.conf>)

sudo tee /etc/apt/apt.conf.d/aspcud <<EOF
APT::Solver "aspcud";
APT::Solver::Strict-Pinning "no";
APT::Solver::aspcud::Preferences "-removed,-changed,-new,-count(solution,APT-Release:=/experimental/)";
EOF

* sudo apt install ./gnome-shell_3.32.2-2_amd64.deb

Expected result:

apt-cudf selects gnome-shell's dependency libmutter-4-0 (and probably
others) from experimental

Actual result:

> Fatal error: exception Common.Format822.ParseError(_, "Provides", "Field Provides has a wrong value (character 0-1: character 0-1: Unexpected token : '.'.. (vpkglist)): './gnome-shell_3.32.2-2_amd64.deb (= 3.32.2-2), polkit-1-auth-agent, notification-daemon'")

I'm not sure whether this is an apt bug (giving wrong data to apt-cudf)
or an apt-cudf bug (not accepting valid data from apt). Any ideas?

Thanks,
    smcv



Information forwarded to [email protected], APT Development Team <[email protected]>, Debian OCaml Maintainers <[email protected]>:
Bug#933859; Package apt,apt-cudf. (Sun, 04 Aug 2019 18:15:06 GMT) (full text, mbox, link).


Message #8 received at [email protected] (full text, mbox, reply):

From: Johannes Schauer <[email protected]>
To: [email protected], Simon McVittie <[email protected]>
Subject: Re: Bug#933859: apt-cudf doesn't work with "apt install ./*.deb"
Date: Sun, 04 Aug 2019 20:13:15 +0200
[Message part 1 (text/plain, inline)]
Hi,

Quoting Simon McVittie (2019-08-04 15:38:57)
> I tried to solve <https://salsa.debian.org/salsa-ci-team/pipeline/issues/58>
> by configuring piuparts to be willing to take the versioned dependencies
> of the package under test from experimental, by configuring apt in the
> piuparts chroot to use apt-cudf and aspcud, but I was not successful.
> 
> Steps to reproduce outside piuparts (I used a sid VM):
> 
> * Have sid and experimental apt sources
> * sudo apt install apt-cudf aspcud
> * Have a .deb whose dependencies cannot be satisfied in sid, for example
>   gnome-shell 3.32.2-2 as of today:
>   apt-get -t experimental download gnome-shell
> * Configure aspcud resolver with the same setup as official Debian
>   experimental buildds:
>   (<https://salsa.debian.org/dsa-team/mirror/dsa-puppet/blob/master/modules/buildd/files/sbuild.conf>)
> 
> sudo tee /etc/apt/apt.conf.d/aspcud <<EOF
> APT::Solver "aspcud";
> APT::Solver::Strict-Pinning "no";
> APT::Solver::aspcud::Preferences "-removed,-changed,-new,-count(solution,APT-Release:=/experimental/)";
> EOF
> 
> * sudo apt install ./gnome-shell_3.32.2-2_amd64.deb
> 
> Expected result:
> 
> apt-cudf selects gnome-shell's dependency libmutter-4-0 (and probably
> others) from experimental
> 
> Actual result:
> 
> > Fatal error: exception Common.Format822.ParseError(_, "Provides", "Field Provides has a wrong value (character 0-1: character 0-1: Unexpected token : '.'.. (vpkglist)): './gnome-shell_3.32.2-2_amd64.deb (= 3.32.2-2), polkit-1-auth-agent, notification-daemon'")
> 
> I'm not sure whether this is an apt bug (giving wrong data to apt-cudf)
> or an apt-cudf bug (not accepting valid data from apt). Any ideas?

here are some further observations.

It is not necessary to pick a package whose dependencies cannot be satisfied in
sid. This problem also happens with packages that apt can resolve just fine.

To see what the problem is, just switch the solver from "aspcud" to "dump" like
so:

APT_EDSP_DUMP_FILENAME=/tmp/out.edsp apt-get --simulate install --solver dump -o APT::Solver::Strict-Pinning=false ./gnome-shell_3.32.2-2_amd64.deb

Using apt's -o options it is also not necessary to write to
/etc/apt/apt.conf.d/aspcud. Using the "dump" solver is helpful because it
allows us to look into the data that apt-cudf receives from apt. In
/tmp/out.edsp we then see this:

Package: gnome-shell
Architecture: amd64
Version: 3.32.2-2
APT-ID: 781
Source: gnome-shell
Source-Version: 3.32.2-2
Priority: optional
Section: gnome
APT-Release:
 a=local-deb
 o=Debian,a=experimental,n=experimental,l=Debian,c=main,b=amd64
APT-Pin: 500
APT-Candidate: yes
Depends: [...]
[...dependencies snipped for brevity...]
Provides: ./gnome-shell_3.32.2-2_amd64.deb (= 3.32.2-2), polkit-1-auth-agent, notification-daemon

Have a look at the last line. This is where apt-cudf chokes. Because what apt
chose as a package name is not a legal package name according to Debian policy
so apt-cudf throws the fatal error you see above.

I suggest that apt fixes their EDSP output. Then this will work again.

Thanks!

cheers, josch
[signature.asc (application/pgp-signature, inline)]

Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Sun Sep 22 07:42:17 2024; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.