Debian Package Tracker
Register | Log in
Subscribe

bucklespring

Nostalgia bucklespring keyboard sound - transitional package

Choose email to subscribe with

general
  • source: bucklespring (main)
  • version: 1.5.1+git.1.e41a021-2
  • maintainer: Barak A. Pearlmutter (DMD) (LowNMU)
  • arch: all any
  • std-ver: 4.7.4
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 1.4.0-2
  • oldstable: 1.4.0-2
  • stable: 1.4.0-3
  • testing: 1.5.1+git.1.e41a021-2
  • unstable: 1.5.1+git.1.e41a021-2
  • NEW/unstable: 2.0.0-1
versioned links
  • 1.4.0-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1.4.0-3: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1.5.1+git.1.e41a021-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • bucklespring (3 bugs: 0, 0, 3, 0)
  • bucklespring-data
  • bucklespring-libinput
  • bucklespring-x11
action needed
AppStream hints: 2 errors and 2 warnings for bucklespring-libinput,bucklespring-x11 high
AppStream found metadata issues for packages:
  • bucklespring-x11: 1 error and 1 warning
  • bucklespring-libinput: 1 error and 1 warning
You should get rid of them to provide more metadata about this software.
Created: 2026-10-07 Last update: 2026-10-07 08:00
3 bugs with a patch to review in the bug tracker normal
The bug tracker contains patches fixing 3 bugs to review: include them, or remove the patch tag.
Created: 2026-10-11 Last update: 2026-11-03 21:00
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 2.0.1-1, distribution unstable) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit 956a87604c635551ca55fa8ffcd1ce973178906f
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Mon Nov 2 08:34:41 2026 +0000

    dutch debconf translation (closes: #1152615)
    
    From Frans Spiesschaert

commit b8a261afcdc3624d36114aeecd217ddf412ecc82
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Fri Oct 30 00:25:07 2026 +0000

    address DFSG NEW queue review of 2.0.0-1
    
    debian/copyright: add stanzas for man/*, debian/po/*, and various
    clips/*/.
    
    Swizzle upstream pointers.
    
    Edit and update buckle-libinput and buckle-x11 README.Debian files.

commit 242ba269cc65e8defaa45dbf7ea65bdd67b24d91
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:47:14 2026 +0000

    swizzle debian/watch

commit 94d09d9e254de8b24c8994ba8128974a846444cd
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:41:06 2026 +0000

    update the packaging for 2.0.1
    
    The libinput flavour now asks logind which session it belongs to, so
    build-depend on libsystemd-dev; shlibdeps picks up libsystemd0 from
    there, which an elogind system has as well.
    
    README.Debian said the input group was the only option without
    systemd-logind or elogind, and for this flavour it no longer gets you
    anywhere: it stops when logind has no answer about its session, whatever
    the permissions on the devices say.  Say in the uaccess section why the
    program bothers with the session at all, a revoked ACL not reaching a
    program that already has the devices open, and replace the note about
    the per-device "Permission denied" message, which has not been printed
    without -v since 2.0.0.
    
    debian/copyright: a stanza for tests/, which came from David Csiki's
    fork along with the session handling it tests.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit 4635e988388fc7d3677139c4025fb415b5b98e79
Merge: 69f1a87 f12c259
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:37:46 2026 +0000

    Merge branch 'master' into debian/sid
    
    Upstream 2.0.1.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit f12c259dcf2aa26f68502478976426fef54201c1
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:28:59 2026 +0000

    2.0.1
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit bfa27f346cc68d0d4b8c9aedf1ac3b8b236d0d6e
Merge: de9d716 1078c54
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:30:15 2026 +0000

    Merge branch 'csdivad-master'
    
    Restrict the libinput flavour to the input devices of its own login
    session's seat, and to the times when that session is active, from David
    Csiki's fork.  A udev grant is looked at when a device is opened and not
    after, so a buckle-libinput started at the console went on reading the
    keyboard after the seat had passed to someone else; it now closes the
    devices while its session is inactive and drops what it had buffered
    along with any key it was repeating.  The seat is asked of logind rather
    than being hardcoded to seat0.
    
    Also from there: the X11 flavour asked XRecord for the event types from
    KeyPress to ButtonReleaseMask, a mask where a type was meant, which also
    took in MotionNotify, EnterNotify and LeaveNotify, so every pointer
    motion on the display was shipped through the RECORD connection to be
    thrown away; and a key held while the repeat rate went to zero kept
    repeating, the rate being looked at only when the key went down.
    
    The three audio commits on that branch are reverted on it rather than
    merged here: they are written against the alure and
    one-source-per-keycode main.c of e41a021, which this branch has left
    behind.  The revert messages say what became of each.
    
    The warning about no input device being opened is kept, and now asks for
    the session state first: with the session inactive every device is
    refused by design, which is the arrangement working rather than
    something to complain about.
    
    configure.ac gains libsystemd, Makefile.am a make check target, and the
    tests the fork wrote for the session handling come with it.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit 1078c54d4aac4d53f2f7636d1867dc453bb4a4e9
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:29:52 2026 +0000

    build: enable subdir-objects for the test in tests/
    
    The first source file outside the top directory draws a warning from
    automake and a paragraph of advice: the object is put in the top
    directory for now, a future major version will put it beside its source,
    and the option says which is meant.  -Wall is on, and a build of this
    should be quiet.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit a1ac63014647bcbf32eabb34b82be5b3308caabf
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:25:57 2026 +0000

    libinput: ask the login monitor, not the session file, per event
    
    sd_session_is_active() opens and parses the session's file under /run,
    and it was called once per keystroke, once per mouse click and once per
    key repeat.  The login monitor is already polled alongside it, becomes
    readable when anything about any session changes, and nothing else makes
    it so, which makes the poll alone enough to tell whether what the main
    loop last learned still holds: the file is then read once per change
    rather than once per event.  session_ready() becomes
    session_unchanged(), and neither it nor its callers need the session id.
    
    The main loop is where the answer is acted on, and it already reads the
    session only when the monitor has fired, so nothing moves there.
    
    Count the polls rather than the session reads in the test that an event
    making no sound is dropped without either, and silence the warning the
    stub for poll() draws: glibc declares it write_only in that argument, so
    reading the descriptor back looks to the compiler like reading
    uninitialized memory.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit bb9583af087d39be60bd3d008fe749e22a4dc9bf
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:24:05 2026 +0000

    libinput: fall back to the graphical session when ours has no seat
    
    A seated session is what the session restriction needs, that being where
    the input devices are, and the fallback to the owner's graphical session
    was reached only when there was no session of our own to find.  A
    session on no seat was accepted and then failed on the seat, so running
    buckle-libinput from an ssh login, where logind gives a session and no
    seat, stopped with "Failed to monitor login session: No data
    available" where before it had read seat0 and worked.  Ask for the
    graphical session in that case too.
    
    The units shipped here are user units, and a process of a systemd user
    instance is in no session at all, so they went down the fallback already
    and are unaffected.
    
    Say in the README and the manual page what the restriction actually
    does, and why a revoked ACL is not enough on its own, rather than
    leaving the reader to infer it from a list of behaviours.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit 60a5be3dacdea8be7c19214c7b863d5131935466
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:22:17 2026 +0000

    Revert "Preload audio buffers before capturing input"
    
    This reverts commit 6a57e0ae2255f78aae041100a539832ebb8e41a3.
    
    Prepared for a merge into barak/master, which loads clips through
    libsndfile rather than alure, keeps several recordings per key, and
    switches between clip sets while running, so there is no longer a flat
    array of buffers to fill at startup.
    
    Note that preloading would not have cured the crash it looks like it
    might: a source was still taken per keycode and kept, so the 256 OpenAL
    Soft allows ran out just the same.  Master plays through a pool of
    voices instead.
    
    tests/test-audio.c goes with it, having nothing left to test.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit ddb9165d8c8594f716f05e15408f820c9e1a857b
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:22:08 2026 +0000

    Revert "Apply playback volume through OpenAL listener gain"
    
    This reverts commit b508de959c09e7f38021b83e7befe5c4f8b4fc66.
    
    Prepared for a merge into barak/master, where the sources this walks are
    gone: clips are played through a pool of voices, each given its gain
    along with its buffer.  Setting the gain on the listener once is still
    the tidier answer, and is left for master to do in terms of its own
    code rather than carried in as a patch to code that is no longer there.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit 05c9d7813540bd4403b9f90defa75664ecc538ea
Author: Barak A. Pearlmutter <barak+git@pearlmutter.net>
Date:   Thu Oct 29 22:22:00 2026 +0000

    Revert "Skip audio work for muted key events"
    
    This reverts commit c3ecb01eb755266762e95ba5e16e91d1760c0ba8.
    
    Prepared for a merge into barak/master, where play() already wraps the
    whole of the binding and the playing in "if (!muted)".  The only
    difference left is that this returns before the clip is loaded, where
    master goes on filling its cache while muted, which is the behaviour to
    keep: the first key after unmuting then sounds like any other.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01Ga4Wwe789FVWUByYUqUkkh

commit c3ecb01eb755266762e95ba5e16e91d1760c0ba8
Author: David Csiki <csdivad@gmail.com>
Date:   Sun Oct 25 12:14:04 2026 +0100

    Skip audio work for muted key events

commit b508de959c09e7f38021b83e7befe5c4f8b4fc66
Author: David Csiki <csdivad@gmail.com>
Date:   Sun Oct 25 12:13:23 2026 +0100

    Apply playback volume through OpenAL listener gain

commit 61729f5f5d4e7ff707342c2021ca79b7b4d9ccea
Author: David Csiki <csdivad@gmail.com>
Date:   Sun Oct 25 12:12:56 2026 +0100

    Cancel active key repeats when repetition is disabled

commit 6a57e0ae2255f78aae041100a539832ebb8e41a3
Author: David Csiki <csdivad@gmail.com>
Date:   Sun Oct 25 12:12:38 2026 +0100

    Preload audio buffers before capturing input

commit 2e186fceaed1bd66fc4ede7fc8d39b0aae803f4b
Author: David Csiki <csdivad@gmail.com>
Date:   Sun Oct 25 12:11:32 2026 +0100

    Avoid session checks for irrelevant input events

commit c5dd2461c01d405e6851ba5fc17f30a370ab16dd
Author: David Csiki <csdivad@gmail.com>
Date:   Sun Oct 25 11:46:26 2026 +0100

    Restrict libinput events and repeats to the active login session
Created: 2026-09-05 Last update: 2026-11-02 10:34
debian/patches: 1 patch to forward upstream low

Among the 1 debian patch available in version 1.5.1+git.1.e41a021-2 of the package, we noticed the following issues:

  • 1 patch where the metadata indicates that the patch has not yet been forwarded upstream. You should either forward the patch upstream or update the metadata to document its real status.
Created: 2023-02-26 Last update: 2026-10-07 09:19
Issues found with some translations low

Automatic checks made by the Debian l10n team found some issues with the translations contained in this package. You should check the l10n status report for more information.

Issues can be things such as missing translations, problematic translated strings, outdated PO files, unknown languages, etc.

Created: 2026-09-21 Last update: 2026-09-21 15:32
news
[rss feed]
  • [2026-10-12] bucklespring 1.5.1+git.1.e41a021-2 MIGRATED to testing (Debian testing watch)
  • [2026-10-06] Accepted bucklespring 1.5.1+git.1.e41a021-2 (source) into unstable (Barak A. Pearlmutter)
  • [2026-10-06] Accepted bucklespring 1.5.1+git.1.e41a021-1 (source) into unstable (Barak A. Pearlmutter)
  • [2026-09-26] bucklespring 1.5.1-3 MIGRATED to testing (Debian testing watch)
  • [2026-09-20] Accepted bucklespring 1.5.1-3 (source) into unstable (Barak A. Pearlmutter)
  • [2026-09-11] bucklespring 1.5.1-2 MIGRATED to testing (Debian testing watch)
  • [2026-09-04] Accepted bucklespring 1.5.1-2 (source all amd64) into unstable (Debian FTP Masters) (signed by: Barak A. Pearlmutter)
  • [2025-12-09] bucklespring 1.5.1-1 MIGRATED to testing (Debian testing watch)
  • [2025-12-04] Accepted bucklespring 1.5.1-1 (source) into unstable (Andreas Tille)
  • [2025-05-12] bucklespring 1.4.0-3 MIGRATED to testing (Debian testing watch)
  • [2025-05-02] Accepted bucklespring 1.4.0-3 (source) into unstable (Chris Hofstaedtler) (signed by: Christian Hofstaedtler)
  • [2017-02-05] bucklespring 1.4.0-2 MIGRATED to testing (Debian testing watch)
  • [2017-01-25] Accepted bucklespring 1.4.0-2 (source) into unstable (Dominik George)
  • [2016-10-11] bucklespring 1.4.0-1 MIGRATED to testing (Debian testing watch)
  • [2016-10-05] Accepted bucklespring 1.4.0-1 (source) into unstable (Dominik George) (signed by: Adam Borowski)
  • [2016-10-01] Accepted bucklespring 1.3.6-1 (source all amd64) into unstable, unstable (Dominik George) (signed by: Adam Borowski)
bugs [bug history graph]
  • all: 3
  • RC: 0
  • I&N: 0
  • M&W: 3
  • F&P: 0
  • patch: 3
links
  • homepage
  • lintian
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • other distros
  • l10n (100, -)
  • debian patches
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 1.5.1-1
  • 3 bugs

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing