Package: ruby-rmagick Version: 2.15.4+dfsg-2 Followup-For: Bug #591419 User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu zesty ubuntu-patch
I think this should do what is expected. Basically, AIUI, there is a more-than-ABI-specifiable (due to issues upstream and possibly in the Debian package itself (cf.: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=846385) dependency between ruby-rmagick and the version of imagemagick compiled against. To that end, add an overriding dependency at build-time. I think what's actually needed currently in ruby-rmagick's case in Debian is a rebuild against the bumped version of imagemagick; if that's done, the autopkgtests would pass. But expressing this dependency explicilty would have caught that and prevented imagemagick from changing in Debian until ruby-rmagick had been rebuilt? Comments more than welcome and appreciated. Thanks! -Nish ## ---------------- REPLACE THIS WITH ACTUAL INFORMATION --------------------- ## Please add all necessary information about why the change needed to go in ## Ubuntu, quote policy, spec or any other background material and why it can ## and should be used in Debian too. If the patch is composed of multiple ## independent pieces, please send them as separate bug reports. ## ---------------- REPLACE THIS WITH ACTUAL INFORMATION --------------------- * d/{control,rules}: use a new substitution variable to specify the hard-dependency on the version of ImageMagick built against (Closes: #591419). Thanks to Adam Conrad for the shell code. Thanks for considering the patch. *** /tmp/tmp6FrTwc/ruby-rmagick_2.15.4+dfsg-2ubuntu1.debdiff diff -Nru ruby-rmagick-2.15.4+dfsg/debian/control ruby-rmagick-2.15.4+dfsg/debian/control --- ruby-rmagick-2.15.4+dfsg/debian/control 2016-08-16 07:29:37.000000000 -0700 +++ ruby-rmagick-2.15.4+dfsg/debian/control 2016-12-01 15:36:05.000000000 -0800 @@ -28,7 +28,8 @@ XB-Ruby-Versions: ${ruby:Versions} Depends: ruby | ruby-interpreter, ${misc:Depends}, - ${shlibs:Depends} + ${shlibs:Depends}, + ${imagemagick:Depends} Description: ImageMagick API for Ruby RMagick is an interface between the Ruby programming language and the ImageMagick image processing library. diff -Nru ruby-rmagick-2.15.4+dfsg/debian/rules ruby-rmagick-2.15.4+dfsg/debian/rules --- ruby-rmagick-2.15.4+dfsg/debian/rules 2016-08-16 07:29:37.000000000 -0700 +++ ruby-rmagick-2.15.4+dfsg/debian/rules 2016-12-01 15:36:05.000000000 -0800 @@ -12,3 +12,11 @@ find debian/*/usr/share/doc/ruby-rmagick-doc/ \ -type f -executable -exec \ chmod -x '{}' ';' + +override_dh_gencontrol: + $(eval IMAGEMAGICK_DEP := \ + $(shell find debian/ruby-rmagick/ -name RMagick2.so -exec ldd '{}' ';' | \ + awk '/\/libMagickCore/ {print $$3}' | xargs dpkg -S | \ + awk '{print $$1}' | sed 's/:$$//' | xargs dpkg-query -W \ + -f='$${Package} (>= $${Version})')) + dh_gencontrol -- -Vimagemagick:Depends='$(IMAGEMAGICK_DEP)' -- System Information: Debian Release: stretch/sid APT prefers yakkety-updates APT policy: (500, 'yakkety-updates'), (500, 'yakkety-security'), (500, 'yakkety'), (100, 'yakkety-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.8.0-27-generic (SMP w/4 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) -- Nishanth Aravamudan Ubuntu Server Canonical Ltd