Various snap fixes (#698)

* snap: Store media in the proper directory

* snap/set-environment: Exit successfully when not enabled.

This lets us unconditionally run things under `set-environment` and let it
handle the case where the necessary configuration hasn't yet been set.

* snap: Set the version based on git tags

This will make the version something like `0.3.0-alpha-2-65-g29178aa` at the moment,
as that was the most recent tag, but the commit tagged as `0.4.0` will get *that* as
the version

* snap: Force-install cargo-web

This makes building the *second* time work; otherwise there might be
an existing cargo-web install, and cargo will refuse to overwrite it.
This commit is contained in:
Christopher James Halse Rogers 2019-11-16 22:19:46 +10:00 committed by Ana Gelez
parent c484ca6afe
commit df6f398efc
4 changed files with 10 additions and 10 deletions

View file

@ -38,6 +38,11 @@ then
with 'snap restart plume'" with 'snap restart plume'"
fi fi
if [ ! -d ${SNAP_DATA}/media ]
then
mkdir ${SNAP_DATA}/media
fi
if [ "${enabled}" = "true" -a ! -e ${SNAP_COMMON}/initial-migrations-run ] if [ "${enabled}" = "true" -a ! -e ${SNAP_COMMON}/initial-migrations-run ]
then then
cd ${SNAP} cd ${SNAP}

View file

@ -1,11 +1,4 @@
#!/bin/sh #!/bin/sh
db_type=$(snapctl get db.type)
if [ -z "${db_type}" ]
then
exit 0
fi
cd ${SNAP} cd ${SNAP}
exec ./set-environment bin/plm migration run --path ${SNAP_DATA} exec ./set-environment bin/plm migration run --path ${SNAP_DATA}

View file

@ -4,7 +4,7 @@ enabled="$(snapctl get enabled)"
if [ -z "${enabled}" -o "${enabled}" != "true" ] if [ -z "${enabled}" -o "${enabled}" != "true" ]
then then
echo "Plume not yet enabled" echo "Plume not yet enabled"
exit 1 exit 0
fi fi
export BASE_URL="$(snapctl get base-url)" export BASE_URL="$(snapctl get base-url)"
@ -24,6 +24,7 @@ ROCKET_ADDRESS="$(snapctl get listen.address)"
ROCKET_PORT="$(snapctl get listen.port)" ROCKET_PORT="$(snapctl get listen.port)"
export ROCKET_SECRET_KEY="$(cat ${SNAP_COMMON}/rocket-secret-key)" export ROCKET_SECRET_KEY="$(cat ${SNAP_COMMON}/rocket-secret-key)"
export SEARCH_INDEX="${SNAP_DATA}/search_index" export SEARCH_INDEX="${SNAP_DATA}/search_index"
export MEDIA_UPLOAD_DIRECTORY="${SNAP_DATA}/media"
cd ${SNAP} cd ${SNAP}
exec $@ exec $@

View file

@ -1,6 +1,6 @@
name: plume name: plume
base: core18 base: core18
version: '0.3.0' # just for humans, typically '1.2+git' or '1.3.2' adopt-info: plume
summary: Multi-user blogging platform, federated over ActivityPub summary: Multi-user blogging platform, federated over ActivityPub
description: | description: |
Plume is a federated blogging platform, featuring: Plume is a federated blogging platform, featuring:
@ -34,9 +34,10 @@ parts:
- on arm64,armhf,ppc64el,s390x: - on arm64,armhf,ppc64el,s390x:
- lld-8 - lld-8
override-build: | override-build: |
snapcraftctl set-version $(git describe --tags)
export PATH=$PATH:$HOME/.cargo/bin export PATH=$PATH:$HOME/.cargo/bin
rustup install stable rustup install stable
cargo +stable install cargo-web cargo +stable install --force cargo-web
# Only Tier 1 Rust platforms get rust-lld # Only Tier 1 Rust platforms get rust-lld
# On the others (arm64, armhf, powerpc64, s390x) fall back to using # On the others (arm64, armhf, powerpc64, s390x) fall back to using