Index: emailtotracscript/trunk/ChangeLog
===================================================================
--- emailtotracscript/trunk/ChangeLog	(revision 93)
+++ emailtotracscript/trunk/ChangeLog	(revision 95)
@@ -1,25 +1,29 @@
+2006-07-09	Michel Jouvin <jouvin@lal.in2p3.fr>
+	* Use X11R5 install-sh to install email2trac components to hide
+          native install program differences
+
 2006-07-06
-	- Fixed an error in already added attachments. Do not close
+	* Fixed an error in already added attachments. Do not close
 	  the database connection.
 	  Fixed by: Walter de Jong en Bas van der Vlies
 
-	- Added enable_syslog option. If enabled log errors to syslog
+	* Added enable_syslog option. If enabled log errors to syslog
 	  instead of stderr. If enabled no errors are send back to the 
 	  user.
 	  Implemented by: Bas van der Vlies
 
-	- Fixed an error with updating tickets with attachments for trac 
+	* Fixed an error with updating tickets with attachments for trac 
 	  versions 0.9 and 0.10. Field "id" is not known when a existing
 	  ticket is fetched (Error = KeyError: 'id')
 	  Fixed By: See tickets #258 and #449 on trac-hacks
 
-	- Fixed and spell error, self.mail_addr must be self.email_addr
-	  Fixed by: Bas van der Vlies
-
-	- Catch a LookupError in unicode/encode conversion in function 
+	* Fixed and spell error, self.mail_addr must be self.email_addr
+	  Fixed by: Bas van der Vlies
+
+	* Catch a LookupError in unicode/encode conversion in function 
 	  get_body_text()
 	  Fixed by: Bas van der Vlies
 
-	- Description field was always changed when updating the ticket 
+	* Description field was always changed when updating the ticket 
 	  via the web. Asked the mailing list for a solution and got one
 	  ;-)
@@ -27,11 +31,11 @@
 	  Applied by: Bas van der Vlies
 
-	- Fixed an encoding problem when email_header is set to 1
-	  Fixed by: Bas van der Vlies
-
-	- Fixed a bug in to_unicode() function.
-	  Fixed by: Bas van der Vlies
-
-	- Fixed an unicodedata.normalize TypeError bug for filenames in the 
+	* Fixed an encoding problem when email_header is set to 1
+	  Fixed by: Bas van der Vlies
+
+	* Fixed a bug in to_unicode() function.
+	  Fixed by: Bas van der Vlies
+
+	* Fixed an unicodedata.normalize TypeError bug for filenames in the 
 	  attachment function
 	  Fixed by: Bas van der Vlies
@@ -39,8 +43,8 @@
 
 2006-06-02
-	- Added ticketing merging. To enable it there are two options for
+	* Added ticketing merging. To enable it there are two options for
 	  both options enable 'ticket_update' in email2trac.conf
 	  1 - Configure trac notification, eg: 
-	  	- (ticket address: ticket@test.nl)
+	  	* (ticket address: ticket@test.nl)
 	  	[notification]
 		smtp_enabled = true
@@ -55,22 +59,22 @@
 	  With both options you get the right format of the subject line.
 
-	- Use the short options for the install command. So it works for
+	* Use the short options for the install command. So it works for
 	  MacOSx Reported by: Nathaniel Irons.
 
-	- Updated inline documentation by Nathaniel Irons.
+	* Updated inline documentation by Nathaniel Irons.
 	  	 
 2006-05-16
-	- Fixed a bug when there was no plain text body.
+	* Fixed a bug when there was no plain text body.
 	  Reported by: Greg Deakyne
-	- Fixed a small bug if default component owner is unknown.
+	* Fixed a small bug if default component owner is unknown.
 	  Just fill in some bogus info.
-	- Use the short options for the install command. So it works for
+	* Use the short options for the install command. So it works for
 	  MacOSx
 	  Reported by: Nathaniel Irons
-	- Messages that has X-Virus-found in header are marked as SPAM
+	* Messages that has X-Virus-found in header are marked as SPAM
 	  Implemented by: Walter de Jong
-	- Some modules are changed for version 0.10, Added and made some
+	* Some modules are changed for version 0.10, Added and made some
 	  minor changes: Patch supplied by: Markus Tacker  
-	- Ported delete_spam.py to version 0.9 and higher:
+	* Ported delete_spam.py to version 0.9 and higher:
 	  Reported by: Nathaniel Irons
 
@@ -81,13 +85,13 @@
 	  Reported by: mi-trachacks@moensolutions.com	
 	  Fixed by: Bas van der Vlies
-	- Fixed an exception error in delete_spam.py
+	* Fixed an exception error in delete_spam.py
 	  when shutil has not enough priveledges to remove the
 	  attachments it is reported
 	  Fixed by: Bas van der Vlies
