Integrate G15 submodules with Debian 13 packaging and devcontainer
This commit is contained in:
commit
795db7924b
28 files changed
+714
No files matched your search
@@ -0,0 +1,25 @@
|
||||
# Local build overlay v1 (2026-09-07)
|
||||
|
||||
Applied only to temporary git archives. Original submodules are never patched.
|
||||
All upstream Debian quilt series, including the daemon client buffer-overflow
|
||||
fix and libg15 libusb-1.0 conversion, remain intact. Orig tarballs contain the
|
||||
unpatched committed source; local upstream changes are additional quilt patches.
|
||||
Debian metadata changes are carried in each emitted Debian tarball.
|
||||
|
||||
The daemon overlay backports the Debian 1.9.5.3-14.1 t64 control fields and
|
||||
file renames; the builder compares control and the SONAME override against the
|
||||
authenticated trixie source archive. G110 hotplug activation is added separately.
|
||||
|
||||
Macro: replace historical compat-5 CDBS with debhelper 13, remove obsolete
|
||||
configure switches, obsolete watch file and redundant install manifest. Keep
|
||||
copyright, historical provenance, manual and changelog. Autoreconf regenerates
|
||||
the stale generated build system. The build patch removes an invalid bare -I
|
||||
and makes map_gkey's historical implicit int parameter explicit (GCC 14).
|
||||
Package upstream version is 1.0.5, matching configure.ac, not historical 1.0.3.
|
||||
|
||||
This is build compatibility, NOT a macro-engine security repair. Preexisting
|
||||
unchecked configuration indices, string copies, recording bounds and incorrect
|
||||
memory initialization remain. Do not run macro as root or consume untrusted
|
||||
configuration. Hardware, X11 playback and booted systemd require separate tests.
|
||||
The imported historical macro archive signature was not verified; its existing
|
||||
debian/README.source preserves that limitation. No security certification is made.
|
||||
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Called with cwd in a disposable git archive, NEVER a submodule.
|
||||
set -euo pipefail
|
||||
source=${1:?source} root=${2:?repository}
|
||||
[[ ! -e .git && -f debian/control ]] || exit 1
|
||||
case $source in
|
||||
libg15|libg15render) ;;
|
||||
g15daemon)
|
||||
# shellcheck disable=SC2016 # Debian substvars must remain literal.
|
||||
sed -i 's/^Build-Depends:$/Build-Depends: dpkg-dev (>= 1.22.5),/; s/libg15daemon-client1/libg15daemon-client1t64/g; /Package: libg15daemon-client1t64/a Provides: ${t64:Provides}\nReplaces: libg15daemon-client1\nBreaks: libg15daemon-client1 (<< ${source:Version})' debian/control
|
||||
mv debian/libg15daemon-client1.install debian/libg15daemon-client1t64.install
|
||||
mv debian/libg15daemon-client1.manpages debian/libg15daemon-client1t64.manpages
|
||||
printf '%s\n' 'libg15daemon-client1t64: package-name-doesnt-match-sonames libg15daemon-client1' > debian/libg15daemon-client1t64.lintian-overrides
|
||||
cat "$root/packaging/g110.udev" >> debian/g15daemon.udev
|
||||
;;
|
||||
g15macro)
|
||||
cp "$root/packaging/overlays/v1/g15macro.control" debian/control
|
||||
cp "$root/packaging/overlays/v1/g15macro.rules" debian/rules
|
||||
chmod +x debian/rules
|
||||
rm debian/compat debian/g15macro.install debian/watch
|
||||
mkdir -p debian/source debian/patches
|
||||
printf '3.0 (quilt)\n' > debian/source/format
|
||||
cp "$root/packaging/overlays/v1/g15macro-build.patch" debian/patches/local-build.patch
|
||||
printf 'local-build.patch\n' > debian/patches/series
|
||||
;;
|
||||
*) exit 1 ;;
|
||||
esac
|
||||
@@ -0,0 +1,19 @@
|
||||
Description: Fix legacy build include switch and implicit-int declaration
|
||||
Author: G15 packaging contributors
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2026-09-07
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -11,7 +11,6 @@
|
||||
image_DATA = ${top_builddir}/g15macro.wbmp
|
||||
|
||||
LIBS = -Wl,--no-add-needed -lg15daemon_client -lg15render -lX11 -lXtst -lpthread
|
||||
-IMCLUDES = -I
|
||||
g15macro_SOURCES = g15macro.c
|
||||
|
||||
|
||||
--- a/g15macro.c
|
||||
+++ b/g15macro.c
|
||||
@@ -191,1 +191,1 @@
|
||||
-int map_gkey(keystate){
|
||||
+int map_gkey(int keystate){
|
||||
@@ -0,0 +1,15 @@
|
||||
Source: g15macro
|
||||
Section: utils
|
||||
Priority: optional
|
||||
Maintainer: G15 packaging contributors <noreply@example.invalid>
|
||||
Build-Depends: debhelper-compat (= 13), libxtst-dev, libg15-dev, libg15render-dev, libg15daemon-client-dev
|
||||
Standards-Version: 4.7.0
|
||||
Homepage: https://sourceforge.net/projects/g15tools/
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: g15macro
|
||||
Architecture: any
|
||||
Depends: g15daemon, ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: Macro recording/playback application for G15Daemon
|
||||
G15macro records and plays back keyboard macros using the M and G keys
|
||||
on Logitech G15 keyboards in an X11 session.
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||
|
||||
%:
|
||||
dh $@
|
||||
Reference in new issue
Block a user