diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 9c6900d1c6a2..bbfd060d3aa2 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -153,9 +153,7 @@ fi for script in postinst postrm preinst prerm ; do mkdir -p "$tmpdir$debhookdir/$script.d" cat < "$tmpdir/DEBIAN/$script" -#!/bin/sh - -set -e +#!/bin/bash -e # Pass maintainer script parameters to hook scripts export DEB_MAINT_PARAMS="\$*" @@ -169,6 +167,11 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done +sed '$d' "$tmpdir/DEBIAN/postinst" > "$tmpdir/DEBIAN/postinst.tmp" && mv "$tmpdir/DEBIAN/postinst.tmp" "$tmpdir/DEBIAN/postinst" +cat scripts/package/postinst_patch >> "$tmpdir/DEBIAN/postinst" +chmod 755 "$tmpdir/DEBIAN/postinst" + + # Build kernel header package (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" (cd $srctree; find arch/*/include tools/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" diff --git a/scripts/package/postinst_patch b/scripts/package/postinst_patch new file mode 100644 index 000000000000..e49ae83aec37 --- /dev/null +++ b/scripts/package/postinst_patch @@ -0,0 +1,98 @@ +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +board_info() { + case $1 in + 0000) + BOARD_NAME='LubanCat-1' + BOARD_DTB='rk3566-lubancat-1.dtb' + BOARD_uEnv='uEnvLubanCat1.txt' + ;; + 0100) + BOARD_NAME='LubanCat-1N' + BOARD_DTB='rk3566-lubancat-1n.dtb' + BOARD_uEnv='uEnvLubanCat1N.txt' + ;; + 0200) + BOARD_NAME='LubanCat-0N' + BOARD_DTB='rk3566-lubancat-0.dtb' + BOARD_uEnv='uEnvLubanCatZN.txt' + ;; + 0300) + BOARD_NAME='LubanCat-0W' + BOARD_DTB='rk3566-lubancat-0.dtb' + BOARD_uEnv='uEnvLubanCatZW.txt' + ;; + 0400) + BOARD_NAME='LubanCat-2' + BOARD_DTB='rk3568-lubancat-2.dtb' + BOARD_uEnv='uEnvLubanCat2.txt' + ;; + 0500 |\ + 0600) + BOARD_NAME='LubanCat-2N' + BOARD_DTB='rk3568-lubancat-2n.dtb' + BOARD_uEnv='uEnvLubanCat2N.txt' + ;; + 0700) + BOARD_NAME='LubanCat-2IO' + BOARD_DTB='rk3568-lubancat-2io.dtb' + BOARD_uEnv='uEnvLubanCat2IO.txt' + ;; + 0001) + BOARD_NAME='LubanCat-4' + BOARD_DTB='rk3588s-lubancat-4.dtb' + BOARD_uEnv='uEnvLubanCat4.txt' + ;; + 0402) + BOARD_NAME='LubanCat-2 v1' + BOARD_DTB='rk3568-lubancat-2-v1.dtb' + BOARD_uEnv='uEnvLubanCat2-V1.txt' + ;; + *) + echo "Device ID Error !!!" + exit ;; + esac +} + +# voltage_scale +# 1.7578125 8bit +# 0.439453125 12bit +get_index(){ + ADC_RAW=$1 + INDEX=0xff + + if [ $(echo "$ADC_voltage_scale > 1 "|bc) -eq 1 ] ; then + declare -a ADC_INDEX=(229 344 460 595 732 858 975 1024) + else + declare -a ADC_INDEX=(916 1376 1840 2380 2928 3432 3900 4096) + fi + + for i in 00 01 02 03 04 05 06 07; do + if [ $ADC_RAW -lt ${ADC_INDEX[$i]} ]; then + INDEX=$i + break + fi + done +} + +board_id() { + ADC_voltage_scale=$(cat /sys/bus/iio/devices/iio\:device0/in_voltage_scale) + ADC_CH2_RAW=$(cat /sys/bus/iio/devices/iio\:device0/in_voltage2_raw) + ADC_CH3_RAW=$(cat /sys/bus/iio/devices/iio\:device0/in_voltage3_raw) + + get_index $ADC_CH2_RAW + ADC_CH2_INDEX=$INDEX + + get_index $ADC_CH3_RAW + ADC_CH3_INDEX=$INDEX + + BOARD_ID=$ADC_CH2_INDEX$ADC_CH3_INDEX +} + +board_id +board_info ${BOARD_ID} + +if [ ! -L "/boot/uEnv/uEnv.txt" ] ; then + echo "ln -sf /boot/uEnv/$BOARD_uEnv /boot/uEnv/uEnv.txt" + ln -sf /boot/uEnv/$BOARD_uEnv /boot/uEnv/uEnv.txt +fi +exit 0 \ No newline at end of file