From 7037da1d5847944ff8984c227bcee681fab1e8ff Mon Sep 17 00:00:00 2001 From: Sam Day Date: Wed, 26 Nov 2025 20:20:02 +1000 Subject: [PATCH 1/5] build: Bump nix to 0.30 Signed-off-by: Sam Day Assisted-by: gpt-5.1-codex --- Cargo.lock | 16 ++-------------- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6bdb66c1..4efca5e1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1050,18 +1050,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "nix" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags", - "cfg-if", - "cfg_aliases", - "libc", -] - [[package]] name = "nix" version = "0.30.1" @@ -1146,7 +1134,7 @@ dependencies = [ "libhandy", "libphosh", "log", - "nix 0.29.0", + "nix", "serde", "tempfile", "wayland-client", @@ -1919,7 +1907,7 @@ dependencies = [ "futures-core", "futures-lite", "hex", - "nix 0.30.1", + "nix", "ordered-stream", "serde", "serde_repr", diff --git a/Cargo.toml b/Cargo.toml index 007c3034..96e3e1e8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ libphosh = "0.0.7" clap = { version = "4.5.4", features = ["derive"] } wayland-client = "0.31" zbus = { version = "5", default-features = false, features = ["blocking", "async-io"] } -nix = { version = "0.29", features = ["signal"] } +nix = { version = "0.30", features = ["signal"] } async-global-executor = "3.0.0" futures-util = "0.3.30" log = "0.4.22" From 6b1ed3b657e8d9458b32587efa82a9ee10c9a582 Mon Sep 17 00:00:00 2001 From: Sam Day Date: Wed, 26 Nov 2025 20:21:18 +1000 Subject: [PATCH 2/5] debian: sync with salsa MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this all looks like very good stuff and it's nice to copy/paste from other humans rather than LLMs for once 😌 Signed-off-by: Sam Day Assisted-by: gpt-5.1-codex --- debian/control | 73 +++++++++++++++++++++---------------------- debian/phrog.postinst | 6 ++-- debian/phrog.postrm | 8 +++-- 3 files changed, 43 insertions(+), 44 deletions(-) diff --git a/debian/control b/debian/control index e9e7f024..2282f7a5 100644 --- a/debian/control +++ b/debian/control @@ -4,68 +4,65 @@ Priority: optional Maintainer: DebianOnMobile Maintainers Uploaders: Arnaud Ferraris Build-Depends: - cargo, debhelper-compat (= 13), - libphosh-0.45-dev | libphosh-dev, -# Dependencies cargo culted from phosh - gsettings-desktop-schemas-dev (>= 47), - libadwaita-1-dev, - libappstream-dev, - libcallaudio-dev, - libevince-dev, - libgirepository1.0-dev, - libjson-glib-dev, - libsecret-1-dev, - libsystemd-dev, - libfeedback-dev (>= 0.4.0), - libfribidi-dev, - libgcr-3-dev, - libgmobile-dev, - libgnome-bluetooth-3.0-dev, - libgnome-desktop-3-dev, - libgtk-3-dev, - libgtk-4-dev, - libgudev-1.0-dev, - libhandy-1-dev (>= 1.1.90), - libmm-glib-dev, - libnm-dev, - libpam0g-dev, - libpolkit-agent-1-dev, - libpulse-dev, - libsoup-3.0-dev, - libupower-glib-dev, - libwayland-dev, - libxml2-utils, - linux-libc-dev (>= 5.12) [arm64], + dh-cargo, + librust-anyhow-1-dev (>= 1.0.82~~), + librust-async-channel-2-dev (>= 2.2.1~~), + librust-async-global-executor-2-dev (>= 2.4.1~~), + librust-clap-4-dev (>= 4.5.4~~), + librust-futures-util-0.3-dev (>= 0.3.30~~), + librust-glib-0.18+log-macros-dev, + librust-glib-build-tools-dev, + librust-glob-0.3-dev (>= 0.3.1~~), + librust-greetd-ipc-0.10+sync-codec-dev, + librust-gtk-0.18+v3-24-dev, + librust-libhandy-0.11+v1-6-dev, + librust-libphosh-0.0.7-dev, + librust-nix-0.30+signal-dev, + librust-wayland-client-0.31-dev, + librust-zbus-5+async-io-dev (>= 4.3.1~~), + librust-zbus-5+blocking-dev (>= 4.3.1~~), # Dependencies needed only for tests at-spi2-core , - dbus-x11 , + dbus-daemon , foot , gnome-settings-daemon , + gnome-shell-common , + librust-input-event-codes-6-dev (>= 6.2.0~~) , + librust-wayland-protocols-0.32+client-dev , + librust-wayland-protocols-misc-0.3+client-dev (>= 0.3.1~~) , + librust-wayland-protocols-wlr-0.3+client-dev , + librust-tempfile-3-dev , phoc , -# phosh is needed until the gschema is shipped with the lib package - phosh , + phosh-common , xauth , xvfb , -Standards-Version: 4.7.0 +Standards-Version: 4.7.2 Homepage: https://github.com/samcday/phrog/ Vcs-Browser: https://salsa.debian.org/DebianOnMobile-team/phrog Vcs-Git: https://salsa.debian.org/DebianOnMobile-team/phrog.git -Rules-Requires-Root: no Package: phrog Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, + accountsservice, + at-spi2-core, fonts-lato, + gnome-session-bin, + gnome-session-common, + gnome-settings-daemon, gnome-shell-common, greetd, librsvg2-common, phoc, - polkitd, + phosh-common, phosh-osk-stevia, + polkitd, Conflicts: phog +Provides: phog +Replaces: phog Description: Greetd-compatible greeter for mobile phones Phrog is a graphical greeter speaking the `greetd` protocol and aimed at mobile devices like smart phones and tablets using touch based inputs and small diff --git a/debian/phrog.postinst b/debian/phrog.postinst index 3970b0b2..6f74fd83 100644 --- a/debian/phrog.postinst +++ b/debian/phrog.postinst @@ -2,10 +2,10 @@ set -e -if [ "$1" = "configure" ]; then +if [ "$1" = "configure" ] && [ -d /run/systemd/system ]; then # Ensure our config fragments are taken into account - systemctl --system daemon-reload >/dev/null || true - systemctl --user daemon-reload >/dev/null || true + deb-systemd-invoke --system daemon-reload + deb-systemd-invoke --user daemon-reload fi #DEBHELPER# diff --git a/debian/phrog.postrm b/debian/phrog.postrm index fe887717..777ba975 100644 --- a/debian/phrog.postrm +++ b/debian/phrog.postrm @@ -3,9 +3,11 @@ set -e if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then - # Ensure our config fragments are no longer taken into account - deb-systemd-invoke --system daemon-reload - deb-systemd-invoke --user daemon-reload + if [ -d /run/systemd/system ]; then + # Ensure our config fragments are no longer taken into account + deb-systemd-invoke --system daemon-reload + deb-systemd-invoke --user daemon-reload + fi fi #DEBHELPER# From 5a66ee925ff9700d111637e2b3ac4b29236db29a Mon Sep 17 00:00:00 2001 From: Sam Day Date: Wed, 26 Nov 2025 22:11:04 +1000 Subject: [PATCH 3/5] debian: sync build-dep versions with Cargo.toml Signed-off-by: Sam Day Assisted-by: gpt-5.1-codex --- debian/control | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 2282f7a5..2eeed24b 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,8 @@ Build-Depends: dh-cargo, librust-anyhow-1-dev (>= 1.0.82~~), librust-async-channel-2-dev (>= 2.2.1~~), - librust-async-global-executor-2-dev (>= 2.4.1~~), + librust-async-global-executor-3-dev (>= 3.0.0~~), + librust-log-0.4-dev, librust-clap-4-dev (>= 4.5.4~~), librust-futures-util-0.3-dev (>= 0.3.30~~), librust-glib-0.18+log-macros-dev, @@ -32,6 +33,7 @@ Build-Depends: librust-wayland-protocols-0.32+client-dev , librust-wayland-protocols-misc-0.3+client-dev (>= 0.3.1~~) , librust-wayland-protocols-wlr-0.3+client-dev , + librust-serde-1-dev , librust-tempfile-3-dev , phoc , phosh-common , From 347da0e4e1e39d075db8dc708ff3bf17dd3745db Mon Sep 17 00:00:00 2001 From: Sam Day Date: Wed, 26 Nov 2025 22:32:33 +1000 Subject: [PATCH 4/5] ci: build experimental .debs Signed-off-by: Sam Day Assisted-by: gpt-5.1-codex --- .github/workflows/debian-experimental.yml | 62 ++++++++++++++++++++ .github/workflows/debian.yml | 71 ----------------------- 2 files changed, 62 insertions(+), 71 deletions(-) create mode 100644 .github/workflows/debian-experimental.yml delete mode 100644 .github/workflows/debian.yml diff --git a/.github/workflows/debian-experimental.yml b/.github/workflows/debian-experimental.yml new file mode 100644 index 00000000..76e0c3a4 --- /dev/null +++ b/.github/workflows/debian-experimental.yml @@ -0,0 +1,62 @@ +name: debian-experimental + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build experimental .debs (${{ matrix.arch }}) + runs-on: ${{ matrix.runner }} + container: debian:experimental + strategy: + matrix: + include: + - arch: amd64 + runner: ubuntu-24.04 + - arch: arm64 + runner: ubuntu-24.04-arm + env: + DEB_BUILD_OPTIONS: nocheck + DEB_BUILD_PROFILES: nocheck + steps: + - name: install deps + run: | + apt-get update + apt-get -y --no-install-recommends install \ + build-essential \ + ca-certificates \ + devscripts \ + dpkg-dev \ + eatmydata \ + equivs \ + fakeroot \ + git \ + git-buildpackage + + - uses: actions/checkout@v4 + + - name: Install build-deps + run: | + set -euo pipefail + eatmydata apt-get -y --no-install-recommends \ + build-dep . + + - name: Build packages + run: | + set -euxo pipefail + dpkg-buildpackage -us -uc -b + mkdir -p debs + mv ../*.deb ${GITHUB_WORKSPACE}/debs + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: debs-${{ matrix.arch }} + path: debs diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml deleted file mode 100644 index 65210654..00000000 --- a/.github/workflows/debian.yml +++ /dev/null @@ -1,71 +0,0 @@ -# Currently broken, no idea why. Fuckin' thing sucks! -# It dies immediately on running `dpkg-buildpackage`. Cargo complains it has -# no valid certs to talk to crates.io, or something. The kicker is it's running -# in a debian:trixie container and I don't see the same behaviour locally using -# the same image and running the same commands. So. - -name: debian - -on: - workflow_dispatch: {} - release: - types: [published] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -permissions: - contents: write - -jobs: - debian: - runs-on: ubuntu-24.04 - container: debian:trixie - steps: - - uses: actions/checkout@v4 - - name: setup Phosh nightly repo - run: | - cat </etc/apt/sources.list.d/phosh-nightly.sources - Types: deb - URIs: http://deb.phosh.mobi/nightly/ - Suites: trixie-nightly - Components: main - Signed-By: - -----BEGIN PGP PUBLIC KEY BLOCK----- - - mQINBGXoHOYBEAC/893ifemxPCa3l+46Vtpjiew4Eu+c3kXEj6sEOQZS8+ZvJ93O - So3cEe7tqPM8AjqPjO6GsBjqr86swk5bbZ70GIqo1H2p9JdBaiQWqTDXxXRDvel5 - 0SaxbUQvLm880pjS/gcsBezRv8vb9dxDsPMzap6GuJnF5QqagfOX8B1aQKCywJNo - QoFc3RL7c3j2hLRpI4kdfcjo2j3GtjKb+ojWja9dng/gsMlrHYEqS+aWg+eVFnLM - XkwJXS/4AQjooH9qC+swtVNYYzt7wQdCm1mNFfrXDHSLse0ugyESqZ8AN5d9bUlB - fAae7xv/lV3QfozSolFODvXlBjNaCDYb1r8Rag01eM83b1Wv/R23enFO18p/UW9k - +/wk+kOqUfEd+0NBkXdRQiCrvwxHs51IqMFH5aAhM9lHmaHYmdPjETdeYPeKlA22 - CYLCkApEazGNPZGt6Kv7XeBwiI+6DScbHxr+j9S/j9+7BuMs6MItE4J9EtavkFtr - aw/ijGsifCKJWpkD28uZ3h83qi8diUwRde0zrX4SJAUi/T2UXPywep1z6bQ70Vaf - YrciSOndw5zWiTYMUDl6q7iZR6vloiZMoGf7psLx1y0Vg4Sq8DPldXAMpaNPh8+Z - UhqD94pBGg+iVaYII8MeWHaqtHc0ewQAKAq121rulOuZgaRbl/5LuQp8rQARAQAB - tD1QaG9zaCBEZWJpYW4gUGFja2FnZXMgKEFyY2hpdmUgU2lnbmluZyBLZXkpIDxk - ZWJzQHBob3NoLm1vYmk+iQJUBBMBCgA+AhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4B - AheAFiEEeHJPmfZ/wlY1lpbHLf0ViOUfQ7IFAmXoV34FCQlmPBgACgkQLf0ViOUf - Q7JWNxAApMQeEKSto6LGZkdqoKXCZgaXg//2UeAnkhK9+Z1hZ2Do7RYhoOW994yi - FqtZ92WVMqzbK0EqfEnFX8yVzM1cXo3PgouCDCgTy060YmH0OV2XxThr8fJ4uZfW - vib9HE+W4o/dgoMSy3BlPtpB1y/gevgJGoHAtQbV6Ex4bRL89i8pOQJYPYRx5Xj0 - 4SADUWWjOnY9AZbykUlMuRFSOMBWITn8yqUCYPpw8bGbtFignfvK1iRcW5LIkrtY - XsOlQCK5+ttNAMUkCeI93LGYhSZUqbpt87tdkbCP5qfV7o7Vkv8iObKw8fxKh2o1 - oijY8S6ZqEl/CZjDtKcdvsQrEvY3Z1KX0xUNn01PFrHGzRiTn7eieXF4O3PCM2zJ - 1TGva0gliKUgdN4y8W6Ul1H74T3rhZWpNO10rotfnvyX6AP/bLlkdMdSpL85mcqt - PfSROQGcKOU6WmF1G2MvwzBY6sjP3IN95qqnaBKa1IJGBPFt5IsY8eoqdNuNkeRT - W3OFcBQas+1RQdDzOZ7svJIX9fNBubebtnB20mRYIwESkhQMO2VpjyrBPzUP+bum - kg/7Lx/Gr+OdH2SzNfeTr+28foyKExf2wdhbICErm+eRq1Bh4dFe6ljN/YBUVdEq - MHjCZ4GQaiw5Uq+5sQTUWYkFeb/j3NeRadmSTshinPgTISGNYBo= - =lIij - -----END PGP PUBLIC KEY BLOCK----- - EOF - DEBIAN_FRONTEND=noninteractive apt-get update - - name: apt-get build-dep - run: | - DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends -t trixie-nightly build-dep . - - name: build package - run: | - dpkg-buildpackage -uc -us -rfakeroot -B From 43f24e0d1277157f485fa8236fe4dcb1a35839ff Mon Sep 17 00:00:00 2001 From: Sam Day Date: Wed, 26 Nov 2025 23:07:54 +1000 Subject: [PATCH 5/5] debian: drop gbp.conf i cargo culted this from the people who know what they're doing with it. smoo doesn't have a gbp.conf at all and the basic gbp path works so let's see Signed-off-by: Sam Day Assisted-by: gpt-5.1-codex --- debian/gbp.conf | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 debian/gbp.conf diff --git a/debian/gbp.conf b/debian/gbp.conf deleted file mode 100644 index 99872145..00000000 --- a/debian/gbp.conf +++ /dev/null @@ -1,14 +0,0 @@ -[DEFAULT] -debian-branch = main -upstream-vcs-tag = %(version)s -pristine-tar = True - -[tag] -sign-tags = True - -[dch] -multimaint-merge = True -commit-msg = d/changelog: release version %(version)s - -[import-orig] -postimport = dch -v%(version)s New upstream version; git add debian/changelog; debcommit