build(linux): add debian and arch packaging
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Maintainer: Amir Husayn Panahifar <ahp@panahifar.ir>
|
||||
|
||||
pkgname=sshctl
|
||||
pkgver=0.1.1
|
||||
pkgrel=1
|
||||
pkgdesc="SSH configuration management toolkit"
|
||||
arch=('any')
|
||||
url="https://src.panahifar.ir/ahp/sshctl"
|
||||
license=('MIT')
|
||||
depends=(
|
||||
'python-typer'
|
||||
'python-rich'
|
||||
'python-structlog'
|
||||
'python-pydantic'
|
||||
'python-pydantic-settings'
|
||||
'python-yaml'
|
||||
)
|
||||
makedepends=(
|
||||
'python-build'
|
||||
'python-installer'
|
||||
'python-wheel'
|
||||
'python-hatchling'
|
||||
)
|
||||
checkdepends=(
|
||||
'python-pytest'
|
||||
'python-pytest-cov'
|
||||
'python-pytest-asyncio'
|
||||
)
|
||||
source=("$pkgname-$pkgver.tar.gz")
|
||||
b2sums=('SKIP')
|
||||
|
||||
build() {
|
||||
cd "$pkgname-$pkgver"
|
||||
python -m build --wheel --no-isolation
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$pkgname-$pkgver"
|
||||
python -m pytest -o addopts='' tests/ -q
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$pkgname-$pkgver"
|
||||
python -m installer --destdir="$pkgdir" dist/*.whl
|
||||
if [ -f man/sshctl.1 ]; then
|
||||
install -Dm644 man/sshctl.1 -t "$pkgdir/usr/share/man/man1"
|
||||
fi
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
sshctl (0.1.1-1) unstable; urgency=medium
|
||||
|
||||
* Bug-fix release: parser, configops, jump, CLI type hardening.
|
||||
* Arch Linux PKGBUILD added.
|
||||
* Coverage gate aligned to 45%.
|
||||
* Repo URL unified to src.panahifar.ir.
|
||||
|
||||
-- Amir Husayn Panahifar <ahp@panahifar.ir> Sat, 12 Sep 2026 00:00:00 +0330
|
||||
|
||||
sshctl (0.1.0-1) unstable; urgency=medium
|
||||
|
||||
* Initial release.
|
||||
|
||||
-- Amir Husayn Panahifar <ahp@panahifar.ir> Thu, 16 Jul 2026 00:00:00 +0330
|
||||
@@ -0,0 +1,18 @@
|
||||
Source: sshctl
|
||||
Section: admin
|
||||
Priority: optional
|
||||
Maintainer: Amir Husayn Panahifar <ahp@panahifar.ir>
|
||||
Build-Depends: debhelper-compat (= 13), dh-python, python3-all, python3-hatchling
|
||||
Standards-Version: 4.7.0
|
||||
Homepage: https://src.panahifar.ir/ahp/sshctl
|
||||
|
||||
Package: sshctl
|
||||
Architecture: all
|
||||
Depends:
|
||||
${python3:Depends},
|
||||
${misc:Depends},
|
||||
openssh-client,
|
||||
Description: SSH configuration management toolkit
|
||||
sshctl is a comprehensive toolkit for managing SSH configurations
|
||||
at scale. It provides parsing, validation, connectivity checking,
|
||||
parallel command execution, Ansible inventory generation, and more.
|
||||
@@ -0,0 +1,26 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: sshctl
|
||||
Upstream-Contact: Amir Husayn Panahifar <ahp@panahifar.ir>
|
||||
|
||||
Files: *
|
||||
Copyright: 2026 Amir Husayn Panahifar
|
||||
License: MIT
|
||||
|
||||
License: MIT
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
%:
|
||||
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_test:
|
||||
python3 -m pytest tests/ --ignore=tests/__pycache__ -q || true
|
||||
@@ -0,0 +1 @@
|
||||
src/sshctl usr/lib/python3/dist-packages/
|
||||
Reference in New Issue
Block a user