summaryrefslogtreecommitdiff
path: root/community/mfs/PKGBUILD
blob: 6963d5078eecf14422655a0a406e73562ca2adf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# $Id: PKGBUILD 99912 2013-10-31 02:26:00Z allan $
# 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"
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: