summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD152
1 files changed, 91 insertions, 61 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 009c153eb5a8..47166a44baeb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,83 +1,113 @@
-# Maintainer: Konrad Tegtmeier <konrad.tegtmeier+aur@gmail.com>
+# Maintainer:
+# Contributor: Riccardo Berto <riccardo at rcrdbrt dot-symbol com>
+# Contributor: Moses Narrow <moe-narrow@use.startmail.com>
+# Contributor: Dimitris Kiziridis <ragouel at outlook dot com>
+# Contributor: Konrad Tegtmeier <konrad.tegtmeier+aur@gmail.com>
# Contributor: Marcel O'Neil <marcel@marceloneil.com>
-pkgname=cockroachdb-bin
-conflicts=('cockroachdb')
-provides=('cockroachdb')
-pkgver=19.1.3
+## Useful URLs:
+# https://github.com/cockroachdb/cockroach
+# https://www.cockroachlabs.com/docs/releases/
+# https://www.cockroachlabs.com/docs/stable/install-cockroachdb-linux.html
+
+_pkgname=cockroachdb
+pkgname="$_pkgname-bin"
+pkgver=23.2.4
pkgrel=1
-pkgdesc="An open source, survivable, strongly consistent, scale-out SQL database"
+pkgdesc="Cloud-native, distributed SQL database"
+url='https://www.cockroachlabs.com'
+license=('Apache-2.0' 'BUSL-1.1' 'LicenseRef-CCL')
arch=('x86_64')
-url="https://www.cockroachlabs.com/"
-license=('Apache' 'BSD' 'custom:PostgreSQL' 'custom:CCL' 'custom:LevelDB')
-depends=('glibc')
-source=("https://binaries.cockroachdb.com/cockroach-v${pkgver}.linux-amd64.tgz"
- "https://raw.githubusercontent.com/cockroachdb/cockroach/v${pkgver}/LICENSE"
- "https://raw.githubusercontent.com/cockroachdb/cockroach/v${pkgver}/licenses/BSD-biogo.txt"
- "https://raw.githubusercontent.com/cockroachdb/cockroach/v${pkgver}/licenses/BSD-golang.txt"
- "https://raw.githubusercontent.com/cockroachdb/cockroach/v${pkgver}/licenses/BSD-grpc.txt"
- "https://raw.githubusercontent.com/cockroachdb/cockroach/v${pkgver}/licenses/BSD-vitess.txt"
- "https://raw.githubusercontent.com/cockroachdb/cockroach/v${pkgver}/licenses/LevelDB.txt"
- "https://raw.githubusercontent.com/cockroachdb/cockroach/v${pkgver}/licenses/CCL.txt"
- "https://raw.githubusercontent.com/cockroachdb/cockroach/v${pkgver}/licenses/PostgreSQL.txt"
- cockroach.service
- cockroach.default
- cockroach.sysusers
- cockroach.tmpfiles)
-sha256sums=('818d109c77c8d9fb5372033d6ea90901048c5f353cd6a6110be79588cd0cb98f'
- '68040689c4342e0018adec3eb0fb1f2ae68aaeef918e7b4493518523381b7129'
- 'b3ef077aa9a0d4b697722de993fa83959f10910ae600de90bcdcdd49fafce371'
- '2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067'
- 'af1c246b8eb8b2d2ee3f1471247569d7f35cefff40e9b967d563622bb04c1e69'
- '23681c6986fb33d57957660543f6e9dcbbcf6d2ae2f9fa2dbdb5efec5aa0d95f'
- 'b568f1f37a5a1d37a3e981e7c8b7fc4856ca33b2ca0a45bc8e847aaaf7afe485'
- '2cd6aceddb7240c6ef395f7d92e26de4da63f7700504f6ce47e2aab4e39a4122'
- 'b34067e89373e1a47367b454862f43061ad1680542b39b6d95ed29c354473e15'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP')
+
+conflicts=("$_pkgname=${pkgver}")
+provides=("$_pkgname")
+
+backup=("etc/default/cockroach")
+
+_pkgsrc="cockroach-v$pkgver.linux-amd64"
+_pkgsrc_source="cockroach-$pkgver"
+source=(
+ "$_pkgname-$pkgver.tar.gz"::"https://binaries.cockroachdb.com/$_pkgsrc.tgz"
+ "LICENSE-$pkgver"::"https://github.com/cockroachdb/cockroach/raw/v$pkgver/LICENSE"
+ "LICENSE.CCL-$pkgver"::"https://github.com/cockroachdb/cockroach/raw/v$pkgver/licenses/CCL.txt"
+)
+sha256sums=(
+ '2d7b33e23549c8d89892b12b2e3237029a012154437fc82754ac861ba6fcc61c'
+ 'SKIP'
+ 'SKIP'
+)
build() {
- # generate shell completion
- "${srcdir}/cockroach-v${pkgver}.linux-amd64/cockroach" \
- gen autocomplete bash --out "${srcdir}/cockroach.bash"
- "${srcdir}/cockroach-v${pkgver}.linux-amd64/cockroach" \
- gen autocomplete zsh --out "${srcdir}/cockroach.zsh"
-
- # generate man pages
- "${srcdir}/cockroach-v${pkgver}.linux-amd64/cockroach" \
- gen man --path "${srcdir}/man"
+ # generate shell completion
+ "$_pkgsrc/cockroach" gen autocomplete bash --out "cockroach.bash"
+ "$_pkgsrc/cockroach" gen autocomplete zsh --out "cockroach.zsh"
+
+ # generate man pages
+ "$_pkgsrc/cockroach" gen man --path "man"
}
package() {
+ local _install_path='usr/lib'
# binary
- install -Dm755 "${srcdir}/cockroach-v${pkgver}.linux-amd64/cockroach" "${pkgdir}/usr/bin/cockroach"
+ install -Dm755 "$_pkgsrc/cockroach" "$pkgdir/$_install_path/$_pkgname/cockroach"
+
+ # GEOS libraries
+ install -Dm644 "$_pkgsrc/lib/libgeos.so" "$pkgdir/$_install_path/$_pkgname/lib/libgeos.so"
+ install -Dm644 "$_pkgsrc/lib/libgeos_c.so" "$pkgdir/$_install_path/$_pkgname/lib/libgeos_c.so"
+
+ # script
+ install -Dm755 /dev/stdin "$pkgdir/usr/bin/cockroach" <<EOF
+#!/usr/bin/env sh
+exec /$_install_path/$_pkgname/cockroach "\$@"
+EOF
# user/group & owned directories
- install -Dm644 "${srcdir}/cockroach.sysusers" "${pkgdir}/usr/lib/sysusers.d/cockroach.conf"
- install -Dm644 "${srcdir}/cockroach.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/cockroach.conf"
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/cockroach.conf" <<END
+u cockroach - "CockroachDB" /var/lib/cockroach
+END
+
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/tmpfiles.d/cockroach.conf" <<END
+d /etc/cockroach 0755 root cockroach - -
+d /var/lib/cockroach 0750 cockroach cockroach - -
+END
# services & runtime
- install -Dm644 "${srcdir}/cockroach.service" "${pkgdir}/usr/lib/systemd/system/cockroach.service"
- install -Dm644 "${srcdir}/cockroach.default" "${pkgdir}/etc/default/cockroach"
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/systemd/system/cockroach.service" <<END
+[Unit]
+Description=CockroachDB database server
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+User=cockroach
+Group=cockroach
+
+EnvironmentFile=-/etc/default/cockroach
+ExecStart=/usr/bin/cockroach start --certs-dir /etc/cockroach --store=${COCKROACH_STORE} $COCKROACH_FLAGS
+LimitNOFILE=35000
+
+ProtectHome=true
+ProtectSystem=full
+NoNewPrivileges=true
+
+[Install]
+WantedBy=multi-user.target
+END
+
+ install -Dm644 /dev/stdin "$pkgdir/etc/default/cockroach" <<END
+COCKROACH_FLAGS="--insecure"
+COCKROACH_STORE="path=/var/lib/cockroach"
+END
# man pages
- install -d "${pkgdir}/usr/share/man/man1/"
- install -m644 "${srcdir}"/man/*.1 "${pkgdir}/usr/share/man/man1/"
+ install -Dm644 "man"/*.1 -t "$pkgdir/usr/share/man/man1/"
# shell completion
- install -Dm644 cockroach.bash "${pkgdir}/usr/share/bash-completion/completions/cockroach"
- install -Dm644 cockroach.zsh "${pkgdir}/usr/share/zsh/site-functions/_cockroach"
+ install -Dm644 cockroach.bash "$pkgdir/usr/share/bash-completion/completions/cockroach"
+ install -Dm644 cockroach.zsh "$pkgdir/usr/share/zsh/site-functions/_cockroach"
# licenses
- install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- install -Dm644 "${srcdir}/BSD-biogo.txt" "${pkgdir}/usr/share/licenses/${pkgname}/BSD-biogo.txt"
- install -Dm644 "${srcdir}/BSD-golang.txt" "${pkgdir}/usr/share/licenses/${pkgname}/BSD-golang.txt"
- install -Dm644 "${srcdir}/BSD-grpc.txt" "${pkgdir}/usr/share/licenses/${pkgname}/BSD-grpc.txt"
- install -Dm644 "${srcdir}/BSD-vitess.txt" "${pkgdir}/usr/share/licenses/${pkgname}/BSD-vitess.txt"
- install -Dm644 "${srcdir}/BSD-vitess.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LevelDB.txt"
- install -Dm644 "${srcdir}/CCL.txt" "${pkgdir}/usr/share/licenses/${pkgname}/CCL.txt"
- install -Dm644 "${srcdir}/PostgreSQL.txt" "${pkgdir}/usr/share/licenses/${pkgname}/PostgreSQL.txt"
+ install -Dm644 "LICENSE-$pkgver" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 "LICENSE.CCL-$pkgver" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.CCL"
}