| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/bin/sh
- ### BEGIN INIT INFO
- # Provides:
- # Short-Description: Inject commands into app_init.sh
- # Description: Patch app_init.sh to inject wz_mini's init.d scripts
- ### END INIT INFO
- . /opt/wz_mini/wz_mini.conf
- case "$1" in
- start)
- echo "#####$(basename "$0")#####"
- echo "Copy stock rcS"
- cp /etc/init.d/rcS /opt/wz_mini/tmp/.storage/rcS
- echo "Add verbose debugging to rcS"
- sed -i '/^".*/aset -x' /opt/wz_mini/tmp/.storage/rcS
- echo "Inject init.d scripts to rcS"
- sed -i '/^# Run init script.*/i/opt/wz_mini/etc/rc.d/K01network \&\n' /opt/wz_mini/tmp/.storage/rcS
- sed -i '/^# Run init script.*/i/opt/wz_mini/etc/rc.d/K03rcd\n' /opt/wz_mini/tmp/.storage/rcS
- echo "Modify Global Paths in rcS"
- sed -i '/sbin:/s/$/:\/opt\/wz_mini\/bin/' /opt/wz_mini/tmp/.storage/rcS
- sed -i '/system\/\lib/s/$/:\/opt\/wz_mini\/lib/' /opt/wz_mini/tmp/.storage/rcS
- #Custom PATH hooks
- #sed -i '/^# Run init script.*/i#Hook Library PATH here\nexport LD_LIBRARY_PATH=/tmp/test/lib:$LD_LIBRARY_PATH\n' /opt/wz_mini/tmp/.storage/rcS
- #sed -i '/^# Run init script.*/i#Hook system PATH here\nexport PATH=/tmp/test/bin:$PATH\n' /opt/wz_mini/tmp/.storage/rcS
- echo "Copy factory app_init.sh"
- cp /system/init/app_init.sh /opt/wz_mini/tmp/.storage/app_init.sh
- echo "Replace factory app_init.sh path"
- sed -i '/\/system\/init\/app_init.sh/,+4d' /opt/wz_mini/tmp/.storage/rcS
- sed -i '/Run init script.*/a /opt/wz_mini/tmp/.storage/app_init.sh \&\n' /opt/wz_mini/tmp/.storage/rcS
- sed -i '/\/system\/init\/app_init.sh/,+2d' /opt/wz_mini/tmp/.storage/rcS
- if [[ "$DEBUG_ENABLED" == "true" ]]; then
- sed -i '/app_init.sh/,+4d' /opt/wz_mini/tmp/.storage/rcS
- sed -i '/^# Run init/i/bin/sh /etc/profile' /opt/wz_mini/tmp/.storage/rcS
- touch /tmp/dbgflag
- elif [[ "$WEB_CAM_ENABLE" == "true" ]]; then
- sed -i '/app_init.sh/,+4d' /opt/wz_mini/tmp/.storage/rcS
- sed -i '/^# Run init/i/opt/wz_mini/etc/rc.d/K02webcam &' /opt/wz_mini/tmp/.storage/rcS
- touch /tmp/dbgflag
- elif [[ -d /opt/Upgrade ]]; then
- sed -i '/app_init.sh/,+4d' /opt/wz_mini/tmp/.storage/rcS
- sed -i '/^# Run init/i/bin/sh /etc/profile' /opt/wz_mini/tmp/.storage/rcS
- sed -i '/^# Mount configs.*/i/opt/wz_mini/bin/upgrade-run.sh &\n' /opt/wz_mini/tmp/.storage/rcS
- touch /tmp/dbgflag
- fi
- echo "Enable libcallback"
- if [[ "$LIBCALLBACK_ENABLE" == "true" ]] || ([[ "$RTSP_HI_RES_ENABLED" == "true" ]] || [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]); then
- echo "set path for iCamera"
- sed -i 's/\/system\/bin\/iCamera/\/opt\/wz_mini\/usr\/bin\/iCamera/g' /opt/wz_mini/tmp/.storage/app_init.sh
- fi
- ;;
- *)
- echo "Usage: $0 {start}"
- exit 1
- ;;
- esac
|