#!/bin/sh # Check scripts in the I2P source for validity by running with "sh -n # $SCRIPTNAME". Optionally checks for bashisms if "checkbashisms" is installed. # Exits 0 if no errors, non-zero otherwise cd `dirname $0`/../.. # Only Bourne-compatible scripts should be in this list. SCRIPTFILES="\ ./apps/desktopgui/bundle-messages.sh \ ./apps/i2psnark/java/bundle-messages.sh \ ./apps/i2psnark/launch-i2psnark \ ./apps/i2ptunnel/java/bundle-messages-proxy.sh \ ./apps/i2ptunnel/java/bundle-messages.sh \ ./apps/routerconsole/java/bundle-messages-news.sh \ ./apps/routerconsole/java/bundle-messages.sh \ ./apps/sam/c/examples/i2p-ping/pinger.sh \ ./apps/susidns/src/bundle-messages.sh \ ./apps/susimail/bundle-messages.sh \ ./core/c/build.sh \ ./core/c/jbigi/build-all.sh \ ./core/c/jbigi/build_jbigi.sh \ ./core/c/jbigi/build.sh \ ./core/c/jbigi/mbuild-all.sh \ ./core/c/jcpuid/build.sh \ ./core/c/mbuild.sh \ ./debian/i2p.config \ ./debian/i2p-doc.preinst \ ./debian/i2p.init \ ./debian/i2p.postinst \ ./debian/i2p.postrm \ ./debian/i2p.preinst \ ./debian/libjbigi-jni.preinst \ ./debian/repack.sh \ ./installer/resources/install_i2p_service_osx.command \ ./installer/resources/install_i2p_service_unix \ ./installer/resources/locale/bundle-messages.sh \ ./installer/resources/postinstall.sh \ ./installer/resources/runplain.sh \ ./installer/resources/uninstall_i2p_service_osx.command ./installer/resources/uninstall_i2p_service_unix \ ./Slackware/i2p/i2p.SlackBuild \ ./Slackware/i2p/doinst.sh \ ./Slackware/i2p/rc.i2p \ ./tests/scripts/checkcerts.sh \ ./tests/scripts/checkpo.sh \ ./tests/scripts/checkutf8.sh \ ./tests/scripts/checkxml.sh \ ./tests/scripts/testjbigi.sh \ " for script in $SCRIPTFILES; do #echo "Checking $script ..." if sh -n "$script" ; then : ; else echo "********* FAILED CHECK FOR $script *************" FAIL=1 fi if $(which checkbashisms > /dev/null 2>&1) ; then checkbashisms $script fi done if [ "$FAIL" != "" ] then echo "******** At least one file failed check *********" else echo "All files passed" fi exit $FAIL