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