summaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib/functions.sh
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-10-15 17:55:13 +0000
committerJohn Crispin <john@openwrt.org>2014-10-15 17:55:13 +0000
commit666659fb3159412915f828ff10c1d88673d4ef71 (patch)
tree7c6be8682c7bb761ab9063f5b500981cdec96f76 /package/base-files/files/lib/functions.sh
parent579b0d9c5b3f0950fe69b92310af187cb8a6cd0b (diff)
downloadmaster-31e0f0ae-666659fb3159412915f828ff10c1d88673d4ef71.tar.gz
master-31e0f0ae-666659fb3159412915f828ff10c1d88673d4ef71.tar.bz2
master-31e0f0ae-666659fb3159412915f828ff10c1d88673d4ef71.zip
default_postinst() fix wrong call of group_add
[base-files] default_postinst() fix wrong call of group_add after 12bae65d07d29854204715cebc1ef1eae237fd9b group_add is always called. shell scripting can be tricky... wrong call: [ -n "$gid" ] && group_exists $name || group_add $name $gid this leads to a call of 'group_add' when $gid is emtpy, proof: root@box:~ functionA() { echo A; } root@box:~ functionB() { echo B; } root@box:~ VAR= root@box:~ [ -n "$VAR" ] && functionA || functionB B root@box:~ # functionB was called, but VAR is not filled root@box:~ VAR=filled root@box:~ [ -n "$VAR" ] && functionA || functionB A Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com> SVN-Revision: 42926
Diffstat (limited to 'package/base-files/files/lib/functions.sh')
-rwxr-xr-xpackage/base-files/files/lib/functions.sh7
1 files changed, 5 insertions, 2 deletions
diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
index 3a5a65dcc7..d53be3edfe 100755
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (C) 2006-2013 OpenWrt.org
+# Copyright (C) 2006-2014 OpenWrt.org
# Copyright (C) 2006 Fokus Fraunhofer <carsten.tittel@fokus.fraunhofer.de>
# Copyright (C) 2010 Vertical Communications
@@ -193,7 +193,10 @@ default_postinst() {
}
gid=$id
- [ -n "$gid" ] && group_exists $name || group_add $name $gid
+ [ -n "$gid" ] && {
+ group_exists $name || group_add $name $gid
+ }
+
[ -z "$gid" ] && {
group_add_next $name
gid=$?