diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 152 |
1 files changed, 91 insertions, 61 deletions
@@ -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" } |