Archive the add-cups-printserver-container change

Moves the completed change to openspec/changes/archive/2026-10-18-add-cups-printserver-container/ and syncs the printserver/cups capability into openspec/specs/.
This commit is contained in:
juergen committed 2026-10-18 16:54:54 +02:00
1 parent 30c685e085
commit adaa11e416
6 files changed
+123

No files matched your search

@@ -0,0 +1,33 @@
# Tasks
## 1. Repository initialization
- [x] 1.1 Initialize jujutsu repository with `jj git init` in repo root and verify `.jj` directory exists
## 2. BR-Script3 PostScript PPD asset
- [x] 2.1 Extract Brother's official HL-4150CDN BR-Script3 PPD (`eng/BR4150_2.PPD`) from the vendor Windows driver archive and commit it under `assets/Brother HL-4150CDN/ppd/BR4150_2.PPD`
- [x] 2.2 Document the provenance and the option→`setpagedevice` mapping in `assets/Brother HL-4150CDN/ppd/README.md`
## 3. Container build
- [x] 3.1 Create Containerfile based on Debian stable with CUPS, cups-filters, Avahi, D-Bus, Ghostscript and Poppler (no i386 multiarch)
- [x] 3.2 Install the BR-Script3 PPD into the CUPS model directory in the Containerfile
- [x] 3.3 Remove the Brother vendor `.deb` installation, i386 multiarch and the 32-bit loader setup from the Containerfile
- [x] 3.4 Keep cupsd.conf (listen on all interfaces, share printers, DNS-SD) and the required runtime directories
- [x] 3.5 Set up the startup script to run dbus, avahi-daemon and cupsd, and create the queue
- [x] 3.6 Expose ports 631/tcp and 5353/udp in the Containerfile
## 4. Printer configuration
- [x] 4.1 Create the queue with the BR-Script3 PPD and a raw AppSocket URI by default (`socket://<ip>:9100`)
- [x] 4.2 Keep environment-based configuration (`PRINTER_IP`, `PRINTER_PROTOCOL`, `PRINTER_URI`, `PRINTER_NAME`, `PRINTER_DESCRIPTION`, `PPD_FILE`)
- [x] 4.3 Share the queue and set it as default; verify AirPrint capabilities (URF, sides, colour)
## 5. Documentation and testing
- [x] 5.1 Update README for the PostScript/BR-Script3 approach and the client matrix (macOS, iOS/iPadOS, Linux, Windows)
- [x] 5.2 Build the image with podman and verify it builds
- [x] 5.3 Run the container and verify CUPS is reachable and the queue is shared/discoverable
- [x] 5.4 Submit a job (colour + duplex) and verify it prints correctly
- [x] 5.5 Verify `PRINTER_IP`/`PRINTER_PROTOCOL`/`PRINTER_NAME` derive the expected queue URI and advertised name
## 6. Cleanup
- [x] 6.1 Add `.gitignore` for macOS metadata and stop tracking existing `.DS_Store` files
- [x] 6.2 Remove the unused Brother Linux vendor packages (`lpr-driver/`, `cupswrapper/`, `installer/`) from the repository
- [x] 6.3 Prune the obsolete `printserver:amd64` image, the test containers and scratch files