summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO40
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD73
-rw-r--r--fix-openssl11.patch27
-rw-r--r--xtreemfs-dir.service14
-rw-r--r--xtreemfs-mrc.service14
-rw-r--r--xtreemfs-osd.service14
-rw-r--r--xtreemfs-server.install20
8 files changed, 206 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7dcac5172380
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,40 @@
+# Generated by mksrcinfo v8
+# Fri May 5 13:51:54 UTC 2017
+pkgbase = xtreemfs
+ pkgdesc = A fault-tolerant distributed file system for all storage needs
+ pkgver = 1.5.1
+ pkgrel = 1
+ url = http://www.xtreemfs.org
+ arch = x86_64
+ license = BSD
+ makedepends = gcc
+ makedepends = cmake
+ makedepends = make
+ makedepends = apache-ant
+ makedepends = java-environment
+ makedepends = fuse
+ makedepends = boost-libs
+ source = http://www.xtreemfs.org/downloads/XtreemFS-1.5.1.tar.gz
+ source = fix-openssl11.patch
+ source = xtreemfs-server.install
+ source = xtreemfs-dir.service
+ source = xtreemfs-mrc.service
+ source = xtreemfs-osd.service
+ sha256sums = 278f8a6cb58233d42aeb80442a60475aab569c9736f35dc3325005d8f287928c
+ sha256sums = cc543215add8198ffbe363bddcf05182e3e44ecbe55920bbe706b16082dd750f
+ sha256sums = 8dec87857645817813b103c2332ab5b420021e58eb15fc5a2e0d16a1acef230d
+ sha256sums = 301a09fcfbdfd70050f14f2708e796b1ecea9d008cfb2d78ec9130c02722a797
+ sha256sums = 3515b39f91bda2696b924c6cb49d4c402ba8e3696039bf3a492009c574b34ab0
+ sha256sums = d6ff68574c613f636187815df2c6776f95ee7e5da25e35bc5908e091e68ac844
+
+pkgname = xtreemfs-server
+ install = xtreemfs-server.install
+ depends = java-environment
+ depends = util-linux
+
+pkgname = xtreemfs-client
+ depends = attr
+ depends = openssl
+ depends = fuse
+ depends = boost-libs
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..854d20d8b01b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.pkg.tar.xz
+*.tar.gz
+pkg
+src
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..171abfd171c3
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,73 @@
+# Maintainer: Toke Høiland-Jørgensen <toke@toke.dk>
+
+pkgbase=xtreemfs
+pkgname=(xtreemfs-server xtreemfs-client)
+_pkgname=XtreemFS
+pkgver=1.5.1
+pkgrel=1
+pkgdesc="A fault-tolerant distributed file system for all storage needs"
+arch=(x86_64)
+url="http://www.xtreemfs.org"
+license=('BSD')
+makedepends=('gcc' 'cmake' 'make' 'apache-ant' 'java-environment' 'fuse' 'boost-libs')
+source=("http://www.xtreemfs.org/downloads/$_pkgname-$pkgver.tar.gz"
+ "fix-openssl11.patch"
+ "xtreemfs-server.install"
+ "xtreemfs-dir.service"
+ "xtreemfs-mrc.service"
+ "xtreemfs-osd.service")
+sha256sums=('278f8a6cb58233d42aeb80442a60475aab569c9736f35dc3325005d8f287928c'
+ 'cc543215add8198ffbe363bddcf05182e3e44ecbe55920bbe706b16082dd750f'
+ '8dec87857645817813b103c2332ab5b420021e58eb15fc5a2e0d16a1acef230d'
+ '301a09fcfbdfd70050f14f2708e796b1ecea9d008cfb2d78ec9130c02722a797'
+ '3515b39f91bda2696b924c6cb49d4c402ba8e3696039bf3a492009c574b34ab0'
+ 'd6ff68574c613f636187815df2c6776f95ee7e5da25e35bc5908e091e68ac844')
+
+prepare() {
+ cd "$_pkgname-$pkgver"
+ patch -p1 < "$srcdir/fix-openssl11.patch"
+}
+
+build() {
+ cd "$_pkgname-$pkgver"
+ make
+}
+
+package_xtreemfs-server() {
+ depends=('java-environment' 'util-linux')
+ install=xtreemfs-server.install
+
+ cd "$_pkgname-$pkgver"
+ install -d -m 0750 "$pkgdir/etc/xos/xtreemfs"
+ install -d -m 0750 "$pkgdir/var/lib/xtreemfs"
+ install -d -m 0750 "$pkgdir/var/log/xtreemfs"
+ install -d -m 0750 "$pkgdir/etc/xos/xtreemfs/truststore"
+
+ make DESTDIR="$pkgdir/" install-server install-tools
+
+ rm -rf "$pkgdir/etc/init.d"
+ rm -f "$pkgdir/etc/xos/xtreemfs/"{generate_uuid,postinstall_setup.sh}
+
+ install -d -m 0755 "$pkgdir/usr/lib/systemd/system/"
+ install -m 0644 "$srcdir/xtreemfs-dir.service" "$pkgdir/usr/lib/systemd/system/"
+ install -m 0644 "$srcdir/xtreemfs-mrc.service" "$pkgdir/usr/lib/systemd/system/"
+ install -m 0644 "$srcdir/xtreemfs-osd.service" "$pkgdir/usr/lib/systemd/system/"
+
+ install -d "$pkgdir/usr/share/licenses/xtreemfs-server"
+ mv "$pkgdir/usr/share/doc/xtreemfs-server/LICENSE" "$pkgdir/usr/share/licenses/xtreemfs-server/"
+ rm -rf "$pkgdir/usr/share/doc"
+
+ chmod 640 "$pkgdir/etc/xos/xtreemfs/"*.properties
+}
+
+package_xtreemfs-client() {
+ depends=('attr' 'openssl' 'fuse' 'boost-libs')
+ cd "$_pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install-client
+
+ rm -rf "$pkgdir/sbin"
+
+ install -d "$pkgdir/usr/share/licenses/xtreemfs-client"
+ mv "$pkgdir/usr/share/doc/xtreemfs-client/LICENSE" "$pkgdir/usr/share/licenses/xtreemfs-client/"
+ rm -rf "$pkgdir/usr/share/doc"
+}
diff --git a/fix-openssl11.patch b/fix-openssl11.patch
new file mode 100644
index 000000000000..ac76677a5e1e
--- /dev/null
+++ b/fix-openssl11.patch
@@ -0,0 +1,27 @@
+--- a/cpp/src/rpc/client.cpp 2015-03-12 13:43:08.000000000 +0100
++++ b/cpp/src/rpc/client.cpp 2017-05-05 11:51:09.300379804 +0200
+@@ -357,19 +357,20 @@
+ }
+
+ bool override = false;
+- if (sctx->error != 0) {
++ int err = X509_STORE_CTX_get_error(sctx);
++ if (err != 0) {
+ if (Logging::log->loggingActive(LEVEL_DEBUG)) {
+ Logging::log->getLog(LEVEL_DEBUG) << "OpenSSL verify error: "
+- << sctx->error << endl;
++ << err << endl;
+ }
+
+ // Ignore error if verification is turned off in general or the error has
+ // been disabled specifically.
+ if (!ssl_options->verify_certificates() ||
+- ssl_options->ignore_verify_error(sctx->error)) {
++ ssl_options->ignore_verify_error(err)) {
+ if (Logging::log->loggingActive(LEVEL_WARN)) {
+ Logging::log->getLog(LEVEL_WARN) << "Ignoring OpenSSL verify error: "
+- << sctx->error << " because of user settings." << endl;
++ << err << " because of user settings." << endl;
+ }
+ override = true;
+ }
diff --git a/xtreemfs-dir.service b/xtreemfs-dir.service
new file mode 100644
index 000000000000..9f9b87743818
--- /dev/null
+++ b/xtreemfs-dir.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=XtreemFS Directory Service (DIR)
+Requires=network.target
+After=network.target local-fs.target
+
+[Service]
+Type=simple
+Environment=CLASSPATH=/usr/share/java/XtreemFS.jar:/usr/share/java/BabuDB.jar:/usr/share/java/Flease.jar:/usr/share/java/protobuf-java-2.5.0.jar:/usr/share/java/Foundation.jar:/usr/share/java/jdmkrt.jar:/usr/share/java/jdmktk.jar:/usr/share/java/commons-codec-1.3.jar
+ExecStart=/usr/bin/java -ea org.xtreemfs.dir.DIR /etc/xos/xtreemfs/dirconfig.properties
+User=xtreemfs
+Group=xtreemfs
+
+[Install]
+WantedBy=multi-user.target
diff --git a/xtreemfs-mrc.service b/xtreemfs-mrc.service
new file mode 100644
index 000000000000..da21b1aee1b1
--- /dev/null
+++ b/xtreemfs-mrc.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=XtreemFS Metadata and Replica Catalog (MRC) service
+Requires=network.target
+After=network.target local-fs.target
+
+[Service]
+Type=simple
+Environment=CLASSPATH=/usr/share/java/XtreemFS.jar:/usr/share/java/BabuDB.jar:/usr/share/java/Flease.jar:/usr/share/java/protobuf-java-2.5.0.jar:/usr/share/java/Foundation.jar:/usr/share/java/jdmkrt.jar:/usr/share/java/jdmktk.jar:/usr/share/java/commons-codec-1.3.jar
+ExecStart=/usr/bin/java -ea org.xtreemfs.mrc.MRC /etc/xos/xtreemfs/mrcconfig.properties
+User=xtreemfs
+Group=xtreemfs
+
+[Install]
+WantedBy=multi-user.target
diff --git a/xtreemfs-osd.service b/xtreemfs-osd.service
new file mode 100644
index 000000000000..23dcb3c649ab
--- /dev/null
+++ b/xtreemfs-osd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=XtreemFS Object Storage Device (OSD) service
+Requires=network.target
+After=network.target local-fs.target
+
+[Service]
+Type=simple
+Environment=CLASSPATH=/usr/share/java/XtreemFS.jar:/usr/share/java/BabuDB.jar:/usr/share/java/Flease.jar:/usr/share/java/protobuf-java-2.5.0.jar:/usr/share/java/Foundation.jar:/usr/share/java/jdmkrt.jar:/usr/share/java/jdmktk.jar:/usr/share/java/commons-codec-1.3.jar
+ExecStart=/usr/bin/java -ea org.xtreemfs.osd.OSD /etc/xos/xtreemfs/osdconfig.properties
+User=xtreemfs
+Group=xtreemfs
+
+[Install]
+WantedBy=multi-user.target
diff --git a/xtreemfs-server.install b/xtreemfs-server.install
new file mode 100644
index 000000000000..f2a8243f2b75
--- /dev/null
+++ b/xtreemfs-server.install
@@ -0,0 +1,20 @@
+XTREEMFS_GENERATE_UUID_SCRIPT="/etc/xos/xtreemfs/generate_uuid"
+
+post_install() {
+ if ! getent passwd xtreemfs >/dev/null
+ then
+ useradd -r -U -d /var/lib/xtreemfs -s /sbin/nologin xtreemfs
+ fi
+
+ chown -R xtreemfs:xtreemfs /var/lib/xtreemfs
+ chown -R xtreemfs:xtreemfs /var/log/xtreemfs
+ chown -R :xtreemfs /etc/xos/xtreemfs
+
+ if [ -x "$XTREEMFS_GENERATE_UUID_SCRIPT" ]; then
+ for conf in /etc/xos/xtreemfs/*.properties; do
+ "$XTREEMFS_GENERATE_UUID_SCRIPT" "$conf"
+ done
+ else
+ echo "UUID can't be generated automatically. Please enter a correct UUID in each config file of an XtreemFS service."
+ fi
+}