Univention Bugzilla – Bug 54043
univention-management-console-dev must depend on imagemagick AND inkscape (not OR)
Last modified: 2022-01-05 17:44:42 CET
I jst had the following problem: On a UCS 5.0 I wanted to build a Debian package of a ucsschool UMC module (ucs-school-umc-computerroom). The source package delivers SVG that are converted to PNGs with the help of `convert` (ImageMagik). The following happens: ------------------------------------------------------------------------------------------------- root@m31:/sync/ucs-school-umc-computerroom# dpkg-buildpackage -us -uc -b dpkg-buildpackage: Information: Quellpaket ucs-school-umc-computerroom dpkg-buildpackage: Information: Quellversion 12.0.5 [..] I: Creating missing image umc/icons/50x50/computerroom-icon-collect-files.png convert-im6.q16: non-conforming drawing primitive definition `v12.3186a1.5398' @ error/draw.c/TracePath/6318. convert-im6.q16: non-conforming drawing primitive definition `path' @ error/draw.c/RenderMVGContent/4301. Traceback (most recent call last): File "/usr/bin/dh-umc-module-build", line 114, in <module> main() File "/usr/bin/dh-umc-module-build", line 106, in main do_package(package, options.core) File "/usr/bin/dh-umc-module-build", line 92, in do_package dh_ucs.doIt('convert', '-background', 'none', os.path.join(path, filename), '-resize', '%dx%d' % (size, size), '-define', 'png:exclude-chunk=date,time', png_path) File "/usr/lib/python3/dist-packages/univention/debhelper.py", line 56, in doIt return subprocess.check_call(argv) File "/usr/lib/python3.7/subprocess.py", line 347, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '('convert', '-background', 'none', 'umc/icons/scalable/computerroom-icon-collect-files.svg', '-resize', '50x50', '-define', 'png:exclude-chunk=date,time', 'umc/icons/50x50/computerroom-icon-collect-files.png')' returned non-zero exit status 1. make: *** [debian/rules:36: build] Fehler 1 dpkg-buildpackage: Fehler: Unterprozess debian/rules build lieferte Exitstatus 2 ------------------------------------------------------------------------------------------------- Tried the "convert" command on its own: ------------------------------------------------------------------------------------------------- root@m31:/sync/ucs-school-umc-computerroom# convert -background none umc/icons/scalable/computerroom-icon-collect-files.svg -resize 50x50 -define png:exclude-chunk=date,time umc/icons/50x50/computerroom-icon-collect-files.png convert-im6.q16: non-conforming drawing primitive definition `v12.3186a1.5398' @ error/draw.c/TracePath/6318. convert-im6.q16: non-conforming drawing primitive definition `path' @ error/draw.c/RenderMVGContent/4301. root@m31:/sync/ucs-school-umc-computerroom# echo $? 1 ------------------------------------------------------------------------------------------------- Searched the internet: https://github.com/ImageMagick/ImageMagick/discussions/2033 → When installed, ImageMagic uses the SVG-renderer of Inkscape, which is more advanced. → This I installed the "inkscape" package and the package build succeed. The build dependency of "ucs-school-umc-computerroom" includes "univention-management-console-dev (>= 11.0.4-37)". The package "univention-management-console-dev" depends only on one of imagemagick and inkscape: ------------------------------------------------------------------------------------------------- Package: univention-management-console-dev Architecture: all Depends: [..] imagemagick | inkscape, [..] ------------------------------------------------------------------------------------------------- For the SVGs in ucs-school-umc-computerroom it must depend on _both_.
Why was the change made? The change was made in order to solve the dependencies problem What does the change look like? N/A change the dependencies What changed in the behavior? During the building time of the module univention-managemente-console use the both dependencies "imagemagick" "inkscape" instead of one of them How was the change tested? using the developers guide, with repo_admin.py script How can testing be done? build the package with dependencies
Commit changes: commit 8b53a1ddad8a4023db5d79cc30005254f3a8910a (HEAD -> 5.0-1, origin/HEAD, origin/5.0-1) Author: Ildefonso González Sánchez <isanchez.extern@univention.de> Date: Wed Dec 29 14:14:09 2021 +0100 Bug #54043: univention-management-console-dev must depend on imagemagick AND inkscape include YAML changes commit 06686e53f76e3de00ae8138f14a3d2713398035d Author: Ildefonso González Sánchez <sanchez.extern@univention.de> Date: Wed Dec 29 11:22:27 2021 +0000 Bug #54043: Advisory
Verified: * Code review * Functional tests (initial package installation & package update) re-open: The package has been built twice but the Advisory still contains the old version. Please update the version in the yaml file: Successful build Package: univention-management-console Version: 12.0.12-20A~5.0.0.202112291354 Branch: ucs_5.0-0 Scope: errata5.0-1 User: isanchez
fix version updated with the last build: 12.0.12-20A~5.0.0.202112291354
Verified: * Advisory ok
<https://errata.software-univention.de/#/?erratum=5.0x179>