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()
|
build_smartdns()
|
||||||
{
|
{
|
||||||
if [ "$PLATFORM" != "luci" ]; then
|
if [ "$PLATFORM" != "luci" ]; then
|
||||||
make -C $CODE_DIR/src clean
|
make -C $CODE_DIR clean $MAKE_ARGS
|
||||||
make -C $CODE_DIR/src all -j8 VER=$VER $MAKE_ARGS
|
make -C $CODE_DIR all -j8 VER=$VER $MAKE_ARGS
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "make smartdns failed"
|
echo "make smartdns failed"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -77,14 +77,18 @@ install_files()
|
|||||||
return 1
|
return 1
|
||||||
fi
|
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
|
if [ $? -ne 0 ]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
install -v -m 0640 -t $PREFIX$SMARTDNS_CONF_DIR etc/smartdns/smartdns.conf
|
if [ -e "$PREFIX$SMARTDNS_CONF_DIR/smartdns.conf" ]; then
|
||||||
if [ $? -ne 0 ]; then
|
cp etc/smartdns/smartdns.conf $PREFIX$SMARTDNS_CONF_DIR/smartdns.conf.pkg
|
||||||
return 1
|
else
|
||||||
|
install -v -m 0640 -t $PREFIX$SMARTDNS_CONF_DIR etc/smartdns/smartdns.conf
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
install -v -m 0640 -t $PREFIX/etc/default etc/default/smartdns
|
install -v -m 0640 -t $PREFIX/etc/default etc/default/smartdns
|
||||||
@@ -118,7 +122,6 @@ uninstall_smartdns()
|
|||||||
if [ -z "$PREFIX" ]; then
|
if [ -z "$PREFIX" ]; then
|
||||||
stop_service 2>/dev/null
|
stop_service 2>/dev/null
|
||||||
fi
|
fi
|
||||||
rm -f $PREFIX$SMARTDNS_CONF_DIR/smartdns.conf
|
|
||||||
rmdir $PREFIX$SMARTDNS_CONF_DIR 2>/dev/null
|
rmdir $PREFIX$SMARTDNS_CONF_DIR 2>/dev/null
|
||||||
rm -f $PREFIX/usr/sbin/smartdns
|
rm -f $PREFIX/usr/sbin/smartdns
|
||||||
rm -f $PREFIX/etc/default/smartdns
|
rm -f $PREFIX/etc/default/smartdns
|
||||||
@@ -23,12 +23,17 @@ build()
|
|||||||
cd $PKG_ROOT/
|
cd $PKG_ROOT/
|
||||||
|
|
||||||
# Generic x86_64
|
# 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/package -p
|
||||||
|
mkdir $PKG_ROOT/smartdns/systemd -p
|
||||||
|
|
||||||
cd $SMARTDNS_DIR
|
cd $SMARTDNS_DIR
|
||||||
cp package/windows $PKG_ROOT/smartdns/package/ -a
|
cp package/windows $PKG_ROOT/smartdns/package/ -a
|
||||||
cp etc systemd *.md LICENSE install $PKG_ROOT/smartdns/ -a
|
cp etc *.md LICENSE package/linux/install $PKG_ROOT/smartdns/ -a
|
||||||
cp src/smartdns $PKG_ROOT/smartdns/src -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
|
if [ $? -ne 0 ]; then
|
||||||
echo "copy smartdns file failed"
|
echo "copy smartdns file failed"
|
||||||
rm -fr $PKG_ROOT
|
rm -fr $PKG_ROOT
|
||||||
|
|||||||
@@ -58,10 +58,6 @@ build()
|
|||||||
mkdir $ROOT/root/usr/share/rpcd/acl.d/ -p
|
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/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/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
|
#Generate Language
|
||||||
$PO2LMO $ROOT/files/luci/i18n/smartdns.zh-cn.po $ROOT/root/usr/lib/lua/luci/i18n/smartdns.zh-cn.lmo
|
$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
|
override LDFLAGS += -lssl -lcrypto -lpthread
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all clean
|
||||||
|
|
||||||
all: $(BIN)
|
all: $(BIN)
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=smart dns server
|
Description=smart dns server
|
||||||
After=network.target
|
After=network.target
|
||||||
|
StartLimitBurst=0
|
||||||
|
StartLimitIntervalSec=60
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=forking
|
Type=forking
|
||||||
PIDFile=/var/run/smartdns.pid
|
PIDFile=@RUNSTATEDIR@/smartdns.pid
|
||||||
EnvironmentFile=/etc/default/smartdns
|
EnvironmentFile=@SYSCONFDIR@/default/smartdns
|
||||||
ExecStart=/usr/sbin/smartdns $SMART_DNS_OPTS
|
ExecStart=@SBINDIR@/smartdns -p @RUNSTATEDIR@/smartdns.pid $SMART_DNS_OPTS
|
||||||
KillMode=process
|
KillMode=process
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=2
|
RestartSec=2
|
||||||
StartLimitBurst=0
|
|
||||||
StartLimitIntervalSec=60
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
Reference in New Issue
Block a user