]> git.pld-linux.org Git - packages/util-vserver.git/blob - util-vserver.spec
- vhashify is in %{_libdir}; rel 5
[packages/util-vserver.git] / util-vserver.spec
1 # TODO
2 # - %install is not re-entrant
3 #
4 # m68k and mips are the only not supported archs
5 #
6 # Conditional build:
7 %bcond_without  dietlibc                # don't use dietlibc (ask for troubles)
8 %bcond_without  doc                     # don't build documentation which needed LaTeX
9 %bcond_without  no_dynamic_context      # disable enforcement of disabled dynamic context
10 %bcond_with     xalan                   # use the xalan xslt processor
11
12 %define vproc_version 0.01
13 # diet compile fails with ccache in %{__cc}
14 %undefine       with_ccache
15
16 %ifarch ppc
17 # pdflatex: refman: Invalid argument
18 %undefine       with_doc
19 %endif
20
21 %define         snap    pre2849
22 %define         rel             5
23 Summary:        Linux virtual server utilities
24 Summary(pl.UTF-8):      Narzędzia dla linuksowych serwerów wirtualnych
25 Name:           util-vserver
26 Version:        0.30.216
27 Release:        0.%{snap}.%{rel}
28 License:        GPL
29 Group:          Applications/System
30 Source0:        http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
31 # Source0-md5:  af4c22b420320bdd94a1756f3c90de20
32 Source1:        vprocunhide.init
33 Source2:        vservers.init
34 Source3:        vservers-legacy.init
35 Source4:        rebootmgr.init
36 Source5:        vservers.sysconfig
37 Source6:        vservers-legacy.sysconfig
38 Source7:        vrootdevices.init
39 Source8:        vrootdevices.sysconfig
40 # A bit of documentation explaining package management
41 # http://www.paul.sladen.org/vserver/archives/200505/0078.html
42 Source9:        %{name}-pkgmgmt.txt
43 Source10:       %{name}-initpost.sh
44 Source11:       http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{vproc_version}.tar.bz2
45 # Source11-md5: 1d030717bdbc958ea4b35fd2410dad85
46 Source12:       %{name}-vhashify.cron
47 Source13:       ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc
48 # Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
49 Source14:       ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
50 # Source14-md5: 08b29584dd349aac9caa7610131a0a88
51 Source15:       %{name}.init
52 Patch0:         %{name}-vsysvwrapper.patch
53 Patch1:         %{name}-pld.patch
54 Patch2:         %{name}-centos.patch
55 Patch4:         %{name}-m4-diet.patch
56 Patch5:         %{name}-yum-verb-nogpg.patch
57 Patch6:         %{name}-build-umask.patch
58 Patch7:         %{name}-utmpx.patch
59 Patch8:         %{name}-vprocunhide.patch
60 Patch9:         %{name}-dev.patch
61 Patch10:        %{name}-no-dynamic-ctx.patch
62 Patch11:        %{name}-more-ip.patch
63 Patch12:        %{name}-rpm-fake-resolver-badperm-errorlogging.patch
64 Patch13:        %{name}-tmpdir.patch
65 Patch14:        %{name}-rpmpath.patch
66 Patch15:        %{name}-interfaces-ignore-cvs-dir.patch
67 Patch16:        %{name}-personalitymachine.patch
68 Patch17:        %{name}-backupfiles.patch
69 Patch18:        %{name}-vprocunhide-net.patch
70 # http://glen.alkohol.ee/pld/util-vserver-dbrebuild-internalize4.patch
71 Patch19:        %{name}-dbrebuild-internalize4.patch
72 Patch21:        %{name}-bash-wrapper.patch
73 Patch22:        %{name}-pivot-root-ugly-hack.patch
74 Patch23:        %{name}-ac.patch
75 Patch24:        vunify-more-exclude.patch
76 URL:            http://savannah.nongnu.org/projects/util-vserver/
77 BuildRequires:  autoconf
78 BuildRequires:  automake >= 1.9
79 BuildRequires:  beecrypt-devel
80 BuildRequires:  ctags
81 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.29}
82 BuildRequires:  e2fsprogs-devel
83 BuildRequires:  libstdc++-devel
84 BuildRequires:  libtool >= 1.5.14
85 %ifarch %{x8664}
86 BuildRequires:  sed >= 4.0
87 %endif
88 BuildRequires:  python-devel
89 BuildRequires:  rpmbuild(macros) >= 1.268
90 %if %{with doc}
91 BuildRequires:  doxygen
92 BuildRequires:  graphviz
93 BuildRequires:  libxslt-progs
94 BuildRequires:  python-devel
95 BuildRequires:  rpm-pythonprov
96 %if "%{pld_release}" == "ti"
97 BuildRequires:  tetex-fonts-jknappen
98 BuildRequires:  tetex-format-pdflatex
99 BuildRequires:  tetex-makeindex
100 BuildRequires:  tetex-metafont
101 %else
102 BuildRequires:  texlive-fonts-type1-urw
103 BuildRequires:  texlive-format-pdflatex
104 BuildRequires:  texlive-makeindex
105 BuildRequires:  texlive-pdftex
106 BuildRequires:  texlive-xetex
107 %endif
108 %{?with_xalan:BuildRequires:    xalan-j}
109 %endif
110 Requires(post,preun):   /sbin/chkconfig
111 Requires:       %{name}-lib = %{version}-%{release}
112 Requires:       coreutils
113 Requires:       diffutils
114 Requires:       issue
115 Requires:       make
116 Requires:       mktemp >= 1.5-18
117 Requires:       rc-scripts
118 Requires:       tar
119 Requires:       util-linux
120 Requires:       vserver-distro-pld = %{version}-%{release}
121 Obsoletes:      util-vserver-build
122 Obsoletes:      util-vserver-core
123 Obsoletes:      util-vserver-init
124 Conflicts:      poldek < 0.18.8-10
125 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
126
127 %if %{with dietlibc}
128 # binaries created with this option have broken segments when using dietlibc
129 %define filterout_ld    -Wl,-z,relro
130 %endif
131
132 # for adapter
133 %define         _usrbin         /usr/bin
134 %define         _usrsbin        /usr/sbin
135 %define         _usrlib         /usr/lib
136
137 %description
138 This package provides the components and a framework to setup virtual
139 servers. A virtual server runs inside a Linux server. It is
140 nevertheless highly independent. As such, you can run various services
141 with normal configuration. The various vservers can't interact with
142 each other and can't interact with services in the main server.
143
144 This requires a special kernel supporting the new new_s_context and
145 set_ipv4root system call.
146
147 This package contains utilities which are required to communicate with
148 the Linux-Vserver enabled kernel, utilities which assist in building
149 Vservers and SysV initscripts which start and stop Vservers and
150 related tools.
151
152 %description -l pl.UTF-8
153 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
154 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
155 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
156 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
157 w interakcję z innymi ani z usługami na głównym serwerze.
158
159 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
160 new_s_context i set_ipv4root.
161
162 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
163 włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy
164 budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i
165 zatrzymujące Vserwery oraz powiązane narzędzia.
166
167 %package lib
168 Summary:        Dynamic libraries for util-vserver
169 Summary(pl.UTF-8):      Biblioteki dynamiczne dla pakietu util-vserver
170 Group:          Libraries
171
172 %description lib
173 util-vserver provides the components and a framework to setup virtual
174 servers. A virtual server runs inside a linux server. It is
175 nevertheless highly independent. As such, you can run various services
176 pith normal configuration. The various vservers can't interact with
177 each other and can't interact with services in the main server.
178
179 This package contains the shared libraries needed by all other
180 'util-vserver' subpackages.
181
182 %description lib -l pl.UTF-8
183 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
184 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
185 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
186 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
187 w interakcję z innymi ani z usługami na głównym serwerze.
188
189 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
190 podpakiety util-vserver.
191
192 %package devel
193 Summary:        Development files for Linux vserver libraries
194 Summary(pl.UTF-8):      Pliki programistyczne dla bibliotek linuksowego vserwera
195 Group:          Development/Libraries
196 Requires:       %{name}-lib = %{version}-%{release}
197
198 %description devel
199 This package contains the development files necessary for developing
200 programs which use vserver library.
201
202 %description devel -l pl.UTF-8
203 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
204 programów używających biblioteki vserver.
205
206 %package static
207 Summary:        Static vserver library
208 Summary(pl.UTF-8):      Biblioteka statyczna vservera
209 Group:          Development/Libraries
210 Requires:       %{name}-devel = %{version}-%{release}
211
212 %description static
213 This package contains the static version of vserver library.
214
215 %description static -l pl.UTF-8
216 Ten pakiet zawiera statyczną wersję biblioteki vservera.
217
218 %package legacy
219 Summary:        Legacy utilities for util-vserver
220 Summary(pl.UTF-8):      Stare narzędzia dla util-vserver
221 Group:          Applications/System
222 Requires(post,preun):   /sbin/chkconfig
223 Requires:       %{name} = %{version}-%{release}
224 Requires:       rc-scripts
225
226 %description legacy
227 util-vserver provides the components and a framework to setup virtual
228 servers. A virtual server runs inside a linux server. It is
229 nevertheless highly independent. As such, you can run various services
230 with normal configuration. The various vservers can't interact with
231 each other and can't interact with services in the main server.
232
233 This package contains the tools which are needed to work with Vservers
234 having an old-style configuration.
235
236 %description legacy -l pl.UTF-8
237 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
238 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
239 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
240 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
241 w interakcję z innymi ani z usługami na głównym serwerze.
242
243 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
244 konfigurację w starym stylu.
245
246 %package -n python-util-vserver
247 Summary:        Python interface to libutil-vserver library
248 Summary(pl.UTF-8):      Pythonowy interfejs do biblioteki libutil-vserver
249 License:        LGPL v2.1+
250 Group:          Libraries/Python
251
252 %description -n python-util-vserver
253 Python interface to libutil-vserver library.
254
255 %description -n python-util-vserver -l pl.UTF-8
256 Pythonowy interfejs do biblioteki libutil-vserver.
257
258 %package -n vserver-distro-alpine
259 Summary:        VServer build template for Alpine Linux
260 Summary(pl.UTF-8):      Szablon budowania VServerów dla dystrybucji Alpine Linux
261 Group:          Applications/System
262 Requires:       %{name} = %{version}-%{release}
263
264 %description -n vserver-distro-alpine
265 VServer build template for Alpine Linux.
266
267 %description -n vserver-distro-alpine -l pl.UTF-8
268 Szablon budowania VServerów dla dystrybucji Alpine Linux.
269
270 %package -n vserver-distro-centos
271 Summary:        VServer build template for CentOS
272 Summary(pl.UTF-8):      Szablon budowania VServerów dla dystrybucji CentOS
273 Group:          Applications/System
274 Requires:       %{name} = %{version}-%{release}
275 Requires:       vserver-distro-redhat = %{version}-%{release}
276 Requires:       yum
277
278 %description -n vserver-distro-centos
279 VServer build template for CentOS 4.2 and 5.
280
281 %description -n vserver-distro-centos -l pl.UTF-8
282 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
283
284 %package -n vserver-distro-debian
285 Summary:        VServer build templates for Debian and Ubuntu
286 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu
287 Group:          Applications/System
288 Requires:       %{name} = %{version}-%{release}
289 Requires:       debootstrap
290 Requires:       dpkg
291 Provides:       vserver-distro-ubuntu
292 Obsoletes:      vserver-distro-ubuntu
293
294 %description -n vserver-distro-debian
295 VServer build templates for Debian and Ubuntu.
296
297 %description -n vserver-distro-debian -l pl.UTF-8
298 Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu.
299
300 %package -n vserver-distro-fedora
301 Summary:        VServer build templates for Fedora
302 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji Fedora
303 Group:          Applications/System
304 Requires:       %{name} = %{version}-%{release}
305 Requires:       binutils
306 Requires:       e2fsprogs
307 Requires:       rpm
308 Requires:       vserver-distro-redhat = %{version}-%{release}
309 Requires:       wget
310 Requires:       yum
311
312 %description -n vserver-distro-fedora
313 VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7.
314
315 %description -n vserver-distro-fedora -l pl.UTF-8
316 Szablony do tworzenia VServerów dla dystrybucji Fedora Core
317 1,2,3,4,5,6 oraz Fedora 7.
318
319 %package -n vserver-distro-gentoo
320 Summary:        VServer build template for Gentoo
321 Summary(pl.UTF-8):      Szablon budowania VServerów dla Gentoo
322 Group:          Applications/System
323 Requires:       %{name} = %{version}-%{release}
324
325 %description -n vserver-distro-gentoo
326 VServer build template for Gentoo.
327
328 %description -n vserver-distro-gentoo -l pl.UTF-8
329 Szablon budowania VServerów dla Gentoo.
330
331 %package -n vserver-distro-pld
332 Summary:        VServer build templates for PLD Linux
333 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji PLD Linux
334 Group:          Applications/System
335 Requires:       %{name} = %{version}-%{release}
336 Requires:       /etc/pld-release
337 Requires:       poldek >= 0.30
338
339 %description -n vserver-distro-pld
340 VServer build templates for PLD Linux.
341
342 %description -n vserver-distro-pld -l pl.UTF-8
343 Szablony do tworzenia VServerów dla dystrybucji PLD Linux.
344
345 %package -n vserver-distro-redhat
346 Summary:        VServer build template for Red Hat Linux 9
347 Summary(pl.UTF-8):      Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9
348 Group:          Applications/System
349 Requires:       %{name} = %{version}-%{release}
350 Requires:       binutils
351 Requires:       e2fsprogs
352 Requires:       rpm
353 Requires:       wget
354
355 %description -n vserver-distro-redhat
356 VServer build template for RedHat Linux 9.
357
358 %description -n vserver-distro-redhat -l pl.UTF-8
359 Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9.
360
361 %package -n vserver-distro-suse
362 Summary:        VServer build template for SuSE 9.1
363 Summary(pl.UTF-8):      Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1
364 Group:          Applications/System
365 Requires:       %{name} = %{version}-%{release}
366 Requires:       binutils
367 Requires:       e2fsprogs
368 Requires:       rpm
369 Requires:       wget
370
371 %description -n vserver-distro-suse
372 VServer build template for SuSE Linux 9.1.
373
374 %description -n vserver-distro-suse -l pl.UTF-8
375 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1.
376
377 %prep
378 %setup -q -n %{name}-%{version}-%{snap} -a11
379 %patch0 -p1
380 %patch1 -p1
381 %patch2 -p1
382 %patch4 -p1
383 %patch5 -p1
384 %patch6 -p1
385 %patch7 -p1
386 %patch8 -p1
387 %patch9 -p1
388 %{?with_no_dynamic_context:%patch10 -p1}
389 %patch11 -p1
390 %patch12 -p1
391 %patch13 -p1
392 %patch14 -p1
393 %patch15 -p1
394 %patch16 -p1
395 %patch17 -p1
396 %patch18 -p1
397 %patch19 -p1
398 %patch21 -p1
399 %patch22 -p1
400 %patch23 -p0
401 %patch24 -p1
402
403 install %{SOURCE9} package-management.txt
404
405 %build
406 unset LD_SYMBOLIC_FUNCTIONS || :
407
408 %if %{with dietlibc}
409 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
410 %endif
411 %{__libtoolize}
412 %{__aclocal} -I m4
413 %{__automake}
414 %{__autoconf}
415 %configure \
416         --with-initrddir=/etc/rc.d/init.d \
417         --enable-release \
418         --enable-apis=NOLEGACY \
419         --with-initscripts=sysv \
420         --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
421         MKTEMP=/bin/mktemp \
422         MOUNT=/bin/mount \
423         PS=/bin/ps \
424         UMOUNT=/bin/umount \
425         IP=/sbin/ip \
426         IPTABLES=%{_usrsbin}/iptables \
427         MODPROBE=/sbin/modprobe \
428         NAMEIF=/sbin/nameif \
429         RMMOD=/sbin/rmmod \
430         VCONFIG=/sbin/vconfig \
431         WGET=%{_usrbin}/wget \
432
433 %{__make} all
434 %{?with_doc:%{__make} doc}
435
436 %{__make} -C vproc-%{vproc_version} \
437         CC="%{__cc}" \
438         CFLAGS="%{rpmcflags}"
439
440 %install
441 rm -rf $RPM_BUILD_ROOT
442 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
443         $RPM_BUILD_ROOT%{_sysconfdir}/vservices \
444         $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/apps/vdevmap
445
446 %{__make} -j1 install install-distribution \
447         DESTDIR=$RPM_BUILD_ROOT
448
449 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
450
451 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
452         s=$(basename $i | sed s/v_//)
453         cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
454 # IP addresses/interfaces to bound $s service to
455 #IP=10.0.0.1
456 #IP=eth0
457 EOF
458 done
459
460 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
461         $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
462 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
463         $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
464 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
465         $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
466 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
467         $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
468 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE15} > \
469         $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
470 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
471         $RPM_BUILD_ROOT/etc/sysconfig/vservers
472 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' gentoo/bash-wrapper > \
473         $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
474
475 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
476
477 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
478 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
479 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld
480 install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
481 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
482 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/initpost
483 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
484 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti/initpost
485 %endif
486 install vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
487 sed -i -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
488 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
489
490 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
491 02 2 * * 0      root    %{_libdir}/%{name}/vhashify.cron
492 EOF
493
494 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys
495 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
496
497 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
498 cp -a %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
499
500 # set arch for pld-ac in pld.conf
501 %ifarch i586 i686 ppc sparc alpha athlon
502 %define         ftp_arch        %{_target_cpu}
503 %endif
504 %ifarch %{x8664}
505 %define         ftp_arch        amd64
506 %endif
507 %ifarch i486
508 %define         ftp_arch        i386
509 %endif
510 %ifarch pentium2 pentium3 pentium4
511 %define         ftp_arch        i686
512 %endif
513 %ifarch sparcv9 sparc64
514 %define         ftp_arch        sparc
515 %endif
516 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
517
518 # set arch for pld-th in pld.conf
519 %ifarch i486 i686 ppc sparc alpha athlon
520 %define         ftp_arch        %{_target_cpu}
521 %endif
522 %ifarch %{x8664}
523 %define         ftp_arch        x86_64
524 %endif
525 %ifarch i586
526 %define         ftp_arch        i486
527 %endif
528 %ifarch pentium2 pentium3 pentium4
529 %define         ftp_arch        i686
530 %endif
531 %ifarch sparcv9 sparc64
532 %define         ftp_arch        sparc
533 %endif
534 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
535
536 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
537 # set arch for pld-ti in pld.conf
538 %ifarch i586 i686
539 %define         ftp_arch        %{_target_cpu}
540 %endif
541 %ifarch %{x8664}
542 %define         ftp_arch        x86_64
543 %endif
544 %ifarch athlon pentium2 pentium3 pentium4
545 %define         ftp_arch        i686
546 %endif
547 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/pld.conf
548 %endif
549
550 # current debootstrap link
551 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb" \
552         > $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/debootstrap.uri
553
554 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
555
556 # cleanups
557 rm -rf $RPM_BUILD_ROOT/dev
558 rm -rf $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
559 # we have our own initscript which does the same
560 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
561 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
562 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
563 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
564
565 %clean
566 rm -rf $RPM_BUILD_ROOT
567
568 %triggerun -- util-vserver-init
569 # Prevent preun from util-vserver-init from working
570 chmod a-x /etc/rc.d/init.d/vprocunhide
571 chmod a-x /etc/rc.d/init.d/vrootdevices
572 chmod a-x /etc/rc.d/init.d/vservers
573
574 %triggerpostun -- util-vserver-init
575 # Restore what triggerun removed
576 chmod ug+x /etc/rc.d/init.d/vprocunhide
577 chmod ug+x /etc/rc.d/init.d/vrootdevices
578 chmod ug+x /etc/rc.d/init.d/vservers
579 /sbin/chkconfig --add vrootdevices
580 /sbin/chkconfig --add vprocunhide
581 /sbin/chkconfig --add vservers
582 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
583         cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
584         mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
585 fi
586 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
587         cp -f /etc/sysconfig/vservers{,.rpmnew}
588         mv -f /etc/sysconfig/vservers{.rpmsave,}
589 fi
590
591 %post
592 %{_sbindir}/setattr --barrier /vservers || :
593 /sbin/chkconfig --add util-vserver
594 /sbin/chkconfig --add vrootdevices
595 /sbin/chkconfig --add vprocunhide
596 /sbin/chkconfig --add vservers
597 if [ ! -f /var/lock/subsys/util-vserver ]; then
598         echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
599 fi
600 if [ ! -f /var/lock/subsys/vrootdevices ]; then
601         echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
602 fi
603 if [ ! -f /var/lock/subsys/vprocunhide ]; then
604         echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
605 fi
606 if [ ! -f /var/lock/subsys/vservers ]; then
607         echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
608 fi
609
610 %preun
611 if [ "$1" = "0" ]; then
612         %service util-vserver stop
613         %service vservers stop
614         %service vprocunhide stop
615         %service vrootdevices stop
616         /sbin/chkconfig --del util-vserver
617         /sbin/chkconfig --del vservers
618         /sbin/chkconfig --del vprocunhide
619         /sbin/chkconfig --del vrootdevices
620 fi
621
622 %post   lib -p /sbin/ldconfig
623 %postun lib -p /sbin/ldconfig
624
625 %post legacy
626 /sbin/chkconfig --add rebootmgr
627 /sbin/chkconfig --add vservers-legacy
628 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
629         echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
630 fi
631 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
632         echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
633 fi
634
635 %preun legacy
636 if [ "$1" = "0" ]; then
637         %service rebootmgr stop
638         %service vservers-legacy stop
639         /sbin/chkconfig --del rebootmgr
640         /sbin/chkconfig --del vservers-legacy
641 fi
642
643 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
644 for D in ac th ti; do
645         P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
646
647         if [ -f $P/pld-source.conf.rpmsave ]; then
648                 cp -f $P/repos.d/pld.conf{,.rpmnew}
649                 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
650         fi
651 done
652 exit 0
653
654 %files
655 %defattr(644,root,root,755)
656 %doc AUTHORS NEWS THANKS doc/intro.txt
657 %doc package-management.txt
658 %{?with_doc:%doc doc/*.html}
659 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
660 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
661 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
662 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
663 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
664 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
665 %attr(754,root,root) /etc/rc.d/init.d/vservers
666 %dir %{_sysconfdir}/vservers
667 %dir %{_sysconfdir}/vservers/.defaults
668 %dir %{_sysconfdir}/vservers/.defaults/apps
669 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
670 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
671 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
672 %dir %{_sysconfdir}/vservers/.defaults/files
673 %{_sysconfdir}/vservers/.defaults/vdirbase
674 %{_sysconfdir}/vservers/.defaults/cachebase
675 %{_sysconfdir}/vservers/.defaults/run.rev
676 %dir %{_sysconfdir}/vservers/.distributions
677 %dir %{_sysconfdir}/vservers/.distributions/.common
678 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
679 /sbin/vshelper
680 %attr(755,root,root) %{_sbindir}/chbind
681 %attr(755,root,root) %{_sbindir}/chcontext
682 %attr(755,root,root) %{_sbindir}/chxid
683 %attr(755,root,root) %{_sbindir}/exec-cd
684 %attr(755,root,root) %{_sbindir}/lsxid
685 %attr(755,root,root) %{_sbindir}/naddress
686 %attr(755,root,root) %{_sbindir}/nattribute
687 %attr(755,root,root) %{_sbindir}/ncontext
688 %attr(755,root,root) %{_sbindir}/reducecap
689 %attr(755,root,root) %{_sbindir}/setattr
690 %attr(755,root,root) %{_sbindir}/showattr
691 %attr(755,root,root) %{_sbindir}/vapt-get
692 %attr(755,root,root) %{_sbindir}/vattribute
693 %attr(755,root,root) %{_sbindir}/vcontext
694 %attr(755,root,root) %{_sbindir}/vdevmap
695 %attr(755,root,root) %{_sbindir}/vdlimit
696 %attr(755,root,root) %{_sbindir}/vdu
697 %attr(755,root,root) %{_sbindir}/vkill
698 %attr(755,root,root) %{_sbindir}/vlimit
699 %attr(755,root,root) %{_sbindir}/vmemctrl
700 %attr(755,root,root) %{_sbindir}/vmount
701 %attr(755,root,root) %{_sbindir}/vnamespace
702 %attr(755,root,root) %{_sbindir}/vpoldek
703 %attr(755,root,root) %{_sbindir}/vproc
704 %attr(755,root,root) %{_sbindir}/vps
705 %attr(755,root,root) %{_sbindir}/vpstree
706 %attr(755,root,root) %{_sbindir}/vrpm
707 %attr(755,root,root) %{_sbindir}/vrsetup
708 %attr(755,root,root) %{_sbindir}/vsched
709 %attr(755,root,root) %{_sbindir}/vserver
710 %attr(755,root,root) %{_sbindir}/vserver-info
711 %attr(755,root,root) %{_sbindir}/vserver-stat
712 %attr(755,root,root) %{_sbindir}/vsomething
713 %attr(755,root,root) %{_sbindir}/vspace
714 %attr(755,root,root) %{_sbindir}/vtag
715 %attr(755,root,root) %{_sbindir}/vtop
716 %attr(755,root,root) %{_sbindir}/vuname
717 %attr(755,root,root) %{_sbindir}/vwait
718 %attr(755,root,root) %{_sbindir}/vyum
719 %dir %{_libdir}/%{name}
720 %dir %{_libdir}/%{name}/defaults
721 %{_libdir}/%{name}/defaults/fstab
722 %{_libdir}/%{name}/defaults/debootstrap.*
723 %{_libdir}/%{name}/defaults/vunify-exclude
724 %{_libdir}/%{name}/defaults/context.start
725 %{_libdir}/%{name}/defaults/environment
726 %{_libdir}/%{name}/defaults/h2ext.desc
727 %{_libdir}/%{name}/defaults/mtab
728 %{_libdir}/%{name}/defaults/vprocunhide-files
729 %dir %{_libdir}/%{name}/distributions
730 %{_libdir}/%{name}/distributions/defaults
731 %dir %{_libdir}/%{name}/distributions/template
732 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
733 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
734 %dir %{_libdir}/%{name}/distributions/redhat
735 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
736 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
737 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
738 %{_libdir}/%{name}/FEATURES.txt
739 %{_libdir}/%{name}/util-vserver-vars
740 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
741 %attr(755,root,root) %{_libdir}/%{name}/capchroot
742 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
743 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
744 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
745 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
746 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
747 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
748 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
749 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
750 %attr(755,root,root) %{_libdir}/%{name}/filetime
751 %{_libdir}/%{name}/functions
752 %attr(755,root,root) %{_libdir}/%{name}/h2ext
753 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
754 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
755 %attr(755,root,root) %{_libdir}/%{name}/lockfile
756 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
757 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
758 %attr(755,root,root) %{_libdir}/%{name}/readlink
759 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
760 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
761 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
762 %attr(755,root,root) %{_libdir}/%{name}/sigexec
763 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
764 %attr(755,root,root) %{_libdir}/%{name}/tunctl
765 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
766 %attr(755,root,root) %{_libdir}/%{name}/vclone
767 %attr(755,root,root) %{_libdir}/%{name}/vcopy
768 %attr(755,root,root) %{_libdir}/%{name}/vhashify
769 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
770 %attr(755,root,root) %{_libdir}/%{name}/vpkg
771 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
772 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
773 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
774 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
775 %{_libdir}/%{name}/vserver-build.*
776 %{_libdir}/%{name}/vserver-setup.functions
777 %{_libdir}/%{name}/vserver.*
778 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
779 %attr(755,root,root) %{_libdir}/%{name}/vshelper
780 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
781 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
782 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
783 %attr(755,root,root) %{_libdir}/%{name}/vunify
784 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
785 %{_mandir}/man8/chbind.8*
786 %{_mandir}/man8/chcontext.8*
787 %{_mandir}/man8/reducecap.8*
788 %{_mandir}/man8/vps.8*
789 %{_mandir}/man8/vpstree.8*
790 %{_mandir}/man8/vserver-build.8*
791 %{_mandir}/man8/vserver-stat.8*
792 %{_mandir}/man8/vserver.8*
793 %{_mandir}/man8/vtop.8*
794 %attr(000,root,root) %dir /vservers
795 %dir /vservers/.pkg
796 %dir %{_localstatedir}/run/vservers
797 %dir %{_localstatedir}/run/vservers.rev
798 %dir %{_localstatedir}/run/vshelper
799 %dir /var/cache/vservers
800 %dir /var/cache/vservers/poldek
801
802 %files lib
803 %defattr(644,root,root,755)
804 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
805 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
806
807 %files devel
808 %defattr(644,root,root,755)
809 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
810 %attr(755,root,root) %{_libdir}/libvserver.so
811 %{_libdir}/lib*.la
812 %{_includedir}/vserver*.h
813 %{_pkgconfigdir}/*.pc
814
815 %files static
816 %defattr(644,root,root,755)
817 %{_libdir}/libvserver.a
818
819 %files legacy
820 %defattr(644,root,root,755)
821 %dir %{_sysconfdir}/vservices
822 %{_sysconfdir}/vservices/*
823 %dir %{_libdir}/%{name}/legacy
824 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
825 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
826 %attr(754,root,root) /etc/rc.d/init.d/v_*
827 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
828 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
829 %attr(755,root,root) %{_sbindir}/vserver-copy
830 %{_mandir}/man8/distrib-info.8*
831 %{_mandir}/man8/rebootmgr.8*
832 %{_mandir}/man8/vserver-copy.8*
833
834 %files -n python-util-vserver
835 %defattr(644,root,root,755)
836 %attr(755,root,root) %{py_sitedir}/_libvserver.so
837
838 %files -n vserver-distro-alpine
839 %defattr(644,root,root,755)
840 %dir %{_libdir}/%{name}/distributions/alpine
841 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
842 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
843
844 %files -n vserver-distro-centos
845 %defattr(644,root,root,755)
846 %{_libdir}/util-vserver/distributions/centos*
847
848 %files -n vserver-distro-debian
849 %defattr(644,root,root,755)
850 %dir %{_libdir}/%{name}/distributions/debian
851 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
852 %{_libdir}/%{name}/distributions/etch
853 %{_libdir}/%{name}/distributions/lenny
854 %{_libdir}/%{name}/distributions/sid
855
856 %files -n vserver-distro-fedora
857 %defattr(644,root,root,755)
858 %dir %{_sysconfdir}/vservers/.distributions/f7
859 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
860 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
861 %dir %{_sysconfdir}/vservers/.distributions/fc*
862 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
863 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
864 %{_libdir}/%{name}/distributions/f7
865 %{_libdir}/%{name}/distributions/f8
866 %{_libdir}/%{name}/distributions/f9
867 %{_libdir}/%{name}/distributions/f10
868 %{_libdir}/%{name}/distributions/f11
869 %{_libdir}/%{name}/distributions/fc1
870 %{_libdir}/%{name}/distributions/fc2
871 %{_libdir}/%{name}/distributions/fc3
872 %{_libdir}/%{name}/distributions/fc4
873 %{_libdir}/%{name}/distributions/fc5
874 %{_libdir}/%{name}/distributions/fc6
875
876 %files -n vserver-distro-gentoo
877 %defattr(644,root,root,755)
878 %dir %{_libdir}/util-vserver/distributions/gentoo
879 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
880 %attr(755,root,root) %{_sbindir}/vdispatch-conf
881 %attr(755,root,root) %{_sbindir}/vemerge
882 %attr(755,root,root) %{_sbindir}/vesync
883 %attr(755,root,root) %{_sbindir}/vupdateworld
884
885 %files -n vserver-distro-pld
886 %defattr(644,root,root,755)
887 %dir %{_libdir}/%{name}/distributions/pld
888 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld/initpost
889 %dir %{_libdir}/%{name}/distributions/pld-*
890 %{_libdir}/%{name}/distributions/pld-*/pkgs
891 %{_libdir}/%{name}/distributions/pld-*/pubkeys
892 %{_libdir}/%{name}/distributions/pld-*/rpm
893 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld-*/initpost
894 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
895 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
896 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
897 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
898 %dir %{_sysconfdir}/vservers/.distributions/pld-th
899 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
900 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
901 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
902 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
903 %dir %{_sysconfdir}/vservers/.distributions/pld-ti
904 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek
905 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d
906 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/*.conf
907 %endif
908
909 %files -n vserver-distro-redhat
910 %defattr(644,root,root,755)
911 %dir %{_sysconfdir}/vservers/.distributions/rh9
912 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
913 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
914 %{_libdir}/%{name}/distributions/rh9
915 %dir %{_libdir}/%{name}/distributions/redhat
916 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl
917 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
918 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
919 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
920
921 %files -n vserver-distro-suse
922 %defattr(644,root,root,755)
923 %dir %{_sysconfdir}/vservers/.distributions/suse*
924 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
925 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
926 %{_libdir}/%{name}/distributions/suse*
This page took 0.268646 seconds and 4 git commands to generate.