DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: imagewmark 0.6.0-1

Package Information

Descriptionresilient invisible digital watermarking tool for images

Imagewmark embeds and extracts encrypted, invisible digital watermarks in image files.

Using a key-based cryptographic scheme, the embedded watermark can be reconstructed from cropped, scaled, or compressed variants of the watermarked image without requiring access to the original source image (blind decoding).

The watermark embedding and detection algorithms are resilient against local geometric distortions and lossy compression formats.

MaintainerYing-Chun Liu (PaulLiu) <paulliu@debian.org>
Changed ByYing-Chun Liu (PaulLiu) <paulliu@debian.org>
Sponsorpaulliu@debian.org
Distributionunstable
Architectureany
Closes#1148246
Trackerhttps://tracker.debian.org/pkg/imagewmark
Uploaded1 month, 19 days ago

New Package Report

.changes◂
Changed-ByYing-Chun Liu (PaulLiu) <paulliu@debian.org>
Architecturesource amd64
Distributionunstable
DateFri, 18 Sep 2026 13:42:21 +0100
Sourceimagewmark
Version0.6.0-1
Changelog◂
imagewmark (0.6.0-1) unstable; urgency=low
 .
   * Initial release. (Closes: #1148246)
.dsc◂
Sectiongraphics
Priorityoptional
Componentmain
Package-Listimagewmark deb graphics optional arch=any
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/tim-janik/imagewmark
Upstream-Name: imagewmark
Upstream-Contact: Tim Janik <timj@gnu.org>

Files:
 *
Copyright:
 2026 Tim Janik <timj@gnu.org>
 2026 Stefan Westerfeld <stefan@space.twc.de>
License: GPL-3.0+

Files: doc/imagewmark.1.md
Copyright: 2023-Present The Imagewmark Development Team.
License: GPL-3.0+

Files: src/version.sh
       cxx/minsearch.hh
       contrib/shuffled-pics.py
Copyright:
 2026 Tim Janik <timj@gnu.org>
 2026 Stefan Westerfeld <stefan@space.twc.de>
License: MPL-2.0

Files: cxx/3rdparty/CLI11/CLI11.hpp
Copyright:
 2017-2026 University of Cincinnati
License: BSD-3-clause

Files:
 debian/*
Copyright:
 2026 Ying-Chun Liu (PaulLiu) <paulliu@debian.org>
License: GPL-3.0+

License: GPL-3.0+
 This package is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 .
 This package is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this package. If not, see <https://www.gnu.org/licenses/>.
Comment:
 On Debian systems, the complete text of the GNU General
 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

License: MPL-2.0
 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
Comment:
 On Debian systems you can find the license in:
 /usr/share/common-licenses/MPL-2.0

License: BSD-3-clause
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:
 1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
 3. Neither the name of the University nor the names of its contributors
    may be used to endorse or promote products derived from this software
    without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE HOLDERS OR
 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Review Information

rejected — allocated to awm 25 days ago, started 25 days ago, completed 25 days ago.

Final Comment

Hi,

There are a number of issues which need to be resolved, but none are particularly complex and none relate to licensing.

  1. [blocker] packaging Python code imports scipy.misc, removed in SciPy >= 1.12: program cannot start and the build’s smoke test fails

Files: src/common.py:3, src/embed.py:4, src/extract.py:11, src/imagewmark.py:19, debian/rules
Evidence: import scipy.misc, scipy.signal, cv2 (unconditional top-level import in every one of these modules).
Problem: scipy.misc was deprecated in SciPy 1.10 and removed in 1.12; Debian currently ships python3-scipy 1.17.1-5+b1, which has no scipy.misc. The imports are executed at module load, before argument parsing, so imagewmark cannot start at all, the override_dh_auto_test smoke run (./imagewmark --help) in debian/rules aborts the build, and the autopkgtest fails. Grep shows no scipy.misc.* or scipy.signal.* attribute is ever used, so the import is a latent upstream bug that only this packaging makes fatal.
Fix: Ship a Debian patch that drops the unused scipy.misc (and scipy.signal) member from those import lines, or ask upstream to do so; re-run the build and autopkgtest to confirm.

  1. [important] packaging Upstream defaults to clang++ but clang is not in Build-Depends

Files: cxx/Makefile.mk:3, debian/control, debian/rules
Evidence: CXX ?= clang++ in cxx/Makefile.mk; debian/rules runs plain dh $@ with no compiler override and control has no clang build-dependency.
Problem: On a clean buildd the build chroot contains only Build-Depends plus build-essential (gcc/g++); clang++ is then command not found and every C++ target in make all fails. building the current Debian should not depend on clang being present accidentally.
Fix: Either add clang to Build-Depends or set the compiler in debian/rules, e.g. pass CC=$(CC) CXX=$(CXX) (from dpkg-buildflags) to dh_auto_build.

  1. [minor] packaging Upstream CXXFLAGS assignment drops Debian hardening flags

Files: cxx/Makefile.mk:5
Evidence: CXXFLAGS := -Wall -O3 -g — a hard := override that clobbers whatever dpkg-buildflags exported.
Problem: Because the Makefile uses :=, Debian’s default CXXFLAGS hardening (-D_FORTIFY_SOURCE=2, -fstack-protector-strong, -Wformat -Werror=format-security) never reach the compiler, which would be flagged by a build-log hardening check (blhc) and weakens the shipped C++ helpers.
Fix: Pass the hardened flags through, e.g. override the build step with dh_auto_build -- CXXFLAGS="$(shell dpkg-buildflags --get CXXFLAGS) -Wall -O3 -g", preferably combined with the compiler fix above.

  1. [minor] packaging Bundled CLI11 header instead of Debian’s libcli11-dev

Files: cxx/3rdparty/CLI11/CLI11.hpp, cxx/Makefile.mk
Evidence: Header begins CLI11: Version 2.6.2 ... generated by MakeSingleHeader.py; Debian already ships libcli11-dev 2.6.1+ds-1.
Problem: POLICY §4.13: embedding a copy of third-party code that Debian already packages as a library means security and bug fixes to CLI11 do not propagate to this package; Debian’s libcli11-dev is nearly the same release.
Fix: Build-Depend on libcli11-dev and include <CLI11/CLI11.hpp> (the package’s own Makefile comments already mention libcli11-dev); drop the vendored header or keep it only if the package cannot build against the system header, with justification.

  1. [minor] packaging debian/watch is in the old version 4 format

Files: debian/watch
Evidence: version=4
Problem: Version 5 is the current format of debian/watch.
Fix: Convert it to version 5; a mechanical conversion is included below.

=======================================================================
Version: 5

Compulsory line, this is a version 4 file.

GitHub hosted projects.

Template: Github
Dist: https://github.com/tim-janik/imagewmark

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
0.6.0-1 88f37fad… 2026-10-16 02:39 2026-10-16 02:47 awm accepted VIEW

Back to Dashboard | View all reviews for this package