summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Fontenelle2022-09-20 11:32:02 -0300
committerRafael Fontenelle2022-09-20 11:35:28 -0300
commit37970995cc3f67fee7cef7432a9b4c92ecdfa39f (patch)
treefbbfb51217c6f4f3664bbd51870f76f91e284c2a
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.
-rw-r--r--.SRCINFO7
-rw-r--r--PKGBUILD48
-rw-r--r--mongodb.conf43
-rw-r--r--mongodb.service37
4 files changed, 36 insertions, 99 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c401825759df..cfb7018b76f1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,12 +1,13 @@
pkgbase = mongodb-bin
pkgdesc = A high-performance, open source, schema-free document-oriented database
pkgver = 6.0.1
- pkgrel = 1
+ pkgrel = 2
url = https://www.mongodb.com/
arch = x86_64
arch = aarch64
license = custom:SSPLv1
license = Apache
+ makedepends = chrpath
depends = mongosh-bin
depends = curl
optdepends = mongodb-tools: The MongoDB tools provide import, export, and diagnostic capabilities.
@@ -16,13 +17,9 @@ pkgbase = mongodb-bin
noextract = mongodb-org-server_6.0.1_x86_64.deb
noextract = mongodb-org-mongos_6.0.1_x86_64.deb
backup = etc/mongodb.conf
- source = mongodb.conf
- source = mongodb.service
source = mongodb.sysusers
source = mongodb.tmpfiles
source = LICENSE
- sha256sums = f2a79c7fcd75253ab1cb888541a0c0678bf3bb78700c79996e24a678f1e42850
- sha256sums = de4f6770c45bc5418883659c479783c0184a6057df1c405a7933637984f82f0a
sha256sums = 47b884569102f7c79017ee78ef2e98204a25aa834c0ee7d5d62c270ab05d4e2b
sha256sums = 51ee1e1f71598aad919db79a195778e6cb6cfce48267565e88a401ebc64497ac
sha256sums = 09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27
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"
}
diff --git a/mongodb.conf b/mongodb.conf
deleted file mode 100644
index 4a82d14d95ab..000000000000
--- a/mongodb.conf
+++ /dev/null
@@ -1,43 +0,0 @@
-# mongod.conf
-
-# for documentation of all options, see:
-# http://docs.mongodb.org/manual/reference/configuration-options/
-
-# Where and how to store data.
-storage:
- dbPath: /var/lib/mongodb
- journal:
- enabled: true
-# engine:
-# mmapv1:
-# wiredTiger:
-
-# where to write logging data.
-systemLog:
- destination: file
- logAppend: true
- path: /var/log/mongodb/mongod.log
-
-# network interfaces
-net:
- port: 27017
- bindIp: 127.0.0.1
-
-
-# how the process runs
-processManagement:
- timeZoneInfo: /usr/share/zoneinfo
-
-#security:
-
-#operationProfiling:
-
-#replication:
-
-#sharding:
-
-## Enterprise-Only Options:
-
-#auditLog:
-
-#snmp:
diff --git a/mongodb.service b/mongodb.service
deleted file mode 100644
index 1f0fbdaed76c..000000000000
--- a/mongodb.service
+++ /dev/null
@@ -1,37 +0,0 @@
-[Unit]
-Description=MongoDB Database Server
-Documentation=https://docs.mongodb.org/manual
-After=network-online.target
-Wants=network-online.target
-
-[Service]
-User=mongodb
-Group=mongodb
-ExecStart=/usr/bin/mongod --config /etc/mongodb.conf
-PIDFile=/run/mongodb/mongod.pid
-# file size
-LimitFSIZE=infinity
-# cpu time
-LimitCPU=infinity
-# virtual memory size
-LimitAS=infinity
-# open files
-LimitNOFILE=64000
-# processes/threads
-LimitNPROC=64000
-# locked memory
-LimitMEMLOCK=infinity
-# total threads (user+kernel)
-TasksMax=infinity
-TasksAccounting=false
-# 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
-TimeoutStartSec=infinity
-
-# Recommended limits for mongod as specified in
-# https://docs.mongodb.com/manual/reference/ulimit/#recommended-ulimit-settings
-
-[Install]
-WantedBy=multi-user.target