diff options
Diffstat (limited to 'community/mfs')
-rw-r--r-- | community/mfs/PKGBUILD | 129 | ||||
-rw-r--r-- | community/mfs/mfs.install | 24 | ||||
-rw-r--r-- | community/mfs/mfscgiserv.service | 13 | ||||
-rw-r--r-- | community/mfs/mfschunkserver.service | 14 | ||||
-rw-r--r-- | community/mfs/mfsmaster.service | 13 | ||||
-rw-r--r-- | community/mfs/mfsmetalogger.service | 13 |
6 files changed, 206 insertions, 0 deletions
diff --git a/community/mfs/PKGBUILD b/community/mfs/PKGBUILD new file mode 100644 index 000000000..35be11dc7 --- /dev/null +++ b/community/mfs/PKGBUILD @@ -0,0 +1,129 @@ +# $Id: PKGBUILD 87206 2013-03-28 15:53:12Z arodseth $ +# Maintainer: Alexander Rødseth <rodseth@gmail.com> +# Contributor: Thomas S Hatch <thatch45@gmail.com> + +pkgbase=mfs +pkgname=('mfs-master' 'mfs-chunkserver' 'mfs-client') +pkgver=1.6.27_1 +pkgrel=1 +pkgdesc='MooseFS, fault tolerant, network distributed file system' +url='http://www.moosefs.com/' +arch=('x86_64' 'i686') +license=('GPL3') +depends=('zlib' 'fuse' 'python2' 'bash' 'xfsprogs') +install="$pkgbase.install" +options=('!libtool') +source=("http://www.moosefs.org/tl_files/${pkgbase}code/$pkgbase-${pkgver/_/-}.tar.gz" + 'mfsmaster.service' + 'mfschunkserver.service' + 'mfsmetalogger.service' + 'mfscgiserv.service') +sha256sums=('dfe682f0b184ed13e602274825148cd9a7ddfe4f0894e1ab9c1823f66208cb28' + 'b24fc4f699e7d11fcda00d83a1feb45aa0e6f4f448e675a1857edcf315427fe0' + '19262bde4dbefb1d3eba09ba7d507595aed9647328a0a7822bbc1915ae3201a7' + 'bf92e93be68308d53f649de84dc5bbb0fb433e33306b8d0c303be6c6c3e59a55' + '6725a732c6294ee8817be6c24e3811481bf05e97a0a64108908e2312d7687f1a') + +build() { + cd "$srcdir" + + msg2 'Building client...' + cp -r "$pkgbase-${pkgver%_1}" "$pkgbase-client" + cd "$pkgbase-client" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/mfs \ + --localstatedir=/var/lib \ + --disable-mfschunkserver \ + --disable-mfsmaster \ + --disable-mfscgi \ + --disable-mfscgiserv + make + cd .. + + msg2 'Building chunkserver...' + cp -r "$pkgbase-${pkgver%_1}" "$pkgbase-chunk" + cd "$pkgbase-chunk" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/mfs \ + --localstatedir=/var/lib \ + --disable-mfsmaster \ + --disable-mfsmount \ + --disable-mfscgi \ + --disable-mfscgiserv + make + cd .. + + msg2 'Building master...' + cp -r "$pkgbase-${pkgver%_1}" "$pkgbase-master" + cd "$pkgbase-master" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/mfs \ + --localstatedir=/var/lib \ + --disable-mfschunkserver \ + --disable-mfsmount + make +} + +package_mfs-client() { + depends=('zlib' 'fuse' 'bash') + cd "$srcdir/$pkgbase-client" + + msg2 'Packaging client...' + make DESTDIR="$pkgdir" install + + msg2 'Cleaning up...' + rm -rf "$pkgdir/usr/share/man/man7" + rmdir "$pkgdir/usr/share/man/man5" +} + +package_mfs-chunkserver() { + depends=('zlib' 'bash') + cd "$srcdir/$pkgbase-chunk" + + msg2 'Packaging chunkserver...' + make DESTDIR="$pkgdir" install + + msg2 'Packaging Systemd service...' + install -Dm644 "$srcdir/mfschunkserver.service" \ + "$pkgdir/usr/lib/systemd/system/mfschunkserver.service" + + msg2 'Cleaning up...' + rm -rf "$pkgdir/usr/share/man/man7" + rmdir "$pkgdir/usr/share/man/man1" + mv "$pkgdir/usr/sbin" "$pkgdir/usr/bin" +} + +package_mfs-master() { + depends=('zlib' 'python2') + cd "$srcdir/$pkgbase-master" + + msg2 'Packaging master, metalogger and web interface...' + make DESTDIR="$pkgdir" install + + msg2 'Packaging various text files...' + install -Dm644 README "$pkgdir/usr/share/doc/$pkgbase/README" + install -Dm644 INSTALL "$pkgdir/usr/share/doc/$pkgbase/INSTALL" + install -Dm644 NEWS "$pkgdir/usr/share/doc/$pkgbase/NEWS" + install -Dm644 UPGRADE "$pkgdir/usr/share/doc/$pkgbase/UPGRADE" + + msg2 'Packaging Systemd services...' + for fn in master metalogger cgiserv; do + install -Dm644 "$srcdir/mfs$fn.service" \ + "$pkgdir/usr/lib/systemd/system/mfs$fn.service" + done + + msg2 'Python2 fix...' + sed -i '0,/on/s//on2/' \ + "$pkgdir/usr/sbin/mfscgiserv" \ + "$pkgdir/usr/share/mfscgi/chart.cgi" \ + "$pkgdir/usr/share/mfscgi/mfs.cgi" + + msg2 'Cleaning up...' + rmdir "$pkgdir/usr/share/man/man1" + mv "$pkgdir/usr/sbin" "$pkgdir/usr/bin" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/mfs/mfs.install b/community/mfs/mfs.install new file mode 100644 index 000000000..433595cb0 --- /dev/null +++ b/community/mfs/mfs.install @@ -0,0 +1,24 @@ +post_upgrade() { + # Moving the old configuration to the new location at /etc/mfs/ + for fn in chunkserver hdd mount metalogger master exports topology; do + if [ -e /etc/mfs$fn.cfg -a ! -e /etc/mfs/mfs$fn.cfg ]; then + echo "Moving /etc/mfs$fn.cfg to /etc/mfs/mfs$fn.cfg" + mv /etc/mfs$fn.cfg /etc/mfs/mfs$fn.cfg + fi + done +} + +post_install() { + post_upgrade + echo + echo 'For configuring MooseFS, the .cfg.dist files in /etc/mfs can' + echo 'be used as a basis for writing the corresponding .cfg files.' + echo + echo 'To troubleshoot a service, like "mfschunkserver", just running' + echo '"/usr/bin/mfschunkserver start" can be helpful.' + echo + echo 'Systemd is supported for starting services at boot.' + echo +} + +# vim:set ts=2 sw=2 et: diff --git a/community/mfs/mfscgiserv.service b/community/mfs/mfscgiserv.service new file mode 100644 index 000000000..09daf41b7 --- /dev/null +++ b/community/mfs/mfscgiserv.service @@ -0,0 +1,13 @@ +[Unit] +Description=Distributed file system (web interface) +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/mfscgiserv +ExecStop=/bin/kill -15 $MAINPID +PIDFile=/run/mfs/mfscgiserv.pid +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/community/mfs/mfschunkserver.service b/community/mfs/mfschunkserver.service new file mode 100644 index 000000000..83ef11adc --- /dev/null +++ b/community/mfs/mfschunkserver.service @@ -0,0 +1,14 @@ +[Unit] +Description=Distributed file system (chunk server) +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/mfschunkserver start +ExecStop=/usr/bin/mfschunkserver stop +ExecReload=/usr/bin/mfschunkserver reload +PIDFile=/run/mfs/mfschunkserver.pid +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/community/mfs/mfsmaster.service b/community/mfs/mfsmaster.service new file mode 100644 index 000000000..410774f9a --- /dev/null +++ b/community/mfs/mfsmaster.service @@ -0,0 +1,13 @@ +[Unit] +Description=Distributed file system (master) +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/mfsmaster start +ExecStop=/usr/bin/mfsmaster stop +PIDFile=/run/mfs/mfsmaster.pid +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/community/mfs/mfsmetalogger.service b/community/mfs/mfsmetalogger.service new file mode 100644 index 000000000..611afc532 --- /dev/null +++ b/community/mfs/mfsmetalogger.service @@ -0,0 +1,13 @@ +[Unit] +Description=Distributed file system (meta logger) +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/mfsmetalogger start +ExecStop=/usr/bin/mfsmetalogger stop +PIDFile=/run/mfs/mfsmetalogger.pid +Restart=always + +[Install] +WantedBy=multi-user.target |