summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
Diffstat (limited to 'packaging')
-rw-r--r--packaging/Caldera/OpenLinux/samba3.spec.tmpl24
-rw-r--r--packaging/RedHat/makerpms.sh.tmpl80
-rwxr-xr-xpackaging/RedHat/smb.init17
-rw-r--r--packaging/RedHat/winbind.init91
4 files changed, 189 insertions, 23 deletions
diff --git a/packaging/Caldera/OpenLinux/samba3.spec.tmpl b/packaging/Caldera/OpenLinux/samba3.spec.tmpl
index b572672079..43e60a2ac0 100644
--- a/packaging/Caldera/OpenLinux/samba3.spec.tmpl
+++ b/packaging/Caldera/OpenLinux/samba3.spec.tmpl
@@ -22,6 +22,10 @@ Requires : libpam >= 0.66, SysVinit-scripts >= 1.04-6
BuildRoot : /tmp/%{Name}-%{Version}
Source: ftp://ftp.samba.org/pub/samba/%{Name}-%{Version}.tar.gz
+#Patch0: %{Name}-%{Version}-smbmount.patch
+#Patch1: %{Name}-%{Version}-install.patch
+#Patch2: %{Name}-%{Version}-smbconf.patch
+
%Package doc
Group : Server/Network
@@ -169,7 +173,21 @@ a clean and stable API for SMB client application development.
%Prep
%setup
-
+#%patch0 -p1
+#%patch1 -p1
+#%patch2 -p1
+
+# The commented out fixUP below should be best known as screwUP!
+# instead of patch (to help configuration) ... ;^)
+#%{fixUP} -vbT source/Makefile.in -e '
+# s:we don.t use sbindir because we want:if you want : +
+# s:(the previous releases of Samba):$1, please use: +
+# s:(SBINDIR\s*=\s*\@)b:# ./configure --sbindir=\\\$(BINDIR)\n${1}sb: +
+# s:/log\.(\S+):/log/samba.d/${1}d: +
+# s:(PASSWD_PROGRAM\s*=\s*)(/bin):$1/usr$2: +
+# s:^(LIBS\s*=):AUTH_$1: +
+# s:((SMBD|SWAT|RPCCLIENT|SMBPASSWD)_OBJ\) )(\$\(LDF):$1\$(AUTH_LIBS) $3:
+#'
for i in {cvs.,change-}log; do [ ! -f ../$i ] || mv ../$i source; done
@@ -191,6 +209,10 @@ for i in docs/*/smb.conf.5*; do
s:/usr/local/:/usr/:g;
'
done
+%{fixUP} -vT docs/textdocs/Faxing.txt -e '
+ s:/usr/local/etc/:/etc/: +
+ s:/usr/local/:/usr/:;
+'
# End of DirtyHack(TM)
diff --git a/packaging/RedHat/makerpms.sh.tmpl b/packaging/RedHat/makerpms.sh.tmpl
index 44b89a45ec..aedf421882 100644
--- a/packaging/RedHat/makerpms.sh.tmpl
+++ b/packaging/RedHat/makerpms.sh.tmpl
@@ -1,25 +1,59 @@
#!/bin/sh
-# Copyright (C) John H Terpstra 1998
+# Copyright (C) John H Terpstra 1998-2002
# Updated for RPM 3 by Jochen Wiedmann, joe@ispsoft.de
# Changed for a generic tar file rebuild by abartlet@pcug.org.au
+# Changed by John H Terpstra to build on RH7.2 - should also work for earlier versions jht@samba.org
+
+# The following allows environment variables to override the target directories
+# the alternative is to have a file in your home directory calles .rpmmacros
+# containing the following:
+# %_topdir /home/mylogin/redhat
+#
+# Note: Under this directory rpm expects to find the same directories that are under the
+# /usr/src/redhat directory
+#
+if [ -x ~/.rpmmacros ]; then
+ TOPDIR=`awk '/topdir/ {print $2}' < ~/.rpmmacros`
+ if [ z$TOPDIR <> "z" ]; then
+ SPECDIR=${TOPDIR}/SPECS
+ SRCDIR=${TOPDIR}/SOURCES
+ fi
+fi
+
+SPECDIR=${SPECDIR:-/usr/src/redhat/SPECS}
+SRCDIR=${SRCDIR:-/usr/src/redhat/SOURCES}
+
+# At this point the SPECDIR and SRCDIR vaiables must have a value!
+
USERID=`id -u`
GRPID=`id -g`
VERSION='PVERSION'
-rm -f ../../samba2.*.spec
+RPMVER=`rpm --version | awk '{print $3}'`
+RPM="rpm"
+echo The RPM Version on this machine is: $RPMVER
-case `rpm --version | awk '{print $3}'` in
- 2.*)
- sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba2.rpm2.spec
- cp samba2.rpm2.spec ../../
+case $RPMVER in
+ 2*)
+ echo Building for RPM v2.x
+ sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba.spec
+ sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2-devel.spec > samba-devel.spec
+ ;;
+ 3*)
+ echo Building for RPM v3.x
+ sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba.spec
+ sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2-devel.spec > samba-devel.spec
;;
- 3.*)
- sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba2.rpm3.spec
- cp samba2.rpm3.spec ../../
+ 4.1*)
+ echo Building for RPM v4.1
+ RPM="rpmbuild"
+ sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba.spec
+ sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2-devel.spec > samba-devel.spec
;;
- 4.*)
- sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba2.rpm4.spec
- cp samba2.rpm4.spec ../../
+ 4*)
+ echo Building for RPM v4.x
+ sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba.spec
+ sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2-devel.spec > samba-devel.spec
;;
*)
echo "Unknown RPM version: `rpm --version`"
@@ -29,10 +63,28 @@ esac
( cd ../../source; if [ -f Makefile ]; then make distclean; fi )
( cd ../../.. ; chown -R ${USERID}.${GRPID} samba-${VERSION} )
-( cd ../../.. ; tar --exclude=CVS -czvf samba-${VERSION}.tar.gz samba-${VERSION}/samba2.*.spec samba-${VERSION} )
-rpm -ta -v ../../../samba-${VERSION}.tar.gz
+# We do this to make sure that the package always has the current version in it''s name
+if [ z$1 = z"devel" ]; then
+ (cd ../../.. ; mv samba samba-${VERSION} )
+fi
+
+( cd ../../.. ; tar --exclude=CVS -czvf ${SRCDIR}/samba-${VERSION}.tar.gz samba-${VERSION} )
+cp -av samba.spec ${SPECDIR}
+cp -av samba-devel.spec ${SPECDIR}
+if [ z$1 = "zdevel" ]; then
+ echo Restoring source samba directory name
+ ( cd ../../.. ; mv samba-${VERSION} samba )
+ echo Getting Ready to build Developmental Build
+ cd ${SPECDIR}
+ rpm -ba -v samba-devel.spec
+else
+ echo Getting Ready to build release package
+ cd ${SPECDIR}
+ rpm -ba -v --clean --rmsource samba.spec
+fi
+echo Done.
diff --git a/packaging/RedHat/smb.init b/packaging/RedHat/smb.init
index 5419b2b9c6..f50da2c6b2 100755
--- a/packaging/RedHat/smb.init
+++ b/packaging/RedHat/smb.init
@@ -24,26 +24,27 @@ case "$1" in
echo -n "Starting SMB services: "
daemon smbd -D
daemon nmbd -D
- if [ "`grep -i 'winbind uid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then
- daemon winbindd
- fi
echo
touch /var/lock/subsys/smb
;;
stop)
echo -n "Shutting down SMB services: "
- killproc smbd -TERM
+
+ ## we have to get all the smbd process here instead of just the
+ ## main parent (i.e. killproc) because it can take a long time
+ ## for an individual process to process a TERM signal
+ smbdpids=`ps guax | grep smbd | grep -v grep | awk '{print $2}'`
+ for pid in $smbdpids; do
+ kill -TERM $pid
+ done
+ ## nmbd is ok to kill using killproc()
killproc nmbd -TERM
- if [ "`ps -ef | grep winbind | grep -v grep`" ]; then
- killproc winbindd
- fi
rm -f /var/lock/subsys/smb
echo ""
;;
status)
status smbd
status nmbd
- status winbindd
;;
restart)
echo -n "Restarting SMB services: "
diff --git a/packaging/RedHat/winbind.init b/packaging/RedHat/winbind.init
new file mode 100644
index 0000000000..291c351df3
--- /dev/null
+++ b/packaging/RedHat/winbind.init
@@ -0,0 +1,91 @@
+#!/bin/sh
+#
+# chkconfig: 345 81 45
+# description: Starts and stops the Samba winbind daemon to provide \
+# user and group information from a domain controller to linux.
+
+# Source function library.
+if [ -f /etc/init.d/functions ] ; then
+ . /etc/init.d/functions
+elif [ -f /etc/rc.d/init.d/functions ] ; then
+ . /etc/rc.d/init.d/functions
+else
+ exit 0
+fi
+
+# Source networking configuration.
+. /etc/sysconfig/network
+
+# Check that networking is up.
+[ ${NETWORKING} = "no" ] && exit 0
+
+# Check that smb.conf exists.
+[ -f /etc/samba/smb.conf ] || exit 0
+
+RETVAL=0
+
+
+start() {
+ echo -n "Starting Winbind services: "
+ RETVAL=1
+ if [ "`grep -i 'winbind uid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then
+ daemon winbindd
+ RETVAL=$?
+ fi
+ echo
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/winbind || \
+ RETVAL=1
+ return $RETVAL
+}
+stop() {
+ echo -n "Shutting down Winbind services: "
+ RETVAL=1
+ if [ "`grep -i 'winbind uid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then
+ killproc winbindd
+ RETVAL=$?
+ fi
+ echo
+ [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/winbind
+ return $RETVAL
+}
+restart() {
+ stop
+ start
+}
+reload() {
+ export TMPDIR="/var/tmp"
+ echo -n "Checking domain trusts: "
+ killproc winbindd -HUP
+ RETVAL=$?
+ echo
+ return $RETVAL
+}
+mdkstatus() {
+ status winbindd
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ restart
+ ;;
+ reload)
+ reload
+ ;;
+ status)
+ mdkstatus
+ ;;
+ condrestart)
+ [ -f /var/lock/subsys/winbindd ] && restart || :
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status|condrestart}"
+ exit 1
+esac
+
+exit $?