DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: hyprgraphics 0.6.0-2

Package Information

DescriptionC++ graphics utility library for Hyprland

Hyprgraphics is a small C++ library with graphics / resource related utilities used across the hypr* ecosystem.

MaintainerDebian Hyprland Maintainers <team+hyprland@tracker.debian.org>
Changed ByChow Loong Jin <hyperair@debian.org>
Sponsorhyperair@debian.org
Distributionexperimental
Architectureany
VCSgit: https://salsa.debian.org/hyprland-team/hyprgraphics.git (browse)
Popcon Installs540
Binary NEWYes (new binary packages of a source already in sid)
Trackerhttps://tracker.debian.org/pkg/hyprgraphics
Uploaded3 days ago

New Package Report

.changes◂
DateThu, 05 Nov 2026 00:49:23 +0800
Sourcehyprgraphics
Version0.6.0-2
Changed-ByChow Loong Jin <hyperair@debian.org>
Architecturesource amd64
Distributionexperimental
Changelog◂
hyprgraphics (0.6.0-2) experimental; urgency=medium
 .
   * d/control: Replace libspng-dev dependency with libpng-dev
 .
 hyprgraphics (0.6.0-1) experimental; urgency=medium
 .
   [ Carl Keinath ]
   * New upstream version 0.6.0
   * d/*.dirs: remove dirs files
   * Rename package for SONAME bump
   * migrate to dh-compat 14
   * wrap-and-sort debian dir
   * d/control: append uploaders
 .
   [ Chow Loong Jin ]
   * d/control: Add .pc dependencies to -dev package
   * d/control: Build-dep on libdav1d-dev
.dsc◂
Componentmain
Package-Listlibhyprgraphics-dev deb libdevel optional arch=any
libhyprgraphics5 deb libs optional arch=any
Sectionlibdevel
Priorityoptional
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/hyprwm/hyprgraphics
Upstream-Name: hyprgraphics
Upstream-Contact: https://github.com/hyprwm/hyprgraphics/issues

Files:
 *
Copyright:
 2024-2025 Hypr Development
License: BSD-3-clause

Files:
 debian/*
Copyright:
 2025 Carl Keinath <carl.keinath@gmail.com>
License: BSD-3-clause

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.

DFSG Assistant LLM REVIEW 0 blocker, 0 important, 1 minor

This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.

Reviewed 2 days ago.

Report◂

DFSG NEW review for hyprgraphics version 0.6.0-2

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: No
  • Packaging is of good quality: Yes
  • Issues: 0 blocker, 0 important, 1 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: 1 found

Licensing

The tree is entirely BSD-3-Clause: the only licence file is the top-level LICENSE (Copyright 2024 Hypr Development), no other file in the tree carries a copyright or licence notice, and there is no vendored third-party code, so the licensing itself is DFSG-free and the two Files stanzas cover every file. But the standalone License: BSD-3-clause text in debian/copyright is not the licence in LICENSE: its clause 3 restricts the name of "the University" and its disclaimer speaks of "THE HOLDERS", so the file misreproduces the terms it claims to reproduce.

Packaging

Compat 14 with plain dh and hardening, source format 3.0 (quilt), one DEP-3 patch that still applies and is credited upstream, Build-Depends matching every CMake find_package/pkg_check_modules call, a -dev package whose Depends match the headers and the shipped .pc Requires/Requires.private, SOVERSION 5 matching libhyprgraphics5, install files covering every installed path, and an autopkgtest that rebuilds the upstream tests against the installed library. Standards-Version 4.7.4 matches the Policy on this system; no packaging problem worth reporting was found.

Issues

minor licensing 1. debian/copyright reproduces a different BSD-3-clause text than upstream's LICENSE: clause 3 names "the University" ◂
  • Files: debian/copyright:28, debian/copyright:36, LICENSE:15
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright: 3. Neither the name of the University nor the names of its contributors and IN NO EVENT SHALL THE HOLDERS OR; LICENSE: 3. Neither the name of the copyright holder nor the names of its / contributors may be used to endorse and IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS.
  • Problem: debian/copyright is the only licence record installed in the binary packages, and its text is evidently copied from another package's BSD-3 template: the non-endorsement clause names a party ("the University") that has nothing to do with this software, and the disclaimer drops "COPYRIGHT". The short name BSD-3-clause is right and no DFSG term is affected, but the file does not accurately reproduce the licence it declares.
  • Fix: Replace the stand-alone BSD-3-clause text with upstream's LICENSE text verbatim, i.e. "Neither the name of the copyright holder nor the names of its contributors ..." and "IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE".
Verified ◂
  • tests/resource/images/hyprland.jxl, the one file the scan flagged as unrecognised binary, is a JPEG XL copy of the Hyprland logo used as test data: tests/image.cpp iterates every file in tests/resource/images/ and loads it, which exercises the library's libjxl support. It is not a built artifact, its uncompressed siblings hyprland.png and hyprland.svg are in the package, and it is covered by Files: * (Hypr Development, BSD-3-clause).
  • The other test images (hyprland.png, hyprland.jpg, hyprland.webp, hyprland.avif, hyprland.svg, and hyprland.symlink, which points at the PNG) are upstream test fixtures used by the same test; all covered by Files: *.
  • Nothing else in the tree carries a copyright or licence notice: a case-insensitive grep for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, GNU, Apache, Mozilla Public, public domain, MIT, warranty, liability and redistribute over src/, include/, tests/, nix/, .github/ and the top-level files matched only BasedOnStyle: LLVM (.clang-format) and license = licenses.bsd3 (nix/default.nix), so the whole tree is under LICENSE as the Files: * stanza says.
  • The only licence file in the tree is the top-level LICENSE (BSD-3-Clause, Copyright 2024 Hypr Development); there is no COPYING, NOTICE or AUTHORS and no vendored third-party code, since every image format uses a system library via pkg-config (libpng, libjpeg, libwebp, libjxl, libheif, librsvg-2.0, libmagic, cairo, pangocairo, pixman-1, libdrm, GLES, hyprutils).
  • All of debian/ was read except debian/watch (checked separately, out of scope): debian/copyright is DEP-5 with Format, Source, Upstream-Name, Upstream-Contact, then Files: * and Files: debian/* in that order, so debian/ takes the later stanza and everything else the catch-all; no Files-Excluded is needed, the orig tarball's top-level contents matching the unpacked tree.
  • debian/patches/allow-jpeg-loading-on-big-endian.patch has DEP-3 From/Date/Subject/Bug/Origin and is still current: quilt records it applied (.pc/applied-patches) against src/image/formats/Jpeg.cpp, where the code the patch removes is still upstream's.
  • Packaging: debhelper-compat (= 14) with plain dh and DEB_BUILD_MAINT_OPTIONS=hardening=+all, source 3.0 (quilt); CMake sets SOVERSION 5 and the library package is libhyprgraphics5; the .install files cover usr/include/, lib.so, pkgconfig/.pc and lib.so., i.e. everything CMake installs; Build-Depends match every find_package/pkg_check_modules call in CMakeLists.txt; the -dev Depends cover the public headers' cairo, GLES3 and hyprutils includes and the shipped .pc's Requires (cairo hyprutils pangocairo glesv2) and Requires.private (libdrm pixman-1 libpng libjpeg libwebp librsvg-2.0 libmagic libjxl libheif); autopkgtest uses one stanza with @, @builddeps@ and allow-stderr and builds the upstream tests in $AUTOPKGTEST_TMP against the installed library; the changelog matches the tree and closes #1099341 on initial upload.
  • Standards-Version 4.7.4: the reviewing system's Policy is 4.7.4.1, so the first two components match and this is not an issue.
  • flake.lock was only grepped for licence wording, not read in full; the .pc/ tree was passed over as instructed.
  • uscan found the packaged version as the newest upstream release (upstream 0.6.0, packaged 0.6.0).
Not confirmed ◂
  • The package was not built and autopkgtest not run, so the tests' pass/fail and the exact build result are assumed rather than observed.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader rejected this upload in response to the review.

Review Information

rejected — allocated to dfsg-uploader 2 days ago, started 2 days ago, completed 2 days ago.

Final Comment

The uploader rejected this upload in response to the automated (LLM) review of it, so that they can fix the problems it found and upload again.

The uploader said:

Fine I'll fix this one too.

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
0.6.0-3 122a6a98… 2026-11-06 02:43 2026-11-06 02:43 awm accepted VIEW
0.6.0-1 76d02002… 2026-11-05 02:57 2026-11-05 02:57 dfsg-uploader rejected VIEW

Back to Dashboard | View all reviews for this package