[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#896084: dose-builddebcheck: Finds invalid solution with versioned provides



Package: dose-builddebcheck
Version: 5.0.1-9
Tags: upstream

[It's quite likely this should be against libdose3-ocaml(-dev) as I
imagine this is a bug in the common library code also used by
dose-distcheck]

Hi,
Whilst running a new kfreebsd-{amd64,i386} buildd, I noticed that
dose-builddebcheck doesn't quite handle versioned provides correctly[1],
when combined with versioned dependencies. This
stems from the use of MAX_INT32-1 for an unversioned provides, which is
of course greater than any version number used in the dependency.

Below is a tiny example illustrating the problem.

Regards,
James

[1] An example is libsigrok, which build depends on libusb-1.0-0-dev (>=
    1.0.16), which doesn't exist on kFreeBSD; instead libusb2 provides
    libusb-1.0-0-dev (= 1.0.6). Because dose-builddebcheck thinks this
    is satisfiable, wanna-build keeps scheduling builds, but apt keeps
    failing to find a solution (since there isn't one).

> jrtc27@deb4g:~/tmp/dose-versioned-provides$ cat Packages
> Package: build-essential
> Version: 1
> Architecture: amd64
>
> Package: binary-package
> Version: 1
> Architecture: amd64
> Provides: provided (= 2)
> jrtc27@deb4g:~/tmp/dose-versioned-provides$ cat Sources
> Package: source-package
> Architecture: any
> Version: 1
> Build-Depends: provided (>= 3)
> jrtc27@deb4g:~/tmp/dose-versioned-provides$ dose-builddebcheck --deb-native-arch=amd64 -es --dump=cudf Packages Sources
> output-version: 1.2
> native-architecture: amd64
> report:
>  -
>   package: source-package
>   version: 1
>   architecture: any
>   type: src
>   status: ok
>   installationset:
>    -
>     package: source-package
>     version: 1
>     architecture: any
>     type: src
>    -
>     package: binary-package
>     version: 1
>     architecture: amd64
>    -
>     package: build-essential
>     version: 1
>     architecture: amd64
>
> binary-packages: 3
> source-packages: 1
> broken-packages: 0
> jrtc27@deb4g:~/tmp/dose-versioned-provides$ cat cudf
> preamble:
> property: native: int = [0], multiarch: string = [""], installedsize: int = [0], filename: string = [""], essential: bool = [false], sourceversion: int = [1], sourcenumber: string = [""], source: string = [""], priority: string = [""], recommends: vpkgformula = [true!], replaces: vpkglist = [], architecture: string, type: string, number: string, name: string
>
> package: binary-package%3aamd64
> version: 5
> conflicts: binary-package%3aamd64 , binary-package
> provides: binary-package , --virtual-provided%3aamd64 = 3 , --virtual-provided%3aamd64 = 2147483646
> name: binary-package
> architecture: amd64
> number: 1
> source: binary-package
> sourcenumber: 1
> sourceversion: 5
> native: 1
> type: bin
> filename: Packages
>
> package: src%3asource-package
> version: 2
> depends: build-essential%3aamd64 , --virtual-provided%3aamd64 >= 4
> conflicts: src%3asource-package%3aamd64 , src%3asource-package
> provides: src%3asource-package
> name: source-package
> architecture: any
> number: 1
> source: source-package
> sourcenumber: 1
> sourceversion: 2
> type: src
>
> package: build-essential%3aamd64
> version: 2
> conflicts: build-essential%3aamd64 , build-essential
> provides: build-essential
> name: build-essential
> architecture: amd64
> number: 1
> source: build-essential
> sourcenumber: 1
> sourceversion: 2
> native: 1
> type: bin
> filename: Packages


Reply to: