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