- Package:
- gem2deb-test-runner
- Source:
- gem2deb
- Description:
- Debian Ruby packaging suite - tool to run tests
- Submitter:
- Valentin Vidic
- Date:
- 2021-02-12 12:54:02 UTC
- Severity:
- normal
Dear Maintainer,
It seems that gem2deb-test-runner calls dpkg-parsechangelog but does
not depend on dpkg-dev as shown by this failing test created by
autopkgtest-pkg-ruby:
autopkgtest [20:40:28]: test command1: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1
autopkgtest [20:40:28]: test command1: [-----------------------
┌──────────────────────────────────────────────────────────────────────────────┐
│ Checking Rubygems dependency resolution on ruby2.7 │
└──────────────────────────────────────────────────────────────────────────────┘
/usr/lib/ruby/vendor_ruby/gem2deb/metadata.rb:168:in ``': No such file or directory - dpkg-parsechangelog (Errno::ENOENT)
from /usr/lib/ruby/vendor_ruby/gem2deb/metadata.rb:168:in `populate_gemspec_fields'
from /usr/lib/ruby/vendor_ruby/gem2deb/metadata.rb:38:in `initialize'
from /usr/lib/ruby/vendor_ruby/gem2deb/test_runner.rb:90:in `new'
from /usr/lib/ruby/vendor_ruby/gem2deb/test_runner.rb:90:in `block in do_check_dependencies'
from /usr/lib/ruby/vendor_ruby/gem2deb/test_runner.rb:89:in `each'
from /usr/lib/ruby/vendor_ruby/gem2deb/test_runner.rb:89:in `do_check_dependencies'
from /usr/lib/ruby/vendor_ruby/gem2deb/test_runner.rb:79:in `run_tests'
from /usr/bin/gem2deb-test-runner:67:in `<main>'
autopkgtest [20:40:29]: test command1: -----------------------]
autopkgtest [20:40:29]: test command1: - - - - - - - - - - results - - - - - - - - - -
command1 FAIL non-zero exit status 1
Dear Valentin, thanks for the report. dpkg-parsechangelog is provided in the dpkg-dev package, which is a dependency of build-essential. This package build-essential is supposed to be installed on the machine building a package according to Policy 4.2. So there is no need to declare explicitly this build-dependency. I am therefore closing this bug report. Cheers, Cédric
Dear Valentin, thanks for the report. dpkg-parsechangelog is provided in the dpkg-dev package, which is a dependency of build-essential. This package build-essential is supposed to be installed on the machine building a package according to Policy 4.2. So there is no need to declare explicitly this build-dependency. I am therefore closing this bug report. Cheers, Cédric
Ok, but I think gem2deb-test-runner package is used in autopkgtest chroot and this filesystem does not have build-essential by default?
Ah, good point. I am reopening the bug, and add the dpkg-dev dependency on gem2deb-test-runner. The bug should be fixed at the next gem2deb upload. Thanks a lot! Cédric
Hello, Bug #968869 in gem2deb reported by you has been fixed in the Git repository and is awaiting an upload. You can see the commit message below and you can check the diff of the fix at: https://salsa.debian.org/ruby-team/gem2deb/-/commit/85277f648ad0c4e9fcd3293636e51ea42e37b5fd so that gem2deb-test-runner can parse changelogs outside of a building environment ------------------------------------------------------------------------ (this message was generated automatically) -- Greetings https://bugs.debian.org/968869
Please don't. This will add a lot of extra packages to clean environments in autopkgtest, and mask missing (test) dependencies in Ruby packages. The correct fix is to make the code that uses dpkg-parsechangelog use something else.
Hello, Bug #968869 in gem2deb reported by you has been fixed in the Git repository and is awaiting an upload. You can see the commit message below and you can check the diff of the fix at: https://salsa.debian.org/ruby-team/gem2deb/-/commit/84b53fdb06f070c0bfa712fdfc0d1cb02d933f68 This reverts commit 85277f648ad0c4e9fcd3293636e51ea42e37b5fd. ------------------------------------------------------------------------ (this message was generated automatically) -- Greetings https://bugs.debian.org/968869
Probably the regex from dpkg-parsechangelog can be used to load one or two pieces of changelog info used in gem2deb-test-runner.