diff --git a/board/bananapim1/cpinitramfs.sh b/board/bananapim1/cpinitramfs.sh index 7c5af3f0e4..6b79ac324c 100755 --- a/board/bananapim1/cpinitramfs.sh +++ b/board/bananapim1/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.uboot $BOARD_DIR/uInitrd +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd diff --git a/board/bananapim1/mkimage.sh b/board/bananapim1/mkimage.sh index 21fc43f036..7592c0dc83 100755 --- a/board/bananapim1/mkimage.sh +++ b/board/bananapim1/mkimage.sh @@ -1,12 +1,12 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ -export UBOOT_BIN=$IMG_DIR/u-boot-sunxi-with-spl.bin +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${IMG_DIR}/u-boot-sunxi-with-spl.bin export UBOOT_SEEK=16 -$COMMON_DIR/mkimage.sh +${COMMON_DIR}/mkimage.sh diff --git a/board/bananapim1/postscript.sh b/board/bananapim1/postscript.sh index 57228f0501..41c58a2070 100755 --- a/board/bananapim1/postscript.sh +++ b/board/bananapim1/postscript.sh @@ -2,13 +2,13 @@ set -e -UBOOT_HOST_DIR=$TARGET/../build/host-uboot-tools-* +UBOOT_HOST_DIR=${TARGET}/../build/host-uboot-tools-* -cp $IMG_DIR/uImage $BOOT_DIR -cp $IMG_DIR/sun7i-a20-bananapi.dtb $BOOT_DIR +cp ${IMG_DIR}/uImage ${BOOT_DIR} +cp ${IMG_DIR}/sun7i-a20-bananapi.dtb ${BOOT_DIR} -$UBOOT_HOST_DIR/tools/mkimage -C none -A arm -T script -d $BOARD_DIR/boot.cmd $BOOT_DIR/boot.scr -$UBOOT_HOST_DIR/tools/mkimage -C none -A arm -T script -d $BOARD_DIR/boot-fwupdater.cmd $BOOT_DIR/boot-fwupdater.scr +${UBOOT_HOST_DIR}/tools/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot.cmd ${BOOT_DIR}/boot.scr +${UBOOT_HOST_DIR}/tools/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot-fwupdater.cmd ${BOOT_DIR}/boot-fwupdater.scr -cp $BOARD_DIR/uInitrd $BOOT_DIR +cp ${BOARD_DIR}/uInitrd ${BOOT_DIR} diff --git a/board/common/busybox.config b/board/common/busybox.config index c93a93c1ac..1a3a02eda5 100644 --- a/board/common/busybox.config +++ b/board/common/busybox.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Busybox version: 1.29.2 -# Wed Nov 14 23:22:52 2018 +# Fri Jan 25 20:24:12 2019 # CONFIG_HAVE_DOT_CONFIG=y @@ -525,7 +525,7 @@ CONFIG_FEATURE_NOLOGIN=y CONFIG_FEATURE_SECURETTY=y CONFIG_PASSWD=y # CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set -# CONFIG_SU is not set +CONFIG_SU=y # CONFIG_FEATURE_SU_SYSLOG is not set # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set # CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set diff --git a/board/common/cleanups.sh b/board/common/cleanups.sh index cdfe2134a1..6beafd3070 100755 --- a/board/common/cleanups.sh +++ b/board/common/cleanups.sh @@ -1,212 +1,221 @@ #!/bin/sh -if [ -z "$TARGET" ]; then +if [ -z "${TARGET}" ]; then echo "this script must be invoked from postscript.sh" exit 1 fi -find $TARGET -name '.empty' | xargs -r rm +find ${TARGET} -name '.empty' | xargs -r rm # /etc stuff -rm -rf $TARGET/etc/network/ -rm -rf $TARGET/etc/dhcp/ -rm -rf $TARGET/etc/ssh/ -rm -rf $TARGET/etc/rc_keymaps/ -rm -rf $TARGET/etc/default/ -rm -rf $TARGET/etc/ctdb/ -rm -rf $TARGET/etc/sudoers.d/ -rm -rf $TARGET/etc/ssl/man -rm -rf $TARGET/etc/ssl/misc -rm -rf $TARGET/etc/ssl/private -rm -rf $TARGET/etc/logrotate.d +rm -rf ${TARGET}/etc/network/ +rm -rf ${TARGET}/etc/dhcp/ +rm -rf ${TARGET}/etc/ssh/ +rm -rf ${TARGET}/etc/rc_keymaps/ +rm -rf ${TARGET}/etc/default/ +rm -rf ${TARGET}/etc/ctdb/ +rm -rf ${TARGET}/etc/sudoers.d/ +rm -rf ${TARGET}/etc/ssl/man +rm -rf ${TARGET}/etc/ssl/misc +rm -rf ${TARGET}/etc/ssl/private +rm -rf ${TARGET}/etc/logrotate.d -rm -f $TARGET/etc/rc_maps.cfg -rm -f $TARGET/etc/udev/hwdb.d/20-pci-vendor-model.hwdb -rm -f $TARGET/etc/hostname -rm -f $TARGET/etc/os-release -rm -f $TARGET/etc/hostapd.conf +rm -f ${TARGET}/etc/rc_maps.cfg +rm -f ${TARGET}/etc/udev/hwdb.d/20-pci-vendor-model.hwdb +rm -f ${TARGET}/etc/hostname +rm -f ${TARGET}/etc/os-release +rm -f ${TARGET}/etc/hostapd.conf # /usr/share stuff -rm -rf $TARGET/usr/share/bash-completion/ -rm -rf $TARGET/usr/share/locale/* -rm -rf $TARGET/usr/share/ffmpeg/ -rm -rf $TARGET/usr/share/perl5/ -rm -rf $TARGET/usr/share/common-lisp/ +rm -rf ${TARGET}/usr/share/bash-completion/ +rm -rf ${TARGET}/usr/share/locale/* +rm -rf ${TARGET}/usr/share/ffmpeg/ +rm -rf ${TARGET}/usr/share/perl5/ +rm -rf ${TARGET}/usr/share/common-lisp/ # various binaries -rm -f $TARGET/bin/more -rm -f $TARGET/bin/wdctl -rm -f $TARGET/usr/sbin/readprofile -rm -f $TARGET/sbin/nologin -rm -f $TARGET/bin/mountpoint -rm -f $TARGET/sbin/ldattach -rm -f $TARGET/usr/sbin/ldattach -rm -f $TARGET/sbin/slattach -rm -f $TARGET/sbin/plipconfig -rm -f $TARGET/sbin/fstrim -rm -f $TARGET/usr/sbin/rtcwake -rm -f $TARGET/bin/lsblk -rm -f $TARGET/usr/bin/col -rm -f $TARGET/sbin/fdformat -rm -f $TARGET/sbin/ctrlaltdel -rm -f $TARGET/bin/findmnt -rm -f $TARGET/usr/bin/colcrt -rm -f $TARGET/sbin/fsfreeze -rm -f $TARGET/usr/bin/colrm -rm -f $TARGET/usr/sbin/addpart -rm -f $TARGET/sbin/blkdiscard -rm -f $TARGET/usr/sbin/delpart -rm -f $TARGET/usr/bin/column -rm -f $TARGET/sbin/swapon -rm -f $TARGET/usr/sbin/resizepart -rm -f $TARGET/usr/bin/hexdump -rm -f $TARGET/sbin/swapoff -rm -f $TARGET/usr/bin/rev -rm -f $TARGET/sbin/chcpu -rm -f $TARGET/usr/bin/tailf -rm -f $TARGET/usr/bin/pg -rm -f $TARGET/sbin/blkid -rm -f $TARGET/usr/bin/ul -rm -f $TARGET/sbin/findfs -rm -f $TARGET/sbin/wipefs -rm -f $TARGET/usr/bin/script -rm -f $TARGET/usr/bin/scriptreplay -rm -f $TARGET/sbin/fsck.minix -rm -f $TARGET/sbin/mkfs.minix -rm -f $TARGET/usr/bin/setterm -rm -f $TARGET/usr/bin/flock -rm -f $TARGET/sbin/mkfs -rm -f $TARGET/usr/bin/ipcmk -rm -f $TARGET/sbin/mkfs.bfs -rm -f $TARGET/usr/bin/ipcrm -rm -f $TARGET/usr/bin/ipcs -rm -f $TARGET/sbin/mkswap -rm -f $TARGET/usr/bin/renice -rm -f $TARGET/sbin/swaplabel -rm -f $TARGET/usr/bin/setsid -rm -f $TARGET/sbin/blockdev -rm -f $TARGET/usr/bin/cytune -rm -f $TARGET/usr/bin/setarch -rm -f $TARGET/sbin/sfdisk -rm -f $TARGET/usr/bin/prlimit -rm -f $TARGET/sbin/cfdisk -rm -f $TARGET/usr/bin/lscpu -rm -f $TARGET/usr/bin/unshare -rm -f $TARGET/usr/bin/nsenter -rm -f $TARGET/usr/bin/cal -rm -f $TARGET/usr/bin/look -rm -f $TARGET/usr/bin/mcookie -rm -f $TARGET/usr/bin/namei -rm -f $TARGET/usr/bin/whereis -rm -f $TARGET/usr/bin/lslocks -rm -f $TARGET/usr/bin/uuidgen -rm -f $TARGET/usr/bin/getopt -rm -f $TARGET/bin/isosize -rm -f $TARGET/usr/sbin/fdformat -rm -f $TARGET/usr/bin/linux32 -rm -f $TARGET/usr/bin/linux64 -rm -f $TARGET/usr/bin/uname26 -rm -f $TARGET/bin/zcat -rm -f $TARGET/bin/zcmp -rm -f $TARGET/bin/zdiff -rm -f $TARGET/bin/zegrep -rm -f $TARGET/bin/zfgrep -rm -f $TARGET/bin/zforce -rm -f $TARGET/bin/zgrep -rm -f $TARGET/bin/zless -rm -f $TARGET/bin/zmore -rm -f $TARGET/bin/znew -rm -f $TARGET/bin/gzexe -rm -f $TARGET/bin/uncompress -rm -f $TARGET/usr/bin/slogin -rm -f $TARGET/usr/bin/ssh-keyscan -rm -f $TARGET/usr/bin/ssh-add -rm -f $TARGET/usr/bin/ssh-agent -rm -f $TARGET/usr/bin/xmllint +rm -f ${TARGET}/bin/more +rm -f ${TARGET}/bin/wdctl +rm -f ${TARGET}/usr/sbin/readprofile +rm -f ${TARGET}/sbin/nologin +rm -f ${TARGET}/bin/mountpoint +rm -f ${TARGET}/sbin/ldattach +rm -f ${TARGET}/usr/sbin/ldattach +rm -f ${TARGET}/sbin/slattach +rm -f ${TARGET}/sbin/plipconfig +rm -f ${TARGET}/sbin/fstrim +rm -f ${TARGET}/usr/sbin/rtcwake +rm -f ${TARGET}/bin/lsblk +rm -f ${TARGET}/usr/bin/col +rm -f ${TARGET}/sbin/fdformat +rm -f ${TARGET}/sbin/ctrlaltdel +rm -f ${TARGET}/bin/findmnt +rm -f ${TARGET}/usr/bin/colcrt +rm -f ${TARGET}/sbin/fsfreeze +rm -f ${TARGET}/usr/bin/colrm +rm -f ${TARGET}/usr/sbin/addpart +rm -f ${TARGET}/sbin/blkdiscard +rm -f ${TARGET}/usr/sbin/delpart +rm -f ${TARGET}/usr/bin/column +rm -f ${TARGET}/sbin/swapon +rm -f ${TARGET}/usr/sbin/resizepart +rm -f ${TARGET}/usr/bin/hexdump +rm -f ${TARGET}/sbin/swapoff +rm -f ${TARGET}/usr/bin/rev +rm -f ${TARGET}/sbin/chcpu +rm -f ${TARGET}/usr/bin/tailf +rm -f ${TARGET}/usr/bin/pg +rm -f ${TARGET}/sbin/blkid +rm -f ${TARGET}/usr/bin/ul +rm -f ${TARGET}/sbin/findfs +rm -f ${TARGET}/sbin/wipefs +rm -f ${TARGET}/usr/bin/script +rm -f ${TARGET}/usr/bin/scriptreplay +rm -f ${TARGET}/sbin/fsck.minix +rm -f ${TARGET}/sbin/mkfs.minix +rm -f ${TARGET}/usr/bin/setterm +rm -f ${TARGET}/usr/bin/flock +rm -f ${TARGET}/sbin/mkfs +rm -f ${TARGET}/usr/bin/ipcmk +rm -f ${TARGET}/sbin/mkfs.bfs +rm -f ${TARGET}/usr/bin/ipcrm +rm -f ${TARGET}/usr/bin/ipcs +rm -f ${TARGET}/sbin/mkswap +rm -f ${TARGET}/usr/bin/renice +rm -f ${TARGET}/sbin/swaplabel +rm -f ${TARGET}/usr/bin/setsid +rm -f ${TARGET}/sbin/blockdev +rm -f ${TARGET}/usr/bin/cytune +rm -f ${TARGET}/usr/bin/setarch +rm -f ${TARGET}/sbin/sfdisk +rm -f ${TARGET}/usr/bin/prlimit +rm -f ${TARGET}/sbin/cfdisk +rm -f ${TARGET}/usr/bin/lscpu +rm -f ${TARGET}/usr/bin/unshare +rm -f ${TARGET}/usr/bin/nsenter +rm -f ${TARGET}/usr/bin/cal +rm -f ${TARGET}/usr/bin/look +rm -f ${TARGET}/usr/bin/mcookie +rm -f ${TARGET}/usr/bin/namei +rm -f ${TARGET}/usr/bin/whereis +rm -f ${TARGET}/usr/bin/lslocks +rm -f ${TARGET}/usr/bin/uuidgen +rm -f ${TARGET}/usr/bin/getopt +rm -f ${TARGET}/bin/isosize +rm -f ${TARGET}/usr/sbin/fdformat +rm -f ${TARGET}/usr/bin/linux32 +rm -f ${TARGET}/usr/bin/linux64 +rm -f ${TARGET}/usr/bin/uname26 +rm -f ${TARGET}/bin/zcat +rm -f ${TARGET}/bin/zcmp +rm -f ${TARGET}/bin/zdiff +rm -f ${TARGET}/bin/zegrep +rm -f ${TARGET}/bin/zfgrep +rm -f ${TARGET}/bin/zforce +rm -f ${TARGET}/bin/zgrep +rm -f ${TARGET}/bin/zless +rm -f ${TARGET}/bin/zmore +rm -f ${TARGET}/bin/znew +rm -f ${TARGET}/bin/gzexe +rm -f ${TARGET}/bin/uncompress +rm -f ${TARGET}/usr/bin/slogin +rm -f ${TARGET}/usr/bin/ssh-keyscan +rm -f ${TARGET}/usr/bin/ssh-add +rm -f ${TARGET}/usr/bin/ssh-agent +rm -f ${TARGET}/usr/bin/xmllint -rm -f $TARGET/usr/libexec/ssh-keysign -rm -f $TARGET/usr/libexec/ssh-pkcs11-helper -rm -f $TARGET/usr/libexec/rmt +rm -f ${TARGET}/usr/libexec/ssh-keysign +rm -f ${TARGET}/usr/libexec/ssh-pkcs11-helper +rm -f ${TARGET}/usr/libexec/rmt # samba4 unneeded stuff -rm -f $TARGET/usr/bin/cifsdd -rm -f $TARGET/usr/bin/containers_* -rm -f $TARGET/usr/bin/ctdb* -rm -f $TARGET/usr/bin/dbwrap_tool -rm -f $TARGET/usr/bin/eventlogadm -rm -f $TARGET/usr/bin/event_rpcgen.py -rm -f $TARGET/usr/bin/gentest -rm -f $TARGET/usr/bin/ldb* -rm -f $TARGET/usr/bin/locktest -rm -f $TARGET/usr/bin/ltdbtool -rm -f $TARGET/usr/bin/masktest -rm -f $TARGET/usr/bin/ndrdump -rm -f $TARGET/usr/bin/net -rm -f $TARGET/usr/bin/ntdb* -rm -f $TARGET/usr/bin/ntlm_auth -rm -f $TARGET/usr/bin/oLschema2ldif -rm -f $TARGET/usr/bin/onnode -rm -f $TARGET/usr/bin/pdbedit -rm -f $TARGET/usr/bin/pidl -rm -f $TARGET/usr/bin/ping_pong -rm -f $TARGET/usr/bin/profiles -rm -f $TARGET/usr/bin/reg* -rm -f $TARGET/usr/bin/rpcclient -rm -f $TARGET/usr/bin/samba-regedit -rm -f $TARGET/usr/bin/sharesec -rm -f $TARGET/usr/bin/smbcacls -rm -f $TARGET/usr/bin/smbcontrol -rm -f $TARGET/usr/bin/smbcquotas -rm -f $TARGET/usr/bin/smbget -rm -f $TARGET/usr/bin/smbspool -rm -f $TARGET/usr/bin/smbstatus -rm -f $TARGET/usr/bin/smbta-util -rm -f $TARGET/usr/bin/smbtar -rm -f $TARGET/usr/bin/smbtree -rm -f $TARGET/usr/bin/smnotify -rm -f $TARGET/usr/bin/tdb* -rm -f $TARGET/usr/bin/testparm -rm -f $TARGET/usr/bin/wbinfo -rm -f $TARGET/usr/sbin/winbindd -rm -rf $TARGET/usr/share/ctdb +rm -f ${TARGET}/usr/bin/cifsdd +rm -f ${TARGET}/usr/bin/containers_* +rm -f ${TARGET}/usr/bin/ctdb* +rm -f ${TARGET}/usr/bin/dbwrap_tool +rm -f ${TARGET}/usr/bin/eventlogadm +rm -f ${TARGET}/usr/bin/event_rpcgen.py +rm -f ${TARGET}/usr/bin/gentest +rm -f ${TARGET}/usr/bin/ldb* +rm -f ${TARGET}/usr/bin/locktest +rm -f ${TARGET}/usr/bin/ltdbtool +rm -f ${TARGET}/usr/bin/masktest +rm -f ${TARGET}/usr/bin/ndrdump +rm -f ${TARGET}/usr/bin/net +rm -f ${TARGET}/usr/bin/ntdb* +rm -f ${TARGET}/usr/bin/ntlm_auth +rm -f ${TARGET}/usr/bin/oLschema2ldif +rm -f ${TARGET}/usr/bin/onnode +rm -f ${TARGET}/usr/bin/pdbedit +rm -f ${TARGET}/usr/bin/pidl +rm -f ${TARGET}/usr/bin/ping_pong +rm -f ${TARGET}/usr/bin/profiles +rm -f ${TARGET}/usr/bin/reg* +rm -f ${TARGET}/usr/bin/rpcclient +rm -f ${TARGET}/usr/bin/samba-regedit +rm -f ${TARGET}/usr/bin/sharesec +rm -f ${TARGET}/usr/bin/smbcacls +rm -f ${TARGET}/usr/bin/smbcontrol +rm -f ${TARGET}/usr/bin/smbcquotas +rm -f ${TARGET}/usr/bin/smbget +rm -f ${TARGET}/usr/bin/smbspool +rm -f ${TARGET}/usr/bin/smbstatus +rm -f ${TARGET}/usr/bin/smbta-util +rm -f ${TARGET}/usr/bin/smbtar +rm -f ${TARGET}/usr/bin/smbtree +rm -f ${TARGET}/usr/bin/smnotify +rm -f ${TARGET}/usr/bin/tdb* +rm -f ${TARGET}/usr/bin/testparm +rm -f ${TARGET}/usr/bin/wbinfo +rm -f ${TARGET}/usr/sbin/winbindd +rm -rf ${TARGET}/usr/share/ctdb -# useless mongodb binaries -rm -f $TARGET/usr/bin/mongos -rm -f $TARGET/usr/bin/mongoperf +# unused mongodb binaries +rm -f ${TARGET}/usr/bin/mongos +rm -f ${TARGET}/usr/bin/mongoperf + +# unused redis binaries +rm -f $TARGET/usr/bin/redis-check-aof +rm -f $TARGET/usr/bin/redis-check-rdb +rm -f $TARGET/usr/bin/redis-benchmark +rm -f $TARGET/usr/bin/redis-cli +rm -f $TARGET/usr/bin/redis-sentinel # v4l-utils -rm -f $TARGET/usr/bin/cec-compliance -rm -f $TARGET/usr/bin/cec-ctl -rm -f $TARGET/usr/bin/cec-follower -rm -f $TARGET/usr/bin/dvb-fe-tool -rm -f $TARGET/usr/bin/dvb-format-convert -rm -f $TARGET/usr/bin/dvbv5-daemon -rm -f $TARGET/usr/bin/dvbv5-scan -rm -f $TARGET/usr/bin/dvbv5-zap -rm -f $TARGET/usr/bin/media-ctl -rm -f $TARGET/usr/bin/rds-ctl -rm -f $TARGET/usr/bin/v4l2-compliance +rm -f ${TARGET}/usr/bin/cec-compliance +rm -f ${TARGET}/usr/bin/cec-ctl +rm -f ${TARGET}/usr/bin/cec-follower +rm -f ${TARGET}/usr/bin/dvb-fe-tool +rm -f ${TARGET}/usr/bin/dvb-format-convert +rm -f ${TARGET}/usr/bin/dvbv5-daemon +rm -f ${TARGET}/usr/bin/dvbv5-scan +rm -f ${TARGET}/usr/bin/dvbv5-zap +rm -f ${TARGET}/usr/bin/media-ctl +rm -f ${TARGET}/usr/bin/rds-ctl +rm -f ${TARGET}/usr/bin/v4l2-compliance # unused python folders -rm -rf $TARGET/usr/lib/python2.7/site-packages/samba/ -rm -rf $TARGET/usr/lib/python2.7/ensurepip/ -rm -rf $TARGET/usr/lib/python2.7/config/ -rm -rf $TARGET/usr/lib/python2.7/unittest/ +rm -rf ${TARGET}/usr/lib/python2.7/site-packages/samba/ +rm -rf ${TARGET}/usr/lib/python2.7/ensurepip/ +rm -rf ${TARGET}/usr/lib/python2.7/config/ +rm -rf ${TARGET}/usr/lib/python2.7/unittest/ # buildroot default startup scripts -rm -f $TARGET/etc/init.d/S01logging -rm -f $TARGET/etc/init.d/S10udev -rm -f $TARGET/etc/init.d/S15watchdog -rm -f $TARGET/etc/init.d/S20urandom -rm -f $TARGET/etc/init.d/S49ntp -rm -f $TARGET/etc/init.d/S50sshd -rm -f $TARGET/etc/init.d/S50proftpd -rm -f $TARGET/etc/init.d/S80dhcp-relay -rm -f $TARGET/etc/init.d/S80dhcp-server -rm -f $TARGET/etc/init.d/S80dnsmasq -rm -f $TARGET/etc/init.d/S91smb -rm -f $TARGET/etc/init.d/S99motion +rm -f ${TARGET}/etc/init.d/S01logging +rm -f ${TARGET}/etc/init.d/S10udev +rm -f ${TARGET}/etc/init.d/S15watchdog +rm -f ${TARGET}/etc/init.d/S20urandom +rm -f ${TARGET}/etc/init.d/S49ntp +rm -f ${TARGET}/etc/init.d/S50sshd +rm -f ${TARGET}/etc/init.d/S50proftpd +rm -f ${TARGET}/etc/init.d/S50postgresql +rm -f ${TARGET}/etc/init.d/S50redis +rm -f ${TARGET}/etc/init.d/S80dhcp-relay +rm -f ${TARGET}/etc/init.d/S80dhcp-server +rm -f ${TARGET}/etc/init.d/S80dnsmasq +rm -f ${TARGET}/etc/init.d/S91smb +rm -f ${TARGET}/etc/init.d/S99motion # other unwanted dirs -rm -rf $TARGET/data/* -rm -rf $TARGET/run +rm -rf ${TARGET}/data/* +rm -rf ${TARGET}/run diff --git a/board/common/mkimage.sh b/board/common/mkimage.sh index 2e9ccedfd2..68c37e3fbd 100755 --- a/board/common/mkimage.sh +++ b/board/common/mkimage.sh @@ -1,11 +1,11 @@ #!/bin/bash -e -if [ -z "$IMG_DIR" ] || [ -z "$BOARD" ]; then +if [ -z "${IMG_DIR}" ] || [ -z "${BOARD}" ]; then echo "this script must be invoked from board specific mkimage.sh" exit 1 fi -test "root" != "$USER" && exec sudo -E $0 "$@" +test "root" != "${USER}" && exec sudo -E $0 "$@" function msg() { echo " * $1" @@ -13,115 +13,115 @@ function msg() { BOOT_START=${BOOT_START:-1} # MB -BOOT_SRC=$IMG_DIR/boot -BOOT=$IMG_DIR/.boot -BOOT_IMG=$IMG_DIR/boot.img +BOOT_SRC=${IMG_DIR}/boot +BOOT=${IMG_DIR}/.boot +BOOT_IMG=${IMG_DIR}/boot.img BOOT_SIZE="30" # MB - reserved up to 100 MB ROOT_START="100" # MB -ROOT_SRC=$IMG_DIR/rootfs.tar -ROOT=$IMG_DIR/.root -ROOT_IMG=$IMG_DIR/root.img +ROOT_SRC=${IMG_DIR}/rootfs.tar +ROOT=${IMG_DIR}/.root +ROOT_IMG=${IMG_DIR}/root.img ROOT_SIZE="200" # MB GUARD_SIZE="10" # MB DISK_SIZE=$((ROOT_START + ROOT_SIZE + GUARD_SIZE)) -COMMON_DIR=$(cd $IMG_DIR/../../../board/common; pwd) -OS_NAME=$(source $COMMON_DIR/overlay/etc/version && echo $os_short_name) +COMMON_DIR=$(cd ${IMG_DIR}/../../../board/common; pwd) +OS_NAME=$(source ${COMMON_DIR}/overlay/etc/version && echo ${OS_SHORT_NAME}) # boot filesystem msg "creating boot loop device" -dd if=/dev/zero of=$BOOT_IMG bs=1M count=$BOOT_SIZE -loop_dev=$(losetup -f --show $BOOT_IMG) +dd if=/dev/zero of=${BOOT_IMG} bs=1M count=${BOOT_SIZE} +loop_dev=$(losetup -f --show ${BOOT_IMG}) msg "creating boot filesystem" -mkfs.vfat -F16 $loop_dev +mkfs.vfat -F16 ${loop_dev} msg "mounting boot loop device" -mkdir -p $BOOT -mount -o loop $loop_dev $BOOT +mkdir -p ${BOOT} +mount -o loop ${loop_dev} ${BOOT} msg "copying boot filesystem contents" -cp -r $BOOT_SRC/* $BOOT +cp -r ${BOOT_SRC}/* ${BOOT} sync msg "unmounting boot filesystem" -umount $BOOT +umount ${BOOT} -msg "destroying boot loop device ($loop_dev)" -losetup -d $loop_dev +msg "destroying boot loop device (${loop_dev})" +losetup -d ${loop_dev} sync # root filesystem msg "creating root loop device" -dd if=/dev/zero of=$ROOT_IMG bs=1M count=$ROOT_SIZE -loop_dev=$(losetup -f --show $ROOT_IMG) +dd if=/dev/zero of=${ROOT_IMG} bs=1M count=${ROOT_SIZE} +loop_dev=$(losetup -f --show ${ROOT_IMG}) msg "creating root filesystem" -mkfs.ext4 $loop_dev -tune2fs -O^has_journal $loop_dev +mkfs.ext4 ${loop_dev} +tune2fs -O^has_journal ${loop_dev} msg "mounting root loop device" -mkdir -p $ROOT -mount -o loop $loop_dev $ROOT +mkdir -p ${ROOT} +mount -o loop ${loop_dev} ${ROOT} msg "copying root filesystem contents" -tar -xpsf $ROOT_SRC -C $ROOT +tar -xpsf ${ROOT_SRC} -C ${ROOT} # set internal OS name, prefix and version according to env variables -if [ -f $ROOT/etc/version ]; then - if [ -n "$THINGOS_NAME" ]; then - msg "setting OS name to $THINGOS_NAME" - sed -ri "s/os_name=\".*\"/os_name=\"$THINGOS_NAME\"/" $ROOT/etc/version +if [ -f ${ROOT}/etc/version ]; then + if [ -n "${THINGOS_NAME}" ]; then + msg "setting OS name to ${THINGOS_NAME}" + sed -ri "s/OS_NAME=\".*\"/OS_NAME=\"${THINGOS_NAME}\"/" ${ROOT}/etc/version fi - if [ -n "$THINGOS_SHORT_NAME" ]; then - msg "setting OS short name to $THINGOS_SHORT_NAME" - sed -ri "s/os_short_name=\".*\"/os_short_name=\"$THINGOS_SHORT_NAME\"/" $ROOT/etc/version + if [ -n "${THINGOS_SHORT_NAME}" ]; then + msg "setting OS short name to ${THINGOS_SHORT_NAME}" + sed -ri "s/OS_SHORT_NAME=\".*\"/OS_SHORT_NAME=\"${THINGOS_SHORT_NAME}\"/" ${ROOT}/etc/version fi - if [ -n "$THINGOS_PREFIX" ]; then - msg "setting OS prefix to $THINGOS_PREFIX" - sed -ri "s/os_prefix=\".*\"/os_prefix=\"$THINGOS_PREFIX\"/" $ROOT/etc/version + if [ -n "${THINGOS_PREFIX}" ]; then + msg "setting OS prefix to ${THINGOS_PREFIX}" + sed -ri "s/OS_PREFIX=\".*\"/OS_PREFIX=\"${THINGOS_PREFIX}\"/" ${ROOT}/etc/version fi - if [ -n "$THINGOS_VERSION" ]; then - msg "setting OS version to $THINGOS_VERSION" - sed -ri "s/os_version=\".*\"/os_version=\"$THINGOS_VERSION\"/" $ROOT/etc/version + if [ -n "${THINGOS_VERSION}" ]; then + msg "setting OS version to ${THINGOS_VERSION}" + sed -ri "s/OS_VERSION=\".*\"/OS_VERSION=\"${THINGOS_VERSION}\"/" ${ROOT}/etc/version fi fi msg "unmounting root filesystem" -umount $ROOT +umount ${ROOT} -msg "destroying root loop device ($loop_dev)" -losetup -d $loop_dev +msg "destroying root loop device (${loop_dev})" +losetup -d ${loop_dev} sync -DISK_IMG=$IMG_DIR/disk.img -BOOT_IMG=$IMG_DIR/boot.img -ROOT_IMG=$IMG_DIR/root.img +DISK_IMG=${IMG_DIR}/disk.img +BOOT_IMG=${IMG_DIR}/boot.img +ROOT_IMG=${IMG_DIR}/root.img -if ! [ -r $BOOT_IMG ]; then +if ! [ -r ${BOOT_IMG} ]; then echo "boot image missing" exit -1 fi -if ! [ -r $ROOT_IMG ]; then +if ! [ -r ${ROOT_IMG} ]; then echo "root image missing" exit -1 fi # disk image msg "creating disk loop device" -dd if=/dev/zero of=$DISK_IMG bs=1M count=$DISK_SIZE -if [ -n "$UBOOT_BIN" ] && [ -n "$UBOOT_SEEK" ]; then +dd if=/dev/zero of=${DISK_IMG} bs=1M count=${DISK_SIZE} +if [ -n "${UBOOT_BIN}" ] && [ -n "${UBOOT_SEEK}" ]; then msg "copying u-boot image" - dd conv=notrunc if=$UBOOT_BIN of=$DISK_IMG bs=512 seek=$UBOOT_SEEK + dd conv=notrunc if=${UBOOT_BIN} of=${DISK_IMG} bs=512 seek=${UBOOT_SEEK} fi -loop_dev=$(losetup -f --show $DISK_IMG) +loop_dev=$(losetup -f --show ${DISK_IMG}) msg "partitioning disk" set +e -fdisk -u=sectors $loop_dev < $FW_DIR/$ROOT_INFO_FILE + echo ${root_start} ${root_size} > ${FW_DIR}/${ROOT_INFO_FILE} else msg "No firmware found, aborting" exit 1 fi fi -if ! [ -r $FW_DIR/$ROOT_INFO_FILE ]; then +if ! [ -r ${FW_DIR}/${ROOT_INFO_FILE} ]; then msg "No root partition info, aborting" exit 1 fi msg "Copying root image" -root_start=$(cat $FW_DIR/$ROOT_INFO_FILE | cut -d ' ' -f 1) -root_size=$(cat $FW_DIR/$ROOT_INFO_FILE | cut -d ' ' -f 2) +root_start=$(cat ${FW_DIR}/${ROOT_INFO_FILE} | cut -d ' ' -f 1) +root_size=$(cat ${FW_DIR}/${ROOT_INFO_FILE} | cut -d ' ' -f 2) -dd if=$FW_DIR/$FW_FILE_EXTR skip=$root_start of=$ROOT_DEV bs=1048576 count=$root_size || exit 1 +dd if=${FW_DIR}/${FW_FILE_EXTR} skip=${root_start} of=${ROOT_DEV} bs=1048576 count=${root_size} || exit 1 msg "Cleaning up" -rm -rf $FW_DIR +rm -rf ${FW_DIR} diff --git a/board/common/overlay/etc/adminpasswd.d/samba b/board/common/overlay/etc/adminpasswd.d/samba index ecf15c6a02..ca4e474a98 100755 --- a/board/common/overlay/etc/adminpasswd.d/samba +++ b/board/common/overlay/etc/adminpasswd.d/samba @@ -1,5 +1,5 @@ #!/bin/bash mkdir -p /var/lib/samba/private -echo -e "$PASSWORD\n$PASSWORD\n" | /usr/bin/smbpasswd -a admin -s > /dev/null +echo -e "${PASSWORD}\n${PASSWORD}\n" | /usr/bin/smbpasswd -a admin -s > /dev/null diff --git a/board/common/overlay/etc/init.d/S00datapart b/board/common/overlay/etc/init.d/S00datapart index f8b2747c07..b1f25768eb 100755 --- a/board/common/overlay/etc/init.d/S00datapart +++ b/board/common/overlay/etc/init.d/S00datapart @@ -1,26 +1,26 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +test -n "${OS_VERSION}" || source /etc/init.d/base case "$1" in start) msg_begin "Detecting disk device" root_dev=$(cat /proc/cmdline | grep -oE 'root=[/a-z0-9]+' | cut -d '=' -f 2) - if [[ "$root_dev" =~ ^([/a-z0-9]+)(p[0-9])$ ]]; then # e.g. /dev/mmcblk0p2 + if [[ "${root_dev}" =~ ^([/a-z0-9]+)(p[0-9])$ ]]; then # e.g. /dev/mmcblk0p2 disk_dev=${BASH_REMATCH[1]} boot_dev=${disk_dev}p1 data_dev=${disk_dev}p3 - elif [[ "$root_dev" =~ ^([/a-z0-9]+)([0-9])$ ]]; then # e.g. /dev/sdc2 + elif [[ "${root_dev}" =~ ^([/a-z0-9]+)([0-9])$ ]]; then # e.g. /dev/sdc2 disk_dev=${BASH_REMATCH[1]} boot_dev=${disk_dev}1 data_dev=${disk_dev}3 else - msg_fail "unknown ($root_dev)" + msg_fail "unknown (${root_dev})" exit 1 fi - msg_done "$disk_dev" + msg_done "${disk_dev}" - test -b $data_dev && exit 0 + test -b ${data_dev} && exit 0 msg_begin "Creating data partition" data_start=$((1024 * 2048)) # up to 1024MB reserved for boot + root @@ -29,12 +29,12 @@ case "$1" in 3 ${data_start} \n - w" | /sbin/fdisk $disk_dev &>/dev/null - partx -a $disk_dev &>/dev/null - test -b $data_dev && msg_done || msg_fail + w" | /sbin/fdisk ${disk_dev} &>/dev/null + partx -a ${disk_dev} &>/dev/null + test -b ${data_dev} && msg_done || msg_fail msg_begin "Formatting data partition" - mkfs.ext4 -q $data_dev + mkfs.ext4 -q ${data_dev} test $? == 0 && msg_done || msg_fail msg_begin "Mounting data partition" diff --git a/board/common/overlay/etc/init.d/S01mountall b/board/common/overlay/etc/init.d/S01mountall index 71065f714d..cafa43c0b3 100755 --- a/board/common/overlay/etc/init.d/S01mountall +++ b/board/common/overlay/etc/init.d/S01mountall @@ -1,6 +1,6 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +test -n "${OS_VERSION}" || source /etc/init.d/base mount_fs() { msg_begin "Mounting filesystems" @@ -22,8 +22,8 @@ remount_rw() { } mk_tty_login() { - test -z "$os_tty_login" && os_tty_login=tty1 - ln -sf /dev/$os_tty_login /dev/ttylogin + test -z "${OS_TTY_LOGIN}" && OS_TTY_LOGIN=tty1 + ln -sf /dev/${OS_TTY_LOGIN} /dev/ttylogin } case "$1" in @@ -31,8 +31,8 @@ case "$1" in mount_fs # we need to source conf again, now that /data is available - test -n "$os_debug" || source /etc/init.d/conf - test "$os_debug" == "true" && remount_rw + source /etc/init.d/os_conf + test "${OS_DEBUG}" == "true" && remount_rw mk_tty_login ;; diff --git a/board/common/overlay/etc/init.d/S02modules b/board/common/overlay/etc/init.d/S02modules index 685f63a5fb..118781b47a 100755 --- a/board/common/overlay/etc/init.d/S02modules +++ b/board/common/overlay/etc/init.d/S02modules @@ -1,20 +1,26 @@ #!/bin/bash -sys_modules_file="/etc/modules" -modules_file="/data/etc/modules" +SYS_MODULES_FILE="/etc/modules" +BOOT_MODULES_FILE="/boot/modules" +MODULES_FILE="/data/etc/modules" -test -n "$os_version" || source /etc/init.d/base + +test -n "${OS_VERSION}" || source /etc/init.d/base case "$1" in start) msg_begin "Loading kernel modules" - if [[ -r $sys_modules_file ]]; then - cat $sys_modules_file | while read line; do test -n "$line" && /sbin/modprobe $line &>/dev/null; done + if [[ -r ${SYS_MODULES_FILE} ]]; then + cat ${SYS_MODULES_FILE} | while read line; do test -n "${line}" && /sbin/modprobe ${line} &>/dev/null; done fi - if [[ -r $modules_file ]]; then - cat $modules_file | while read line; do test -n "$line" && /sbin/modprobe $line &>/dev/null; done + if [[ -r ${BOOT_MODULES_FILE} ]]; then + cat ${BOOT_MODULES_FILE} | while read line; do test -n "${line}" && /sbin/modprobe ${line} &>/dev/null; done + fi + + if [[ -r ${MODULES_FILE} ]]; then + cat ${MODULES_FILE} | while read line; do test -n "${line}" && /sbin/modprobe ${line} &>/dev/null; done fi msg_done diff --git a/board/common/overlay/etc/init.d/S03hostname b/board/common/overlay/etc/init.d/S03hostname index 8b886e838d..a463779274 100755 --- a/board/common/overlay/etc/init.d/S03hostname +++ b/board/common/overlay/etc/init.d/S03hostname @@ -1,31 +1,26 @@ #!/bin/bash -sys_hostname_file="/etc/hostname" -boot_hostname_file="/boot/hostname" -hostname_file="/data/etc/hostname" +SYS_HOSTNAME_FILE="/etc/hostname" +BOOT_HOSTNAME_FILE="/boot/hostname" +HOSTNAME_FILE="/data/etc/hostname" -test -n "$os_version" || source /etc/init.d/base + +test -n "${OS_VERSION}" || source /etc/init.d/base case "$1" in start) msg_begin "Setting hostname" - if ! [[ -f $hostname_file ]]; then - if [[ -f $boot_hostname_file ]]; then - cp $boot_hostname_file $hostname_file - elif [[ -f $sys_hostname_file ]]; then - cp $sys_hostname_file $hostname_file - fi - fi + prepare_conf ${HOSTNAME_FILE} ${SYS_HOSTNAME_FILE} ${BOOT_HOSTNAME_FILE} - if [[ -f $hostname_file ]]; then - hostname=$(cat $hostname_file) + if [[ -f ${HOSTNAME_FILE} ]]; then + hostname=$(cat ${HOSTNAME_FILE}) else - hostname="$os_prefix-$board_sn" + hostname="${OS_PREFIX}-${BOARD_SN}" fi - /bin/hostname $hostname - echo "127.0.0.1 localhost $hostname" > /etc/hosts + /bin/hostname ${hostname} + echo "127.0.0.1 localhost ${hostname}" > /etc/hosts msg_done ;; diff --git a/board/common/overlay/etc/init.d/S04syslog b/board/common/overlay/etc/init.d/S04syslog index b7a1eb3ac4..78586fadf3 100755 --- a/board/common/overlay/etc/init.d/S04syslog +++ b/board/common/overlay/etc/init.d/S04syslog @@ -1,23 +1,28 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +PROG="/sbin/syslogd" +PROG_D="/bin/dmesg" + +DMESG_LOG="/var/log/dmesg.log" + + +test -n "${OS_VERSION}" || source /etc/init.d/base -dmesg_log="/var/log/dmesg.log" case "$1" in start) msg_begin "Starting syslogd" - syslogd + ${PROG} test $? == 0 && msg_done || msg_fail - echo "---- booting $os_name $os_version ----" >> $dmesg_log - dmesg -T -w >> $dmesg_log & + echo "---- booting ${OS_NAME} ${OS_VERSION} ----" >> ${DMESG_LOG} + ${PROG_D} -T -w >> ${DMESG_LOG} & ;; stop) msg_begin "Stopping syslogd" - killall syslogd &>/dev/null + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail - killall dmesg &>/dev/null + killall -q $(basename ${PROG_D}) ;; *) diff --git a/board/common/overlay/etc/init.d/S12udev b/board/common/overlay/etc/init.d/S12udev index ce1c2af7f8..fecf68e5cc 100755 --- a/board/common/overlay/etc/init.d/S12udev +++ b/board/common/overlay/etc/init.d/S12udev @@ -1,28 +1,35 @@ #!/bin/bash -test -f /etc/udev/udev.conf || exit 0 +CONF="/etc/udev/udev.conf" +PROG="/sbin/udevd" +PROG_UA="/sbin/udevadm" -test -n "$os_version" || source /etc/init.d/base -source /etc/udev/udev.conf +test -f ${PROG} || exit 0 +test -f ${CONF} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base + +source ${CONF} + start() { msg_begin "Starting eudev" echo '\000\000\000\000' > /proc/sys/kernel/hotplug - /sbin/udevd --daemon --resolve-names=never + ${PROG} --daemon --resolve-names=never test $? == 0 && msg_done || msg_fail - /sbin/udevadm trigger --type=subsystems --action=add - /sbin/udevadm trigger --type=devices --action=add - /sbin/udevadm settle --timeout=30 + ${PROG_UA} trigger --type=subsystems --action=add + ${PROG_UA} trigger --type=devices --action=add + ${PROG_UA} settle --timeout=30 return 0 } stop() { msg_begin "Stopping eudev" - udevadm control --stop-exec-queue - killall udevd &>/dev/null + ${PROG_UA} control --stop-exec-queue + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S13watchdog b/board/common/overlay/etc/init.d/S13watchdog index 2ef0f11278..4b5e686b6f 100755 --- a/board/common/overlay/etc/init.d/S13watchdog +++ b/board/common/overlay/etc/init.d/S13watchdog @@ -1,13 +1,20 @@ #!/bin/bash -test -c /dev/watchdog || exit 0 +DEV="/dev/watchdog" + +PROG="/sbin/watchdog" + + +test -c ${PROG} || exit 0 +test -c ${DEV} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base -test -n "$os_version" || source /etc/init.d/base case "$1" in start) msg_begin "Starting watchdog" - watchdog -t 5 /dev/watchdog + ${PROG} -t 5 ${DEV} test $? == 0 && msg_done || msg_fail ;; @@ -17,7 +24,7 @@ case "$1" in reallystop) msg_begin "Stopping watchdog" - killall watchdog &>/dev/null + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail ;; diff --git a/board/common/overlay/etc/init.d/S14postupgrade b/board/common/overlay/etc/init.d/S14postupgrade index 65c0adf96b..248bb2c2ef 100755 --- a/board/common/overlay/etc/init.d/S14postupgrade +++ b/board/common/overlay/etc/init.d/S14postupgrade @@ -1,19 +1,18 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +SYS_VERSION_FILE="/etc/version" +VERSION_FILE="/data/etc/version" +POST_UPGRADE_DIR="/usr/share/post-upgrade" -sys_version_file="/etc/version" -version_file="/data/etc/version" -post_upgrade_dir="/usr/share/post-upgrade" -sys_os_conf="/etc/os.conf" -os_conf="/data/etc/os.conf" -hash=$(md5sum $version_file 2>/dev/null | cut -d ' ' -f 1) -sys_hash=$(md5sum $sys_version_file 2>/dev/null | cut -d ' ' -f 1) +test -n "${OS_VERSION}" || source /etc/init.d/base -test "$hash" == "$sys_hash" && exit 0 +hash=$(md5sum ${VERSION_FILE} 2>/dev/null | cut -d ' ' -f 1) +sys_hash=$(md5sum ${SYS_VERSION_FILE} 2>/dev/null | cut -d ' ' -f 1) -test -d $post_upgrade_dir || exit 0 +test "${hash}" == "${sys_hash}" && exit 0 + +test -d ${POST_UPGRADE_DIR} || exit 0 function version_gt() { if [[ "$1" != "$2" ]] && [[ $(echo -e "$2\n$1" | sort -t . | head -n 1) == "$2" ]]; then @@ -24,28 +23,16 @@ function version_gt() { } function run_post_upgrade() { - version="$(source $version_file 2>/dev/null && echo $os_version)" - sys_version="$(source $sys_version_file 2>/dev/null && echo $os_version)" + version="$(source ${VERSION_FILE} 2>/dev/null && echo ${OS_VERSION})" + sys_version="$(source ${SYS_VERSION_FILE} 2>/dev/null && echo ${OS_VERSION})" - versions=$(ls -1 $post_upgrade_dir | cut -d '.' -f 1) - for v in $versions; do - if [[ -z "$version" ]] || version_gt $v $version; then - msg_begin "Post-upgrading to version $v" - out=$($post_upgrade_dir/$v.sh 2>&1) + versions=$(ls -1 ${POST_UPGRADE_DIR} | cut -d '.' -f 1) + for v in ${versions}; do + if [[ -z "${version}" ]] || version_gt ${v} ${version}; then + msg_begin "Post-upgrading to version ${v}" + out=$(${POST_UPGRADE_DIR}/${v}.sh 2>&1) test $? == 0 && msg_done || msg_fail - echo "$out" | logger -t post-upgrade - fi - done -} - -function update_os_conf() { - source $sys_os_conf - sys_vars=$(cat $sys_os_conf | cut -d '=' -f 1) - for var in $sys_vars; do - if ! grep "$var=" $os_conf &>/dev/null; then - msg_begin "Adding $var to os.conf" - echo "$var=\"${!var}\"" >> $os_conf - msg_done + echo "${out}" | logger -t post-upgrade fi done } @@ -53,8 +40,7 @@ function update_os_conf() { case "$1" in start) run_post_upgrade - cp $sys_version_file $version_file - update_os_conf + cp ${SYS_VERSION_FILE} ${VERSION_FILE} ;; stop) diff --git a/board/common/overlay/etc/init.d/S30dbus b/board/common/overlay/etc/init.d/S30dbus index 946aa5271d..c239b80654 100755 --- a/board/common/overlay/etc/init.d/S30dbus +++ b/board/common/overlay/etc/init.d/S30dbus @@ -1,15 +1,21 @@ #!/bin/bash -sys_btconf="/etc/bluetooth.conf" -boot_btconf="/boot/bluetooth.conf" -btconf="/data/etc/bluetooth.conf" +SYS_BTCONF="/etc/bluetooth.conf" +BOOT_BTCONF="/boot/bluetooth.conf" +BTCONF="/data/etc/bluetooth.conf" + +PROG="/usr/bin/dbus-daemon" +PROG_UG="/usr/bin/dbus-uuidgen" +PROG_UA="/usr/bin/udevadm" + + +test -x ${PROG} || exit 0 # dbus is currently only used by bluez -test -f $btconf || test -f $boot_btconf || test -f $sys_btconf || exit 0 +test -f ${BTCONF} || test -f ${BOOT_BTCONF} || test -f ${SYS_BTCONF} || exit 0 -test -x /usr/bin/dbus-daemon || exit 0 +test -n "${OS_VERSION}" || source /etc/init.d/base -test -n "$os_version" || source /etc/init.d/base start() { mkdir -p /tmp/dbus @@ -17,16 +23,16 @@ start() { msg_begin "Starting dbus" - dbus-uuidgen --ensure - dbus-daemon --system + ${PROG_UG} --ensure + ${PROG} --system test $? == 0 && msg_done || msg_fail } stop() { msg_begin "Stopping dbus" - udevadm control --stop-exec-queue - killall dbus-daemon &>/dev/null + ${PROG_UA} control --stop-exec-queue + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail rm -f /var/run/messagebus.pid diff --git a/board/common/overlay/etc/init.d/S33hostapd b/board/common/overlay/etc/init.d/S33hostapd index b8d6759589..e864dd0ff1 100755 --- a/board/common/overlay/etc/init.d/S33hostapd +++ b/board/common/overlay/etc/init.d/S33hostapd @@ -1,30 +1,27 @@ #!/bin/bash -sys_conf="/etc/hostapd.conf" -boot_conf="/boot/hostapd.conf" -conf="/data/etc/hostapd.conf" +SYS_CONF="/etc/hostapd.conf" +BOOT_CONF="/boot/hostapd.conf" +CONF="/data/etc/hostapd.conf" -log="/var/log/hostapd.log" -prog="/usr/sbin/hostapd" +LOG="/var/log/hostapd.log" +PROG="/usr/sbin/hostapd" -watch_conf="/data/etc/watch.conf" +WATCH_CONF="/data/etc/watch.conf" -link_watch=yes -link_watch_timeout=20 +LINK_WATCH=yes +LINK_WATCH_TIMEOUT=20 -test -f $watch_conf && source $watch_conf -if ! [[ -f $conf ]]; then - if [[ -f $boot_conf ]]; then - cp $boot_conf $conf - elif [[ -f $sys_conf ]]; then - cp $sys_conf $conf - fi -fi +test -x ${PROG} || exit 0 -test -f $conf || exit 0 +test -n "${OS_VERSION}" || source /etc/init.d/base + +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} +test -f ${CONF} || exit 0 + +test -f ${WATCH_CONF} && source ${WATCH_CONF} -test -n "$os_version" || source /etc/init.d/base running() { killall -0 hostapd &> /dev/null @@ -46,26 +43,26 @@ start() { # wait up to 5 seconds for interface count=0 - while ! ifconfig $iface >/dev/null 2>&1; do + while ! ifconfig ${iface} >/dev/null 2>&1; do sleep 1 - count=$(($count + 1)) - if [[ $count -ge 5 ]]; then + count=$((${count} + 1)) + if [[ ${count} -ge 5 ]]; then msg_fail "no device" return 1 fi done - iface=$(cat $conf | grep interface | cut -d '=' -f 2) - module=$(basename $(readlink /sys/class/net/$iface/device/driver/module 2>/dev/null) 2>/dev/null) + iface=$(cat ${CONF} | grep interface | cut -d '=' -f 2) + module=$(basename $(readlink /sys/class/net/${iface}/device/driver/module 2>/dev/null) 2>/dev/null) - iwconfig $iface power off &> /dev/null - $prog $conf &> $log & + iwconfig ${iface} power off &> /dev/null + ${PROG} ${CONF} &> ${LOG} & - if [[ "$link_watch" == "yes" ]]; then + if [[ "${LINK_WATCH}" == "yes" ]]; then watch & fi - test -n "$module" && msg_done "done ($module)"|| msg_done + test -n "${module}" && msg_done "done (${module})"|| msg_done } stop() { diff --git a/board/common/overlay/etc/init.d/S35wifi b/board/common/overlay/etc/init.d/S35wifi index 60ec787932..d1b6a3901c 100755 --- a/board/common/overlay/etc/init.d/S35wifi +++ b/board/common/overlay/etc/init.d/S35wifi @@ -1,56 +1,36 @@ #!/bin/bash -sys_conf="/etc/wpa_supplicant.conf" -boot_conf="/boot/wpa_supplicant.conf" -conf="/data/etc/wpa_supplicant.conf" +SYS_CONF="/etc/wpa_supplicant.conf" +BOOT_CONF="/boot/wpa_supplicant.conf" +CONF="/data/etc/wpa_supplicant.conf" -log="/var/log/wpa_supplicant.log" -prog="/usr/sbin/wpa_supplicant" -driver=nl80211,wext +LOG="/var/log/wpa_supplicant.log" +PROG="/usr/sbin/wpa_supplicant" +DRIVER=nl80211,wext -sys_watch_conf="/etc/watch.conf" -boot_watch_conf="/boot/watch.conf" -watch_conf="/data/etc/watch.conf" +SYS_WATCH_CONF="/etc/watch.conf" +BOOT_WATCH_CONF="/boot/watch.conf" +WATCH_CONF="/data/etc/watch.conf" -if ! [[ -f $watch_conf ]]; then - if [[ -f $boot_watch_conf ]]; then - cp $boot_watch_conf $watch_conf - elif [[ -f $sys_watch_conf ]]; then - cp $sys_watch_conf $watch_conf - fi -fi -source $watch_conf +test -x ${PROG} || exit 0 -if [[ -f $boot_conf ]]; then - cp -f $boot_conf $conf - grep -E "/boot .*ro[\s,]" /proc/mounts - RO=$? - test $RO == 0 && mount -o remount,rw /boot - rm -f $boot_conf - test $RO == 0 && mount -o remount,ro /boot -fi +test -n "${OS_VERSION}" || source /etc/init.d/base -if ! [[ -f $conf ]]; then - if [[ -f $sys_conf ]]; then - cp $sys_conf $conf - fi -fi +prepare_conf ${WATCH_CONF} ${SYS_WATCH_CONF} ${BOOT_WATCH_CONF} +source ${WATCH_CONF} -test -f $conf || exit 0 +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} +test -f ${CONF} || exit 0 -# we want only Unix newlines here -sed -i 's/\r//g' $conf +ssid=$(cat ${CONF} | grep ssid | grep -v scan_ssid | cut -d '"' -f 2) +test -n "${ssid}" || exit 0 -ssid=$(cat $conf | grep ssid | grep -v scan_ssid | cut -d '"' -f 2) -test -n "$ssid" || exit 0 +test "${OS_NETWORKLESS}" == "true" && exit 0 -test -n "$os_version" || source /etc/init.d/base - -test "$os_networkless" == "true" && exit 0 connected() { - ip link show dev $os_wlan 2>&1 | grep LOWER_UP &> /dev/null && return 0 || return 1 + ip link show dev ${OS_WLAN} 2>&1 | grep LOWER_UP &> /dev/null && return 0 || return 1 } watch() { @@ -60,11 +40,11 @@ watch() { if connected; then count=0 else - if [[ $count -lt $link_watch_timeout ]]; then - count=$(($count + 5)) + if [[ ${count} -lt ${LINK_WATCH_TIMEOUT} ]]; then + count=$((${count} + 5)) logger -t wifi -s "disconnected" else - logger -t wifi -s "disconnected for $link_watch_timeout seconds, calling panic action" + logger -t wifi -s "disconnected for ${LINK_WATCH_TIMEOUT} seconds, calling panic action" panic_action wifi fi fi @@ -72,26 +52,26 @@ watch() { } start() { - test -n "$os_country" && iw reg set $os_country + test -n "${OS_COUNTRY}" && iw reg set ${OS_COUNTRY} msg_begin "Starting wpa_supplicant" # wait up to 5 seconds for interface count=0 - while ! ifconfig $os_wlan >/dev/null 2>&1; do + while ! ifconfig ${OS_WLAN} >/dev/null 2>&1; do sleep 1 - count=$(($count + 1)) - if [[ $count -ge 5 ]]; then + count=$((${count} + 1)) + if [[ ${count} -ge 5 ]]; then msg_fail "no device" return 1 fi done - module=$(basename $(readlink /sys/class/net/$os_wlan/device/driver/module 2>/dev/null) 2>/dev/null) + module=$(basename $(readlink /sys/class/net/${OS_WLAN}/device/driver/module 2>/dev/null) 2>/dev/null) - iwconfig $os_wlan power off &> /dev/null - iw $os_wlan set power_save off &> /dev/null - $prog -i$os_wlan -c$conf -D$driver -B &> $log + iwconfig ${OS_WLAN} power off &> /dev/null + iw ${OS_WLAN} set power_save off &> /dev/null + ${PROG} -i${OS_WLAN} -c${CONF} -D${DRIVER} -B &> ${LOG} count=0 while true; do sleep 1 @@ -100,19 +80,19 @@ start() { break fi - if [[ $count -gt $link_watch_timeout ]] || ! pidof wpa_supplicant > /dev/null; then - test -n "$module" && msg_fail "failed ($module)"|| msg_fail + if [[ ${count} -gt ${LINK_WATCH_TIMEOUT} ]] || ! pidof wpa_supplicant > /dev/null; then + test -n "${module}" && msg_fail "failed (${module})"|| msg_fail return 1 fi - count=$(($count + 1)) + count=$((${count} + 1)) done - if [[ "$link_watch" == "true" ]]; then + if [[ "${LINK_WATCH}" == "true" ]]; then watch & fi - test -n "$module" && msg_done "done ($module)"|| msg_done + test -n "${module}" && msg_done "done (${module})"|| msg_done } stop() { diff --git a/board/common/overlay/etc/init.d/S36ppp b/board/common/overlay/etc/init.d/S36ppp index c67f7253e6..9186e6e926 100755 --- a/board/common/overlay/etc/init.d/S36ppp +++ b/board/common/overlay/etc/init.d/S36ppp @@ -1,33 +1,31 @@ #!/bin/bash -sys_conf="/etc/ppp/default" -boot_conf="/boot/ppp" -conf="/data/etc/ppp" +SYS_CONF="/etc/ppp/default" +BOOT_CONF="/boot/ppp" +CONF="/data/etc/ppp" -prog="/usr/sbin/pppd" -provider="mobile" +PROG="/usr/sbin/pppd" +PROVIDER="mobile" -watch_conf="/data/etc/watch.conf" +WATCH_CONF="/data/etc/watch.conf" -source $watch_conf -if ! [[ -d $conf ]]; then - if [[ -d $boot_conf ]]; then - cp -r $boot_conf $conf - elif [[ -d $sys_conf ]]; then - cp -r $sys_conf $conf - fi -fi +test -x ${PROG} || exit 0 -test -e $conf/modem || exit 0 -test -e $conf/apn || exit 0 +test -n "${OS_VERSION}" || source /etc/init.d/base -test -n "$os_version" || source /etc/init.d/base +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} + +test -e ${CONF}/modem || exit 0 +test -e ${CONF}/apn || exit 0 + +source ${WATCH_CONF} + +test "${OS_NETWORKLESS}" == "true" && exit 0 -test "$os_networkless" == "true" && exit 0 connected() { - ifconfig | grep $os_ppp &>/dev/null && return 0 || return 1 + ifconfig | grep ${OS_PPP} &>/dev/null && return 0 || return 1 } watch() { @@ -37,11 +35,11 @@ watch() { if connected; then count=0 else - if [[ $count -lt $link_watch_timeout ]]; then - count=$(($count + 5)) + if [[ ${count} -lt ${LINK_WATCH_TIMEOUT} ]]; then + count=$((${count} + 5)) logger -t ppp -s "disconnected" else - logger -t ppp -s "disconnected for $link_watch_timeout seconds, calling panic action" + logger -t ppp -s "disconnected for ${LINK_WATCH_TIMEOUT} seconds, calling panic action" panic_action ppp fi fi @@ -55,35 +53,35 @@ udev_trigger_add() { } start() { - test -e $conf/auth || touch $conf/auth - test -e $conf/extra || touch $conf/extra - test -e $conf/pin || touch $conf/pin + test -e ${CONF}/auth || touch ${CONF}/auth + test -e ${CONF}/extra || touch ${CONF}/extra + test -e ${CONF}/pin || touch ${CONF}/pin mknod /dev/ppp c 108 0 &>/dev/null msg_begin "Starting pppd" # wait for modem - modem=$(head -n 1 $conf/modem) - if ! [[ -e /dev/$modem ]]; then + modem=$(head -n 1 ${CONF}/modem) + if ! [[ -e /dev/${modem} ]]; then udev_trigger_add 4 & fi count=0 while true; do - if [[ -e /dev/$modem ]] || [[ $count -gt $link_watch_timeout ]]; then + if [[ -e /dev/${modem} ]] || [[ ${count} -gt ${LINK_WATCH_TIMEOUT} ]]; then break fi - count=$(($count + 1)) + count=$((${count} + 1)) sleep 1 done - if ! [[ -e /dev/$modem ]]; then - msg_fail "modem /dev/$modem not present" + if ! [[ -e /dev/${modem} ]]; then + msg_fail "modem /dev/${modem} not present" return fi - $prog call $provider + ${PROG} call ${PROVIDER} count=0 while true; do sleep 1 @@ -92,15 +90,15 @@ start() { break fi - if [[ $count -gt $link_watch_timeout ]] || ! pidof pppd > /dev/null; then + if [[ ${count} -gt ${LINK_WATCH_TIMEOUT} ]] || ! pidof $(basename ${PROG}) > /dev/null; then msg_fail return fi - count=$(($count + 1)) + count=$((${count} + 1)) done - if [[ "$link_watch" == "true" ]]; then + if [[ "${LINK_WATCH}" == "true" ]]; then watch & fi @@ -109,7 +107,7 @@ start() { stop() { msg_begin "Stopping pppd" - killall pppd &>/dev/null + killall -q $(basename ${PROG}) ps | grep ppp | grep -v $$ | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1 | xargs -r kill msg_done } diff --git a/board/common/overlay/etc/init.d/S37bluetooth b/board/common/overlay/etc/init.d/S37bluetooth index 76e570ab00..16cc5eab45 100755 --- a/board/common/overlay/etc/init.d/S37bluetooth +++ b/board/common/overlay/etc/init.d/S37bluetooth @@ -1,41 +1,37 @@ #!/bin/bash -sys_conf="/etc/bluetooth.conf" -boot_conf="/boot/bluetooth.conf" -conf="/data/etc/bluetooth.conf" +SYS_CONF="/etc/bluetooth.conf" +BOOT_CONF="/boot/bluetooth.conf" +CONF="/data/etc/bluetooth.conf" +RUN_CONF="/var/lib/bluetooth.conf" -if ! [[ -f $conf ]]; then - if [[ -f $boot_conf ]]; then - cp $boot_conf $conf - elif [[ -f $sys_conf ]]; then - cp $sys_conf $conf - fi -fi +ADAPTER="hci0" +PROG="/usr/libexec/bluetooth/bluetoothd" +PROG_HC="/usr/bin/hciconfig" +DATA_DIR="/var/lib/bluetooth" +RUN_DATA_DIR="/data/bluetooth" -test -f $conf || exit 0 -hci=hci0 -bluetoothd=/usr/libexec/bluetooth/bluetoothd -data_dir=/var/lib/bluetooth -run_data_dir=/data/bluetooth -run_conf=/var/lib/bluetooth.conf +test -x ${PROG} || exit 0 -test -x $bluetoothd || exit 0 +test -n "${OS_VERSION}" || source /etc/init.d/base + +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} +test -f ${CONF} || exit 0 -test -n "$os_version" || source /etc/init.d/base configure() { - mkdir -p $run_data_dir - ln -sf $run_data_dir $data_dir - cp $conf $run_conf + mkdir -p ${RUN_DATA_DIR} + ln -sf ${RUN_DATA_DIR} ${DATA_DIR} + cp ${CONF} ${RUN_CONF} # if no specific name configured, use hostname - if ! grep -E 'Name\s*=' $run_conf &>/dev/null; then - sed -ri "s/(\[General\])/\1\nName = $(hostname)/" $run_conf + if ! grep -E 'Name\s*=' ${RUN_CONF} &>/dev/null; then + sed -ri "s/(\[General\])/\1\nName = $(hostname)/" ${RUN_CONF} fi # bring adapter up - hciconfig $hci up + ${PROG_HC} ${ADAPTER} up } start() { @@ -43,10 +39,10 @@ start() { # wait up to 10 seconds for device count=0 - while ! hciconfig $hci &>/dev/null; do + while ! ${PROG_HC} ${ADAPTER} &>/dev/null; do sleep 1 - count=$(($count + 1)) - if [[ $count -ge 10 ]]; then + count=$((${count} + 1)) + if [[ ${count} -ge 10 ]]; then msg_fail "no device" logger -t bluetooth -s "bluetooth device not available, calling panic action" panic_action bluetooth @@ -62,19 +58,19 @@ start() { fi msg_begin "Starting bluetoothd" - $bluetoothd &>/dev/null & + ${PROG} &>/dev/null & msg_done # if DiscoverableTimeout is set to 0, make adapter discoverable from boot time - if grep -E '^DiscoverableTimeout\s*=\s*0$' $run_conf &>/dev/null; then + if grep -E '^DiscoverableTimeout\s*=\s*0$' ${RUN_CONF} &>/dev/null; then sleep 1 - hciconfig $hci piscan + ${PROG_HC} ${ADAPTER} piscan fi } stop() { msg_begin "Stopping bluetoothd" - killall bluetoothd &>/dev/null + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S40network b/board/common/overlay/etc/init.d/S40network index 93b03c81af..c4ea325b29 100755 --- a/board/common/overlay/etc/init.d/S40network +++ b/board/common/overlay/etc/init.d/S40network @@ -1,40 +1,36 @@ #!/bin/bash +DH_CONF="/var/cache/dhclient.conf" +SYS_STATIC_CONF="/etc/static_ip.conf" +BOOT_STATIC_CONF="/boot/static_ip.conf" +STATIC_CONF="/data/etc/static_ip.conf" +WATCH_CONF="/data/etc/watch.conf" + +LINK_NEGO_TIMEOUT=10 + + +test -n "${OS_VERSION}" || source /etc/init.d/base + +source ${WATCH_CONF} + +prepare_conf ${STATIC_CONF} ${SYS_STATIC_CONF} ${BOOT_STATIC_CONF} +test -r ${STATIC_CONF} && source ${STATIC_CONF} + mkdir -p /var/lib/dhcp -dh_conf="/var/cache/dhclient.conf" -sys_static_conf="/etc/static_ip.conf" -boot_static_conf="/boot/static_ip.conf" -static_conf="/data/etc/static_ip.conf" -watch_conf="/data/etc/watch.conf" -link_nego_timeout=10 - -source $watch_conf - -if ! [[ -f $static_conf ]]; then - if [[ -f $boot_static_conf ]]; then - cp $boot_static_conf $static_conf - elif [[ -f $sys_static_conf ]]; then - cp $sys_static_conf $static_conf - fi -fi - -test -r $static_conf && source $static_conf - -test -n "$os_version" || source /etc/init.d/base watch_eth() { count=0 while true; do sleep 5 - if [[ "$(cat /sys/class/net/$os_eth/operstate 2>/dev/null)" == "up" ]]; then + if [[ "$(cat /sys/class/net/${OS_ETH}/operstate 2>/dev/null)" == "up" ]]; then count=0 else - if [[ $count -lt $link_watch_timeout ]]; then - count=$(($count + 5)) + if [[ ${count} -lt ${LINK_WATCH_TIMEOUT} ]]; then + count=$((${count} + 5)) logger -t ethernet -s "disconnected" else - logger -t ethernet -s "disconnected for $link_watch_timeout seconds, calling panic action" + logger -t ethernet -s "disconnected for ${LINK_WATCH_TIMEOUT} seconds, calling panic action" panic_action network fi fi @@ -46,14 +42,14 @@ watch_ip() { count=0 while true; do sleep 5 - if ip addr show dev $iface | grep inet &>/dev/null; then + if ip addr show dev ${iface} | grep inet &>/dev/null; then count=0 else - if [[ $count -lt $ip_watch_timeout ]]; then - count=$(($count + 5)) - logger -t network -s "$iface has no IP address" + if [[ ${count} -lt ${IP_WATCH_TIMEOUT} ]]; then + count=$((${count} + 5)) + logger -t network -s "${iface} has no IP address" else - logger -t network -s "$iface had no IP address for $ip_watch_timeout seconds, calling panic action" + logger -t network -s "${iface} had no IP address for ${IP_WATCH_TIMEOUT} seconds, calling panic action" panic_action network fi fi @@ -66,31 +62,31 @@ start_lo() { start_wlan() { msg_begin "Configuring wireless network" - if ! ifconfig $os_wlan &>/dev/null; then + if ! ifconfig ${OS_WLAN} &>/dev/null; then msg_fail "no device" return 1 fi - if [[ "$(cat /sys/class/net/$os_wlan/carrier 2>/dev/null)" != "1" ]]; then + if [[ "$(cat /sys/class/net/${OS_WLAN}/carrier 2>/dev/null)" != "1" ]]; then msg_fail "no link" return 1 fi - if [[ -n "$mtu" ]]; then - ip link set mtu $mtu dev $os_wlan + if [[ -n "${mtu}" ]]; then + ip link set mtu ${mtu} dev ${OS_WLAN} fi - if [[ -n "$static_ip" ]]; then - msg_done $static_ip - ifconfig $os_wlan $static_ip up - static_ip="" # won't be used again + if [[ -n "${STATIC_IP}" ]]; then + msg_done ${STATIC_IP} + ifconfig ${OS_WLAN} ${STATIC_IP} up + STATIC_IP="" # won't be used again else msg_done dhcp - dhclient -cf "$dh_conf" $os_wlan + dhclient -cf "${DH_CONF}" ${OS_WLAN} fi - if [[ "$ip_watch" == "true" ]] && ip addr show dev $os_wlan | grep inet &>/dev/null; then - watch_ip $os_wlan & + if [[ "${IP_WATCH}" == "true" ]] && ip addr show dev ${OS_WLAN} | grep inet &>/dev/null; then + watch_ip ${OS_WLAN} & fi } @@ -100,86 +96,86 @@ start_eth() { # wait for driver w=3 count=0 - while ! ifconfig $os_eth >/dev/null 2>&1; do + while ! ifconfig ${OS_ETH} >/dev/null 2>&1; do sleep 1 - count=$(($count + 1)) - if [[ $count -ge $w ]]; then + count=$((${count} + 1)) + if [[ ${count} -ge ${w} ]]; then msg_done "no device" return 1 fi done # bring it up - ifconfig $os_eth up + ifconfig ${OS_ETH} up # wait for operstate w=3 count=0 - while [[ "$(cat /sys/class/net/$os_eth/operstate 2>&1)" == "unknown" ]]; do + while [[ "$(cat /sys/class/net/${OS_ETH}/operstate 2>&1)" == "unknown" ]]; do sleep 1 - count=$(($count + 1)) - if [[ $count -ge $w ]]; then + count=$((${count} + 1)) + if [[ ${count} -ge ${w} ]]; then msg_done "no link" return 1 fi done # wait for link - test "$link_watch" == "true" || link_nego_timeout=5 + test "${LINK_WATCH}" == "true" || LINK_NEGO_TIMEOUT=5 count=0 - while [[ "$(cat /sys/class/net/$os_eth/carrier 2>&1)" != "1" ]]; do + while [[ "$(cat /sys/class/net/${OS_ETH}/carrier 2>&1)" != "1" ]]; do sleep 1 - count=$(($count + 1)) - if [[ $count -ge $link_nego_timeout ]]; then + count=$((${count} + 1)) + if [[ ${count} -ge ${LINK_NEGO_TIMEOUT} ]]; then msg_done "no link" return 1 fi done - if [[ -n "$mtu" ]]; then - ip link set mtu $mtu dev $os_eth + if [[ -n "${mtu}" ]]; then + ip link set mtu ${mtu} dev ${OS_ETH} fi - if [[ -n "$static_ip" ]]; then - msg_done $static_ip - ifconfig $os_eth $static_ip up - static_ip="" # won't be used again + if [[ -n "${STATIC_IP}" ]]; then + msg_done ${STATIC_IP} + ifconfig ${OS_ETH} ${STATIC_IP} up + STATIC_IP="" # won't be used again else msg_done dhcp - dhclient -cf "$dh_conf" $os_eth + dhclient -cf "${DH_CONF}" ${OS_ETH} fi - if [[ "$link_watch" == "true" ]]; then + if [[ "${LINK_WATCH}" == "true" ]]; then watch_eth & fi - if [[ "$ip_watch" == "true" ]] && ip addr show dev $os_eth | grep inet &>/dev/null; then - watch_ip $os_eth & + if [[ "${IP_WATCH}" == "true" ]] && ip addr show dev ${OS_ETH} | grep inet &>/dev/null; then + watch_ip ${OS_ETH} & fi } start() { hostname=$(hostname) - echo "send host-name = \"$hostname\";" > /var/cache/dhclient.conf + echo "send host-name = \"${hostname}\";" > /var/cache/dhclient.conf start_lo - test "$os_networkless" == "true" && return 0 + test "${OS_NETWORKLESS}" == "true" && return 0 ssid=$(cat /data/etc/wpa_supplicant.conf 2>&1 | grep ssid | grep -v scan_ssid | cut -d '"' -f 2) - test -n "$ssid" && start_wlan && wlan_ok="ok" + test -n "${ssid}" && start_wlan && wlan_ok="ok" - test -r /data/etc/ppp/modem && ifconfig | grep $os_ppp &>/dev/null && ppp_ok="ok" + test -r /data/etc/ppp/modem && ifconfig | grep ${OS_PPP} &>/dev/null && ppp_ok="ok" # if wifi or ppp link ok, start eth in background - if [[ "$wlan_ok" == "ok" ]] || [[ "$ppp_ok" == "ok" ]]; then + if [[ "${wlan_ok}" == "ok" ]] || [[ "${ppp_ok}" == "ok" ]]; then start_eth &>/dev/null & else start_eth && eth_ok="ok" fi - if [[ "$eth_ok" != "ok" ]] && [[ "$wlan_ok" != "ok" ]] && [[ "$ppp_ok" != "ok" ]]; then - if [[ "$link_watch" == "true" ]]; then + if [[ "${eth_ok}" != "ok" ]] && [[ "${wlan_ok}" != "ok" ]] && [[ "${ppp_ok}" != "ok" ]]; then + if [[ "${LINK_WATCH}" == "true" ]]; then logger -t network -s "no network connection available, calling panic action" panic_action network return 1 @@ -189,15 +185,15 @@ start() { fi fi - if [[ -n "$static_gw" ]]; then - msg_begin "Setting static gateway to $static_gw" - ip route add default via $static_gw + if [[ -n "${STATIC_GW}" ]]; then + msg_begin "Setting static gateway to ${STATIC_GW}" + ip route add default via ${STATIC_GW} test $? == 0 && msg_done || msg_fail fi - if [[ -n "$static_dns" ]]; then - msg_begin "Setting static DNS server to $static_dns" - echo "nameserver $static_dns" > /etc/resolv.conf + if [[ -n "${STATIC_DNS}" ]]; then + msg_begin "Setting static DNS server to ${STATIC_DNS}" + echo "nameserver ${STATIC_DNS}" > /etc/resolv.conf test $? == 0 && msg_done || msg_fail fi } diff --git a/board/common/overlay/etc/init.d/S41netwatch b/board/common/overlay/etc/init.d/S41netwatch index a7bd496f32..f452c0bab8 100755 --- a/board/common/overlay/etc/init.d/S41netwatch +++ b/board/common/overlay/etc/init.d/S41netwatch @@ -1,34 +1,38 @@ #!/bin/bash -watch_conf="/data/etc/watch.conf" -netwatch_retries=3 -netwatch_timeout=5 -netwatch_interval=20 +CONF="/data/etc/watch.conf" +NETWATCH_RETRIES=3 +NETWATCH_TIMEOUT=5 +NETWATCH_INTERVAL=20 -test -f $watch_conf && source $watch_conf || exit 0 -if [[ -z "$netwatch_host" ]] || [[ -z "$netwatch_port" ]]; then - exit 0 -fi +# watch configuration is already prepared by wifi init script -test -n "$os_version" || source /etc/init.d/base +test -f ${CONF} || exit 0 +source ${CONF} + +test -n "${NETWATCH_HOST}" || exit 0 +test -n "${NETWATCH_PORT}" || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base + +test "${OS_NETWORKLESS}" == "true" && exit 0 -test "$os_networkless" == "true" && exit 0 watch() { count=0 - netwatch_retries=$(($netwatch_retries - 1)) + NETWATCH_RETRIES=$((${NETWATCH_RETRIES} - 1)) while true; do - sleep $netwatch_interval - if nc -z -w $netwatch_timeout $netwatch_host $netwatch_port /dev/null 2>&1; then + sleep ${NETWATCH_INTERVAL} + if nc -z -w ${NETWATCH_TIMEOUT} ${NETWATCH_HOST} ${NETWATCH_PORT} /dev/null 2>&1; then count=0 else - if [[ $count -lt $netwatch_retries ]]; then - logger -t netwatch -s "cannot connect to $netwatch_host:$netwatch_port" - count=$(($count + 1)) + if [[ ${count} -lt ${NETWATCH_RETRIES} ]]; then + logger -t netwatch -s "cannot connect to ${NETWATCH_HOST}:${NETWATCH_PORT}" + count=$((${count} + 1)) continue else - logger -t netwatch -s "cannot connect to $netwatch_host:$netwatch_port, calling panic action" + logger -t netwatch -s "cannot connect to ${NETWATCH_HOST}:${NETWATCH_PORT}, calling panic action" panic_action netwatch fi fi diff --git a/board/common/overlay/etc/init.d/S43firewall b/board/common/overlay/etc/init.d/S43firewall index 3e049c18d8..bab1a54053 100755 --- a/board/common/overlay/etc/init.d/S43firewall +++ b/board/common/overlay/etc/init.d/S43firewall @@ -1,25 +1,20 @@ #!/bin/bash -sys_conf="/etc/firewall.sh" -boot_conf="/boot/firewall.sh" -conf="/data/etc/firewall.sh" +SYS_CONF="/etc/firewall.sh" +BOOT_CONF="/boot/firewall.sh" +CONF="/data/etc/firewall.sh" -if ! [[ -f $conf ]]; then - if [[ -f $boot_conf ]]; then - cp $boot_conf $conf - elif [[ -f $sys_conf ]]; then - cp $sys_conf $conf - fi -fi -test -f $conf || exit 0 +test -n "${OS_VERSION}" || source /etc/init.d/base + +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} +test -f ${CONF} || exit 0 -test -n "$os_version" || source /etc/init.d/base start() { msg_begin "Starting firewall" - bash $conf + bash ${CONF} test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S45dnsmasq b/board/common/overlay/etc/init.d/S45dnsmasq index e6c7c3ffed..f178f84a3f 100755 --- a/board/common/overlay/etc/init.d/S45dnsmasq +++ b/board/common/overlay/etc/init.d/S45dnsmasq @@ -1,40 +1,37 @@ #!/bin/bash -sys_conf="/etc/dnsmasq.conf" -boot_conf="/boot/dnsmasq.conf" -conf="/data/etc/dnsmasq.conf" +SYS_CONF="/etc/dnsmasq.conf" +BOOT_CONF="/boot/dnsmasq.conf" +CONF="/data/etc/dnsmasq.conf" -log="/var/log/dnsmasq.log" -prog="/usr/sbin/dnsmasq" +LOG="/var/log/dnsmasq.log" +PROG="/usr/sbin/dnsmasq" -if ! [[ -f $conf ]]; then - if [[ -f $boot_conf ]]; then - cp $boot_conf $conf - elif [[ -f $sys_conf ]]; then - cp $sys_conf $conf - fi -fi -test -f $conf || exit 0 +test -x ${PROG} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base + +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} +test -f ${CONF} || exit 0 -test -n "$os_version" || source /etc/init.d/base start() { msg_begin "Starting dnsmasq" - iface=$(cat $conf | grep interface | cut -d '=' -f 2) - ip=$(cat $conf | grep range | cut -d '=' -f 2 | cut -d '.' -f 1,2,3).1 + iface=$(cat ${CONF} | grep interface | cut -d '=' -f 2) + ip=$(cat ${CONF} | grep range | cut -d '=' -f 2 | cut -d '.' -f 1,2,3).1 - ifconfig $iface $ip + ifconfig ${iface} ${ip} - $prog -C $conf --log-facility=$log + ${PROG} -C ${CONF} --log-facility=${LOG} test $? == 0 && msg_done || msg_fail } stop() { msg_begin "Stopping dnsmasq" - killall dnsmasq &>/dev/null + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S50date b/board/common/overlay/etc/init.d/S50date index 0390037222..c449f275e3 100755 --- a/board/common/overlay/etc/init.d/S50date +++ b/board/common/overlay/etc/init.d/S50date @@ -1,64 +1,53 @@ #!/bin/bash # Date executable points to /bin/busybox\ date explicitly in the cases that date binary gets overwritten -date_exec=/bin/busybox\ date +DATE_PROG=/bin/busybox\ date -sys_conf="/etc/date.conf" -boot_conf="/boot/date.conf" -conf="/data/etc/date.conf" +SYS_CONF="/etc/date.conf" +BOOT_CONF="/boot/date.conf" +CONF="/data/etc/date.conf" -sys_ntp_conf="/etc/ntp.conf" -boot_ntp_conf="/boot/ntp.conf" -ntp_conf="/data/etc/ntp.conf" +SYS_NTP_CONF="/etc/ntp.conf" +BOOT_NTP_CONF="/boot/ntp.conf" +NTP_CONF="/data/etc/ntp.conf" -if ! [[ -f $conf ]]; then - if [[ -f $boot_conf ]]; then - cp $boot_conf $conf - elif [[ -f $sys_conf ]]; then - cp $sys_conf $conf - fi -fi -if ! [[ -f $ntp_conf ]]; then - if [[ -f $boot_ntp_conf ]]; then - cp $boot_ntp_conf $ntp_conf - elif [[ -f $sys_ntp_conf ]]; then - cp $sys_ntp_conf $ntp_conf - fi -fi +test -n "${OS_VERSION}" || source /etc/init.d/base -test -f $conf || exit 0 +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} +prepare_conf ${NTP_CONF} ${SYS_NTP_CONF} ${BOOT_NTP_CONF} -test -n "$os_version" || source /etc/init.d/base +test -f ${CONF} || exit 0 -test "$os_networkless" == "true" && exit 0 +test "${OS_NETWORKLESS}" == "true" && exit 0 date_timeout=10 date_method=http date_host="google.com" date_interval="900" -source $conf +source ${CONF} + set_current_date_http() { - date_str=$(curl -v -s -m $date_timeout -X GET http://$date_host 2>&1 | grep Date | sed -e 's/< Date: //') - test -z "$date_str" && return 1 - $date_exec -u -D "%a, %d %b %Y %H:%M:%S" -s "$date_str" > /dev/null + date_str=$(curl -v -s -m ${date_timeout} -X GET http://${date_host} 2>&1 | grep Date | sed -e 's/< Date: //') + test -z "${date_str}" && return 1 + ${DATE_PROG} -u -D "%a, %d %b %Y %H:%M:%S" -s "${date_str}" > /dev/null return $? } set_current_date_ntp() { - cat $ntp_conf | grep server | head -n 1 | cut -d ' ' -f 2 | xargs ntpdate -t $date_timeout -s + cat ${NTP_CONF} | grep server | head -n 1 | cut -d ' ' -f 2 | xargs ntpdate -t ${date_timeout} -s } start_http() { msg_begin "Setting current date using http" set_current_date_http || set_current_date_http - test $? == 0 && msg_done "$($date_exec)" || msg_fail + test $? == 0 && msg_done "$(${DATE_PROG})" || msg_fail msg_begin "Starting http date updater" while true; do - sleep $date_interval + sleep ${date_interval} set_current_date_http done & msg_done @@ -67,23 +56,23 @@ start_http() { start_ntp() { mkdir -p /var/lib/ntp - cat $ntp_conf | grep -v iburst > ${ntp_conf}.tmp + cat ${NTP_CONF} | grep -v iburst > ${NTP_CONF}.tmp - if [[ -n "$date_ntp_server" ]]; then - echo "server $date_ntp_server iburst" > $ntp_conf + if [[ -n "${date_ntp_server}" ]]; then + echo "server ${date_ntp_server} iburst" > ${NTP_CONF} else - cat $sys_ntp_conf | grep iburst > $ntp_conf + cat ${SYS_NTP_CONF} | grep iburst > ${NTP_CONF} fi - cat ${ntp_conf}.tmp >> $ntp_conf - rm ${ntp_conf}.tmp + cat ${NTP_CONF}.tmp >> ${NTP_CONF} + rm ${NTP_CONF}.tmp msg_begin "Setting current date using ntp" set_current_date_ntp || set_current_date_ntp - test $? == 0 && msg_done "$($date_exec)" || msg_fail + test $? == 0 && msg_done "$(${DATE_PROG})" || msg_fail msg_begin "Starting ntpd" - ntpd -g -c $ntp_conf + ntpd -g -c ${NTP_CONF} test $? == 0 && msg_done || msg_fail } @@ -100,17 +89,17 @@ stop_ntp() { } start() { - if [[ "$date_method" == "http" ]]; then + if [[ "${date_method}" == "http" ]]; then start_http else start_ntp fi - echo "system date is $($date_exec '+%Y-%m-%d %H:%M:%S')" > /dev/kmsg + echo "system date is $(${DATE_PROG} '+%Y-%m-%d %H:%M:%S')" > /dev/kmsg } stop() { - if [[ "$date_method" == "http" ]]; then + if [[ "${date_method}" == "http" ]]; then stop_http else stop_ntp diff --git a/board/common/overlay/etc/init.d/S51crond b/board/common/overlay/etc/init.d/S51crond index 618b482e12..9529ee31d8 100755 --- a/board/common/overlay/etc/init.d/S51crond +++ b/board/common/overlay/etc/init.d/S51crond @@ -1,26 +1,32 @@ #!/bin/bash -sys_conf="/etc/crontabs" -conf="/data/etc/crontabs" +SYS_CONF="/etc/crontabs" +CONF="/data/etc/crontabs" + +PROG="/usr/sbin/crond" + + +test -x ${PROG} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base -test -n "$os_version" || source /etc/init.d/base start() { msg_begin "Starting crond" - if [[ -d $sys_conf ]]; then - /usr/sbin/crond -c $sys_conf + if [[ -d ${SYS_CONF} ]]; then + ${PROG} -c ${SYS_CONF} fi - mkdir -p $conf - /usr/sbin/crond -c $conf + mkdir -p ${CONF} + ${PROG} -c ${CONF} test $? == 0 && msg_done || msg_fail } stop() { msg_begin "Stopping crond" - killall crond &>/dev/null + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S60sshd b/board/common/overlay/etc/init.d/S60sshd index 2dcd04ac7b..0c68a5446a 100755 --- a/board/common/overlay/etc/init.d/S60sshd +++ b/board/common/overlay/etc/init.d/S60sshd @@ -1,34 +1,41 @@ #!/bin/bash -conf="/etc/sshd_config" +CONF="/etc/sshd_config" -test -f $conf || exit 0 +PROG="/usr/sbin/sshd" +PROG_KG="/usr/bin/ssh-keygen" -test -n "$os_version" || source /etc/init.d/base -test "$os_networkless" == "true" && exit 0 +test -x ${PROG} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base + +test -f ${CONF} || exit 0 + +test "${OS_NETWORKLESS}" == "true" && exit 0 + start() { msg_begin "Starting sshd" # create any missing keys - if ! /usr/bin/ssh-keygen -A >/dev/null; then + if ! ${PROG_KG} -A >/dev/null; then msg_fail return 1 fi umask 077 hostname=$(hostname) - echo "Welcome to $hostname!" > /var/cache/sshd_banner + echo "Welcome to ${hostname}!" > /var/cache/sshd_banner sync - /usr/sbin/sshd -f $conf + ${PROG} -f ${CONF} test $? == 0 && msg_done || msg_fail } stop() { msg_begin "Stopping sshd" - killall sshd &>/dev/null + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S61proftpd b/board/common/overlay/etc/init.d/S61proftpd index 92ad723780..9835df2fc3 100755 --- a/board/common/overlay/etc/init.d/S61proftpd +++ b/board/common/overlay/etc/init.d/S61proftpd @@ -1,23 +1,30 @@ #!/bin/bash -test -f /etc/proftpd.conf || exit 0 +CONF="/etc/proftpd.conf" +PROG="/usr/sbin/proftpd" -test -n "$os_version" || source /etc/init.d/base -test -n "$os_debug" || source /etc/init.d/conf -test "$os_networkless" == "true" && exit 0 +test -x ${PROG} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base +test -n "${OS_DEBUG}" || source /etc/init.d/conf + +test -f ${CONF} || exit 0 + +test "${OS_NETWORKLESS}" == "true" && exit 0 + start() { msg_begin "Starting proftpd" mkdir -p /var/run/proftpd touch /var/log/wtmp - /usr/sbin/proftpd &>/dev/null + ${PROG} &>/dev/null test $? == 0 && msg_done || msg_fail } stop() { msg_begin "Stopping proftpd" - killall proftpd &>/dev/null + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S62smb b/board/common/overlay/etc/init.d/S62smb index 061ee3cb35..e203b5556c 100755 --- a/board/common/overlay/etc/init.d/S62smb +++ b/board/common/overlay/etc/init.d/S62smb @@ -1,32 +1,41 @@ #!/bin/bash -test -f /etc/samba/smb.conf || exit 0 +CONF="/etc/samba/smb.conf" -test -n "$os_version" || source /etc/init.d/base -test -n "$os_debug" || source /etc/init.d/conf +PROG="/usr/sbin/smbd" +PROG_N="/usr/sbin/nmbd" + + +test -x ${PROG} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base +test -n "${OS_DEBUG}" || source /etc/init.d/conf + +test -f ${CONF} || exit 0 + +test "${OS_NETWORKLESS}" == "true" && exit 0 -test "$os_networkless" == "true" && exit 0 start() { mkdir -p /var/log/samba mkdir -p /var/lib/samba/private msg_begin "Starting smbd" - smbd -D + ${PROG} -D test $? == 0 && msg_done || msg_fail msg_begin "Starting nmbd" - nmbd -D + ${PROG_N} -D test $? == 0 && msg_done || msg_fail } stop() { msg_begin "Stopping smbd" - killall smbd &>/dev/null + killall -q $(basename ${PROG}) test $? == 0 && msg_done || msg_fail msg_begin "Stopping nmbd" - killall nmbd &>/dev/null + killall -q $(basename ${PROG_N}) test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S70mongod b/board/common/overlay/etc/init.d/S70mongod new file mode 100755 index 0000000000..0b9fbaea90 --- /dev/null +++ b/board/common/overlay/etc/init.d/S70mongod @@ -0,0 +1,50 @@ +#!/bin/bash + +SYS_CONF="/etc/mongodb.conf" +BOOT_CONF="/boot/mongodb.conf" +CONF="/data/etc/mongodb.conf" + +PROG="/usr/bin/mongod" + + +test -x ${PROG} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base + +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} +test -f ${CONF} || exit 0 + + +start() { + msg_begin "Starting mongod" + db_dir=$(cat ${CONF} | grep dbpath | cut -d '=' -f 2) + mkdir -p ${db_dir} + ${PROG} -f ${CONF} --fork > /dev/null + test $? == 0 && msg_done || msg_fail +} + +stop() { + msg_begin "Stopping mongod" + killall -q $(basename ${PROG}) + test $? == 0 && msg_done || msg_fail +} + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + restart) + stop + start + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + diff --git a/board/common/overlay/etc/init.d/S71redis b/board/common/overlay/etc/init.d/S71redis new file mode 100755 index 0000000000..6ba7a1d0a6 --- /dev/null +++ b/board/common/overlay/etc/init.d/S71redis @@ -0,0 +1,50 @@ +#!/bin/bash + +SYS_CONF="/etc/redis.conf" +BOOT_CONF="/boot/redis.conf" +CONF="/data/etc/redis.conf" + +PROG="/usr/bin/redis-server" + + +test -x ${PROG} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base + +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} +test -f ${CONF} || exit 0 + + +start() { + msg_begin "Starting redis" + db_dir=$(cat ${CONF} | grep -E '^dir' | cut -d ' ' -f 2) + mkdir -p ${db_dir} + ${PROG} ${CONF} + test $? == 0 && msg_done || msg_fail +} + +stop() { + msg_begin "Stopping redis" + killall -q $(basename ${PROG}) + test $? == 0 && msg_done || msg_fail +} + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + restart) + stop + start + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + diff --git a/board/common/overlay/etc/init.d/S72postgresql b/board/common/overlay/etc/init.d/S72postgresql new file mode 100755 index 0000000000..b6b61b82ce --- /dev/null +++ b/board/common/overlay/etc/init.d/S72postgresql @@ -0,0 +1,70 @@ +#!/bin/bash + +BOOT_CONF="/boot/postgresql.conf" +SYS_CONF="/etc/postgresql.conf" +CONF="/data/etc/postgresql.conf" + +PROG="/usr/bin/pg_ctl" + +DB_DIR="/var/lib/postgresql" +USER="postgres" +LOG="/var/log/postgresql.log" + + +function run_pg_ctl() { + su ${USER} -c "pg_ctl $*" +} + + +test -x ${PROG} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base + +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} + + +start() { + mkdir -p ${DB_DIR} + chown -R ${USER} ${DB_DIR} + touch ${LOG} + chown ${USER} ${LOG} + cd ${DB_DIR} + + if [[ ! -f ${DB_DIR}/PG_VERSION ]]; then + msg_begin "Initializing postgresql db" + run_pg_ctl initdb -s -D ${DB_DIR} &>> ${LOG} + test $? == 0 && msg_done || msg_fail + + echo "include_if_exists = '/data/etc/postgresql.conf'" >> ${DB_DIR}/postgresql.conf + fi + + msg_begin "Starting postgresql" + run_pg_ctl start -s -D ${DB_DIR} -l ${LOG} + test $? == 0 && msg_done || msg_fail +} + +stop() { + msg_begin "Stopping postgresql" + run_pg_ctl stop -s -D ${DB_DIR} -m fast &>> ${LOG} + test $? == 0 && msg_done || msg_fail +} + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + restart) + stop + start + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + diff --git a/board/common/overlay/etc/init.d/S85motioneye b/board/common/overlay/etc/init.d/S85motioneye index 0c9a09071e..65f19ecdd6 100755 --- a/board/common/overlay/etc/init.d/S85motioneye +++ b/board/common/overlay/etc/init.d/S85motioneye @@ -1,35 +1,30 @@ #!/bin/bash -sys_conf="/etc/motioneye.conf" -boot_conf="/boot/motioneye.conf" -conf="/data/etc/motioneye.conf" -motion_conf="/data/etc/motion.conf" -watch_conf="/data/etc/watch.conf" +SYS_CONF="/etc/motioneye.conf" +BOOT_CONF="/boot/motioneye.conf" +CONF="/data/etc/motioneye.conf" +MOTION_CONF="/data/etc/motion.conf" +WATCH_CONF="/data/etc/watch.conf" -meyewatch_timeout=120 -meyewatch_disable="false" -dev_v4l_by_id="/dev/v4l/by-id/" -media_dir="/data/output" +MEYEWATCH_TIMEOUT=120 +MEYEWATCH_DISABLE="false" +DEV_V4L_BY_ID="/dev/v4l/by-id/" +MEDIA_DIR="/data/output" -if ! [ -f $conf ]; then - if [ -f $boot_conf ]; then - cp $boor_conf $conf - elif [ -f $sys_conf ]; then - cp $sys_conf $conf - fi -fi +test -n "${OS_VERSION}" || source /etc/init.d/base -test -f "$conf" || exit 0 +prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF} -test -r $watch_conf && source $watch_conf +test -f "${CONF}" || exit 0 -test -n "$os_version" || source /etc/init.d/base +test -r ${WATCH_CONF} && source ${WATCH_CONF} -opts=$(cat "$conf" | while read line; do echo "--$line"; done) -port=$(echo "$opts" | grep -oE 'port [[:digit:]]+' | cut -d ' ' -f 2) + +opts=$(cat "${CONF}" | while read line; do echo "--${line}"; done) +port=$(echo "${opts}" | grep -oE 'port [[:digit:]]+' | cut -d ' ' -f 2) responsive() { - curl -m 2 --head http://127.0.0.1:$port &>/dev/null && return 0 || return 1 + curl -m 2 --head http://127.0.0.1:${port} &>/dev/null && return 0 || return 1 } watch() { @@ -39,10 +34,10 @@ watch() { if responsive; then count=0 else - if [ $count -lt $meyewatch_timeout ]; then - count=$(($count + 5)) + if [ ${count} -lt ${MEYEWATCH_TIMEOUT} ]; then + count=$((${count} + 5)) else - logger -t motioneye -s "not responding for $meyewatch_timeout seconds, rebooting" + logger -t motioneye -s "not responding for ${MEYEWATCH_TIMEOUT} seconds, rebooting" reboot fi fi @@ -52,39 +47,39 @@ watch() { find_persistent_device() { device=$1 - if ! [ -d $dev_v4l_by_id ]; then - echo $device + if ! [ -d ${DEV_V4L_BY_ID} ]; then + echo ${device} return fi - for p in $dev_v4l_by_id/*; do - if [ $(realpath "$p") == $device ]; then - echo $p | sed 's#//*#/#g' + for p in ${DEV_V4L_BY_ID}/*; do + if [ $(realpath "${p}") == ${device} ]; then + echo ${p} | sed 's#//*#/#g' return fi done - echo $device + echo ${device} } add_mmal_cameras() { vcgencmd=$(which vcgencmd) - if [ -z "$vcgencmd" ]; then + if [ -z "${vcgencmd}" ]; then return 1 fi - camera=$($vcgencmd get_camera 2>/dev/null) - if [ "$camera" != "supported=1 detected=1" ]; then + camera=$(${vcgencmd} get_camera 2>/dev/null) + if [ "${camera}" != "supported=1 detected=1" ]; then return 1 fi output_dir="/data/output/camera1/" loc="/config/add/?_username=admin" device="vc.ril.camera" - body="{\"path\": \"$device\", \"proto\": \"mmal\"}" - signature=$(echo -n "POST:$loc:$body:" | sha1sum | cut -d ' ' -f 1) + body="{\"path\": \"${device}\", \"proto\": \"mmal\"}" + signature=$(echo -n "POST:${loc}:${body}:" | sha1sum | cut -d ' ' -f 1) - curl -s -m 60 --data "$body" "http://127.0.0.1:$port$loc&_signature=$signature" > /dev/null + curl -s -m 60 --data "${body}" "http://127.0.0.1:${port}${loc}&_signature=${signature}" > /dev/null return 0 } @@ -93,20 +88,20 @@ add_v4l2_cameras() { index=1 for device in $(ls /dev/video* 2>/dev/null); do # filter out devices that don't look like cameras - if ! v4l2-ctl -d $device --list-formats-ext 2>/dev/null | grep -oE '[[:digit:]]+x[[:digit:]]+' &>/dev/null; then + if ! v4l2-ctl -d ${device} --list-formats-ext 2>/dev/null | grep -oE '[[:digit:]]+x[[:digit:]]+' &>/dev/null; then continue fi - output_dir="/data/output/camera$index/" + output_dir="/data/output/camera${index}/" loc="/config/add/?_username=admin" - device=$(find_persistent_device $device) - body="{\"path\": \"$device\", \"proto\": \"v4l2\"}" - signature=$(echo -n "POST:$loc:$body:" | sha1sum | cut -d ' ' -f 1) + device=$(find_persistent_device ${device}) + body="{\"path\": \"${device}\", \"proto\": \"v4l2\"}" + signature=$(echo -n "POST:${loc}:${body}:" | sha1sum | cut -d ' ' -f 1) - curl -s -m 60 --data "$body" "http://127.0.0.1:$port$loc&_signature=$signature" > /dev/null - index=$(($index + 1)) + curl -s -m 60 --data "${body}" "http://127.0.0.1:${port}${loc}&_signature=${signature}" > /dev/null + index=$((${index} + 1)) done - if [ $index -gt 1 ]; then + if [ ${index} -gt 1 ]; then return 0 else return 1 @@ -116,8 +111,8 @@ add_v4l2_cameras() { start() { msg_begin "Starting motioneye" - mkdir -p $media_dir - meyectl startserver -b -c $conf -l + mkdir -p ${MEDIA_DIR} + meyectl startserver -b -c ${CONF} -l count=0 while true; do @@ -127,22 +122,22 @@ start() { break fi - if [ $count -gt $meyewatch_timeout ]; then + if [ ${count} -gt ${MEYEWATCH_TIMEOUT} ]; then msg_fail - test "$meyewatch_disable" == "false" && reboot + test "${MEYEWATCH_DISABLE}" == "false" && reboot return 1 fi - count=$(($count + 1)) + count=$((${count} + 1)) done # add connected camera(s) with default settings - if responsive && ! [ -f $motion_conf ]; then + if responsive && ! [ -f ${MOTION_CONF} ]; then add_mmal_cameras || add_v4l2_cameras sync fi - if [ "$meyewatch_disable" == "false" ]; then + if [ "${MEYEWATCH_DISABLE}" == "false" ]; then watch & fi @@ -151,7 +146,7 @@ start() { stop() { msg_begin "Stopping motioneye" - meyectl stopserver -c $conf &>/dev/null + meyectl stopserver -c ${CONF} &>/dev/null test $? == 0 && msg_done || msg_fail ps | grep motioneye | grep -v $$ | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1 | xargs -r kill } diff --git a/board/common/overlay/etc/init.d/S98userinit b/board/common/overlay/etc/init.d/S98userinit index ffaf1dfb10..835229e78e 100755 --- a/board/common/overlay/etc/init.d/S98userinit +++ b/board/common/overlay/etc/init.d/S98userinit @@ -1,15 +1,16 @@ #!/bin/bash -userinit_sh="/data/etc/userinit.sh" +USERINIT="/data/etc/userinit.sh" -test -f $userinit_sh || exit 0 -test -n "$os_version" || source /etc/init.d/base +test -f ${USERINIT} || exit 0 + +test -n "${OS_VERSION}" || source /etc/init.d/base case "$1" in start) msg_begin "Executing user init script" - /bin/bash $userinit_sh + /bin/bash ${USERINIT} test $? == 0 && msg_done || msg_fail ;; diff --git a/board/common/overlay/etc/init.d/S99showinfo b/board/common/overlay/etc/init.d/S99showinfo index fac00a387d..8758c62c31 100755 --- a/board/common/overlay/etc/init.d/S99showinfo +++ b/board/common/overlay/etc/init.d/S99showinfo @@ -1,6 +1,6 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +test -n "${OS_VERSION}" || source /etc/init.d/base msg_info() { echo " # $1" @@ -8,25 +8,25 @@ msg_info() { show_iface_ip_addr() { addr=$(ip addr show dev $1 2>/dev/null | grep inet | tr -s ' ' | sed -r 's/^\s+//' | cut -d ' ' -f 2) - test -n "$addr" && msg_info "Interface $1 has IP address $addr" + test -n "${addr}" && msg_info "Interface $1 has IP address ${addr}" } show_gateway() { gateway=$(ip route | grep default | cut -d ' ' -f 3) - test -n "$gateway" && msg_info "Default gateway is $gateway" + test -n "${gateway}" && msg_info "Default gateway is ${gateway}" } show_dns() { test -r /etc/resolv.conf || return dns=$(cat /etc/resolv.conf | grep nameserver | head -n 1 | cut -d ' ' -f 2) - test -n "$dns" && msg_info "DNS server address is $dns" + test -n "${dns}" && msg_info "DNS server address is ${dns}" } case "$1" in start) - show_iface_ip_addr $os_eth - show_iface_ip_addr $os_wlan - show_iface_ip_addr $os_ppp + show_iface_ip_addr ${OS_ETH} + show_iface_ip_addr ${OS_WLAN} + show_iface_ip_addr ${OS_PPP} show_gateway show_dns ;; diff --git a/board/common/overlay/etc/init.d/base b/board/common/overlay/etc/init.d/base old mode 100755 new mode 100644 index 7b08c9384d..5119498a04 --- a/board/common/overlay/etc/init.d/base +++ b/board/common/overlay/etc/init.d/base @@ -1,13 +1,13 @@ -#!/bin/bash source /etc/version -board_sn=$(/etc/init.d/boardsn) -board_name=$(cat /etc/board) +BOARD_SN=$(/etc/init.d/boardsn) +BOARD_NAME=$(cat /etc/board) -test -n "$os_debug" || source /etc/init.d/conf +test -n "${OS_DEBUG}" || source /etc/init.d/os_conf source /etc/init.d/panic + msg_begin() { echo -n " * $1: " } @@ -24,3 +24,38 @@ msg_background() { test -n "$1" && echo $1 || echo "pending" } +prepare_conf() { + # $1 - actual config file + # $2 - system-provided config file + # $3 - user-provided config file + + # long story short: + # * user conf file takes precedence, if present + # * system conf file is used by default, if actual file absent + + actual_conf="$1" + system_conf="$2" + user_conf="$3" + + if [[ -n "${user_conf}" && -e "${user_conf}" ]]; then + cp -rf "${user_conf}" "${actual_conf}" + + # we want only Unix newlines in conf files + if [[ -f "${actual_conf}" ]]; then + sed -i 's/\r//g' "${actual_conf}" + elif [[ -d "${actual_conf}" ]]; then + find "${actual_conf}" -type f | xargs -L1 sed -i 's/\r//g' + fi + + grep -E "/boot .*ro[\s,]" /proc/mounts &>/dev/null + RO=$? + test ${RO} == 0 && mount -o remount,rw /boot + rm -rf ${user_conf} + test ${RO} == 0 && mount -o remount,ro /boot + fi + + if [[ ! -e "${actual_conf}" && -e "${system_conf}" ]]; then + cp "${system_conf}" "${actual_conf}" + fi +} + diff --git a/board/common/overlay/etc/init.d/bootdone b/board/common/overlay/etc/init.d/bootdone index 14ca681cfc..38e16f566b 100755 --- a/board/common/overlay/etc/init.d/bootdone +++ b/board/common/overlay/etc/init.d/bootdone @@ -3,5 +3,5 @@ source /etc/init.d/panic # reset panic counter after a successful boot -echo 0 > ${_PANIC_COUNTER_FILE} +echo 0 > ${PANIC_COUNTER_FILE} diff --git a/board/common/overlay/etc/init.d/conf b/board/common/overlay/etc/init.d/conf deleted file mode 100644 index 46ab1a6378..0000000000 --- a/board/common/overlay/etc/init.d/conf +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -_sys_conf="/etc/os.conf" -_boot_conf="/boot/os.conf" -_conf="/data/etc/os.conf" - -if ! [[ -d /data/etc ]]; then - # use boot/system variants if we don't have the data partition mounted - if [[ -f $_boot_conf ]]; then - source $_boot_conf - elif [[ -f $_sys_conf ]]; then - source $_sys_conf - fi - - return -fi - -if ! [[ -f $_conf ]]; then - if [[ -f $_boot_conf ]]; then - cp $_boot_conf $_conf - elif [[ -f $_sys_conf ]]; then - cp $_sys_conf $_conf - fi -fi - -if [[ -f $_conf ]]; then - source $_conf -fi - diff --git a/board/common/overlay/etc/init.d/os_conf b/board/common/overlay/etc/init.d/os_conf new file mode 100644 index 0000000000..e2f6f6fd58 --- /dev/null +++ b/board/common/overlay/etc/init.d/os_conf @@ -0,0 +1,21 @@ + +_SYS_CONF="/etc/os.conf" +_BOOT_CONF="/boot/os.conf" +_DATA_CONF="/data/etc/os.conf" + + +# source in all conf files in order of precedence +if [[ -f ${_SYS_CONF} ]]; then + source ${_SYS_CONF} +fi + +if [[ -f ${_DATA_CONF} ]]; then + source ${_DATA_CONF} +fi + +if [[ -f ${_BOOT_CONF} ]]; then + source ${_BOOT_CONF} +fi + +unset _SYS_CONF _BOOT_CONF _DATA_CONF + diff --git a/board/common/overlay/etc/init.d/panic b/board/common/overlay/etc/init.d/panic old mode 100755 new mode 100644 index fcf6724e54..4c6c992c20 --- a/board/common/overlay/etc/init.d/panic +++ b/board/common/overlay/etc/init.d/panic @@ -1,20 +1,19 @@ -#!/bin/bash -_PANIC_COUNTER_FILE="/var/lib/panic_counter" -_PANIC_REBOOT_DELAY_FACTOR=10 -_PANIC_REBOOT_DELAY_MAX=3600 # reboot at least once an hour in case of panic +PANIC_COUNTER_FILE="/var/lib/panic_counter" +PANIC_REBOOT_DELAY_FACTOR=10 +PANIC_REBOOT_DELAY_MAX=3600 # reboot at least once an hour in case of panic panic_action() { # read counter from file - panic_counter=$(cat ${_PANIC_COUNTER_FILE} 2>/dev/null || echo 0) + panic_counter=$(cat ${PANIC_COUNTER_FILE} 2>/dev/null || echo 0) # write increased counter back to file - echo $((panic_counter + 1)) > ${_PANIC_COUNTER_FILE} + echo $((panic_counter + 1)) > ${PANIC_COUNTER_FILE} - delay=$((_PANIC_REBOOT_DELAY_FACTOR * panic_counter)) - if [[ "${delay}" -gt "${_PANIC_REBOOT_DELAY_MAX}" ]]; then - delay=${_PANIC_REBOOT_DELAY_MAX} + delay=$((PANIC_REBOOT_DELAY_FACTOR * panic_counter)) + if [[ "${delay}" -gt "${PANIC_REBOOT_DELAY_MAX}" ]]; then + delay=${PANIC_REBOOT_DELAY_MAX} fi if [[ "${delay}" -gt 0 ]]; then diff --git a/board/common/overlay/etc/init.d/rcK b/board/common/overlay/etc/init.d/rcK index 7d08910c5b..0b1d9bd373 100755 --- a/board/common/overlay/etc/init.d/rcK +++ b/board/common/overlay/etc/init.d/rcK @@ -1,22 +1,22 @@ #!/bin/sh -boot_log=/var/log/boot.log -pid_file=/tmp/rc.pid +BOOT_LOG=/var/log/boot.log +PID_FILE=/tmp/rc.pid source /etc/init.d/base -echo "---- shutting down $os_name $os_version ----" >> $boot_log +echo "---- shutting down ${OS_NAME} ${OS_VERSION} ----" >> ${BOOT_LOG} # stop all init scripts in /etc/init.d, # executing them in reverse numerical order. (for i in $(ls -r /etc/init.d/S??*); do - if ! [[ -x "$i" ]]; then continue; fi - if [[ -f /data/etc/no_$(basename $i) ]]; then continue; fi - $i stop -done& echo $! > $pid_file) | tee -a $boot_log & + if ! [[ -x "${i}" ]]; then continue; fi + if [[ -f /data/etc/no_$(basename ${i}) ]]; then continue; fi + ${i} stop +done& echo $! > ${PID_FILE}) | tee -a ${BOOT_LOG} & -pid=$(cat $pid_file) -while kill -0 $pid 2>/dev/null; do +pid=$(cat ${PID_FILE}) +while kill -0 ${pid} 2>/dev/null; do sleep 1 done diff --git a/board/common/overlay/etc/init.d/rcS b/board/common/overlay/etc/init.d/rcS index d15157610f..20c2ce1cd5 100755 --- a/board/common/overlay/etc/init.d/rcS +++ b/board/common/overlay/etc/init.d/rcS @@ -1,25 +1,26 @@ #!/bin/sh -boot_log=/var/log/boot.log -tmp_boot_log=/tmp/_boot.log -pid_file=/tmp/rc.pid +BOOT_LOG=/var/log/boot.log +TMP_BOOT_LOG=/tmp/_boot.log +PID_FILE=/tmp/rc.pid + source /etc/init.d/base -echo "---- booting $os_name $os_version ----" >> $tmp_boot_log +echo "---- booting ${OS_NAME} ${OS_VERSION} ----" >> ${TMP_BOOT_LOG} # start all init scripts in /etc/init.d, # executing them in numerical order. (for i in /etc/init.d/S??* /etc/init.d/bootdone; do - if ! [[ -x "$i" ]]; then continue; fi - if [[ -f /data/etc/no_$(basename $i) ]]; then continue; fi - $i start || break -done& echo $! > $pid_file) | tee -a $tmp_boot_log & + if ! [[ -x "${i}" ]]; then continue; fi + if [[ -f /data/etc/no_$(basename ${i}) ]]; then continue; fi + ${i} start || break +done& echo $! > ${PID_FILE}) | tee -a ${TMP_BOOT_LOG} & -pid=$(cat $pid_file) -while kill -0 $pid 2>/dev/null; do +pid=$(cat ${PID_FILE}) +while kill -0 ${pid} 2>/dev/null; do sleep 1 done -test -d $(dirname $boot_log) && cat $tmp_boot_log >> $boot_log +test -d $(dirname ${BOOT_LOG}) && cat ${TMP_BOOT_LOG} >> ${BOOT_LOG} diff --git a/board/common/overlay/etc/os.conf b/board/common/overlay/etc/os.conf index 56f584fbd9..6c759e1e75 100644 --- a/board/common/overlay/etc/os.conf +++ b/board/common/overlay/etc/os.conf @@ -1,12 +1,12 @@ -os_debug="false" -os_prereleases="false" -os_tty_login="tty1" -os_eth="eth0" -os_wlan="wlan0" -os_ppp="ppp0" -os_networkless="false" -os_country="GB" -os_firmware_method="github" -os_firmware_repo="ccrisan/motioneyeos" -os_firmware_username="" -os_firmware_password="" +OS_DEBUG="false" +OS_PRERELEASES="false" +OS_TTY_LOGIN="tty1" +OS_ETH="eth0" +OS_WLAN="wlan0" +OS_PPP="ppp0" +OS_NETWORKLESS="false" +OS_COUNTRY="GB" +OS_FIRMWARE_METHOD="github" +OS_FIRMWARE_REPO="ccrisan/motioneyeos" +OS_FIRMWARE_USERNAME="" +OS_FIRMWARE_PASSWORD="" diff --git a/board/common/overlay/etc/ppp/ip-up b/board/common/overlay/etc/ppp/ip-up index b23b7fb054..904c3307ac 100755 --- a/board/common/overlay/etc/ppp/ip-up +++ b/board/common/overlay/etc/ppp/ip-up @@ -2,11 +2,11 @@ resolv_conf=/etc/resolv.conf -echo -n > $resolv_conf -if [ -n "$DNS1" ]; then - echo "nameserver $DNS1" >> $resolv_conf +echo -n > ${resolv_conf} +if [ -n "${DNS1}" ]; then + echo "nameserver ${DNS1}" >> ${resolv_conf} fi -if [ -n "$DNS2" ]; then - echo "nameserver $DNS2" >> $resolv_conf +if [ -n "${DNS2}" ]; then + echo "nameserver ${DNS2}" >> ${resolv_conf} fi diff --git a/board/common/overlay/etc/version b/board/common/overlay/etc/version index bb599ad14e..140cdc1f3f 100644 --- a/board/common/overlay/etc/version +++ b/board/common/overlay/etc/version @@ -1,4 +1,4 @@ -os_name="motionEyeOS" -os_short_name="motioneyeos" -os_prefix="meye" -os_version="unknown" +OS_NAME="motionEyeOS" +OS_SHORT_NAME="motioneyeos" +OS_PREFIX="meye" +OS_VERSION="unknown" diff --git a/board/common/overlay/etc/watch.conf b/board/common/overlay/etc/watch.conf index 94fc0a6634..7453f09d8c 100644 --- a/board/common/overlay/etc/watch.conf +++ b/board/common/overlay/etc/watch.conf @@ -1,14 +1,14 @@ -link_watch="true" -link_watch_timeout=20 +LINK_WATCH="true" +LINK_WATCH_TIMEOUT=20 -ip_watch="true" -ip_watch_timeout=40 +IP_WATCH="true" +IP_WATCH_TIMEOUT=40 -#netwatch_host=www.google.com -#netwatch_port=80 -netwatch_retries=3 -netwatch_timeout=5 -netwatch_interval=20 +#NETWATCH_HOST=www.google.com +#NETWATCH_PORT=80 +NETWATCH_RETRIES=3 +NETWATCH_TIMEOUT=5 +NETWATCH_INTERVAL=20 -#meyewatch_disable="true" -meyewatch_timeout=120 +#MEYEWATCH_DISABLE="true" +MEYEWATCH_TIMEOUT=120 diff --git a/board/common/overlay/sbin/fwupdate b/board/common/overlay/sbin/fwupdate index ea3bfeb0f6..4e66f01bb5 100755 --- a/board/common/overlay/sbin/fwupdate +++ b/board/common/overlay/sbin/fwupdate @@ -35,7 +35,6 @@ fi SYS_VERSION_FILE=/etc/version SYS_BOARD_FILE=/etc/board -OS_CONF=/data/etc/os.conf MIN_FREE_DISK=$((500*1024)) # 500 MB VER_FILE=version @@ -65,12 +64,12 @@ DD_PID_FILE=dd.pid BOOT_DEV=$(mount | grep /boot | cut -d ' ' -f 1) ROOT_DEV=${BOOT_DEV:0:-1}2 DISK_DEV=$(mount | grep /boot | cut -d ' ' -f 1) -if [[ "$ROOT_DEV" =~ ^([/a-z0-9]+)(p[0-9])$ ]]; then # e.g. /dev/mmcblk0p2 +if [[ "${ROOT_DEV}" =~ ^([/a-z0-9]+)(p[0-9])$ ]]; then # e.g. /dev/mmcblk0p2 DISK_DEV=${BASH_REMATCH[1]} -elif [[ "$ROOT_DEV" =~ ^([/a-z0-9]+)([0-9])$ ]]; then # e.g. /dev/sdc2 +elif [[ "${ROOT_DEV}" =~ ^([/a-z0-9]+)([0-9])$ ]]; then # e.g. /dev/sdc2 DISK_DEV=${BASH_REMATCH[1]} else - echo "cannot identify disk device from $ROOT_DEV" 1>&2 + echo "cannot identify disk device from ${ROOT_DEV}" 1>&2 exit 1 fi @@ -78,28 +77,29 @@ fi #### versions #### function show_versions() { - source $OS_CONF - board=$(cat $SYS_BOARD_FILE) + source /etc/init.d/os_conf # we need this for the OS_ vars + + board=$(cat ${SYS_BOARD_FILE}) show_json=$1 # the /usr/libexec/list-versions-* helpers return a table with the following format: # |||| - versions=$(FW_USERNAME=$os_firmware_username FW_PASSWORD=$os_firmware_password \ - /usr/libexec/list-versions-$os_firmware_method $os_firmware_repo) + versions=$(FW_USERNAME=${OS_FIRMWARE_USERNAME} FW_PASSWORD=${OS_FIRMWARE_PASSWORD} \ + /usr/libexec/list-versions-${OS_FIRMWARE_METHOD} ${OS_FIRMWARE_REPO}) for version in ${versions[@]}; do - OIFS=$IFS + OIFS=${IFS} IFS="|" - varr=($version) - IFS=$OIFS - if [ "$os_prereleases" == "false" ] && [ "${varr[1]}" == "true" ]; then + varr=(${version}) + IFS=${OIFS} + if [ "${OS_PRERELEASES}" == "false" ] && [ "${varr[1]}" == "true" ]; then continue # skip prereleases fi - if [ "$board" != "${varr[2]}" ]; then + if [ "${board}" != "${varr[2]}" ]; then continue # skip other boards fi - if [ "$show_json" == "true" ]; then + if [ "${show_json}" == "true" ]; then echo "{\"version\": \"${varr[0]}\"," \ "\"url\": \"${varr[3]}\"," \ "\"board\": \"${varr[2]}\"," \ @@ -112,9 +112,9 @@ function show_versions() { } function show_current() { - source $SYS_VERSION_FILE + source ${SYS_VERSION_FILE} - echo $os_version + echo ${OS_VERSION} } @@ -123,8 +123,8 @@ function show_current() { function do_download() { echo "downloading..." - rm -rf $FW_DIR/* - mkdir -p $FW_DIR + rm -rf ${FW_DIR}/* + mkdir -p ${FW_DIR} # Look for local file first if [ -f "$1" ]; then @@ -132,74 +132,75 @@ function do_download() { FNAME=`basename $1` FILEEXT=${FNAME##*.} DST_FNAME="" - if [ "$FILEEXT" == "xz" ]; then - DST_FNAME="$FW_DIR/$FW_FILE_XZ" - elif [ "$FILEEXT" == "gz" ]; then - DST_FNAME="$FW_DIR/$FW_FILE_GZ" + if [ "${FILEEXT}" == "xz" ]; then + DST_FNAME="${FW_DIR}/${FW_FILE_XZ}" + elif [ "${FILEEXT}" == "gz" ]; then + DST_FNAME="${FW_DIR}/${FW_FILE_GZ}" fi - if [ -n "$DST_FNAME" ]; then - cp -f $1 $DST_FNAME - echo $version > $FW_DIR/$VER_FILE + if [ -n "${DST_FNAME}" ]; then + cp -f $1 ${DST_FNAME} + echo ${version} > ${FW_DIR}/${VER_FILE} return fi fi - source $OS_CONF - board=$(cat $SYS_BOARD_FILE) + source /etc/init.d/os_conf # we need this for the OS_ vars + + board=$(cat ${SYS_BOARD_FILE}) url=$1 version=$1 - if ! [[ "$url" == http* ]]; then # a version was given - url=$(show_versions true | jq -r ". | select(.version==\"$version\") | .url") + if ! [[ "${url}" == http* ]]; then # a version was given + url=$(show_versions true | jq -r ". | select(.version==\"${version}\") | .url") else version="custom" fi - if [ -z "$url" ]; then + if [ -z "${url}" ]; then echo "no such version" 1>&2 exit 1 fi free_disk=$(df /data | tail -n 1 | tr -s ' ' | cut -d ' ' -f 4) - if [ "$free_disk" -lt $MIN_FREE_DISK ]; then + if [ "${free_disk}" -lt ${MIN_FREE_DISK} ]; then echo "not enough disk space" 1>&2 exit 1 fi - outfile=$FW_DIR/$FW_FILE_GZ - format=$(echo $url | sed -rn 's/.*\.img\.([a-z]+)$/\1/ p') - if [ "$format" == "xz" ]; then - outfile=$FW_DIR/$FW_FILE_XZ + outfile=${FW_DIR}/${FW_FILE_GZ} + format=$(echo ${url} | sed -rn 's/.*\.img\.([a-z]+)$/\1/ p') + if [ "${format}" == "xz" ]; then + outfile=${FW_DIR}/${FW_FILE_XZ} fi - echo $version > $FW_DIR/$VER_FILE + echo ${version} > ${FW_DIR}/${VER_FILE} curl_opts="-S -f -L" - if [ -n "$os_firmware_username" ]; then - curl_opts+=" --user $os_firmware_username:$os_firmware_password" + if [ -n "${OS_FIRMWARE_USERNAME}" ]; then + curl_opts+=" --user ${OS_FIRMWARE_USERNAME}:${OS_FIRMWARE_PASSWORD}" fi - curl $curl_opts -o $outfile "$url" &> $FW_DIR/$CURL_LOG_FILE & + curl ${curl_opts} -o ${outfile} "${url}" &> ${FW_DIR}/${CURL_LOG_FILE} & pid=$! - echo $pid > $FW_DIR/$CURL_PID_FILE - wait $pid + echo ${pid} > ${FW_DIR}/${CURL_PID_FILE} + wait ${pid} if [ "$?" != 0 ]; then - cat $FW_DIR/$CURL_LOG_FILE + cat ${FW_DIR}/${CURL_LOG_FILE} exit 1 fi } function download_status() { - if [ -f $FW_DIR/$CURL_PID_FILE ]; then - pid=$(cat $FW_DIR/$CURL_PID_FILE) - if kill -0 $pid &>/dev/null; then + if [ -f ${FW_DIR}/${CURL_PID_FILE} ]; then + pid=$(cat ${FW_DIR}/${CURL_PID_FILE}) + if kill -0 ${pid} &>/dev/null; then echo "running" return fi fi - if [ -f $FW_DIR/$FW_FILE_GZ -o -f $FW_DIR/$FW_FILE_XZ ]; then + if [ -f ${FW_DIR}/${FW_FILE_GZ} -o -f ${FW_DIR}/${FW_FILE_XZ} ]; then echo "done" fi } @@ -210,69 +211,69 @@ function download_status() { function do_extract() { echo "extracting..." - rm -f $FW_DIR/$FW_FILE_EXTR - rm -f $FW_DIR/$BOOT_READY_FILE + rm -f ${FW_DIR}/${FW_FILE_EXTR} + rm -f ${FW_DIR}/${BOOT_READY_FILE} - if ! [ -f $FW_DIR/$FW_FILE_GZ -o -f $FW_DIR/$FW_FILE_XZ ]; then + if ! [ -f ${FW_DIR}/${FW_FILE_GZ} -o -f ${FW_DIR}/${FW_FILE_XZ} ]; then echo "firmware file not downloaded" 1>&2 exit 1 fi format="gz" - if [ -f $FW_DIR/$FW_FILE_XZ ]; then + if [ -f ${FW_DIR}/${FW_FILE_XZ} ]; then format="xz" fi - rm -f $FW_DIR/$FW_FILE_EXTR - rm -f $FW_DIR/$GUNZIP_PID_FILE $FW_DIR/$XZCAT_PID_FILE + rm -f ${FW_DIR}/${FW_FILE_EXTR} + rm -f ${FW_DIR}/${GUNZIP_PID_FILE} ${FW_DIR}/${XZCAT_PID_FILE} - if [ "$format" == "xz" ]; then - DECOMPRESS_LOG_FILE=$FW_DIR/$XZCAT_LOG_FILE - DECOMPRESS_PID_FILE=$FW_DIR/$XZCAT_PID_FILE - xzcat $FW_DIR/$FW_FILE_XZ > $FW_DIR/$FW_FILE_EXTR 2>$FW_DIR/$XZCAT_LOG_FILE & - elif [ "$format" == "gz" ]; then - DECOMPRESS_LOG_FILE=$FW_DIR/$GUNZIP_LOG_FILE - DECOMPRESS_PID_FILE=$FW_DIR/$GUNZIP_PID_FILE - gunzip -k -c $FW_DIR/$FW_FILE_GZ > $FW_DIR/$FW_FILE_EXTR 2>$FW_DIR/$GUNZIP_LOG_FILE & + if [ "${format}" == "xz" ]; then + DECOMPRESS_LOG_FILE=${FW_DIR}/${XZCAT_LOG_FILE} + DECOMPRESS_PID_FILE=${FW_DIR}/${XZCAT_PID_FILE} + xzcat ${FW_DIR}/${FW_FILE_XZ} > ${FW_DIR}/${FW_FILE_EXTR} 2>${FW_DIR}/${XZCAT_LOG_FILE} & + elif [ "${format}" == "gz" ]; then + DECOMPRESS_LOG_FILE=${FW_DIR}/${GUNZIP_LOG_FILE} + DECOMPRESS_PID_FILE=${FW_DIR}/${GUNZIP_PID_FILE} + gunzip -k -c ${FW_DIR}/${FW_FILE_GZ} > ${FW_DIR}/${FW_FILE_EXTR} 2>${FW_DIR}/${GUNZIP_LOG_FILE} & else - echo "firmware compression format $format not supported" 1>&2 + echo "firmware compression format ${format} not supported" 1>&2 exit 1 fi pid=$! - echo $pid > $DECOMPRESS_PID_FILE - wait $pid + echo ${pid} > ${DECOMPRESS_PID_FILE} + wait ${pid} if [ "$?" != 0 ]; then - cat $DECOMPRESS_LOG_FILE + cat ${DECOMPRESS_LOG_FILE} exit 1 fi # verify available partition space - fw_boot_info=$(fdisk --bytes -l -o device,start,end,size $FW_DIR/$FW_FILE_EXTR | grep "${FW_FILE_EXTR}1") - fw_boot_info=($fw_boot_info) + fw_boot_info=$(fdisk --bytes -l -o device,start,end,size ${FW_DIR}/${FW_FILE_EXTR} | grep "${FW_FILE_EXTR}1") + fw_boot_info=(${fw_boot_info}) fw_boot_size=${fw_boot_info[3]} - fw_root_info=$(fdisk --bytes -l -o device,start,end,size $FW_DIR/$FW_FILE_EXTR | grep "${FW_FILE_EXTR}2") - fw_root_info=($fw_root_info) + fw_root_info=$(fdisk --bytes -l -o device,start,end,size ${FW_DIR}/${FW_FILE_EXTR} | grep "${FW_FILE_EXTR}2") + fw_root_info=(${fw_root_info}) fw_root_size=${fw_root_info[3]} - disk_boot_info=$(fdisk --bytes -l -o device,start,end,size $DISK_DEV | grep $BOOT_DEV) - disk_boot_info=($disk_boot_info) + disk_boot_info=$(fdisk --bytes -l -o device,start,end,size ${DISK_DEV} | grep ${BOOT_DEV}) + disk_boot_info=(${disk_boot_info}) disk_boot_size=${disk_boot_info[3]} - disk_root_info=$(fdisk --bytes -l -o device,start,end,size $DISK_DEV | grep $ROOT_DEV) - disk_root_info=($disk_root_info) + disk_root_info=$(fdisk --bytes -l -o device,start,end,size ${DISK_DEV} | grep ${ROOT_DEV}) + disk_root_info=(${disk_root_info}) disk_root_size=${disk_root_info[3]} - if [[ $disk_boot_size -lt $fw_boot_size ]]; then - echo "not enough space on boot partition ($fw_boot_size needed, $disk_boot_size available)" 1>&2 + if [[ ${disk_boot_size} -lt ${fw_boot_size} ]]; then + echo "not enough space on boot partition (${fw_boot_size} needed, ${disk_boot_size} available)" 1>&2 exit 1 fi - if [[ $disk_root_size -lt $fw_root_size ]]; then - echo "not enough space on root partition ($fw_root_size needed, $disk_root_size available)" 1>&2 + if [[ ${disk_root_size} -lt ${fw_root_size} ]]; then + echo "not enough space on root partition (${fw_root_size} needed, ${disk_root_size} available)" 1>&2 exit 1 fi @@ -280,21 +281,21 @@ function do_extract() { } function extract_status() { - if [ -f $FW_DIR/$XZCAT_PID_FILE ]; then - pid=$(cat $FW_DIR/$XZCAT_PID_FILE) - if kill -0 $pid &>/dev/null; then + if [ -f ${FW_DIR}/${XZCAT_PID_FILE} ]; then + pid=$(cat ${FW_DIR}/${XZCAT_PID_FILE}) + if kill -0 ${pid} &>/dev/null; then echo "running" return fi - elif [ -f $FW_DIR/$GUNZIP_PID_FILE ]; then - pid=$(cat $FW_DIR/$GUNZIP_PID_FILE) - if kill -0 $pid &>/dev/null; then + elif [ -f ${FW_DIR}/${GUNZIP_PID_FILE} ]; then + pid=$(cat ${FW_DIR}/${GUNZIP_PID_FILE}) + if kill -0 ${pid} &>/dev/null; then echo "running" return fi fi - if [ -f $FW_DIR/$FW_FILE_EXTR ]; then + if [ -f ${FW_DIR}/${FW_FILE_EXTR} ]; then echo "done" fi } @@ -305,12 +306,12 @@ function extract_status() { function flash_boot() { echo "flashing boot..." - rm -f $FW_DIR/$BOOT_READY_FILE + rm -f ${FW_DIR}/${BOOT_READY_FILE} set +e - board=$(cat $SYS_BOARD_FILE) + board=$(cat ${SYS_BOARD_FILE}) - cp -r /boot $FW_DIR/old_boot + cp -r /boot ${FW_DIR}/old_boot umount /boot trap flash_cleanup EXIT @@ -318,22 +319,22 @@ function flash_boot() { mv /sbin/reboot /sbin/reboot.bak ln -s /bin/true /sbin/reboot - boot_info=$(fdisk --bytes -l -o device,start,end,size $FW_DIR/$FW_FILE_EXTR | grep "${FW_FILE_EXTR}1") - boot_info=($boot_info) + boot_info=$(fdisk --bytes -l -o device,start,end,size ${FW_DIR}/${FW_FILE_EXTR} | grep "${FW_FILE_EXTR}1") + boot_info=(${boot_info}) boot_start=$((${boot_info[1]} / 2048)) # in MB boot_size=$((${boot_info[3]} / 1048576)) # in MB - root_info=$(fdisk --bytes -l -o device,start,end,size $FW_DIR/$FW_FILE_EXTR | grep "${FW_FILE_EXTR}2") - root_info=($root_info) + root_info=$(fdisk --bytes -l -o device,start,end,size ${FW_DIR}/${FW_FILE_EXTR} | grep "${FW_FILE_EXTR}2") + root_info=(${root_info}) root_start=$((${root_info[1]} / 2048)) # in MB root_size=$((${root_info[3]} / 1048576)) # in MB - echo $root_start $root_size > $FW_DIR/$ROOT_INFO_FILE + echo ${root_start} ${root_size} > ${FW_DIR}/${ROOT_INFO_FILE} - dd if=$FW_DIR/$FW_FILE_EXTR skip=$boot_start of=$BOOT_DEV bs=1048576 count=$boot_size &>$FW_DIR/$DD_LOG_FILE & + dd if=${FW_DIR}/${FW_FILE_EXTR} skip=${boot_start} of=${BOOT_DEV} bs=1048576 count=${boot_size} &>${FW_DIR}/${DD_LOG_FILE} & pid=$! - echo $pid > $FW_DIR/$DD_PID_FILE - wait $pid + echo ${pid} > ${FW_DIR}/${DD_PID_FILE} + wait ${pid} mount -T /etc/fstab.disk -o rw /boot @@ -341,21 +342,21 @@ function flash_boot() { # and should restore any /boot configuration that needs to be preserved across updates # from the old boot dir to the current (new) /boot dir if [ -x /usr/libexec/fw-restore-boot-cfg ]; then - /usr/libexec/fw-restore-boot-cfg $FW_DIR/old_boot 2>/dev/null || true + /usr/libexec/fw-restore-boot-cfg ${FW_DIR}/old_boot 2>/dev/null || true fi - touch $FW_DIR/$BOOT_READY_FILE + touch ${FW_DIR}/${BOOT_READY_FILE} } function flash_boot_status() { - if [ -f $FW_DIR/$DD_PID_FILE ]; then - pid=$(cat $FW_DIR/$DD_PID_FILE) - if kill -0 $pid &>/dev/null; then + if [ -f ${FW_DIR}/${DD_PID_FILE} ]; then + pid=$(cat ${FW_DIR}/${DD_PID_FILE}) + if kill -0 ${pid} &>/dev/null; then echo "running" return fi fi - if [ -f $FW_DIR/$BOOT_READY_FILE ]; then + if [ -f ${FW_DIR}/${BOOT_READY_FILE} ]; then echo "done" fi } @@ -375,7 +376,7 @@ function flash_cleanup() { function flash_reboot() { echo "preparing for reboot..." - board=$(cat $SYS_BOARD_FILE) + board=$(cat ${SYS_BOARD_FILE}) # the /usr/libexec/fw-prepare-boot script should be present and should # make the necessary changes to the current boot configuration so that @@ -398,28 +399,28 @@ function flash_reboot() { function show_status() { status=$(flash_boot_status) - if [ "$status" == "running" ]; then + if [ "${status}" == "running" ]; then echo "flashing boot $(new_version)" return - elif [ "$status" == "done" ]; then + elif [ "${status}" == "done" ]; then echo "boot ready $(new_version)" return fi status=$(extract_status) - if [ "$status" == "running" ]; then + if [ "${status}" == "running" ]; then echo "extracting $(new_version)" return - elif [ "$status" == "done" ]; then + elif [ "${status}" == "done" ]; then echo "extracted $(new_version)" return fi status=$(download_status) - if [ "$status" == "running" ]; then + if [ "${status}" == "running" ]; then echo "downloading $(new_version)" return - elif [ -n "$status" ]; then + elif [ -n "${status}" ]; then echo "downloaded $(new_version)" return fi @@ -449,7 +450,7 @@ function do_upgrade() { function new_version() { - cat $FW_DIR/$VER_FILE + cat ${FW_DIR}/${VER_FILE} } @@ -457,7 +458,7 @@ case "$1" in versions) show_json="false" test "$2" == "-j" && show_json="true" - show_versions $show_json + show_versions ${show_json} ;; current) diff --git a/board/common/overlay/usr/bin/gpio.sh b/board/common/overlay/usr/bin/gpio.sh index c291e7c6c8..aaa62843de 100755 --- a/board/common/overlay/usr/bin/gpio.sh +++ b/board/common/overlay/usr/bin/gpio.sh @@ -7,14 +7,14 @@ usage() { exit 1 } -test -z "$GPIO" && usage -test -e /sys/class/gpio/gpio$GPIO || echo $GPIO > /sys/class/gpio/export +test -z "${GPIO}" && usage +test -e /sys/class/gpio/gpio${GPIO} || echo ${GPIO} > /sys/class/gpio/export if [ -n "$2" ]; then - echo out > /sys/class/gpio/gpio$GPIO/direction - echo $2 > /sys/class/gpio/gpio$GPIO/value + echo out > /sys/class/gpio/gpio${GPIO}/direction + echo $2 > /sys/class/gpio/gpio${GPIO}/value else - echo in > /sys/class/gpio/gpio$GPIO/direction - cat /sys/class/gpio/gpio$GPIO/value + echo in > /sys/class/gpio/gpio${GPIO}/direction + cat /sys/class/gpio/gpio${GPIO}/value fi diff --git a/board/common/overlay/usr/libexec/list-versions-bitbucket b/board/common/overlay/usr/libexec/list-versions-bitbucket index f11b796185..6f1d7fb9f3 100755 --- a/board/common/overlay/usr/libexec/list-versions-bitbucket +++ b/board/common/overlay/usr/libexec/list-versions-bitbucket @@ -7,22 +7,22 @@ fi function check_prerelease() { read line - if [[ "$line" =~ ^[0-9._]+\| ]]; then - echo "$line" + if [[ "${line}" =~ ^[0-9._]+\| ]]; then + echo "${line}" else - echo "$line" | sed 's/|false|/|true|/' + echo "${line}" | sed 's/|false|/|true|/' fi } extensions=".img.gz .img.xz .img" opts="-s -S -f" -test -n "$FW_USERNAME" && opts+=" --user $FW_USERNAME:$FW_PASSWORD" +test -n "${FW_USERNAME}" && opts+=" --user ${FW_USERNAME}:${FW_PASSWORD}" url="https://api.bitbucket.org/2.0/repositories/$1/downloads?pagelen=100&_=$(date +%s)" -rtrimstr=$(for e in $extensions; do echo -n " | rtrimstr(\"$e\")"; done) +rtrimstr=$(for e in ${extensions}; do echo -n " | rtrimstr(\"${e}\")"; done) jq_expr=".values[] | [{a: .name | split(\"-\"), url: .links.self.href, date: .created_on | split(\"T\")[0]}] | - map((.a[2] $rtrimstr), \"false\", .a[1], .url, .date) | join(\"|\")" + map((.a[2] ${rtrimstr}), \"false\", .a[1], .url, .date) | join(\"|\")" -curl $opts $url | jq --raw-output "$jq_expr" | while read line; do echo "$line" | check_prerelease; done +curl ${opts} ${url} | jq --raw-output "${jq_expr}" | while read line; do echo "${line}" | check_prerelease; done exit ${PIPESTATUS[0]} diff --git a/board/common/overlay/usr/libexec/list-versions-github b/board/common/overlay/usr/libexec/list-versions-github index f5b1d64197..8ac8b0e356 100755 --- a/board/common/overlay/usr/libexec/list-versions-github +++ b/board/common/overlay/usr/libexec/list-versions-github @@ -6,13 +6,13 @@ if [ -z "$1" ]; then fi opts="-s -S -f" -test -n "$FW_USERNAME" && opts+=" --user $FW_USERNAME:$FW_PASSWORD" +test -n "${FW_USERNAME}" && opts+=" --user ${FW_USERNAME}:${FW_PASSWORD}" url=https://api.github.com/repos/$1/releases jq_expr='.[] | {version: .name, prerelease: .prerelease | tostring} + (.assets[] | {name: .name | split("-")[1], url: .browser_download_url}) + ({date: .created_at | split("T")[0]}) | flatten | join("|")' -curl $opts $url | jq --raw-output "$jq_expr" +curl ${opts} ${url} | jq --raw-output "${jq_expr}" exit ${PIPESTATUS[0]} diff --git a/board/common/overlay/usr/libexec/meyepasswd b/board/common/overlay/usr/libexec/meyepasswd index b59b1314ed..e93f690cd5 100755 --- a/board/common/overlay/usr/libexec/meyepasswd +++ b/board/common/overlay/usr/libexec/meyepasswd @@ -1,5 +1,5 @@ #!/bin/bash -test "$MEYE_USERNAME" == "admin" || exit 0 -PASSWORD="$MEYE_PASSWORD" /usr/sbin/adminpasswd +test "${MEYE_USERNAME}" == "admin" || exit 0 +PASSWORD="${MEYE_PASSWORD}" /usr/sbin/adminpasswd diff --git a/board/common/overlay/usr/sbin/adminpasswd b/board/common/overlay/usr/sbin/adminpasswd index 8779fead1d..a5c2cbccfc 100755 --- a/board/common/overlay/usr/sbin/adminpasswd +++ b/board/common/overlay/usr/sbin/adminpasswd @@ -23,8 +23,8 @@ rm -f /data/etc/shadow- # set root and admin passwords (admin is just an alias for root) -echo -en "$PASSWORD\n$PASSWORD\n" | passwd -a md5 &>/dev/null # root -echo -en "$PASSWORD\n$PASSWORD\n" | passwd -a md5 admin &>/dev/null # admin +echo -en "${PASSWORD}\n${PASSWORD}\n" | passwd -a md5 &>/dev/null # root +echo -en "${PASSWORD}\n${PASSWORD}\n" | passwd -a md5 admin &>/dev/null # admin sed -r -i 's/root:([^:]+):[[:digit:]]+:/root:\1::/' /data/etc/shadow # removes pwd expiration sed -r -i 's/admin:([^:]+):[[:digit:]]+:/admin:\1::/' /data/etc/shadow # removes pwd expiration @@ -32,7 +32,7 @@ sed -r -i 's/admin:([^:]+):[[:digit:]]+:/admin:\1::/' /data/etc/shadow # removes # call admin password hooks in /etc/adminpasswd.d if [ -d /etc/adminpasswd.d ]; then for script in /etc/adminpasswd.d/*; do - test -x $script && $script + test -x ${script} && ${script} done fi diff --git a/board/common/postscript.sh b/board/common/postscript.sh index f315019cdd..10c18e9194 100755 --- a/board/common/postscript.sh +++ b/board/common/postscript.sh @@ -3,50 +3,52 @@ set -e export TARGET="$1" -export BOARD=$(basename $(dirname $TARGET)) +export BOARD=$(basename $(dirname ${TARGET})) export COMMON_DIR=$(dirname $0) -export BOARD_DIR=$COMMON_DIR/../$BOARD -export BOOT_DIR=$TARGET/../images/boot/ -export IMG_DIR=$TARGET/../images +export BOARD_DIR=${COMMON_DIR}/../${BOARD} +export BOOT_DIR=${TARGET}/../images/boot/ +export IMG_DIR=${TARGET}/../images -mkdir -p $BOOT_DIR +mkdir -p ${BOOT_DIR} -if [ -x $BOARD_DIR/postscript.sh ]; then - $BOARD_DIR/postscript.sh +if [ -x ${BOARD_DIR}/postscript.sh ]; then + ${BOARD_DIR}/postscript.sh fi # cleanups -$COMMON_DIR/cleanups.sh -if [ -x $BOARD_DIR/cleanups.sh ]; then - $BOARD_DIR/cleanups.sh +${COMMON_DIR}/cleanups.sh +if [ -x ${BOARD_DIR}/cleanups.sh ]; then + ${BOARD_DIR}/cleanups.sh fi # transform /var contents as needed -rm -rf $TARGET/var/cache -rm -rf $TARGET/var/lib -rm -rf $TARGET/var/lock -rm -rf $TARGET/var/log -rm -rf $TARGET/var/run -rm -rf $TARGET/var/spool -rm -rf $TARGET/var/tmp +rm -rf ${TARGET}/var/cache +rm -rf ${TARGET}/var/lib +rm -rf ${TARGET}/var/lock +rm -rf ${TARGET}/var/log +rm -rf ${TARGET}/var/run +rm -rf ${TARGET}/var/spool +rm -rf ${TARGET}/var/tmp -ln -s /tmp $TARGET/var/cache -ln -s /data/varlib $TARGET/var/lib -ln -s /tmp $TARGET/var/lock -ln -s /data/log $TARGET/var/log -ln -s /tmp $TARGET/var/run -ln -s /tmp $TARGET/var/spool -ln -s /tmp $TARGET/var/tmp -ln -s /tmp $TARGET/run +ln -s /tmp ${TARGET}/var/cache +ln -s /data/varlib ${TARGET}/var/lib +ln -s /tmp ${TARGET}/var/lock +ln -s /data/log ${TARGET}/var/log +ln -s /tmp ${TARGET}/var/run +ln -s /tmp ${TARGET}/var/spool +ln -s /tmp ${TARGET}/var/tmp +ln -s /tmp ${TARGET}/run # board-specific os.conf -if [ -r $BOARD_DIR/os.conf ]; then - for line in $(cat $BOARD_DIR/os.conf); do - key=$(echo $line | cut -d '=' -f 1) - sed -i -r "s/$key=.*/$line/" /$TARGET/etc/os.conf +if [ -r ${BOARD_DIR}/os.conf ]; then + for line in $(cat ${BOARD_DIR}/os.conf); do + key=$(echo ${line} | cut -d '=' -f 1) + sed -i -r "s/${key}=.*/${line}/" /${TARGET}/etc/os.conf done fi # add admin user alias -echo "admin:x:0:0:root:/root:/bin/sh" >> $TARGET/etc/passwd +if ! grep -E '^admin:' ${TARGET}/etc/passwd &> /dev/null; then + echo "admin:x:0:0:root:/root:/bin/sh" >> ${TARGET}/etc/passwd +fi diff --git a/board/nanopineo/cpinitramfs.sh b/board/nanopineo/cpinitramfs.sh index 7c5af3f0e4..6b79ac324c 100755 --- a/board/nanopineo/cpinitramfs.sh +++ b/board/nanopineo/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.uboot $BOARD_DIR/uInitrd +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd diff --git a/board/nanopineo/mkimage.sh b/board/nanopineo/mkimage.sh index ad35c4810e..60c5170a55 100755 --- a/board/nanopineo/mkimage.sh +++ b/board/nanopineo/mkimage.sh @@ -1,13 +1,13 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ -export UBOOT_BIN=$BOARD_DIR/u-boot-with-spl.bin +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${BOARD_DIR}/u-boot-with-spl.bin export UBOOT_SEEK=16 export BOOT_START=20 -source $COMMON_DIR/mkimage.sh +source ${COMMON_DIR}/mkimage.sh diff --git a/board/nanopineo/os.conf b/board/nanopineo/os.conf index dc77b07e6d..bbfeece44c 100644 --- a/board/nanopineo/os.conf +++ b/board/nanopineo/os.conf @@ -1,2 +1,2 @@ -os_tty_login="ttyS0" +OS_TTY_LOGIN="ttyS0" diff --git a/board/nanopineo/postscript.sh b/board/nanopineo/postscript.sh index 48f12d845a..913b6e0760 100755 --- a/board/nanopineo/postscript.sh +++ b/board/nanopineo/postscript.sh @@ -2,10 +2,10 @@ set -e -$HOST_DIR/bin/mkimage -C none -A arm -T script -d $BOARD_DIR/boot.cmd $BOOT_DIR/boot.scr -$HOST_DIR/bin/mkimage -C none -A arm -T script -d $BOARD_DIR/boot-fwupdater.cmd $BOOT_DIR/boot-fwupdater.scr +${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot.cmd ${BOOT_DIR}/boot.scr +${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot-fwupdater.cmd ${BOOT_DIR}/boot-fwupdater.scr -cp $IMG_DIR/zImage $BOOT_DIR -cp $BOARD_DIR/sun8i-h3-nanopi-neo.dtb $BOOT_DIR -cp $BOARD_DIR/rootfs.cpio.uboot $BOOT_DIR +cp ${IMG_DIR}/zImage ${BOOT_DIR} +cp ${BOARD_DIR}/sun8i-h3-nanopi-neo.dtb ${BOOT_DIR} +cp ${BOARD_DIR}/rootfs.cpio.uboot ${BOOT_DIR} diff --git a/board/nanopineo2/cpinitramfs.sh b/board/nanopineo2/cpinitramfs.sh index 7c5af3f0e4..6b79ac324c 100755 --- a/board/nanopineo2/cpinitramfs.sh +++ b/board/nanopineo2/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.uboot $BOARD_DIR/uInitrd +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd diff --git a/board/nanopineo2/mkimage.sh b/board/nanopineo2/mkimage.sh index ad35c4810e..60c5170a55 100755 --- a/board/nanopineo2/mkimage.sh +++ b/board/nanopineo2/mkimage.sh @@ -1,13 +1,13 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ -export UBOOT_BIN=$BOARD_DIR/u-boot-with-spl.bin +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${BOARD_DIR}/u-boot-with-spl.bin export UBOOT_SEEK=16 export BOOT_START=20 -source $COMMON_DIR/mkimage.sh +source ${COMMON_DIR}/mkimage.sh diff --git a/board/nanopineo2/os.conf b/board/nanopineo2/os.conf index dc77b07e6d..bbfeece44c 100644 --- a/board/nanopineo2/os.conf +++ b/board/nanopineo2/os.conf @@ -1,2 +1,2 @@ -os_tty_login="ttyS0" +OS_TTY_LOGIN="ttyS0" diff --git a/board/nanopineo2/postscript.sh b/board/nanopineo2/postscript.sh index c86407b13e..91996d8ac1 100755 --- a/board/nanopineo2/postscript.sh +++ b/board/nanopineo2/postscript.sh @@ -2,10 +2,10 @@ set -e -$HOST_DIR/bin/mkimage -C none -A arm -T script -d $BOARD_DIR/boot.cmd $BOOT_DIR/boot.scr -$HOST_DIR/bin/mkimage -C none -A arm -T script -d $BOARD_DIR/boot-fwupdater.cmd $BOOT_DIR/boot-fwupdater.scr +${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot.cmd ${BOOT_DIR}/boot.scr +${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot-fwupdater.cmd ${BOOT_DIR}/boot-fwupdater.scr -cp $IMG_DIR/Image $BOOT_DIR -cp $BOARD_DIR/sun50i-h5-nanopi-neo2.dtb $BOOT_DIR -cp $BOARD_DIR/rootfs.cpio.uboot $BOOT_DIR +cp ${IMG_DIR}/Image ${BOOT_DIR} +cp ${BOARD_DIR}/sun50i-h5-nanopi-neo2.dtb ${BOOT_DIR} +cp ${BOARD_DIR}/rootfs.cpio.uboot ${BOOT_DIR} diff --git a/board/odroidc1/cpinitramfs.sh b/board/odroidc1/cpinitramfs.sh index 7c5af3f0e4..6b79ac324c 100755 --- a/board/odroidc1/cpinitramfs.sh +++ b/board/odroidc1/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.uboot $BOARD_DIR/uInitrd +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd diff --git a/board/odroidc1/mkimage.sh b/board/odroidc1/mkimage.sh index 3c8d0af446..df30d7ab96 100755 --- a/board/odroidc1/mkimage.sh +++ b/board/odroidc1/mkimage.sh @@ -1,16 +1,16 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ -export UBOOT_BIN=$IMG_DIR/u-boot.bin +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${IMG_DIR}/u-boot.bin export UBOOT_SEEK=64 -BL1=$IMG_DIR/bl1.bin.hardkernel +BL1=${IMG_DIR}/bl1.bin.hardkernel -source $COMMON_DIR/mkimage.sh +source ${COMMON_DIR}/mkimage.sh -dd conv=notrunc if=$BL1 of=$DISK_IMG bs=1 count=442 -dd conv=notrunc if=$BL1 of=$DISK_IMG bs=512 skip=1 seek=1 +dd conv=notrunc if=${BL1} of=${DISK_IMG} bs=1 count=442 +dd conv=notrunc if=${BL1} of=${DISK_IMG} bs=512 skip=1 seek=1 diff --git a/board/odroidc1/os.conf b/board/odroidc1/os.conf index dc77b07e6d..bbfeece44c 100644 --- a/board/odroidc1/os.conf +++ b/board/odroidc1/os.conf @@ -1,2 +1,2 @@ -os_tty_login="ttyS0" +OS_TTY_LOGIN="ttyS0" diff --git a/board/odroidc1/postscript.sh b/board/odroidc1/postscript.sh index ccf44bb4e0..8261cc1275 100755 --- a/board/odroidc1/postscript.sh +++ b/board/odroidc1/postscript.sh @@ -3,23 +3,23 @@ set -e # boot directory -mkdir -p $BOOT_DIR +mkdir -p ${BOOT_DIR} -cp $IMG_DIR/uImage $BOOT_DIR -cp $IMG_DIR/meson8b_odroidc.dtb $BOOT_DIR -cp $BOARD_DIR/bl1.bin.hardkernel $IMG_DIR -cp $BOARD_DIR/u-boot.bin $IMG_DIR -cp $BOARD_DIR/boot.ini $BOOT_DIR -cp $BOARD_DIR/uInitrd $BOOT_DIR +cp ${IMG_DIR}/uImage ${BOOT_DIR} +cp ${IMG_DIR}/meson8b_odroidc.dtb ${BOOT_DIR} +cp ${BOARD_DIR}/bl1.bin.hardkernel ${IMG_DIR} +cp ${BOARD_DIR}/u-boot.bin ${IMG_DIR} +cp ${BOARD_DIR}/boot.ini ${BOOT_DIR} +cp ${BOARD_DIR}/uInitrd ${BOOT_DIR} # fix some lib dirs -if ! [ -L $TARGET/lib/arm-linux-gnueabihf ]; then - mv $TARGET/lib/arm-linux-gnueabihf/* $TARGET/lib - rmdir $TARGET/lib/arm-linux-gnueabihf - ln -s /lib $TARGET/lib/arm-linux-gnueabihf +if ! [ -L ${TARGET}/lib/arm-linux-gnueabihf ]; then + mv ${TARGET}/lib/arm-linux-gnueabihf/* ${TARGET}/lib + rmdir ${TARGET}/lib/arm-linux-gnueabihf + ln -s /lib ${TARGET}/lib/arm-linux-gnueabihf fi -if ! [ -L $TARGET/usr/lib/arm-linux-gnueabihf ]; then - ln -s /usr/lib $TARGET/usr/lib/arm-linux-gnueabihf +if ! [ -L ${TARGET}/usr/lib/arm-linux-gnueabihf ]; then + ln -s /usr/lib ${TARGET}/usr/lib/arm-linux-gnueabihf fi diff --git a/board/odroidc2/cpinitramfs.sh b/board/odroidc2/cpinitramfs.sh index 7c5af3f0e4..6b79ac324c 100755 --- a/board/odroidc2/cpinitramfs.sh +++ b/board/odroidc2/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.uboot $BOARD_DIR/uInitrd +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd diff --git a/board/odroidc2/mkimage.sh b/board/odroidc2/mkimage.sh index 39e8b5f230..aaf47fd7fc 100755 --- a/board/odroidc2/mkimage.sh +++ b/board/odroidc2/mkimage.sh @@ -1,16 +1,16 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ -export UBOOT_BIN=$IMG_DIR/u-boot.bin +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${IMG_DIR}/u-boot.bin export UBOOT_SEEK=97 -BL1=$IMG_DIR/bl1.bin.hardkernel +BL1=${IMG_DIR}/bl1.bin.hardkernel -source $COMMON_DIR/mkimage.sh +source ${COMMON_DIR}/mkimage.sh -dd conv=notrunc if=$BL1 of=$DISK_IMG bs=1 count=442 -dd conv=notrunc if=$BL1 of=$DISK_IMG bs=512 skip=1 seek=1 +dd conv=notrunc if=${BL1} of=${DISK_IMG} bs=1 count=442 +dd conv=notrunc if=${BL1} of=${DISK_IMG} bs=512 skip=1 seek=1 diff --git a/board/odroidc2/os.conf b/board/odroidc2/os.conf index dc77b07e6d..bbfeece44c 100644 --- a/board/odroidc2/os.conf +++ b/board/odroidc2/os.conf @@ -1,2 +1,2 @@ -os_tty_login="ttyS0" +OS_TTY_LOGIN="ttyS0" diff --git a/board/odroidc2/postscript.sh b/board/odroidc2/postscript.sh index 0296849600..68aa180144 100755 --- a/board/odroidc2/postscript.sh +++ b/board/odroidc2/postscript.sh @@ -3,12 +3,12 @@ set -e # boot directory -mkdir -p $BOOT_DIR +mkdir -p ${BOOT_DIR} -cp $IMG_DIR/Image $BOOT_DIR -cp $IMG_DIR/meson64_odroidc2.dtb $BOOT_DIR -cp $BOARD_DIR/bl1.bin.hardkernel $IMG_DIR -cp $BOARD_DIR/u-boot.bin $IMG_DIR -cp $BOARD_DIR/boot.ini $BOOT_DIR -cp $BOARD_DIR/uInitrd $BOOT_DIR +cp ${IMG_DIR}/Image ${BOOT_DIR} +cp ${IMG_DIR}/meson64_odroidc2.dtb ${BOOT_DIR} +cp ${BOARD_DIR}/bl1.bin.hardkernel ${IMG_DIR} +cp ${BOARD_DIR}/u-boot.bin ${IMG_DIR} +cp ${BOARD_DIR}/boot.ini ${BOOT_DIR} +cp ${BOARD_DIR}/uInitrd ${BOOT_DIR} diff --git a/board/odroidxu4/cpinitramfs.sh b/board/odroidxu4/cpinitramfs.sh index 7c5af3f0e4..6b79ac324c 100755 --- a/board/odroidxu4/cpinitramfs.sh +++ b/board/odroidxu4/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.uboot $BOARD_DIR/uInitrd +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd diff --git a/board/odroidxu4/mkimage.sh b/board/odroidxu4/mkimage.sh index 409d891605..aefe63b134 100755 --- a/board/odroidxu4/mkimage.sh +++ b/board/odroidxu4/mkimage.sh @@ -1,19 +1,19 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ -export UBOOT_BIN=$IMG_DIR/u-boot.bin +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${IMG_DIR}/u-boot.bin export UBOOT_SEEK=63 -BL1=$IMG_DIR/bl1.bin.hardkernel -BL2=$IMG_DIR/bl2.bin.hardkernel -TZSW=$IMG_DIR/tzsw.bin.hardkernel -source $COMMON_DIR/mkimage.sh +BL1=${IMG_DIR}/bl1.bin.hardkernel +BL2=${IMG_DIR}/bl2.bin.hardkernel +TZSW=${IMG_DIR}/tzsw.bin.hardkernel +source ${COMMON_DIR}/mkimage.sh -dd conv=notrunc if=$BL1 of=$DISK_IMG bs=512 seek=1 -dd conv=notrunc if=$BL2 of=$DISK_IMG bs=512 seek=31 -dd conv=notrunc if=$TZSW of=$DISK_IMG bs=512 seek=719 -dd conv=notrunc if=/dev/zero of=$DISK_IMG bs=512 seek=1231 count=32 +dd conv=notrunc if=${BL1} of=${DISK_IMG} bs=512 seek=1 +dd conv=notrunc if=${BL2} of=${DISK_IMG} bs=512 seek=31 +dd conv=notrunc if=${TZSW} of=${DISK_IMG} bs=512 seek=719 +dd conv=notrunc if=/dev/zero of=${DISK_IMG} bs=512 seek=1231 count=32 diff --git a/board/odroidxu4/overlay/etc/init.d/S02waiteth b/board/odroidxu4/overlay/etc/init.d/S02waiteth index 6873243889..5088e50eb9 100755 --- a/board/odroidxu4/overlay/etc/init.d/S02waiteth +++ b/board/odroidxu4/overlay/etc/init.d/S02waiteth @@ -1,6 +1,6 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +test -n "${OS_VERSION}" || source /etc/init.d/base case "$1" in start) diff --git a/board/odroidxu4/postscript.sh b/board/odroidxu4/postscript.sh index 1a965ae5c8..22749d3b2f 100755 --- a/board/odroidxu4/postscript.sh +++ b/board/odroidxu4/postscript.sh @@ -3,15 +3,15 @@ set -e # boot directory -mkdir -p $BOOT_DIR +mkdir -p ${BOOT_DIR} -cp $BOARD_DIR/bl1.bin.hardkernel $IMG_DIR -cp $BOARD_DIR/bl2.bin.hardkernel $IMG_DIR -cp $BOARD_DIR/tzsw.bin.hardkernel $IMG_DIR -cp $BOARD_DIR/u-boot.bin $IMG_DIR +cp ${BOARD_DIR}/bl1.bin.hardkernel ${IMG_DIR} +cp ${BOARD_DIR}/bl2.bin.hardkernel ${IMG_DIR} +cp ${BOARD_DIR}/tzsw.bin.hardkernel ${IMG_DIR} +cp ${BOARD_DIR}/u-boot.bin ${IMG_DIR} -cp $IMG_DIR/zImage $BOOT_DIR -cp $IMG_DIR/exynos5422-odroidxu4.dtb $BOOT_DIR -cp $BOARD_DIR/boot.ini $BOOT_DIR -cp $BOARD_DIR/uInitrd $BOOT_DIR +cp ${IMG_DIR}/zImage ${BOOT_DIR} +cp ${IMG_DIR}/exynos5422-odroidxu4.dtb ${BOOT_DIR} +cp ${BOARD_DIR}/boot.ini ${BOOT_DIR} +cp ${BOARD_DIR}/uInitrd ${BOOT_DIR} diff --git a/board/orangepione/cpinitramfs.sh b/board/orangepione/cpinitramfs.sh index 7c5af3f0e4..6b79ac324c 100755 --- a/board/orangepione/cpinitramfs.sh +++ b/board/orangepione/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.uboot $BOARD_DIR/uInitrd +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd diff --git a/board/orangepione/mkimage.sh b/board/orangepione/mkimage.sh index b4e6ff16d9..2e53952649 100755 --- a/board/orangepione/mkimage.sh +++ b/board/orangepione/mkimage.sh @@ -1,13 +1,13 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ -export UBOOT_BIN=$IMG_DIR/u-boot-sunxi-with-spl.bin +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${IMG_DIR}/u-boot-sunxi-with-spl.bin export UBOOT_SEEK=16 export BOOT_START=20 -source $COMMON_DIR/mkimage.sh +source ${COMMON_DIR}/mkimage.sh diff --git a/board/orangepione/postscript.sh b/board/orangepione/postscript.sh index 6b2bf27881..f4bfc82c78 100755 --- a/board/orangepione/postscript.sh +++ b/board/orangepione/postscript.sh @@ -2,9 +2,9 @@ set -e -$HOST_DIR/bin/mkimage -C none -A arm -T script -d $BOARD_DIR/boot.cmd $BOOT_DIR/boot.scr -$HOST_DIR/bin/mkimage -C none -A arm -T script -d $BOARD_DIR/boot-fwupdater.cmd $BOOT_DIR/boot-fwupdater.scr +${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot.cmd ${BOOT_DIR}/boot.scr +${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot-fwupdater.cmd ${BOOT_DIR}/boot-fwupdater.scr -cp $IMG_DIR/zImage $BOOT_DIR -cp $IMG_DIR/sun8i-h3-orangepi-one.dtb $BOOT_DIR -cp $BOARD_DIR/rootfs.cpio.uboot $BOOT_DIR +cp ${IMG_DIR}/zImage ${BOOT_DIR} +cp ${IMG_DIR}/sun8i-h3-orangepi-one.dtb ${BOOT_DIR} +cp ${BOARD_DIR}/rootfs.cpio.uboot ${BOOT_DIR} diff --git a/board/pine64/cpinitramfs.sh b/board/pine64/cpinitramfs.sh index 7c5af3f0e4..6b79ac324c 100755 --- a/board/pine64/cpinitramfs.sh +++ b/board/pine64/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.uboot $BOARD_DIR/uInitrd +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd diff --git a/board/pine64/mkimage.sh b/board/pine64/mkimage.sh index d1e83348f9..1cb5440feb 100755 --- a/board/pine64/mkimage.sh +++ b/board/pine64/mkimage.sh @@ -1,16 +1,16 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ -export UBOOT_BIN=$BOARD_DIR/u-boot-with-dtb.bin +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${BOARD_DIR}/u-boot-with-dtb.bin export UBOOT_SEEK=38192 export BOOT_START=20 -BOOT0=$BOARD_DIR/boot0.bin +BOOT0=${BOARD_DIR}/boot0.bin -source $COMMON_DIR/mkimage.sh +source ${COMMON_DIR}/mkimage.sh -dd conv=notrunc if=$BOOT0 of=$DISK_IMG bs=1k seek=8 count=32 oflag=direct +dd conv=notrunc if=${BOOT0} of=${DISK_IMG} bs=1k seek=8 count=32 oflag=direct diff --git a/board/pine64/postscript.sh b/board/pine64/postscript.sh index 5e8cc683d1..d106a2323d 100755 --- a/board/pine64/postscript.sh +++ b/board/pine64/postscript.sh @@ -3,10 +3,10 @@ set -e # boot directory -mkdir -p $BOOT_DIR/pine64 +mkdir -p ${BOOT_DIR}/pine64 -cp $IMG_DIR/Image $BOOT_DIR/kernel.img -cp $BOARD_DIR/uEnv.txt $BOOT_DIR -cp $BOARD_DIR/dtb/* $BOOT_DIR/pine64 -cp $BOARD_DIR/fwupdater.img $BOOT_DIR +cp ${IMG_DIR}/Image ${BOOT_DIR}/kernel.img +cp ${BOARD_DIR}/uEnv.txt ${BOOT_DIR} +cp ${BOARD_DIR}/dtb/* ${BOOT_DIR}/pine64 +cp ${BOARD_DIR}/fwupdater.img ${BOOT_DIR} diff --git a/board/raspberrypi/cleanups.sh b/board/raspberrypi/cleanups.sh index 7e41addaed..81f8694b8a 100755 --- a/board/raspberrypi/cleanups.sh +++ b/board/raspberrypi/cleanups.sh @@ -1,5 +1,5 @@ #!/bin/sh -rm -rf $TARGET/opt/vc/src -rm -rf $TARGET/opt/vc/include +rm -rf ${TARGET}/opt/vc/src +rm -rf ${TARGET}/opt/vc/include diff --git a/board/raspberrypi/cpinitramfs.sh b/board/raspberrypi/cpinitramfs.sh index ac4e9e8d72..165ff01703 100755 --- a/board/raspberrypi/cpinitramfs.sh +++ b/board/raspberrypi/cpinitramfs.sh @@ -1,4 +1,4 @@ #!/bin/bash -cp $IMG_DIR/rootfs.cpio.gz $BOARD_DIR/fwupdater.gz +cp ${IMG_DIR}/rootfs.cpio.gz ${BOARD_DIR}/fwupdater.gz diff --git a/board/raspberrypi/mkimage.sh b/board/raspberrypi/mkimage.sh index 9d0d2dbf71..f09e4b392f 100755 --- a/board/raspberrypi/mkimage.sh +++ b/board/raspberrypi/mkimage.sh @@ -1,10 +1,10 @@ #!/bin/bash -e BOARD_DIR=$(dirname $0) -COMMON_DIR=$BOARD_DIR/../common +COMMON_DIR=${BOARD_DIR}/../common -export BOARD=$(basename $BOARD_DIR) -export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ -$COMMON_DIR/mkimage.sh +${COMMON_DIR}/mkimage.sh diff --git a/board/raspberrypi/overlay/etc/init.d/S05cpufreq b/board/raspberrypi/overlay/etc/init.d/S05cpufreq index 82ae420f49..ed1d28f889 100755 --- a/board/raspberrypi/overlay/etc/init.d/S05cpufreq +++ b/board/raspberrypi/overlay/etc/init.d/S05cpufreq @@ -1,18 +1,19 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +GOV="ondemand" +CPUFREQDIR="/sys/devices/system/cpu/cpu0/cpufreq" +GOVDIR="/sys/devices/system/cpu/cpufreq/${GOV}" -gov="ondemand" -cpufreqdir="/sys/devices/system/cpu/cpu0/cpufreq" -govdir="/sys/devices/system/cpu/cpufreq/$gov" + +test -n "${OS_VERSION}" || source /etc/init.d/base configure() { - echo $gov > $cpufreqdir/scaling_governor - if [[ $gov == "ondemand" ]]; then - echo 50 > $govdir/up_threshold - echo 100000 > $govdir/sampling_rate - echo 50 > $govdir/sampling_down_factor - echo 1 > $govdir/io_is_busy + echo ${GOV} > ${CPUFREQDIR}/scaling_governor + if [[ ${GOV} == "ondemand" ]]; then + echo 50 > ${GOVDIR}/up_threshold + echo 100000 > ${GOVDIR}/sampling_rate + echo 50 > ${GOVDIR}/sampling_down_factor + echo 1 > ${GOVDIR}/io_is_busy fi } diff --git a/board/raspberrypi/overlay/etc/init.d/S11throttlewatch b/board/raspberrypi/overlay/etc/init.d/S11throttlewatch index a06374158c..4f6a422152 100755 --- a/board/raspberrypi/overlay/etc/init.d/S11throttlewatch +++ b/board/raspberrypi/overlay/etc/init.d/S11throttlewatch @@ -1,8 +1,9 @@ #!/bin/bash -check_interval=30 +CHECK_INTERVAL=30 -test -n "$os_version" || source /etc/init.d/base + +test -n "${OS_VERSION}" || source /etc/init.d/base get_throttled_now() { t=$(vcgencmd get_throttled | cut -d '=' -f 2) @@ -21,23 +22,23 @@ get_throttled_since_boot() { watch_now() { while true; do t=$(get_throttled_now) - if [[ -n "$t" ]]; then - logger -t throttlewatch -s "currently: $t" + if [[ -n "${t}" ]]; then + logger -t throttlewatch -s "currently: ${t}" fi - sleep $check_interval + sleep ${CHECK_INTERVAL} done } watch_since_boot() { while true; do t=$(get_throttled_since_boot) - if [[ -n "$t" ]]; then - logger -t throttlewatch -s "since boot: $t" + if [[ -n "${t}" ]]; then + logger -t throttlewatch -s "since boot: ${t}" break fi - sleep $check_interval + sleep ${CHECK_INTERVAL} done } diff --git a/board/raspberrypi/overlay/etc/init.d/S13btuart b/board/raspberrypi/overlay/etc/init.d/S13btuart index f5d51a4148..0ad4deda81 100755 --- a/board/raspberrypi/overlay/etc/init.d/S13btuart +++ b/board/raspberrypi/overlay/etc/init.d/S13btuart @@ -1,14 +1,15 @@ #!/bin/bash -sys_conf="/etc/bluetooth.conf" -boot_conf="/boot/bluetooth.conf" -conf="/data/etc/bluetooth.conf" +SYS_CONF="/etc/bluetooth.conf" +BOOT_CONF="/boot/bluetooth.conf" +CONF="/data/etc/bluetooth.conf" -test -f $conf || test -f $boot_conf || test -f $sys_conf || exit 0 + +test -f ${CONF} || test -f ${BOOT_CONF} || test -f ${SYS_CONF} || exit 0 test -d "/proc/device-tree/soc/gpio@7e200000/uart0_pins" || exit 0 # no rpi bluetooth detected -test -n "$os_version" || source /etc/init.d/base +test -n "${OS_VERSION}" || source /etc/init.d/base function start() { if [[ "$(cat /proc/device-tree/aliases/uart0)" = "$(cat /proc/device-tree/aliases/serial1)" ]] ; then diff --git a/board/raspberrypi/overlay/etc/init.d/S84streameye b/board/raspberrypi/overlay/etc/init.d/S84streameye index 81e2e2c896..65ca3ba78e 100755 --- a/board/raspberrypi/overlay/etc/init.d/S84streameye +++ b/board/raspberrypi/overlay/etc/init.d/S84streameye @@ -1,15 +1,16 @@ #!/bin/sh -motioneye_conf_dir="/data/etc/" +MOTIONEYE_CONF_DIR="/data/etc/" -test -n "$os_version" || source /etc/init.d/base + +test -n "${OS_VERSION}" || source /etc/init.d/base enabled() { - test $(ls -1 $motioneye_conf_dir/thread-*.conf 2>/dev/null| wc -l) == 1 || return 1 + test $(ls -1 ${MOTIONEYE_CONF_DIR}/thread-*.conf 2>/dev/null| wc -l) == 1 || return 1 - grep '# @proto mjpeg' $motioneye_conf_dir/thread-1.conf &>/dev/null || return 1 + grep '# @proto mjpeg' ${MOTIONEYE_CONF_DIR}/thread-1.conf &>/dev/null || return 1 - grep -E '# @url http://(.*)127.0.0.1:' $motioneye_conf_dir/thread-1.conf &>/dev/null || return 1 + grep -E '# @url http://(.*)127.0.0.1:' ${MOTIONEYE_CONF_DIR}/thread-1.conf &>/dev/null || return 1 return 0 } diff --git a/board/raspberrypi/overlay/usr/bin/streameye.sh b/board/raspberrypi/overlay/usr/bin/streameye.sh index 29e5b79d8b..612ad76ea1 100755 --- a/board/raspberrypi/overlay/usr/bin/streameye.sh +++ b/board/raspberrypi/overlay/usr/bin/streameye.sh @@ -6,8 +6,9 @@ MOTIONEYE_CONF=/data/etc/motioneye.conf STREAMEYE_CONF=/data/etc/streameye.conf STREAMEYE_LOG=/var/log/streameye.log -test -r $RASPIMJPEG_CONF || exit 1 -test -r $STREAMEYE_CONF || exit 1 + +test -r ${RASPIMJPEG_CONF} || exit 1 +test -r ${STREAMEYE_CONF} || exit 1 watch() { count=0 @@ -22,33 +23,33 @@ watch() { function start() { pid=$(ps | grep raspimjpeg.py | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1) - if [ -n "$pid" ]; then + if [ -n "${pid}" ]; then return fi raspimjpeg_opts="" while read line; do - if echo "$line" | grep false &>/dev/null; then + if echo "${line}" | grep false &>/dev/null; then continue fi - if echo "$line" | grep true &>/dev/null; then - line=$(echo $line | cut -d ' ' -f 1) + if echo "${line}" | grep true &>/dev/null; then + line=$(echo ${line} | cut -d ' ' -f 1) fi - raspimjpeg_opts="$raspimjpeg_opts --$line" - done < $RASPIMJPEG_CONF + raspimjpeg_opts="${raspimjpeg_opts} --${line}" + done < ${RASPIMJPEG_CONF} - source $STREAMEYE_CONF - streameye_opts="-p $PORT" - if [ -n "$CREDENTIALS" ] && [ "$AUTH" = "basic" ]; then - streameye_opts="$streameye_opts -a basic -c $CREDENTIALS" + source ${STREAMEYE_CONF} + streameye_opts="-p ${PORT}" + if [ -n "${CREDENTIALS}" ] && [ "${AUTH}" = "basic" ]; then + streameye_opts="${streameye_opts} -a basic -c ${CREDENTIALS}" fi - if [ -r $MOTIONEYE_CONF ] && grep 'log-level debug' $MOTIONEYE_CONF >/dev/null; then - raspimjpeg_opts="$raspimjpeg_opts -d" - streameye_opts="$streameye_opts -d" + if [ -r ${MOTIONEYE_CONF} ] && grep 'log-level debug' ${MOTIONEYE_CONF} >/dev/null; then + raspimjpeg_opts="${raspimjpeg_opts} -d" + streameye_opts="${streameye_opts} -d" fi - raspimjpeg.py $raspimjpeg_opts 2>$RASPIMJPEG_LOG | streameye $streameye_opts &>$STREAMEYE_LOG & + raspimjpeg.py ${raspimjpeg_opts} 2>${RASPIMJPEG_LOG} | streameye ${streameye_opts} &>${STREAMEYE_LOG} & } function stop() { @@ -57,17 +58,17 @@ function stop() { # stop the raspimjpeg process pid=$(ps | grep raspimjpeg.py | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1) - if [ -z "$pid" ]; then + if [ -z "${pid}" ]; then return fi - kill -HUP "$pid" &>/dev/null + kill -HUP "${pid}" &>/dev/null count=0 - while kill -0 "$pid" &>/dev/null && [ $count -lt 5 ]; do + while kill -0 "${pid}" &>/dev/null && [ ${count} -lt 5 ]; do sleep 1 - count=$(($count + 1)) + count=$((${count} + 1)) done - kill -KILL "$pid" &>/dev/null || true + kill -KILL "${pid}" &>/dev/null || true } case "$1" in diff --git a/board/raspberrypi/overlay/usr/libexec/fw-restore-boot-cfg b/board/raspberrypi/overlay/usr/libexec/fw-restore-boot-cfg index 628189ebf6..a4cf5afe76 100755 --- a/board/raspberrypi/overlay/usr/libexec/fw-restore-boot-cfg +++ b/board/raspberrypi/overlay/usr/libexec/fw-restore-boot-cfg @@ -6,5 +6,5 @@ if [ -z "$1" ]; then fi old_boot=$1 -cp $old_boot/config.txt /boot +cp ${old_boot}/config.txt /boot diff --git a/board/raspberrypi/postscript.sh b/board/raspberrypi/postscript.sh index 31683c5e03..c87c51c422 100755 --- a/board/raspberrypi/postscript.sh +++ b/board/raspberrypi/postscript.sh @@ -2,17 +2,17 @@ set -e -RPI_FW_DIR=$TARGET/../images/rpi-firmware +RPI_FW_DIR=${TARGET}/../images/rpi-firmware -cp $BOARD_DIR/config.txt $BOOT_DIR -cp $BOARD_DIR/cmdline.txt $BOOT_DIR -cp $BOARD_DIR/fwupdater.gz $BOOT_DIR -cp $IMG_DIR/zImage $BOOT_DIR/kernel.img -cp $IMG_DIR/bcm2708-rpi-b.dtb $BOOT_DIR -cp $IMG_DIR/bcm2708-rpi-b-plus.dtb $BOOT_DIR -cp $IMG_DIR/bcm2708-rpi-cm.dtb $BOOT_DIR -cp $IMG_DIR/bcm2708-rpi-0-w.dtb $BOOT_DIR -cp $RPI_FW_DIR/bootcode.bin $BOOT_DIR -cp $RPI_FW_DIR/start.elf $BOOT_DIR -cp $RPI_FW_DIR/fixup.dat $BOOT_DIR +cp ${BOARD_DIR}/config.txt ${BOOT_DIR} +cp ${BOARD_DIR}/cmdline.txt ${BOOT_DIR} +cp ${BOARD_DIR}/fwupdater.gz ${BOOT_DIR} +cp ${IMG_DIR}/zImage ${BOOT_DIR}/kernel.img +cp ${IMG_DIR}/bcm2708-rpi-b.dtb ${BOOT_DIR} +cp ${IMG_DIR}/bcm2708-rpi-b-plus.dtb ${BOOT_DIR} +cp ${IMG_DIR}/bcm2708-rpi-cm.dtb ${BOOT_DIR} +cp ${IMG_DIR}/bcm2708-rpi-0-w.dtb ${BOOT_DIR} +cp ${RPI_FW_DIR}/bootcode.bin ${BOOT_DIR} +cp ${RPI_FW_DIR}/start.elf ${BOOT_DIR} +cp ${RPI_FW_DIR}/fixup.dat ${BOOT_DIR} diff --git a/board/raspberrypi2/overlay/etc/init.d/S05cpufreq b/board/raspberrypi2/overlay/etc/init.d/S05cpufreq index 82ae420f49..ed1d28f889 100755 --- a/board/raspberrypi2/overlay/etc/init.d/S05cpufreq +++ b/board/raspberrypi2/overlay/etc/init.d/S05cpufreq @@ -1,18 +1,19 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +GOV="ondemand" +CPUFREQDIR="/sys/devices/system/cpu/cpu0/cpufreq" +GOVDIR="/sys/devices/system/cpu/cpufreq/${GOV}" -gov="ondemand" -cpufreqdir="/sys/devices/system/cpu/cpu0/cpufreq" -govdir="/sys/devices/system/cpu/cpufreq/$gov" + +test -n "${OS_VERSION}" || source /etc/init.d/base configure() { - echo $gov > $cpufreqdir/scaling_governor - if [[ $gov == "ondemand" ]]; then - echo 50 > $govdir/up_threshold - echo 100000 > $govdir/sampling_rate - echo 50 > $govdir/sampling_down_factor - echo 1 > $govdir/io_is_busy + echo ${GOV} > ${CPUFREQDIR}/scaling_governor + if [[ ${GOV} == "ondemand" ]]; then + echo 50 > ${GOVDIR}/up_threshold + echo 100000 > ${GOVDIR}/sampling_rate + echo 50 > ${GOVDIR}/sampling_down_factor + echo 1 > ${GOVDIR}/io_is_busy fi } diff --git a/board/raspberrypi2/overlay/etc/init.d/S11throttlewatch b/board/raspberrypi2/overlay/etc/init.d/S11throttlewatch index a06374158c..4f6a422152 100755 --- a/board/raspberrypi2/overlay/etc/init.d/S11throttlewatch +++ b/board/raspberrypi2/overlay/etc/init.d/S11throttlewatch @@ -1,8 +1,9 @@ #!/bin/bash -check_interval=30 +CHECK_INTERVAL=30 -test -n "$os_version" || source /etc/init.d/base + +test -n "${OS_VERSION}" || source /etc/init.d/base get_throttled_now() { t=$(vcgencmd get_throttled | cut -d '=' -f 2) @@ -21,23 +22,23 @@ get_throttled_since_boot() { watch_now() { while true; do t=$(get_throttled_now) - if [[ -n "$t" ]]; then - logger -t throttlewatch -s "currently: $t" + if [[ -n "${t}" ]]; then + logger -t throttlewatch -s "currently: ${t}" fi - sleep $check_interval + sleep ${CHECK_INTERVAL} done } watch_since_boot() { while true; do t=$(get_throttled_since_boot) - if [[ -n "$t" ]]; then - logger -t throttlewatch -s "since boot: $t" + if [[ -n "${t}" ]]; then + logger -t throttlewatch -s "since boot: ${t}" break fi - sleep $check_interval + sleep ${CHECK_INTERVAL} done } diff --git a/board/raspberrypi2/overlay/etc/init.d/S84streameye b/board/raspberrypi2/overlay/etc/init.d/S84streameye index 81e2e2c896..65ca3ba78e 100755 --- a/board/raspberrypi2/overlay/etc/init.d/S84streameye +++ b/board/raspberrypi2/overlay/etc/init.d/S84streameye @@ -1,15 +1,16 @@ #!/bin/sh -motioneye_conf_dir="/data/etc/" +MOTIONEYE_CONF_DIR="/data/etc/" -test -n "$os_version" || source /etc/init.d/base + +test -n "${OS_VERSION}" || source /etc/init.d/base enabled() { - test $(ls -1 $motioneye_conf_dir/thread-*.conf 2>/dev/null| wc -l) == 1 || return 1 + test $(ls -1 ${MOTIONEYE_CONF_DIR}/thread-*.conf 2>/dev/null| wc -l) == 1 || return 1 - grep '# @proto mjpeg' $motioneye_conf_dir/thread-1.conf &>/dev/null || return 1 + grep '# @proto mjpeg' ${MOTIONEYE_CONF_DIR}/thread-1.conf &>/dev/null || return 1 - grep -E '# @url http://(.*)127.0.0.1:' $motioneye_conf_dir/thread-1.conf &>/dev/null || return 1 + grep -E '# @url http://(.*)127.0.0.1:' ${MOTIONEYE_CONF_DIR}/thread-1.conf &>/dev/null || return 1 return 0 } diff --git a/board/raspberrypi2/overlay/usr/bin/streameye.sh b/board/raspberrypi2/overlay/usr/bin/streameye.sh index 8ab060182b..468b9bb1c2 100755 --- a/board/raspberrypi2/overlay/usr/bin/streameye.sh +++ b/board/raspberrypi2/overlay/usr/bin/streameye.sh @@ -6,8 +6,9 @@ MOTIONEYE_CONF=/data/etc/motioneye.conf STREAMEYE_CONF=/data/etc/streameye.conf STREAMEYE_LOG=/var/log/streameye.log -test -r $RASPIMJPEG_CONF || exit 1 -test -r $STREAMEYE_CONF || exit 1 + +test -r ${RASPIMJPEG_CONF} || exit 1 +test -r ${STREAMEYE_CONF} || exit 1 watch() { count=0 @@ -22,33 +23,33 @@ watch() { function start() { pid=$(ps | grep raspimjpeg.py | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1) - if [ -n "$pid" ]; then + if [ -n "${pid}" ]; then return fi raspimjpeg_opts="" while read line; do - if echo "$line" | grep false &>/dev/null; then + if echo "${line}" | grep false &>/dev/null; then continue fi - if echo "$line" | grep true &>/dev/null; then - line=$(echo $line | cut -d ' ' -f 1) + if echo "${line}" | grep true &>/dev/null; then + line=$(echo ${line} | cut -d ' ' -f 1) fi - raspimjpeg_opts="$raspimjpeg_opts --$line" - done < $RASPIMJPEG_CONF + raspimjpeg_opts="${raspimjpeg_opts} --${line}" + done < ${RASPIMJPEG_CONF} - source $STREAMEYE_CONF - streameye_opts="-p $PORT" - if [ -n "$CREDENTIALS" ] && [ "$AUTH" = "basic" ]; then - streameye_opts="$streameye_opts -a basic -c $CREDENTIALS" + source ${STREAMEYE_CONF} + streameye_opts="-p ${PORT}" + if [ -n "${CREDENTIALS}" ] && [ "${AUTH}" = "basic" ]; then + streameye_opts="${streameye_opts} -a basic -c ${CREDENTIALS}" fi - if [ -r $MOTIONEYE_CONF ] && grep 'log-level debug' $MOTIONEYE_CONF >/dev/null; then - raspimjpeg_opts="$raspimjpeg_opts -d" - streameye_opts="$streameye_opts -d" + if [ -r ${MOTIONEYE_CONF} ] && grep 'log-level debug' ${MOTIONEYE_CONF} >/dev/null; then + raspimjpeg_opts="${raspimjpeg_opts} -d" + streameye_opts="${streameye_opts} -d" fi - raspimjpeg.py $raspimjpeg_opts 2>$RASPIMJPEG_LOG | streameye $streameye_opts &>$STREAMEYE_LOG & + raspimjpeg.py ${raspimjpeg_opts} 2>${RASPIMJPEG_LOG} | streameye ${streameye_opts} &>${STREAMEYE_LOG} & } function stop() { @@ -57,17 +58,17 @@ function stop() { # stop the raspimjpeg process pid=$(ps | grep raspimjpeg.py | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1) - if [ -z "$pid" ]; then + if [ -z "${pid}" ]; then return fi - kill -HUP "$pid" &>/dev/null + kill -HUP "${pid}" &>/dev/null count=0 - while kill -0 "$pid" &>/dev/null && [ $count -lt 5 ]; do + while kill -0 "${pid}" &>/dev/null && [ ${count} -lt 5 ]; do sleep 1 - count=$(($count + 1)) + count=$((${count} + 1)) done - kill -KILL "$pid" &>/dev/null || true + kill -KILL "${pid}" &>/dev/null || true } case "$1" in diff --git a/board/raspberrypi2/overlay/usr/libexec/fw-restore-boot-cfg b/board/raspberrypi2/overlay/usr/libexec/fw-restore-boot-cfg index 628189ebf6..a4cf5afe76 100755 --- a/board/raspberrypi2/overlay/usr/libexec/fw-restore-boot-cfg +++ b/board/raspberrypi2/overlay/usr/libexec/fw-restore-boot-cfg @@ -6,5 +6,5 @@ if [ -z "$1" ]; then fi old_boot=$1 -cp $old_boot/config.txt /boot +cp ${old_boot}/config.txt /boot diff --git a/board/raspberrypi2/postscript.sh b/board/raspberrypi2/postscript.sh index bb556320bd..e3d49b2fab 100755 --- a/board/raspberrypi2/postscript.sh +++ b/board/raspberrypi2/postscript.sh @@ -2,14 +2,14 @@ set -e -RPI_FW_DIR=$TARGET/../images/rpi-firmware +RPI_FW_DIR=${TARGET}/../images/rpi-firmware -cp $BOARD_DIR/config.txt $BOOT_DIR -cp $BOARD_DIR/cmdline.txt $BOOT_DIR -cp $BOARD_DIR/fwupdater.gz $BOOT_DIR -cp $IMG_DIR/zImage $BOOT_DIR/kernel.img -cp $IMG_DIR/bcm2709-rpi-2-b.dtb $BOOT_DIR -cp $RPI_FW_DIR/bootcode.bin $BOOT_DIR -cp $RPI_FW_DIR/start.elf $BOOT_DIR -cp $RPI_FW_DIR/fixup.dat $BOOT_DIR +cp ${BOARD_DIR}/config.txt ${BOOT_DIR} +cp ${BOARD_DIR}/cmdline.txt ${BOOT_DIR} +cp ${BOARD_DIR}/fwupdater.gz ${BOOT_DIR} +cp ${IMG_DIR}/zImage ${BOOT_DIR}/kernel.img +cp ${IMG_DIR}/bcm2709-rpi-2-b.dtb ${BOOT_DIR} +cp ${RPI_FW_DIR}/bootcode.bin ${BOOT_DIR} +cp ${RPI_FW_DIR}/start.elf ${BOOT_DIR} +cp ${RPI_FW_DIR}/fixup.dat ${BOOT_DIR} diff --git a/board/raspberrypi3/overlay/etc/init.d/S05cpufreq b/board/raspberrypi3/overlay/etc/init.d/S05cpufreq index 82ae420f49..ed1d28f889 100755 --- a/board/raspberrypi3/overlay/etc/init.d/S05cpufreq +++ b/board/raspberrypi3/overlay/etc/init.d/S05cpufreq @@ -1,18 +1,19 @@ #!/bin/bash -test -n "$os_version" || source /etc/init.d/base +GOV="ondemand" +CPUFREQDIR="/sys/devices/system/cpu/cpu0/cpufreq" +GOVDIR="/sys/devices/system/cpu/cpufreq/${GOV}" -gov="ondemand" -cpufreqdir="/sys/devices/system/cpu/cpu0/cpufreq" -govdir="/sys/devices/system/cpu/cpufreq/$gov" + +test -n "${OS_VERSION}" || source /etc/init.d/base configure() { - echo $gov > $cpufreqdir/scaling_governor - if [[ $gov == "ondemand" ]]; then - echo 50 > $govdir/up_threshold - echo 100000 > $govdir/sampling_rate - echo 50 > $govdir/sampling_down_factor - echo 1 > $govdir/io_is_busy + echo ${GOV} > ${CPUFREQDIR}/scaling_governor + if [[ ${GOV} == "ondemand" ]]; then + echo 50 > ${GOVDIR}/up_threshold + echo 100000 > ${GOVDIR}/sampling_rate + echo 50 > ${GOVDIR}/sampling_down_factor + echo 1 > ${GOVDIR}/io_is_busy fi } diff --git a/board/raspberrypi3/overlay/etc/init.d/S11throttlewatch b/board/raspberrypi3/overlay/etc/init.d/S11throttlewatch index a06374158c..4f6a422152 100755 --- a/board/raspberrypi3/overlay/etc/init.d/S11throttlewatch +++ b/board/raspberrypi3/overlay/etc/init.d/S11throttlewatch @@ -1,8 +1,9 @@ #!/bin/bash -check_interval=30 +CHECK_INTERVAL=30 -test -n "$os_version" || source /etc/init.d/base + +test -n "${OS_VERSION}" || source /etc/init.d/base get_throttled_now() { t=$(vcgencmd get_throttled | cut -d '=' -f 2) @@ -21,23 +22,23 @@ get_throttled_since_boot() { watch_now() { while true; do t=$(get_throttled_now) - if [[ -n "$t" ]]; then - logger -t throttlewatch -s "currently: $t" + if [[ -n "${t}" ]]; then + logger -t throttlewatch -s "currently: ${t}" fi - sleep $check_interval + sleep ${CHECK_INTERVAL} done } watch_since_boot() { while true; do t=$(get_throttled_since_boot) - if [[ -n "$t" ]]; then - logger -t throttlewatch -s "since boot: $t" + if [[ -n "${t}" ]]; then + logger -t throttlewatch -s "since boot: ${t}" break fi - sleep $check_interval + sleep ${CHECK_INTERVAL} done } diff --git a/board/raspberrypi3/overlay/etc/init.d/S13btuart b/board/raspberrypi3/overlay/etc/init.d/S13btuart index 513842ba6a..0ad4deda81 100755 --- a/board/raspberrypi3/overlay/etc/init.d/S13btuart +++ b/board/raspberrypi3/overlay/etc/init.d/S13btuart @@ -1,12 +1,15 @@ #!/bin/bash -sys_conf="/etc/bluetooth.conf" -boot_conf="/boot/bluetooth.conf" -conf="/data/etc/bluetooth.conf" +SYS_CONF="/etc/bluetooth.conf" +BOOT_CONF="/boot/bluetooth.conf" +CONF="/data/etc/bluetooth.conf" -test -f $conf || test -f $boot_conf || test -f $sys_conf || exit 0 -test -n "$os_version" || source /etc/init.d/base +test -f ${CONF} || test -f ${BOOT_CONF} || test -f ${SYS_CONF} || exit 0 + +test -d "/proc/device-tree/soc/gpio@7e200000/uart0_pins" || exit 0 # no rpi bluetooth detected + +test -n "${OS_VERSION}" || source /etc/init.d/base function start() { if [[ "$(cat /proc/device-tree/aliases/uart0)" = "$(cat /proc/device-tree/aliases/serial1)" ]] ; then diff --git a/board/raspberrypi3/overlay/etc/init.d/S84streameye b/board/raspberrypi3/overlay/etc/init.d/S84streameye index 81e2e2c896..65ca3ba78e 100755 --- a/board/raspberrypi3/overlay/etc/init.d/S84streameye +++ b/board/raspberrypi3/overlay/etc/init.d/S84streameye @@ -1,15 +1,16 @@ #!/bin/sh -motioneye_conf_dir="/data/etc/" +MOTIONEYE_CONF_DIR="/data/etc/" -test -n "$os_version" || source /etc/init.d/base + +test -n "${OS_VERSION}" || source /etc/init.d/base enabled() { - test $(ls -1 $motioneye_conf_dir/thread-*.conf 2>/dev/null| wc -l) == 1 || return 1 + test $(ls -1 ${MOTIONEYE_CONF_DIR}/thread-*.conf 2>/dev/null| wc -l) == 1 || return 1 - grep '# @proto mjpeg' $motioneye_conf_dir/thread-1.conf &>/dev/null || return 1 + grep '# @proto mjpeg' ${MOTIONEYE_CONF_DIR}/thread-1.conf &>/dev/null || return 1 - grep -E '# @url http://(.*)127.0.0.1:' $motioneye_conf_dir/thread-1.conf &>/dev/null || return 1 + grep -E '# @url http://(.*)127.0.0.1:' ${MOTIONEYE_CONF_DIR}/thread-1.conf &>/dev/null || return 1 return 0 } diff --git a/board/raspberrypi3/overlay/usr/bin/streameye.sh b/board/raspberrypi3/overlay/usr/bin/streameye.sh index 8ab060182b..468b9bb1c2 100755 --- a/board/raspberrypi3/overlay/usr/bin/streameye.sh +++ b/board/raspberrypi3/overlay/usr/bin/streameye.sh @@ -6,8 +6,9 @@ MOTIONEYE_CONF=/data/etc/motioneye.conf STREAMEYE_CONF=/data/etc/streameye.conf STREAMEYE_LOG=/var/log/streameye.log -test -r $RASPIMJPEG_CONF || exit 1 -test -r $STREAMEYE_CONF || exit 1 + +test -r ${RASPIMJPEG_CONF} || exit 1 +test -r ${STREAMEYE_CONF} || exit 1 watch() { count=0 @@ -22,33 +23,33 @@ watch() { function start() { pid=$(ps | grep raspimjpeg.py | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1) - if [ -n "$pid" ]; then + if [ -n "${pid}" ]; then return fi raspimjpeg_opts="" while read line; do - if echo "$line" | grep false &>/dev/null; then + if echo "${line}" | grep false &>/dev/null; then continue fi - if echo "$line" | grep true &>/dev/null; then - line=$(echo $line | cut -d ' ' -f 1) + if echo "${line}" | grep true &>/dev/null; then + line=$(echo ${line} | cut -d ' ' -f 1) fi - raspimjpeg_opts="$raspimjpeg_opts --$line" - done < $RASPIMJPEG_CONF + raspimjpeg_opts="${raspimjpeg_opts} --${line}" + done < ${RASPIMJPEG_CONF} - source $STREAMEYE_CONF - streameye_opts="-p $PORT" - if [ -n "$CREDENTIALS" ] && [ "$AUTH" = "basic" ]; then - streameye_opts="$streameye_opts -a basic -c $CREDENTIALS" + source ${STREAMEYE_CONF} + streameye_opts="-p ${PORT}" + if [ -n "${CREDENTIALS}" ] && [ "${AUTH}" = "basic" ]; then + streameye_opts="${streameye_opts} -a basic -c ${CREDENTIALS}" fi - if [ -r $MOTIONEYE_CONF ] && grep 'log-level debug' $MOTIONEYE_CONF >/dev/null; then - raspimjpeg_opts="$raspimjpeg_opts -d" - streameye_opts="$streameye_opts -d" + if [ -r ${MOTIONEYE_CONF} ] && grep 'log-level debug' ${MOTIONEYE_CONF} >/dev/null; then + raspimjpeg_opts="${raspimjpeg_opts} -d" + streameye_opts="${streameye_opts} -d" fi - raspimjpeg.py $raspimjpeg_opts 2>$RASPIMJPEG_LOG | streameye $streameye_opts &>$STREAMEYE_LOG & + raspimjpeg.py ${raspimjpeg_opts} 2>${RASPIMJPEG_LOG} | streameye ${streameye_opts} &>${STREAMEYE_LOG} & } function stop() { @@ -57,17 +58,17 @@ function stop() { # stop the raspimjpeg process pid=$(ps | grep raspimjpeg.py | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1) - if [ -z "$pid" ]; then + if [ -z "${pid}" ]; then return fi - kill -HUP "$pid" &>/dev/null + kill -HUP "${pid}" &>/dev/null count=0 - while kill -0 "$pid" &>/dev/null && [ $count -lt 5 ]; do + while kill -0 "${pid}" &>/dev/null && [ ${count} -lt 5 ]; do sleep 1 - count=$(($count + 1)) + count=$((${count} + 1)) done - kill -KILL "$pid" &>/dev/null || true + kill -KILL "${pid}" &>/dev/null || true } case "$1" in diff --git a/board/raspberrypi3/overlay/usr/libexec/fw-restore-boot-cfg b/board/raspberrypi3/overlay/usr/libexec/fw-restore-boot-cfg index 628189ebf6..a4cf5afe76 100755 --- a/board/raspberrypi3/overlay/usr/libexec/fw-restore-boot-cfg +++ b/board/raspberrypi3/overlay/usr/libexec/fw-restore-boot-cfg @@ -6,5 +6,5 @@ if [ -z "$1" ]; then fi old_boot=$1 -cp $old_boot/config.txt /boot +cp ${old_boot}/config.txt /boot diff --git a/board/raspberrypi3/postscript.sh b/board/raspberrypi3/postscript.sh index df98ae0de2..318d9637ca 100755 --- a/board/raspberrypi3/postscript.sh +++ b/board/raspberrypi3/postscript.sh @@ -2,16 +2,16 @@ set -e -RPI_FW_DIR=$TARGET/../images/rpi-firmware +RPI_FW_DIR=${TARGET}/../images/rpi-firmware -cp $BOARD_DIR/config.txt $BOOT_DIR -cp $BOARD_DIR/cmdline.txt $BOOT_DIR -cp $BOARD_DIR/fwupdater.gz $BOOT_DIR -cp $IMG_DIR/zImage $BOOT_DIR/kernel.img -cp $IMG_DIR/bcm2710-rpi-3-b.dtb $BOOT_DIR -cp $IMG_DIR/bcm2710-rpi-3-b-plus.dtb $BOOT_DIR -cp $IMG_DIR/bcm2710-rpi-cm3.dtb $BOOT_DIR -cp $RPI_FW_DIR/bootcode.bin $BOOT_DIR -cp $RPI_FW_DIR/start.elf $BOOT_DIR -cp $RPI_FW_DIR/fixup.dat $BOOT_DIR +cp ${BOARD_DIR}/config.txt ${BOOT_DIR} +cp ${BOARD_DIR}/cmdline.txt ${BOOT_DIR} +cp ${BOARD_DIR}/fwupdater.gz ${BOOT_DIR} +cp ${IMG_DIR}/zImage ${BOOT_DIR}/kernel.img +cp ${IMG_DIR}/bcm2710-rpi-3-b.dtb ${BOOT_DIR} +cp ${IMG_DIR}/bcm2710-rpi-3-b-plus.dtb ${BOOT_DIR} +cp ${IMG_DIR}/bcm2710-rpi-cm3.dtb ${BOOT_DIR} +cp ${RPI_FW_DIR}/bootcode.bin ${BOOT_DIR} +cp ${RPI_FW_DIR}/start.elf ${BOOT_DIR} +cp ${RPI_FW_DIR}/fixup.dat ${BOOT_DIR} diff --git a/board/tinkerboard/cpinitramfs.sh b/board/tinkerboard/cpinitramfs.sh new file mode 100755 index 0000000000..ec58579d60 --- /dev/null +++ b/board/tinkerboard/cpinitramfs.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +cp $IMG_DIR/rootfs.cpio.gz $BOARD_DIR/initrd.gz + diff --git a/board/tinkerboard/extlinux/extlinux.conf b/board/tinkerboard/extlinux/extlinux.conf new file mode 100755 index 0000000000..c66bcf9569 --- /dev/null +++ b/board/tinkerboard/extlinux/extlinux.conf @@ -0,0 +1,5 @@ +label kernel-4.4 + kernel /zImage + fdt /rk3288-miniarm.dtb + append console=tty1 root=/dev/mmcblk0p2 rootwait panic=10 earlyprintk quiet loglevel=1 ipv6.disable=1 + diff --git a/board/tinkerboard/hw_intf.conf b/board/tinkerboard/hw_intf.conf new file mode 100755 index 0000000000..3f28bb0219 --- /dev/null +++ b/board/tinkerboard/hw_intf.conf @@ -0,0 +1,20 @@ + +#Hardware Interface Config + +intf:spi0=off +intf:uart2=off +intf:uart3=on +intf:uart4=on +intf:pcm_i2s=on +intf:i2c1=on +intf:i2c4=on +intf:spi2=on +intf:pwm2=on +intf:pwm3=on +intf:uart1=on + +#DTS Overlay Config +# 1. check the name.dtbo in /boot/overlays +# 2. add intf:dtoverlay=name as below + +#intf:dtoverlay=i2c diff --git a/board/tinkerboard/initrd.gz b/board/tinkerboard/initrd.gz new file mode 100644 index 0000000000..d5f4c29f6c Binary files /dev/null and b/board/tinkerboard/initrd.gz differ diff --git a/board/tinkerboard/mkimage.sh b/board/tinkerboard/mkimage.sh new file mode 100755 index 0000000000..60b7b2e5fe --- /dev/null +++ b/board/tinkerboard/mkimage.sh @@ -0,0 +1,12 @@ +#!/bin/bash -e + +BOARD_DIR=$(dirname $0) +COMMON_DIR=$BOARD_DIR/../common + +export BOARD=$(basename $BOARD_DIR) +export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ +export UBOOT_BIN=$BOARD_DIR/u-boot.img +export UBOOT_SEEK=64 + +$COMMON_DIR/mkimage.sh + diff --git a/board/tinkerboard/overlay-initramfs/remove_initramfs b/board/tinkerboard/overlay-initramfs/remove_initramfs new file mode 100755 index 0000000000..c0d168d40a --- /dev/null +++ b/board/tinkerboard/overlay-initramfs/remove_initramfs @@ -0,0 +1,4 @@ +#!/bin/sh + +sed 's/\([ ]*\)\(initrd.*\)/\1#\2/g' /boot/extlinux/extlinux.conf + diff --git a/board/tinkerboard/overlay/etc/board b/board/tinkerboard/overlay/etc/board new file mode 100644 index 0000000000..ab6c50ec68 --- /dev/null +++ b/board/tinkerboard/overlay/etc/board @@ -0,0 +1 @@ +tinkerboard diff --git a/board/tinkerboard/overlay/etc/init.d/boardsn b/board/tinkerboard/overlay/etc/init.d/boardsn new file mode 100755 index 0000000000..16881c26f7 --- /dev/null +++ b/board/tinkerboard/overlay/etc/init.d/boardsn @@ -0,0 +1,5 @@ +#!/bin/bash + +sn=$(cat /proc/cpuinfo | grep Serial | tr -d ' ' | cut -d ':' -f 2) +echo ${sn: -8} + diff --git a/board/tinkerboard/overlay/usr/libexec/fw-prepare-boot b/board/tinkerboard/overlay/usr/libexec/fw-prepare-boot new file mode 100755 index 0000000000..f77bc72d94 --- /dev/null +++ b/board/tinkerboard/overlay/usr/libexec/fw-prepare-boot @@ -0,0 +1,5 @@ +#!/bin/bash + +cat /boot/extlinux/extlinux.conf | grep -v 'initrd' > /boot/extlinux/extlinux.conf +echo " initrd /initrd.gz" >> /boot/extlinux/extlinux.conf + diff --git a/board/tinkerboard/postscript.sh b/board/tinkerboard/postscript.sh new file mode 100755 index 0000000000..41b396f5b8 --- /dev/null +++ b/board/tinkerboard/postscript.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +cp $IMG_DIR/zImage $BOOT_DIR +cp $IMG_DIR/rk3288-miniarm.dtb $BOOT_DIR +cp $BOARD_DIR/hw_intf.conf $BOOT_DIR +cp -r $BOARD_DIR/extlinux $BOOT_DIR + diff --git a/board/tinkerboard/u-boot.img b/board/tinkerboard/u-boot.img new file mode 100644 index 0000000000..1afae77ea0 Binary files /dev/null and b/board/tinkerboard/u-boot.img differ diff --git a/build.sh b/build.sh index 51df9c908b..a63b327624 100755 --- a/build.sh +++ b/build.sh @@ -17,8 +17,6 @@ board=$1 target=${*:2} cd $(dirname $0) basedir=$(pwd) -osname=$(source $basedir/board/common/overlay/etc/version && echo $os_short_name) -osversion=$(source $basedir/board/common/overlay/etc/version && echo $os_version) gzip=$(which pigz 2> /dev/null || which gzip 2> /dev/null) # extra environment from local file @@ -28,14 +26,14 @@ test -f $basedir/.build-env && source $basedir/.build-env if [ -n "$THINGOS_SHORT_NAME" ]; then osname=$THINGOS_SHORT_NAME else - osname=$(source $basedir/board/common/overlay/etc/version && echo $os_short_name) + osname=$(source $basedir/board/common/overlay/etc/version && echo $OS_SHORT_NAME) fi # OS version if [ -n "$THINGOS_VERSION" ]; then osversion=$THINGOS_VERSION else - osversion=$(source $basedir/board/common/overlay/etc/version && echo $os_version) + osversion=$(source $basedir/board/common/overlay/etc/version && echo $OS_VERSION) fi # when the special "boards" keyword is used for board, simply list all known boards @@ -68,6 +66,13 @@ if ! [ -f $basedir/configs/${board}_defconfig ]; then exit 1 fi +function prepare_target_dir() { + if [ -L $outputdir/target/var/lib ]; then + rm $outputdir/target/var/lib + mkdir $outputdir/target/var/lib + fi +} + mkdir -p $outputdir if ! [ -f $outputdir/.config ]; then @@ -137,9 +142,11 @@ elif [[ "$target" == initramfs* ]]; then fi elif [ "$target" == "all" ]; then + prepare_target_dir make O=$outputdir all elif [ -n "$target" ]; then + prepare_target_dir make O=$outputdir $target else # if [ -z "$target ] diff --git a/configs/tinkerboard_defconfig b/configs/tinkerboard_defconfig new file mode 100644 index 0000000000..e7c8d39272 --- /dev/null +++ b/configs/tinkerboard_defconfig @@ -0,0 +1,79 @@ +BR2_arm=y +BR2_cortex_a17=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-tinkerboard" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y +BR2_ROOTFS_OVERLAY="board/common/overlay board/tinkerboard/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/TinkerBoard/debian_kernel/archive/1a0fdafdf55afa88272fb61c8b910ed885d7fada.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="miniarm-rk3288" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-miniarm" +BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_B43_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y +BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y +BR2_PACKAGE_USB_MODESWITCH_DATA=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y +BR2_PACKAGE_LIBFUSE=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_CURL=y +BR2_PACKAGE_LIBCAP=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_CRDA=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_CLIENT=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_NETCAT=y +BR2_PACKAGE_NET_TOOLS=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_PPPD=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_PACKAGE_WPA_SUPPLICANT_EAP=y +BR2_PACKAGE_WPA_SUPPLICANT_WPS=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_LOGROTATE=y +BR2_PACKAGE_TAR=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_NANO=y +BR2_PACKAGE_HOST_DTC=y +BR2_PACKAGE_HOST_SUNXI_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/tinkerboard_initramfs_defconfig b/configs/tinkerboard_initramfs_defconfig new file mode 100644 index 0000000000..d93c80bc28 --- /dev/null +++ b/configs/tinkerboard_initramfs_defconfig @@ -0,0 +1,16 @@ +BR2_arm=y +BR2_cortex_a17=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-tinkerboard-initramfs" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_OVERLAY="board/common/overlay-initramfs board/tinkerboard/overlay-initramfs" +BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox_initramfs.config" +BR2_PACKAGE_UTIL_LINUX=y +BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/package/Config.in b/package/Config.in index 081519c9df..ddcfd47115 100644 --- a/package/Config.in +++ b/package/Config.in @@ -747,10 +747,15 @@ endif if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 menu "External python modules" source "package/python-aiocoap/Config.in" + source "package/python-aiohttp/Config.in" + source "package/python-aiohttp-apispec/Config.in" + source "package/python-aiohttp-swagger/Config.in" source "package/python-alsaaudio/Config.in" + source "package/python-apispec/Config.in" source "package/python-argh/Config.in" source "package/python-arrow/Config.in" source "package/python-asn1crypto/Config.in" + source "package/python-async-timeout/Config.in" source "package/python-attrs/Config.in" source "package/python-autobahn/Config.in" source "package/python-automat/Config.in" @@ -774,6 +779,7 @@ menu "External python modules" source "package/python-cherrypy/Config.in" source "package/python-click/Config.in" source "package/python-coherence/Config.in" + source "package/python-colibris/Config.in" source "package/python-configobj/Config.in" source "package/python-configshell-fb/Config.in" source "package/python-constantly/Config.in" @@ -799,6 +805,7 @@ menu "External python modules" source "package/python-docopt/Config.in" source "package/python-docutils/Config.in" source "package/python-dominate/Config.in" + source "package/python-dotenv/Config.in" source "package/python-dpkt/Config.in" source "package/python-ecdsa/Config.in" source "package/python-engineio/Config.in" @@ -825,6 +832,7 @@ menu "External python modules" source "package/python-ibmiotf/Config.in" source "package/python-id3/Config.in" source "package/python-idna/Config.in" + source "package/python-idna-ssl/Config.in" source "package/python-incremental/Config.in" source "package/python-influxdb/Config.in" source "package/python-iniparse/Config.in" @@ -853,11 +861,15 @@ menu "External python modules" source "package/python-markdown/Config.in" source "package/python-markdown2/Config.in" source "package/python-markupsafe/Config.in" + source "package/python-marshmallow/Config.in" + source "package/python-marshmallow-peewee/Config.in" source "package/python-mbstrdecoder/Config.in" source "package/python-meld3/Config.in" source "package/python-mistune/Config.in" + source "package/python-mock/Config.in" source "package/python-more-itertools/Config.in" source "package/python-msgpack/Config.in" + source "package/python-multidict/Config.in" source "package/python-mutagen/Config.in" source "package/python-mwclient/Config.in" source "package/python-mwscrape/Config.in" @@ -876,6 +888,9 @@ menu "External python modules" source "package/python-pathpy/Config.in" source "package/python-pathtools/Config.in" source "package/python-pathvalidate/Config.in" + source "package/python-pbr/Config.in" + source "package/python-peewee/Config.in" + source "package/python-peewee-migrate/Config.in" source "package/python-pexpect/Config.in" source "package/python-pickleshare/Config.in" source "package/python-picamera/Config.in" @@ -902,6 +917,7 @@ menu "External python modules" source "package/python-pygments/Config.in" source "package/python-pyicu/Config.in" source "package/python-pyinotify/Config.in" + source "package/python-pyjwt/Config.in" source "package/python-pylibftdi/Config.in" source "package/python-pylru/Config.in" source "package/python-pymodbus/Config.in" @@ -934,6 +950,7 @@ menu "External python modules" source "package/python-pyyaml/Config.in" source "package/python-pyzmq/Config.in" source "package/python-raven/Config.in" + source "package/python-redis/Config.in" source "package/python-reentry/Config.in" source "package/python-remi/Config.in" source "package/python-request-id/Config.in" @@ -941,6 +958,7 @@ menu "External python modules" source "package/python-requests-oauthlib/Config.in" source "package/python-requests-toolbelt/Config.in" source "package/python-rpi-gpio/Config.in" + source "package/python-rq/Config.in" source "package/python-rtslib-fb/Config.in" source "package/python-scandir/Config.in" source "package/python-scapy3k/Config.in" @@ -982,6 +1000,7 @@ menu "External python modules" source "package/python-txaio/Config.in" source "package/python-txtorcon/Config.in" source "package/python-typepy/Config.in" + source "package/python-typing-extensions/Config.in" source "package/python-u-msgpack/Config.in" source "package/python-ubjson/Config.in" source "package/python-ujson/Config.in" @@ -993,6 +1012,7 @@ menu "External python modules" source "package/python-watchdog/Config.in" source "package/python-wcwidth/Config.in" source "package/python-web2py/Config.in" + source "package/python-webargs/Config.in" source "package/python-webob/Config.in" source "package/python-webpy/Config.in" source "package/python-websocket-client/Config.in" @@ -1007,6 +1027,7 @@ menu "External python modules" source "package/python-xlutils/Config.in" source "package/python-xlwt/Config.in" source "package/python-xmltodict/Config.in" + source "package/python-yarl/Config.in" source "package/python-yieldfrom/Config.in" source "package/python-zope-interface/Config.in" endmenu diff --git a/package/Config.in.host b/package/Config.in.host index 7838ffc219..ef1cdbfb25 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -45,6 +45,7 @@ menu "Host utilities" source "package/pwgen/Config.in.host" source "package/python-cython/Config.in.host" source "package/python-lxml/Config.in.host" + source "package/python-pbr/Config.in.host" source "package/python-six/Config.in.host" source "package/python-xlrd/Config.in.host" source "package/qemu/Config.in.host" diff --git a/package/motioneye/extractl.py b/package/motioneye/extractl.py index d9a4d173f2..85c1d8cd3e 100644 --- a/package/motioneye/extractl.py +++ b/package/motioneye/extractl.py @@ -148,7 +148,7 @@ def _get_os_settings(): except: continue - if name == 'os_prereleases': + if name == 'OS_PRERELEASES': prereleases = value == 'true' s = { @@ -184,11 +184,11 @@ def _set_os_settings(s): except: continue - if name == 'os_prereleases': - lines[i] = 'os_prereleases="%s"' % str(s.pop('prereleases')).lower() + if name == 'OS_PRERELEASES': + lines[i] = 'OS_PRERELEASES="%s"' % str(s.pop('prereleases')).lower() if 'prereleases' in s: - lines.append('os_prereleases="%s"' % str(s.pop('prereleases')).lower()) + lines.append('OS_PRERELEASES="%s"' % str(s.pop('prereleases')).lower()) with open(OS_CONF, 'w') as f: for line in lines: @@ -311,11 +311,18 @@ def _set_motioneye_settings(s): f.write(line) # also update debug in os.conf + cmd = 'grep -E "^OS_DEBUG" %s &>/dev/null' % OS_CONF + try: + subprocess.check_call(cmd, shell=True) + + except subprocess.CalledProcessError: # OS_DEBUG not present + os.system('echo OS_DEBUG=\\"false\\" >> %s' % OS_CONF) + if debug: - cmd = "sed -i -r 's/os_debug=\"?false\"?/os_debug=\"true\"/' %s" % OS_CONF + cmd = "sed -i -r 's/OS_DEBUG=\"?false\"?/OS_DEBUG=\"true\"/' %s" % OS_CONF else: - cmd = "sed -i -r 's/os_debug=\"?true\"?/os_debug=\"false\"/' %s" % OS_CONF + cmd = "sed -i -r 's/OS_DEBUG=\"?true\"?/OS_DEBUG=\"false\"/' %s" % OS_CONF if os.system(cmd): logging.error('failed to set debug flag in os.conf') diff --git a/package/motioneye/platformupdate.py b/package/motioneye/platformupdate.py index bd223b40c5..b4e8e572bc 100644 --- a/package/motioneye/platformupdate.py +++ b/package/motioneye/platformupdate.py @@ -27,7 +27,7 @@ def get_os_version(): lines = [l.strip().split('=', 1) for l in lines] data = dict([(l[0], l[1].strip('"')) for l in lines]) - return (data['os_name'], data['os_version']) + return (data['OS_NAME'], data['OS_VERSION']) def get_all_versions(): diff --git a/package/python-aiohttp-apispec/Config.in b/package/python-aiohttp-apispec/Config.in new file mode 100644 index 0000000000..441af28cbc --- /dev/null +++ b/package/python-aiohttp-apispec/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_APISPEC + bool "python-aiohttp-apispec" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP + select BR2_PACKAGE_PYTHON_APISPEC + help + Build and document REST APIs with aiohttp and apispec. + + https://github.com/maximdanilchenko/aiohttp-apispec diff --git a/package/python-aiohttp-apispec/python-aiohttp-apispec.hash b/package/python-aiohttp-apispec/python-aiohttp-apispec.hash new file mode 100644 index 0000000000..24cf219a6b --- /dev/null +++ b/package/python-aiohttp-apispec/python-aiohttp-apispec.hash @@ -0,0 +1,2 @@ +sha256 139f87b2af7b24e3fc02f23e6ff089aac151bfe961f8d9c61211f277ecb633b6 aiohttp-apispec-0.7.7.tar.gz + diff --git a/package/python-aiohttp-apispec/python-aiohttp-apispec.mk b/package/python-aiohttp-apispec/python-aiohttp-apispec.mk new file mode 100644 index 0000000000..a05bb43c65 --- /dev/null +++ b/package/python-aiohttp-apispec/python-aiohttp-apispec.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-apispec +# +################################################################################ + +PYTHON_AIOHTTP_APISPEC_VERSION = 0.7.7 +PYTHON_AIOHTTP_APISPEC_SOURCE = aiohttp-apispec-$(PYTHON_AIOHTTP_APISPEC_VERSION).tar.gz +PYTHON_AIOHTTP_APISPEC_SITE = https://files.pythonhosted.org/packages/2f/4f/3085c9efff1ecf9949664769ffa55cb3702829c17a6c25e82671e85af24b +PYTHON_AIOHTTP_APISPEC_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_APISPEC_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_APISPEC_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-aiohttp-swagger/Config.in b/package/python-aiohttp-swagger/Config.in new file mode 100644 index 0000000000..45137fc8b9 --- /dev/null +++ b/package/python-aiohttp-swagger/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_SWAGGER + bool "python-aiohttp-swagger" + depends on BR2_PACKAGE_PYTHON3 + help + Swagger API Documentation builder for aiohttp server + + https://github.com/cr0hn/aiohttp-swagger diff --git a/package/python-aiohttp-swagger/python-aiohttp-swagger.hash b/package/python-aiohttp-swagger/python-aiohttp-swagger.hash new file mode 100644 index 0000000000..0fab5422a0 --- /dev/null +++ b/package/python-aiohttp-swagger/python-aiohttp-swagger.hash @@ -0,0 +1,2 @@ +sha256 b9db24513c2092e4d5aecc897d7df01e7ba8ed2c23699536c20d1743e15f87e4 aiohttp-swagger-1.0.5.tar.gz + diff --git a/package/python-aiohttp-swagger/python-aiohttp-swagger.mk b/package/python-aiohttp-swagger/python-aiohttp-swagger.mk new file mode 100644 index 0000000000..1fa19d34c2 --- /dev/null +++ b/package/python-aiohttp-swagger/python-aiohttp-swagger.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-apispec +# +################################################################################ + +PYTHON_AIOHTTP_SWAGGER_VERSION = 1.0.5 +PYTHON_AIOHTTP_SWAGGER_SOURCE = aiohttp-swagger-$(PYTHON_AIOHTTP_SWAGGER_VERSION).tar.gz +PYTHON_AIOHTTP_SWAGGER_SITE = https://files.pythonhosted.org/packages/96/a9/4c74fbd561b3beea9d8926f91290b026e746d20279b876f98fb9ac0bbe02 +PYTHON_AIOHTTP_SWAGGER_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_SWAGGER_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_SWAGGER_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-aiohttp/Config.in b/package/python-aiohttp/Config.in new file mode 100644 index 0000000000..d75c440225 --- /dev/null +++ b/package/python-aiohttp/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP + bool "python-aiohttp" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_CCHARDET if BR2_INSTALL_LIBSTDCPP # runtime + select BR2_PACKAGE_PYTHON_CHARDET if !BR2_INSTALL_LIBSTDCPP # runtime + select BR2_PACKAGE_PYTHON_MULTIDICT # runtime + select BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT # runtime + select BR2_PACKAGE_PYTHON_YARL # runtime + select BR2_PACKAGE_PYTHON_AIODNS # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime + help + Async http client/server framework (asyncio). + + https://github.com/aio-libs/aiohttp diff --git a/package/python-aiohttp/python-aiohttp.hash b/package/python-aiohttp/python-aiohttp.hash new file mode 100644 index 0000000000..bd9e2d7a62 --- /dev/null +++ b/package/python-aiohttp/python-aiohttp.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp/json +md5 85fe5c9037256c58d4678148bd91b3f3 aiohttp-3.5.4.tar.gz +sha256 9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf aiohttp-3.5.4.tar.gz +# Locally computed sha256 checksums +sha256 6fd5243e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 LICENSE.txt diff --git a/package/python-aiohttp/python-aiohttp.mk b/package/python-aiohttp/python-aiohttp.mk new file mode 100644 index 0000000000..7a142a6550 --- /dev/null +++ b/package/python-aiohttp/python-aiohttp.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp +# +################################################################################ + +PYTHON_AIOHTTP_VERSION = 3.5.4 +PYTHON_AIOHTTP_SOURCE = aiohttp-$(PYTHON_AIOHTTP_VERSION).tar.gz +PYTHON_AIOHTTP_SITE = https://files.pythonhosted.org/packages/0f/58/c8b83f999da3b13e66249ea32f325be923791c0c10aee6cf16002a3effc1 +PYTHON_AIOHTTP_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-apispec/0001-fix-setup-encoding.patch b/package/python-apispec/0001-fix-setup-encoding.patch new file mode 100644 index 0000000000..835b114f7d --- /dev/null +++ b/package/python-apispec/0001-fix-setup-encoding.patch @@ -0,0 +1,12 @@ +diff -uNr apispec-0.39.0-orig/setup.py apispec-0.39.0-patched/setup.py +--- apispec-0.39.0-orig/setup.py 2018-06-29 05:50:26.000000000 +0300 ++++ apispec-0.39.0-patched/setup.py 2019-01-24 23:36:41.947206745 +0200 +@@ -13,7 +13,7 @@ + Raises RuntimeError if not found. + """ + version = '' +- with open(fname, 'r') as fp: ++ with open(fname, 'r', encoding='utf-8') as fp: + reg = re.compile(r'__version__ = [\'"]([^\'"]*)[\'"]') + for line in fp: + m = reg.match(line) diff --git a/package/python-apispec/Config.in b/package/python-apispec/Config.in new file mode 100644 index 0000000000..cac714c5a9 --- /dev/null +++ b/package/python-apispec/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_APISPEC + bool "python-apispec" + depends on BR2_PACKAGE_PYTHON3 + help + A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification). + + https://github.com/marshmallow-code/apispec diff --git a/package/python-apispec/python-apispec.hash b/package/python-apispec/python-apispec.hash new file mode 100644 index 0000000000..577267d013 --- /dev/null +++ b/package/python-apispec/python-apispec.hash @@ -0,0 +1,2 @@ +sha256 1661bc574b1579ef72883aafd87c0178d1c129659cd4f1c76a68fcc852e1b4ed apispec-0.39.0.tar.gz + diff --git a/package/python-apispec/python-apispec.mk b/package/python-apispec/python-apispec.mk new file mode 100644 index 0000000000..f4b7b2b69c --- /dev/null +++ b/package/python-apispec/python-apispec.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-apispec +# +################################################################################ + +PYTHON_APISPEC_VERSION = 0.39.0 +PYTHON_APISPEC_SOURCE = apispec-$(PYTHON_APISPEC_VERSION).tar.gz +PYTHON_APISPEC_SITE = https://files.pythonhosted.org/packages/e9/92/833b2715566b9fe4a34ea544f48f997b3468cbe4c2a2a70d8dd432830c24 +PYTHON_APISPEC_SETUP_TYPE = setuptools +PYTHON_APISPEC_LICENSE = Apache-2.0 +PYTHON_APISPEC_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-async-timeout/Config.in b/package/python-async-timeout/Config.in new file mode 100644 index 0000000000..659a0fdeca --- /dev/null +++ b/package/python-async-timeout/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT + bool "python-async-timeout" + depends on BR2_PACKAGE_PYTHON3 + help + asyncio-compatible timeout context manager. + + https://github.com/aio-libs/async-timeout diff --git a/package/python-async-timeout/python-async-timeout.hash b/package/python-async-timeout/python-async-timeout.hash new file mode 100644 index 0000000000..f99e1daddb --- /dev/null +++ b/package/python-async-timeout/python-async-timeout.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.python.org/pypi/async_timeout/json +md5 305c4fa529f2485c403d0dbe14390175 async-timeout-3.0.1.tar.gz +sha256 0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f async-timeout-3.0.1.tar.gz +# Locally computed sha256 checksums +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/package/python-async-timeout/python-async-timeout.mk b/package/python-async-timeout/python-async-timeout.mk new file mode 100644 index 0000000000..093adc5c19 --- /dev/null +++ b/package/python-async-timeout/python-async-timeout.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-async-timeout +# +################################################################################ + +PYTHON_ASYNC_TIMEOUT_VERSION = 3.0.1 +PYTHON_ASYNC_TIMEOUT_SOURCE = async-timeout-$(PYTHON_ASYNC_TIMEOUT_VERSION).tar.gz +PYTHON_ASYNC_TIMEOUT_SITE = https://files.pythonhosted.org/packages/a1/78/aae1545aba6e87e23ecab8d212b58bb70e72164b67eb090b81bb17ad38e3 +PYTHON_ASYNC_TIMEOUT_LICENSE = Apache-2.0 +PYTHON_ASYNC_TIMEOUT_LICENSE_FILES = LICENSE +PYTHON_ASYNC_TIMEOUT_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-attrs/python-attrs.hash b/package/python-attrs/python-attrs.hash index 4434fa1928..0d46f97e89 100644 --- a/package/python-attrs/python-attrs.hash +++ b/package/python-attrs/python-attrs.hash @@ -1,3 +1 @@ -# md5 from https://pypi.python.org/pypi/attrs/json, sha256 locally computed -md5 3b7136a570f3ff8a4ff42e7360073f9f attrs-17.2.0.tar.gz -sha256 5d4d1b99f94d69338f485984127e4473b3ab9e20f43821b0e546cc3b2302fd11 attrs-17.2.0.tar.gz +sha256 10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69 attrs-18.2.0.tar.gz diff --git a/package/python-attrs/python-attrs.mk b/package/python-attrs/python-attrs.mk index c9633711c8..9fbee2d349 100644 --- a/package/python-attrs/python-attrs.mk +++ b/package/python-attrs/python-attrs.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ATTRS_VERSION = 17.2.0 +PYTHON_ATTRS_VERSION = 18.2.0 PYTHON_ATTRS_SOURCE = attrs-$(PYTHON_ATTRS_VERSION).tar.gz -PYTHON_ATTRS_SITE = https://pypi.python.org/packages/be/41/e909cb6d901e9689da947419505cc7fb7d242a08a62ee221fce6a009a523 +PYTHON_ATTRS_SITE = https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf PYTHON_ATTRS_SETUP_TYPE = setuptools PYTHON_ATTRS_LICENSE = MIT PYTHON_ATTRS_LICENSE_FILES = LICENSE diff --git a/package/python-cached-property/python-cached-property.hash b/package/python-cached-property/python-cached-property.hash index 255b2d9ec6..329af15b92 100644 --- a/package/python-cached-property/python-cached-property.hash +++ b/package/python-cached-property/python-cached-property.hash @@ -1,4 +1 @@ -# md5 from https://pypi.python.org/pypi/cached-property/json, sha256 locally computed -md5 fc7a49d2c4b7987f92b00c7b49128530 cached-property-1.4.0.tar.gz -sha256 a2fa0f89dd422f7e5dd992a4a3e0ce209d5d1e47a4db28fd0a7b5273ec8da3f0 cached-property-1.4.0.tar.gz -sha256 ba4756c8039b25b66e3c456cc5bf635aa528cf459b97ee1499d06684ccd89b9a LICENSE +sha256 9217a59f14a5682da7c4b8829deadbfc194ac22e9908ccf7c8820234e80a1504 cached-property-1.5.1.tar.gz diff --git a/package/python-cached-property/python-cached-property.mk b/package/python-cached-property/python-cached-property.mk index 3e1363853f..f83a1f18f4 100644 --- a/package/python-cached-property/python-cached-property.mk +++ b/package/python-cached-property/python-cached-property.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CACHED_PROPERTY_VERSION = 1.4.0 +PYTHON_CACHED_PROPERTY_VERSION = 1.5.1 PYTHON_CACHED_PROPERTY_SOURCE = cached-property-$(PYTHON_CACHED_PROPERTY_VERSION).tar.gz -PYTHON_CACHED_PROPERTY_SITE = https://pypi.python.org/packages/ce/87/72b7a5a0504ad8d5d5ea6804ac5b24ce4f07869f61c47ea00cd4382320ba +PYTHON_CACHED_PROPERTY_SITE = https://files.pythonhosted.org/packages/57/8e/0698e10350a57d46b3bcfe8eff1d4181642fd1724073336079cb13c5cf7f PYTHON_CACHED_PROPERTY_SETUP_TYPE = setuptools PYTHON_CACHED_PROPERTY_LICENSE = BSD-3-Clause PYTHON_CACHED_PROPERTY_LICENSE_FILES = LICENSE diff --git a/package/python-colibris/Config.in b/package/python-colibris/Config.in new file mode 100644 index 0000000000..93939f3251 --- /dev/null +++ b/package/python-colibris/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_COLIBRIS + bool "python-colibris" + depends on BR2_PACKAGE_PYTHON3 + help + A collection of libraries glued together to make writing RESTful microservices easier. + + https://gitlab.com/safefleet/colibris diff --git a/package/python-colibris/python-colibris.hash b/package/python-colibris/python-colibris.hash new file mode 100644 index 0000000000..f472910c84 --- /dev/null +++ b/package/python-colibris/python-colibris.hash @@ -0,0 +1,2 @@ +sha256 ef291ebd1935886d2aae0cb996da3dddcfb7253462df185980897b290fd26d78 colibris-0.4.2.tar.gz + diff --git a/package/python-colibris/python-colibris.mk b/package/python-colibris/python-colibris.mk new file mode 100644 index 0000000000..04fd0f9b4b --- /dev/null +++ b/package/python-colibris/python-colibris.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-colibris +# +################################################################################ + +PYTHON_COLIBRIS_VERSION = 0.4.2 +PYTHON_COLIBRIS_SOURCE = colibris-$(PYTHON_COLIBRIS_VERSION).tar.gz +PYTHON_COLIBRIS_SITE = https://files.pythonhosted.org/packages/05/88/2fcf6ddd6c9591147b14f691b9bf4007cc909a0f2f2e9fa8af5150a8e59d +PYTHON_COLIBRIS_SETUP_TYPE = setuptools +PYTHON_COLIBRIS_LICENSE = Apache-2.0 +PYTHON_COLIBRIS_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-dotenv/Config.in b/package/python-dotenv/Config.in new file mode 100644 index 0000000000..c21e7e8b6b --- /dev/null +++ b/package/python-dotenv/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_DOTENV + bool "python-dotenv" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + Add .env support to your django/flask apps in development and deployments. + + https://github.com/theskumar/python-dotenv diff --git a/package/python-dotenv/python-dotenv.hash b/package/python-dotenv/python-dotenv.hash new file mode 100644 index 0000000000..7eaaf1501a --- /dev/null +++ b/package/python-dotenv/python-dotenv.hash @@ -0,0 +1,2 @@ +sha256 c9b1ddd3cdbe75c7d462cb84674d87130f4b948f090f02c7d7144779afb99ae0 python-dotenv-0.10.1.tar.gz + diff --git a/package/python-dotenv/python-dotenv.mk b/package/python-dotenv/python-dotenv.mk new file mode 100644 index 0000000000..d3b2978c5a --- /dev/null +++ b/package/python-dotenv/python-dotenv.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-dotenv +# +################################################################################ + +PYTHON_DOTENV_VERSION = 0.10.1 +PYTHON_DOTENV_SOURCE = python-dotenv-$(PYTHON_DOTENV_VERSION).tar.gz +PYTHON_DOTENV_SITE = https://files.pythonhosted.org/packages/0f/fe/b0e23db9c6b7dc8c2b21b62990890c85441c95557be1f3f3d5a126ec3009 +PYTHON_DOTENV_SETUP_TYPE = setuptools +PYTHON_DOTENV_LICENSE = Apache-2.0 +PYTHON_DOTENV_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-fastentrypoints/Config.in.host b/package/python-fastentrypoints/Config.in.host new file mode 100644 index 0000000000..91605509ab --- /dev/null +++ b/package/python-fastentrypoints/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_PYTHON_FASTENTRYPOINTS + bool "host python-fastentrypoints" + help + Makes entry_points specified in setup.py load more quickly. + + https://github.com/ninjaaron/fast-entry_points diff --git a/package/python-fastentrypoints/python-fastentrypoints.hash b/package/python-fastentrypoints/python-fastentrypoints.hash new file mode 100644 index 0000000000..71165d61fa --- /dev/null +++ b/package/python-fastentrypoints/python-fastentrypoints.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.org/pypi/fastentrypoints/json, sha256 locally computed +md5 390ad9a9229164a06156a5b1f0ef1b22 fastentrypoints-0.12.tar.gz +sha256 ff284f1469bd65400599807d2c6284d5b251398e6e28811f5f77fd262292410b fastentrypoints-0.12.tar.gz +sha256 d1ce3f6a7bb1a7194c7d826a0ca318176b12e58616d9e3d8f366ad43802787c4 fastentrypoints.py diff --git a/package/python-fastentrypoints/python-fastentrypoints.mk b/package/python-fastentrypoints/python-fastentrypoints.mk new file mode 100644 index 0000000000..7fa728929d --- /dev/null +++ b/package/python-fastentrypoints/python-fastentrypoints.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-fastentrypoints +# +################################################################################ + +PYTHON_FASTENTRYPOINTS_VERSION = 0.12 +PYTHON_FASTENTRYPOINTS_SOURCE = fastentrypoints-$(PYTHON_FASTENTRYPOINTS_VERSION).tar.gz +PYTHON_FASTENTRYPOINTS_SITE = https://files.pythonhosted.org/packages/56/59/69d9ae590ca39435d409651314ec13b2abe8127c1db0231c01d034ebb6b0 +PYTHON_FASTENTRYPOINTS_SETUP_TYPE = setuptools +PYTHON_FASTENTRYPOINTS_LICENSE = BSD-2-Clause +PYTHON_FASTENTRYPOINTS_LICENSE_FILES = fastentrypoints.py + +$(eval $(host-python-package)) diff --git a/package/python-idna-ssl/Config.in b/package/python-idna-ssl/Config.in new file mode 100644 index 0000000000..c85fe16309 --- /dev/null +++ b/package/python-idna-ssl/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_IDNA_SSL + bool "python-idna-ssl" + help + Patch ssl.match_hostname for Unicode(idna) domains support. + + https://github.com/aio-libs/idna-ssl diff --git a/package/python-idna-ssl/python-idna-ssl.hash b/package/python-idna-ssl/python-idna-ssl.hash new file mode 100644 index 0000000000..c5e527ae09 --- /dev/null +++ b/package/python-idna-ssl/python-idna-ssl.hash @@ -0,0 +1,2 @@ +sha256 a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c idna-ssl-1.1.0.tar.gz + diff --git a/package/python-idna-ssl/python-idna-ssl.mk b/package/python-idna-ssl/python-idna-ssl.mk new file mode 100644 index 0000000000..7432fd3a6e --- /dev/null +++ b/package/python-idna-ssl/python-idna-ssl.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-idna-ssl +# +################################################################################ + +PYTHON_IDNA_SSL_VERSION = 1.1.0 +PYTHON_IDNA_SSL_SOURCE = idna-ssl-$(PYTHON_IDNA_SSL_VERSION).tar.gz +PYTHON_IDNA_SSL_SITE = https://files.pythonhosted.org/packages/46/03/07c4894aae38b0de52b52586b24bf189bb83e4ddabfe2e2c8f2419eec6f4 +PYTHON_IDNA_SSL_LICENSE = BSD-3-Clause +PYTHON_IDNA_SSL_LICENSE_FILES = LICENSE.rst +PYTHON_IDNA_SSL_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-marshmallow-peewee/Config.in b/package/python-marshmallow-peewee/Config.in new file mode 100644 index 0000000000..df56f21717 --- /dev/null +++ b/package/python-marshmallow-peewee/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_MARSHMALLOW_PEEWEE + bool "python-marshmallow-peewee" + depends on BR2_PACKAGE_PYTHON3 + help + Peewee integration with the marshmallow (de)serialization library. + + https://github.com/klen/marshmallow-peewee diff --git a/package/python-marshmallow-peewee/python-marshmallow-peewee.hash b/package/python-marshmallow-peewee/python-marshmallow-peewee.hash new file mode 100644 index 0000000000..997c170a1d --- /dev/null +++ b/package/python-marshmallow-peewee/python-marshmallow-peewee.hash @@ -0,0 +1,2 @@ +sha256 51e0e888b37e85c9c8a4e85d85dfa841a8a5840d2bd5dcc7b62f614f1378c1b9 Marshmallow-Peewee-2.2.0.tar.gz + diff --git a/package/python-marshmallow-peewee/python-marshmallow-peewee.mk b/package/python-marshmallow-peewee/python-marshmallow-peewee.mk new file mode 100644 index 0000000000..d6899956c9 --- /dev/null +++ b/package/python-marshmallow-peewee/python-marshmallow-peewee.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-marshmallow-peewee +# +################################################################################ + +PYTHON_MARSHMALLOW_PEEWEE_VERSION = 2.2.0 +PYTHON_MARSHMALLOW_PEEWEE_SOURCE = Marshmallow-Peewee-$(PYTHON_MARSHMALLOW_PEEWEE_VERSION).tar.gz +PYTHON_MARSHMALLOW_PEEWEE_SITE = https://files.pythonhosted.org/packages/51/4b/bac8c57eecb01810187b722e3f9e8c75f709f978b2cdaa0c2f94bcdae67e +PYTHON_MARSHMALLOW_PEEWEE_SETUP_TYPE = setuptools +PYTHON_MARSHMALLOW_PEEWEE_LICENSE = Apache-2.0 +PYTHON_MARSHMALLOW_PEEWEE_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-marshmallow/Config.in b/package/python-marshmallow/Config.in new file mode 100644 index 0000000000..e2056e3bc5 --- /dev/null +++ b/package/python-marshmallow/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_MARSHMALLOW + bool "python-marshmallow" + depends on BR2_PACKAGE_PYTHON3 + help + A lightweight library for converting complex objects to and from simple Python datatypes. + + https://github.com/marshmallow-code/marshmallow diff --git a/package/python-marshmallow/python-marshmallow.hash b/package/python-marshmallow/python-marshmallow.hash new file mode 100644 index 0000000000..cd81316924 --- /dev/null +++ b/package/python-marshmallow/python-marshmallow.hash @@ -0,0 +1,2 @@ +sha256 0a96d88418c4e7c50a39a734c4ed3d2a991a37e6b7a8970dbbdb8ccb7f08ecb0 marshmallow-3.0.0b20.tar.gz + diff --git a/package/python-marshmallow/python-marshmallow.mk b/package/python-marshmallow/python-marshmallow.mk new file mode 100644 index 0000000000..eca2ba7065 --- /dev/null +++ b/package/python-marshmallow/python-marshmallow.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-marshmallow +# +################################################################################ + +PYTHON_MARSHMALLOW_VERSION = 3.0.0b20 +PYTHON_MARSHMALLOW_SOURCE = marshmallow-$(PYTHON_MARSHMALLOW_VERSION).tar.gz +PYTHON_MARSHMALLOW_SITE = https://files.pythonhosted.org/packages/9b/dd/c6125334e434794754bf7fdc85bd9a26bdd3b1734471562a2b1ccd6e5802 +PYTHON_MARSHMALLOW_SETUP_TYPE = setuptools +PYTHON_MARSHMALLOW_LICENSE = Apache-2.0 +PYTHON_MARSHMALLOW_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-mock/Config.in b/package/python-mock/Config.in new file mode 100644 index 0000000000..5292a26a22 --- /dev/null +++ b/package/python-mock/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_MOCK + bool "python-mock" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + mock is a library for testing in Python. It allows you to replace parts of your system under test with mock objects and make assertions about how they have been used. + + https://github.com/testing-cabal/mock diff --git a/package/python-mock/python-mock.hash b/package/python-mock/python-mock.hash new file mode 100644 index 0000000000..43015236cb --- /dev/null +++ b/package/python-mock/python-mock.hash @@ -0,0 +1,2 @@ +sha256 b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba mock-2.0.0.tar.gz + diff --git a/package/python-mock/python-mock.mk b/package/python-mock/python-mock.mk new file mode 100644 index 0000000000..60791d2dd6 --- /dev/null +++ b/package/python-mock/python-mock.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-mock +# +################################################################################ + +PYTHON_MOCK_VERSION = 2.0.0 +PYTHON_MOCK_SOURCE = mock-$(PYTHON_MOCK_VERSION).tar.gz +PYTHON_MOCK_SITE = https://files.pythonhosted.org/packages/0c/53/014354fc93c591ccc4abff12c473ad565a2eb24dcd82490fae33dbf2539f +PYTHON_MOCK_SETUP_TYPE = setuptools +PYTHON_MOCK_LICENSE = Apache-2.0 +PYTHON_MOCK_LICENSE_FILES = LICENSE.txt +PYTHON_MOCK_DEPENDENCIES = host-python-pbr + +$(eval $(python-package)) diff --git a/package/python-multidict/Config.in b/package/python-multidict/Config.in new file mode 100644 index 0000000000..7bfaa36db2 --- /dev/null +++ b/package/python-multidict/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_MULTIDICT + bool "python-multidict" + depends on BR2_PACKAGE_PYTHON3 + help + Multidict is dict-like collection of key-value pairs where a + key may occur more than once in the container. + + https://github.com/aio-libs/multidict diff --git a/package/python-multidict/python-multidict.hash b/package/python-multidict/python-multidict.hash new file mode 100644 index 0000000000..a98c4553d4 --- /dev/null +++ b/package/python-multidict/python-multidict.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/multidict/json +md5 5e9d8f7e1ada9a22932aed6a72f88e43 multidict-4.5.2.tar.gz +sha256 024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f multidict-4.5.2.tar.gz +# Locally computed sha256 checksums +sha256 a1c5825513279d3085a0ba46880e148ea3710c149bbaedcf2d11605a5ed3c4ad LICENSE diff --git a/package/python-multidict/python-multidict.mk b/package/python-multidict/python-multidict.mk new file mode 100644 index 0000000000..7b9cd39283 --- /dev/null +++ b/package/python-multidict/python-multidict.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-multidict +# +################################################################################ + +PYTHON_MULTIDICT_VERSION = 4.5.2 +PYTHON_MULTIDICT_SOURCE = multidict-$(PYTHON_MULTIDICT_VERSION).tar.gz +PYTHON_MULTIDICT_SITE = https://files.pythonhosted.org/packages/7f/8f/b3c8c5b062309e854ce5b726fc101195fbaa881d306ffa5c2ba19efa3af2 +PYTHON_MULTIDICT_SETUP_TYPE = setuptools +PYTHON_MULTIDICT_LICENSE = Apache-2.0 +PYTHON_MULTIDICT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-pbr/Config.in b/package/python-pbr/Config.in new file mode 100644 index 0000000000..7e12bdc00e --- /dev/null +++ b/package/python-pbr/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PBR + bool "python-pbr" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + PBR is a library that injects some useful and sensible default behaviors into your setuptools run. It started off life as the chunks of code that were copied between all of the OpenStack projects. Around the time that OpenStack hit 18 different projects each with at least 3 active branches, it seemed like a good time to make that code into a proper reusable library. + + https://docs.openstack.org/pbr/latest/ diff --git a/package/python-pbr/Config.in.host b/package/python-pbr/Config.in.host new file mode 100644 index 0000000000..5d5498899c --- /dev/null +++ b/package/python-pbr/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_PYTHON_PBR + bool "host python-pbr" + help + PBR is a library that injects some useful and sensible default behaviors into your setuptools run. It started off life as the chunks of code that were copied between all of the OpenStack projects. Around the time that OpenStack hit 18 different projects each with at least 3 active branches, it seemed like a good time to make that code into a proper reusable library. + + https://docs.openstack.org/pbr/latest/ diff --git a/package/python-pbr/python-pbr.hash b/package/python-pbr/python-pbr.hash new file mode 100644 index 0000000000..cd8fe5f278 --- /dev/null +++ b/package/python-pbr/python-pbr.hash @@ -0,0 +1,2 @@ +sha256 f59d71442f9ece3dffc17bc36575768e1ee9967756e6b6535f0ee1f0054c3d68 pbr-5.1.1.tar.gz + diff --git a/package/python-pbr/python-pbr.mk b/package/python-pbr/python-pbr.mk new file mode 100644 index 0000000000..1cccc94b30 --- /dev/null +++ b/package/python-pbr/python-pbr.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-pbr +# +################################################################################ + +PYTHON_PBR_VERSION = 5.1.1 +PYTHON_PBR_SOURCE = pbr-$(PYTHON_PBR_VERSION).tar.gz +PYTHON_PBR_SITE = https://files.pythonhosted.org/packages/33/07/6e68a96ff240a0e7bb1f6e21093532386a98a82d56512e1e3da6d125f7aa +PYTHON_PBR_SETUP_TYPE = setuptools +PYTHON_PBR_LICENSE = Apache-2.0 +PYTHON_PBR_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-peewee-migrate/Config.in b/package/python-peewee-migrate/Config.in new file mode 100644 index 0000000000..8ef193b92e --- /dev/null +++ b/package/python-peewee-migrate/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PEEWEE_MIGRATE + bool "python-peewee-migrate" + depends on BR2_PACKAGE_PYTHON3 + help + Simple migration engine for Peewee. + + https://github.com/klen/peewee_migrate diff --git a/package/python-peewee-migrate/python-peewee-migrate.hash b/package/python-peewee-migrate/python-peewee-migrate.hash new file mode 100644 index 0000000000..2eaaae8481 --- /dev/null +++ b/package/python-peewee-migrate/python-peewee-migrate.hash @@ -0,0 +1,2 @@ +sha256 bca15083d6e66cfdf66cecf69439ccad8a16738ced4304372a1cf7b1c9036d8a peewee_migrate-1.1.4.tar.gz + diff --git a/package/python-peewee-migrate/python-peewee-migrate.mk b/package/python-peewee-migrate/python-peewee-migrate.mk new file mode 100644 index 0000000000..34749b43fd --- /dev/null +++ b/package/python-peewee-migrate/python-peewee-migrate.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-peewee-migrate +# +################################################################################ + +PYTHON_PEEWEE_MIGRATE_VERSION = 1.1.4 +PYTHON_PEEWEE_MIGRATE_SOURCE = peewee_migrate-$(PYTHON_PEEWEE_MIGRATE_VERSION).tar.gz +PYTHON_PEEWEE_MIGRATE_SITE = https://files.pythonhosted.org/packages/64/d1/9a08e399631831e9230b702e79da67577228328f8abd0402ea7c72b9d6b8 +PYTHON_PEEWEE_MIGRATE_SETUP_TYPE = setuptools +PYTHON_PEEWEE_MIGRATE_LICENSE = Apache-2.0 +PYTHON_PEEWEE_MIGRATE_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-peewee/Config.in b/package/python-peewee/Config.in new file mode 100644 index 0000000000..ed03d38701 --- /dev/null +++ b/package/python-peewee/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PEEWEE + bool "python-peewee" + depends on BR2_PACKAGE_PYTHON3 + help + A little ORM. + + https://github.com/coleifer/peewee diff --git a/package/python-peewee/python-peewee.hash b/package/python-peewee/python-peewee.hash new file mode 100644 index 0000000000..fee40f7b22 --- /dev/null +++ b/package/python-peewee/python-peewee.hash @@ -0,0 +1,2 @@ +sha256 7f8e3f512ee0d4e2d9c2008ea446d69e23c9535466367b991d452825a1ddb654 peewee-3.8.2.tar.gz + diff --git a/package/python-peewee/python-peewee.mk b/package/python-peewee/python-peewee.mk new file mode 100644 index 0000000000..82d72af4a1 --- /dev/null +++ b/package/python-peewee/python-peewee.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-peewee +# +################################################################################ + +PYTHON_PEEWEE_VERSION = 3.8.2 +PYTHON_PEEWEE_SOURCE = peewee-$(PYTHON_PEEWEE_VERSION).tar.gz +PYTHON_PEEWEE_SITE = https://files.pythonhosted.org/packages/3b/10/619604d488416fb99a2f8ae145ae94f3ebac2812dbd1d334b0785ce7de2e +PYTHON_PEEWEE_SETUP_TYPE = setuptools +PYTHON_PEEWEE_LICENSE = Apache-2.0 +PYTHON_PEEWEE_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-pyjwt/Config.in b/package/python-pyjwt/Config.in new file mode 100644 index 0000000000..50d818d8e2 --- /dev/null +++ b/package/python-pyjwt/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PYJWT + bool "python-pyjwt" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + JSON Web Token implementation in Python. + + https://github.com/jpadilla/pyjwt diff --git a/package/python-pyjwt/python-pyjwt.hash b/package/python-pyjwt/python-pyjwt.hash new file mode 100644 index 0000000000..88694747c9 --- /dev/null +++ b/package/python-pyjwt/python-pyjwt.hash @@ -0,0 +1,2 @@ +sha256 8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96 PyJWT-1.7.1.tar.gz + diff --git a/package/python-pyjwt/python-pyjwt.mk b/package/python-pyjwt/python-pyjwt.mk new file mode 100644 index 0000000000..4bf61c5f3c --- /dev/null +++ b/package/python-pyjwt/python-pyjwt.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyjwt +# +################################################################################ + +PYTHON_PYJWT_VERSION = 1.7.1 +PYTHON_PYJWT_SOURCE = PyJWT-$(PYTHON_PYJWT_VERSION).tar.gz +PYTHON_PYJWT_SITE = https://files.pythonhosted.org/packages/2f/38/ff37a24c0243c5f45f5798bd120c0f873eeed073994133c084e1cf13b95c +PYTHON_PYJWT_SETUP_TYPE = setuptools +PYTHON_PYJWT_LICENSE = Apache-2.0 +PYTHON_PYJWT_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-redis/Config.in b/package/python-redis/Config.in new file mode 100644 index 0000000000..d085903a45 --- /dev/null +++ b/package/python-redis/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_REDIS + bool "python-redis" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + Python client for Redis key-value store. + + https://github.com/andymccurdy/redis-py diff --git a/package/python-redis/python-redis.hash b/package/python-redis/python-redis.hash new file mode 100644 index 0000000000..5680db27d6 --- /dev/null +++ b/package/python-redis/python-redis.hash @@ -0,0 +1,2 @@ +sha256 2100750629beff143b6a200a2ea8e719fcf26420adabb81402895e144c5083cf redis-3.0.1.tar.gz + diff --git a/package/python-redis/python-redis.mk b/package/python-redis/python-redis.mk new file mode 100644 index 0000000000..4dee62ca6e --- /dev/null +++ b/package/python-redis/python-redis.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-redis +# +################################################################################ + +PYTHON_REDIS_VERSION = 3.0.1 +PYTHON_REDIS_SOURCE = redis-$(PYTHON_REDIS_VERSION).tar.gz +PYTHON_REDIS_SITE = https://files.pythonhosted.org/packages/4a/1b/9b40393630954b54a4182ca65a9cf80b41803108fcae435ffd6af57af5ae +PYTHON_REDIS_SETUP_TYPE = setuptools +PYTHON_REDIS_LICENSE = Apache-2.0 +PYTHON_REDIS_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-rq/Config.in b/package/python-rq/Config.in new file mode 100644 index 0000000000..6f9c8ace15 --- /dev/null +++ b/package/python-rq/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_RQ + bool "python-rq" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + Simple job queues for Python. + + https://python-rq.org/ diff --git a/package/python-rq/python-rq.hash b/package/python-rq/python-rq.hash new file mode 100644 index 0000000000..7b16e218f8 --- /dev/null +++ b/package/python-rq/python-rq.hash @@ -0,0 +1,2 @@ +sha256 2ef7de3fa26a4ce41dcd0561bdba12bb62fa5b9b6d21120122d8dbbe44bb6a77 rq-0.13.0.tar.gz + diff --git a/package/python-rq/python-rq.mk b/package/python-rq/python-rq.mk new file mode 100644 index 0000000000..087c1b561b --- /dev/null +++ b/package/python-rq/python-rq.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-rq +# +################################################################################ + +PYTHON_RQ_VERSION = 0.13.0 +PYTHON_RQ_SOURCE = rq-$(PYTHON_RQ_VERSION).tar.gz +PYTHON_RQ_SITE = https://files.pythonhosted.org/packages/d2/d7/51904875025b2432cb3c97cc476ab8d2033a8f105393db2267622e56f3ac +PYTHON_RQ_SETUP_TYPE = setuptools +PYTHON_RQ_LICENSE = Apache-2.0 +PYTHON_RQ_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-typing-extensions/Config.in b/package/python-typing-extensions/Config.in new file mode 100644 index 0000000000..5270e7c475 --- /dev/null +++ b/package/python-typing-extensions/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS + bool "python-typing-extensions" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + Typing Extensions – Backported and Experimental Type Hints for Python + + https://github.com/python/typing/ diff --git a/package/python-typing-extensions/python-typing-extensions.hash b/package/python-typing-extensions/python-typing-extensions.hash new file mode 100644 index 0000000000..ac8d6959e2 --- /dev/null +++ b/package/python-typing-extensions/python-typing-extensions.hash @@ -0,0 +1,2 @@ +sha256 fb2cd053238d33a8ec939190f30cfd736c00653a85a2919415cecf7dc3d9da71 typing_extensions-3.7.2.tar.gz + diff --git a/package/python-typing-extensions/python-typing-extensions.mk b/package/python-typing-extensions/python-typing-extensions.mk new file mode 100644 index 0000000000..fb680e19e4 --- /dev/null +++ b/package/python-typing-extensions/python-typing-extensions.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-typing-extensions +# +################################################################################ + +PYTHON_TYPING_EXTENSIONS_VERSION = 3.7.2 +PYTHON_TYPING_EXTENSIONS_SOURCE = typing_extensions-$(PYTHON_TYPING_EXTENSIONS_VERSION).tar.gz +PYTHON_TYPING_EXTENSIONS_SITE = https://files.pythonhosted.org/packages/fa/aa/229f5c82d17d10d4ef318b5c22a8626a1c78fc97f80d3307035cf696681b +PYTHON_TYPING_EXTENSIONS_SETUP_TYPE = setuptools +PYTHON_TYPING_EXTENSIONS_LICENSE = Apache-2.0 +PYTHON_TYPING_EXTENSIONS_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-webargs/Config.in b/package/python-webargs/Config.in new file mode 100644 index 0000000000..bcb229d07d --- /dev/null +++ b/package/python-webargs/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_WEBARGS + bool "python-webargs" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + webargs is a Python library for parsing and validating HTTP request objects, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp. + + https://github.com/marshmallow-code/webargs diff --git a/package/python-webargs/python-webargs.hash b/package/python-webargs/python-webargs.hash new file mode 100644 index 0000000000..cb2e6ace9a --- /dev/null +++ b/package/python-webargs/python-webargs.hash @@ -0,0 +1,2 @@ +sha256 0bd93a8f180907a040631b592d10ca25b8a243d9a71921a2ec363b52f0a3f441 webargs-5.1.0.tar.gz + diff --git a/package/python-webargs/python-webargs.mk b/package/python-webargs/python-webargs.mk new file mode 100644 index 0000000000..c491c5c445 --- /dev/null +++ b/package/python-webargs/python-webargs.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-webargs +# +################################################################################ + +PYTHON_WEBARGS_VERSION = 5.1.0 +PYTHON_WEBARGS_SOURCE = webargs-$(PYTHON_WEBARGS_VERSION).tar.gz +PYTHON_WEBARGS_SITE = https://files.pythonhosted.org/packages/16/7b/68fded416d638bf1e5f41b28a49f045c0ef2abe344c7280d5e923e6cea1d +PYTHON_WEBARGS_SETUP_TYPE = setuptools +PYTHON_WEBARGS_LICENSE = Apache-2.0 +PYTHON_WEBARGS_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-yarl/Config.in b/package/python-yarl/Config.in new file mode 100644 index 0000000000..e52050451d --- /dev/null +++ b/package/python-yarl/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_YARL + bool "python-yarl" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_MULTIDICT + select BR2_PACKAGE_PYTHON_IDNA + help + Yet another URL library. + + http://yarl.readthedocs.io/ diff --git a/package/python-yarl/python-yarl.hash b/package/python-yarl/python-yarl.hash new file mode 100644 index 0000000000..1cb0708435 --- /dev/null +++ b/package/python-yarl/python-yarl.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/yarl/json +md5 92889c31fce4c8f82b7ee9c2b2ed9cd1 yarl-1.3.0.tar.gz +sha256 024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9 yarl-1.3.0.tar.gz +# Locally computed sha256 checksums +sha256 14c0820503ceef15e814a89b037d9efc066870087018294b6ae0f27163872cc5 LICENSE diff --git a/package/python-yarl/python-yarl.mk b/package/python-yarl/python-yarl.mk new file mode 100644 index 0000000000..f185724781 --- /dev/null +++ b/package/python-yarl/python-yarl.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-yarl +# +################################################################################ + +PYTHON_YARL_VERSION = 1.3.0 +PYTHON_YARL_SOURCE = yarl-$(PYTHON_YARL_VERSION).tar.gz +PYTHON_YARL_SITE = https://files.pythonhosted.org/packages/fb/84/6d82f6be218c50b547aa29d0315e430cf8a23c52064c92d0a8377d7b7357 +PYTHON_YARL_LICENSE = Apache-2.0 +PYTHON_YARL_LICENSE_FILES = LICENSE +PYTHON_YARL_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/support/scripts/mkusers b/support/scripts/mkusers index e24cb6317b..5368654cc8 100755 --- a/support/scripts/mkusers +++ b/support/scripts/mkusers @@ -364,8 +364,9 @@ add_one_user() { # If the user has a home, chown it # (Note: stdout goes to the fakeroot-script) if [ "${home}" != "-" ]; then - mkdir -p "${TARGET_DIR}/${home}" - printf "chown -h -R %d:%d '%s'\n" "${uid}" "${_gid}" "${TARGET_DIR}/${home}" + if mkdir -p "${TARGET_DIR}/${home}"; then + printf "chown -h -R %d:%d '%s'\n" "${uid}" "${_gid}" "${TARGET_DIR}/${home}" + fi fi }