Private
Public Access
1
0

Compare commits

...

3 Commits

Author SHA1 Message Date
5dc03b7eda feat: add Pacman backend for Arch Linux, fix Arch CI stale packages
All checks were successful
CI/CD Pipeline / Code Format (push) Successful in 1s
CI/CD Pipeline / Clippy Lints (push) Successful in 44s
CI/CD Pipeline / All Unit Tests (push) Successful in 1m13s
CI/CD Pipeline / Security Audit (push) Successful in 5s
CI/CD Pipeline / Enrollment Tests (push) Successful in 1m52s
CI/CD Pipeline / Verify Enrollment CLI Flag (push) Successful in 1m30s
CI/CD Pipeline / Build RPM Package (push) Successful in 2m26s
CI/CD Pipeline / Build Debian Package (Ubuntu 22.04) (push) Successful in 2m35s
CI/CD Pipeline / Build Arch Package (push) Successful in 2m43s
CI/CD Pipeline / Build Alpine Package (push) Successful in 3m34s
CI/CD Pipeline / Build Debian Package (push) Successful in 2m8s
2026-05-20 22:24:06 +00:00
3eca9a3353 style: fix rustfmt formatting for DNF/YUM backend
All checks were successful
CI/CD Pipeline / Code Format (push) Successful in 1s
CI/CD Pipeline / Clippy Lints (push) Successful in 44s
CI/CD Pipeline / All Unit Tests (push) Successful in 1m14s
CI/CD Pipeline / Security Audit (push) Successful in 5s
CI/CD Pipeline / Enrollment Tests (push) Successful in 1m55s
CI/CD Pipeline / Verify Enrollment CLI Flag (push) Successful in 1m25s
CI/CD Pipeline / Build RPM Package (push) Successful in 2m24s
CI/CD Pipeline / Build Debian Package (Ubuntu 22.04) (push) Successful in 2m36s
CI/CD Pipeline / Build Arch Package (push) Successful in 2m48s
CI/CD Pipeline / Build Alpine Package (push) Successful in 3m38s
CI/CD Pipeline / Build Debian Package (push) Successful in 1m59s
2026-05-20 20:59:55 +00:00
67e397f018 feat: add DNF and YUM package manager backends for RPM-based systems
Some checks failed
CI/CD Pipeline / Code Format (push) Failing after 1s
CI/CD Pipeline / Clippy Lints (push) Successful in 43s
CI/CD Pipeline / Enrollment Tests (push) Has been skipped
CI/CD Pipeline / All Unit Tests (push) Successful in 1m13s
CI/CD Pipeline / Build Debian Package (push) Has been skipped
CI/CD Pipeline / Build Debian Package (Ubuntu 22.04) (push) Has been skipped
CI/CD Pipeline / Build RPM Package (push) Has been skipped
CI/CD Pipeline / Build Alpine Package (push) Has been skipped
CI/CD Pipeline / Build Arch Package (push) Has been skipped
CI/CD Pipeline / Security Audit (push) Successful in 5s
CI/CD Pipeline / Verify Enrollment CLI Flag (push) Successful in 57s
2026-05-20 20:54:38 +00:00
7 changed files with 1693 additions and 7 deletions

View File

