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