code.gitea.io/gitea@v1.22.3/snap/snapcraft.yaml (about) 1 name: gitea 2 summary: Gitea - A painless self-hosted Git service 3 description: | 4 The goal of this project is to make the easiest, fastest, and most painless 5 way of setting up a self-hosted Git service. With Go, this can be done with 6 an independent binary distribution across ALL platforms that Go supports, 7 including Linux, Mac OS X, Windows and ARM. 8 9 icon: public/assets/img/logo.png 10 confinement: strict 11 base: core22 12 adopt-info: gitea 13 14 architectures: 15 - build-on: armhf 16 - build-on: amd64 17 - build-on: arm64 18 19 environment: 20 GITEA_CUSTOM: "$SNAP_COMMON" 21 GITEA_WORK_DIR: "$SNAP_COMMON" 22 GIT_TEMPLATE_DIR: "$SNAP/usr/share/git-core/templates" 23 GIT_EXEC_PATH: "$SNAP/usr/lib/git-core" 24 25 apps: 26 gitea: 27 command: gitea 28 plugs: [network, network-bind, removable-media] 29 web: 30 command: gitea web 31 daemon: simple 32 plugs: [network, network-bind, removable-media] 33 dump: 34 command: gitea dump 35 plugs: [home, removable-media] 36 version: 37 command: gitea --version 38 sqlite: 39 command: usr/bin/sqlite3 40 41 parts: 42 gitea: 43 plugin: make 44 source: . 45 stage-packages: [ git, sqlite3, openssh-client ] 46 build-packages: [ git, libpam0g-dev, libsqlite3-dev, build-essential] 47 build-snaps: [ go/1.22/stable, node/20/stable ] 48 build-environment: 49 - LDFLAGS: "" 50 override-pull: | 51 craftctl default 52 53 git config --global --add safe.directory /root/parts/gitea/src 54 last_committed_tag="$(git for-each-ref --sort=taggerdate --format '%(tag)' refs/tags | tail -n 1)" 55 last_released_tag="$(snap info gitea | awk '$1 == "latest/candidate:" { print $2 }')" 56 # If the latest tag from the upstream project has not been released to 57 # stable, build that tag instead of master. 58 if [ "${last_committed_tag}" != "${last_released_tag}" ]; then 59 git fetch 60 git checkout "${last_committed_tag}" 61 fi 62 63 version="$(git describe --always | sed -e 's/-/+git/;y/-/./')" 64 [ -n "$(echo $version | grep "+git")" ] && grade=devel || grade=stable 65 craftctl set version="$version" 66 craftctl set grade="$grade" 67 68 override-build: | 69 set -x 70 sed -i 's/os.Getuid()/1/g' modules/setting/setting.go 71 TAGS="bindata sqlite sqlite_unlock_notify pam cert" make build 72 install -D gitea "${SNAPCRAFT_PART_INSTALL}/gitea" 73 cp -r options "${SNAPCRAFT_PART_INSTALL}/" 74 75 prime: 76 - -etc 77 - -usr/lib/systemd 78 - -usr/lib/gcc 79 - -usr/lib/sasl2 80 - -usr/lib/x86_64-linux-gnu/krb5 81 - -usr/share/apport 82 - -usr/share/bash-completion 83 - -usr/share/git-core/contrib 84 - -usr/share/man 85 - -usr/share/upstart 86 - -var