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