@ -347,12 +347,28 @@ jobs:
- name: Install build dependencies
run: |
sudo pacman -Syu --noconfirm rust cargo systemd git base-devel gcc
- name: Clean previous build artifacts
run: |
cargo clean
rm -f releases/linux-patch-api-*.pkg.tar.zst
- name: Build release binary
run: cargo build --release
- name: Build Arch package
run: |
chmod +x build-arch.sh
SKIP_CARGO_BUILD=1 ./build-arch.sh
- name: Verify Arch package
run: |
FILE=$(ls releases/*.pkg.tar.zst 2>/dev/null | head -1)
if [ -z "$FILE" ]; then
echo "ERROR: No Arch package found!"
exit 1
fi
EXPECTED_VERSION=$(grep '^version' Cargo.toml | head -1 | sed 's/.*=.*"\([^"]*\)".*/\1/')
echo "Expected version: $EXPECTED_VERSION"
echo "Package file: $FILE"
# Verify the package contains the correct binary version
pacman -Qip "$FILE" 2>/dev/null | grep -i version || true
- name: Upload to Gitea Release
if: startsWith(github.ref, 'refs/tags/')
env:

2
Cargo.lock generated
View File

@ -1916,7 +1916,7 @@ dependencies = [
[[package]]
name = "linux-patch-api"
version = "1.1.13"
version = "1.1.16"
dependencies = [
"actix",
"actix-rt",

View File

@ -1,6 +1,6 @@
[package]
name = "linux-patch-api"
version = "1.1.14"
version = "1.1.16"
edition = "2021"
authors = ["Echo <echo@moon-dragon.us>"]
description = "Secure remote package management API for Linux systems"

View File

@ -14,6 +14,11 @@ if ! command -v makepkg &> /dev/null; then
exit 1
fi
# Clean stale packages from previous builds
rm -f releases/linux-patch-api-*.pkg.tar.zst 2>/dev/null || true
rm -f /home/builduser/repo/releases/linux-patch-api-*.pkg.tar.zst 2>/dev/null || true
rm -f /home/builduser/repo/*.pkg.tar.zst 2>/dev/null || true
# Build release binary
if [ -z "$SKIP_CARGO_BUILD" ]; then
echo "Building release binary..."

21
debian/changelog vendored
View File

@ -1,3 +1,24 @@
linux-patch-api (1.1.16) unstable; urgency=medium
* Add Pacman package manager backend for Arch Linux
* Fix: Pacman backend not yet implemented error on Arch systems
* Support pacman -Q for package listing, pacman -Qi for package details
* Support pacman -Qu for patch/update detection
* Fix Arch CI: add stale package cleanup and version verification
-- Echo <echo@moon-dragon.us> Tue, 20 May 2026 17:11:00 -0500
linux-patch-api (1.1.15) unstable; urgency=medium
* Add DNF package manager backend for Fedora/RHEL/CentOS 8+
* Add YUM package manager backend for RHEL/CentOS 7
* Fix: DNF backend not yet implemented error on Fedora systems
* Support rpm -qa for package listing, rpm -qi for package details
* Support dnf check-update (exit code 100) for patch detection
* Support yum check-update (exit code 100) for patch detection
-- Echo <echo@moon-dragon.us> Tue, 20 May 2026 15:41:00 -0500
linux-patch-api (1.1.14) unstable; urgency=medium
* Fix RPM packaging: pre-build binary before tarball (like Alpine/Arch pattern)

View File

@ -163,6 +163,21 @@ fi
# Changelog
%changelog
* Tue May 20 2026 Echo <echo@moon-dragon.us> - 1.1.16-1
- Add Pacman package manager backend for Arch Linux
- Fix: Pacman backend not yet implemented error on Arch systems
- Support pacman -Q for package listing, pacman -Qi for package details
- Support pacman -Qu for patch/update detection
- Fix Arch CI: add stale package cleanup and version verification
* Tue May 20 2026 Echo <echo@moon-dragon.us> - 1.1.15-1
- Add DNF package manager backend for Fedora/RHEL/CentOS 8+
- Add YUM package manager backend for RHEL/CentOS 7
- Fix: DNF backend not yet implemented error on Fedora systems
- Support rpm -qa for package listing, rpm -qi for package details
- Support dnf check-update (exit code 100) for patch detection
- Support yum check-update (exit code 100) for patch detection
* Tue May 20 2026 Echo <echo@moon-dragon.us> - 1.1.14-1
- Fix RPM packaging: pre-build binary before tarball (like Alpine/Arch pattern)
- Fix rpmbuild can't find cargo in PATH - binary now included in source tarball

File diff suppressed because it is too large Load Diff