summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Harvey2015-07-17 23:22:49 +0000
committerJames Harvey2015-07-17 23:22:49 +0000
commitd83a44533878d633b15d5c992089b6df26f90762 (patch)
tree7d47fb2e9d746dda20d43bbd12d2b4235114c7e5
parentb3db9c3fd42200f15c2af79f7c6d91868b3a1a0b (diff)
downloadaur-d83a44533878d633b15d5c992089b6df26f90762.tar.gz
Timing bug workaround that intermittently causes a signal 15 failure on opensm daemon starting
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD9
-rw-r--r--opensm.launch9
-rw-r--r--opensm.service4
4 files changed, 22 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 33b8af84956..4e1cd441301 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = opensm
pkgdesc = OpenFabrics Alliance InfiniBand Subnet Manager and Administrator
pkgver = 3.3.19
- pkgrel = 1
+ pkgrel = 2
url = https://www.openfabrics.org/index.php/overview.html
arch = x86_64
arch = i686
@@ -11,8 +11,10 @@ pkgbase = opensm
depends = rdma
source = https://www.openfabrics.org/downloads/management/opensm-3.3.19.tar.gz
source = opensm.service
+ source = opensm.launch
md5sums = b41a64985fc3050b934ce6082cbac1be
- md5sums = 130d30d701776a27ecad9c8c90b9eb09
+ md5sums = f1155dd8fb07ce56c427bceb7ce3fffb
+ md5sums = 7cd151f96d46ba1bc651fce0e2b7e8dc
pkgname = opensm
diff --git a/PKGBUILD b/PKGBUILD
index ce565d06627..56b06c56c7a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,16 +5,18 @@
pkgname=opensm
pkgver=3.3.19
-pkgrel=1
+pkgrel=2
pkgdesc='OpenFabrics Alliance InfiniBand Subnet Manager and Administrator'
arch=('x86_64' 'i686')
url=('https://www.openfabrics.org/index.php/overview.html')
license=('GPL2' 'custom:"Open Fabrics Alliance BSD"')
depends=('libibumad' 'rdma')
source=("https://www.openfabrics.org/downloads/management/${pkgname}-${pkgver}.tar.gz"
- 'opensm.service')
+ 'opensm.service'
+ 'opensm.launch')
md5sums=('b41a64985fc3050b934ce6082cbac1be'
- '130d30d701776a27ecad9c8c90b9eb09')
+ 'f1155dd8fb07ce56c427bceb7ce3fffb'
+ '7cd151f96d46ba1bc651fce0e2b7e8dc')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -35,4 +37,5 @@ package() {
# Convert from init.d to systemd
rm -rf ${pkgdir}/etc/init.d
install -Dm644 "${srcdir}/opensm.service" "${pkgdir}/etc/systemd/system/opensm.service"
+ install -Dm755 "${srcdir}/opensm.launch" "${pkgdir}/usr/bin/opensm.launch"
}
diff --git a/opensm.launch b/opensm.launch
new file mode 100644
index 00000000000..08f0b1f5ec2
--- /dev/null
+++ b/opensm.launch
@@ -0,0 +1,9 @@
+#!/bin/bash
+# Copied from Fedora's opensm-3.3.17-4.fc22.x86_64.rpm
+# Modified to just launch opensm
+# Will come back to adding multiple OpenSM daemons running at once, which is what the rest of Fedora's version is for
+#
+# Launch the necessary OpenSM daemons for systemd
+
+(while true; do /usr/bin/opensm; sleep 30; done) &
+exit 0
diff --git a/opensm.service b/opensm.service
index 1280b0d765d..edf2b955127 100644
--- a/opensm.service
+++ b/opensm.service
@@ -11,7 +11,9 @@ After=rdma.service
[Service]
Type=forking
-ExecStart=/usr/bin/opensm --daemon
+# There is a timing bug that intermittently causes signal 15 failures on start
+# Fedora's workaround is to use a separate script
+ExecStart=/usr/bin/opensm.launch
[Install]
WantedBy=network.target