12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- # 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
- }
|