install-script: Follow FHS rules
This commit is contained in:
47
Makefile
Normal file
47
Makefile
Normal file
@@ -0,0 +1,47 @@
|
||||
# Copyright (C) 2018-2020 Ruilin Peng (Nick) <pymumu@gmail.com>.
|
||||
#
|
||||
# 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/>.
|
||||
|
||||
PKG_CONFIG := pkg-config
|
||||
DESTDIR :=
|
||||
PREFIX := /usr
|
||||
SBINDIR := $(PREFIX)/sbin
|
||||
SYSCONFDIR := /etc
|
||||
RUNSTATEDIR := /var/run
|
||||
SYSTEMDSYSTEMUNITDIR := $(shell ${PKG_CONFIG} --variable=systemdsystemunitdir systemd)
|
||||
SMARTDNS_SYSTEMD = systemd/smartdns.service
|
||||
|
||||
.PHONY: all clean install SMARTDNS_BIN
|
||||
all: SMARTDNS_BIN
|
||||
|
||||
SMARTDNS_BIN: $(SMARTDNS_SYSTEMD)
|
||||
$(MAKE) $(MFLAGS) -C src all
|
||||
|
||||
$(SMARTDNS_SYSTEMD): systemd/smartdns.service.in
|
||||
cp $< $@
|
||||
sed -i 's|@SBINDIR@|$(SBINDIR)|' $@
|
||||
sed -i 's|@SYSCONFDIR@|$(SYSCONFDIR)|' $@
|
||||
sed -i 's|@RUNSTATEDIR@|$(RUNSTATEDIR)|' $@
|
||||
|
||||
clean:
|
||||
$(MAKE) $(MFLAGS) -C src clean
|
||||
$(RM) $(SMARTDNS_SYSTEMD)
|
||||
|
||||
install: SMARTDNS_BIN
|
||||
install -v -m 0640 -D -t $(DESTDIR)$(SYSCONFDIR)/default etc/default/smartdns
|
||||
install -v -m 0755 -D -t $(DESTDIR)$(SYSCONFDIR)/init.d etc/init.d/smartdns
|
||||
install -v -m 0640 -D -t $(DESTDIR)$(SYSCONFDIR)/smartdns etc/smartdns/smartdns.conf
|
||||
install -v -m 0755 -D -t $(DESTDIR)$(SBINDIR) src/smartdns
|
||||
install -v -m 0644 -D -t $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR) systemd/smartdns.service
|
||||
|
||||
@@ -43,8 +43,8 @@ showhelp()
|
||||
build_smartdns()
|
||||
{
|
||||
if [ "$PLATFORM" != "luci" ]; then
|
||||
make -C $CODE_DIR/src clean
|
||||
make -C $CODE_DIR/src all -j8 VER=$VER $MAKE_ARGS
|
||||
make -C $CODE_DIR clean $MAKE_ARGS
|
||||
make -C $CODE_DIR all -j8 VER=$VER $MAKE_ARGS
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "make smartdns failed"
|
||||
exit 1
|
||||
|
||||
@@ -77,14 +77,18 @@ install_files()
|
||||
return 1
|
||||
fi
|
||||
|
||||
install -v -m 0755 -t $PREFIX/usr/sbin src/smartdns
|
||||
install -v -m 0755 -t $PREFIX/usr/sbin usr/sbin/smartdns
|
||||
if [ $? -ne 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
install -v -m 0640 -t $PREFIX$SMARTDNS_CONF_DIR etc/smartdns/smartdns.conf
|
||||
if [ $? -ne 0 ]; then
|
||||
return 1
|
||||
if [ -e "$PREFIX$SMARTDNS_CONF_DIR/smartdns.conf" ]; then
|
||||
cp etc/smartdns/smartdns.conf $PREFIX$SMARTDNS_CONF_DIR/smartdns.conf.pkg
|
||||
else
|
||||
install -v -m 0640 -t $PREFIX$SMARTDNS_CONF_DIR etc/smartdns/smartdns.conf
|
||||
if [ $? -ne 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
install -v -m 0640 -t $PREFIX/etc/default etc/default/smartdns
|
||||
@@ -118,7 +122,6 @@ uninstall_smartdns()
|
||||
if [ -z "$PREFIX" ]; then
|
||||
stop_service 2>/dev/null
|
||||
fi
|
||||
rm -f $PREFIX$SMARTDNS_CONF_DIR/smartdns.conf
|
||||
rmdir $PREFIX$SMARTDNS_CONF_DIR 2>/dev/null
|
||||
rm -f $PREFIX/usr/sbin/smartdns
|
||||
rm -f $PREFIX/etc/default/smartdns
|
||||
@@ -23,12 +23,17 @@ build()
|
||||
cd $PKG_ROOT/
|
||||
|
||||
# Generic x86_64
|
||||
mkdir $PKG_ROOT/smartdns/src -p
|
||||
mkdir $PKG_ROOT/smartdns/usr/sbin -p
|
||||
mkdir $PKG_ROOT/smartdns/package -p
|
||||
mkdir $PKG_ROOT/smartdns/systemd -p
|
||||
|
||||
cd $SMARTDNS_DIR
|
||||
cp package/windows $PKG_ROOT/smartdns/package/ -a
|
||||
cp etc systemd *.md LICENSE install $PKG_ROOT/smartdns/ -a
|
||||
cp src/smartdns $PKG_ROOT/smartdns/src -a
|
||||
cp etc *.md LICENSE package/linux/install $PKG_ROOT/smartdns/ -a
|
||||
cp systemd/smartdns.service $PKG_ROOT/smartdns/systemd
|
||||
cp src/smartdns $PKG_ROOT/smartdns/usr/sbin -a
|
||||
chmod +x $PKG_ROOT/smartdns/install
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "copy smartdns file failed"
|
||||
rm -fr $PKG_ROOT
|
||||
|
||||
@@ -58,10 +58,6 @@ build()
|
||||
mkdir $ROOT/root/usr/share/rpcd/acl.d/ -p
|
||||
cp $ROOT/files/luci/controller/* $ROOT/root/usr/lib/lua/luci/controller/ -avf
|
||||
cp $ROOT/files/luci/i18n $ROOT/root/usr/lib/lua/luci/ -avf
|
||||
cp $ROOT/files/luci/view $ROOT/root/usr/lib/lua/luci/ -avf
|
||||
|
||||
mkdir $ROOT/root/www/luci-static/resources/view -p
|
||||
cp $ROOT/files/luci/htdocs/luci-static/resources/view/* $ROOT/root/www/luci-static/resources/view/ -avf
|
||||
|
||||
#Generate Language
|
||||
$PO2LMO $ROOT/files/luci/i18n/smartdns.zh-cn.po $ROOT/root/usr/lib/lua/luci/i18n/smartdns.zh-cn.lmo
|
||||
|
||||
@@ -38,7 +38,7 @@ else
|
||||
override LDFLAGS += -lssl -lcrypto -lpthread
|
||||
endif
|
||||
|
||||
.PHONY: all
|
||||
.PHONY: all clean
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
[Unit]
|
||||
Description=smart dns server
|
||||
After=network.target
|
||||
StartLimitBurst=0
|
||||
StartLimitIntervalSec=60
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/smartdns.pid
|
||||
EnvironmentFile=/etc/default/smartdns
|
||||
ExecStart=/usr/sbin/smartdns $SMART_DNS_OPTS
|
||||
PIDFile=@RUNSTATEDIR@/smartdns.pid
|
||||
EnvironmentFile=@SYSCONFDIR@/default/smartdns
|
||||
ExecStart=@SBINDIR@/smartdns -p @RUNSTATEDIR@/smartdns.pid $SMART_DNS_OPTS
|
||||
KillMode=process
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
StartLimitBurst=0
|
||||
StartLimitIntervalSec=60
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user