- Package:
- dose-builddebcheck
- Source:
- dose3
- Description:
- Checks whether build-dependencies can be satisfied
- Submitter:
- Vagrant Cascadian
- Date:
- 2014-07-28 09:54:17 UTC
- Severity:
- wishlist
It would be nice if --checkonly supported the full syntax you're likely to find in a Build-Depends line in a .dsc file, including things such as architecture [arch], or version comparisons (>= x.y.z): $ dose-debcheck --failures --explain --checkonly "debhelper, cpio, kmod, gcc-4.8 (>= 4.8.2-21) [powerpc powerpc64]" /var/lib/apt/lists/*amd64*Packages usage: dose-debcheck [options] dose-debcheck: option '--checkonly': invalid vpackage list 'debhelper, cpio, kmod, gcc-4.8 (>= 4.8.2-21) [powerpc powerpc64]' It seems to treat (>= x.y.z) as (= x.y.z): dose-debcheck --failures --explain --checkonly "debhelper, cpio, kmod, gcc-4.8 (>= 4.8.2-21)" /var/lib/apt/lists/*amd64*Packages (W)Debcudf: Package (gcc-4.8,4.8.2-21) does not have an associated cudf version The applications raised this exception : Not_found There is a newer version of gcc-4.8 available. Thanks for considering it, and thanks for maintaining dose-distcheck! live well, vagrant
Hi Vagrant, AFAIK, only (=x.y.z) version comparisons are supported in the --check-only option. [arch] specifiers would be misleading here, as one would it expect to mean "check that package in that version on that arch", which is not the meaning of [arch] in a dsc file. Rather, if package p1 has a build-dependency on package p2[arch], this means that when you compile package p1 on [arch] then you need p2. It does, a priori, not mean that p2 has to be of architecture arch. Furthermore, build-depencies may contain alternatives (even though they are rarely used in build-dependencies), and they do not make sense in the context of the --check-only option. It is not normal that an exception is raised, this seems to be a bug. If you wish to check build-dependencies you should rather use dose-builddebcheck. You can "almost" run it on the .dsc file itself - you just have to change in the dsc file the "Source: p" into "Package: p". We probably should allow dose-debbuildcheck to support this syntax. Does dose-builddebcheck the job? If not, could you please explain your usecase? Cheers -Ralf.
only just now spent the time figuring out how to use it. With your suggestiong to change the Source field to Package, it works well for what I had intended: dose-builddebcheck --deb-native-arch=amd64 /var/lib/apt/lists/ftp.us.debian.org_debian_dists_sid_main_binary-amd64_Packages test.dsc native-architecture: amd64 background-packages: 42679 foreground-packages: 1 broken-packages: 0 with an exit code of 0. test.dsc contains: Format: 3.0 (native) Package: test Binary: test Architecture: any Version: 0.0.1 Maintainer: Vagrant Cascadian <vagrant@debian.org> Standards-Version: 3.9.5 Build-Depends: debhelper (>= 9), bash, zsh Package-List: test deb devel optional arch=any Checksums-Sha1: 708dbc4f5d23c44c6483bc2d3b69dc74768dfb7c 487676 test_0.0.1.tar.xz Checksums-Sha256: 4877fe3274b48fb6ed6ab5ebe34194e2a19054ca039769f313d0ac772d7f4172 487676 test_0.0.1.tar.xz Files: 16fb69e219d3fbe046ee247e1bd19379 487676 test_0.0.1.tar.xz Adding a non-existant package or version constraint to Build-Depends reports a broken package, with an exit code of 1, so seems to work. Ideally it could treat Source: entries the way it treats Package: entries, and then it would work on .dsc files unmodified. If this should be default behavior, or require a commandline option doesn't matter much to me. Thanks! live well, vagrant