refactoring, more config, packaging
This commit is contained in:
19
package/debian/earthly_make_veilid_cli_deb.sh
Executable file
19
package/debian/earthly_make_veilid_cli_deb.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
ARCH=$1
|
||||
CARGO_ARCH=$2
|
||||
CARGO_VERSION="$(/veilid/package/cargo_version.sh /veilid/veilid-cli/Cargo.toml)"
|
||||
rm -rf /dpkg
|
||||
mkdir -p /dpkg/out
|
||||
|
||||
# veilid-cli dpkg control
|
||||
cp -rf /veilid/package/debian/veilid-cli /dpkg
|
||||
/veilid/package/replace_variable.sh /dpkg/veilid-cli/DEBIAN/control CARGO_VERSION $CARGO_VERSION
|
||||
/veilid/package/replace_variable.sh /dpkg/veilid-cli/DEBIAN/control ARCH $ARCH
|
||||
# veilid-cli executable
|
||||
mkdir -p /dpkg/veilid-cli/usr/bin
|
||||
cp -f /veilid/target/$CARGO_ARCH/release/veilid-cli /dpkg/veilid-cli/usr/bin
|
||||
# pack it up
|
||||
dpkg-deb -b /dpkg/veilid-cli/
|
||||
mv /dpkg/veilid-cli.deb /dpkg/out/veilid-cli-$CARGO_VERSION-$ARCH.deb
|
25
package/debian/earthly_make_veilid_server_deb.sh
Executable file
25
package/debian/earthly_make_veilid_server_deb.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
ARCH=$1
|
||||
CARGO_ARCH=$2
|
||||
CARGO_VERSION="$(/veilid/package/cargo_version.sh /veilid/veilid-server/Cargo.toml)"
|
||||
rm -rf /dpkg
|
||||
mkdir -p /dpkg/out
|
||||
|
||||
# veilid-server dpkg control
|
||||
cp -rf /veilid/package/debian/veilid-server /dpkg
|
||||
/veilid/package/replace_variable.sh /dpkg/veilid-server/DEBIAN/control CARGO_VERSION $CARGO_VERSION
|
||||
/veilid/package/replace_variable.sh /dpkg/veilid-server/DEBIAN/control ARCH $ARCH
|
||||
# veilid-server configuration
|
||||
mkdir -p /dpkg/veilid-server/etc/veilid-server
|
||||
cp -f /veilid/package/linux/veilid-server.conf /dpkg/veilid-server/etc/veilid-server/veilid-server.conf
|
||||
# veilid-server systemd unit file
|
||||
mkdir -p /dpkg/veilid-server/etc/systemd/system
|
||||
cp -f /veilid/package/systemd/veilid-server.service /dpkg/veilid-server/etc/systemd/system
|
||||
# veilid-server executable
|
||||
mkdir -p /dpkg/veilid-server/usr/bin
|
||||
cp -f /veilid/target/$CARGO_ARCH/release/veilid-server /dpkg/veilid-server/usr/bin
|
||||
# pack it up
|
||||
dpkg-deb -b /dpkg/veilid-server/
|
||||
mv /dpkg/veilid-server.deb /dpkg/out/veilid-server-$CARGO_VERSION-$ARCH.deb
|
10
package/debian/veilid-cli/DEBIAN/control
Normal file
10
package/debian/veilid-cli/DEBIAN/control
Normal file
@@ -0,0 +1,10 @@
|
||||
Package: veilid-cli
|
||||
Version: $CARGO_VERSION
|
||||
Section: network
|
||||
Priority: optional
|
||||
Architecture: $ARCH
|
||||
Depends: libc6 (>= 2.23)
|
||||
Maintainer: jsmith@veilid.org
|
||||
Description: Veilid Server Command Line Interface
|
||||
The Veilid peer-to-peer network server command line interface
|
||||
|
6
package/debian/veilid-cli/DEBIAN/postinst
Executable file
6
package/debian/veilid-cli/DEBIAN/postinst
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# Set permissions
|
||||
chmod 755 /usr/bin/veilid-cli
|
9
package/debian/veilid-server/DEBIAN/control
Normal file
9
package/debian/veilid-server/DEBIAN/control
Normal file
@@ -0,0 +1,9 @@
|
||||
Package: veilid-server
|
||||
Version: $CARGO_VERSION
|
||||
Section: network
|
||||
Priority: optional
|
||||
Architecture: $ARCH
|
||||
Depends: libc6 (>= 2.23)
|
||||
Maintainer: jsmith@veilid.org
|
||||
Description: Veilid Server
|
||||
The Veilid peer-to-peer network server
|
47
package/debian/veilid-server/DEBIAN/postinst
Executable file
47
package/debian/veilid-server/DEBIAN/postinst
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Add veilid user and group
|
||||
adduser --system --group veilid &>/dev/null || true
|
||||
|
||||
# Make db folders
|
||||
mkdir -p /var/db/veilid-server/protected_store
|
||||
mkdir -p /var/db/veilid-server/table_store
|
||||
mkdir -p /var/db/veilid-server/block_store
|
||||
|
||||
# Set permissions
|
||||
chown -R veilid:veilid /var/db/veilid-server
|
||||
chmod 0750 /var/db/veilid-server/protected_store
|
||||
chmod 0750 /var/db/veilid-server/table_store
|
||||
chmod 0750 /var/db/veilid-server/block_store
|
||||
chmod 0750 /var/db/veilid-server
|
||||
|
||||
chmod 755 /usr/bin/veilid-server
|
||||
|
||||
# Add and start systemd unit
|
||||
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
||||
# This will only remove masks created by d-s-h on package removal.
|
||||
deb-systemd-helper unmask 'veilid-server.service' >/dev/null || true
|
||||
|
||||
# was-enabled defaults to true, so new installations run enable.
|
||||
if deb-systemd-helper --quiet was-enabled 'veilid-server.service'; then
|
||||
# Enables the unit on first installation, creates new
|
||||
# symlinks on upgrades if the unit file has changed.
|
||||
deb-systemd-helper enable 'veilid-server.service' >/dev/null || true
|
||||
else
|
||||
# Update the statefile to add new symlinks (if any), which need to be
|
||||
# cleaned up on purge. Also remove old symlinks.
|
||||
deb-systemd-helper update-state 'veilid-server.service' >/dev/null || true
|
||||
fi
|
||||
|
||||
if [ -d /run/systemd/system ]; then
|
||||
systemctl --system daemon-reload >/dev/null || true
|
||||
if [ -n "$2" ]; then
|
||||
_dh_action=restart
|
||||
else
|
||||
_dh_action=start
|
||||
fi
|
||||
deb-systemd-invoke $_dh_action 'veilid-server.service' >/dev/null || true
|
||||
fi
|
||||
fi
|
18
package/debian/veilid-server/DEBIAN/postrm
Executable file
18
package/debian/veilid-server/DEBIAN/postrm
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ -d /run/systemd/system ]; then
|
||||
systemctl --system daemon-reload >/dev/null || true
|
||||
fi
|
||||
|
||||
if [ "$1" = "remove" ]; then
|
||||
if [ -x "/usr/bin/deb-systemd-helper" ]; then
|
||||
deb-systemd-helper mask 'veilid-server.service' >/dev/null || true
|
||||
fi
|
||||
elif [ "$1" = "purge" ]; then
|
||||
if [ -x "/usr/bin/deb-systemd-helper" ]; then
|
||||
deb-systemd-helper purge 'veilid-server.service' >/dev/null || true
|
||||
deb-systemd-helper unmask 'veilid-server.service' >/dev/null || true
|
||||
fi
|
||||
rm -rf /var/db/veilid-server
|
||||
fi
|
6
package/debian/veilid-server/DEBIAN/prerm
Executable file
6
package/debian/veilid-server/DEBIAN/prerm
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ -d /run/systemd/system ] && [ "$1" = remove ]; then
|
||||
deb-systemd-invoke stop 'veilid-server.service' >/dev/null || true
|
||||
fi
|
Reference in New Issue
Block a user