From 13149b96008227bb11582fa0e0d59b727fd8d1bd Mon Sep 17 00:00:00 2001
From: intrigeri <intrigeri@boum.org>
Date: Tue, 29 Nov 2005 10:09:04 +0000
Subject: [PATCH]  r3557@krups:  intrigeri | 2005-11-15 14:41:32 +0100  Start
 to move common functions (maketemp) to lib/tools, and better use autotools
 for lib/{easydialog,tools}.

---
 lib/Makefile.am                      | 14 +++++++++++---
 lib/Makefile.in                      | 17 ++++++++++++++---
 lib/{easydialog.sh => easydialog.in} |  2 +-
 lib/tools.in                         | 19 +++++++++++++++++++
 src/ninjahelper.in                   |  2 +-
 5 files changed, 46 insertions(+), 8 deletions(-)
 rename lib/{easydialog.sh => easydialog.in} (99%)
 create mode 100644 lib/tools.in

diff --git a/lib/Makefile.am b/lib/Makefile.am
index 1a8ed4c3..2b0e93a0 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,6 +1,14 @@
+EXTRALIBS = easydialog tools
+dist_pkglib_DATA = $(EXTRALIBS)
+EXTRA_DIST = easydialog.in tools.in
 
-EXTRALIBRARIES = easydialog.sh
+edit = sed \
+    -e "s,@BASH\@,$(BASH),g"
 
-EXTRA_DIST = Makefile.am $(EXTRALIBRARIES)
+easydialog: easydialog.in
+	rm -f easydialog
+	$(edit) easydialog.in > easydialog
 
-dist_pkglib_DATA = $(EXTRALIBRARIES)
+tools: tools.in
+	rm -f tools
+	$(edit) tools.in > tools
diff --git a/lib/Makefile.in b/lib/Makefile.in
index d462ea81..67a1df5a 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -111,9 +111,12 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-EXTRALIBRARIES = easydialog.sh
-EXTRA_DIST = Makefile.am $(EXTRALIBRARIES)
-dist_pkglib_DATA = $(EXTRALIBRARIES)
+EXTRALIBS = easydialog tools
+dist_pkglib_DATA = $(EXTRALIBS)
+EXTRA_DIST = easydialog.in tools.in
+edit = sed \
+    -e "s,@BASH\@,$(BASH),g"
+
 all: all-am
 
 .SUFFIXES:
@@ -285,6 +288,14 @@ uninstall-am: uninstall-dist_pkglibDATA uninstall-info-am
 	pdf-am ps ps-am uninstall uninstall-am \
 	uninstall-dist_pkglibDATA uninstall-info-am
 
+
+easydialog: easydialog.in
+	rm -f easydialog
+	$(edit) easydialog.in > easydialog
+
+tools: tools.in
+	rm -f tools
+	$(edit) tools.in > tools
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/lib/easydialog.sh b/lib/easydialog.in
similarity index 99%
rename from lib/easydialog.sh
rename to lib/easydialog.in
index 0113d9cb..59b0efa2 100644
--- a/lib/easydialog.sh
+++ b/lib/easydialog.in
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!@BASH@
 
 # copyright 2002 lmoore@tump.com under the terms of the GNU LGPL.
 # additions 2005 collective@riseup.net
diff --git a/lib/tools.in b/lib/tools.in
new file mode 100644
index 00000000..89f2ff73
--- /dev/null
+++ b/lib/tools.in
@@ -0,0 +1,19 @@
+#!@BASH@
+
+
+#
+# create a temporary file in a secure way.
+#
+function maketemp() {
+	if [ -x /bin/mktemp ]
+	then
+		local tempfile=`mktemp /tmp/$1.XXXXXXXX`
+	else
+		DATE=`date`
+		sectmp=`echo $DATE | /usr/bin/md5sum | cut -d- -f1`
+		local tempfile=/tmp/$1.$sectmp
+	fi
+	echo $tempfile
+}
+
+
diff --git a/src/ninjahelper.in b/src/ninjahelper.in
index 7497b69e..f0ad45a9 100755
--- a/src/ninjahelper.in
+++ b/src/ninjahelper.in
@@ -215,7 +215,7 @@ if [ ! -d "$configdirectory" ]; then
 	exit 1
 fi
 
-. $libdir/easydialog.sh
+. $libdir/easydialog
 
 if [ "$UID" != "0" ]; then
 	msgBox "warning" "ninjahelper must be run by root!"
-- 
GitLab