Your message dated Mon, 12 Aug 2019 13:49:02 -0300
with message-id <[email protected]>
and subject line Re: Bug#934164: ruby/generate: Should create test dependencies 
from Depends instead of Build-Depends
has caused the Debian Bug report #934164,
regarding ruby/generate: Should create test dependencies from Depends instead 
of Build-Depends
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
934164: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934164
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: autodep8
Version: 0.18
Severity: normal

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

The automatically created autopkgtest reads in the Build-Depends field and
adds the contents to the Depends field of the test file. But to build the
package you usually don't need all the runtime dependencies listed in the
.gemspec file. Also you usually add the requirements found in .gemspec to
the Depends field in debian/control.

IMO the test should therefor read in the Depends field. This would improve
the test significantly.

(a) We would not have to maintain the same list of dependencies both in
Build-Depends and in Depends.

(b) The test would really check, that the Depends field lists at least all
runtime requirements the .gemspec file contains.

Regards, Daniel


- -- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-5-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_WARN
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages autodep8 depends on:
ii  dctrl-tools  2.24-3+b1
ii  python3      3.7.3-1

autodep8 recommends no packages.

autodep8 suggests no packages.

- -- no debconf information

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEvu1N7VVEpMA+KD3HS80FZ8KW0F0FAl1K+BMACgkQS80FZ8KW
0F392hAAyStu0RJ64u1XqoTUYXHBqSw/o+HIDFbQdhS5aezVgwwx5miZDelF/dYj
EhVgUrzU5ItpS8IG8RKz7FBpk7AK0Gi9Jp2S/UHzhcgCFGpjHRvH2xYcPYXmLHCY
U05P42bX6CFYJI/t5KZ3LUlZe1DiNjSTbFay/ooHgks40IUbvb8Bh9qgCWnMeV46
soTwk44uWjTrmDG6q/h9UAQzcDJqutWjpf9CP24a8AQwYKpW+rf6ShUVGMpfADbB
MQav8WVjmWLv1ZLR2ZyIyxu57Wl78xBzdQe0Zh8O8u6A9y6Gl/q1Mot55P5LZftN
p9gFuotFOGmQDMFrcyDjQGUZFzBdm7YZNI0b3Ck89bWGuOJn0b+YS4pQd4IPlGGI
2eMMm5LUWv8AlXZxsQ1KJFkg8+J1gFkVfZMb2sf1IHRSyvlsBEzD3qyZnpsjvbUP
vPtW3uIBa5aVGeVB3baZi5qhzgdrQ5bL6AJ3YqRjykC+KWvR1sJ+6FMq3XJmU09B
z6Lk/ZXhmtWs89hVpM541/BtTsDhoD06dys4/bIhUfZwwmFtqJZooRW83GW3DSnX
yUEYdf7yKC/F+QahXvLFBX188zZ2bxhAUknlOAlqYR61Ypfc3XyPP8dcM+uKs19s
8nXUw9EExJQ52FGB9RPdM4cKT/Rj0AtdeO4F6LO6n6vcVgnOgfk=
=BNl/
-----END PGP SIGNATURE-----

--- End Message ---
--- Begin Message ---
On Wed, Aug 07, 2019 at 09:09:04PM +0200, Daniel Leidert wrote:
> Hi Antonio,
> 
> Am Mittwoch, den 07.08.2019, 14:13 -0300 schrieb Antonio Terceiro:
> > On Wed, Aug 07, 2019 at 06:10:59PM +0200, Daniel Leidert wrote:
> > > Package: autodep8
> > > Version: 0.18
> > > Severity: normal
> > > 
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA512
> > > 
> > > The automatically created autopkgtest reads in the Build-Depends field and
> > > adds the contents to the Depends field of the test file. But to build the
> > > package you usually don't need all the runtime dependencies listed in the
> > > .gemspec file. Also you usually add the requirements found in .gemspec to
> > > the Depends field in debian/control.
> > > 
> > > IMO the test should therefor read in the Depends field. This would improve
> > > the test significantly.
> > > 
> > > (a) We would not have to maintain the same list of dependencies both in
> > > Build-Depends and in Depends.
> > > 
> > > (b) The test would really check, that the Depends field lists at least all
> > > runtime requirements the .gemspec file contains.
> > 
> > Can you clarify what is the problem that you are trying to fix, maybe by
> > sharing your actual use case?
> 
> Sure. I'm currently building a lot of Jekyll plugins. This plugins have a
> runtime dependency on jekyll and sometimes on more ruby* packages. However,
> these are runtime dependencies and not necessary during build-time. For
> building debhelper and gem2deb are enough. So the runtime dependencies are
> listed in the Depends field and not in the Build-Depends field.
> 
> The way autopkgtest-pkg-ruby acts is, that it reads the Build-Depends field 
> and
> creates the test file from it using /usr/share/autodep8/support/ruby/generate.
> The created test checks, if all runtime dependencies (listed in the .gemspec)
> are installed.
> 
> Thus, autpkgtest fails for these packages, because jekyll, for example, is not
> installed into the build/test environment. Autopkgtest failing then might 
> block
> these packages from migrating to testing.
> 
> https://ci.debian.net/data/autopkgtest/testing/amd64/r/ruby-jekyll-feed/2671012/log.gz
> 
> Now to fix this with the current behaviour of autodep8, I would have to
> maintain the _same_ list of packages twice in debian/control - in Depends and
> in Build-Depends. The longer the list of packages becomes, the more 
> error-prone 
> it gets. Furthermore this installs packages into the build environment, which
> are not necessary there.
> 
> I do believe, that /usr/share/autodep8/support/ruby/generate should pull in
> Build-Depends and Depends and that Build-Depends should not be a copy of
> Depends just for the sake of it.
> 
> This would solve the reported issue. It would also keep the build environment
> clean. Further it would make sure, that installing all packages from the
> Depends field  satisfies the runtime dependencies listed in the upstream
> .gemspec file. ATM the test doesn't say much about this. It just says, that 
> the
> build environment is missing files to fulfill runtime dependencies.

two things:

1) in your example, ruby-jekyll-feed does not have jekyll in Depends: so
reading Depends: would not help here

2) Depends: is already included implicitly:

$ autodep8
Test-Command: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1
Depends: @, jekyll (<< 5.0),jekyll (>= 3.7), gem2deb-test-runner

That `@` means that the "all the binary packages produced from this
source", so the packages in Depends: are already installed when those
are installed.

I don't see anything to fix here, so I am closing this bug report.

Attachment: signature.asc
Description: PGP signature


--- End Message ---

Reply via email to