build(linux): fix deb packaging to build from repo root, add console script; bump v0.1.2
This commit is contained in:
@@ -136,9 +136,12 @@ jobs:
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -y -qq build-essential debhelper dh-python python3-all python3-hatchling
|
||||
cd linux && dpkg-buildpackage -us -uc -b && cd ..
|
||||
rm -rf debian
|
||||
cp -r linux/debian debian
|
||||
dpkg-buildpackage -us -uc -b
|
||||
rm -rf debian
|
||||
mkdir -p dist-deb
|
||||
mv ./*.deb dist-deb/
|
||||
mv ../*.deb dist-deb/
|
||||
|
||||
- name: Build wheel
|
||||
run: uv build --wheel --out-dir dist
|
||||
|
||||
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/).
|
||||
|
||||
## [0.1.2] - 2026-09-12
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Packaging**: Debian `.deb` now builds from the repository root, so `src/sshctl` and `tests/` resolve correctly and `dist-deb/*.deb` is produced
|
||||
- **Dependencies**: `click` declared explicitly (typer >= 0.26 vendors it), fixing `sshctl` runtime/typing
|
||||
|
||||
### Changed
|
||||
|
||||
- **CI**: Gitea Actions test job cut from ~15 min to ~1m20s via a persistent host toolcache for `uv` and Python 3.13; uv download cache persisted
|
||||
- Version bumped to 0.1.2
|
||||
|
||||
## [0.1.1] - 2026-09-12
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -37,9 +37,12 @@ build-wheel:
|
||||
python -m build --wheel
|
||||
|
||||
build-deb: build-wheel
|
||||
cd linux && dpkg-buildpackage -us -uc -b
|
||||
rm -rf debian
|
||||
cp -r linux/debian debian
|
||||
dpkg-buildpackage -us -uc -b
|
||||
rm -rf debian
|
||||
mkdir -p dist-deb
|
||||
mv ./*.deb dist-deb/ 2>/dev/null || true
|
||||
mv ../*.deb dist-deb/ 2>/dev/null || true
|
||||
|
||||
build-all: clean check build-wheel build-deb
|
||||
|
||||
|
||||
@@ -28,15 +28,15 @@ SSH configuration management toolkit — parse, validate, generate, and manage S
|
||||
```bash
|
||||
pip install sshctl # once published to PyPI
|
||||
# or install the built wheel directly from a release
|
||||
pip install ./sshctl-0.1.1-py3-none-any.whl
|
||||
pip install ./sshctl-0.1.2-py3-none-any.whl
|
||||
```
|
||||
|
||||
### dpkg (Debian/Ubuntu)
|
||||
|
||||
```bash
|
||||
# Download from latest release
|
||||
wget https://src.panahifar.ir/ahp/sshctl/releases/download/v0.1.1/sshctl_0.1.1-1_all.deb
|
||||
sudo dpkg -i sshctl_0.1.1-1_all.deb
|
||||
wget https://src.panahifar.ir/ahp/sshctl/releases/download/v0.1.2/sshctl_0.1.2-1_all.deb
|
||||
sudo dpkg -i sshctl_0.1.2-1_all.deb
|
||||
```
|
||||
|
||||
### From source
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
# Maintainer: Amir Husayn Panahifar <ahp@panahifar.ir>
|
||||
|
||||
pkgname=sshctl
|
||||
pkgver=0.1.1
|
||||
pkgver=0.1.2
|
||||
pkgrel=1
|
||||
pkgdesc="SSH configuration management toolkit"
|
||||
arch=('any')
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
sshctl (0.1.2-1) unstable; urgency=medium
|
||||
|
||||
* Debian packaging fixed to build from the repository root.
|
||||
* wheel and deb artifacts now share the root build outputs (dist/, dist-deb/).
|
||||
* click declared as an explicit dependency (typer >= 0.26 vendors it).
|
||||
* uv and Python 3.13 CI toolchains resolved from a persistent host toolcache.
|
||||
|
||||
-- Amir Husayn Panahifar <ahp@panahifar.ir> Sat, 12 Sep 2026 01:00:00 +0330
|
||||
|
||||
sshctl (0.1.1-1) unstable; urgency=medium
|
||||
|
||||
* Bug-fix release: parser, configops, jump, CLI type hardening.
|
||||
|
||||
+19
-3
@@ -4,9 +4,25 @@
|
||||
dh $@ --with python3
|
||||
|
||||
override_dh_auto_clean:
|
||||
dh_auto_clean
|
||||
find . -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
|
||||
rm -rf dist/ dist-deb/
|
||||
|
||||
override_dh_auto_build:
|
||||
@true
|
||||
|
||||
override_dh_auto_install:
|
||||
@true
|
||||
|
||||
override_dh_auto_test:
|
||||
python3 -m pytest tests/ --ignore=tests/__pycache__ -q || true
|
||||
python3 -m pytest --help >/dev/null 2>&1 && python3 -m pytest -q || true
|
||||
|
||||
override_dh_install:
|
||||
dh_install
|
||||
mkdir -p debian/sshctl/usr/bin
|
||||
printf '%s\n' \
|
||||
'#!/usr/bin/python3' \
|
||||
'import sys' \
|
||||
'from sshctl.cli.app import serve' \
|
||||
'if __name__ == "__main__":' \
|
||||
' sys.exit(serve())' \
|
||||
> debian/sshctl/usr/bin/sshctl
|
||||
chmod 755 debian/sshctl/usr/bin/sshctl
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
.TH SSHCTL 1 "2026-09-12" "sshctl v0.1.1" "SSH Configuration Management"
|
||||
.TH SSHCTL 1 "2026-09-12" "sshctl v0.1.2" "SSH Configuration Management"
|
||||
.SH NAME
|
||||
sshctl \- SSH configuration management toolkit
|
||||
.SH SYNOPSIS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "sshctl"
|
||||
version = "0.1.1"
|
||||
version = "0.1.2"
|
||||
description = "SSH configuration management toolkit"
|
||||
requires-python = ">=3.13"
|
||||
license = {text = "MIT"}
|
||||
|
||||
Reference in New Issue
Block a user