From 61a278fd8ab3feb26e6bc095d4f170fd97aa5c89 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 26 Nov 2009 13:06:01 +1100 Subject: [PATCH] s4-install: fixed install path for python scripts when we install python scripts we need to fix the internal path used to find modules. We also need to install the scripts in the right place. Most of them should go in $SBINDIR not share/setup/ --- source4/Makefile | 10 +--------- source4/script/installmisc.sh | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/source4/Makefile b/source4/Makefile index 03b4e7364aa..8f23da5679c 100644 --- a/source4/Makefile +++ b/source4/Makefile @@ -114,14 +114,6 @@ libgpodir := libgpo include data.mk -INSTALL_SCRIPTS = $(addprefix scripting/bin/, \ - autoidl \ - samba3dump \ - rpcclient \ - smbstatus) - -$(foreach SCRIPT,$(INSTALL_SCRIPTS),$(eval $(call binary_install_template,$(SCRIPT)))) - $(DESTDIR)$(bindir)/%: scripting/bin/% installdirs @mkdir -p $(@D) @echo Installing $(@F) as $@ @@ -253,7 +245,7 @@ installman:: manpages installdirs @$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(mandir) $(MANPAGES) installmisc:: installdirs - @$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(setupdir) + @$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(setupdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(pythondir) installpc:: installdirs @$(SHELL) $(srcdir)/script/installpc.sh $(builddir) $(DESTDIR)$(pkgconfigdir) $(PC_FILES) diff --git a/source4/script/installmisc.sh b/source4/script/installmisc.sh index d0376b3f5d7..7851d1f77da 100755 --- a/source4/script/installmisc.sh +++ b/source4/script/installmisc.sh @@ -1,22 +1,53 @@ #!/bin/sh # install miscellaneous files +[ $# -eq 5 ] || { + echo "Usage: installmisc.sh SRCDIR SETUPDIR BINDDIR SBINDDIR PYTHONDIR" + exit 1 +} + SRCDIR="$1" SETUPDIR="$2" +BINDIR="$3" +SBINDIR="$4" +PYTHONDIR="$5" cd $SRCDIR || exit 1 +# fixup a python script to use the right path +fix_python_path() { + f="$1" + egrep 'sys.path.insert.*bin/python' $f > /dev/null && { + sed -i "s|\(sys.path.insert.*\)bin/python\(.*\)$|\1$PYTHONDIR\2|g" $f || exit 1 + } +} + echo "Installing setup templates" mkdir -p $SETUPDIR || exit 1 +mkdir -p $SBINDIR || exit 1 +mkdir -p $BINDIR || exit 1 mkdir -p $SETUPDIR/ad-schema || exit 1 mkdir -p $SETUPDIR/display-specifiers || exit1 cp setup/ad-schema/*.txt $SETUPDIR/ad-schema || exit 1 cp setup/display-specifiers/*.txt $SETUPDIR/display-specifiers || exit 1 + +echo "Installing sbin scripts from setup/*" for p in domainlevel enableaccount newuser provision setexpiry setpassword pwsettings do - chmod a+x setup/$p - cp setup/$p $SETUPDIR || exit 1 + cp setup/$p $SBINDIR || exit 1 + chmod a+x $SBINDIR/$p + fix_python_path $SBINDIR/$p || exit 1 done + +echo "Installing sbin scripts from scripting/bin/*" +for p in upgradeprovision +do + cp scripting/bin/$p $SBINDIR || exit 1 + chmod a+x $SBINDIR/$p + fix_python_path $SBINDIR/$p || exit 1 +done + +echo "Installing remaining files in $SETUPDIR" cp setup/schema-map-* $SETUPDIR || exit 1 cp setup/DB_CONFIG $SETUPDIR || exit 1 cp setup/*.inf $SETUPDIR || exit 1 -- 2.11.4.GIT