blob: 350fe24dea27603e06be0c2d29b0a3774db716e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# Maintainer: Gvol <gvol@nexusystems.org>
# https://github.com/Gvolexe/GvolTools
pkgname=gvoltools-git
pkgver=r0
pkgrel=1
pkgdesc="A collection of SSH management and system administration tools (git version)"
arch=('any')
url="https://github.com/Gvolexe/GvolTools"
license=('MIT')
depends=(
'python>=3.10'
'python-paramiko'
'python-cryptography'
)
optdepends=(
'openssh: for SSH key management'
)
makedepends=('git')
provides=('gvoltools')
conflicts=('gvoltools')
source=("${pkgname}::git+https://github.com/Gvolexe/GvolTools.git")
sha256sums=('SKIP')
pkgver() {
cd "${srcdir}/${pkgname}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
package() {
cd "${srcdir}/${pkgname}"
# Install shared library
install -Dm644 tools/gvcore/files/gvcore.py "${pkgdir}/usr/lib/gvtools/gvcore.py"
# Install main binaries
for tool_dir in tools/*/; do
tool_name=$(basename "$tool_dir")
# Skip gvcore (it's a library, not a CLI tool)
[[ "$tool_name" == "gvcore" ]] && continue
main_file="${tool_dir}files/${tool_name}.py"
if [[ -f "$main_file" ]]; then
install -Dm755 "$main_file" "${pkgdir}/usr/bin/${tool_name}"
fi
done
# Create aliases via symlinks
cd "${pkgdir}/usr/bin"
# gv aliases
ln -sf gv gvtools
# gvfleet aliases
ln -sf gvfleet fleet
ln -sf gvfleet gvf
ln -sf gvfleet f
# gvsshprofile aliases
ln -sf gvsshprofile sp
ln -sf gvsshprofile gvsp
# gvolkeymanager aliases
ln -sf gvolkeymanager km
ln -sf gvolkeymanager gvkm
# gvhostbootstrap aliases
ln -sf gvhostbootstrap hb
ln -sf gvhostbootstrap gvhb
# gvsshaudit aliases
ln -sf gvsshaudit sshaudit
ln -sf gvsshaudit gvsa
# gvknownhostsctl aliases
ln -sf gvknownhostsctl kh
ln -sf gvknownhostsctl gvkh
# gvsecretsync aliases
ln -sf gvsecretsync ss
ln -sf gvsecretsync gvss
# gvcertctl aliases
ln -sf gvcertctl cert
ln -sf gvcertctl gvcert
# gvfirewallctl aliases
ln -sf gvfirewallctl fw
ln -sf gvfirewallctl gvfw
# gvupdates aliases
ln -sf gvupdates updates
ln -sf gvupdates gvup
# gvsudoauth aliases
ln -sf gvsudoauth sudo
ln -sf gvsudoauth gvsudo
# gvlogtriage aliases
ln -sf gvlogtriage logs
ln -sf gvlogtriage gvlogs
# gvbackupctl aliases
ln -sf gvbackupctl backup
ln -sf gvbackupctl gvbak
# gvdnscheck aliases
ln -sf gvdnscheck dns
ln -sf gvdnscheck gvdns
# gvnetdiag aliases
ln -sf gvnetdiag net
ln -sf gvnetdiag gvnet
# gvportsentry aliases
ln -sf gvportsentry ports
ln -sf gvportsentry gvports
# gvdotctl aliases
ln -sf gvdotctl dots
ln -sf gvdotctl gvdots
# gvgitopsinit aliases
ln -sf gvgitopsinit gitops
ln -sf gvgitopsinit gvgit
# gvpermcheck aliases
ln -sf gvpermcheck perms
ln -sf gvpermcheck gvperms
# Install license
cd "${srcdir}/${pkgname}"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" 2>/dev/null || true
# Install docs
install -Dm644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
install -Dm644 OVERVIEW.md "${pkgdir}/usr/share/doc/${pkgname}/OVERVIEW.md" 2>/dev/null || true
}
|