Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
tests,packaging: add package build support for Fedora for our spread setup #3365
7cbadd5
e5ded9c
10140af
53d525a
86dd9a7
c71d0c2
6f3ffb9
5d8bb4b
a7411a4
88bf78f
4942a9f
94fb37f
a8df422
b159d54
29eb612
ef4272d
9db1ff6
12b47a9
3db8217
73ebdf3
0f0c674
d0098ba
79b1b1a
a068f94
55d7ca8
0705e45
edf778b
df4ed15
4009f9e
961624a
7180c1c
bbcfe04
73c53bc
b4ede83
f046f41
8141c2f
d2702be
6492bed
c8139a5
cbc5c63
5a728f0
13f04b9
7b80258
| @@ -8,6 +8,20 @@ | ||
| set -e | ||
| SNAP_MOUNT_DIR="/var/lib/snapd/snap" | ||
| + | ||
| +show_help() { | ||
| + exec cat <<'EOF' | ||
| +Usage: snap-mgmt.sh [OPTIONS] | ||
| + | ||
| +A simple script to cleanup snap installations. | ||
| + | ||
| +optional arguments: | ||
| + --help Show this help message and exit | ||
| + --snap-mount-dir=<path> Provide a path to be used as $SNAP_MOUNT_DIR | ||
| + --purge Purge all data from $SNAP_MOUNT_DIR | ||
| +EOF | ||
| +} | ||
morphis
Contributor
|
||
| + | ||
| SNAP_UNIT_PREFIX="$(systemd-escape -p ${SNAP_MOUNT_DIR})" | ||
| systemctl_stop() { | ||
| @@ -18,7 +32,7 @@ systemctl_stop() { | ||
| fi | ||
| } | ||
| -if [ "$1" = "purge" ]; then | ||
| +purge() { | ||
| # undo any bind mount to ${SNAP_MOUNT_DIR} that resulted from LP:#1668659 | ||
| if grep -q "${SNAP_MOUNT_DIR} ${SNAP_MOUNT_DIR}" /proc/self/mountinfo; then | ||
| umount -l "${SNAP_MOUNT_DIR}" || true | ||
| @@ -91,5 +105,26 @@ if [ "$1" = "purge" ]; then | ||
| rm -rf /var/lib/snapd/seccomp/profiles/* | ||
| rm -rf /var/lib/snapd/device/* | ||
| rm -rf /var/lib/snapd/assertions/* | ||
| +} | ||
| -fi | ||
| +while [ -n "$1" ]; do | ||
| + case "$1" in | ||
| + --help) | ||
| + show_help | ||
| + exit | ||
| + ;; | ||
| + --snap-mount-dir=*) | ||
| + SNAP_MOUNT_DIR=${1#*=} | ||
| + SNAP_UNIT_PREFIX="$(systemd-escape -p $SNAP_MOUNT_DIR)" | ||
| + shift | ||
| + ;; | ||
| + --purge) | ||
| + purge | ||
| + shift | ||
| + ;; | ||
| + *) | ||
| + echo "Unknown command: $1" | ||
| + exit 1 | ||
| + ;; | ||
| + esac | ||
| +done | ||
| @@ -1,5 +1,12 @@ | ||
| #!/bin/sh | ||
| - | ||
| -# Default applies for: Ubuntu, Debian | ||
| export SNAPMOUNTDIR=/snap | ||
| export LIBEXECDIR=/usr/lib | ||
| + | ||
| +case "$SPREAD_SYSTEM" in | ||
| + fedora-*) | ||
| + export SNAPMOUNTDIR=/var/lib/snapd/snap | ||
| + export LIBEXECDIR=/usr/libexec | ||
| + ;; | ||
| + *) | ||
| + ;; | ||
| +esac |
This is not a good idea.. This is not meant to be run by humans, only tools. That's explicitly why it's in
%_libexecdir/snapdrather than being in%_bindir.