aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-02-04 06:10:06 +0000
committerJohn Crispin <blogic@openwrt.org>2015-02-04 06:10:06 +0000
commit60552298d7e17b697be7057cc4bff33526204f69 (patch)
treee48261ac04ffcb1209f5bcae214d815001fe7f54
parente17c34de65be1422e22e391ad1a15d02835a684d (diff)
downloadupstream-60552298d7e17b697be7057cc4bff33526204f69.tar.gz
upstream-60552298d7e17b697be7057cc4bff33526204f69.tar.bz2
upstream-60552298d7e17b697be7057cc4bff33526204f69.zip
base-files: default_postinst() fix variable colision
The name variable contains at first the package name, and after the last group name. This patch fixes /etc/rc.d symlink creation (at least). Change name in pkgname, change the other name in ugname (user group name), and id in ugid (user group id) Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44253 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xpackage/base-files/files/lib/functions.sh30
1 files changed, 15 insertions, 15 deletions
diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
index 9d98fb0fbe..dc3b80534b 100755
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -171,51 +171,51 @@ default_prerm() {
}
default_postinst() {
- local name rusers
- name=$(echo $(basename $1) | cut -d. -f1)
- rusers=$(grep "Require-User:" ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.control)
+ local pkgname rusers
+ pkgname=$(echo $(basename $1) | cut -d. -f1)
+ rusers=$(grep "Require-User:" ${IPKG_INSTROOT}/usr/lib/opkg/info/${pkgname}.control)
[ -n "$rusers" ] && {
local user group uid gid
for a in $(echo $rusers | sed "s/Require-User://g"); do
user=""
group=""
for b in $(echo $a | sed "s/:/ /g"); do
- local name id
+ local ugname ugid
- name=$(echo $b | cut -d= -f1)
- id=$(echo $b | cut -d= -f2)
+ ugname=$(echo $b | cut -d= -f1)
+ ugid=$(echo $b | cut -d= -f2)
[ -z "$user" ] && {
- user=$name
- uid=$id
+ user=$ugname
+ uid=$ugid
continue
}
- gid=$id
+ gid=$ugid
[ -n "$gid" ] && {
- group_exists $name || group_add $name $gid
+ group_exists $ugname || group_add $ugname $gid
}
[ -z "$gid" ] && {
- group_add_next $name
+ group_add_next $ugname
gid=$?
}
[ -z "$group" ] && {
user_exists $user || user_add $user "$uid" $gid
- group=$name
+ group=$ugname
continue
}
- group_add_user $name $user
+ group_add_user $ugname $user
done
done
}
- [ -f ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.postinst-pkg ] && ( . ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.postinst-pkg )
+ [ -f ${IPKG_INSTROOT}/usr/lib/opkg/info/${pkgname}.postinst-pkg ] && ( . ${IPKG_INSTROOT}/usr/lib/opkg/info/${pkgname}.postinst-pkg )
[ -n "${IPKG_INSTROOT}" ] || rm -f /tmp/luci-indexcache 2>/dev/null
- [ "$PKG_UPGRADE" = "1" ] || for i in `cat ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.list | grep "^/etc/init.d/"`; do
+ [ "$PKG_UPGRADE" = "1" ] || for i in `cat ${IPKG_INSTROOT}/usr/lib/opkg/info/${pkgname}.list | grep "^/etc/init.d/"`; do
[ -n "${IPKG_INSTROOT}" ] && $(which bash) ${IPKG_INSTROOT}/etc/rc.common ${IPKG_INSTROOT}$i enable; \
[ -n "${IPKG_INSTROOT}" ] || {
$i enable