35d17c763f368b0e4c0417c68f7db496f6c706bb
[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}/packaging/RedHat/smb.conf $RPM_BUILD_ROOT/%{prefix}/lib/smb.conf
89
90 %post
91
92 ln -sf /lib/libnss_winbind.so /lib/libnss_winbind.so.2
93
94 # Build codepage load files
95 for i in 437 737 850 852 861 866 932 936 949 950
96 do
97 %{prefix}/bin/make_smbcodepage c $i %{prefix}/lib/codepages/src/codepage_def.$i %{prefix}/lib/codepages/codepage.$i
98 done
99
100 %preun
101 if [ $1 = 0 ] ; then
102
103     # Remove compiled codepages
104
105     for i in 437 737 850 852 861 866 932 936 949 950; do
106       rm -f %{prefix}/lib/codepages/codepage.$i
107     done
108
109 #    for n in %{prefix}/lib/codepages/*; do
110 #       if [ $n != %{prefix}/lib/codepages/src ]; then
111 #           rm -rf $n
112 #       fi
113 #    done
114     # We want to remove the browse.dat and wins.dat files so they can not interfer with a new version of samba!
115     if [ -e %{prefix}/var/locks/browse.dat ]; then
116             rm -f %{prefix}/var/locks/browse.dat
117     fi
118     if [ -e %{prefix}/var/locks/wins.dat ]; then
119             rm -f %{prefix}/var/locks/wins.dat
120     fi
121 fi
122 rm -f /lib/libnss_winbind.so.2
123
124 %clean
125 rm -rf $RPM_BUILD_ROOT
126
127 %files
128 %attr(-,root,root) %{prefix}/bin/winbindd
129 %attr(-,root,root) %{prefix}/bin/samedit
130 %attr(-,root,root) /lib/libnss_winbind.so
131 %attr(-,root,root) /lib/security/pam_winbind.so
132 %attr(-,root,root) %{prefix}/bin/smbclient
133 %attr(-,root,root) %{prefix}/bin/smbspool
134 %attr(-,root,root) %{prefix}/bin/smbpasswd
135 %attr(-,root,root) %{prefix}/bin/smbstatus
136 %attr(-,root,root) %{prefix}/bin/testparm
137 %attr(-,root,root) %{prefix}/bin/testprns
138 %attr(-,root,root) %{prefix}/bin/make_smbcodepage
139 %attr(-,root,root) %{prefix}/bin/make_printerdef
140 %attr(-,root,root) %{prefix}/bin/addtosmbpass
141 %attr(-,root,root) %{prefix}/bin/smbtar
142 %attr(-,root,root) %{prefix}/bin/nmblookup
143 %attr(-,root,root) %{prefix}/bin/smbd
144 %attr(-,root,root) %{prefix}/bin/nmbd
145 %attr(-,root,root) %config(noreplace) %{prefix}/lib/smb.conf
146 %attr(-,root,root) %dir %{prefix}/lib/codepages
147 %attr(-,root,root) %dir %{prefix}/lib/codepages/src
148 %attr(-,root,root) %dir %{prefix}/var
149 %attr(0700,root,root) %dir %{prefix}/private
150 %attr(-,root,root) %{prefix}/man/man1/smbstatus.1
151 %attr(-,root,root) %{prefix}/man/man1/smbclient.1
152 %attr(-,root,root) %{prefix}/man/man1/make_smbcodepage.1
153 %attr(-,root,root) %{prefix}/man/man1/smbrun.1
154 %attr(-,root,root) %{prefix}/man/man1/smbtar.1
155 %attr(-,root,root) %{prefix}/man/man1/testparm.1
156 %attr(-,root,root) %{prefix}/man/man1/testprns.1
157 %attr(-,root,root) %{prefix}/man/man1/nmblookup.1
158 %attr(-,root,root) %{prefix}/man/man5/smb.conf.5
159 %attr(-,root,root) %{prefix}/man/man5/lmhosts.5
160 %attr(-,root,root) %{prefix}/man/man5/smbpasswd.5
161 %attr(-,root,root) %{prefix}/man/man7/samba.7
162 %attr(-,root,root) %{prefix}/man/man8/smbd.8
163 %attr(-,root,root) %{prefix}/man/man8/nmbd.8
164 %attr(-,root,root) %{prefix}/man/man8/winbindd.8
165 %attr(-,root,root) %{prefix}/man/man8/smbpasswd.8
166 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.437
167 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.737
168 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.850
169 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.852
170 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.861
171 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.866
172 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.932
173 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.936
174 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.949
175 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.950