#!/bin/bash
# Script to make a nfs .tce extension from source
# Requires e2fsprogs and it's dev files.



NAME=nfs-utils
VERSION=1.1.2
DOWNLOAD=http://slackware.mirrors.tds.net/pub/slackware/slackware-12.1/source/n/nfs-utils
SOURCE="$NAME"-"$VERSION".tar.bz2
SOURCE1=nfs-utils.lwrap.needs.lnsl.diff.gz
MD5SUM=f1d53d27cc246291841e0989530dc94b
MD5SUM1=dd7a04715b80ed2626bbe5150a5ea15e
TMPDIR=/usr/local/"$NAME"21654
PKG="$TMPDIR"/pkg
TMP="$TMPDIR"/tmp
DEV="$TMPDIR"/dev
LIST="$TMPDIR"/"$NAME".list
LIST1="$TMPDIR"/"$NAME".list1
SRCDIR=/tmp


download() {
	cd "$SRCDIR"
	if [ -e "$SOURCE" ]; then
	  if [ $(md5sum "$SOURCE" | cut -c1-32) != "$MD5SUM" ]; then
	    rm "$SOURCE"
	  fi
	fi
	if [ ! -e "$SOURCE" ]; then
	  wget "$DOWNLOAD"/"$SOURCE"
	fi
	if [ $(md5sum "$SOURCE" | cut -c1-32) = "$MD5SUM" ]; then
	  echo "md5sum passed."
		sleep 3;
	else
	  echo "Download failed. aborting"
	  exit 1;
	fi
}

download1() {
	cd "$SRCDIR"
	if [ -e "$SOURCE1" ]; then
	  if [ $(md5sum "$SOURCE1" | cut -c1-32) != "$MD5SUM1" ]; then
	    rm "$SOURCE1"
	  fi
	fi
	if [ ! -e "$SOURCE1" ]; then
	  wget "$DOWNLOAD"/"$SOURCE1"
	fi
	if [ $(md5sum "$SOURCE1" | cut -c1-32) = "$MD5SUM1" ]; then
	  echo "md5sum passed."
		sleep 3;
	else
	  echo "Download failed. aborting"
	  exit 1;
	fi
}

build_source() {
	tar xjvf "$SRCDIR"/"$SOURCE" -C "$TMPDIR"
	cd "$TMPDIR"/"$NAME"-"$VERSION"

	zcat "$SRCDIR"/"$SOURCE1" | patch -p1
	
	./configure --prefix=/usr/local --mandir=/usr/local/man \
	--with-statedir=/var/lib/nfs --sysconfdir=/usr/local/etc --enable-nfsv3 --enable-nfsv4=no \
	--enable-gss=no --enable-secure-statd --sysconfdir=/etc
	make -j3
	make install DESTDIR="$TMP"
	mv "$TMP"/var "$PKG"
	mv "$TMP"/usr/local/sbin "$PKG"/usr/local/
	mv "$TMP"/sbin/{mount.nfs,umount.nfs} "$PKG"/usr/local/sbin/
	cd "$PKG"
	find . | xargs file | grep "executable" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
	mkdir -p "$PKG"/usr/local/etc/init.d/
	cp "$SRCDIR"/{nfs-client,nfs-server} "$PKG"/usr/local/etc/init.d/
	cp "$SRCDIR"/exports "$PKG"/usr/local/etc/
	
}




make_extension() {
	mkdir "$PKG"/usr/local/tce.menu
	cp "$SRCDIR"/nfs-utils-1.1.2 "$PKG"/usr/local/tce.menu
	cd "$PKG"
	find . -not -type d > "$LIST"
	tar -T "$LIST" -czvf /home/tc/"$NAME"-"$VERSION".tce
}

################Main####################

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe"

set -e



if [ -e "$TMPDIR" ]; then
  rm -rf "$TMPDIR" 
fi
mkdir -p "$PKG"/etc/init.d || exit 1
mkdir -p "$PKG"/usr/local || exit 1
download || exit 1
download1 || exit 1
build_source || exit 1
make_extension || exit 1
echo "Done."
