#968869 gem2deb-test-runner: missing depends for dpkg-parsechangelog

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
#968869#5
Date:
2020-08-22 18:58:11 UTC
From:
To:
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

#968869#10
Date:
2020-10-13 13:58:28 UTC
From:
To:
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

#968869#13
Date:
2020-10-13 13:58:28 UTC
From:
To:
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

#968869#20
Date:
2020-10-13 14:18:22 UTC
From:
To:
Ok, but I think gem2deb-test-runner package is used in autopkgtest
chroot and this filesystem does not have build-essential by default?

#968869#27
Date:
2020-10-13 15:08:10 UTC
From:
To:
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

#968869#30
Date:
2020-10-13 15:24:24 UTC
From:
To:
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

#968869#37
Date:
2020-10-13 18:07:46 UTC
From:
To:
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.

#968869#42
Date:
2020-10-13 19:38:04 UTC
From:
To:
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

#968869#49
Date:
2020-10-13 21:35:52 UTC
From:
To:
Probably the regex from dpkg-parsechangelog can be used to load one
or two pieces of changelog info used in gem2deb-test-runner.