6f79f9f4fb05f105013a3e5214c4ad82d5946c1c
[kai/samba.git] / examples / appliance / appliance.spec
1 #
2 # Spec file for Samba appliance
3 #
4
5 %define _topdir /tmp
6
7 Summary: Samba appliance executables
8 Name: samba-appliance
9 Version: 0.1
10 Release: 1
11 Group: linuxcare
12 License: Various - GPL, LGPL and BSD
13 Source: %{name}-%{version}-src.tar.gz
14 BuildRoot: %{_topdir}/BUILD/appliance-build
15 Provides: winbind
16
17 %define prefix /usr/local/samba
18
19 %define tng_build_dir $RPM_BUILD_DIR/%{name}-%{version}/tng
20 %define head_build_dir $RPM_BUILD_DIR/%{name}-%{version}/head
21
22 %description
23 Samba appliance.
24
25 %changelog
26
27 %prep
28 %setup
29
30 %build
31 make config
32 make
33
34 %install
35 rm -rf $RPM_BUILD_ROOT
36
37 # Install stuff for tng binaries
38
39 mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
40 mkdir -p $RPM_BUILD_ROOT/lib/security
41 cp %{tng_build_dir}/bin/samedit  $RPM_BUILD_ROOT%{prefix}/bin
42 cp %{tng_build_dir}/bin/winbindd $RPM_BUILD_ROOT%{prefix}/bin
43 cp %{tng_build_dir}/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/lib
44 cp %{tng_build_dir}/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/lib/security
45
46 # Install stuff for source
47
48 mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
49 mkdir -p $RPM_BUILD_ROOT%{prefix}/private
50 mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/codepages/src
51 mkdir -p $RPM_BUILD_ROOT%{prefix}/man/{man1,man5,man7,man8}
52 mkdir -p $RPM_BUILD_ROOT%{prefix}/var/locks
53
54 # Install standard binary files
55 for i in nmblookup smbclient smbspool smbpasswd smbstatus testparm testprns \
56       make_smbcodepage make_printerdef smbd nmbd
57 do
58 install -m755 -s %{head_build_dir}/source/bin/$i $RPM_BUILD_ROOT%{prefix}/bin
59 done
60 for i in addtosmbpass mksmbpasswd.sh smbtar 
61 do
62 install -m755 %{head_build_dir}/source/script/$i $RPM_BUILD_ROOT%{prefix}/bin
63 done
64
65 # Install level 1 man pages
66 for i in smbclient.1 smbrun.1 smbstatus.1 smbtar.1 testparm.1 testprns.1 \
67       make_smbcodepage.1 nmblookup.1
68 do
69 install -m644 %{head_build_dir}/docs/manpages/$i $RPM_BUILD_ROOT%{prefix}/man/man1
70 done
71
72 # Install codepage source files
73 for i in 437 737 850 852 861 866 932 936 949 950
74 do
75 install -m644 %{head_build_dir}/source/codepages/codepage_def.$i $RPM_BUILD_ROOT%{prefix}/lib/codepages/src
76 done
77
78 # Install the miscellany
79 install -m644 %{head_build_dir}/docs/manpages/smb.conf.5 $RPM_BUILD_ROOT%{prefix}/man/man5
80 install -m644 %{head_build_dir}/docs/manpages/lmhosts.5 $RPM_BUILD_ROOT%{prefix}/man/man5
81 install -m644 %{head_build_dir}/docs/manpages/smbpasswd.5 $RPM_BUILD_ROOT%{prefix}/man/man5
82 install -m644 %{head_build_dir}/docs/manpages/samba.7 $RPM_BUILD_ROOT%{prefix}/man/man7
83 install -m644 %{head_build_dir}/docs/manpages/smbd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
84 install -m644 %{head_build_dir}/docs/manpages/nmbd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
85 install -m644 %{head_build_dir}/docs/manpages/winbindd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
86 install -m644 %{head_build_dir}/docs/manpages/swat.8 $RPM_BUILD_ROOT%{prefix}/man/man8
87 install -m644 %{head_build_dir}/docs/manpages/smbpasswd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
88 install -m644 %{head_build_dir}/docs/manpages/winbindd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
89 install -m644 %{head_build_dir}/packaging/RedHat/smb.conf $RPM_BUILD_ROOT/%{prefix}/lib/smb.conf
90
91 %post
92
93 ln -sf /lib/libnss_winbind.so /lib/libnss_winbind.so.2
94
95 # Build codepage load files
96 for i in 437 737 850 852 861 866 932 936 949 950
97 do
98 %{prefix}/bin/make_smbcodepage c $i %{prefix}/lib/codepages/src/codepage_def.$i %{prefix}/lib/codepages/codepage.$i
99 done
100
101 %preun
102 if [ $1 = 0 ] ; then
103
104     # Remove compiled codepages
105
106     for i in 437 737 850 852 861 866 932 936 949 950; do
107       rm -f %{prefix}/lib/codepages/codepage.$i
108     done
109
110 #    for n in %{prefix}/lib/codepages/*; do
111 #       if [ $n != %{prefix}/lib/codepages/src ]; then
112 #           rm -rf $n
113 #       fi
114 #    done
115     # We want to remove the browse.dat and wins.dat files so they can not interfer with a new version of samba!
116     if [ -e %{prefix}/var/locks/browse.dat ]; then
117             rm -f %{prefix}/var/locks/browse.dat
118     fi
119     if [ -e %{prefix}/var/locks/wins.dat ]; then
120             rm -f %{prefix}/var/locks/wins.dat
121     fi
122 fi
123 rm -f /lib/libnss_winbind.so.2
124
125 %clean
126 rm -rf $RPM_BUILD_ROOT
127
128 %files
129 %attr(-,root,root) %{prefix}/bin/winbindd
130 %attr(-,root,root) %{prefix}/bin/samedit
131 %attr(-,root,root) /lib/libnss_winbind.so
132 %attr(-,root,root) /lib/security/pam_winbind.so
133 %attr(-,root,root) %{prefix}/bin/smbclient
134 %attr(-,root,root) %{prefix}/bin/smbspool
135 %attr(-,root,root) %{prefix}/bin/smbpasswd
136 %attr(-,root,root) %{prefix}/bin/smbstatus
137 %attr(-,root,root) %{prefix}/bin/testparm
138 %attr(-,root,root) %{prefix}/bin/testprns
139 %attr(-,root,root) %{prefix}/bin/make_smbcodepage
140 %attr(-,root,root) %{prefix}/bin/make_printerdef
141 %attr(-,root,root) %{prefix}/bin/addtosmbpass
142 %attr(-,root,root) %{prefix}/bin/smbtar
143 %attr(-,root,root) %{prefix}/bin/nmblookup
144 %attr(-,root,root) %{prefix}/bin/smbd
145 %attr(-,root,root) %{prefix}/bin/nmbd
146 %attr(-,root,root) %config(noreplace) %{prefix}/lib/smb.conf
147 %attr(-,root,root) %dir %{prefix}/lib/codepages
148 %attr(-,root,root) %dir %{prefix}/lib/codepages/src
149 %attr(-,root,root) %dir %{prefix}/var
150 %attr(0700,root,root) %dir %{prefix}/private
151 %attr(-,root,root) %{prefix}/man/man1/smbstatus.1
152 %attr(-,root,root) %{prefix}/man/man1/smbclient.1
153 %attr(-,root,root) %{prefix}/man/man1/make_smbcodepage.1
154 %attr(-,root,root) %{prefix}/man/man1/smbrun.1
155 %attr(-,root,root) %{prefix}/man/man1/smbtar.1
156 %attr(-,root,root) %{prefix}/man/man1/testparm.1
157 %attr(-,root,root) %{prefix}/man/man1/testprns.1
158 %attr(-,root,root) %{prefix}/man/man1/nmblookup.1
159 %attr(-,root,root) %{prefix}/man/man5/smb.conf.5
160 %attr(-,root,root) %{prefix}/man/man5/lmhosts.5
161 %attr(-,root,root) %{prefix}/man/man5/smbpasswd.5
162 %attr(-,root,root) %{prefix}/man/man7/samba.7
163 %attr(-,root,root) %{prefix}/man/man8/smbd.8
164 %attr(-,root,root) %{prefix}/man/man8/nmbd.8
165 %attr(-,root,root) %{prefix}/man/man8/winbindd.8
166 %attr(-,root,root) %{prefix}/man/man8/smbpasswd.8
167 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.437
168 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.737
169 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.850
170 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.852
171 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.861
172 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.866
173 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.932
174 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.936
175 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.949
176 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.950