summaryrefslogtreecommitdiffstats
path: root/snap/hooks
diff options
context:
space:
mode:
authorThorben <tbraeutigam@users.noreply.github.com>2018-05-09 16:52:51 +0200
committerLunny Xiao <xiaolunwen@gmail.com>2018-05-09 22:52:51 +0800
commit14f16d6c2e8db1d99268c44a59aa86132c00eca3 (patch)
treef5d7a1076890bbbe6abdfea6f58b1c0ef3dae0af /snap/hooks
parent02ecc03d6df8956075d151104e0e07f0d858d578 (diff)
downloadgitea-14f16d6c2e8db1d99268c44a59aa86132c00eca3.tar.gz
gitea-14f16d6c2e8db1d99268c44a59aa86132c00eca3.zip
snap-packaging for gitea (#2568)
* Modify tbraeutigam/gogs-snap for gitea * Fix building on 16.04 (manually build go-bindata). -> add _source.tar.bz2 to .gitignore (used by snapcraft cleanbuild) * Streamline Snap packaging: - Take advantage of install-hooks (snapd 2.27) - Use snapctl configuration storage for unchanging values * Move to using Snap Hooks for configuration * Missed re-adding daemon statement * Fix two warnings from Codacy.
Diffstat (limited to 'snap/hooks')
-rwxr-xr-xsnap/hooks/configure3
-rwxr-xr-xsnap/hooks/install45
2 files changed, 48 insertions, 0 deletions
diff --git a/snap/hooks/configure b/snap/hooks/configure
new file mode 100755
index 0000000000..fd7bc3da18
--- /dev/null
+++ b/snap/hooks/configure
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+$SNAP/bin/gconfig configure
diff --git a/snap/hooks/install b/snap/hooks/install
new file mode 100755
index 0000000000..dea6c268fb
--- /dev/null
+++ b/snap/hooks/install
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+export SDATA=$(echo $SNAP_DATA | sed "s|$SNAP_REVISION|current|")
+export SCOMMON="$SNAP_COMMON"
+export isRoot=`true`
+snapctl set gitea.snap.workdir="$SDATA/custom"
+snapctl set gitea.snap.custom="$SCOMMON"
+
+function mkDirCommon(){
+ for dir in $@; do
+ mkdir -p "$SCOMMON/$dir"
+ done
+}
+
+function mkdirData(){
+ for dir in $@; do
+ mkdir -p "$SDATA/$dir"
+ if [ -d $SNAP/$dir ]; then
+ cp -r --preserve=mode \
+ $SNAP/$dir/* \
+ $SNAP/$dir/.[a-zA-Z0-9-]* \
+ $SDATA/$dir/ 2> $SCOMMON/log/snap-mkdirData.log
+ fi
+ done
+}
+
+mkDirCommon pictures \
+ repositories \
+ attachments \
+ data \
+ log
+
+mkdirData certs \
+ sshkeytest \
+ custom/conf \
+ static/templates \
+ static/scripts \
+ static/public
+
+[[ -f $SNAP_COMMON/conf/app.ini ]] || $SNAP/bin/gconfig install
+
+# Configure Git to use the right templates
+mkdir -p $SDATA/git/
+cp -r --preserve=mode $SNAP/usr/share/git-core/templates $SDATA/git/
+$SNAP/usr/bin/git config --global init.templateDir $SDATA/git/templates/