Skip to content

Instantly share code, notes, and snippets.

@holymonson
Created June 18, 2019 05:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save holymonson/f003043faad75e135bbad7795e9c1380 to your computer and use it in GitHub Desktop.
Save holymonson/f003043faad75e135bbad7795e9c1380 to your computer and use it in GitHub Desktop.
aarch64 suppport for mongodb
diff --git a/PKGBUILD b/PKGBUILD
index 3a1a609..3e45adb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,30 +5,49 @@ pkgver="4.0.10"
basever="4.0"
pkgrel="1"
pkgdesc="A high-performance, open source, schema-free document-oriented database"
-arch=("x86_64")
+arch=("x86_64" "aarch64")
url="https://www.mongodb.com/"
license=("SSPLv1")
+depends_aarch64=("libcurl-openssl-1.0")
provides=("mongodb=$pkgver")
conflicts=("mongodb")
optdepends=("mongodb-tools: The MongoDB tools provide import, export, and diagnostic capabilities.")
-source=(
- "https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/${basever}/multiverse/binary-amd64/mongodb-org-shell_${pkgver}_amd64.deb"
- "https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/${basever}/multiverse/binary-amd64/mongodb-org-server_${pkgver}_amd64.deb"
- "https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/${basever}/multiverse/binary-amd64/mongodb-org-mongos_${pkgver}_amd64.deb"
- "mongodb.service"
+
+source_x86_64=(
+ mongodb-org-shell_${pkgver}_x86_64.deb::"https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/${basever}/multiverse/binary-amd64/mongodb-org-shell_${pkgver}_amd64.deb"
+ mongodb-org-server_${pkgver}_x86_64.deb::"https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/${basever}/multiverse/binary-amd64/mongodb-org-server_${pkgver}_amd64.deb"
+ mongodb-org-mongos_${pkgver}_x86_64.deb::"https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/${basever}/multiverse/binary-amd64/mongodb-org-mongos_${pkgver}_amd64.deb"
+ "mongodb_x86_64.service"
+ "mongodb.conf"
+ "mongodb.sysusers"
+ "mongodb.tmpfiles"
+ "LICENSE")
+source_aarch64=(
+ mongodb-org-shell_${pkgver}_aarch64.deb::"https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/${basever}/multiverse/binary-arm64/mongodb-org-shell_${pkgver}_arm64.deb"
+ mongodb-org-server_${pkgver}_aarch64.deb::"https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/${basever}/multiverse/binary-arm64/mongodb-org-server_${pkgver}_arm64.deb"
+ mongodb-org-mongos_${pkgver}_aarch64.deb::"https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/${basever}/multiverse/binary-arm64/mongodb-org-mongos_${pkgver}_arm64.deb"
+ "mongodb_aarch64.service"
"mongodb.conf"
"mongodb.sysusers"
"mongodb.tmpfiles"
"LICENSE")
-sha256sums=("cc642e80efd23f7dd1f60a447192920a88f7d8159c0dd5057628e0eb5554056d"
- "44cebea04e323b047bcda044d3fce890e11637de89a894d53fb7bb98f399d272"
- "26719bc25dfbaac16cf5ff2f7d9dbc4371ba1dbc179e8829e3661bdd78acb212"
- "19f55ab28652b3817e98fc3f15cc2f6f3255a5e1dfd7b0d5a27c9ba22fd2703e"
- "8010ce728d657524cd76b5afda7ffbc1cc389642336b12b89cec5df2b09fc0e4"
- "47b884569102f7c79017ee78ef2e98204a25aa834c0ee7d5d62c270ab05d4e2b"
- "51ee1e1f71598aad919db79a195778e6cb6cfce48267565e88a401ebc64497ac"
- "09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27")
+sha256sums_x86_64=('cc642e80efd23f7dd1f60a447192920a88f7d8159c0dd5057628e0eb5554056d'
+ '44cebea04e323b047bcda044d3fce890e11637de89a894d53fb7bb98f399d272'
+ '26719bc25dfbaac16cf5ff2f7d9dbc4371ba1dbc179e8829e3661bdd78acb212'
+ '19f55ab28652b3817e98fc3f15cc2f6f3255a5e1dfd7b0d5a27c9ba22fd2703e'
+ '8010ce728d657524cd76b5afda7ffbc1cc389642336b12b89cec5df2b09fc0e4'
+ '47b884569102f7c79017ee78ef2e98204a25aa834c0ee7d5d62c270ab05d4e2b'
+ '51ee1e1f71598aad919db79a195778e6cb6cfce48267565e88a401ebc64497ac'
+ '09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27')
+sha256sums_aarch64=('5f0b45eb7bb11b782f9fd102059c4260207a3d97392475f546a6d16aa5c700ed'
+ '30db23b1b998a6a7736b2f781c2c00e80613222dca8f570e4b87ec2b5ab44c71'
+ '0418d0c9c6c7dbff2aee7cb0bbd7b38fbe4f070df1cc88600d48551de43ded3e'
+ '965a166f1aabd5f6b06c0a6c0939920ec6aad87407b695c61ce0f2a8c450b680'
+ '8010ce728d657524cd76b5afda7ffbc1cc389642336b12b89cec5df2b09fc0e4'
+ '47b884569102f7c79017ee78ef2e98204a25aa834c0ee7d5d62c270ab05d4e2b'
+ '51ee1e1f71598aad919db79a195778e6cb6cfce48267565e88a401ebc64497ac'
+ '09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27')
backup=("etc/mongodb.conf")
@@ -36,9 +55,9 @@ prepare() {
cd "${srcdir}"
mkdir -p "${srcdir}/output"
tar -xvf "${srcdir}/data.tar.xz" -C "${srcdir}/output" #mongos extracted
- ar x mongodb-org-server_${pkgver}_amd64.deb
+ ar x mongodb-org-server_${pkgver}_${CARCH}.deb
tar -xvf "${srcdir}/data.tar.xz" -C "${srcdir}/output" #server extracted
- ar x mongodb-org-shell_${pkgver}_amd64.deb
+ ar x mongodb-org-shell_${pkgver}_${CARCH}.deb
tar -xvf "${srcdir}/data.tar.xz" -C "${srcdir}/output" #shell extracted
}
@@ -48,7 +67,7 @@ package() {
cp -r "$srcdir/output/usr/bin" "$pkgdir/usr/"
cp -r "$srcdir/output/usr/share/man/man1" "$pkgdir/usr/share/man/"
install -Dm644 "$srcdir/mongodb.conf" "$pkgdir/etc/mongodb.conf"
- install -Dm644 "$srcdir/mongodb.service" "$pkgdir/usr/lib/systemd/system/mongodb.service"
+ install -Dm644 "$srcdir/mongodb_${CARCH}.service" "$pkgdir/usr/lib/systemd/system/mongodb.service"
install -Dm644 "$srcdir/mongodb.sysusers" "$pkgdir/usr/lib/sysusers.d/mongodb.conf"
install -Dm644 "$srcdir/mongodb.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/mongodb.conf"
install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
diff --git a/mongodb_aarch64.service b/mongodb_aarch64.service
new file mode 100644
index 0000000..6a2c6d8
--- /dev/null
+++ b/mongodb_aarch64.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=High-performance, schema-free document-oriented database
+After=network.target
+
+[Service]
+User=mongodb
+Environment="LD_LIBRARY_PATH=/usr/lib/libcurl-openssl-1.0"
+ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mongodb.service b/mongodb_x86_64.service
similarity index 100%
rename from mongodb.service
rename to mongodb_x86_64.service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment