|
@@ -14,7 +14,6 @@
|
|
|
#
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
-
|
|
|
CURR_DIR=$(cd $(dirname $0);pwd)
|
|
|
|
|
|
VER="`date +"1.%Y.%m.%d-%H%M"`"
|
|
@@ -31,47 +30,52 @@ showhelp()
|
|
|
echo "Options:"
|
|
|
echo " -o output directory."
|
|
|
echo " --arch archtecture."
|
|
|
- echo " --ver version."
|
|
|
+ echo " --ver version."
|
|
|
echo " -h show this message."
|
|
|
}
|
|
|
|
|
|
build()
|
|
|
{
|
|
|
- ROOT=/tmp/smartdns-openwrt
|
|
|
- rm -fr $ROOT
|
|
|
-
|
|
|
- mkdir -p $ROOT
|
|
|
- cp $CURR_DIR/* $ROOT/ -af
|
|
|
- cd $ROOT/
|
|
|
- mkdir $ROOT/root/usr/sbin -p
|
|
|
- mkdir $ROOT/root/etc/init.d -p
|
|
|
- mkdir $ROOT/root/etc/smartdns/ -p
|
|
|
-
|
|
|
- cp $SMARTDNS_CONF $ROOT/root/etc/smartdns/
|
|
|
- cp $ADDRESS_CONF $ROOT/root/etc/smartdns/
|
|
|
- cp $BLACKLIST_IP_CONF $ROOT/root/etc/smartdns/
|
|
|
- cp $CUSTOM_CONF $ROOT/root/etc/smartdns/
|
|
|
- cp $CURR_DIR/files/etc $ROOT/root/ -af
|
|
|
- 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:6053/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 --owner=0 --group=0 ./
|
|
|
- cd $ROOT
|
|
|
-
|
|
|
- tar zcf $ROOT/data.tar.gz -C root --owner=0 --group=0 .
|
|
|
- tar zcf $OUTPUTDIR/smartdns.$VER.$FILEARCH.ipk --owner=0 --group=0 control.tar.gz data.tar.gz debian-binary
|
|
|
- rm -fr $ROOT/
|
|
|
+ ROOT=/tmp/smartdns-openwrt
|
|
|
+ rm -fr $ROOT
|
|
|
+
|
|
|
+ mkdir -p $ROOT
|
|
|
+ cp $CURR_DIR/* $ROOT/ -af
|
|
|
+ cd $ROOT/
|
|
|
+ mkdir $ROOT/root/usr/sbin -p
|
|
|
+ mkdir $ROOT/root/etc/init.d -p
|
|
|
+ mkdir $ROOT/root/etc/smartdns/ -p
|
|
|
+
|
|
|
+ cp $SMARTDNS_CONF $ROOT/root/etc/smartdns/
|
|
|
+ cp $ADDRESS_CONF $ROOT/root/etc/smartdns/
|
|
|
+ cp $BLACKLIST_IP_CONF $ROOT/root/etc/smartdns/
|
|
|
+ cp $CUSTOM_CONF $ROOT/root/etc/smartdns/
|
|
|
+ cp $CURR_DIR/files/etc $ROOT/root/ -af
|
|
|
+ cp $SMARTDNS_BIN $ROOT/root/usr/sbin
|
|
|
+ if [ $? -ne 0 ]; then
|
|
|
+ echo "copy smartdns file failed."
|
|
|
+ rm -fr $ROOT/
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ 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:6053/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 --owner=0 --group=0 ./
|
|
|
+ cd $ROOT
|
|
|
+
|
|
|
+ tar zcf $ROOT/data.tar.gz -C root --owner=0 --group=0 .
|
|
|
+ tar zcf $OUTPUTDIR/smartdns.$VER.$FILEARCH.ipk --owner=0 --group=0 control.tar.gz data.tar.gz debian-binary
|
|
|
+ rm -fr $ROOT/
|
|
|
}
|
|
|
|
|
|
main()
|
|
@@ -89,38 +93,38 @@ main()
|
|
|
--arch)
|
|
|
ARCH="$2"
|
|
|
shift 2;;
|
|
|
- --filearch)
|
|
|
- FILEARCH="$2"
|
|
|
- shift 2;;
|
|
|
- --ver)
|
|
|
- VER="$2"
|
|
|
- shift 2;;
|
|
|
+ --filearch)
|
|
|
+ FILEARCH="$2"
|
|
|
+ shift 2;;
|
|
|
+ --ver)
|
|
|
+ VER="$2"
|
|
|
+ shift 2;;
|
|
|
-o )
|
|
|
OUTPUTDIR="$2"
|
|
|
shift 2;;
|
|
|
- -h | --help )
|
|
|
+ -h | --help )
|
|
|
showhelp
|
|
|
return 0
|
|
|
shift ;;
|
|
|
-- ) shift; break ;;
|
|
|
* ) break ;;
|
|
|
- esac
|
|
|
+ esac
|
|
|
done
|
|
|
|
|
|
- if [ -z "$ARCH" ]; then
|
|
|
- echo "please input arch."
|
|
|
- return 1;
|
|
|
- fi
|
|
|
+ if [ -z "$ARCH" ]; then
|
|
|
+ echo "please input arch."
|
|
|
+ return 1;
|
|
|
+ fi
|
|
|
|
|
|
- if [ -z "$FILEARCH" ]; then
|
|
|
- FILEARCH=$ARCH
|
|
|
- fi
|
|
|
+ if [ -z "$FILEARCH" ]; then
|
|
|
+ FILEARCH=$ARCH
|
|
|
+ fi
|
|
|
|
|
|
- if [ -z "$OUTPUTDIR" ]; then
|
|
|
- OUTPUTDIR=$CURR_DIR;
|
|
|
- fi
|
|
|
+ if [ -z "$OUTPUTDIR" ]; then
|
|
|
+ OUTPUTDIR=$CURR_DIR;
|
|
|
+ fi
|
|
|
|
|
|
- build
|
|
|
+ build
|
|
|
}
|
|
|
|
|
|
main $@
|