]> git.pld-linux.org Git - packages/util-vserver.git/blob - util-vserver.spec
- rel 2; dev-stdfd patch no longer needed
[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 #
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}.2
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 install %{SOURCE12} $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
488
489 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
490 02 2 * * 0      root    %{_libdir}/%{name}/vhashify.cron
491 EOF
492
493 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys
494 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
495
496 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
497 cp -a %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
498
499 # set arch for pld-ac in pld.conf
500 %ifarch i586 i686 ppc sparc alpha athlon
501 %define         ftp_arch        %{_target_cpu}
502 %endif
503 %ifarch %{x8664}
504 %define         ftp_arch        amd64
505 %endif
506 %ifarch i486
507 %define         ftp_arch        i386
508 %endif
509 %ifarch pentium2 pentium3 pentium4
510 %define         ftp_arch        i686
511 %endif
512 %ifarch sparcv9 sparc64
513 %define         ftp_arch        sparc
514 %endif
515 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
516
517 # set arch for pld-th in pld.conf
518 %ifarch i486 i686 ppc sparc alpha athlon
519 %define         ftp_arch        %{_target_cpu}
520 %endif
521 %ifarch %{x8664}
522 %define         ftp_arch        x86_64
523 %endif
524 %ifarch i586
525 %define         ftp_arch        i486
526 %endif
527 %ifarch pentium2 pentium3 pentium4
528 %define         ftp_arch        i686
529 %endif
530 %ifarch sparcv9 sparc64
531 %define         ftp_arch        sparc
532 %endif
533 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
534
535 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
536 # set arch for pld-ti in pld.conf
537 %ifarch i586 i686
538 %define         ftp_arch        %{_target_cpu}
539 %endif
540 %ifarch %{x8664}
541 %define         ftp_arch        x86_64
542 %endif
543 %ifarch athlon pentium2 pentium3 pentium4
544 %define         ftp_arch        i686
545 %endif
546 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/pld.conf
547 %endif
548
549 # current debootstrap link
550 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb" \
551         > $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/debootstrap.uri
552
553 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
554
555 # cleanups
556 rm -rf $RPM_BUILD_ROOT/dev
557 rm -rf $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
558 # we have our own initscript which does the same
559 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
560 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
561 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
562 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
563
564 %clean
565 rm -rf $RPM_BUILD_ROOT
566
567 %triggerun -- util-vserver-init
568 # Prevent preun from util-vserver-init from working
569 chmod a-x /etc/rc.d/init.d/vprocunhide
570 chmod a-x /etc/rc.d/init.d/vrootdevices
571 chmod a-x /etc/rc.d/init.d/vservers
572
573 %triggerpostun -- util-vserver-init
574 # Restore what triggerun removed
575 chmod ug+x /etc/rc.d/init.d/vprocunhide
576 chmod ug+x /etc/rc.d/init.d/vrootdevices
577 chmod ug+x /etc/rc.d/init.d/vservers
578 /sbin/chkconfig --add vrootdevices
579 /sbin/chkconfig --add vprocunhide
580 /sbin/chkconfig --add vservers
581 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
582         cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
583         mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
584 fi
585 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
586         cp -f /etc/sysconfig/vservers{,.rpmnew}
587         mv -f /etc/sysconfig/vservers{.rpmsave,}
588 fi
589
590 %post
591 %{_sbindir}/setattr --barrier /vservers || :
592 /sbin/chkconfig --add util-vserver
593 /sbin/chkconfig --add vrootdevices
594 /sbin/chkconfig --add vprocunhide
595 /sbin/chkconfig --add vservers
596 if [ ! -f /var/lock/subsys/util-vserver ]; then
597         echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
598 fi
599 if [ ! -f /var/lock/subsys/vrootdevices ]; then
600         echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
601 fi
602 if [ ! -f /var/lock/subsys/vprocunhide ]; then
603         echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
604 fi
605 if [ ! -f /var/lock/subsys/vservers ]; then
606         echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
607 fi
608
609 %preun
610 if [ "$1" = "0" ]; then
611         %service util-vserver stop
612         %service vservers stop
613         %service vprocunhide stop
614         %service vrootdevices stop
615         /sbin/chkconfig --del util-vserver
616         /sbin/chkconfig --del vservers
617         /sbin/chkconfig --del vprocunhide
618         /sbin/chkconfig --del vrootdevices
619 fi
620
621 %post   lib -p /sbin/ldconfig
622 %postun lib -p /sbin/ldconfig
623
624 %post legacy
625 /sbin/chkconfig --add rebootmgr
626 /sbin/chkconfig --add vservers-legacy
627 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
628         echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
629 fi
630 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
631         echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
632 fi
633
634 %preun legacy
635 if [ "$1" = "0" ]; then
636         %service rebootmgr stop
637         %service vservers-legacy stop
638         /sbin/chkconfig --del rebootmgr
639         /sbin/chkconfig --del vservers-legacy
640 fi
641
642 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
643 for D in ac th ti; do
644         P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
645
646         if [ -f $P/pld-source.conf.rpmsave ]; then
647                 cp -f $P/repos.d/pld.conf{,.rpmnew}
648                 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
649         fi
650 done
651 exit 0
652
653 %files
654 %defattr(644,root,root,755)
655 %doc AUTHORS NEWS THANKS doc/intro.txt
656 %doc contrib/yum*.patch package-management.txt
657 %{?with_doc:%doc doc/*.html}
658 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
659 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
660 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
661 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
662 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
663 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
664 %attr(754,root,root) /etc/rc.d/init.d/vservers
665 %dir %{_sysconfdir}/vservers
666 %dir %{_sysconfdir}/vservers/.defaults
667 %dir %{_sysconfdir}/vservers/.defaults/apps
668 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
669 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
670 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
671 %dir %{_sysconfdir}/vservers/.defaults/files
672 %{_sysconfdir}/vservers/.defaults/vdirbase
673 %{_sysconfdir}/vservers/.defaults/cachebase
674 %{_sysconfdir}/vservers/.defaults/run.rev
675 %dir %{_sysconfdir}/vservers/.distributions
676 %dir %{_sysconfdir}/vservers/.distributions/.common
677 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
678 /sbin/vshelper
679 %attr(755,root,root) %{_sbindir}/chbind
680 %attr(755,root,root) %{_sbindir}/chcontext
681 %attr(755,root,root) %{_sbindir}/chxid
682 %attr(755,root,root) %{_sbindir}/exec-cd
683 %attr(755,root,root) %{_sbindir}/lsxid
684 %attr(755,root,root) %{_sbindir}/naddress
685 %attr(755,root,root) %{_sbindir}/nattribute
686 %attr(755,root,root) %{_sbindir}/ncontext
687 %attr(755,root,root) %{_sbindir}/reducecap
688 %attr(755,root,root) %{_sbindir}/setattr
689 %attr(755,root,root) %{_sbindir}/showattr
690 %attr(755,root,root) %{_sbindir}/vapt-get
691 %attr(755,root,root) %{_sbindir}/vattribute
692 %attr(755,root,root) %{_sbindir}/vcontext
693 %attr(755,root,root) %{_sbindir}/vdevmap
694 %attr(755,root,root) %{_sbindir}/vdlimit
695 %attr(755,root,root) %{_sbindir}/vdu
696 %attr(755,root,root) %{_sbindir}/vkill
697 %attr(755,root,root) %{_sbindir}/vlimit
698 %attr(755,root,root) %{_sbindir}/vmemctrl
699 %attr(755,root,root) %{_sbindir}/vmount
700 %attr(755,root,root) %{_sbindir}/vnamespace
701 %attr(755,root,root) %{_sbindir}/vpoldek
702 %attr(755,root,root) %{_sbindir}/vproc
703 %attr(755,root,root) %{_sbindir}/vps
704 %attr(755,root,root) %{_sbindir}/vpstree
705 %attr(755,root,root) %{_sbindir}/vrpm
706 %attr(755,root,root) %{_sbindir}/vrsetup
707 %attr(755,root,root) %{_sbindir}/vsched
708 %attr(755,root,root) %{_sbindir}/vserver
709 %attr(755,root,root) %{_sbindir}/vserver-info
710 %attr(755,root,root) %{_sbindir}/vserver-stat
711 %attr(755,root,root) %{_sbindir}/vsomething
712 %attr(755,root,root) %{_sbindir}/vspace
713 %attr(755,root,root) %{_sbindir}/vtag
714 %attr(755,root,root) %{_sbindir}/vtop
715 %attr(755,root,root) %{_sbindir}/vuname
716 %attr(755,root,root) %{_sbindir}/vwait
717 %attr(755,root,root) %{_sbindir}/vyum
718 %dir %{_libdir}/%{name}
719 %dir %{_libdir}/%{name}/defaults
720 %{_libdir}/%{name}/defaults/fstab
721 %{_libdir}/%{name}/defaults/debootstrap.*
722 %{_libdir}/%{name}/defaults/vunify-exclude
723 %{_libdir}/%{name}/defaults/context.start
724 %{_libdir}/%{name}/defaults/environment
725 %{_libdir}/%{name}/defaults/h2ext.desc
726 %{_libdir}/%{name}/defaults/mtab
727 %{_libdir}/%{name}/defaults/vprocunhide-files
728 %dir %{_libdir}/%{name}/distributions
729 %{_libdir}/%{name}/distributions/defaults
730 %dir %{_libdir}/%{name}/distributions/template
731 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
732 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
733 %dir %{_libdir}/%{name}/distributions/redhat
734 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
735 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
736 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
737 %{_libdir}/%{name}/FEATURES.txt
738 %{_libdir}/%{name}/util-vserver-vars
739 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
740 %attr(755,root,root) %{_libdir}/%{name}/capchroot
741 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
742 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
743 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
744 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
745 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
746 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
747 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
748 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
749 %attr(755,root,root) %{_libdir}/%{name}/filetime
750 %{_libdir}/%{name}/functions
751 %attr(755,root,root) %{_libdir}/%{name}/h2ext
752 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
753 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
754 %attr(755,root,root) %{_libdir}/%{name}/lockfile
755 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
756 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
757 %attr(755,root,root) %{_libdir}/%{name}/readlink
758 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
759 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
760 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
761 %attr(755,root,root) %{_libdir}/%{name}/sigexec
762 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
763 %attr(755,root,root) %{_libdir}/%{name}/tunctl
764 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
765 %attr(755,root,root) %{_libdir}/%{name}/vclone
766 %attr(755,root,root) %{_libdir}/%{name}/vcopy
767 %attr(755,root,root) %{_libdir}/%{name}/vhashify
768 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
769 %attr(755,root,root) %{_libdir}/%{name}/vpkg
770 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
771 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
772 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
773 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
774 %{_libdir}/%{name}/vserver-build.*
775 %{_libdir}/%{name}/vserver-setup.functions
776 %{_libdir}/%{name}/vserver.*
777 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
778 %attr(755,root,root) %{_libdir}/%{name}/vshelper
779 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
780 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
781 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
782 %attr(755,root,root) %{_libdir}/%{name}/vunify
783 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
784 %{_mandir}/man8/chbind.8*
785 %{_mandir}/man8/chcontext.8*
786 %{_mandir}/man8/reducecap.8*
787 %{_mandir}/man8/vps.8*
788 %{_mandir}/man8/vpstree.8*
789 %{_mandir}/man8/vserver-build.8*
790 %{_mandir}/man8/vserver-stat.8*
791 %{_mandir}/man8/vserver.8*
792 %{_mandir}/man8/vtop.8*
793 %attr(000,root,root) %dir /vservers
794 %dir /vservers/.pkg
795 %dir %{_localstatedir}/run/vservers
796 %dir %{_localstatedir}/run/vservers.rev
797 %dir %{_localstatedir}/run/vshelper
798 %dir /var/cache/vservers
799 %dir /var/cache/vservers/poldek
800
801 %files lib
802 %defattr(644,root,root,755)
803 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
804 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
805
806 %files devel
807 %defattr(644,root,root,755)
808 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
809 %attr(755,root,root) %{_libdir}/libvserver.so
810 %{_libdir}/lib*.la
811 %{_includedir}/vserver*.h
812 %{_pkgconfigdir}/*.pc
813
814 %files static
815 %defattr(644,root,root,755)
816 %{_libdir}/libvserver.a
817
818 %files legacy
819 %defattr(644,root,root,755)
820 %dir %{_sysconfdir}/vservices
821 %{_sysconfdir}/vservices/*
822 %dir %{_libdir}/%{name}/legacy
823 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
824 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
825 %attr(754,root,root) /etc/rc.d/init.d/v_*
826 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
827 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
828 %attr(755,root,root) %{_sbindir}/vserver-copy
829 %{_mandir}/man8/distrib-info.8*
830 %{_mandir}/man8/rebootmgr.8*
831 %{_mandir}/man8/vserver-copy.8*
832
833 %files -n python-util-vserver
834 %defattr(644,root,root,755)
835 %attr(755,root,root) %{py_sitedir}/_libvserver.so
836
837 %files -n vserver-distro-alpine
838 %defattr(644,root,root,755)
839 %dir %{_libdir}/%{name}/distributions/alpine
840 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
841 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
842
843 %files -n vserver-distro-centos
844 %defattr(644,root,root,755)
845 %{_libdir}/util-vserver/distributions/centos*
846
847 %files -n vserver-distro-debian
848 %defattr(644,root,root,755)
849 %dir %{_libdir}/%{name}/distributions/debian
850 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
851 %{_libdir}/%{name}/distributions/etch
852 %{_libdir}/%{name}/distributions/lenny
853 %{_libdir}/%{name}/distributions/sid
854
855 %files -n vserver-distro-fedora
856 %defattr(644,root,root,755)
857 %dir %{_sysconfdir}/vservers/.distributions/f7
858 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
859 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
860 %dir %{_sysconfdir}/vservers/.distributions/fc*
861 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
862 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
863 %{_libdir}/%{name}/distributions/f7
864 %{_libdir}/%{name}/distributions/f8
865 %{_libdir}/%{name}/distributions/f9
866 %{_libdir}/%{name}/distributions/f10
867 %{_libdir}/%{name}/distributions/f11
868 %{_libdir}/%{name}/distributions/fc1
869 %{_libdir}/%{name}/distributions/fc2
870 %{_libdir}/%{name}/distributions/fc3
871 %{_libdir}/%{name}/distributions/fc4
872 %{_libdir}/%{name}/distributions/fc5
873 %{_libdir}/%{name}/distributions/fc6
874
875 %files -n vserver-distro-gentoo
876 %defattr(644,root,root,755)
877 %dir %{_libdir}/util-vserver/distributions/gentoo
878 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
879 %attr(755,root,root) %{_sbindir}/vdispatch-conf
880 %attr(755,root,root) %{_sbindir}/vemerge
881 %attr(755,root,root) %{_sbindir}/vesync
882 %attr(755,root,root) %{_sbindir}/vupdateworld
883
884 %files -n vserver-distro-pld
885 %defattr(644,root,root,755)
886 %dir %{_libdir}/%{name}/distributions/pld
887 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld/initpost
888 %dir %{_libdir}/%{name}/distributions/pld-*
889 %{_libdir}/%{name}/distributions/pld-*/pkgs
890 %{_libdir}/%{name}/distributions/pld-*/pubkeys
891 %{_libdir}/%{name}/distributions/pld-*/rpm
892 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld-*/initpost
893 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
894 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
895 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
896 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
897 %dir %{_sysconfdir}/vservers/.distributions/pld-th
898 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
899 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
900 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
901 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
902 %dir %{_sysconfdir}/vservers/.distributions/pld-ti
903 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek
904 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d
905 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/*.conf
906 %endif
907
908 %files -n vserver-distro-redhat
909 %defattr(644,root,root,755)
910 %dir %{_sysconfdir}/vservers/.distributions/rh9
911 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
912 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
913 %{_libdir}/%{name}/distributions/rh9
914 %dir %{_libdir}/%{name}/distributions/redhat
915 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl
916 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
917 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
918 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
919
920 %files -n vserver-distro-suse
921 %defattr(644,root,root,755)
922 %dir %{_sysconfdir}/vservers/.distributions/suse*
923 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
924 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
925 %{_libdir}/%{name}/distributions/suse*
This page took 0.180286 seconds and 4 git commands to generate.