Jelajahi Sumber

Fix startup failure on openwrt issue

Nick Peng 7 tahun lalu
induk
melakukan
1d0695ff7f

+ 5 - 0
package/luci/make.sh

@@ -26,10 +26,15 @@ build()
     mkdir $ROOT/root/usr/lib/lua/ -p
     cp $ROOT/files/luci $ROOT/root/usr/lib/lua/ -af
     cp $ROOT/files/etc $ROOT/root/ -af
+    INST_SIZE="`du -sb $ROOT/root/ | awk '{print $1}'`"
     
     sed -i "s/^Architecture.*/Architecture: $ARCH/g" $ROOT/control/control
     sed -i "s/Version:.*/Version: $VER/" $ROOT/control/control
 
+    if [ ! -z "$INST_SIZE" ]; then
+        echo "Installed-Size: $INST_SIZE" >> $ROOT/control/control
+    fi
+
     cd $ROOT/control
     chmod +x *
     tar zcf ../control.tar.gz ./

+ 0 - 1
package/openwrt/control/prerm

@@ -1,4 +1,3 @@
 #!/bin/sh
 . ${IPKG_INSTROOT}/lib/functions.sh
 default_prerm $0 $@
-

+ 3 - 1
package/openwrt/files/etc/init.d/smartdns

@@ -1,7 +1,7 @@
 #!/bin/sh /etc/rc.common
 # Copyright (C) 2018 Nick Peng ([email protected])
 
-START=50
+START=90
 SERVICE_USE_PID=1
 SERVICE_WRITE_PID=1
 SERVICE_DAEMONIZE=1
@@ -68,6 +68,8 @@ start_service() {
 	conf_append "bind" "[::]:$port"
 	SMARTDNS_PORT="$port"
 
+	mkdir -p $(dirname $SMARTDNS_CONF)
+
 	config_get "cache_size" "$section" "cache_size" ""
 	if [ ! -z "$cache_size" ]; then
 		conf_append "cache-size" "$cache_size"

+ 7 - 3
package/openwrt/make.sh

@@ -36,18 +36,22 @@ build()
     cp $SMARTDNS_BIN $ROOT/root/usr/sbin
 
     chmod +x $ROOT/root/etc/init.d/smartdns
+    INST_SIZE="`du -sb $ROOT/root/ | awk '{print $1}'`"
 
     sed -i "s/^Architecture.*/Architecture: $ARCH/g" $ROOT/control/control
     sed -i "s/Version:.*/Version: $VER/" $ROOT/control/control
     sed -i "s/^\(bind .*\):53/\1:5353/g" $ROOT/root/etc/smartdns/smartdns.conf
+    if [ ! -z "$INST_SIZE" ]; then
+        echo "Installed-Size: $INST_SIZE" >> $ROOT/control/control
+    fi
 
     cd $ROOT/control
     chmod +x *
-    tar zcf ../control.tar.gz ./
+    tar zcf ../control.tar.gz --owner=0 --group=0 ./
     cd $ROOT
 
-    tar zcf $ROOT/data.tar.gz -C root .
-    tar zcf $OUTPUTDIR/smartdns.$VER.$ARCH.ipk control.tar.gz data.tar.gz debian-binary
+    tar zcf $ROOT/data.tar.gz -C root --owner=0 --group=0 .
+    tar zcf $OUTPUTDIR/smartdns.$VER.$ARCH.ipk --owner=0 --group=0 control.tar.gz data.tar.gz debian-binary
     rm -fr $ROOT/
 }
 

+ 3 - 3
package/optware/make.sh

@@ -39,11 +39,11 @@ build()
 
     cd $ROOT/control
     chmod +x *
-    tar zcf ../control.tar.gz ./
+    tar zcf ../control.tar.gz --owner=0 --group=0 ./ 
     cd $ROOT
 
-    tar zcf data.tar.gz opt
-    tar zcf $OUTPUTDIR/smartdns.$VER.$ARCH.ipk control.tar.gz data.tar.gz debian-binary
+    tar zcf data.tar.gz --owner=0 --group=0 opt
+    tar zcf $OUTPUTDIR/smartdns.$VER.$ARCH.ipk --owner=0 --group=0 control.tar.gz data.tar.gz debian-binary
     rm -fr $ROOT/
 }