[TinyIPA] Avoid running rm with no parameters

Currently, during ramdisk optimization steps, the find tool is used to
look for files to remove. We pipe all files found by find to the rm
command running as sudo. This is necessary because of the ownership of
the files to be removed.

This commit uses the "--no-run-if-empty" GNU extension to xargs. This
extension should be present on all machines running the TinyIPA build,
because non-GNU systems simply cannot build TinyIPA.

An alternative would have been to use the -delete flag to find, and to
run find as root.

Change-Id: I78854c8901433b7d45e014dd18e7a5ff794a9c45
Closes-bug: #1661219
This commit is contained in:
Mathieu Mitchell 2017-02-02 06:41:01 -05:00
parent 5b1a217195
commit e49f05028c
1 changed files with 3 additions and 3 deletions

View File

@ -158,14 +158,14 @@ if $PYOPTIMIZE_TINYIPA; then
set +e
$CHROOT_CMD /bin/bash -c "python -OO -m compileall /usr/local/lib/python2.7"
set -e
find $FINALDIR/usr/local/lib/python2.7 -name "*.py" -not -path "*ironic_python_agent/api/config.py" | sudo xargs rm
find $FINALDIR/usr/local/lib/python2.7 -name "*.pyc" | sudo xargs rm
find $FINALDIR/usr/local/lib/python2.7 -name "*.py" -not -path "*ironic_python_agent/api/config.py" | sudo xargs --no-run-if-empty rm
find $FINALDIR/usr/local/lib/python2.7 -name "*.pyc" | sudo xargs --no-run-if-empty rm
else
sudo sed -i "s/PYTHONOPTIMIZE=1/PYTHONOPTIMIZE=0/" "$FINALDIR/opt/bootlocal.sh"
fi
# Delete unnecessary Babel .dat files
find $FINALDIR -path "*babel/locale-data/*.dat" -not -path "*en_US*" | sudo xargs rm
find $FINALDIR -path "*babel/locale-data/*.dat" -not -path "*en_US*" | sudo xargs --no-run-if-empty rm
# Allow an extension to be added to the generated files by specifying
# $BRANCH_PATH e.g. export BRANCH_PATH=master results in tinyipa-master.gz etc