Submitted By: Tushar Teredesai Date: 2005-07-25 Initial Package Version: 1.5 Upstream Status: Sent, no response yet. Origin: http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2003-April/033602.html http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2003-June/035234.html http://linuxfromscratch.org/pipermail/lfs-dev/2005-June/051908.html Description: Add tempfile wrapper script. Use "make install-tempfile" to install it. diff -Naur mktemp-1.5.orig/Makefile.in mktemp-1.5/Makefile.in --- mktemp-1.5.orig/Makefile.in 2003-03-23 18:09:56.000000000 -0700 +++ mktemp-1.5/Makefile.in 2005-07-25 11:11:11.000000000 -0600 @@ -113,6 +113,9 @@ install-man: $(INSTALL) -m 0444 $(srcdir)/$(PROG).$(mantype) $(mandir)/man1/$(PROG).1 +install-tempfile: $(srcdir)/tempfile + $(INSTALL) -m 0555 $(srcdir)/tempfile $(bindir)/tempfile + check: @echo nothing to check diff -Naur mktemp-1.5.orig/tempfile mktemp-1.5/tempfile --- mktemp-1.5.orig/tempfile 1969-12-31 17:00:00.000000000 -0700 +++ mktemp-1.5/tempfile 2005-07-25 11:13:41.000000000 -0600 @@ -0,0 +1,85 @@ +#!/bin/bash +# A tempfile wrapper for mktemp +# Note: If you can, avoid using tempfile and use mktemp instead. +# This wrapper is provided for compatibility since some scripts use +# tempfile. If possible, the best solution is to patch the scripts +# to use mktemp. +# +# Copyright (c) Tushar Teredesai +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# + +# Usage info +usage() +{ + echo "Usage: tempfile [OPTION]" + echo + echo "Create a temporary file in a safe manner." + echo "This version is a wrapper that invokes mktemp." + echo "NOTE: Do not use tempfile in your scripts." + echo " Use mktemp instead." + echo + echo "[-d|--directory] DIR -> place temporary file in DIR" + echo "[-p|--prefix] PREFIX -> ignored" + echo "[-s|--suffix] SUFFIX -> ignored" + echo "[-n|--name] NAME -> ignored" + echo "[-m|--mode] MODE -> ignored" + echo "--version -> output version information and exit" +} + +# parse all arguments +while [ $# != 0 ] +do + case "$1" in + # -d for tempfile is equivalent to -p for mktemp + -d|--directory) + dir="$2" + shift 2 + ;; + --directory=*) + dir="${1#--directory=}" + shift 1 + ;; + -d*) + dir="${1#-d}" + shift 1 + ;; + # The following switches are ignored. + -p|--prefix|-s|--suffix|-n|--name|-m|--mode) + shift 2 + ;; + -p*|--prefix=*|-s*|--suffix=*|-n*|--name=*|-m*|--mode=*) + shift 1 + ;; + # --version for tempfile is equivalent to -V for mktemp + --version) + echo "tempfile 1.0 (`mktemp -V 2>/dev/null`)" + exit 0 + ;; + # Unknown switch + *) + usage + exit 1 + ;; + esac +done + +# Use the dir if $TMPDIR is not set. +if [ -z "$TMPDIR" -a ! -z "$dir" ] +then + export TMPDIR="$dir" +fi +# Execute mktemp with proper arguments +# the -t behaviour of mktemp is the default for tempfile +exec mktemp -t