DFSG NEW Queue

DFSG, Licensing & New Packages Team

gardendevd 0.2-1

Package Information

Description/dev/ and hotplug management daemon

gardendevd is a daemon which dynamically creates and removes device nodes from /dev/, handles hotplug events and loads drivers at boot time.

This is a drop-in replacement for udev.

MaintainerMatthias Geiger <werdahias@debian.org>
Changed ByMatthias Geiger <werdahias@debian.org>
Sponsorwerdahias@debian.org
Distributionexperimental
Architectureany
VCSgit: https://salsa.debian.org/debian/gardendevd.git (browse)
Closes#1151941
Trackerhttps://tracker.debian.org/pkg/gardendevd
Uploaded4 hours ago

New Package Report

.changes◂
Architecturesource amd64
Distributionexperimental
DateSat, 24 Oct 2026 22:27:17 +0200
Sourcegardendevd
Version0.2-1
Changed-ByMatthias Geiger <werdahias@debian.org>
Changelog◂
gardendevd (0.2-1) experimental; urgency=medium
 .
   * Initial release. (Closes: #1151941)
.dsc◂
Componentmain
Package-Listgardendevd deb admin optional arch=any
Sectionadmin
Priorityoptional
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://codeberg.org/Gardenhouse/seedfiles
Upstream-Name: seedfiles
Upstream-Contact: Rose Hellsing <rose@pinkro.se>

Files: *
Copyright: 2026 Rose Hellsing <rose@pinkro.se>
License: GPL-3+

Files: 
 rules/udev/50-udev-default.rules
 rules/udev/60-autosuspend.rules
 rules/udev/60-block.rules
 rules/udev/60-cdrom_id.rules
 rules/udev/60-dmi-id.rules
 rules/udev/60-drm.rules
 rules/udev/60-evdev.rules
 rules/udev/60-input-id.rules
 rules/udev/60-persistent-alsa.rules
 rules/udev/60-persistent-hidraw.rules
 rules/udev/60-persistent-input.rules
 rules/udev/60-persistent-storage-mtd.rules
 rules/udev/60-persistent-storage.rules
 rules/udev/60-sensor.rules
 rules/udev/60-serial.rules
 rules/udev/65-integration.rules
 rules/udev/70-camera.rules
 rules/udev/70-joystick.rules
 rules/udev/70-mouse.rules
 rules/udev/70-tag_uaccess.rules
 rules/udev/70-touchpad.rules
 rules/udev/75-net-description.rules
 rules/udev/78-sound-card.rules
 rules/udev/80-drivers.rules
 rules/udev/80-net-setup-link.rules
 scripts/generate-keyboard-keys-c.sh
 scripts/generate-keyboard-keys-list.sh
Copyright: The systemd contributors
License: LGPL-2.1+
Comment: The rules shipped in gardendevd are based on the systemd ones, which are autogenerated.

Files: debian/*
Copyright: 2026 Matthias Geiger <werdahias@debian.org>
License: GPL-3+

License: LGPL-2.1+
 This file is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.
 .
 This file 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
 Lesser General Public License for more details.
 .
 You should have received a copy of the GNU Lesser General Public
 License along with this library; if not, see https://www.gnu.org/licenses/.
 .
 On Debian systems, the complete text of the GNU Lesser General Public
 License version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1".


License: GPL-3+
 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 program. If not, see <https://www.gnu.org/licenses/>
 .
 On Debian systems, the complete text of the GNU General
 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

DFSG Assistant LLM REVIEW 0 blocker, 1 important, 2 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 hours ago.

Report◂

DFSG NEW review for gardendevd version 0.2-1

Summary

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

Licensing

Every source file carries an SPDX header of GPL-3.0-or-later (the C sources, headers, dracut scripts, tests, tools) or LGPL-2.1-or-later (the systemd-derived udev rules and the two keyboard-key generator scripts), matching the debian/copyright stanzas. The tree has no embedded third-party libraries, no non-free terms, and no built/bytecode files. The only fault is that the copyright header paragraph names the wrong project (seedfiles rather than gardendevd); the Files/Copyright/License stanzas themselves are accurate.

Packaging

Packaging is clean and modern: debhelper compat 14, meson build, hardening=+all, correct Build-Depends (pkgconf, libacl1-dev, libsystemd-dev, meson), a single binary package with Provides/Conflicts udev, and correct source format 3.0 (quilt). Two minor nits: debian/gbp.conf has a malformed section header, and the empty override_dh_auto_test silently disables the test suite at build time.

Issues

1. [important] [licensing] debian/copyright header names the wrong upstream project (seedfiles instead of gardendevd)

  • Files: debian/copyright:2-3
  • Basis: checked, in the package or with a reference tool
  • Evidence: Source: https://codeberg.org/Gardenhouse/seedfiles and Upstream-Name: seedfiles, while debian/control and debian/upstream/metadata both give Homepage: https://codeberg.org/Gardenhouse/gardendevd.
  • Problem: The Source URL and Upstream-Name point at a different Gardenhouse project (seedfiles), not the package being built. The copyright header's provenance metadata is factually wrong, and a sponsor would require it corrected before upload.
  • Fix: Change Source: to https://codeberg.org/Gardenhouse/gardendevd and Upstream-Name: to gardendevd.

2. [minor] [packaging] debian/gbp.conf DEFAULT section header is malformed (missing opening bracket)

  • Files: debian/gbp.conf:1
  • Basis: checked, in the package or with a reference tool
  • Evidence: The first line reads DEFAULT] rather than [DEFAULT]; the other sections ([dch], [import-orig], [pq]) are all correctly bracketed.
  • Problem: Without the opening [, the pristine-tar, debian-branch, upstream-branch and upstream-vcs-tag settings are orphaned outside any section, so git-buildpackage fails to read them (git config errors on a key outside a section header).
  • Fix: Change the first line to [DEFAULT].

3. [minor] [packaging] override_dh_auto_test is empty, disabling the whole test suite at build time

  • Files: debian/rules:18
  • Basis: checked, in the package or with a reference tool
  • Evidence: override_dh_auto_test: with no recipe, after the comment # Tests expect /run to be available.
  • Problem: An empty override target makes dh skip meson test entirely, so the seven test programs declared in meson.build (test-rules-parse, test-rules-eval, test-rules-format, test-builtin, test-parent, test-spawn, test-udev-to-mdev) never run during the build. This is not a build failure, but it silently drops test coverage.
  • Fix: Either create /run before testing (e.g. run the tests with a wrapper that ensures /run exists, or use DEB_BUILD_OPTIONS=nocheck to opt out per-build), so the tests actually run.

Verified

  • Read every file under debian/ in full (control, rules, changelog, copyright, source/format, gpb.conf, lintian-overrides, salsa-ci.yml, upstream/metadata, watch) and the .dsc.
  • Scanned the whole tree (105 files) for copyright/licence evidence; every file carries an SPDX header (GPL-3.0-or-later for C sources, headers, dracut scripts, tests and tools; LGPL-2.1-or-later for rules/udev/.rules and scripts/generate-keyboard-keys-.sh), except trivial build/config files (.gitignore, Containerfile, meson_options.txt, udev.pc.in, rules/mdev.conf, dracut mdev.conf, openrc scripts, test/vm overlay data) which fall under the Files: * GPL-3+ stanza and need no header.
  • No LICENSE/COPYING/NOTICE/AUTHORS file exists in the tree; licensing is conveyed per-file by SPDX headers, and debian/copyright reproduces the GPL-3+ and LGPL-2.1+ texts with correct /usr/share/common-licenses pointers.
  • The prescan author-check found every copyright holder named in debian/copyright (Rose Hellsing, the systemd contributors, Matthias Geiger); no missing holder.
  • 73-uaccess.rules is GPL-3.0-or-later and correctly falls under the Files: * stanza rather than the systemd LGPL-2.1+ stanza (which lists only the LGPL rules files).
  • The generate-keyboard-keys-*.sh scripts are LGPL-2.1-or-later systemd-derived generators; their output (a key-name list and table) compiled into the GPL-3+ binary is licence-compatible.
  • mdevd is not a hard runtime dependency: gardendevd auto-detects it and falls back to kernel-netlink mode (src/gardendevd.c:737-753), so the absence of a Depends on mdevd is not a fault.
  • The empty Files: field in the second debian/copyright stanza is valid DEP-5 field continuation (patterns on the following indented lines).
  • uscan found the packaged version as the newest upstream release (upstream 0.2, packaged 0.2).
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (GPL-3, LGPL-2.1).

Not confirmed

  • debian/watch looks at codeberg.org/gardenhouse/gardendevd, but the Source field of debian/copyright names codeberg.org/gardenhouse/seedfiles. Whether these are the same upstream was not checked.

Proposed changes

None.

Uploader's response to the LLM review

Waiting for the uploader's response until , because the review found serious issues.

Back to Dashboard | View all reviews for this package