2017-06-16 22:51:17 +02:00
|
|
|
# Maintainer: Martchus <martchus@gmx.net>
|
2017-05-20 16:05:58 +02:00
|
|
|
# Contributor: Thomas Fanninger <thomas@fanninger.at>
|
2017-03-18 15:33:06 +01:00
|
|
|
# Contributor: Thomas Laroche <tho.laroche@gmail.com>
|
|
|
|
|
2017-06-16 22:51:17 +02:00
|
|
|
_pkgname=gogs
|
2018-06-05 09:06:56 +02:00
|
|
|
_orga=gogs
|
|
|
|
_gourl=github.com/$_orga/$_pkgname
|
2018-03-19 22:56:58 +01:00
|
|
|
_userid=511
|
2018-06-10 20:43:02 +02:00
|
|
|
_confdir=conf
|
|
|
|
_scriptsdir=scripts
|
2017-06-16 22:51:17 +02:00
|
|
|
|
|
|
|
pkgname=$_pkgname
|
2022-03-19 13:04:58 +01:00
|
|
|
pkgver=0.12.6
|
2022-03-11 18:28:09 +01:00
|
|
|
pkgrel=1
|
2017-03-18 15:33:06 +01:00
|
|
|
epoch=1
|
|
|
|
pkgdesc='Self Hosted Git Service written in Go'
|
2018-03-20 21:48:57 +01:00
|
|
|
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
|
2017-06-17 13:01:34 +02:00
|
|
|
url="https://$_pkgname.io"
|
2017-03-18 15:33:06 +01:00
|
|
|
license=('MIT')
|
2017-11-05 19:31:09 +01:00
|
|
|
depends=('git>=1.7.1' 'pam')
|
2017-03-18 15:33:06 +01:00
|
|
|
optdepends=('sqlite: SQLite support'
|
|
|
|
'mariadb: MariaDB support'
|
|
|
|
'postgresql: PostgreSQL support'
|
|
|
|
'redis: Redis support'
|
|
|
|
'memcached: MemCached support'
|
|
|
|
'openssh: GIT over SSH support')
|
2018-06-11 19:56:36 +02:00
|
|
|
makedepends=('go>=1.3')
|
2017-06-16 22:51:17 +02:00
|
|
|
backup=("etc/$_pkgname/app.ini")
|
|
|
|
source=("$_pkgname-$pkgver::https://github.com/$_orga/$_pkgname/archive/v${pkgver}.tar.gz"
|
2017-03-18 15:33:06 +01:00
|
|
|
'0001-Adjust-config-for-Arch-Linux-package.patch'
|
2017-11-23 23:31:18 +01:00
|
|
|
'0002-Adjust-service-file-for-Arch-Linux-package.patch')
|
2022-03-19 13:04:58 +01:00
|
|
|
sha512sums=('a6363d60f593cbbbfbed649eabb27466cf6463d2922fad1c48091105a31fb7032371f1c2cdf597eeaa02bff4b2b4f24d38a8fc91beadef267c01431a8d2b96f6'
|
2020-08-24 16:07:28 +02:00
|
|
|
'763ea6857a2bd28d1e6d95f58d67de0503b3f36ee1419dd1efce6ae187d7f529e4f1674b160a5902f16bc180983f3b29bcbe4ec8fc3c0d32de7374939ea364c5'
|
|
|
|
'162c9dd3b5c5f2910b3887109d460dcb82631b2e5b8d906699e5a581c3350a9b0511ccc470621828f8839ad7bac240439d01461ae5fb3efdee948307ef195c2d')
|
2017-03-18 15:33:06 +01:00
|
|
|
_goroot='/usr/lib/go'
|
|
|
|
|
|
|
|
prepare() {
|
|
|
|
export GOROOT="$_goroot"
|
|
|
|
|
|
|
|
msg2 'Prepare GO build enviroment'
|
|
|
|
rm -rf build
|
|
|
|
mkdir -p build/go
|
|
|
|
cd build/go
|
|
|
|
|
|
|
|
for f in "$GOROOT/"*; do
|
|
|
|
ln -s "$f"
|
|
|
|
done
|
|
|
|
|
|
|
|
rm pkg && mkdir pkg && cd pkg
|
|
|
|
|
|
|
|
for f in "$GOROOT/pkg/"*; do
|
|
|
|
ln -s "$f"
|
|
|
|
done
|
|
|
|
|
|
|
|
export GOROOT="$srcdir/build/go"
|
|
|
|
export GOPATH="$srcdir/build"
|
|
|
|
|
2017-06-17 13:01:34 +02:00
|
|
|
mkdir -p "$GOPATH/src/${_gourl%/$_pkgname}"
|
|
|
|
mv "$srcdir/$_pkgname-${pkgver}" "$GOPATH/src/${_gourl}"
|
2017-03-18 15:33:06 +01:00
|
|
|
|
|
|
|
msg2 'Patch config and service file'
|
|
|
|
cd "$GOPATH/src/${_gourl}"
|
|
|
|
patch -Np1 -i "$srcdir/0001-Adjust-config-for-Arch-Linux-package.patch"
|
|
|
|
patch -Np1 -i "$srcdir/0002-Adjust-service-file-for-Arch-Linux-package.patch"
|
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
2017-06-17 13:01:34 +02:00
|
|
|
export GOROOT="$srcdir/build/go"
|
|
|
|
export GOPATH="$srcdir/build"
|
2020-08-28 13:20:35 +02:00
|
|
|
export CGO_CPPFLAGS="${CPPFLAGS}"
|
|
|
|
export CGO_CFLAGS="${CFLAGS}"
|
|
|
|
export CGO_CXXFLAGS="${CXXFLAGS}"
|
|
|
|
export CGO_LDFLAGS="${LDFLAGS}"
|
|
|
|
export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
|
|
|
|
|
2017-03-18 15:33:06 +01:00
|
|
|
cd "$GOPATH/src/${_gourl}"
|
|
|
|
|
|
|
|
go fix
|
2017-05-20 16:05:58 +02:00
|
|
|
go build -x -ldflags="-s -w" -tags='sqlite pam cert'
|
2018-03-19 22:56:58 +01:00
|
|
|
|
2018-06-11 19:56:36 +02:00
|
|
|
# build sysusers file
|
2018-07-13 19:50:13 +02:00
|
|
|
echo "u $_pkgname $_userid \"$_pkgname user\" /var/lib/$_pkgname /bin/bash" > "$srcdir/$_pkgname.sysusers"
|
2018-06-10 20:43:02 +02:00
|
|
|
|
2018-06-11 19:56:36 +02:00
|
|
|
# build tmpfiles file
|
|
|
|
echo "d /var/lib/$_pkgname 0755 $_pkgname $_pkgname
|
|
|
|
d /var/log/$_pkgname 0755 $_pkgname $_pkgname
|
|
|
|
d /etc/$_pkgname 0775 root $_pkgname" > "$srcdir/$_pkgname.tmpfiles"
|
|
|
|
|
2018-06-10 20:43:02 +02:00
|
|
|
# build wrapper script for Gogs' backup command
|
|
|
|
if [[ $pkgname == 'gogs' ]]; then
|
|
|
|
echo "#!/usr/bin/bash
|
2018-03-19 22:56:58 +01:00
|
|
|
if [[ \$USER != $_pkgname ]]; then
|
|
|
|
echo \"Must run as user $_pkgname!\"
|
|
|
|
exit -1
|
|
|
|
fi
|
|
|
|
export GOGS_CUSTOM=/var/lib/$_pkgname/custom
|
|
|
|
/usr/bin/$_pkgname backup --config /etc/$_pkgname/app.ini \$@" > "$srcdir/$_pkgname-backup.sh"
|
2018-06-10 20:43:02 +02:00
|
|
|
fi
|
2017-03-18 15:33:06 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
package() {
|
|
|
|
install -Dm0755 "$srcdir/build/src/${_gourl}/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
|
2018-06-11 19:56:36 +02:00
|
|
|
if [[ $pkgname == 'gogs' ]]; then
|
|
|
|
install -Dm0755 "$srcdir/$_pkgname-backup.sh" "$pkgdir/usr/bin/$_pkgname-backup"
|
|
|
|
fi
|
2017-03-18 15:33:06 +01:00
|
|
|
|
|
|
|
mkdir -p "$pkgdir/usr/share/${_pkgname}"
|
2018-06-10 20:43:02 +02:00
|
|
|
cp -r "$srcdir/build/src/${_gourl}/${_confdir}" "$pkgdir/usr/share/${_pkgname}"
|
2020-08-24 16:07:28 +02:00
|
|
|
if [[ $pkgname != 'gogs' ]]; then
|
|
|
|
cp -r "$srcdir/build/src/${_gourl}/public" "$pkgdir/usr/share/${_pkgname}"
|
|
|
|
cp -r "$srcdir/build/src/${_gourl}/templates" "$pkgdir/usr/share/${_pkgname}"
|
|
|
|
fi
|
2017-03-18 15:33:06 +01:00
|
|
|
|
2018-07-14 22:06:45 +02:00
|
|
|
mkdir -p "$pkgdir/etc/$_pkgname"
|
2018-12-19 17:36:18 +01:00
|
|
|
chmod 775 "$pkgdir/etc/$_pkgname"
|
2019-02-04 22:55:19 +01:00
|
|
|
install -Dm0664 -g "$_userid" --target-directory="$pkgdir/etc/$_pkgname" "$pkgdir/usr/share/$_pkgname/conf/app.ini"*
|
2018-06-10 20:43:02 +02:00
|
|
|
install -Dm0644 "$srcdir/build/src/${_gourl}/${_scriptsdir}/systemd/$_pkgname.service" "$pkgdir/usr/lib/systemd/system/$_pkgname.service"
|
2017-03-18 15:33:06 +01:00
|
|
|
install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname"
|
2018-03-19 22:56:58 +01:00
|
|
|
install -Dm0644 "${srcdir}/$_pkgname.sysusers" "${pkgdir}/usr/lib/sysusers.d/$_pkgname.conf"
|
2018-06-11 19:56:36 +02:00
|
|
|
install -Dm0644 "${srcdir}/$_pkgname.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/$_pkgname.conf"
|
2018-03-19 22:56:58 +01:00
|
|
|
install -dm0700 -o "$_userid" -g "$_userid" "$pkgdir/var/lib/$_pkgname"
|
|
|
|
install -dm0700 -o "$_userid" -g "$_userid" "$pkgdir/var/log/$_pkgname"
|
|
|
|
for subdir in avatars repos certs data/sessions data/tmp; do
|
|
|
|
install -dm0700 -o "$_userid" -g "$_userid" "$pkgdir/var/lib/$_pkgname/$subdir"
|
|
|
|
done
|
2018-06-10 20:43:02 +02:00
|
|
|
if [[ $pkgname == 'gitea' ]]; then
|
|
|
|
install -dm0700 -o "$_userid" -g "$_userid" "$pkgdir/var/lib/$_pkgname/conf"
|
|
|
|
cp -r "$srcdir/build/src/${_gourl}/options/locale" "$pkgdir/var/lib/$_pkgname/conf"
|
|
|
|
fi
|
2017-03-18 15:33:06 +01:00
|
|
|
}
|