name: gitea summary: Gitea - A painless self-hosted Git service description: | The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done with an independent binary distribution across ALL platforms that Go supports, including Linux, Mac OS X, Windows and ARM. icon: public/assets/img/logo.png confinement: strict base: core22 adopt-info: gitea architectures: - build-on: armhf - build-on: amd64 - build-on: arm64 environment: GITEA_CUSTOM: "$SNAP_COMMON" GITEA_WORK_DIR: "$SNAP_COMMON" GIT_TEMPLATE_DIR: "$SNAP/usr/share/git-core/templates" GIT_EXEC_PATH: "$SNAP/usr/lib/git-core" apps: gitea: command: gitea plugs: [network, network-bind, removable-media] web: command: gitea web daemon: simple plugs: [network, network-bind, removable-media] dump: command: gitea dump plugs: [home, removable-media] version: command: gitea --version sqlite: command: usr/bin/sqlite3 parts: gitea: plugin: make source: . stage-packages: [ git, sqlite3, openssh-client ] build-packages: [ git, libpam0g-dev, libsqlite3-dev, build-essential] build-snaps: [ go/1.23/stable, node/22/stable ] build-environment: - LDFLAGS: "" override-pull: | craftctl default git config --global --add safe.directory /root/parts/gitea/src last_committed_tag="$(git for-each-ref --sort=taggerdate --format '%(tag)' refs/tags | tail -n 1)" last_released_tag="$(snap info gitea | awk '$1 == "latest/candidate:" { print $2 }')" # If the latest tag from the upstream project has not been released to # stable, build that tag instead of master. if [ "${last_committed_tag}" != "${last_released_tag}" ]; then git fetch git checkout "${last_committed_tag}" fi version="$(git describe --always | sed -e 's/-/+git/;y/-/./')" [ -n "$(echo $version | grep "+git")" ] && grade=devel || grade=stable craftctl set version="$version" craftctl set grade="$grade" override-build: | set -x sed -i 's/os.Getuid()/1/g' modules/setting/setting.go TAGS="bindata sqlite sqlite_unlock_notify pam cert" make build install -D gitea "${SNAPCRAFT_PART_INSTALL}/gitea" cp -r options "${SNAPCRAFT_PART_INSTALL}/" prime: - -etc - -usr/lib/systemd - -usr/lib/gcc - -usr/lib/sasl2 - -usr/lib/x86_64-linux-gnu/krb5 - -usr/share/apport - -usr/share/bash-completion - -usr/share/git-core/contrib - -usr/share/man - -usr/share/upstart - -var