summaryrefslogtreecommitdiff
path: root/pkgtools
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2019-10-19 16:18:55 +0000
committerrillig <rillig@pkgsrc.org>2019-10-19 16:18:55 +0000
commit2deb087ab011a87d463b0cd9b42fd683d5c1c642 (patch)
treece2de176faa9dcf2d0d90f32229e1880365581a2 /pkgtools
parentb9e025e90abd827d1f876759262f5760d6671cad (diff)
downloadpkgsrc-2deb087ab011a87d463b0cd9b42fd683d5c1c642.tar.gz
pkgtools/R2pkg: clean up shell program
Diffstat (limited to 'pkgtools')
-rwxr-xr-xpkgtools/R2pkg/files/R2pkg.sh107
1 files changed, 50 insertions, 57 deletions
diff --git a/pkgtools/R2pkg/files/R2pkg.sh b/pkgtools/R2pkg/files/R2pkg.sh
index 38b3bbc7532..e1594c725bc 100755
--- a/pkgtools/R2pkg/files/R2pkg.sh
+++ b/pkgtools/R2pkg/files/R2pkg.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# $NetBSD: R2pkg.sh,v 1.9 2019/10/13 15:35:48 rillig Exp $
+# $NetBSD: R2pkg.sh,v 1.10 2019/10/19 16:18:55 rillig Exp $
#
# Copyright (c) 2014,2015,2016,2017,2018,2019
# Brook Milligan. All rights reserved.
@@ -57,39 +57,38 @@ UPDATE=false
VERBOSE=0
DESCRIPTION=no
-DESCRIPTION_CONNECTION=connection
-ARGS=""
-while getopts cDehqruVvE:M:L:P: f
+args=""
+while getopts cDehqruVvE:M:L:P: arg
do
- case ${f} in
+ case ${arg} in
# options without arguments
- c) UPDATE=false; ARGS="${ARGS} -c";;
- D) DESCRIPTION=yes; DESCRIPTION_CONNECTION="'DESCRIPTION'"; ARGS="${ARGS} -D";;
- e) EDIT=0; ARGS="${ARGS} -e";;
+ c) args="${args} ${arg}"; UPDATE=false;;
+ D) args="${args} ${arg}"; DESCRIPTION=yes;;
+ e) args="${args} ${arg}"; EDIT=0;;
h) echo "${USAGE}"; exit 0;;
- q) QUIET=true; ARGS="${ARGS} -q";;
- r) RECURSIVE=true; ARGS="${ARGS} -r";;
- u) UPDATE=true; ARGS="${ARGS} -u";;
+ q) args="${args} ${arg}"; QUIET=true;;
+ r) args="${args} ${arg}"; RECURSIVE=true;;
+ u) args="${args} ${arg}"; UPDATE=true;;
V) echo "${NAME} v${VERS}"; exit 0;;
- v) VERBOSE=$((${VERBOSE}+1)); ARGS="${ARGS} -v";;
+ v) args="${args} ${arg}"; VERBOSE=$((VERBOSE + 1));;
# options taking arguments
- E) PKGEDITOR=${OPTARG}; ARGS="${ARGS} -E ${PKGEDITOR}";;
- M) MAINTAINER_EMAIL=${OPTARG}; ARGS="${ARGS} -M ${MAINTAINER_EMAIL}";;
+ E) args="${args} ${arg} ${OPTARG}"; PKGEDITOR=${OPTARG};;
+ M) args="${args} ${arg} ${OPTARG}"; MAINTAINER_EMAIL=${OPTARG};;
# options for recursion; only for internal use
L) LEVEL=${OPTARG};;
P) PID=${OPTARG};;
# unknown options
- \?) echo "${USAGE}" 1>&2; exit 1;;
+ \?) echo "${USAGE}" 1>&2; exit 1;;
esac
done
-shift `expr ${OPTIND} - 1`
+shift $((OPTIND - 1))
-# Update ${ARGS} for recursive call
-ARGS="${ARGS} -L $((${LEVEL}+1)) -P ${PID}"
+# Update ${args} for recursive call
+args="${args} -L $((LEVEL + 1)) -P ${PID}"
if [ ${#} -eq 0 ]; then
- RPKG=$(basename $(pwd) | sed -e 's/^R-//')
+ RPKG=$(basename "$(pwd)" | sed -e 's/^R-//')
elif [ ${#} -eq 1 ]; then
RPKG=${1}
else
@@ -100,7 +99,7 @@ fi
R_FILE=${TMPDIR}/R2pkg.$$.R
-if [ ${UPDATE} = true -a -r Makefile ]; then
+if [ ${UPDATE} = true ] && [ -r Makefile ]; then
BANNER_MSG="[ ${LEVEL} ] ===> Updating R package R-${RPKG} in $(pwd)"
else
BANNER_MSG="[ ${LEVEL} ] ===> Creating R package R-${RPKG} in $(pwd)"
@@ -117,9 +116,6 @@ if [ ${QUIET} = true ]; then
ECHO_DONE=":"
ECHO_FETCH=":"
ECHO_EXTRACT=":"
- if [ ${LEVEL} -ne 0 ]; then
- ECHO=":"
- fi
elif [ ${VERBOSE} -eq 0 ]; then
STDOUT_MAKESUM=">/dev/null"
STDOUT_EXTRACT=">/dev/null"
@@ -149,22 +145,25 @@ fi
CRAN_PACKAGES=pub/R/web/packages
RPKG_DESCRIPTION_URL=${CRAN_URL}/${CRAN_PACKAGES}/${RPKG}/DESCRIPTION
+exists ()
+{
+ case "$#,$*" in (1,*\**) return 1;; esac
+ return 0
+}
+
check_for_R ()
{
- R_CMD="Rscript --no-save /dev/null"
- eval ${R_CMD}
- if [ ${?} -ne 0 ]; then
- echo "ERROR: math/R package is not installed." 1>&2
- exit 1
- fi
+ Rscript --no-save /dev/null && return
+ echo "ERROR: math/R package is not installed." 1>&2
+ exit 1
}
check_for_no_recursion ()
{
- touch ${PACKAGES_LIST}
- grep -E -q -e "${RPKG}" ${PACKAGES_LIST} \
+ touch "${PACKAGES_LIST}"
+ grep -E -q -e "${RPKG}" "${PACKAGES_LIST}" \
&& echo "ERROR: circular dependency" 1>&2
- echo "${RPKG}" >> ${PACKAGES_LIST}
+ echo "${RPKG}" >> "${PACKAGES_LIST}"
}
preserve_original_content ()
@@ -187,7 +186,7 @@ preserve_original_content ()
make_package ()
{
env LEVEL="${LEVEL}" RPKG="${RPKG}" PACKAGES_LIST="${PACKAGES_LIST}" \
- R2PKG="${R2PKG}" ARGS="${ARGS}" RECURSIVE="${RECURSIVE}" \
+ R2PKG="${R2PKG}" ARGS="${args}" RECURSIVE="${RECURSIVE}" \
UPDATE="${UPDATE}" DEPENDENCY_LIST="${DEPENDENCY_LIST}" \
MAINTAINER_EMAIL="${MAINTAINER_EMAIL}" \
RPKG_DESCRIPTION_URL="${RPKG_DESCRIPTION_URL}" \
@@ -203,14 +202,14 @@ make_package ()
edit_Makefile ()
{
- if [ ${EDIT} -ne 0 -a -s Makefile ]; then
+ if [ ${EDIT} -ne 0 ] && [ -s Makefile ]; then
${PKGEDITOR} Makefile
fi
}
edit_DESCR ()
{
- if [ ${EDIT} -ne 0 -a -s DESCR ]; then
+ if [ ${EDIT} -ne 0 ] && [ -s DESCR ]; then
${PKGEDITOR} DESCR
fi
}
@@ -219,11 +218,11 @@ create_distinfo ()
{
${ECHO_FETCH} "==> Fetching R-${RPKG} ..."
MAKE_CMD="${MAKE} makesum ${STDOUT_MAKESUM}"
- eval ${MAKE_CMD}
+ eval "${MAKE_CMD}"
error=${?}
if [ ${error} -eq 0 ]; then
MAKE_CMD="${MAKE} makepatchsum ${STDOUT_MAKESUM}"
- eval ${MAKE_CMD}
+ eval "${MAKE_CMD}"
error=${?}
fi
return ${error}
@@ -242,14 +241,14 @@ extract ()
{
${ECHO_EXTRACT} "[ ${LEVEL} ] Extracting R-${RPKG} ..."
MAKE_CMD="env SKIP_DEPENDS=yes ${MAKE} clean extract ${STDOUT_EXTRACT}"
- eval ${MAKE_CMD}
+ eval "${MAKE_CMD}"
}
check_license ()
{
rm -f LICENSE
# echo '===> LICENSE files:'
- if [ -f work/*/LICENSE ]; then
+ if exists work/*/LICENSE; then
grep -v "^YEAR: " work/*/LICENSE \
| grep -v "^COPYRIGHT HOLDER: " \
| grep -v "^ORGANIZATION: " \
@@ -257,7 +256,7 @@ check_license ()
if [ -s LICENSE ]; then
# ninka -d LICENSE
cp work/*/LICENSE .
- /bin/echo -n "[ ${LEVEL} ] Current license: "
+ printf '%s' "[ ${LEVEL} ] Current license: "
grep LICENSE Makefile
echo "[ ${LEVEL} ] Please check it against the following:"
cat LICENSE
@@ -272,17 +271,13 @@ check_license ()
check_copying ()
{
- if [ -f work/*/COPYING ]; then
- cp work/*/COPYING .
- fi
- if [ -f work/*/COPYING.lib ]; then
- cp work/*/COPYING.lib .
- fi
+ exists work/*/COPYING && cp work/*/COPYING .
+ exists work/*/COPYING.lib && cp work/*/COPYING.lib .
}
cleanup_DESCR ()
{
- if [ -f DESCR -a -f DESCR.orig ]; then
+ if [ -f DESCR ] && [ -f DESCR.orig ]; then
if diff --ignore-case --ignore-all-space --ignore-blank-lines DESCR.orig DESCR > /dev/null; then
mv DESCR.orig DESCR
else
@@ -296,19 +291,17 @@ cleanup_DESCR ()
cleanup_Makefile ()
{
- if [ -f Makefile -a -f Makefile.orig ]; then
+ if [ -f Makefile ] && [ -f Makefile.orig ]; then
diff --ignore-case --ignore-all-space --ignore-blank-lines Makefile.orig Makefile > /dev/null \
&& mv Makefile.orig Makefile
elif [ -f Makefile.orig ]; then
mv Makefile.orig Makefile
- else
- echo "[ ${LEVEL} ] $(pwd): neither Makefile nor Makefile.orig"
fi
}
cleanup_buildlink3 ()
{
- if [ buildlink3.mk -a -f buildlink3.mk.orig ]; then
+ if [ -f buildlink3.mk ] && [ -f buildlink3.mk.orig ]; then
diff --ignore-case --ignore-all-space --ignore-blank-lines buildlink3.mk.orig buildlink3.mk > /dev/null \
&& mv buildlink3.mk.orig buildlink3.mk
elif [ -f buildlink3.mk.orig ]; then
@@ -318,7 +311,7 @@ cleanup_buildlink3 ()
cleanup_distinfo ()
{
- if [ -f distinfo -a -f distinfo.orig ]; then
+ if [ -f distinfo ] && [ -f distinfo.orig ]; then
tail +2 distinfo.orig > ${TMPDIR}/distinfo.orig.${PID}
tail +2 distinfo > ${TMPDIR}/distinfo.${PID}
cmp -s ${TMPDIR}/distinfo.orig.${PID} ${TMPDIR}/distinfo.${PID} \
@@ -340,8 +333,8 @@ cleanup_misc_files ()
rm -f USE_TOOLS
rm -f DEPENDS
rm -f BUILDLINK3.MK
- [ ${LEVEL} -eq 0 ] && rm -f ${PACKAGES_LIST}
- [ ${LEVEL} -eq 0 ] && rm -f ${DEPENDENCY_LIST}
+ [ ${LEVEL} -eq 0 ] && rm -f "${PACKAGES_LIST}"
+ [ ${LEVEL} -eq 0 ] && rm -f "${DEPENDENCY_LIST}"
}
cleanup ()
@@ -355,7 +348,7 @@ cleanup ()
messages ()
{
- if [ ${QUIET} = false -a ${LEVEL} -eq 0 ]; then
+ if [ ${QUIET} = false ] && [ ${LEVEL} -eq 0 ]; then
cat << EOF
Please do not forget the following:
@@ -378,8 +371,8 @@ Recursive packages may have been created in ../../wip; please do the following:
o fix the category of any dependencies.
o remove any extraneous dependencies.
EOF
- if [ -s ${DEPENDENCY_LIST} ]; then
- tsort ${DEPENDENCY_LIST} > depends
+ if [ -s "${DEPENDENCY_LIST}" ]; then
+ tsort "${DEPENDENCY_LIST}" > depends
echo "- It may be useful to test these packages in the following order:"
awk 'BEGIN{printf(" ")} {printf(" R-%s",$0)}' depends && echo
fi