summaryrefslogtreecommitdiff
path: root/source3/script
diff options
context:
space:
mode:
Diffstat (limited to 'source3/script')
-rw-r--r--source3/script/installmo.sh87
-rwxr-xr-xsource3/script/tests/selftest.sh30
-rw-r--r--source3/script/uninstallmo.sh1
3 files changed, 110 insertions, 8 deletions
diff --git a/source3/script/installmo.sh b/source3/script/installmo.sh
new file mode 100644
index 0000000000..9c4ab1eefe
--- /dev/null
+++ b/source3/script/installmo.sh
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+DESTDIR=$1
+LOCALEDIR=`echo $2 | sed 's/\/\//\//g'`
+SRCDIR=$3/
+MSGFMT=msgfmt
+
+case $0 in
+ *uninstall*)
+ if test ! -d "$DESTDIR/$LOCALEDIR"; then
+ echo "Directory $DESTDIR/$LOCALEDIR doesn't exist!"
+ echo "Do a \"make installmo\" or \"make install\" first."
+ exit 1
+ fi
+ mode='uninstall'
+ ;;
+ *)
+ mode='install'
+ ;;
+esac
+
+for dir in $SRCDIR/locale/*; do
+ MODULE=`basename $dir`
+ for f in $SRCDIR/locale/$MODULE/*.po; do
+ BASE=`basename $f`
+ LANGUAGE=`echo $BASE | sed 's/\.po//g'`
+ if test "$LANGUAGE" = '*'; then
+ echo "No .po file exists!"
+ exit 0
+ fi
+ FNAME="$DESTDIR/$LOCALEDIR/$LANGUAGE/LC_MESSAGES/$MODULE.mo"
+ if test ! -d "$DESTDIR/$LOCALEDIR/$LANGUAGE/LC_MESSAGES/"; then
+ mkdir -p "$DESTDIR/$LOCALEDIR/$LANGUAGE/LC_MESSAGES/"
+ fi
+ if test "$mode" = 'install'; then
+ echo "Installing $f as $FNAME"
+ touch "$FNAME"
+ $MSGFMT "$f" -f -o "$FNAME"
+ if test ! -f "$FNAME"; then
+ echo "Cannot install $FNAME. Does $USER have privileges?"
+ exit 1
+ fi
+ chmod 0644 "$FNAME"
+ elif test "$mode" = 'uninstall'; then
+ echo "removing $FNAME"
+ rm -f "$FNAME"
+ if test -f "$FNAME"; then
+ echo "Cannot remove $FNAME. Does $USER have privileges?"
+ exit 1
+ fi
+ else
+ echo "Unknown mode $mode. script called as $0."
+ exit 1
+ fi
+ done
+ if test "$mode" = 'install'; then
+ cat << EOF
+==============================================================
+MO files for $MODULE are installed.
+==============================================================
+EOF
+ else
+ cat << EOF
+==============================================================
+MO files for $MODULE are removed.
+==============================================================
+EOF
+ fi
+done
+
+if test "$mode" = 'install'; then
+ cat << EOF
+==============================================================
+All MO files for Samba are installed. You can use "make uninstall"
+or "make uninstallmo" to remove them.
+==============================================================
+EOF
+else
+ cat << EOF
+==============================================================
+All MO files for Samba are removed. you can use "make install"
+or "make installmo" to install them.
+==============================================================
+EOF
+fi
+
+exit 0
diff --git a/source3/script/tests/selftest.sh b/source3/script/tests/selftest.sh
index 0894b2507d..3b65aaa760 100755
--- a/source3/script/tests/selftest.sh
+++ b/source3/script/tests/selftest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
-if [ $# != 3 ]; then
- echo "$0 <directory> <all | quick> <smbtorture4>"
+if [ $# != 3 -a $# != 4 ]; then
+ echo "$0 <directory> <all | quick> <smbtorture4> [<shrdir>]"
exit 1
fi
@@ -38,7 +38,6 @@ PASSWORD=test
SRCDIR="`dirname $0`/../.."
BINDIR="`pwd`/bin"
SCRIPTDIR=$SRCDIR/script/tests
-SHRDIR=$PREFIX_ABS/tmp
LIBDIR=$PREFIX_ABS/lib
PIDDIR=$PREFIX_ABS/pid
CONFFILE=$LIBDIR/client.conf
@@ -113,8 +112,23 @@ mkdir -p $PRIVATEDIR $LIBDIR $PIDDIR $LOCKDIR $LOGDIR
mkdir -p $SOCKET_WRAPPER_DIR
mkdir -p $WINBINDD_SOCKET_DIR
chmod 755 $WINBINDD_SOCKET_DIR
-mkdir -p $PREFIX_ABS/tmp
-chmod 777 $PREFIX_ABS/tmp
+
+##
+## Create an alternate shrdir if one was specified.
+##
+if [ $# = 4 ]; then
+ ALT_SHRDIR=`echo $4 | sed s+//+/+`
+ mkdir -p $ALT_SHRDIR || exit $?
+ OLD_PWD=`pwd`
+ cd $ALT_SHRDIR || exit $?
+ SHRDIR=`pwd`
+ cd $OLD_PWD
+ /bin/rm -rf $SHRDIR/*
+else
+ SHRDIR=$PREFIX_ABS/tmp
+ mkdir -p $SHRDIR
+fi
+chmod 777 $SHRDIR
##
## Create the common config include file with the basic settings
@@ -184,14 +198,14 @@ cat >$SERVERCONFFILE<<EOF
# min receivefile size = 4000
[tmp]
- path = $PREFIX_ABS/tmp
+ path = $SHRDIR
read only = no
smbd:sharedelay = 100000
smbd:writetimeupdatedelay = 500000
map hidden = yes
map system = yes
create mask = 755
- vfs objects = $BINDIR/xattr_tdb.so $BINDIR/streams_xattr.so
+ vfs objects = $BINDIR/xattr_tdb.so $BINDIR/streams_depot.so
[hideunread]
copy = tmp
hide unreadable = yes
@@ -262,7 +276,7 @@ export SOCKET_WRAPPER_DEFAULT_IFACE
TORTURE4_OPTIONS="$SAMBA4CONFIGURATION"
TORTURE4_OPTIONS="$TORTURE4_OPTIONS --maximum-runtime=$TORTURE_MAXTIME"
TORTURE4_OPTIONS="$TORTURE4_OPTIONS --target=samba3"
-TORTURE4_OPTIONS="$TORTURE4_OPTIONS --option=torture:localdir=$PREFIX_ABS/tmp"
+TORTURE4_OPTIONS="$TORTURE4_OPTIONS --option=torture:localdir=$SHRDIR"
export TORTURE4_OPTIONS
if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
diff --git a/source3/script/uninstallmo.sh b/source3/script/uninstallmo.sh
new file mode 100644
index 0000000000..5b4475f5c2
--- /dev/null
+++ b/source3/script/uninstallmo.sh
@@ -0,0 +1 @@
+installmo.sh