source: freewrt/package/base-files/files/etc/functions.sh@ e86e2cb

freewrt_1_0 freewrt_2_0
Last change on this file since e86e2cb was e86e2cb, checked in by Waldemar Brodkorb <wbx@…>, 19 years ago

move default to standard dir files

git-svn-id: svn://www.freewrt.org/trunk/freewrt@681 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 1.3 KB
Line 
1load_modules() {
2 sed 's/^[^#]/insmod &/' $* | ash 2>&- || :
3}
4
5user_exists() {
6 grep -q "^$1:" $IPKG_INSTROOT/etc/passwd 2>&-
7 return $?
8}
9
10group_exists() {
11 grep -q "^$1:" $IPKG_INSTROOT/etc/group 2>&-
12 return $?
13}
14
15service_exists() {
16 grep -q "^$1[[:space:]]*$2" $IPKG_INSTROOT/etc/services 2>&-
17 return $?
18}
19
20rcconf_exists() {
21 grep -q "^#*$1=" $IPKG_INSTROOT/etc/rc.conf 2>&-
22 return $?
23}
24
25add_user() {
26 user_exists $1 || {
27 echo "adding user $1 to /etc/passwd"
28 echo "$1:x:$2:${3:-$2}:$1:${4:-/tmp}:${5:-/bin/false}" \
29 >>$IPKG_INSTROOT/etc/passwd
30 }
31}
32
33add_group() {
34 group_exists $1 || {
35 echo "adding group $1 to /etc/group"
36 echo "$1:x:$2:$3" >>$IPKG_INSTROOT/etc/group
37 }
38}
39
40add_service() {
41 service_exists $1 $2 || {
42 echo "adding service $1 to /etc/services"
43 printf '%s\t%s\n' "$1" "$2" >>$IPKG_INSTROOT/etc/services
44 }
45}
46
47add_rcconf() {
48 rcconf_exists $2 || {
49 echo "adding service $1 to /etc/rc.conf"
50 printf '%s\t\t# %s\n' "$2=$3" "$1" >>$IPKG_INSTROOT/etc/rc.conf
51 }
52}
53
54get_next_uid() {
55 uid=$(grep -v -e ^nobody: -e ^admin: $IPKG_INSTROOT/etc/passwd | \
56 tail -n 1 | awk -F : '{ print $3 }')
57 echo $((uid+1))
58}
59
60get_next_gid() {
61 gid=$(grep -v -e ^nogroup: -e ^admin: $IPKG_INSTROOT/etc/group | \
62 tail -n 1 | awk -F : '{ print $3 }')
63 echo $((gid+1))
64}
Note: See TracBrowser for help on using the repository browser.