Packaging/bundling fix - #36
Merged
Merged
Conversation
… into single secure-eye package #21 Streamlined packaging by consolidating `libpam-secureeye` and `secureeye-authd` into a unified `secure-eye` package. Removed legacy vendoring of Python wheels in favor of native dependencies. Updated service and launcher scripts to adopt system Python interpreter. Adjusted Debian control and build rules accordingly. Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
… into single secure-eye package #21 Streamlined packaging by consolidating `libpam-secureeye` and `secureeye-authd` into a unified `secure-eye` package. Removed legacy vendoring of Python wheels in favor of native dependencies. Updated service and launcher scripts to adopt system Python interpreter. Adjusted rpm build pipeline Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
…d into single secure-eye package #21 Consolidated `libpam-secureeye` and `secureeye-authd` into a unified `secure-eye` package for Arch Linux. Updated AUR build, dependencies, and installation scripts to align with the changes. Adjusted README to reflect updated installation and configuration steps. Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
Replaced `publish-ppa.yml` with a unified `release.yml` workflow that integrates testing, building, and publishing for multiple package formats (DEB, RPM, Arch). Simplified version resolution logic and updated build steps across platforms. Updated Makefile to accommodate revised versioning. Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR restructures SecureEye’s Linux packaging/distribution to ship a single secure-eye package (Debian/Fedora/Arch), removes vendored Python wheels/virtualenv usage in favor of system-provided Python backend packages, and updates CI/release automation and documentation accordingly.
Changes:
- Run
secureeye-authdand thesecureEyeCLI on the system Python interpreter (python_path) instead of an install-time-built venv. - Consolidate split packages into a single
secure-eyepackage across Debian/RPM/Arch, including sysusers + dependency changes for mediapipe/dlib backends. - Replace multiple packaging workflows with a unified
.github/workflows/release.ymlthat tests, verifies packages, and optionally publishes.
Reviewed changes
Copilot reviewed 28 out of 31 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| secureEye/src/systemd/secureeye-authd.service.in | Switch daemon ExecStart to use configured system Python path. |
| secureEye/src/meson.build | Compute runtime_python and propagate it into unit + launcher templates. |
| secureEye/src/bin/secureEye.in | Simplify launcher to always exec configured Python path. |
| secureEye/rpm/secureeye-authd.sysusers | Remove old sysusers fragment for split authd package. |
| secureEye/rpm/secure-eye.sysusers | Add sysusers fragment for the unified package. |
| secureEye/rpm/secure-eye.spec | Merge split RPM packages into one; replace vendored wheels/venv with runtime deps; update sysusers/service handling. |
| secureEye/rpm/README.Fedora.md | Update Fedora docs for “no venv, system Python” and COPR backend deps. |
| secureEye/debian/secure-eye.sysusers | Add sysusers fragment for Debian unified package. |
| secureEye/debian/secure-eye.prerm | Add unified package prerm hook to refresh PAM config via pam-auth-update when present. |
| secureEye/debian/secure-eye.postinst | Add unified package postinst hook to refresh PAM config via pam-auth-update when present. |
| secureEye/debian/secure-eye.install | Update Debian install manifest for unified package and manpage/pam-config placement. |
| secureEye/debian/rules | Remove wheel/venv staging logic; enable dh_installsysusers; pass -Dpython_path. |
| secureEye/debian/prerm | Remove old split-package prerm logic. |
| secureEye/debian/postinst | Remove old split-package postinst logic. |
| secureEye/debian/not-installed | Stop excluding the manpage from Debian packages. |
| secureEye/debian/libpam-secureeye.install | Remove split PAM-module install manifest. |
| secureEye/debian/install | Remove legacy empty manifest used by prior split packaging. |
| secureEye/debian/control | Collapse split packages into secure-eye; switch to system backend deps and new Recommends/Suggests. |
| secureEye/archlinux/secureEye/secure-eye.install | Add non-x86_64 guidance about mediapipe availability and backend selection. |
| secureEye/archlinux/secureEye/PKGBUILD | Convert Arch packaging to a single secure-eye package; adjust deps/provides/conflicts/sysusers install. |
| secureEye/archlinux/secureEye/.SRCINFO | Sync Arch metadata with unified PKGBUILD and new install script. |
| scripts/publish-ppa.sh | Remove Python wheel vendoring step from PPA publishing flow. |
| scripts/build-rpm.sh | Update SRPM inputs to use the new sysusers fragment filename. |
| requirements-vendor.txt | Remove vendored-wheel requirements list (no longer bundled). |
| README.md | Update install instructions and packaging explanation for single-package, system-backend approach across distros. |
| .gitignore | Ignore JetBrains .idea/ and local archbuild/ release build dir. |
| .github/workflows/release.yml | Add unified release workflow: tests, package verification (deb/rpm/arch), and optional publishing. |
| .github/workflows/release-rpms.yml | Remove old RPM-only release workflow (superseded by unified workflow). |
| .github/workflows/release-debs.yml | Remove old DEB-only release workflow (superseded by unified workflow). |
| .github/workflows/publish-ppa.yml | Remove old publish-ppa workflow (superseded by unified workflow). |
| .copr/Makefile | Adjust COPR SRPM generation to new sysusers fragment name and version resolution. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Adjusted the AUR Git push command to use `HEAD:master`. Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
… DEB, RPM, and Arch Linux packages Revised instructions for service management, backend switching, and contribution setup. Added clarification on systemd presets and updated command references for improved usability. Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
…r DEB/RPM builds #21 Added `CHANGELOG.md` following Keep-a-Changelog format. Enhanced `publish-ppa.sh` to update `debian/changelog` for native builds. Modified `build-rpm.sh` to auto-commit version changes and integrate dynamic changelog updates. Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
…and release workflows #21 Implemented `set-package-version.sh` to standardize version bumping and changelog rendering for DEB, RPM, and Arch packages. Refactored CI workflows to rely on consistent changelog management and packaging automation across release pipelines. Added `changelog-section.sh` for extracting release notes and introduced `release-prep.yml` for streamlined release preparation. Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
…ation Updated `check.yml` workflow to trigger on `main` and `dev` branches for both push and pull request events. Improved dependency installation script by adding `--no-install-recommends` and adjusting required packages for leaner and more efficient builds. Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
…thon interpreter improvements, and workflow automation Signed-off-by: Vedran Hrabar <vedran.hrabar@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request makes significant changes to the packaging and distribution process for SecureEye, focusing on simplifying the package structure, removing vendored Python dependencies, and updating documentation and build scripts to reflect these changes. The most important updates are the consolidation of previously split packages into a single
secure-eyepackage, the removal of vendored Python wheels in favor of system packages, and updates to the build and release workflows to match the new packaging approach.Packaging simplification and dependency management:
libpam-secureeye,secureeye-authd, and transitionalsecure-eyepackages into a singlesecure-eyepackage across Debian, Fedora, and Arch Linux. This new package contains the PAM module, daemon, Python runtime, and CLI, and obsoletes the previous split packages. [1] [2]requirements-vendor.txtfile; Python recognition backends (python3-mediapipe,python3-dlib) are now runtime dependencies resolved from system repositories (PPA/COPR/AUR) rather than bundled in a virtualenv. [1] [2]Documentation updates:
README.mdto reflect the new single-package structure, clarify installation instructions for all supported distributions, and explain the new approach to Python backend dependencies. This includes changes to the installation commands and additional notes for architecture-specific backends. [1] [2] [3] [4] [5] [6]Build and release workflow changes:
release-debs.yml,release-rpms.yml) and for publishing to the Launchpad PPA (publish-ppa.yml), indicating a shift in how releases are managed. [1] [2] [3].copr/Makefileandscripts/build-rpm.shto match the new package naming and dependency strategy, including changes to versioning and source file handling. [1] [2] [3]