Initial version of appliance spec file.
[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 * Thu May 11 2000 Tim Potter <tpot@linuxcare.com.au>
27   - Modified to use libnss_winbind instead of libnss_ntdom.
28   - Remove rpcclient from binary list
29 * Mon May 8 2000 Tim Potter <tpot@linuxcare.com.au>
30   - Initial version.
31
32 %prep
33 %setup
34
35 %build
36 make config
37 make
38
39 %install
40 rm -rf $RPM_BUILD_ROOT
41
42 # Install stuff for tng binaries
43
44 mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
45 mkdir -p $RPM_BUILD_ROOT/lib/security
46 cp %{tng_build_dir}/bin/samedit  $RPM_BUILD_ROOT%{prefix}/bin
47 cp %{tng_build_dir}/bin/winbindd $RPM_BUILD_ROOT%{prefix}/bin
48 cp %{tng_build_dir}/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/lib
49 cp %{tng_build_dir}/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/lib/security
50
51 # Install stuff for source
52
53 mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
54 mkdir -p $RPM_BUILD_ROOT%{prefix}/private
55 mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/codepages/src
56 mkdir -p $RPM_BUILD_ROOT%{prefix}/man/{man1,man5,man7,man8}
57 mkdir -p $RPM_BUILD_ROOT%{prefix}/var/locks
58
59 # Install standard binary files
60 for i in nmblookup smbclient smbspool smbpasswd smbstatus testparm testprns \
61       make_smbcodepage make_printerdef smbd nmbd
62 do
63 install -m755 -s %{head_build_dir}/source/bin/$i $RPM_BUILD_ROOT%{prefix}/bin
64 done
65 for i in addtosmbpass mksmbpasswd.sh smbtar 
66 do
67 install -m755 %{head_build_dir}/source/script/$i $RPM_BUILD_ROOT%{prefix}/bin
68 done
69
70 # Install level 1 man pages
71 for i in smbclient.1 smbrun.1 smbstatus.1 smbtar.1 testparm.1 testprns.1 \
72       make_smbcodepage.1 nmblookup.1
73 do
74 install -m644 %{head_build_dir}/docs/manpages/$i $RPM_BUILD_ROOT%{prefix}/man/man1
75 done
76
77 # Install codepage source files
78 for i in 437 737 850 852 861 866 932 936 949 950
79 do
80 install -m644 %{head_build_dir}/source/codepages/codepage_def.$i $RPM_BUILD_ROOT%{prefix}/lib/codepages/src
81 done
82
83 # Install the miscellany
84 install -m644 %{head_build_dir}/docs/manpages/smb.conf.5 $RPM_BUILD_ROOT%{prefix}/man/man5
85 install -m644 %{head_build_dir}/docs/manpages/lmhosts.5 $RPM_BUILD_ROOT%{prefix}/man/man5
86 install -m644 %{head_build_dir}/docs/manpages/smbpasswd.5 $RPM_BUILD_ROOT%{prefix}/man/man5
87 install -m644 %{head_build_dir}/docs/manpages/samba.7 $RPM_BUILD_ROOT%{prefix}/man/man7
88 install -m644 %{head_build_dir}/docs/manpages/smbd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
89 install -m644 %{head_build_dir}/docs/manpages/nmbd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
90 install -m644 %{head_build_dir}/docs/manpages/swat.8 $RPM_BUILD_ROOT%{prefix}/man/man8
91 install -m644 %{head_build_dir}/docs/manpages/smbpasswd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
92 install -m644 %{head_build_dir}/packaging/RedHat/smb.conf $RPM_BUILD_ROOT/%{prefix}/lib/smb.conf
93
94 %post
95
96 ln -sf /lib/libnss_winbind.so /lib/libnss_winbind.so.2
97
98 # Build codepage load files
99 for i in 437 737 850 852 861 866 932 936 949 950
100 do
101 %{prefix}/bin/make_smbcodepage c $i %{prefix}/lib/codepages/src/codepage_def.$i %{prefix}/lib/codepages/codepage.$i
102 done
103
104 %preun
105 if [ $1 = 0 ] ; then
106
107     # Remove compiled codepages
108
109     for i in 437 737 850 852 861 866 932 936 949 950; do
110       rm -f %{prefix}/lib/codepages/codepage.$i
111     done
112
113 #    for n in %{prefix}/lib/codepages/*; do
114 #       if [ $n != %{prefix}/lib/codepages/src ]; then
115 #           rm -rf $n
116 #       fi
117 #    done
118     # We want to remove the browse.dat and wins.dat files so they can not interfer with a new version of samba!
119     if [ -e %{prefix}/var/locks/browse.dat ]; then
120             rm -f %{prefix}/var/locks/browse.dat
121     fi
122     if [ -e %{prefix}/var/locks/wins.dat ]; then
123             rm -f %{prefix}/var/locks/wins.dat
124     fi
125 fi
126 rm -f /lib/libnss_winbind.so.2
127
128 %clean
129 #rm -rf $RPM_BUILD_ROOT
130
131 %files
132 %attr(-,root,root) %{prefix}/bin/winbindd
133 %attr(-,root,root) %{prefix}/bin/samedit
134 %attr(-,root,root) /lib/libnss_winbind.so
135 %attr(-,root,root) /lib/security/pam_winbind.so
136 %attr(-,root,root) %{prefix}/bin/smbclient
137 %attr(-,root,root) %{prefix}/bin/smbspool
138 %attr(-,root,root) %{prefix}/bin/smbpasswd
139 %attr(-,root,root) %{prefix}/bin/smbstatus
140 %attr(-,root,root) %{prefix}/bin/testparm
141 %attr(-,root,root) %{prefix}/bin/testprns
142 %attr(-,root,root) %{prefix}/bin/make_smbcodepage
143 %attr(-,root,root) %{prefix}/bin/make_printerdef
144 %attr(-,root,root) %{prefix}/bin/addtosmbpass
145 %attr(-,root,root) %{prefix}/bin/smbtar
146 %attr(-,root,root) %{prefix}/bin/nmblookup
147 %attr(-,root,root) %{prefix}/bin/smbd
148 %attr(-,root,root) %{prefix}/bin/nmbd
149 %attr(-,root,root) %config(noreplace) %{prefix}/lib/smb.conf
150 %attr(-,root,root) %dir %{prefix}/lib/codepages
151 %attr(-,root,root) %dir %{prefix}/lib/codepages/src
152 %attr(-,root,root) %dir %{prefix}/var
153 %attr(0700,root,root) %dir %{prefix}/private
154 %attr(-,root,root) %{prefix}/man/man1/smbstatus.1
155 %attr(-,root,root) %{prefix}/man/man1/smbclient.1
156 %attr(-,root,root) %{prefix}/man/man1/make_smbcodepage.1
157 %attr(-,root,root) %{prefix}/man/man1/smbrun.1
158 %attr(-,root,root) %{prefix}/man/man1/smbtar.1
159 %attr(-,root,root) %{prefix}/man/man1/testparm.1
160 %attr(-,root,root) %{prefix}/man/man1/testprns.1
161 %attr(-,root,root) %{prefix}/man/man1/nmblookup.1
162 %attr(-,root,root) %{prefix}/man/man5/smb.conf.5
163 %attr(-,root,root) %{prefix}/man/man5/lmhosts.5
164 %attr(-,root,root) %{prefix}/man/man5/smbpasswd.5
165 %attr(-,root,root) %{prefix}/man/man7/samba.7
166 %attr(-,root,root) %{prefix}/man/man8/smbd.8
167 %attr(-,root,root) %{prefix}/man/man8/nmbd.8
168 %attr(-,root,root) %{prefix}/man/man8/smbpasswd.8
169 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.437
170 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.737
171 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.850
172 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.852
173 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.861
174 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.866
175 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.932
176 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.936
177 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.949
178 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.950