]> git.pld-linux.org Git - packages/util-vserver.git/blob - util-vserver.spec
- few fixes from trunk version of util-vserver, helps for
[packages/util-vserver.git] / util-vserver.spec
1 # TODO
2 # - make build create /dev/std{in,out,err} links
3 # - reject install in %%pretrans if /proc/virtual/info has incompatible version
4 # - unpackaged
5 #   /etc/rc.d/init.d/util-vserver -- # integrate to our initscript (util-vserver sets the path to vshelper and kills all guest processes)
6 #
7 # m68k and mips are the only not supported archs
8 #
9 # Conditional build:
10 %bcond_without  dietlibc                # don't use dietlibc (ask for troubles)
11 %bcond_without  doc                     # don't build documentation which needed LaTeX
12 %bcond_without  no_dynamic_context      # disable enforcement of disabled dynamic context
13 %bcond_with     xalan                   # use the xalan xslt processor
14 #
15 %define _vproc_version 0.01
16 # diet compile fails with ccache in %{__cc}
17 %undefine       with_ccache
18 #
19 Summary:        Linux virtual server utilities
20 Summary(pl.UTF-8):      Narzędzia dla linuksowych serwerów wirtualnych
21 Name:           util-vserver
22 Version:        0.30.215
23 Release:        4
24 License:        GPL
25 Group:          Applications/System
26 Source0:        http://ftp.linux-vserver.org/pub/utils/util-vserver/%{name}-%{version}.tar.bz2
27 # Source0-md5:  befd9b8e5311e87395b67ee381d83649
28 Source1:        vprocunhide.init
29 Source2:        vservers.init
30 Source3:        vservers-legacy.init
31 Source4:        rebootmgr.init
32 Source5:        vservers.sysconfig
33 Source6:        vservers-legacy.sysconfig
34 Source7:        vrootdevices.init
35 Source8:        vrootdevices.sysconfig
36 # A bit of documentation explaining package management
37 # http://www.paul.sladen.org/vserver/archives/200505/0078.html
38 Source9:        %{name}-pkgmgmt.txt
39 Source10:       %{name}-initpost.sh
40 Source11:       http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{_vproc_version}.tar.bz2
41 # Source11-md5: 1d030717bdbc958ea4b35fd2410dad85
42 Source12:       %{name}-vhashify.cron
43 Source13:       ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc
44 # Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
45 Source14:       ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
46 # Source14-md5: 08b29584dd349aac9caa7610131a0a88
47 Patch0:         %{name}-vsysvwrapper.patch
48 Patch1:         %{name}-pld.patch
49 Patch4:         %{name}-m4-diet.patch
50 Patch6:         %{name}-build-umask.patch
51 Patch7:         %{name}-utmpx.patch
52 Patch8:         %{name}-vprocunhide.patch
53 Patch9:         %{name}-dev.patch
54 Patch10:        %{name}-no-dynamic-ctx.patch
55 Patch11:        %{name}-more-ip.patch
56 Patch12:        %{name}-rpm-fake-resolver-badperm-errorlogging.patch
57 Patch13:        %{name}-tmpdir.patch
58 Patch14:        %{name}-rpmpath.patch
59 Patch15:        %{name}-interfaces-ignore-cvs-dir.patch
60 Patch16:        %{name}-personalitymachine.patch
61 Patch17:        %{name}-backupfiles.patch
62 URL:            http://savannah.nongnu.org/projects/util-vserver/
63 BuildRequires:  autoconf
64 BuildRequires:  automake >= 1.9
65 BuildRequires:  beecrypt-devel
66 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.29}
67 BuildRequires:  e2fsprogs-devel
68 BuildRequires:  libstdc++-devel
69 BuildRequires:  libtool >= 1.5.14
70 %ifarch %{x8664}
71 BuildRequires:  sed >= 4.0
72 %endif
73 BuildRequires:  rpmbuild(macros) >= 1.268
74 %if %{with doc}
75 BuildRequires:  doxygen
76 BuildRequires:  graphviz
77 BuildRequires:  libxslt-progs
78 BuildRequires:  tetex-format-pdflatex
79 BuildRequires:  tetex-makeindex
80 # To be removed when tetex-format-pdflatex, tetex-pdftex...
81 # ...and graphviz packages get fixed
82 BuildRequires:  ghostscript
83 BuildRequires:  ghostscript-fonts-std
84 BuildRequires:  tetex-fonts-jknappen
85 BuildRequires:  tetex-metafont
86 %{?with_xalan:BuildRequires:    xalan-j}
87 %endif
88 Requires(post,preun):   /sbin/chkconfig
89 Requires:       %{name}-lib = %{version}-%{release}
90 Requires:       issue
91 Requires:       mktemp >= 1.5-18
92 Requires:       rc-scripts
93 Requires:       tar
94 Requires:       util-linux
95 Obsoletes:      util-vserver-core
96 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
97
98 # for adapter
99 %define         _usrbin         /usr/bin
100 %define         _usrsbin        /usr/sbin
101 %define         _usrlib         /usr/lib
102
103 %description
104 This package provides the components and a framework to setup virtual
105 servers. A virtual server runs inside a Linux server. It is
106 nevertheless highly independent. As such, you can run various services
107 with normal configuration. The various vservers can't interact with
108 each other and can't interact with services in the main server.
109
110 This requires a special kernel supporting the new new_s_context and
111 set_ipv4root system call.
112
113 This package contains utilities which are required to communicate with
114 the Linux-Vserver enabled kernel.
115
116 %description -l pl.UTF-8
117 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych
118 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
119 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
120 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
121 w interakcję z innymi ani z usługami na głównym serwerze.
122
123 Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe
124 new_s_context i set_ipv4root.
125
126 Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z
127 włączonym mechanizmem Linux-Vserver.
128
129 %package lib
130 Summary:        Dynamic libraries for util-vserver
131 Summary(pl.UTF-8):      Biblioteki dynamiczne dla pakietu util-vserver
132 Group:          Libraries
133
134 %description lib
135 util-vserver 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 pith 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 package contains the shared libraries needed by all other
142 'util-vserver' subpackages.
143
144 %description lib -l pl.UTF-8
145 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
146 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
147 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
148 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
149 w interakcję z innymi ani z usługami na głównym serwerze.
150
151 Ten pakiet zawiera biblioteki współdzielone wymagane przez wszystkie
152 podpakiety util-vserver.
153
154 %package devel
155 Summary:        Development files for Linux vserver libraries
156 Summary(pl.UTF-8):      Pliki programistyczne dla bibliotek linuksowego vserwera
157 Group:          Development/Libraries
158 Requires:       %{name}-lib = %{version}-%{release}
159
160 %description devel
161 This package contains the development files necessary for developing
162 programs which use vserver library.
163
164 %description devel -l pl.UTF-8
165 Ten pakiet zawiera pliki programistyczne konieczne do rozwijania
166 programów używających biblioteki vserver.
167
168 %package static
169 Summary:        Static vserver library
170 Summary(pl.UTF-8):      Biblioteka statyczna vservera
171 Group:          Development/Libraries
172 Requires:       %{name}-devel = %{version}-%{release}
173
174 %description static
175 This package contains the static version of vserver library.
176
177 %description static -l pl.UTF-8
178 Ten pakiet zawiera statyczną wersję biblioteki vservera.
179
180 %package build
181 Summary:        Tools which can be used to build vservers
182 Summary(pl.UTF-8):      Narzędzia do budowania vserverów
183 Group:          Applications/System
184 Requires:       %{name} = %{version}-%{release}
185 Requires:       vserver-distro-pld = %{version}-%{release}
186 Conflicts:      poldek < 0.18.8-10
187
188 %description build
189 util-vserver provides the components and a framework to setup virtual
190 servers. A virtual server runs inside a linux server. It is
191 nevertheless highly independent. As such, you can run various services
192 with normal configuration. The various vservers can't interact with
193 each other and can't interact with services in the main server.
194
195 This package contains utilities which assist in building Vservers.
196
197 %description build -l pl.UTF-8
198 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
199 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
200 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
201 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
202 w interakcję z innymi ani z usługami na głównym serwerze.
203
204 Ten pakiet zawiera narzędzia pomagające przy budowaniu Vserwerów.
205
206 %package init
207 Summary:        initscripts for vserver
208 Summary(pl.UTF-8):      Skrypty inicjalizujące dla vserwera
209 Group:          Applications/System
210 Requires(post,preun):   /sbin/chkconfig
211 Requires:       %{name} = %{version}-%{release}
212 Requires:       diffutils
213 Requires:       make
214 Requires:       rc-scripts
215
216 %description init
217 util-vserver provides the components and a framework to setup virtual
218 servers. A virtual server runs inside a linux server. It is
219 nevertheless highly independent. As such, you can run various services
220 with normal configuration. The various vservers can't interact with
221 each other and can't interact with services in the main server.
222
223 This package contains the SysV initscripts which start and stop
224 Vservers and related tools.
225
226 %description init -l pl.UTF-8
227 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
228 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
229 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
230 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
231 w interakcję z innymi ani z usługami na głównym serwerze.
232
233 Ten pakiet zawiera skrypty inicjalizujące SysV uruchamiające i
234 zatrzymujące Vserwery oraz powiązane narzędzia.
235
236 %package legacy
237 Summary:        Legacy utilities for util-vserver
238 Summary(pl.UTF-8):      Stare narzędzia dla util-vserver
239 Group:          Applications/System
240 Requires(post,preun):   /sbin/chkconfig
241 Requires:       %{name} = %{version}-%{release}
242 Requires:       rc-scripts
243
244 %description legacy
245 util-vserver provides the components and a framework to setup virtual
246 servers. A virtual server runs inside a linux server. It is
247 nevertheless highly independent. As such, you can run various services
248 with normal configuration. The various vservers can't interact with
249 each other and can't interact with services in the main server.
250
251 This package contains the tools which are needed to work with Vservers
252 having an old-style configuration.
253
254 %description legacy -l pl.UTF-8
255 util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych
256 serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz
257 jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać
258 różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić
259 w interakcję z innymi ani z usługami na głównym serwerze.
260
261 Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi
262 konfigurację w starym stylu.
263
264 %package -n vserver-distro-alpine
265 Summary:        VServer build template for Alpine Linux
266 Summary(pl.UTF-8):      Szablon budowania VServerów dla dystrybucji Alpine Linux
267 Group:          Applications/System
268 Requires:       %{name}-build = %{version}-%{release}
269
270 %description -n vserver-distro-alpine
271 VServer build template for Alpine Linux.
272
273 %description -n vserver-distro-alpine -l pl.UTF-8
274 Szablon budowania VServerów dla dystrybucji Alpine Linux.
275
276 %package -n vserver-distro-centos
277 Summary:        VServer build template for CentOS
278 Summary(pl.UTF-8):      Szablon budowania VServerów dla dystrybucji CentOS
279 Group:          Applications/System
280 Requires:       %{name}-build = %{version}-%{release}
281 Requires:       yum
282
283 %description -n vserver-distro-centos
284 VServer build template for CentOS 4.2 and 5.
285
286 %description -n vserver-distro-centos -l pl.UTF-8
287 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5.
288
289 %package -n vserver-distro-debian
290 Summary:        VServer build templates for Debian
291 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji Debian
292 Group:          Applications/System
293 Requires:       %{name}-build = %{version}-%{release}
294 Requires:       dpkg
295
296 %description -n vserver-distro-debian
297 VServer build templates for Debian.
298
299 %description -n vserver-distro-debian -l pl.UTF-8
300 Szablony do tworzenia VServerów dla dystrybucji Debian.
301
302 %package -n vserver-distro-fedora
303 Summary:        VServer build templates for Fedora
304 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji Fedora
305 Group:          Applications/System
306 Requires:       %{name}-build = %{version}-%{release}
307 Requires:       binutils
308 Requires:       e2fsprogs
309 Requires:       rpm
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}-build = %{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}-build = %{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}-build = %{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}-build = %{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 %package -n vserver-distro-ubuntu
379 Summary:        VServer build templates for Ubuntu
380 Summary(pl.UTF-8):      Szablony do tworzenia VServerów dla dystrybucji Ubuntu
381 Group:          Applications/System
382 Requires:       %{name}-build = %{version}-%{release}
383 Requires:       dpkg
384
385 %description -n vserver-distro-ubuntu
386 VServer build templates for Ubuntu.
387
388 %description -n vserver-distro-ubuntu -l pl.UTF-8
389 Szablony do tworzenia VServerów dla dystrybucji Ubuntu.
390
391 %prep
392 %setup -q -a11
393 %patch0 -p1
394 %patch1 -p1
395 %patch4 -p1
396 %patch6 -p1
397 %patch7 -p1
398 %patch8 -p1
399 %patch9 -p1
400 %{?with_no_dynamic_context:%patch10 -p1}
401 %patch11 -p1
402 %patch12 -p1
403 %patch13 -p1
404 %patch14 -p1
405 %patch15 -p1
406 %patch16 -p1
407 %patch17 -p1
408
409 install %{SOURCE9} package-management.txt
410
411 %build
412 unset LD_SYMBOLIC_FUNCTIONS || :
413
414 %if %{with dietlibc}
415 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
416 %endif
417 %{__aclocal} -I m4
418 %{__automake}
419 %{__autoconf}
420 %configure \
421         --with-initrddir=/etc/rc.d/init.d \
422         --enable-release \
423         --enable-apis=NOLEGACY \
424         --with-initscripts=sysv \
425         --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
426         MKTEMP=/bin/mktemp \
427         MOUNT=/bin/mount \
428         PS=/bin/ps \
429         UMOUNT=/bin/umount \
430         IP=/sbin/ip \
431         IPTABLES=%{_usrsbin}/iptables \
432         MODPROBE=/sbin/modprobe \
433         NAMEIF=/sbin/nameif \
434         RMMOD=/sbin/rmmod \
435         VCONFIG=/sbin/vconfig \
436         WGET=%{_usrbin}/wget \
437
438 %{__make} all
439 %{?with_doc:%{__make} doc}
440
441 %{__make} -C vproc-%{_vproc_version} \
442         CC="%{__cc}" \
443         CFLAGS="%{rpmcflags}"
444
445 %install
446 rm -rf $RPM_BUILD_ROOT
447 install -d $RPM_BUILD_ROOT{/vservers,/etc/{sysconfig,rc.d/init.d,cron.d},/dev/pts} \
448         $RPM_BUILD_ROOT{%{_sysconfdir}/vservices,/vservers/.pkg}
449
450 %{__make} -j1 install install-distribution \
451         DESTDIR=$RPM_BUILD_ROOT
452
453 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
454
455 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
456         s=`basename $i | sed s/v_//`
457         cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
458 # IP addresses/interfaces to bound $s service to
459 #IP=10.0.0.1
460 #IP=eth0
461 EOF
462 done
463
464 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
465         $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
466 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
467         $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
468 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
469         $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
470 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
471         $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
472 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
473         $RPM_BUILD_ROOT/etc/sysconfig/vservers
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 cat <<'EOF' > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/defaults/rpm/platform
550 # first platform file entry can't contain regexps
551 %{_target_cpu}-%{_target_vendor}-linux
552
553 # x86_64 things
554 %ifarch x86_64
555 amd64-[^-]*-linux(-gnu)?
556 x86_64-[^-]*-linux(-gnu)?
557 %endif
558 %ifarch amd64
559 amd64-[^-]*-linux(-gnu)?
560 x86_64-[^-]*-linux(-gnu)?
561 %endif
562 %ifarch ia32e
563 ia32e-[^-]*-linux(-gnu)?
564 x86_64-[^-]*-linux(-gnu)?
565 %endif
566
567 # x86 things
568 %ifarch athlon %{x8664}
569 athlon-[^-]*-linux(-gnu)?
570 %endif
571 %ifarch pentium4 athlon %{x8664}
572 pentium4-[^-]*-linux(-gnu)?
573 %endif
574 %ifarch pentium3 pentium4 athlon %{x8664}
575 pentium3-[^-]*-linux(-gnu)?
576 %endif
577 %ifarch i686 pentium3 pentium4 athlon %{x8664}
578 i686-[^-]*-linux(-gnu)?
579 %endif
580 %ifarch i586 i686 pentium3 pentium4 athlon %{x8664}
581 i586-[^-]*-linux(-gnu)?
582 %endif
583 %ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664}
584 i486-[^-]*-linux(-gnu)?
585 %endif
586 %ifarch %{ix86} %{x8664}
587 i386-[^-]*-linux(-gnu)?
588 %endif
589
590 %ifarch alpha
591 alpha-[^-]*-linux(-gnu)?
592 %endif
593
594 %ifarch ia64
595 ia64-[^-]*-linux(-gnu)?
596 %endif
597
598 %ifarch ppc64
599 powerpc64-[^-]*-linux(-gnu)?
600 ppc64-[^-]*-linux(-gnu)?
601 %endif
602 %ifarch ppc ppc64
603 powerpc-[^-]*-linux(-gnu)?
604 ppc-[^-]*-linux(-gnu)?
605 %endif
606
607 %ifarch s390x
608 s390x-[^-]*-linux(-gnu)?
609 %endif
610 %ifarch s390 s390x
611 s390-[^-]*-linux(-gnu)?
612 %endif
613
614 %ifarch sparc64
615 sparc64-[^-]*-linux(-gnu)?
616 sparcv8-[^-]*-linux(-gnu)?
617 sparcv9-[^-]*-linux(-gnu)?
618 %endif
619 %ifarch sparcv9
620 sparcv8-[^-]*-linux(-gnu)?
621 sparcv9-[^-]*-linux(-gnu)?
622 %endif
623 %ifarch sparc sparcv9 sparc64
624 sparc-[^-]*-linux(-gnu)?
625 %endif
626
627 # noarch
628 noarch-[^-]*-.*
629 EOF
630
631 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
632
633 # we have our own initscript which does the same
634 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
635 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
636 rm -rf $RPM_BUILD_ROOT/dev
637 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
638 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
639 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
640
641 %clean
642 rm -rf $RPM_BUILD_ROOT
643
644 %post
645 %{_sbindir}/setattr --barrier /vservers || :
646
647 %post   lib -p /sbin/ldconfig
648 %postun lib -p /sbin/ldconfig
649
650 %post init
651 /sbin/chkconfig --add vrootdevices
652 /sbin/chkconfig --add vprocunhide
653 /sbin/chkconfig --add vservers
654 if [ ! -f /var/lock/subsys/vrootdevices ]; then
655         echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
656 fi
657 if [ ! -f /var/lock/subsys/vprocunhide ]; then
658         echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
659 fi
660 if [ ! -f /var/lock/subsys/vservers ]; then
661         echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
662 fi
663
664 %preun init
665 if [ "$1" = "0" ]; then
666         %service vservers stop
667         %service vprocunhide stop
668         %service vrootdevices stop
669         /sbin/chkconfig --del vservers
670         /sbin/chkconfig --del vprocunhide
671         /sbin/chkconfig --del vrootdevices
672 fi
673
674 %post legacy
675 /sbin/chkconfig --add rebootmgr
676 /sbin/chkconfig --add vservers-legacy
677 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
678         echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
679 fi
680 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
681         echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
682 fi
683
684 %preun legacy
685 if [ "$1" = "0" ]; then
686         %service rebootmgr stop
687         %service vservers-legacy stop
688         /sbin/chkconfig --del rebootmgr
689         /sbin/chkconfig --del vservers-legacy
690 fi
691
692 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
693 for D in ac th ti; do
694         P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
695
696         if [ -f $P/pld-source.conf.rpmsave ]; then
697                 cp -f $P/repos.d/pld.conf{,.rpmnew}
698                 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
699         fi
700 done
701 exit 0
702
703 %files
704 %defattr(644,root,root,755)
705 %doc AUTHORS ChangeLog NEWS THANKS doc/intro.txt
706 %{?with_doc:%doc doc/*.html}
707 %dir %{_sysconfdir}/vservers
708 %dir %{_sysconfdir}/vservers/.defaults
709 %dir %{_sysconfdir}/vservers/.defaults/apps
710 %dir %{_sysconfdir}/vservers/.defaults/files
711 %{_sysconfdir}/vservers/.defaults/vdirbase
712 %{_sysconfdir}/vservers/.defaults/cachebase
713 %{_sysconfdir}/vservers/.defaults/run.rev
714 /sbin/vshelper
715 %attr(755,root,root) %{_sbindir}/chbind
716 %attr(755,root,root) %{_sbindir}/chcontext
717 %attr(755,root,root) %{_sbindir}/chxid
718 %attr(755,root,root) %{_sbindir}/exec-cd
719 %attr(755,root,root) %{_sbindir}/lsxid
720 %attr(755,root,root) %{_sbindir}/naddress
721 %attr(755,root,root) %{_sbindir}/nattribute
722 %attr(755,root,root) %{_sbindir}/ncontext
723 %attr(755,root,root) %{_sbindir}/reducecap
724 %attr(755,root,root) %{_sbindir}/setattr
725 %attr(755,root,root) %{_sbindir}/showattr
726 %attr(755,root,root) %{_sbindir}/vattribute
727 %attr(755,root,root) %{_sbindir}/vcontext
728 %attr(755,root,root) %{_sbindir}/vdlimit
729 %attr(755,root,root) %{_sbindir}/vnamespace
730 %attr(755,root,root) %{_sbindir}/vkill
731 %attr(755,root,root) %{_sbindir}/vlimit
732 %attr(755,root,root) %{_sbindir}/vdevmap
733 %attr(755,root,root) %{_sbindir}/vdu
734 %attr(755,root,root) %{_sbindir}/vmemctrl
735 %attr(755,root,root) %{_sbindir}/vmount
736 %attr(755,root,root) %{_sbindir}/vproc
737 %attr(755,root,root) %{_sbindir}/vps
738 %attr(755,root,root) %{_sbindir}/vpstree
739 %attr(755,root,root) %{_sbindir}/vspace
740 %attr(755,root,root) %{_sbindir}/vrsetup
741 %attr(755,root,root) %{_sbindir}/vsched
742 %attr(755,root,root) %{_sbindir}/vserver
743 %attr(755,root,root) %{_sbindir}/vserver-info
744 %attr(755,root,root) %{_sbindir}/vserver-stat
745 %attr(755,root,root) %{_sbindir}/vsomething
746 %attr(755,root,root) %{_sbindir}/vtag
747 %attr(755,root,root) %{_sbindir}/vtop
748 %attr(755,root,root) %{_sbindir}/vuname
749 %attr(755,root,root) %{_sbindir}/vwait
750 %dir %{_libdir}/%{name}
751 %dir %{_libdir}/%{name}/defaults
752 %{_libdir}/%{name}/FEATURES.txt
753 %{_libdir}/%{name}/util-vserver-vars
754 %{_libdir}/%{name}/defaults/*
755 %attr(755,root,root) %{_libdir}/%{name}/capchroot
756 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
757 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
758 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
759 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
760 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
761 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
762 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
763 %attr(755,root,root) %{_libdir}/%{name}/filetime
764 %{_libdir}/%{name}/functions
765 %attr(755,root,root) %{_libdir}/%{name}/h2ext
766 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
767 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
768 %attr(755,root,root) %{_libdir}/%{name}/lockfile
769 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
770 %attr(755,root,root) %{_libdir}/%{name}/readlink
771 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
772 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
773 %attr(755,root,root) %{_libdir}/%{name}/sigexec
774 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
775 %attr(755,root,root) %{_libdir}/%{name}/tunctl
776 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
777 %{_libdir}/%{name}/vserver.*
778 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
779 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
780 %attr(755,root,root) %{_libdir}/%{name}/vhashify
781 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
782 %attr(755,root,root) %{_libdir}/%{name}/vshelper
783 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
784 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
785 %{_mandir}/man8/chbind.8*
786 %{_mandir}/man8/chcontext.8*
787 %{_mandir}/man8/reducecap.8*
788 %{_mandir}/man8/vps.8*
789 %{_mandir}/man8/vpstree.8*
790 %{_mandir}/man8/vserver-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 build
819 %defattr(644,root,root,755)
820 %doc contrib/yum*.patch package-management.txt
821 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
822 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
823 %dir %{_sysconfdir}/vservers/.distributions
824 %dir %{_sysconfdir}/vservers/.distributions/.common
825 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
826 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
827 %dir %{_libdir}/%{name}/distributions
828 %attr(-,root,root) %{_libdir}/%{name}/distributions/defaults
829 %dir %{_libdir}/%{name}/distributions/template
830 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/init*
831 %attr(-,root,root) %{_libdir}/%{name}/distributions/redhat
832 %{_libdir}/%{name}/vserver-setup.functions
833 %{_libdir}/%{name}/vserver-build.*
834 %{_libdir}/%{name}/defaults/fstab
835 %{_libdir}/%{name}/defaults/debootstrap.uri
836 %{_libdir}/%{name}/defaults/vunify-exclude
837 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
838 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
839 %attr(755,root,root) %{_libdir}/%{name}/vclone
840 %attr(755,root,root) %{_libdir}/%{name}/vcopy
841 %attr(755,root,root) %{_libdir}/%{name}/vpkg
842 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
843 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
844 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
845 %attr(755,root,root) %{_libdir}/%{name}/vunify
846 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
847 %attr(755,root,root) %{_sbindir}/vapt-get
848 %attr(755,root,root) %{_sbindir}/vpoldek
849 %attr(755,root,root) %{_sbindir}/vrpm
850 %attr(755,root,root) %{_sbindir}/vyum
851 %{_mandir}/man8/vserver-build.8*
852
853 %files init
854 %defattr(644,root,root,755)
855 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
856 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
857 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
858 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
859 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
860 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
861 %attr(754,root,root) /etc/rc.d/init.d/vservers
862
863 %files legacy
864 %defattr(644,root,root,755)
865 %dir %{_sysconfdir}/vservices
866 %{_sysconfdir}/vservices/*
867 %dir %{_libdir}/%{name}/legacy
868 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
869 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
870 %attr(754,root,root) /etc/rc.d/init.d/v_*
871 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
872 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
873 %attr(755,root,root) %{_sbindir}/vserver-copy
874 %{_mandir}/man8/distrib-info.8*
875 %{_mandir}/man8/rebootmgr.8*
876 %{_mandir}/man8/vserver-copy.8*
877
878 %files -n vserver-distro-alpine
879 %defattr(644,root,root,755)
880 %dir %{_libdir}/%{name}/distributions/alpine
881 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
882 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
883
884 %files -n vserver-distro-centos
885 %defattr(644,root,root,755)
886 %{_libdir}/util-vserver/distributions/centos*
887
888 %files -n vserver-distro-debian
889 %defattr(644,root,root,755)
890 %dir %{_libdir}/%{name}/distributions/debian
891 %{_libdir}/%{name}/distributions/debian/debootstrap.script
892 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
893 %{_libdir}/%{name}/distributions/etch
894 %{_libdir}/%{name}/distributions/lenny
895 %{_libdir}/%{name}/distributions/sid
896
897 %files -n vserver-distro-fedora
898 %defattr(644,root,root,755)
899 %dir %{_sysconfdir}/vservers/.distributions/f7
900 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
901 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
902 %dir %{_sysconfdir}/vservers/.distributions/fc*
903 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
904 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
905 %{_libdir}/%{name}/distributions/f7
906 %{_libdir}/%{name}/distributions/f8
907 %{_libdir}/%{name}/distributions/fc*
908
909 %files -n vserver-distro-gentoo
910 %defattr(644,root,root,755)
911 %dir %{_libdir}/util-vserver/distributions/gentoo
912 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
913 %attr(755,root,root) %{_sbindir}/vdispatch-conf
914 %attr(755,root,root) %{_sbindir}/vemerge
915 %attr(755,root,root) %{_sbindir}/vesync
916 %attr(755,root,root) %{_sbindir}/vupdateworld
917
918 %files -n vserver-distro-pld
919 %defattr(644,root,root,755)
920 %attr(-,root,root) %{_libdir}/%{name}/distributions/pld
921 %attr(-,root,root) %{_libdir}/%{name}/distributions/pld-*
922 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
923 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
924 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
925 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
926 %dir %{_sysconfdir}/vservers/.distributions/pld-th
927 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
928 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
929 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
930 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
931 %dir %{_sysconfdir}/vservers/.distributions/pld-ti
932 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek
933 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d
934 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/*.conf
935 %endif
936
937 %files -n vserver-distro-redhat
938 %defattr(644,root,root,755)
939 %dir %{_sysconfdir}/vservers/.distributions/rh*
940 %dir %{_sysconfdir}/vservers/.distributions/rh*/apt
941 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
942 %{_libdir}/%{name}/distributions/rh*
943
944 %files -n vserver-distro-suse
945 %defattr(644,root,root,755)
946 %dir %{_sysconfdir}/vservers/.distributions/suse*
947 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
948 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
949 %{_libdir}/%{name}/distributions/suse*
950
951 %files -n vserver-distro-ubuntu
952 %defattr(644,root,root,755)
953 %{_libdir}/%{name}/distributions/breezy
954 %{_libdir}/%{name}/distributions/dapper
955 %{_libdir}/%{name}/distributions/edgy
956 %{_libdir}/%{name}/distributions/feisty
957 %{_libdir}/%{name}/distributions/gutsy
958 %{_libdir}/%{name}/distributions/hoary
959 %{_libdir}/%{name}/distributions/warty
This page took 0.156452 seconds and 4 git commands to generate.