# XLibre Updater Design ## Goal Add a repository-managed workflow for updating and building the Stormux XLibre package set in the correct dependency order, while keeping `xlibre-video-dummy-with-vt` manually maintained and reviewed against upstream `xlibre-video-dummy`. ## Scope This design covers: - correcting the package build order in `scripts/upgrade-xlibre.sh` - reviewing and updating `scripts/xlibre-video-dummy-with-vt/PKGBUILD` - regenerating `.SRCINFO` after PKGBUILD changes This design does not automate AUR publication or rewrite the downstream package from upstream sources. ## Current State The updater script currently builds packages in an order that does not match the XLibre dependency chain. `xlibre-video-dummy-with-vt` is also version-skewed relative to the current AUR `xlibre-video-dummy` package and needs a manual rebase of relevant packaging changes. ## Dependency Order The package build order will be: 1. `xlibre-xserver-common` 2. `xlibre-xserver-devel` 3. `xlibre-input-libinput` 4. `xlibre-xserver` 5. `xlibre-video-fbdev` 6. `xlibre-video-dummy-with-vt` This order reflects current AUR dependencies: `xlibre-xserver` requires `xlibre-xserver-common` and `xlibre-input-libinput`, while the input and video driver packages require `xlibre-xserver-devel` to build. ## Downstream Package Policy `xlibre-video-dummy-with-vt` remains a separate, manually maintained package because it has a different maintainer and should not be auto-derived from the upstream AUR package. The maintenance rule is: - treat AUR `xlibre-video-dummy` as the packaging baseline - manually port relevant upstream PKGBUILD changes into `xlibre-video-dummy-with-vt` - keep only the intentional downstream delta needed for VT behavior ## Implementation Shape `scripts/upgrade-xlibre.sh` will continue cloning packages from AUR and building them locally, but with the corrected order. `scripts/xlibre-video-dummy-with-vt/PKGBUILD` will be updated to match the current upstream package structure where appropriate: - current version and release - current `depends` and `makedepends` - current build flags and source layout - regenerated checksums The VT-specific patch remains the only behavioral divergence. ## Error Handling The script should fail fast on clone or build errors and stop rather than continuing with a broken package chain. Because package order is intentional, partial success should be considered incomplete. ## Verification Verification will be task-focused: - confirm the updater script contains the corrected package order - compare the downstream PKGBUILD against current upstream `xlibre-video-dummy` - regenerate and verify `.SRCINFO` - run `shellcheck` on the updater script - run `makepkg --printsrcinfo` in the downstream package directory