tweak script to skip packages with an empty REQUIRES= line unless new SKIP_EMPTY variable at top of script is uncommented.

This commit is contained in:
chess.griffin 2013-03-01 04:31:48 +00:00
parent b474cba048
commit f93141cb9f

View file

@ -36,12 +36,17 @@ SBOPKG_CONF=${SBOPKG_CONF:-/etc/sbopkg/sbopkg.conf}
# The user may want to change QUEUEDIR to a local temporary directory in $HOME # The user may want to change QUEUEDIR to a local temporary directory in $HOME
# since queuefiles in QUEUEDIR will be overwritten by this script. QUEUEDIR # since queuefiles in QUEUEDIR will be overwritten by this script. QUEUEDIR
# is commented out on purpose to get the user to review these variables. # is commented out on purpose to get the user to review these variables.
# QUEUEDIR must be writable by the user executing the script. # QUEUEDIR must be writable by the user executing the script. SKIP_EMPTY
# means the script will not create queuefiles for packages with an empty
# REQUIRES= line in the .info file. Uncomment or export a value to create
# queuefiles for packages with an empty REQUIRES= line (which will only
# contain the package name in the queuefile since there are no REQUIRES).
#QUEUEDIR=${QUEUEDIR:-/var/lib/sbopkg/queues} #QUEUEDIR=${QUEUEDIR:-/var/lib/sbopkg/queues}
REPO_ROOT=${REPO_ROOT:-/var/lib/sbopkg} REPO_ROOT=${REPO_ROOT:-/var/lib/sbopkg}
REPO_NAME=${REPO_NAME:-SBo} REPO_NAME=${REPO_NAME:-SBo}
REPO_BRANCH=${REPO_BRANCH:-14.0} REPO_BRANCH=${REPO_BRANCH:-14.0}
#SKIP_EMPTY=${SKIP_EMPTY:-NO}
### NO CHANGES SHOULD BE NECESSARY BELOW THIS LINE ### ### NO CHANGES SHOULD BE NECESSARY BELOW THIS LINE ###
@ -70,7 +75,9 @@ usage() {
cat << EOF cat << EOF
Usage: $SCRIPT [-a] to build all queuefiles or [-p <package>] for individual Usage: $SCRIPT [-a] to build all queuefiles or [-p <package>] for individual
packages. Multiple packages can be passed with quotes, e.g. -p "pkg1" "pkg2". packages. Multiple packages can be passed with quotes, e.g. -p "pkg1" "pkg2".
Package names are case-sensitive. Use 'sbopkg -g pkg' to search if needed. Packages with an empty REQUIRES= line will be skipped unless SKIP_EMPTY is
uncommented at the top of the script. Package names are case-sensitive. Use
'sbopkg -g pkg' to search if needed.
This script will overwrite existing queuefiles in \$QUEUEDIR so back up any This script will overwrite existing queuefiles in \$QUEUEDIR so back up any
existing queuefiles or local modifications. Check the top of the script for existing queuefiles or local modifications. Check the top of the script for
@ -104,7 +111,7 @@ parse_queuefile_requires () {
echo "$DEP" >> $QUEUEFILE echo "$DEP" >> $QUEUEFILE
parse_queuefile_requires $DEP parse_queuefile_requires $DEP
elif [[ "$DEP" == "%README%" ]]; then elif [[ "$DEP" == "%README%" ]]; then
echo "# %README% - see the $PARSEAPP README file. " >> $QUEUEFILE echo "# %README%: see the $PARSEAPP README file. " >> $QUEUEFILE
fi fi
done done
else else
@ -122,22 +129,32 @@ build_queuefile () {
} }
main_loop () { main_loop () {
local MAINAPP="$1" local MAINAPP="$1" INFO
if [[ $MAINAPP == "_all" ]]; then if [[ $MAINAPP == "_all" ]]; then
printf "Processing all SlackBuilds in the $REPO_SUBPATH repo..." printf "Processing all SlackBuilds in the $REPO_SUBPATH repo..."
for INFO in $(find $REPO_DIR -name *.info); do for INFO in $(find $REPO_DIR -name *.info); do
printf "."
. $INFO . $INFO
build_queuefile if [[ -z $REQUIRES && $SKIP_EMPTY == "" ]]; then
continue
else
printf "."
build_queuefile
fi
done done
else else
for MAINAPP in $PKG; do for MAINAPP in $PKG; do
if search_package $MAINAPP; then if search_package $MAINAPP; then
echo "Processing $MAINAPP."
. $REPO_DIR/$PKGPATH/$MAINAPP.info . $REPO_DIR/$PKGPATH/$MAINAPP.info
build_queuefile if [[ -z $REQUIRES && $SKIP_EMPTY == "" ]]; then
echo "$MAINAPP: empty REQUIRES line. No queuefile generated."
echo "Uncomment SKIP_EMPTY to change this."
continue
else
echo "Processing $MAINAPP."
build_queuefile
fi
else else
echo "$MAINAPP not found. Exiting." echo "$MAINAPP: not found."
exit 1 exit 1
fi fi
done done