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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@435 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
605c98529e
commit
0e0a6891a7
|
@ -42,6 +42,7 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked
|
||||||
--mandir=/usr/man \
|
--mandir=/usr/man \
|
||||||
--infodir=/usr/info \
|
--infodir=/usr/info \
|
||||||
--with-builtin-arc4random \
|
--with-builtin-arc4random \
|
||||||
|
--with-privsep-user=ntp \
|
||||||
);
|
);
|
||||||
touch $(PKG_BUILD_DIR)/.configured
|
touch $(PKG_BUILD_DIR)/.configured
|
||||||
|
|
||||||
|
@ -49,11 +50,10 @@ $(PKG_BUILD_DIR)/ntpd: $(PKG_BUILD_DIR)/.configured
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR)
|
$(MAKE) -C $(PKG_BUILD_DIR)
|
||||||
|
|
||||||
$(PKG_IPK): $(PKG_BUILD_DIR)/ntpd
|
$(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)
|
$(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 $(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/*
|
$(STRIP) $(PKG_IPK_DIR)/usr/sbin/*
|
||||||
mkdir -p $(PACKAGE_DIR)
|
mkdir -p $(PACKAGE_DIR)
|
||||||
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
|
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
|
||||||
|
|
|
@ -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
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
mkdir -p `grep "^ntp:" /etc/passwd | cut -d: -f6`
|
||||||
|
/usr/sbin/ntpd -s
|
2
rules.mk
2
rules.mk
|
@ -112,7 +112,7 @@ endif
|
||||||
|
|
||||||
|
|
||||||
# invoke ipkg with configuration in $(STAGING_DIR)/etc/ipkg.conf
|
# invoke ipkg with configuration in $(STAGING_DIR)/etc/ipkg.conf
|
||||||
IPKG := IPKG_CONF_DIR=$(STAGING_DIR)/etc $(TARGET_DIR)/bin/ipkg -force-defaults -force-depends
|
IPKG := IPKG_INSTROOT=$(TARGET_DIR) IPKG_CONF_DIR=$(STAGING_DIR)/etc $(TARGET_DIR)/bin/ipkg -force-defaults -force-depends
|
||||||
IPKG_STATE_DIR := $(TARGET_DIR)/usr/lib/ipkg
|
IPKG_STATE_DIR := $(TARGET_DIR)/usr/lib/ipkg
|
||||||
|
|
||||||
# invoke ipkg-build with some default options
|
# invoke ipkg-build with some default options
|
||||||
|
|
Loading…
Reference in New Issue