Brltty contains old ubuntu specific patches to deploy a brltty-setup tool and initramfs scripts and hooks to use it. I've decided to drop these in merge https://code.launchpad.net/~peb/ubuntu/+source/brltty/+git/brltty/+merge/508923 .
# brltty Ubuntu delta - why the dropped features were removed Context: cleanup of the Ubuntu-specific delta on top of Debian `brltty` 6.7-1 (`pkg/import/6.7-1`). The goal was to split the delta into logical commits and drop code that no longer works or is no longer useful on modern Ubuntu. Two platform facts drive most of the reasoning below: - **Ubuntu installs via Subiquity**, not the classic Debian Installer (`d-i`) anymore. The udeb / `finish-install.d` / `in-target` install-time flow these features targeted is effectively dead for Ubuntu. - **Modern initramfs uses `/run/initramfs`**, not the historical `/dev/.initramfs`. The latter path exists nowhere on current systems. --- ## 1. `brltty-setup` (`/sbin/brltty-setup`) Ubuntu-only interactive Braille configuration helper (single local commit, references `access.ubuntu.com/braille`). **Why it should not work anymore** - It invoked `/lib/brltty/brltty.sh -b … -d …` (three call sites) as its backend. - That helper is shipped **only by the `brltty-udeb`** (installer) package: `debian/rules` copies it into the udeb with `cp debian/brltty-udeb.sh …/lib/brltty/brltty.sh`. The **main `brltty` package never ships `/lib/brltty/brltty.sh`.** - So on any normally installed system, every `brltty-setup` run called a non-existent script and could not function. **Why it wasn't useful** - Its only in-tree caller was the init-top prompt (also dropped). - The install-time configuration path it was written for is superseded by Subiquity. --- ## 2. Interactive initramfs Braille setup Files: `debian/initramfs/scripts/init-top/brltty` and `debian/initramfs/brltty.sh`. **Why it doesn't work** - `brltty.sh` wrote its output to **`/dev/.initramfs/brltty.conf`**, a path whose parent directory does not exist on modern systems (they use `/run/initramfs`). The write went nowhere. - **Nothing ever read that file.** No consumer anywhere in the boot path. - `init-top/brltty` prompted interactively and then called `brltty-setup`, which was itself broken (see §1). - It ran in the `init-top` phase, **before udev**, so Braille transport modules were generally not yet loaded. This was fragile, even had the rest worked. **Why it wasn't useful** - Interactive early-boot Braille configuration is obsolete under Subiquity. - Real early-boot Braille output is already provided by Debian's own `init-premount` script (see §4), so this layer added nothing that worked. --- ## 3. Ubuntu modifications to Debian's initramfs scripts Ubuntu had modified `debian/initramfs/hooks/brltty.in` and `debian/initramfs/scripts/init-premount/brltty` (an `OPTION=FRAMEBUFFER` line and an `else` branch that shipped `brltty.sh` + `brltty-setup` into the initramfs). **Why it was removed** - Those modifications existed **only to support the interactive initramfs feature**. Now that it's gone, they become dead code. - Reverting them restores the two files to **byte-identical Debian 6.7-1** (verified with `git diff pkg/import/6.7-1 HEAD`), so Ubuntu now carries **zero delta** on these files and simply inherits Debian's maintained behaviour. This situation transitively applies on 6.9.1+repack-1 which is the newer version we merge. --- ## 4. What was kept, and why it's the correct baseline - **Debian's initramfs integration**. `init-premount/brltty` reads `/etc/brltty.conf` and starts the real `brltty` daemon early (e.g. for disk-unlock prompts). This is Debian code, shipped in `pkg/import/6.9.1+repack-1`, and works; Ubuntu should not fork it. - **udev activation** (`brltty-udev.service`, `brltty.dirs`, `brltty.udev.rules.patch`, `clean`, `rules`) and **disabling `brltty.service` by default** remain as legitimate Ubuntu delta. --- ## Verification evidence - `git diff pkg/import/6.9.1+repack-1 HEAD -- debian/initramfs/...` → **empty**: the remaining initramfs scripts are pristine Debian. - `git diff --diff-filter=D --name-only pkg/import/6.9.1+repack-1 HEAD` → **empty**: no Debian-provided file was removed by the Ubuntu branch. - `brltty-setup`, `initramfs/brltty.sh`, and `init-top/brltty` **do not exist in Debian 6.9.1+repack-1**. As they were Ubuntu-only additions, dropping them creates no divergence from Debian. --- ## Side note: the "enable at install time" claim The Ubuntu changelog implied `brltty.service` would be *enabled* when Braille is configured at install time for a non-USB display. In practice only `dh_installsystemd --no-enable` (the *disable* half) remains, the previous non-USB tricks seem to have been dropped with 31brltty file (see changelog mentions) so this feature mention is moot in the changelog -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2153289 Title: Merge brltty from Debian for stonking cycle To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/brltty/+bug/2153289/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
