From ca0e155ef015adfaf6a9c38518e8d60adcc3fdf9 Mon Sep 17 00:00:00 2001 From: Lars Müller Date: Wed, 22 Feb 2006 21:41:14 +0000 Subject: r13642: Fix install* scripts to use DESTDIR. Always pass the INSTALLPERMS and DESTDIR as first and second arg to the scripts. No longer prepend DESTDIR to the remaining args. To fix bug #3282 it is important _not_ to prepend DESTDIR to the source of the sym link pointing to smbmount. (This used to be commit c38adf71317f2c898ee10cad8068e942835199c9) --- source3/Makefile.in | 20 ++++++++++---------- source3/script/installbin.sh | 12 ++++++------ source3/script/installdirs.sh | 16 ++++++++++------ source3/script/installmodules.sh | 20 +++++++++++--------- 4 files changed, 37 insertions(+), 31 deletions(-) (limited to 'source3') diff --git a/source3/Makefile.in b/source3/Makefile.in index 2eae4e3e03..95ba8c2f3e 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -1382,25 +1382,25 @@ install-everything: install installmodules # is not used installdirs: - @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(PRIVATEDIR) $(DESTDIR)$(PIDDIR) $(DESTDIR)$(LOCKDIR) $(DESTDIR)$(MANDIR) + @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(BINDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(PRIVATEDIR) $(PIDDIR) $(LOCKDIR) $(MANDIR) installservers: all installdirs - @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS) + @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(SBIN_PROGS) installbin: all installdirs - @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS) - @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS) + @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(SBIN_PROGS) + @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(BINDIR) $(LIBDIR) $(VARDIR) $(BIN_PROGS) # Some symlinks are required for the 'probing' of modules. # This mechanism should go at some point.. installmodules: modules installdirs - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(VFSLIBDIR) $(VFS_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(PDBLIBDIR) $(PDB_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(RPCLIBDIR) $(RPC_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(IDMAPLIBDIR) $(IDMAP_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(CHARSETLIBDIR) $(CHARSET_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(AUTHLIBDIR) $(AUTH_MODULES) + @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(VFSLIBDIR) $(VFS_MODULES) + @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(PDBLIBDIR) $(PDB_MODULES) + @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(RPCLIBDIR) $(RPC_MODULES) + @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(IDMAPLIBDIR) $(IDMAP_MODULES) + @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(CHARSETLIBDIR) $(CHARSET_MODULES) + @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR) $(BASEDIR) $(AUTHLIBDIR) $(AUTH_MODULES) @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(PDBLIBDIR) ldapsam.@SHLIBEXT@ ldapsam_compat.@SHLIBEXT@ @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) rhosts.@SHLIBEXT@ hostsequiv.@SHLIBEXT@ @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) sam.@SHLIBEXT@ sam_ignoredomain.@SHLIBEXT@ diff --git a/source3/script/installbin.sh b/source3/script/installbin.sh index f9fd5298c0..2f15ce595a 100755 --- a/source3/script/installbin.sh +++ b/source3/script/installbin.sh @@ -15,13 +15,13 @@ shift for p in $*; do p2=`basename $p` - echo Installing $p as $BINDIR/$p2 - if [ -f $BINDIR/$p2 ]; then - rm -f $BINDIR/$p2.old - mv $BINDIR/$p2 $BINDIR/$p2.old + echo Installing $p as $DESTDIR/$BINDIR/$p2 + if [ -f $DESTDIR/$BINDIR/$p2 ]; then + rm -f $DESTDIR/$BINDIR/$p2.old + mv $DESTDIR/$BINDIR/$p2 $DESTDIR/$BINDIR/$p2.old fi - cp $p $BINDIR/ - chmod $INSTALLPERMS $BINDIR/$p2 + cp $p $DESTDIR/$BINDIR/ + chmod $INSTALLPERMS $DESTDIR/$BINDIR/$p2 # this is a special case, mount needs this in a specific location if [ $p2 = smbmount ]; then diff --git a/source3/script/installdirs.sh b/source3/script/installdirs.sh index 1db46b82ff..db38a11b67 100755 --- a/source3/script/installdirs.sh +++ b/source3/script/installdirs.sh @@ -1,14 +1,18 @@ #!/bin/sh -while ( test -n "$1" ); do +INSTALLPERMS=$1 +DESTDIR=`echo $2 | sed 's/\/\//\//g'` +shift +shift - DIRNAME=`echo $1 | sed 's/\/\//\//g'` - if [ ! -d $DIRNAME ]; then - mkdir -p $DIRNAME +for dir in $@; do + DIRNAME=`echo $dir | sed 's/\/\//\//g'` + if [ ! -d $DESTDIR/$DIRNAME ]; then + mkdir -m $INSTALLPERMS -p $DESTDIR/$DIRNAME fi - if [ ! -d $DIRNAME ]; then - echo Failed to make directory $1 + if [ ! -d $DESTDIR/$DIRNAME ]; then + echo "Failed to make directory $DESTDIR/$DIRNAME " exit 1 fi diff --git a/source3/script/installmodules.sh b/source3/script/installmodules.sh index f7c7473338..4ea8fde327 100755 --- a/source3/script/installmodules.sh +++ b/source3/script/installmodules.sh @@ -1,17 +1,19 @@ #!/bin/sh INSTALLPERMS=$1 -BASEDIR=`echo $2 | sed 's/\/\//\//g'` -LIBDIR=`echo $3 | sed 's/\/\//\//g'` +DESTDIR=`echo $2 | sed 's/\/\//\//g'` +BASEDIR=`echo $3 | sed 's/\/\//\//g'` +LIBDIR=`echo $4 | sed 's/\/\//\//g'` +shift shift shift shift for d in $BASEDIR $LIBDIR; do -if [ ! -d $d ]; then -mkdir $d -if [ ! -d $d ]; then - echo Failed to make directory $d +if [ ! -d $DESTDIR/$d ]; then +mkdir $DESTDIR/$d +if [ ! -d $DESTDIR/$d ]; then + echo Failed to make directory $DESTDIR/$d exit 1 fi fi @@ -19,9 +21,9 @@ done for p in $*; do p2=`basename $p` - echo Installing $p as $LIBDIR/$p2 - cp -f $p $LIBDIR/ - chmod $INSTALLPERMS $LIBDIR/$p2 + echo Installing $p as $DESTDIR/$LIBDIR/$p2 + cp -f $p $DESTDIR/$LIBDIR/ + chmod $INSTALLPERMS $DESTDIR/$LIBDIR/$p2 done exit 0 -- cgit