Add Debian 13 packaging for g15stats

This commit is contained in:
Mikhail Yevchenko committed 2026-09-07 16:13:47 +03:00
1 parent 95de11a526
commit 076641c867
20 files changed
+422

No files matched your search

+53
View File
@@ -0,0 +1,53 @@
Debian packaging import and fork provenance
==========================================
Imported on 2026-09-07 from the official Debian archive:
https://archive.debian.org/debian/pool/main/g/g15stats/
SHA-256 (filenames relative to that URL):
79289e9f182e086dc5bfe0b1b594fedc36ad7610ee1daec19b05d44c4494d3fa g15stats_1.9.2-2.dsc
ce724380069ee62563f2898b1bbd0afb80bb632cb6dbf3d1747871f7cdfefbb3 g15stats_1.9.2-2.diff.gz
9dda49a3f09e66ce738ceecb07f2c0fef7ecd5ecbd06e435b340dfca35a37da4 g15stats_1.9.2.orig.tar.gz
The diff (2316 bytes) and orig tarball (25190 bytes) match the SHA-256
checksums in the downloaded .dsc. The .dsc's own checksum was computed
locally. The byte-exact .dsc and diff are retained in debian/provenance/;
the diff preserves ALL original debian files, the manual and linker fix.
The tarball can be downloaded from the URL above and verified independently.
Checksum matching alone does not authenticate the uploader's PGP signature.
Verification was attempted with Debian 13's debian-keyring,
debian-maintainers and debian-nonupload keyrings: gpgv reported
"No public key" for DSA key F9935424B1DF9A57 (signature dated 2011-03-15).
No successful signature verification is claimed here.
Archive package: g15stats 1.9.2-2, source format 1.0, maintained by
Giacomo Catenazzi <cate@debian.org>. Original Debian packaging copyright:
2008 Giacomo A. Catenazzi, GPL-2-or-later. All three historical changelog
entries remain unchanged. The archive adds g15stats.1 outside debian/;
it is now debian/g15stats.1, extended for the fork, retaining Mike Lampard's
author credit. The archive's only upstream source patch adds -lpthread -lm
to Makefile.am, credited to Bhavani Shankar in the changelog (#554382).
Both libraries already appear in the fork: do not apply that patch twice.
All nine archived debian files were imported. control, rules, docs, install,
manpages, watch and copyright were adapted; changelog was prepended;
compat was raised from 5 to 13, with Build-Depends: debhelper (>= 13~).
Obsolete CDBS cleanup and SourceForge watching were replaced, not omitted
without a record. No archived quilt series existed.
Upstream snapshot (unmodified tracked files in the orig archive):
Menelkir master 95de11a526346b3d9fd33df051b330c36b1c8a16
Commit date: 2024-06-09; subject: Update README.rst
Upstream: https://gitlab.com/menelkir/g15stats
Local fork origin: https://gt.uo1.net/mikhail/g15stats
Version rationale: git describe gives 3.0.3-13-g95de11a and the tracked
Arch PKGBUILD declares 3.0.3. configure.ac instead has stale AC_INIT=3.0
and VERSION=3.0.1, including at tag 3.0.3. Therefore this package is
3.0.3+git20240609.95de11a-1~local1, NOT Debian's old 1.9.2 nor a new
upstream release. The quilt patch aligns the embedded version and modernizes
only the build system. Runtime engine files remain untouched.
The new changelog/patch identity is the configured local Git user,
Mikhail Yevchenko <m.ṥῥẚɱ.ѓѐḿởύḙ@uo1.net>; it does not impersonate
the historical Debian maintainer or claim upstream authorship.
+52
View File
@@ -0,0 +1,52 @@
g15stats for Debian 13 (local fork package)
=========================================
This packaging targets Linux and debhelper compatibility 13. See PROVENANCE
for the complete Debian 1.9.2-2 import, licensing and snapshot version choice.
All upstream modifications are in debian/patches; do not build in the checkout
when you want it to remain pristine.
Clean source preparation (outside the checkout)
----------------------------------------------
Export ONLY tracked upstream files at commit
95de11a526346b3d9fd33df051b330c36b1c8a16 using git archive, with directory
prefix g15stats-3.0.3+git20240609.95de11a/. Compress with xz to produce
g15stats_3.0.3+git20240609.95de11a.orig.tar.xz. Extract in a temporary build
directory, then copy this debian/ directory into it. Never tar the working
checkout: .git, quilt state and untracked build outputs must not be included.
In a disposable Debian 13 container, install build-essential, debhelper,
autoconf, automake, libtool, pkgconf, libgtop2-dev, libg15-dev,
libg15render-dev and libg15daemon-client-dev (apt-get build-dep on the staged
source directory also resolves Build-Depends). Install lintian for QA.
If the already-built local G15 libraries are available, install their runtime
and development .deb files instead of the distro G15 libraries. Keep libgtop
and other dependencies from Debian 13. Do not install packages on the host.
Run dpkg-buildpackage -S -us -uc in the staged source directory. In another
empty directory/container, extract the resulting .dsc with dpkg-source -x,
then run dpkg-buildpackage -b -us -uc. Source packages here are unsigned;
dpkg-source --no-check is appropriate only after independently checking the
locally produced source artifact checksums. Lint both source and binary
.changes with lintian --fail-on error. Keep logs and all artifacts outside
the checkout. A second independent extraction/build checks rebuildability;
bit-for-bit reproducibility is a separate claim requiring comparison.
Safe smoke test
---------------
Install the resulting binary in a disposable container with no USB mappings,
no host networking and no privileged mode. Suppress service startup using
policy-rc.d before installing g15daemon. Run debian/tests/help, which compares
timeout-bounded --help and -h output. These exit before any daemon connection,
sensor access or keyboard thread. Do not invoke the normal client or -d.
The same test is declared as a superficial autopkgtest.
Scope and limitations
---------------------
No service/init, udev rule, keyboard macro or automatic startup is shipped.
The existing runtime code has not been safety-certified or rewritten: legacy
sensor paths, argument parsing, array bounds, string handling and threading
need separate runtime review. Build/CLI tests do not validate hardware, LCD
rendering, live daemon interaction, battery support or other architectures.
Use --info-rotate, not the incorrectly documented short form -ir; see the
manual for the existing parser discrepancy.
+36
View File
@@ -0,0 +1,36 @@
g15stats (3.0.3+git20240609.95de11a-1~local1) UNRELEASED; urgency=medium
* Import Debian 1.9.2-2 packaging and manual, retaining its changelog,
attribution and checksum-recorded archive provenance.
* Package Menelkir master 95de11a526346b3d9fd33df051b330c36b1c8a16,
a post-3.0.3 snapshot, rather than mislabelling this fork as 1.9.2.
* Use debhelper compat 13, 3.0 (quilt), direct build dependencies,
rootless builds and all Debian hardening flags on Debian 13.
* Quilt build fixes preserve compiler flags, link libgtop correctly,
remove the bare include flag and align the embedded snapshot version.
* Extend the archived manual and add isolated CLI smoke tests.
Do not install init scripts or automatically start the client.
-- Mikhail Yevchenko <m.ṥῥẚɱ.ѓѐḿởύḙ@uo1.net> Mon, 07 Sep 2026 15:47:05 +0300
g15stats (1.9.2-2) unstable; urgency=low
* Supports binutils-gold linker, writing explicitly our library
dependencies. Patch from Bhavani Shankar (Closes: #554382).
-- Giacomo Catenazzi <cate@debian.org> Tue, 15 Mar 2011 08:04:59 +0100
g15stats (1.9.2-1) unstable; urgency=low
* New upstream version (Closes: #530548).
* Add support for automake and autoconf
-- Giacomo Catenazzi <cate@debian.org> Tue, 04 Aug 2009 13:15:38 +0200
g15stats (1.0-1) unstable; urgency=low
* Initial release. (Closes: #439792).
-- Giacomo Catenazzi <cate@debian.org> Tue, 18 Mar 2008 08:09:06 +0100
+1
View File
@@ -0,0 +1 @@
13
+38
View File
@@ -0,0 +1,38 @@
Source: g15stats
Section: utils
Priority: optional
Maintainer: Mikhail Yevchenko <m.ṥῥẚɱ.ѓѐḿởύḙ@uo1.net>
Build-Depends: debhelper (>= 13~),
autoconf,
automake,
libg15-dev,
libg15daemon-client-dev,
libg15render-dev,
libgtop2-dev,
libtool,
pkgconf
Standards-Version: 4.7.2
Rules-Requires-Root: no
Homepage: https://gitlab.com/menelkir/g15stats
Package: g15stats
Architecture: linux-any
Depends: g15daemon, ${shlibs:Depends}, ${misc:Depends}
Description: system statistics display client for G15Daemon
Displays system statistics on the LCD of supported Logitech keyboards
through g15daemon.
.
CPU Screen displays graphs of User/System/Nice and Idle time, along with
LoadAVG and Uptime.
.
Memory Screen displays Memory Total & Free, and graph of Used vs
Buffered+Cached Memory.
.
Swap Screen displays Used, Free and Total swap space, along with the number
of pages currently paged in/out.
.
Network Screen displays Total bytes In/Out, history graph, Peak speed.
.
Additional screens show CPU frequency, battery charge, temperature and
fan speed where supported by the system's sensors.
+40
View File
@@ -0,0 +1,40 @@
This package was debianized by Giacomo A. Catenazzi <cate@debian.org> on
Sat, 15 Sep 2007 08:32:51 +0200.
It was downloaded from http://g15daemon.sourceforge.net/
Upstream Authors (also see AUTHORS):
Mike Lampard <mlampard@users.sourceforge.net>
Antonio Bartolini <robynhub@gmail.com>
Piotr Czarnecki <czarnyckm@users.sf.net>
Daniel Menelkir <dmenelkir@gmail.com>
Copyright:
Copyright (c) 2006-2007 Mike Lampard
Copyright (c) 2008-2010 Mike Lampard (g15stats.c)
License:
g15daemon 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 2 of the License, or
(at your option) any later version.
g15daemon 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.
License can be found in the file `/usr/share/common-licenses/GPL-2'.
The Debian packaging is (C) 2008, Giacomo A. Catenazzi <cate@debian.org> and
is licensed under the GPL v2 (or later), see `/usr/share/common-licenses/GPL-2'.
Local packaging additions are Copyright (c) 2026 Mikhail Yevchenko
<m.ṥῥẚɱ.ѓѐḿởύḙ@uo1.net>, licensed under GPL v2 or later.
The imported manual names Mike Lampard as author; its Debian archive origin
and subsequent local updates are documented in debian/PROVENANCE.
The original Debian diff, including the original copyright notice, is retained
unchanged in debian/provenance/. No authorship of the fork is claimed here.
Vendored
+4
View File
@@ -0,0 +1,4 @@
README
AUTHORS
debian/README.Debian
debian/PROVENANCE
+87
View File
@@ -0,0 +1,87 @@
.\" Imported from Debian 1.9.2-2; see debian/PROVENANCE for attribution.
.TH "g15stats" "1" "7 September 2026" "G15Daemon - g15stats" "G15Daemon User Manual"
.SH "NAME"
g15stats \- system statistics display client for G15Daemon
.SH "SYNOPSIS"
.B g15stats
.RI [ options ]
.SH "DESCRIPTION"
The program provides usage meters for the LCD on
supported Logitech keyboards, using g15daemon:
.PP
CPU Screen displays graphs of User/System/Nice and Idle time, along with
LoadAVG and Uptime.
.PP
Memory Screen displays Memory Total & Free, and graph of Used vs
Buffered+Cached Memory.
.PP
Swap Screen displays Used, Free and Total swap space, along with the number
of pages currently paged in/out.
.PP
Network Screen displays Total bytes In/Out, history graph, Peak speed.
.PP
The summary, CPU frequency, battery, temperature and fan screens display
additional statistics where the relevant system sensors are available.
.SH "OPTIONS"
g15stats understands the following options:
.br
.P
.HP
\-h,--help show usage information.
.P
.HP
\-d,--daemon run in background.
.P
.HP
\-i,--interface [interface] monitor network interface [interface] ie -i eth0.
.P
.HP
\-nsa,--net-scale-absolute scale net graphs against maximum speed seen.
.TP
.BR \-u , " --unicore"
Display unicore graphs on the CPU screen.
.TP
.BI "\-r, --refresh " seconds
Set the refresh interval from 1 to 300 seconds (default: 1).
.TP
.BI "\-t, --temperature " id
Select the temperature hwmon sensor (0 to 3).
.TP
.BI "\-f, --fan " id
Select the fan hwmon sensor (0 to 3).
.TP
.BI "\-gt, --global-temp " id
Show this temperature probe instead of the maximum on the summary screen.
.TP
.BR \-df , " --disable-freq"
Disable CPU frequency monitoring.
.TP
.B --info-rotate
Rotate the bottom information bar. Use the long option: the fork documents
\-ir in its help, but its parser checks \-rc and also treats that prefix as
\-r. The documented short form \-ir is not supported correctly.
.TP
.BR \-vc , " --variable-cpu"
Recalculate the CPU count for systems supporting CPU hotplug.
.SH "KEYS"
L2 selects the previous screen; L3 selects the next screen.
L4 selects an alternative view where available; L5 changes the bottom bar.
.SH "NOTES"
Normal operation requires a running g15daemon. This package does not install
or enable a g15stats service. Run the client as an ordinary user.
The help options exit before connecting to g15daemon.
Sensor availability depends on the kernel and hardware; legacy battery
paths may be unavailable on modern systems.
.SH "AUTHOR"
Mike Lampard
.SH "SEE ALSO"
.BR g15daemon (1),
.BR libg15 (3)
+1
View File
@@ -0,0 +1 @@
usr/bin/g15stats
+1
View File
@@ -0,0 +1 @@
debian/g15stats.1
+47
View File
@@ -0,0 +1,47 @@
Description: Preserve Debian flags and use conventional automake linking
Remove the bare -I (which consumes the next compiler argument), pass GTOP
libraries after objects, and let debhelper install selected documentation.
The historical Bhavani Shankar explicit pthread/math linkage fix is already
present in this fork and remains intact. Align stale configure versions with
the pinned post-3.0.3 snapshot (see debian/PROVENANCE).
Author: Mikhail Yevchenko <m.ṥῥẚɱ.ѓѐḿởύḙ@uo1.net>
Forwarded: not-needed
Last-Update: 2026-09-07
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,5 @@
-AC_INIT([g15stats],[3.0],[dmenelkir@gmail.com])
+AC_INIT([g15stats],[3.0.3+git20240609.95de11a],[dmenelkir@gmail.com])
-PACKAGE=g15stats
-VERSION=3.0.1
AC_PREFIX_DEFAULT(/usr)
AC_CONFIG_AUX_DIR(config)
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AM_INIT_AUTOMAKE([foreign])
@@ -26,6 +24,4 @@
CPPFLAGS="$CPPFLAGS $GTOP_CFLAGS"
-CFLAGS="$CPPFLAGS $GTOP_CFLAGS"
-LDFLAGS="$LDFLAGS $GTOP_LIBS"
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,12 +2,8 @@
-AM_CFLAGS = -Wall @CFLAGS@ -I$(top_builddir) -I$(top_srcdir)
+AM_CFLAGS = -Wall
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
METASOURCES = AUTO
bin_PROGRAMS = g15stats
noinst_HEADERS = g15stats.h
-docdir = @docdir@
-doc_DATA = README ChangeLog AUTHORS NEWS COPYING
-
-LIBS = -lg15daemon_client -lg15render -lpthread -lm -lrt
-IMCLUDES = -I
-g15stats_LDFLAGS = -avoid-version
+g15stats_LDADD = -lg15daemon_client -lg15render -lpthread -lm -lrt $(GTOP_LIBS)
g15stats_SOURCES = g15stats.c g15stats.h
+1
View File
@@ -0,0 +1 @@
modern-build.patch
Binary file not shown.
+29
View File
@@ -0,0 +1,29 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.0
Source: g15stats
Binary: g15stats
Architecture: any
Version: 1.9.2-2
Maintainer: Giacomo Catenazzi <cate@debian.org>
Homepage: http://www.g15tools.com
Standards-Version: 3.8.2
Build-Depends: cdbs, debhelper (>= 5), autotools-dev, libxtst-dev, libfreetype6-dev, libusb-dev, libgtop2-dev, libg15-dev, libg15render-dev (>= 1.2-3), libg15daemon-client-dev, automake, libtool, autoconf
Checksums-Sha1:
b53ea7414bd47b68a73aaa8f548d36f50b47aa09 25190 g15stats_1.9.2.orig.tar.gz
245c96ab8267a31c5e1ebebe91307e8ff99bb976 2316 g15stats_1.9.2-2.diff.gz
Checksums-Sha256:
9dda49a3f09e66ce738ceecb07f2c0fef7ecd5ecbd06e435b340dfca35a37da4 25190 g15stats_1.9.2.orig.tar.gz
ce724380069ee62563f2898b1bbd0afb80bb632cb6dbf3d1747871f7cdfefbb3 2316 g15stats_1.9.2-2.diff.gz
Files:
beb285f739127e91b97af465e6b53c4a 25190 g15stats_1.9.2.orig.tar.gz
bec0a80e18f8905d4d70a1c9fc575043 2316 g15stats_1.9.2-2.diff.gz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEARECAAYFAk1/EkEACgkQ+ZNUJLHfmlclzQCeMMSD3P7ix2G7M8JJnlfTbqBS
4U4AnjhLSSPFun2rWQirQ5w9D7ubM3gC
=ounU
-----END PGP SIGNATURE-----
Vendored Executable
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@
override_dh_auto_install:
dh_auto_install --destdir=debian/tmp
+1
View File
@@ -0,0 +1 @@
3.0 (quilt)
+1
View File
@@ -0,0 +1 @@
debian/provenance/g15stats_1.9.2-2.diff.gz
+3
View File
@@ -0,0 +1,3 @@
Tests: help
Depends: @
Restrictions: superficial
Vendored Executable
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
set -eu
# Help returns before daemon connection, sensor polling or keyboard threads.
# Run only in an isolated testbed without USB device passthrough.
work=$(mktemp -d)
trap 'rm -rf "$work"' EXIT HUP INT TERM
timeout 5 g15stats --help > "$work/long"
timeout 5 g15stats -h > "$work/short"
cmp "$work/long" "$work/short"
grep -F 'g15stats 3.0.3+git20240609.95de11a' "$work/long"
grep -F -- '--interface' "$work/long"
grep -F -- '--refresh' "$work/long"
+5
View File
@@ -0,0 +1,5 @@
version=4
# Local post-3.0.3 snapshot: see PROVENANCE; no upstream signatures available.
opts="mode=git, pgpmode=none, dversionmangle=s/\+git.*//" \
https://gitlab.com/menelkir/g15stats.git refs/tags/@ANY_VERSION@