-	- email2trac.py: When you include the body tag, some 
+	* email2trac.py: When you include the body tag, some 
 	  mailers (like Thunderbird) will leave out the signature.
           Therefore this version leaves out the body tag.
 	  Fixed by: Walter de Jong
-	- Added msg.txt for testing
+	* Added msg.txt for testing
 	  Fixed by: Bas van der Vlies
 
Index: emailtotracscript/trunk/Makefile.in
===================================================================
--- emailtotracscript/trunk/Makefile.in	(revision 93)
+++ emailtotracscript/trunk/Makefile.in	(revision 95)
@@ -20,4 +20,5 @@
 
 CC=@CC@
+INSTALL=./install-sh
 DEBUG=0
 CFLAGS=-DMTA_USER=\"$(MTA_USER)\" -DTRAC_USER=\"$(TRAC_USER)\" -DTRAC_SCRIPT_NAME=\"$(TRAC_SCRIPT_NAME)\" -DTRAC_SCRIPT_PATH=\"$(EXEC_PREFIX)\" -DDEBUG=$(DEBUG)
@@ -32,10 +33,10 @@
 
 install: all
-	install -d $(DESTDIR)$(EXEC_PREFIX)
-	install -m 4111 -o root run_email2trac $(DESTDIR)$(EXEC_PREFIX)
+	$(INSTALL) -d $(DESTDIR)$(EXEC_PREFIX)
+	$(INSTALL) -m 4111 -o root run_email2trac $(DESTDIR)$(EXEC_PREFIX)
 	for script in $(PYTHON_FILES) ; \
 	do \
           name=`basename $$script '.py'` ;\
-	  install -m 755 -o root $$script  $(DESTDIR)$(EXEC_PREFIX)/$$name ;\
+	  $(INSTALL) -m 755 -o root $$script  $(DESTDIR)$(EXEC_PREFIX)/$$name ;\
 	done
 
Index: emailtotracscript/trunk/install-sh
===================================================================
--- emailtotracscript/trunk/install-sh	(revision 95)
+++ emailtotracscript/trunk/install-sh	(revision 95)
@@ -0,0 +1,238 @@
+#! /bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+#
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+tranformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+    case $1 in
+	-c) instcmd="$cpprog"
+	    shift
+	    continue;;
+
+	-d) dir_arg=true
+	    shift
+	    continue;;
+
+	-m) chmodcmd="$chmodprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-o) chowncmd="$chownprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-g) chgrpcmd="$chgrpprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-s) stripcmd="$stripprog"
+	    shift
+	    continue;;
+
+	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
+	    shift
+	    continue;;
+
+	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+	    shift
+	    continue;;
+
+	*)  if [ x"$src" = x ]
+	    then
+		src=$1
+	    else
+		# this colon is to work around a 386BSD /bin/sh bug
+		:
+		dst=$1
+	    fi
+	    shift
+	    continue;;
+    esac
+done
+
+if [ x"$src" = x ]
+then
+	echo "install:	no input file specified"
+	exit 1
+else
+	true
+fi
+
+if [ x"$dir_arg" != x ]; then
+	dst=$src
+	src=""
+	
+	if [ -d $dst ]; then
+		instcmd=:
+	else
+		instcmd=mkdir
+	fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad 
+# if $src (and thus $dsttmp) contains '*'.
+
+	if [ -f $src -o -d $src ]
+	then
+		true
+	else
+		echo "install:  $src does not exist"
+		exit 1
+	fi
+	
+	if [ x"$dst" = x ]
+	then
+		echo "install:	no destination specified"
+		exit 1
+	else
+		true
+	fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+	if [ -d $dst ]
+	then
+		dst="$dst"/`basename $src`
+	else
+		true
+	fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+#  this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='	
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+	pathcomp="${pathcomp}${1}"
+	shift
+
+	if [ ! -d "${pathcomp}" ] ;
+        then
+		$mkdirprog "${pathcomp}"
+	else
+		true
+	fi
+
+	pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+	$doit $instcmd $dst &&
+
+	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+	if [ x"$transformarg" = x ] 
+	then
+		dstfile=`basename $dst`
+	else
+		dstfile=`basename $dst $transformbasename | 
+			sed $transformarg`$transformbasename
+	fi
+
+# don't allow the sed command to completely eliminate the filename
+
+	if [ x"$dstfile" = x ] 
+	then
+		dstfile=`basename $dst`
+	else
+		true
+	fi
+
+# Make a temp file name in the proper directory.
+
+	dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+	$doit $instcmd $src $dsttmp &&
+
+	trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing.  If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+	$doit $rmcmd -f $dstdir/$dstfile &&
+	$doit $mvcmd $dsttmp $dstdir/$dstfile 
+
+fi &&
+
+
+exit 0
