mirror of
https://github.com/Cheviiot/Nivora.git
synced 2026-08-03 15:51:12 +00:00
feat: create autonomous Nivora package repository
Maintain a validated cross-distribution package catalog. Automate upstream updates, isolated builds, diagnostics, and direct publication. Build the official GitHub Desktop sources for Linux with working OAuth.
This commit is contained in:
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
package_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
repo_root="$(cd "${package_dir}/.." && pwd)"
|
||||
exec "${repo_root}/tools/package_updates.sh" check "$(basename "$package_dir")"
|
||||
@@ -0,0 +1,16 @@
|
||||
Сведения о лицензии пакета NetBird
|
||||
|
||||
Лицензии: BSD-3-Clause и AGPL-3.0-only.
|
||||
Исходный проект: https://github.com/netbirdio/netbird
|
||||
Официальный сайт: https://netbird.io/
|
||||
|
||||
Нюансы пакета:
|
||||
- Пакет перепаковывает официальный deb-артефакт NetBird CLI/daemon для Linux.
|
||||
- Основные части репозитория NetBird распространяются под BSD-3-Clause.
|
||||
- Отдельные серверные компоненты исходного репозитория, включая management, signal, relay и combined, лицензированы под AGPL-3.0.
|
||||
- Данный пакет устанавливает клиентский бинарник и systemd-сервис; серверная инфраструктура NetBird в пакет не входит.
|
||||
- Подключение к облачному или собственному management-серверу регулируется условиями соответствующего сервиса.
|
||||
|
||||
Официальные тексты лицензий:
|
||||
- https://opensource.org/license/bsd-3-clause
|
||||
- https://www.gnu.org/licenses/agpl-3.0.txt
|
||||
@@ -0,0 +1,90 @@
|
||||
name='netbird'
|
||||
version=0.75.0
|
||||
release=1
|
||||
summary='WireGuard-based mesh VPN client'
|
||||
summary_ru='Mesh VPN-клиент на базе WireGuard'
|
||||
group='Networking/Other'
|
||||
desc='NetBird is a WireGuard-based mesh VPN client with SSO, MFA and policy-based access control for connecting devices and private networks.'
|
||||
desc_ru='NetBird — mesh VPN-клиент на базе WireGuard с SSO, MFA и политиками доступа для соединения устройств и приватных сетей.'
|
||||
homepage='https://netbird.io/'
|
||||
maintainer='NetBird GmbH <dev@netbird.io>'
|
||||
|
||||
architectures=('amd64' 'arm64')
|
||||
|
||||
license=('BSD-3-Clause' 'AGPL-3.0-only')
|
||||
|
||||
provides=()
|
||||
replaces=('netbird')
|
||||
conflicts=()
|
||||
|
||||
auto_reqprov_method="dirty"
|
||||
auto_req=0
|
||||
auto_prov=0
|
||||
|
||||
deps=()
|
||||
deps_debian=('ca-certificates' 'iproute2' 'iptables')
|
||||
deps_ubuntu=("${deps_debian[@]}")
|
||||
deps_fedora=('ca-certificates' 'iproute' 'iptables')
|
||||
deps_arch=('ca-certificates' 'iproute2' 'iptables')
|
||||
deps_opensuse=('ca-certificates' 'iproute2' 'iptables')
|
||||
deps_altlinux=('ca-certificates' 'iproute2' 'iptables')
|
||||
|
||||
build_deps=('binutils')
|
||||
|
||||
sources=(
|
||||
"https://github.com/netbirdio/netbird/releases/download/v${version}/netbird_${version}_linux_amd64.deb?~archive=false&~name=netbird.deb"
|
||||
"local:///netbird.png"
|
||||
"local:///netbird.service"
|
||||
"local:///netbird-purge-data"
|
||||
'local:///LICENSE'
|
||||
)
|
||||
|
||||
sources_arm64=(
|
||||
"https://github.com/netbirdio/netbird/releases/download/v${version}/netbird_${version}_linux_arm64.deb?~archive=false&~name=netbird.deb"
|
||||
"local:///netbird.png"
|
||||
"local:///netbird.service"
|
||||
"local:///netbird-purge-data"
|
||||
'local:///LICENSE'
|
||||
)
|
||||
|
||||
checksums=(
|
||||
'sha256:b65f65d7f32831639ebdd44c241e7a2310287723b64dbc03c93292853042ee6f'
|
||||
'sha256:71b133636e91eb67f221f64592f64fa04a3b2337f4d616be36492efae0cff643'
|
||||
'sha256:abd8064281462a4ce12c2fdf2e9436d9ae6932ff3b366668a175f2a556169012'
|
||||
'sha256:bb5c44ab330db0d63a82b582f2c508681a6922ea65f3bf2becaeed87693215b1'
|
||||
'sha256:11555e8308e949c3965a681f48b83f7f2488cff03b09772d8af4a20d376464e7'
|
||||
)
|
||||
|
||||
checksums_arm64=(
|
||||
'sha256:9e57e854da0bbaf392cc6f99e37db75809e21c3effde0fca9f3bc9dc90245c02'
|
||||
'sha256:71b133636e91eb67f221f64592f64fa04a3b2337f4d616be36492efae0cff643'
|
||||
'sha256:abd8064281462a4ce12c2fdf2e9436d9ae6932ff3b366668a175f2a556169012'
|
||||
'sha256:bb5c44ab330db0d63a82b582f2c508681a6922ea65f3bf2becaeed87693215b1'
|
||||
'sha256:11555e8308e949c3965a681f48b83f7f2488cff03b09772d8af4a20d376464e7'
|
||||
)
|
||||
|
||||
scripts=(
|
||||
['postinstall']='postinstall.sh'
|
||||
['postremove']='postremove.sh'
|
||||
)
|
||||
|
||||
package() {
|
||||
cd "${srcdir}"
|
||||
|
||||
mkdir -p "${srcdir}/extracted"
|
||||
ar x netbird.deb
|
||||
tar -xf data.tar.* -C "${srcdir}/extracted"
|
||||
|
||||
install-binary "${srcdir}/extracted/usr/bin/netbird"
|
||||
install-binary "${srcdir}/netbird-purge-data"
|
||||
install-systemd "${srcdir}/netbird.service"
|
||||
install-license "${srcdir}/LICENSE" "netbird/LICENSE.nivora"
|
||||
install -Dm644 "${srcdir}/netbird.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/netbird.png"
|
||||
}
|
||||
|
||||
files() {
|
||||
files-find-binary
|
||||
files-find-systemd
|
||||
files-find-license
|
||||
files-find "/usr/share/icons/hicolor/256x256/apps/netbird.png"
|
||||
}
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [[ "${1:-}" != "--yes" || "$#" -ne 1 ]]; then
|
||||
echo "Использование: sudo netbird-purge-data --yes" >&2
|
||||
echo "Команда отменит регистрацию узла NetBird и безвозвратно удалит локальное состояние." >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ "${EUID}" -ne 0 ]]; then
|
||||
echo "Ошибка: очистку данных NetBird нужно запускать от root." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if command -v netbird >/dev/null 2>&1; then
|
||||
if ! netbird deregister; then
|
||||
echo "Предупреждение: NetBird не подтвердил deregister; локальные данные всё равно будут удалены." >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
if command -v systemctl >/dev/null 2>&1 && [[ -d /run/systemd/system ]]; then
|
||||
systemctl stop netbird.service
|
||||
fi
|
||||
|
||||
rm -rf -- /var/lib/netbird /var/cache/netbird /var/log/netbird
|
||||
rm -f -- /run/netbird.sock /var/run/netbird.sock
|
||||
|
||||
echo "Локальные данные NetBird удалены."
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.7 KiB |
@@ -0,0 +1,19 @@
|
||||
[Unit]
|
||||
Description=NetBird mesh network client
|
||||
Documentation=https://docs.netbird.io/
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=-/etc/sysconfig/netbird
|
||||
ExecStart=/usr/bin/netbird service run --log-level info --daemon-addr unix:///run/netbird.sock --log-file /var/log/netbird/client.log
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
StateDirectory=netbird
|
||||
StateDirectoryMode=0700
|
||||
LogsDirectory=netbird
|
||||
LogsDirectoryMode=0750
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
legacy_unit=/etc/systemd/system/netbird.service
|
||||
if [[ -f "$legacy_unit" ]] && grep -Fq 'ExecStart=/usr/bin/netbird "service" "run"' "$legacy_unit"; then
|
||||
rm -f -- "$legacy_unit"
|
||||
fi
|
||||
|
||||
if command -v systemctl >/dev/null 2>&1 && [[ -d /run/systemd/system ]]; then
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now netbird.service
|
||||
fi
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
unit=/usr/lib/systemd/system/netbird.service
|
||||
|
||||
if [[ ! -e "$unit" ]] && command -v systemctl >/dev/null 2>&1 && [[ -d /run/systemd/system ]]; then
|
||||
if systemctl is-active --quiet netbird.service; then
|
||||
systemctl stop netbird.service
|
||||
fi
|
||||
if systemctl is-enabled --quiet netbird.service; then
|
||||
systemctl disable netbird.service
|
||||
fi
|
||||
systemctl daemon-reload
|
||||
fi
|
||||
@@ -0,0 +1 @@
|
||||
include = "../stapler-repo.toml"
|
||||
Reference in New Issue
Block a user