Skip to content

Packaging/bundling fix - #36

Merged
vhrabar merged 10 commits into
mainfrom
packaging/bundling-fix
Aug 18, 2026
Merged

vhrabar merged 10 commits into
mainfrom
packaging/bundling-fix

Conversation

@vhrabar

@vhrabar vhrabar commented Aug 18, 2026

Copy link
Copy Markdown
Owner

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-eye package, 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:

  • Consolidated the previously separate libpam-secureeye, secureeye-authd, and transitional secure-eye packages into a single secure-eye package 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]
  • Removed vendored Python wheels and the requirements-vendor.txt file; 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:

  • Updated the README.md to 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:

  • Removed the GitHub Actions workflows for building and releasing Debian and RPM packages (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]
  • Updated the .copr/Makefile and scripts/build-rpm.sh to match the new package naming and dependency strategy, including changes to versioning and source file handling. [1] [2] [3]

… 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>
@vhrabar
vhrabar requested a lite review from Copilot August 18, 2026 14:01
@vhrabar vhrabar self-assigned this Aug 18, 2026
@vhrabar vhrabar added the build label Aug 18, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in SecureEye Aug 18, 2026
@vhrabar vhrabar added this to the Phase IV: Initial GUI milestone Aug 18, 2026
@vhrabar vhrabar moved this from Backlog to In review in SecureEye Aug 18, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-authd and the secureEye CLI on the system Python interpreter (python_path) instead of an install-time-built venv.
  • Consolidate split packages into a single secure-eye package across Debian/RPM/Arch, including sysusers + dependency changes for mediapipe/dlib backends.
  • Replace multiple packaging workflows with a unified .github/workflows/release.yml that 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.

Comment thread secureEye/rpm/secure-eye.spec
Comment thread secureEye/debian/control
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>
@vhrabar
vhrabar merged commit 7a1afd7 into main Aug 18, 2026
5 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in SecureEye Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants