diff options
author | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2005-03-23 20:19:42 +0000 |
---|---|---|
committer | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2005-03-23 20:19:42 +0000 |
commit | 5389174f49b286e1ce913d27b707ccccc01a1091 (patch) | |
tree | 5e7a96353995aaa1301a9b4548cab2ef6b52043d /openwrt/package/openntpd | |
parent | f140229aa7e3d54a56e0b87f20e8888b31e0ad9a (diff) | |
download | mtk-20170518-5389174f49b286e1ce913d27b707ccccc01a1091.zip mtk-20170518-5389174f49b286e1ce913d27b707ccccc01a1091.tar.gz mtk-20170518-5389174f49b286e1ce913d27b707ccccc01a1091.tar.bz2 |
fixup openntpd package. ntpd now starts as user ntp and CONTROL/postinst can be executed on host and target system. idea from nbd to use IPKG_ROOTDIR
SVN-Revision: 435
Diffstat (limited to 'openwrt/package/openntpd')
-rw-r--r-- | openwrt/package/openntpd/Makefile | 6 | ||||
-rwxr-xr-x | openwrt/package/openntpd/ipkg/CONTROL/postinst | 25 | ||||
-rwxr-xr-x | openwrt/package/openntpd/ipkg/etc/init.d/S49ntpd | 3 | ||||
-rw-r--r-- | openwrt/package/openntpd/ipkg/etc/ntpd.conf (renamed from openwrt/package/openntpd/files/ntpd.conf) | 0 |
4 files changed, 31 insertions, 3 deletions
diff --git a/openwrt/package/openntpd/Makefile b/openwrt/package/openntpd/Makefile index 8094e5e..3f6f950 100644 --- a/openwrt/package/openntpd/Makefile +++ b/openwrt/package/openntpd/Makefile @@ -42,6 +42,7 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked --mandir=/usr/man \ --infodir=/usr/info \ --with-builtin-arc4random \ + --with-privsep-user=ntp \ ); touch $(PKG_BUILD_DIR)/.configured @@ -49,11 +50,10 @@ $(PKG_BUILD_DIR)/ntpd: $(PKG_BUILD_DIR)/.configured $(MAKE) -C $(PKG_BUILD_DIR) $(PKG_IPK): $(PKG_BUILD_DIR)/ntpd + mkdir -p $(PKG_IPK_DIR)/usr/sbin + cp -a ./ipkg/* $(PKG_IPK_DIR)/ $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) - mkdir -p $(PKG_IPK_DIR){/usr/sbin,/etc/init.d} cp $(PKG_BUILD_DIR)/ntpd $(PKG_IPK_DIR)/usr/sbin/ - cp ./files/ntpd.conf $(PKG_IPK_DIR)/etc/ - cp ./files/S49ntpd $(PKG_IPK_DIR)/etc/init.d/ $(STRIP) $(PKG_IPK_DIR)/usr/sbin/* mkdir -p $(PACKAGE_DIR) $(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR) diff --git a/openwrt/package/openntpd/ipkg/CONTROL/postinst b/openwrt/package/openntpd/ipkg/CONTROL/postinst new file mode 100755 index 0000000..8881116 --- /dev/null +++ b/openwrt/package/openntpd/ipkg/CONTROL/postinst @@ -0,0 +1,25 @@ +#!/bin/sh +grep -q '^ntp[[:space:]]*123/udp' ${IPKG_INSTROOT}/etc/services 2>/dev/null +[ $? -ne 0 ] && echo "ntp 123/udp" >>${IPKG_INSTROOT}/etc/services + +NU=ntp +U=`grep "^$NU:" ${IPKG_INSTROOT}/etc/passwd 2>/dev/null | cut -d: -f3` +if [ .$U = . ]; then + U=`cut -d: -f3 ${IPKG_INSTROOT}/etc/passwd 2>/dev/null | sort -n | tail -1` + [ .$U = . ] && U=49 + U=`expr $U + 1` + [ $U -lt 50 ] && U=50 + G=`grep "^$NU:" ${IPKG_INSTROOT}/etc/group 2>/dev/null | cut -d: -f3` + if [ .$G = . ]; then + G=`cut -d: -f3 ${IPKG_INSTROOT}/etc/group 2>/dev/null | sort -n | tail -1` + [ .$G = . ] && G=49 + G=`expr $G + 1` + [ $G -lt 50 ] && G=50 + fi + LINE="$NU:x:$U:$G::/tmp/.ntp:/bin/false" + echo "$LINE" >>${IPKG_INSTROOT}/etc/passwd +else + awk -F: '{ if($1=="ntp") printf("%s:%s:%s:%s:%s:/tmp/.ntp:/bin/false\n",$1,$2,$3,$4,$5); else print $0 }' ${IPKG_INSTROOT}/etc/passwd >/tmp/$$ + mv /tmp/$$ ${IPKG_INSTROOT}/etc/passwd + chmod 644 ${IPKG_INSTROOT}/etc/passwd +fi diff --git a/openwrt/package/openntpd/ipkg/etc/init.d/S49ntpd b/openwrt/package/openntpd/ipkg/etc/init.d/S49ntpd new file mode 100755 index 0000000..e528748 --- /dev/null +++ b/openwrt/package/openntpd/ipkg/etc/init.d/S49ntpd @@ -0,0 +1,3 @@ +#!/bin/sh +mkdir -p `grep "^ntp:" /etc/passwd | cut -d: -f6` +/usr/sbin/ntpd -s diff --git a/openwrt/package/openntpd/files/ntpd.conf b/openwrt/package/openntpd/ipkg/etc/ntpd.conf index 6993b8e..6993b8e 100644 --- a/openwrt/package/openntpd/files/ntpd.conf +++ b/openwrt/package/openntpd/ipkg/etc/ntpd.conf |