summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorRafael Fontenelle2022-09-20 11:32:02 -0300
committerRafael Fontenelle2022-09-20 11:35:28 -0300
commit37970995cc3f67fee7cef7432a9b4c92ecdfa39f (patch)
treefbbfb51217c6f4f3664bbd51870f76f91e284c2a /PKGBUILD
parent6ac4d41bb85f1729d127ed475338f7236c5b1685 (diff)
downloadaur-37970995cc3f67fee7cef7432a9b4c92ecdfa39f.tar.gz
Remove conf and service files
Edit mongod.conf and mongod.service provided by the tarball, instead of adding those files to the source package. Also change installation commands, replacing mkdir and mv with the 'install' command for every file to be installed.
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD48
1 files changed, 34 insertions, 14 deletions
diff --git a/PKGBUILD b/PKGBUILD
index cf931ee9e69f..28dc75113e59 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,12 +5,13 @@ pkgname="mongodb-bin"
pkgver="6.0.1"
_basever="6.0"
_basedist="focal"
-pkgrel="1"
+pkgrel="2"
pkgdesc="A high-performance, open source, schema-free document-oriented database"
arch=("x86_64" "aarch64")
url="https://www.mongodb.com/"
license=("custom:SSPLv1" "Apache")
depends=(mongosh-bin curl)
+makedepends=(chrpath)
optdepends=("mongodb-tools: The MongoDB tools provide import, export, and diagnostic capabilities.")
provides=("mongodb=$pkgver")
conflicts=("mongodb" "mongodb-shell-bin")
@@ -18,8 +19,6 @@ backup=("etc/mongodb.conf")
_repo_url=https://repo.mongodb.org/apt/ubuntu/dists/${_basedist}/mongodb-org/${_basever}/multiverse
source=(
- "mongodb.conf"
- "mongodb.service"
"mongodb.sysusers"
"mongodb.tmpfiles"
"LICENSE"
@@ -36,9 +35,7 @@ noextract=(
mongodb-org-server_${pkgver}_${CARCH}.deb
mongodb-org-mongos_${pkgver}_${CARCH}.deb
)
-sha256sums=('f2a79c7fcd75253ab1cb888541a0c0678bf3bb78700c79996e24a678f1e42850'
- 'de4f6770c45bc5418883659c479783c0184a6057df1c405a7933637984f82f0a'
- '47b884569102f7c79017ee78ef2e98204a25aa834c0ee7d5d62c270ab05d4e2b'
+sha256sums=('47b884569102f7c79017ee78ef2e98204a25aa834c0ee7d5d62c270ab05d4e2b'
'51ee1e1f71598aad919db79a195778e6cb6cfce48267565e88a401ebc64497ac'
'09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27')
sha256sums_x86_64=('8f1d8abd3cacdee1f9cd3ad444cf060a3e804e2354eff7f943bc942089ed059b'
@@ -50,15 +47,38 @@ prepare() {
mkdir -p output
bsdtar -O -xf mongodb-org-server_${pkgver}_${CARCH}.deb data.tar.xz | bsdtar -C output -xJf - #server extracted
bsdtar -O -xf mongodb-org-mongos_${pkgver}_${CARCH}.deb data.tar.xz | bsdtar -C output -xJf - #mongos extracted
+
+ # Remove insecure RUNPATH '$ORIGIN/../lib' as reported by namcap
+ chrpath -d output/usr/bin/mongos
+
+ # Keep historical Arch dbPath
+ sed -i 's|dbPath: /var/lib/mongo$|dbPath: /var/lib/mongodb|' output/etc/mongod.conf
+
+ # Keep historical Arch conf file name
+ sed -i 's|/etc/mongod.conf|/etc/mongodb.conf|' output/lib/systemd/system/mongod.service
+
+ # Keep historical Arch user name (no need for separate daemon group name)
+ sed -i 's/User=mongod$/User=mongodb/' output/lib/systemd/system/mongod.service
+ sed -i 's/Group=mongod$/Group=mongodb/' output/lib/systemd/system/mongod.service
+
+ # Avoid legacy PID filepath
+ sed -i 's|/var/run/|/var/|' output/lib/systemd/system/mongod.service
+
+ # Remove sysconfig file, used by upstream's init.d script not used on Arch
+ sed -i '/^EnvironmentFile=/d' output/lib/systemd/system/mongod.service
+
+ # Make systemd wait as long as it takes for MongoDB to start
+ # If MongoDB needs a long time to start, prevent systemd from restarting it every 90 seconds
+ # See: https://jira.mongodb.org/browse/SERVER-38086
+ sed -i 's/\[Service]/[Service]\nTimeoutStartSec=infinity/' output/lib/systemd/system/mongod.service
}
package() {
- mkdir -p "$pkgdir/usr/share/man"
- cp -r "output/usr/bin" "$pkgdir/usr/"
- cp -r "output/usr/share/man/man1" "$pkgdir/usr/share/man/"
- install -Dm644 "mongodb.conf" "$pkgdir/etc/mongodb.conf"
- install -Dm644 "mongodb.service" "$pkgdir/usr/lib/systemd/system/mongodb.service"
- install -Dm644 "mongodb.sysusers" "$pkgdir/usr/lib/sysusers.d/mongodb.conf"
- install -Dm644 "mongodb.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/mongodb.conf"
- install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 output/etc/mongod.conf "$pkgdir/etc/mongodb.conf"
+ install -Dm644 output/lib/systemd/system/mongod.service "$pkgdir/usr/lib/systemd/system/mongodb.service"
+ install -Dm755 output/usr/bin/* -t "$pkgdir/usr/bin"
+ install -Dm644 output/usr/share/man/man1/* -t "$pkgdir/usr/share/man/man1"
+ install -Dm644 mongodb.sysusers "$pkgdir/usr/lib/sysusers.d/mongodb.conf"
+ install -Dm644 mongodb.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/mongodb.conf"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}