diff options
Diffstat (limited to 'package/quagga/ipkg/CONTROL/postinst')
-rwxr-xr-x | package/quagga/ipkg/CONTROL/postinst | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/package/quagga/ipkg/CONTROL/postinst b/package/quagga/ipkg/CONTROL/postinst new file mode 100755 index 000000000..0bb4bdda6 --- /dev/null +++ b/package/quagga/ipkg/CONTROL/postinst @@ -0,0 +1,45 @@ +#!/bin/sh + +name=quagga +id=51 + +# do not change below +# check if we are on real system +if [ -z "${IPKG_INSTROOT}" ]; then + # create copies of passwd and group, if we use squashfs + rootfs=`mount |awk '/root/ { print $5 }'` + if [ "$rootfs" = "squashfs" ]; then + if [ -h /etc/group ]; then + rm /etc/group + cp /rom/etc/group /etc/group + fi + if [ -h /etc/passwd ]; then + rm /etc/passwd + cp /rom/etc/passwd /etc/passwd + fi + fi +fi + +echo "" +if [ -z "$(grep ^\\${name}: ${IPKG_INSTROOT}/etc/group)" ]; then + echo "adding group $name to /etc/group" + echo "${name}:x:${id}:" >> ${IPKG_INSTROOT}/etc/group +fi + +if [ -z "$(grep ^\\${name}: ${IPKG_INSTROOT}/etc/passwd)" ]; then + echo "adding user $name to /etc/passwd" + echo "${name}:x:${id}:${id}:${name}:/tmp/.${name}:/bin/false" >> ${IPKG_INSTROOT}/etc/passwd +fi + +grep -q '^zebra[[:space:]]*2601/tcp' ${IPKG_INSTROOT}/etc/services 2>/dev/null +if [ $? -ne 0 ]; then +echo "zebrasrv 2600/tcp" >>${IPKG_INSTROOT}/etc/services +echo "zebra 2601/tcp" >>${IPKG_INSTROOT}/etc/services +echo "ripd 2602/tcp" >>${IPKG_INSTROOT}/etc/services +echo "ripngd 2603/tcp" >>${IPKG_INSTROOT}/etc/services +echo "ospfd 2604/tcp" >>${IPKG_INSTROOT}/etc/services +echo "bgpd 2605/tcp" >>${IPKG_INSTROOT}/etc/services +echo "ospf6d 2606/tcp" >>${IPKG_INSTROOT}/etc/services +echo "ospfapi 2607/tcp" >>${IPKG_INSTROOT}/etc/services +echo "isisd 2608/tcp" >>${IPKG_INSTROOT}/etc/services +fi |