123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #!/bin/sh
- #
- # Copyright (C) 2018-2023 Ruilin Peng (Nick) <[email protected]>.
- #
- # smartdns is free software: you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation, either version 3 of the License, or
- # (at your option) any later version.
- #
- # smartdns is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # 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"`"
- SMARTDNS_DIR=$CURR_DIR/../../
- SMARTDNS_BIN=$SMARTDNS_DIR/src/smartdns
- showhelp()
- {
- echo "Usage: make [OPTION]"
- echo "Options:"
- echo " -o output directory."
- echo " --arch archtecture."
- echo " --ver version."
- echo " -h show this message."
- }
- build()
- {
- ROOT=/tmp/smartdns-deiban
- rm -fr $ROOT
- mkdir -p $ROOT
- cd $ROOT/
- cp $CURR_DIR/DEBIAN $ROOT/ -af
- CONTROL=$ROOT/DEBIAN/control
- mkdir $ROOT/usr/sbin -p
- mkdir $ROOT/etc/smartdns/ -p
- mkdir $ROOT/etc/default/ -p
- mkdir $ROOT/lib/systemd/system/ -p
- pkgver=$(echo ${VER}| sed 's/^1\.//g')
- sed -i "s/Version:.*/Version: ${pkgver}/" $ROOT/DEBIAN/control
- sed -i "s/Architecture:.*/Architecture: $ARCH/" $ROOT/DEBIAN/control
- chmod 0755 $ROOT/DEBIAN/prerm
- cp $SMARTDNS_DIR/etc/smartdns/smartdns.conf $ROOT/etc/smartdns/
- cp $SMARTDNS_DIR/etc/default/smartdns $ROOT/etc/default/
- cp $SMARTDNS_DIR/systemd/smartdns.service $ROOT/lib/systemd/system/
- cp $SMARTDNS_DIR/src/smartdns $ROOT/usr/sbin
- if [ $? -ne 0 ]; then
- echo "copy smartdns file failed."
- return 1
- fi
- chmod +x $ROOT/usr/sbin/smartdns
- dpkg -b $ROOT $OUTPUTDIR/smartdns.$VER.$FILEARCH.deb
- rm -fr $ROOT/
- }
- main()
- {
- OPTS=`getopt -o o:h --long arch:,ver:,filearch: \
- -n "" -- "$@"`
- if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
- # Note the quotes around `$TEMP': they are essential!
- eval set -- "$OPTS"
- while true; do
- case "$1" in
- --arch)
- ARCH="$2"
- shift 2;;
- --filearch)
- FILEARCH="$2"
- shift 2;;
- --ver)
- VER="$2"
- shift 2;;
- -o )
- OUTPUTDIR="$2"
- shift 2;;
- -h | --help )
- showhelp
- return 0
- shift ;;
- -- ) shift; break ;;
- * ) break ;;
- esac
- done
- if [ -z "$ARCH" ]; then
- echo "please input arch."
- return 1;
- fi
- if [ -z "$FILEARCH" ]; then
- FILEARCH=$ARCH
- fi
- if [ -z "$OUTPUTDIR" ]; then
- OUTPUTDIR=$CURR_DIR;
- fi
- build
- }
- main $@
- exit $?
|