Ignore:
Timestamp:
2012-03-30T11:46:16+02:00 (4 years ago)
Author:
jow
Message:

[packages] samba36: update init script and config template (#11106)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • packages/net/samba36/files/samba.init

    r30489 r31150  
    55 
    66smb_header() { 
    7         local name 
    8         local workgroup 
    9         local description 
     7        local interface 
     8        config_get interface $1 interface "loopback lan" 
     9 
     10        # resolve interfaces 
     11        local interfaces=$( 
     12                include /lib/network 
     13                scan_interfaces 
     14 
     15                local net 
     16                for net in $interface; do 
     17                        local ifname 
     18                        config_get ifname "$net" ifname 
     19                        [ -n "$ifname" ] && { 
     20                                local ipaddr netmask 
     21                                config_get ipaddr  "$net" ipaddr 
     22                                config_get netmask "$net" netmask 
     23                                [ -n "$ipaddr" ] && echo -n "$ipaddr/${netmask:-255.255.255.255} " 
     24 
     25                                local ip6addr 
     26                                config_get ip6addr "$net" ip6addr 
     27                                [ -n "$ip6addr" ] && echo -n "$ip6addr " 
     28                        } 
     29 
     30                        echo -n "${ifname:-$net} " 
     31                done 
     32        ) 
     33 
     34        local name workgroup description charset 
     35        local hostname="$(uci_get system.@system[0].hostname)" 
     36 
     37        config_get name        $1 name        "${hostname:-OpenWrt}" 
     38        config_get workgroup   $1 workgroup   "${hostname:-OpenWrt}" 
     39        config_get description $1 description "Samba on ${hostname:-OpenWrt}" 
     40        config_get charset     $1 charset     "UTF-8" 
     41 
     42        mkdir -p /var/etc 
     43        sed -e "s#|NAME|#$name#g" \ 
     44            -e "s#|WORKGROUP|#$workgroup#g" \ 
     45            -e "s#|DESCRIPTION|#$description#g" \ 
     46            -e "s#|INTERFACES|#$interfaces#g" \ 
     47            -e "s#|CHARSET|#$charset#g" \ 
     48            /etc/samba/smb.conf.template > /var/etc/smb.conf 
     49 
    1050        local homes 
     51        config_get_bool homes $1 homes 0 
     52        [ $homes -gt 0 ] && { 
     53                cat <<EOT >> /var/etc/smb.conf 
    1154 
    12         config_get name $1 name 
    13         config_get workgroup $1 workgroup 
    14         config_get description $1 description 
    15         config_get homes $1 homes 
     55[homes] 
     56        comment     = Home Directories 
     57        browsable   = no 
     58        read only   = no 
     59        create mode = 0750 
     60EOT 
     61        } 
    1662 
    17         [ -z "$name" ] && name=openwrt 
    18         [ -z "$workgroup" ] && workgroup=openwrt 
    19         [ -z "$description" ] && description=openwrt 
    20  
    21         cp /etc/samba/smb.conf.template /tmp/smb.conf 
    22         [ -L /etc/samba/smb.conf ] || ln -nsf /tmp/smb.conf /etc/samba/smb.conf 
    23         sed -i "s/|NAME|/$name/g" /tmp/smb.conf 
    24         sed -i "s/|WORKGROUP|/$workgroup/g" /tmp/smb.conf 
    25         sed -i "s/|DESCRIPTION|/$description/g" /tmp/smb.conf 
    26         [ "$homes" == "1" ] && { 
    27                 echo -e "\n[homes]\n\tcomment = Home Directories\n\tbrowseable = no\n\tread only = no\n\tcreate mode = 0750" >> /tmp/smb.conf 
    28         } 
     63        [ -L /etc/samba/smb.conf ] || ln -nsf /var/etc/smb.conf /etc/samba/smb.conf 
    2964} 
    3065 
     
    4883        [ -z "$name" -o -z "$path" ] && return 
    4984 
    50         echo -e "\n[$name]\n\tpath = $path" >> /tmp/smb.conf 
    51         [ -n "$users" ] && echo -e "\tvalid users = $users" >> /tmp/smb.conf 
    52         [ -n "$read_only" ] && echo -e "\tread only = $read_only" >> /tmp/smb.conf 
    53         [ -n "$guest_ok" ] && echo -e "\tguest ok = $guest_ok" >> /tmp/smb.conf 
    54         [ -n "$create_mask" ] && echo -e "\tcreate mask = $create_mask" >> /tmp/smb.conf 
    55         [ -n "$dir_mask" ] && echo -e "\tdirectory mask = $dir_mask" >> /tmp/smb.conf 
     85        echo -e "\n[$name]\n\tpath = $path" >> /var/etc/smb.conf 
     86        [ -n "$users" ] && echo -e "\tvalid users = $users" >> /var/etc/smb.conf 
     87        [ -n "$read_only" ] && echo -e "\tread only = $read_only" >> /var/etc/smb.conf 
     88        [ -n "$guest_ok" ] && echo -e "\tguest ok = $guest_ok" >> /var/etc/smb.conf 
     89        [ -n "$create_mask" ] && echo -e "\tcreate mask = $create_mask" >> /var/etc/smb.conf 
     90        [ -n "$dir_mask" ] && echo -e "\tdirectory mask = $dir_mask" >> /var/etc/smb.conf 
    5691} 
    5792 
Note: See TracChangeset for help on using the changeset viewer.