summaryrefslogtreecommitdiff
path: root/community/mfs
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-08-21 00:02:33 +0000
committerroot <root@rshg054.dnsready.net>2012-08-21 00:02:33 +0000
commita3669c04838b48b6891b2ffc4b296fa515f8174f (patch)
treefb838dbf7e59e2f79d7fca0fce6d93c254a5c173 /community/mfs
parent524da814660fa35bca4a24d0faa0a10b7eab5c6f (diff)
Tue Aug 21 00:02:33 UTC 2012
Diffstat (limited to 'community/mfs')
-rw-r--r--community/mfs/PKGBUILD86
-rw-r--r--community/mfs/mfs.install25
-rw-r--r--community/mfs/mfscgiserv.service13
-rw-r--r--community/mfs/mfschunkserver.service14
-rw-r--r--community/mfs/mfsmaster.service13
-rw-r--r--community/mfs/mfsmetalogger.service13
6 files changed, 139 insertions, 25 deletions
diff --git a/community/mfs/PKGBUILD b/community/mfs/PKGBUILD
index fcf870eb4..f7370e8e6 100644
--- a/community/mfs/PKGBUILD
+++ b/community/mfs/PKGBUILD
@@ -1,23 +1,32 @@
-# $Id: PKGBUILD 71606 2012-05-30 19:22:00Z arodseth $
+# $Id: PKGBUILD 75321 2012-08-19 15:17:28Z arodseth $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Thomas S Hatch <thatch45@gmail.com>
pkgbase=mfs
-pkgname=('mfs-client' 'mfs-chunkserver' 'mfs-master')
-pkgver=1.6.25
+pkgname=('mfs-master' 'mfs-chunkserver' 'mfs-client')
+pkgver=1.6.26
pkgrel=1
-pkgdesc="MooseFS, fault tolerant, network distributed file system"
-license=("GPL3")
+pkgdesc='MooseFS, fault tolerant, network distributed file system'
+license=('GPL3')
arch=('x86_64' 'i686')
options=('!libtool')
-depends=('zlib' 'fuse' 'python2' 'bash')
-url="http://www.moosefs.com/"
+depends=('zlib' 'fuse' 'python2' 'bash' 'xfsprogs')
+url='http://www.moosefs.com/'
+install=mfs.install
source=("http://www.moosefs.org/tl_files/mfscode/mfs-$pkgver.tar.gz"
- "mfsmaster"
- "mfschunkserver"
- "mfsmetalogger"
- "mfscgiserv")
-sha256sums=('64b7ce749699e437f47e1561e8044362ea714a8dd2d3bad0c6a7165e9ad142ee'
+ 'mfsmaster.service'
+ 'mfschunkserver.service'
+ 'mfsmetalogger.service'
+ 'mfscgiserv.service'
+ 'mfsmaster'
+ 'mfschunkserver'
+ 'mfsmetalogger'
+ 'mfscgiserv')
+sha256sums=('f250f97c6f2a229277fdbf9fe96036873fd6c95a38f484f06e6b87a404c01885'
+ 'b24fc4f699e7d11fcda00d83a1feb45aa0e6f4f448e675a1857edcf315427fe0'
+ '19262bde4dbefb1d3eba09ba7d507595aed9647328a0a7822bbc1915ae3201a7'
+ 'bf92e93be68308d53f649de84dc5bbb0fb433e33306b8d0c303be6c6c3e59a55'
+ '6725a732c6294ee8817be6c24e3811481bf05e97a0a64108908e2312d7687f1a'
'7c307f7be520644ac5d9c71e39ff7ec7e26800aa77c8a18c51a2d0087e5b2f48'
'2d07e544f4bfeb497c24276936d3a8ce9f906597d6b9c898dc491426b21e74e0'
'd9c072cbb9d9645e5131d08b08628ccc2a2bef0a4e9c6fd8c3c33e50efce39f3'
@@ -26,42 +35,40 @@ sha256sums=('64b7ce749699e437f47e1561e8044362ea714a8dd2d3bad0c6a7165e9ad142ee'
build() {
cd "$srcdir"
- msg2 "Building client..."
+ msg2 'Building client...'
cp -r $pkgbase-$pkgver $pkgbase-client
cd $pkgbase-client
./configure \
--prefix=/usr \
- --sysconfdir=/etc \
+ --sysconfdir=/etc/mfs \
--localstatedir=/var/lib \
--disable-mfschunkserver \
--disable-mfsmaster \
--disable-mfscgi \
--disable-mfscgiserv
make
-
cd ..
- msg2 "Building chunkserver..."
+ msg2 'Building chunkserver...'
cp -r $pkgbase-$pkgver $pkgbase-chunk
cd $pkgbase-chunk
./configure \
--prefix=/usr \
- --sysconfdir=/etc \
+ --sysconfdir=/etc/mfs \
--localstatedir=/var/lib \
--disable-mfsmaster \
--disable-mfsmount \
--disable-mfscgi \
--disable-mfscgiserv
make
-
cd ..
- msg2 "Building master..."
+ msg2 'Building master...'
cp -r $pkgbase-$pkgver $pkgbase-master
cd $pkgbase-master
./configure \
--prefix=/usr \
- --sysconfdir=/etc \
+ --sysconfdir=/etc/mfs \
--localstatedir=/var/lib \
--disable-mfschunkserver \
--disable-mfsmount
@@ -71,7 +78,11 @@ build() {
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"
}
@@ -79,27 +90,52 @@ package_mfs-client() {
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 'Packaging initscript...'
+ install -Dm755 "$srcdir/mfschunkserver" "$pkgdir/etc/rc.d/mfschunkserver"
+
+ msg2 'Cleaning up...'
rm -rf "$pkgdir/usr/share/man/man7"
rmdir "$pkgdir/usr/share/man/man1"
- install -Dm755 "$srcdir/mfschunkserver" "$pkgdir/etc/rc.d/mfschunkserver"
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"
- install -Dm755 "$srcdir/mfsmaster" "$pkgdir/etc/rc.d/mfsmaster"
- install -Dm755 "$srcdir/mfsmetalogger" "$pkgdir/etc/rc.d/mfsmetalogger"
- install -Dm755 "$srcdir/mfscgiserv" "$pkgdir/etc/rc.d/mfscgiserv"
+
+ msg2 'Packaging Systemd services and initscripts...'
+ for fn in master metalogger cgiserv; do
+ install -Dm755 "$srcdir/mfs$fn" "$pkgdir/etc/rc.d/mfs$fn"
+ 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"
- sed -i '0,/on/s//on2/' "$pkgdir/usr/bin/mfscgiserv"
}
# 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..906932aaa
--- /dev/null
+++ b/community/mfs/mfs.install
@@ -0,0 +1,25 @@
+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 '"systemctl enable mfschunkserver" can be used to enable a service'
+ echo "at boot, if you're using systemd."
+ 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