aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'rpm2targz')
-rwxr-xr-xrpm2targz20
1 files changed, 13 insertions, 7 deletions
diff --git a/rpm2targz b/rpm2targz
index 43444dd..e439b08 100755
--- a/rpm2targz
+++ b/rpm2targz
@@ -22,6 +22,8 @@
#
argv0=${0##*/}
+warn() { echo "${argv0}: warning: $*" 1>&2; }
+err() { echo "${argv0}: warning: $*" 1>&2; exit 1; }
usage=false
stdout=false
@@ -55,13 +57,19 @@ if ! ${files} || ${usage} ; then
EOF
if [ -n "${msg}" ] ; then
- echo "Error: ${msg}" 1>&2
- exit 1
+ err "${msg}"
else
exit 0
fi
fi
+# allow for local development
+if [ "${0#./}" != "${0}" -a -x "./rpmoffset" ] ; then
+ rpmoffset="./rpmoffset"
+else
+ rpmoffset="rpmoffset"
+fi
+
compress="cat"
case ${argv0} in
rpmunpack) suffix="";;
@@ -103,8 +111,7 @@ if [ -z "${WORKDIR}" ] ; then
fi
fi
if ! ${worked} ; then
- echo "${argv0}: ${WORKDIR}: unable to create a temp directory"
- exit 1
+ err "${WORKDIR}: unable to create a temp directory"
fi
fi
fi
@@ -129,9 +136,8 @@ for file; do
DEST="${WORKDIR}/${base}"
rm -rf "${DEST}"
if ! mkdir "${DEST}" ; then
- echo "${argv0}: ${file}: ${DEST}: unable to create working directory"
- rm -rf "${WORKDIR}"
- exit 1
+ rm -rf "${WORKDIR}" &
+ err "${file}: ${DEST}: unable to create working directory"
fi
# extract the CPIO from the RPM and unpack it