mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-23 20:17:03 +01:00
faa28b5a44
Move `public/*` to `public/assets/*` Some old PRs (like #15219) introduced inconsistent directory system. For example: why the local directory "public" is accessed by `http://site/assets`? How to serve the ".well-known" files properly in the public directory? For convention rules, the "public" directory is widely used for the website's root directory. It shouldn't be an exception for Gitea. So, this PR makes the things consistent: * `http://site/assets/foo` means `{CustomPath}/public/assets/foo`. * `{CustomPath}/public/.well-known` and `{CustomPath}/public/robots.txt` can be used in the future. This PR is also a prerequisite for a clear solution for: * #21942 * #25892 * discourse.gitea.io: [.well-known path serving custom files behind proxy?](https://discourse.gitea.io/t/well-known-path-serving-custom-files-behind-proxy/5445/1) This PR is breaking for users who have custom "public" files (CSS/JS). After getting approvals, I will update the documents. ---- ## ⚠️ BREAKING ⚠️ If you have files in your "custom/public/" folder, please move them to "custom/public/assets/". --------- Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Giteabot <teabot@gitea.io>
85 lines
2.5 KiB
YAML
85 lines
2.5 KiB
YAML
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: core18
|
|
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, node/18/stable ]
|
|
build-environment:
|
|
- LDFLAGS: ""
|
|
override-pull: |
|
|
snapcraftctl pull
|
|
|
|
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
|
|
snapcraftctl set-version "$version"
|
|
snapcraftctl 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
|