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