commit c6b40ebb8bf36776e37bd2e21df9b235c326af41 Author: Jay Larson Date: Sat May 26 15:18:42 2018 -0500 First check in diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..89c4b8d --- /dev/null +++ b/Makefile @@ -0,0 +1,86 @@ +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation here: +# (http://www.gnu.org/licenses/gpl-2.0.html) +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +DEPENDS = bash,glibc,libcap,libtirpc,rpcbind,util-linux +ARCH = x86_64 +URL = https://sourceforge.net/projects/nfs/ +REPO = server +BRIEF = Utilities for managing NFS +DESC = Utilities for managing NFS +SNAPVER = 1 + +ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1) +TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n') +SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//') +PATCHDIR := $(PWD)/SRC/patches +VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'|sed 's/^-//')-$(SNAPVER) + +include /usr/share/snap/Makefile.snaplinux + +$(SRCDIR)/configure: $(ARCHIVE) + @if [ '$(TYPE)' == 'application/x-bzip2' ]; then \ + tar -jxf $(ARCHIVE); \ + elif [ '$(TYPE)' == 'application/x-gzip' ]; then \ + tar -zxf $(ARCHIVE); \ + elif [ '$(TYPE)' == 'application/x-tar' ]; then \ + tar -xf $(ARCHIVE); \ + elif [ '$(TYPE)' == 'application/x-xz' ]; then \ + tar -xf $(ARCHIVE); \ + else \ + echo 'Unable to determine archive type'; \ + exit 1; \ + fi + @touch $(SRCDIR)/configure + +$(SRCDIR)/config.log: $(SRCDIR)/configure + @cd $(SRCDIR) && \ + for patch in `find $(PATCHDIR) -name \*.patch|sort`; do \ + patch --verbose -Np1 -i $$patch; \ + done + @cd $(SRCDIR); \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --without-tcp-wrappers \ + --disable-nfsv4 \ + --disable-gss \ + --build=x86_64-snap-linux-gnu \ + --host=x86_64-snap-linux-gnu \ + --target=x86_64-snap-linux-gnu + +$(SRCDIR)/binfile: $(SRCDIR)/config.log + @cd $(SRCDIR) && make + +$(ROOT): $(SRCDIR)/binfile + @if [ -d $(ROOT) ]; then \ + touch $(ROOT); \ + else \ + mkdir -v $(ROOT); \ + fi + + @cd $(SRCDIR) && make install DESTDIR=$(ROOT) && \ + install -d -m 0755 $(ROOT)/etc/init.d && \ + install -m 0755 $(SNAPDIR)/nfs-server.init \ + $(ROOT)/etc/init.d/nfs-server && \ + install -m 0755 $(SNAPDIR)/statd.init \ + $(ROOT)/etc/init.d/statd && \ + mv -v $(ROOT)/usr/sbin/rpc.* $(ROOT)/sbin + +test: $(ROOT) + @cd $(SRCDIR); \ + make check + +clean: + @rm -rvf $(ROOT) \ + $(SNAPINFO) \ + $(MANIFEST) \ + $(FILES) \ + $(SRCDIR) + diff --git a/SNAP/README b/SNAP/README new file mode 100644 index 0000000..cb756b1 --- /dev/null +++ b/SNAP/README @@ -0,0 +1,5 @@ +This is the directory where the manifest, snapinfo, +and files.tar.gz files will be created. It is also +where the usher file should be placed if it is +required by the package. Any other files that need +to be included could also be placed here. diff --git a/SNAP/nfs-server.init b/SNAP/nfs-server.init new file mode 100755 index 0000000..43a7f2f --- /dev/null +++ b/SNAP/nfs-server.init @@ -0,0 +1,74 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: nfsd +# Required-Start: rpcbind statd +# Should-Start: +# Required-Stop: rpcbind statd +# Should-Stop: +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Starts the nfs server +# Description: Starts the nfs server and exports directories. +### END INIT INFO + +NFSD="/sbin/rpc.nfsd" +MOUNTD="/sbin/rpc.mountd" + +. /lib/lsb/init-functions +[ -f /etc/default/nfsd ] && . /etc/default/nfsd + +case "$1" in + start) + log_init_msg "Starting nfsd" + start_daemon "$NFSD" && log_success_msg || log_failure_msg + + log_init_msg "Starting mountd" + start_daemon "$MOUNTD" && log_success_msg || log_failure_msg + + log_init_msg "Exporting NFS Filesystems" + /usr/sbin/exportfs -ra 2>&1 > /dev/null && log_success_msg || + log_failure_msg + ;; + stop) + log_init_msg "Un-exporting NFS Filesystems" + /usr/sbin/exportfs -au 2>&1 > /dev/null && log_success_msg || + log_failure_msg + + log_init_msg "Stopping mountd" + killproc /sbin/rpc.mountd -TERM && log_success_msg || log_failure_msg + + log_init_msg "Stopping nfsd" + killproc nfsd -HUP && log_success_msg || log_failure_msg + ;; + reload) + log_init_msg "Reloading NFS Filesystems" + /usr/sbin/exportfs -ra && log_success_msg || log_failure_msg + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + status) + pid=$(pidofproc nfsd); + + if [ "$?" -ne 0 ]; then + echo "nfsd is not runing" + else + echo "nfsd running with PID: $pid" + fi + + pid=$(pidofproc "$MOUNTD"); + + if [ "$?" -ne 0 ]; then + echo "mountd is not runing" + else + echo "mountd running with PID: $pid" + fi + ;; + + *) + echo "Usage: $0 {start|stop|reload|restart|status}" + exit 1 + ;; +esac diff --git a/SNAP/statd.init b/SNAP/statd.init new file mode 100644 index 0000000..0ad1f68 --- /dev/null +++ b/SNAP/statd.init @@ -0,0 +1,49 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: statd +# Required-Start: rpcbind +# Should-Start: +# Required-Stop: rpcbind +# Should-Stop: +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Starts statd +# Description: rpc.statd provides file locking on nfs. +### END INIT INFO + +STATD="/sbin/rpc.statd" +PIDFILE="/var/run/rpc.statd.pid" + +. /lib/lsb/init-functions + +case "$1" in + start) + log_init_msg "Starting NFS statd" + start_daemon "$STATD" && log_success_msg || log_failure_msg + ;; + stop) + log_init_msg "Stopping NFS statd" + killproc -p "$PIDFILE" "$STATD" && log_success_msg || log_failure_msg + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + status) + pid=$(pidofproc -p "$PIDFILE" "$STATD"); + + if [ "$?" -ne 0 ]; then + echo "NFS statd is not runing" + else + echo "NFS statd running with PID: $pid" + fi + ;; + + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac + diff --git a/SRC/nfs-utils-2.1.1.tar.bz2 b/SRC/nfs-utils-2.1.1.tar.bz2 new file mode 100644 index 0000000..9738a05 Binary files /dev/null and b/SRC/nfs-utils-2.1.1.tar.bz2 differ diff --git a/SRC/nfs-utils-2.1.1.tar.bz2.sha1 b/SRC/nfs-utils-2.1.1.tar.bz2.sha1 new file mode 100644 index 0000000..df8f9a5 --- /dev/null +++ b/SRC/nfs-utils-2.1.1.tar.bz2.sha1 @@ -0,0 +1 @@ +8f86ffef3bfc954f3ef9aee805b35cdca3802b14 diff --git a/SRC/patches/README b/SRC/patches/README new file mode 100644 index 0000000..976577a --- /dev/null +++ b/SRC/patches/README @@ -0,0 +1,3 @@ +Place any patch files here and preface each with a +number indicating the order of execution. Patch +files are expected to use a .patch extension.