IGNOREPATH=/etc:/home:/var:/dev:/boot:/root:/tmp:/usr/local:/bin:/mnt:/usr/src
STRIPLIB=y
STRIPBIN=y

VERSION=2.5.6
VATTR=2.4.8
VXFSPROGS=2.5.6
VDMAPI=2.0.8
VACL=2.2.15
VXFSDUMP=2.2.13
PROGNAME="xfsprogs $VERSION"
DESC="\
xfsprogs (Utilities for SGI's XFS filesystem)                          \n\
                                                                       \n\
XFS is a high performance journaling filesystem which originated on    \n\
the SGI IRIX platform.  It is completely multi-threaded, can support   \n\
large files and large filesystems, extended attributes, variable block \n\
sizes, is extent based, and makes extensive use of Btrees              \n\
(directories, extents, free space) to aid both performance and         \n\
scalability."

BUILD=1
MAINTAINER="Mark Post <mark.post@eds.com>"
SOURCE=ftp://oss.sgi.com/projects/xfs/download/patches/
PKGNAME=xfsprogs-$VERSION-s390-$BUILD
TAG=OPT

compile() {
   tar -zxvf $CWD/attr-$VATTR.src.tar.gz
   cd attr-$VATTR
   ./configure --prefix=/usr \
               --enable-shared=no
   cat $CWD/buildmacros.attr.diff | patch -p1
   make
   make install
   make install-lib
   make install-dev
   # hacks
   cp libattr/.libs/libattr.al /usr/lib/libattr.a
   cp -r include /usr/include/attr
   rm -rf /usr/doc/attr

   cd $TMP
   tar -zxvf $CWD/xfsprogs-$VERSION.src.tar.gz
   cd xfsprogs-$VERSION/
   ROOT_PREFIX=/package-xfsprogs/ PREFIX=/package-xfsprogs/usr \
   ./configure --prefix=/usr \
               --enable-shared=no
   cat $CWD/builddefs.xfsprogs.diff | patch -p1
   cat $CWD/buildmacros.xfsprogs.diff | patch -p1
   make
   make install
   make install-dev
   # hacks
   cp ./libhandle/.libs/libhandle.al /usr/lib/libhandle.a
   cp ./libdisk/.libs/libdisk.al /usr/lib/libdisk.a
   cp ./libxlog/.libs/libxlog.al /usr/lib/libxlog.a
   cp ./libxfs/.libs/libxfs.al /usr/lib/libxfs.a
   rm -rf /usr/doc/xfsprogs

   cd $TMP
   tar -zxvf $CWD/dmapi-$VDMAPI.src.tar.gz
   cd dmapi-$VDMAPI
   ./configure --prefix=/usr \
               --enable-shared=no
   cat $CWD/buildmacros.dmapi.diff | patch -p1
   make
   make install
   make install-dev
   # hacks
   cp libdm/.libs/libdm.al /usr/lib/libdm.a
   rm -rf /usr/doc/dmapi

   cd $TMP
   tar -zxvf $CWD/acl-$VACL.src.tar.gz
   cd acl-$VACL
   ./configure --prefix=/usr \
               --enable-shared=no
   make

   cd $TMP
   tar -zxvf $CWD/xfsdump-$VXFSDUMP.src.tar.gz
   cd xfsdump-$VXFSDUMP
   ./configure --prefix=/usr \
               --enable-shared=no
   cat $CWD/builddefs.xfsdump.diff | patch -p1
   make
}

install() {
   cd $TMP/attr-$VATTR
   make install
   make install-lib
   make install-dev
   # hacks
   cp libattr/.libs/libattr.al /usr/lib/libattr.a
   cp -r include /usr/include/attr
   mv /usr/doc/attr /usr/doc/attr-$VATTR

   cd $TMP/xfsprogs-$VERSION/
   make install
   make install-dev
   # hacks
   cp ./libhandle/.libs/libhandle.al /usr/lib/libhandle.a
   cp ./libdisk/.libs/libdisk.al /usr/lib/libdisk.a
   cp ./libxlog/.libs/libxlog.al /usr/lib/libxlog.a
   cp ./libxfs/.libs/libxfs.al /usr/lib/libxfs.a
   mv /usr/doc/xfsprogs /usr/doc/xfsprogs-$VXFSPROGS

   cd $TMP/dmapi-$VDMAPI
   make
   make install
   make install-dev
   # hacks
   cp libdm/.libs/libdm.al /usr/lib/libdm.a
   mv /usr/doc/dmapi /usr/doc/dmapi-$VDMAPI

   cd $TMP/acl-$VACL
   make install install-lib
   mv /usr/doc/acl /usr/doc/acl-$VACL

   cd $TMP/xfsdump-$VXFSDUMP
   make install
   mv /usr/doc/xfsdump /usr/doc/xfsdump-$VXFSDUMP

   # Don't save this stuff yet.
   rm -f /usr/lib/libattr.a /usr/lib/libdisk.a /usr/lib/libdm.a \
         /usr/lib/libhandle.a /usr/lib/libxfs.a /usr/lib/libxlog.a
   rm -r /usr/include/attr /usr/include/disk /usr/include/xfs

   # Move these to /sbin:
   mv /usr/sbin/fsck.xfs /sbin/fsck.xfs
   mv /usr/sbin/mkfs.xfs /sbin/mkfs.xfs
   mv /usr/sbin/xfs_repair /sbin/xfs_repair

   ( cd /usr/libexec/
     rm -f libattr.al libdisk.al libdm.al libhandle.al libxfs.al libxlog.al
   )

   # Pat doesn't include these pages
   ( cd /usr/man/man2
     rm -f getxattr.2* \
           listxattr.2* \
           removexattr.2* \
           setxattr.2*
   )
   # Pat doesn't include these symlinks
   ( cd /usr/man/man2
     rm -rf fgetxattr.2* \
           flistxattr.2* \
           fremovexattr.2* \
           fsetxattr.2* \
           lgetxattr.2* \
           llistxattr.2* \
           lremovexattr.2* \
           lsetxattr.2*
   )

   # Pat doesn't include these pages
   ( cd /usr/man/man3
     rm -f attr_get.3* \
           attr_multi.3* \
           attr_remove.3* \
           attr_set.3* \
           dmapi.3* \
           path_to_handle.3* \
           xfsctl.3*
   )

   # Pat doesn't include these symlinks
   ( cd /usr/man/man3
     rm -rf attr_getf.3* \
            attr_list_by_handle.3* \
            attr_multi_by_handle.3* \
            attr_multif.3* \
            attr_removef.3* \
            attr_setf.3* \
            free_handle.3* \
            fssetdm_by_handle.3* \
            handle_to_fshandle.3* \
            open_by_handle.3* \
            path_to_fshandle.3* \
            readlink_by_handle.3*
   )
}

attributes() {
   chown -R root.bin $PKG/sbin/* \
                      $PKG/usr/bin
   chmod 755 $PKG/usr/doc/attr-$VATTR/ea-conv/ea-conv
}

special() {
   cd $PKG
   rmdir usr/include/ usr/lib/ usr/libexec/ usr/man/man2/ usr/man/man3/

   cd $CTL
   cat $CWD/slack-desc > slack-desc
}

