diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2010-02-07 20:03:20 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2010-02-07 20:03:20 +0100 |
commit | 6daa792eab1488d013fefc5eb7e4d01f40f38687 (patch) | |
tree | 6391cc46bb9fc8b859d99175ea317e5fa7b37959 /package/base-files/src/etc/functions.sh | |
parent | adcaca72539b2ff4a5f4deee00d5f0251378ac9b (diff) |
change defaults for CONFIG/BUILD/INSTALL styles
All packages need an update, so here is a very huge commit.
Most of the 460 source packages use automatic style for configuration,
building and installing. Make these styles default to "auto".
If you have a package, which does not conform to this, just use
manual style and add a do-$task make target.
I added a new style named AUTOTOOL style, which is needed for some
broken packages, which needs to be updated via autoconf or automake.
I renamed CONFIGURE_STYLE to CONFIG_STYLE.
Updates for some packages, which have newer upstream versions.
Renaming of all package/*/extra directories. Use the directory
src/ to provide overwrites of source files or to add the code, when
no upstream package is available or used. src directory will be automatically
used.
Diffstat (limited to 'package/base-files/src/etc/functions.sh')
-rw-r--r-- | package/base-files/src/etc/functions.sh | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/package/base-files/src/etc/functions.sh b/package/base-files/src/etc/functions.sh new file mode 100644 index 000000000..5d76f4843 --- /dev/null +++ b/package/base-files/src/etc/functions.sh @@ -0,0 +1,79 @@ +# newline +N=" +" + +append() { + local var="$1" + local value="$2" + local sep="${3:- }" + + eval "export -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" +} + +load_modules() { + (sed "s,^[^#][^[:space:]]*,insmod /lib/modules/$(uname -r)/&.ko," $* | sh 2>&- || :) +} + +user_exists() { + grep -q "^$1:" $IPKG_INSTROOT/etc/passwd 2>&- +} + +group_exists() { + grep -q "^$1:" $IPKG_INSTROOT/etc/group 2>&- +} + +service_exists() { + grep -q "^$1[[:space:]]*$2" $IPKG_INSTROOT/etc/services 2>&- +} + +rcconf_exists() { + grep -q "^#*$1=" $IPKG_INSTROOT/etc/rc.conf 2>&- +} + +add_user() { + user_exists $1 || { + echo "adding user $1 to /etc/passwd" + echo "$1:x:$2:${3:-$2}:$1:${4:-/tmp}:${5:-/bin/false}" \ + >>$IPKG_INSTROOT/etc/passwd + } +} + +add_group() { + group_exists $1 || { + echo "adding group $1 to /etc/group" + echo "$1:x:$2:$3" >>$IPKG_INSTROOT/etc/group + } +} + +add_service() { + service_exists $1 $2 || { + echo "adding service $1 to /etc/services" + printf '%s\t%s\n' "$1" "$2" >>$IPKG_INSTROOT/etc/services + } +} + +add_rcconf() { + rcconf_exists ${2-$1} || { + echo "adding service ${2-$1} to /etc/rc.conf" + printf '%s="%s"\t\t# %s\n' "${2:-$1}" "${3:-NO}" "$1" \ + >>$IPKG_INSTROOT/etc/rc.conf + } +} + +get_next_uid() { + uid=1 + while grep "^[^:]*:[^:]*:$uid:" $IPKG_INSTROOT/etc/passwd \ + >/dev/null 2>&1; do + uid=$(($uid+1)) + done + echo $uid +} + +get_next_gid() { + gid=1 + while grep "^[^:]*:[^:]*:$gid:" $IPKG_INSTROOT/etc/group \ + >/dev/null 2>&1; do + gid=$(($gid+1)) + done + echo $gid +} |