]> git.pld-linux.org Git - packages/util-vserver.git/blob - util-vserver.spec
- rel 2; force R rc-scripts > 0.4.3.4 (for /dev/cgroup support)
[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    pre2921
22 %define         rel     2
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:        1.%{snap}.%{rel}
28 License:        GPL
29 Group:          Applications/System
30 Source0:        http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
31 # Source0-md5:  21b9cbdcd4943b469d8e720826337edd
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 Patch24:        vunify-more-exclude.patch
75 Patch25:        stat.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 BuildRequires:  pkgconfig
86 BuildRequires:  python-devel
87 BuildRequires:  python-modules
88 BuildRequires:  rpm-pythonprov
89 BuildRequires:  rpmbuild(macros) >= 1.268
90 BuildRequires:  sed >= 4.0
91 %if %{with doc}
92 BuildRequires:  doxygen
93 BuildRequires:  graphviz
94 BuildRequires:  libxslt-progs
95 BuildRequires:  python-devel
96 %if "%{pld_release}" != "th"
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-latex-ucs
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 >= 0.4.3.4
119 Requires:       tar
120 Requires:       util-linux >= 2.13
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 %patch21 -p1
400 %patch22 -p1
401 %patch24 -p1
402 %patch25 -p1
403
404 install %{SOURCE9} package-management.txt
405
406 %build
407 unset LD_SYMBOLIC_FUNCTIONS || :
408
409 %if %{with dietlibc}
410 CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__"
411 %endif
412 %{__libtoolize}
413 %{__aclocal} -I m4
414 %{__automake}
415 %{__autoconf}
416 %configure \
417         --with-initrddir=/etc/rc.d/init.d \
418         --enable-release \
419         --enable-apis=NOLEGACY \
420         --with-initscripts=sysv \
421         --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \
422         FSCK=/sbin/fsck \
423         IONICE=%{_usrbin}/ionice \
424         IP=/sbin/ip \
425         IPTABLES=%{_usrsbin}/iptables \
426         MKTEMP=/bin/mktemp \
427         MODPROBE=/sbin/modprobe \
428         MOUNT=/bin/mount \
429         NAMEIF=/sbin/nameif \
430         PS=/bin/ps \
431         RESTORE=/sbin/restore \
432         RMMOD=/sbin/rmmod \
433         RSYNC=%{_usrbin}/rsync \
434         STRACE=%{_usrbin}/strace \
435         UMOUNT=/bin/umount \
436         VCONFIG=/sbin/vconfig \
437         WGET=%{_usrbin}/wget \
438 # end
439
440 %{__make} all
441 %{?with_doc:%{__make} doc}
442
443 %{__make} -C vproc-%{vproc_version} \
444         CC="%{__cc}" \
445         CFLAGS="%{rpmcflags}"
446
447 %install
448 rm -rf $RPM_BUILD_ROOT
449 install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \
450         $RPM_BUILD_ROOT%{_sysconfdir}/vservices \
451         $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/apps/vdevmap
452
453 %{__make} -j1 install install-distribution \
454         DESTDIR=$RPM_BUILD_ROOT
455
456 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
457
458 for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do
459         s=$(basename $i | sed s/v_//)
460         cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
461 # IP addresses/interfaces to bound $s service to
462 #IP=10.0.0.1
463 #IP=eth0
464 EOF
465 done
466
467 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \
468         $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide
469 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \
470         $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers
471 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \
472         $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy
473 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \
474         $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr
475 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE15} > \
476         $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver
477 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
478         $RPM_BUILD_ROOT/etc/sysconfig/vservers
479 sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' gentoo/bash-wrapper > \
480         $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper
481
482 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
483
484 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
485 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
486 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld
487 install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
488 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
489 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/initpost
490 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
491 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti/initpost
492 %endif
493 install vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
494 sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
495 chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
496
497 cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
498 02 2 * * 0      root    %{_libdir}/%{name}/vhashify.cron
499 EOF
500
501 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys
502 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
503
504 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
505 cp -a %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
506
507 # set arch for pld-ac in pld.conf
508 %ifarch i586 i686 ppc sparc alpha athlon
509 %define         ftp_arch        %{_target_cpu}
510 %endif
511 %ifarch %{x8664}
512 %define         ftp_arch        amd64
513 %endif
514 %ifarch i486
515 %define         ftp_arch        i386
516 %endif
517 %ifarch pentium2 pentium3 pentium4
518 %define         ftp_arch        i686
519 %endif
520 %ifarch sparcv9 sparc64
521 %define         ftp_arch        sparc
522 %endif
523 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf
524
525 # set arch for pld-th in pld.conf
526 %ifarch i486 i686 ppc sparc alpha athlon
527 %define         ftp_arch        %{_target_cpu}
528 %endif
529 %ifarch %{x8664}
530 %define         ftp_arch        x86_64
531 %endif
532 %ifarch i586
533 %define         ftp_arch        i486
534 %endif
535 %ifarch pentium2 pentium3 pentium4
536 %define         ftp_arch        i686
537 %endif
538 %ifarch sparcv9 sparc64
539 %define         ftp_arch        sparc
540 %endif
541 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf
542
543 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
544 # set arch for pld-ti in pld.conf
545 %ifarch i586 i686
546 %define         ftp_arch        %{_target_cpu}
547 %endif
548 %ifarch %{x8664}
549 %define         ftp_arch        x86_64
550 %endif
551 %ifarch athlon pentium2 pentium3 pentium4
552 %define         ftp_arch        i686
553 %endif
554 %{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/pld.conf
555 %endif
556
557 # current debootstrap link
558 echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb" \
559         > $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/debootstrap.uri
560
561 install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
562
563 # cleanups
564 rm -rf $RPM_BUILD_ROOT/dev
565 rm -rf $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
566 # we have our own initscript which does the same
567 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
568 rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions
569 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default
570 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf
571
572 %clean
573 rm -rf $RPM_BUILD_ROOT
574
575 %triggerun -- util-vserver-init
576 # Prevent preun from util-vserver-init from working
577 chmod a-x /etc/rc.d/init.d/vprocunhide
578 chmod a-x /etc/rc.d/init.d/vrootdevices
579 chmod a-x /etc/rc.d/init.d/vservers
580
581 %triggerpostun -- util-vserver-init
582 # Restore what triggerun removed
583 chmod ug+x /etc/rc.d/init.d/vprocunhide
584 chmod ug+x /etc/rc.d/init.d/vrootdevices
585 chmod ug+x /etc/rc.d/init.d/vservers
586 /sbin/chkconfig --add vrootdevices
587 /sbin/chkconfig --add vprocunhide
588 /sbin/chkconfig --add vservers
589 if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then
590         cp -f /etc/sysconfig/vrootdevices{,.rpmnew}
591         mv -f /etc/sysconfig/vrootdevices{.rpmsave,}
592 fi
593 if [ -f /etc/sysconfig/vservers.rpmsave ]; then
594         cp -f /etc/sysconfig/vservers{,.rpmnew}
595         mv -f /etc/sysconfig/vservers{.rpmsave,}
596 fi
597
598 %post
599 %{_sbindir}/setattr --barrier /vservers || :
600 /sbin/chkconfig --add util-vserver
601 /sbin/chkconfig --add vrootdevices
602 /sbin/chkconfig --add vprocunhide
603 /sbin/chkconfig --add vservers
604 if [ ! -f /var/lock/subsys/util-vserver ]; then
605         echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2
606 fi
607 if [ ! -f /var/lock/subsys/vrootdevices ]; then
608         echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
609 fi
610 if [ ! -f /var/lock/subsys/vprocunhide ]; then
611         echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
612 fi
613 if [ ! -f /var/lock/subsys/vservers ]; then
614         echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
615 fi
616
617 %preun
618 if [ "$1" = "0" ]; then
619         %service util-vserver stop
620         %service vservers stop
621         %service vprocunhide stop
622         %service vrootdevices stop
623         /sbin/chkconfig --del util-vserver
624         /sbin/chkconfig --del vservers
625         /sbin/chkconfig --del vprocunhide
626         /sbin/chkconfig --del vrootdevices
627 fi
628
629 %post   lib -p /sbin/ldconfig
630 %postun lib -p /sbin/ldconfig
631
632 %post legacy
633 /sbin/chkconfig --add rebootmgr
634 /sbin/chkconfig --add vservers-legacy
635 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
636         echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
637 fi
638 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
639         echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
640 fi
641
642 %preun legacy
643 if [ "$1" = "0" ]; then
644         %service rebootmgr stop
645         %service vservers-legacy stop
646         /sbin/chkconfig --del rebootmgr
647         /sbin/chkconfig --del vservers-legacy
648 fi
649
650 %triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1
651 for D in ac th ti; do
652         P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek
653
654         if [ -f $P/pld-source.conf.rpmsave ]; then
655                 cp -f $P/repos.d/pld.conf{,.rpmnew}
656                 mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf
657         fi
658 done
659 exit 0
660
661 %files
662 %defattr(644,root,root,755)
663 %doc AUTHORS NEWS THANKS doc/intro.txt
664 %doc package-management.txt
665 %{?with_doc:%doc doc/*.html}
666 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
667 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
668 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
669 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
670 %attr(754,root,root) /etc/rc.d/init.d/vrootdevices
671 %attr(754,root,root) /etc/rc.d/init.d/util-vserver
672 %attr(754,root,root) /etc/rc.d/init.d/vservers
673 %dir %{_sysconfdir}/vservers
674 %dir %{_sysconfdir}/vservers/.defaults
675 %dir %{_sysconfdir}/vservers/.defaults/apps
676 %dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap
677 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
678 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
679 %dir %{_sysconfdir}/vservers/.defaults/files
680 %{_sysconfdir}/vservers/.defaults/vdirbase
681 %{_sysconfdir}/vservers/.defaults/cachebase
682 %{_sysconfdir}/vservers/.defaults/run.rev
683 %dir %{_sysconfdir}/vservers/.distributions
684 %dir %{_sysconfdir}/vservers/.distributions/.common
685 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
686 /sbin/vshelper
687 %attr(755,root,root) %{_sbindir}/chbind
688 %attr(755,root,root) %{_sbindir}/chcontext
689 %attr(755,root,root) %{_sbindir}/chxid
690 %attr(755,root,root) %{_sbindir}/exec-cd
691 %attr(755,root,root) %{_sbindir}/lsxid
692 %attr(755,root,root) %{_sbindir}/naddress
693 %attr(755,root,root) %{_sbindir}/nattribute
694 %attr(755,root,root) %{_sbindir}/ncontext
695 %attr(755,root,root) %{_sbindir}/reducecap
696 %attr(755,root,root) %{_sbindir}/setattr
697 %attr(755,root,root) %{_sbindir}/showattr
698 %attr(755,root,root) %{_sbindir}/vapt-get
699 %attr(755,root,root) %{_sbindir}/vattribute
700 %attr(755,root,root) %{_sbindir}/vcontext
701 %attr(755,root,root) %{_sbindir}/vdevmap
702 %attr(755,root,root) %{_sbindir}/vdlimit
703 %attr(755,root,root) %{_sbindir}/vdu
704 %attr(755,root,root) %{_sbindir}/vkill
705 %attr(755,root,root) %{_sbindir}/vlimit
706 %attr(755,root,root) %{_sbindir}/vmemctrl
707 %attr(755,root,root) %{_sbindir}/vmount
708 %attr(755,root,root) %{_sbindir}/vnamespace
709 %attr(755,root,root) %{_sbindir}/vpoldek
710 %attr(755,root,root) %{_sbindir}/vproc
711 %attr(755,root,root) %{_sbindir}/vps
712 %attr(755,root,root) %{_sbindir}/vpstree
713 %attr(755,root,root) %{_sbindir}/vrpm
714 %attr(755,root,root) %{_sbindir}/vrsetup
715 %attr(755,root,root) %{_sbindir}/vsched
716 %attr(755,root,root) %{_sbindir}/vserver
717 %attr(755,root,root) %{_sbindir}/vserver-info
718 %attr(755,root,root) %{_sbindir}/vserver-stat
719 %attr(755,root,root) %{_sbindir}/vsomething
720 %attr(755,root,root) %{_sbindir}/vspace
721 %attr(755,root,root) %{_sbindir}/vtag
722 %attr(755,root,root) %{_sbindir}/vtop
723 %attr(755,root,root) %{_sbindir}/vuname
724 %attr(755,root,root) %{_sbindir}/vwait
725 %attr(755,root,root) %{_sbindir}/vyum
726 %dir %{_libdir}/%{name}
727 %dir %{_libdir}/%{name}/defaults
728 %{_libdir}/%{name}/defaults/fstab
729 %{_libdir}/%{name}/defaults/debootstrap.*
730 %{_libdir}/%{name}/defaults/vunify-exclude
731 %{_libdir}/%{name}/defaults/context.start
732 %{_libdir}/%{name}/defaults/environment
733 %{_libdir}/%{name}/defaults/h2ext.desc
734 %{_libdir}/%{name}/defaults/mtab
735 %{_libdir}/%{name}/defaults/vprocunhide-files
736 %dir %{_libdir}/%{name}/distributions
737 %{_libdir}/%{name}/distributions/defaults
738 %dir %{_libdir}/%{name}/distributions/template
739 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost
740 %attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre
741 %dir %{_libdir}/%{name}/distributions/redhat
742 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
743 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
744 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
745 %{_libdir}/%{name}/FEATURES.txt
746 %{_libdir}/%{name}/util-vserver-vars
747 %attr(755,root,root) %{_libdir}/%{name}/bash-wrapper
748 %attr(755,root,root) %{_libdir}/%{name}/capchroot
749 %attr(755,root,root) %{_libdir}/%{name}/chain-echo
750 %attr(755,root,root) %{_libdir}/%{name}/chbind-compat
751 %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat
752 %attr(755,root,root) %{_libdir}/%{name}/check-unixfile
753 %attr(755,root,root) %{_libdir}/%{name}/chroot-sh
754 %attr(755,root,root) %{_libdir}/%{name}/exec-remount
755 %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit
756 %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel
757 %attr(755,root,root) %{_libdir}/%{name}/filetime
758 %{_libdir}/%{name}/functions
759 %attr(755,root,root) %{_libdir}/%{name}/h2ext
760 %attr(755,root,root) %{_libdir}/%{name}/h2ext-worker
761 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive
762 %attr(755,root,root) %{_libdir}/%{name}/lockfile
763 %attr(755,root,root) %{_libdir}/%{name}/mask2prefix
764 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
765 %attr(755,root,root) %{_libdir}/%{name}/readlink
766 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
767 %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo
768 %attr(755,root,root) %{_libdir}/%{name}/secure-mount
769 %attr(755,root,root) %{_libdir}/%{name}/sigexec
770 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
771 %attr(755,root,root) %{_libdir}/%{name}/tunctl
772 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
773 %attr(755,root,root) %{_libdir}/%{name}/vclone
774 %attr(755,root,root) %{_libdir}/%{name}/vcopy
775 %attr(755,root,root) %{_libdir}/%{name}/vhashify
776 %attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
777 %attr(755,root,root) %{_libdir}/%{name}/vpkg
778 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
779 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
780 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
781 %attr(755,root,root) %{_libdir}/%{name}/vserver-build
782 %{_libdir}/%{name}/vserver-build.*
783 %{_libdir}/%{name}/vserver-setup.functions
784 %{_libdir}/%{name}/vserver.*
785 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
786 %attr(755,root,root) %{_libdir}/%{name}/vshelper
787 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
788 %attr(755,root,root) %{_libdir}/%{name}/vsysctl
789 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
790 %attr(755,root,root) %{_libdir}/%{name}/vunify
791 %attr(755,root,root) %{_libdir}/%{name}/vyum-worker
792 %{_mandir}/man8/chbind.8*
793 %{_mandir}/man8/chcontext.8*
794 %{_mandir}/man8/reducecap.8*
795 %{_mandir}/man8/vps.8*
796 %{_mandir}/man8/vpstree.8*
797 %{_mandir}/man8/vserver-build.8*
798 %{_mandir}/man8/vserver-stat.8*
799 %{_mandir}/man8/vserver.8*
800 %{_mandir}/man8/vtop.8*
801 %attr(000,root,root) %dir /vservers
802 %dir /vservers/.pkg
803 %dir %{_localstatedir}/run/vservers
804 %dir %{_localstatedir}/run/vservers.rev
805 %dir %{_localstatedir}/run/vshelper
806 %dir /var/cache/vservers
807 %dir /var/cache/vservers/poldek
808
809 %files lib
810 %defattr(644,root,root,755)
811 %attr(755,root,root) %{_libdir}/libvserver.so.*.*.*
812 %attr(755,root,root) %ghost %{_libdir}/libvserver.so.0
813
814 %files devel
815 %defattr(644,root,root,755)
816 %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
817 %attr(755,root,root) %{_libdir}/libvserver.so
818 %{_libdir}/lib*.la
819 %{_includedir}/vserver*.h
820 %{_pkgconfigdir}/*.pc
821
822 %files static
823 %defattr(644,root,root,755)
824 %{_libdir}/libvserver.a
825
826 %files legacy
827 %defattr(644,root,root,755)
828 %dir %{_sysconfdir}/vservices
829 %{_sysconfdir}/vservices/*
830 %dir %{_libdir}/%{name}/legacy
831 %attr(755,root,root) %{_libdir}/%{name}/legacy/*
832 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy
833 %attr(754,root,root) /etc/rc.d/init.d/v_*
834 %attr(754,root,root) /etc/rc.d/init.d/rebootmgr
835 %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy
836 %attr(755,root,root) %{_sbindir}/vserver-copy
837 %{_mandir}/man8/distrib-info.8*
838 %{_mandir}/man8/rebootmgr.8*
839 %{_mandir}/man8/vserver-copy.8*
840
841 %files -n python-util-vserver
842 %defattr(644,root,root,755)
843 %attr(755,root,root) %{py_sitedir}/_libvserver.so
844 %{py_sitedir}/libvserver.py
845
846 %files -n vserver-distro-alpine
847 %defattr(644,root,root,755)
848 %dir %{_libdir}/%{name}/distributions/alpine
849 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpost
850 %attr(755,root,root) %{_libdir}/%{name}/distributions/alpine/initpre
851
852 %files -n vserver-distro-centos
853 %defattr(644,root,root,755)
854 %{_libdir}/util-vserver/distributions/centos*
855
856 %files -n vserver-distro-debian
857 %defattr(644,root,root,755)
858 %dir %{_libdir}/%{name}/distributions/debian
859 %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost
860 %{_libdir}/%{name}/distributions/etch
861 %{_libdir}/%{name}/distributions/lenny
862 %{_libdir}/%{name}/distributions/sid
863 %{_libdir}/%{name}/distributions/squeeze
864
865 %files -n vserver-distro-fedora
866 %defattr(644,root,root,755)
867 %dir %{_sysconfdir}/vservers/.distributions/f7
868 %dir %{_sysconfdir}/vservers/.distributions/f7/apt
869 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/f7/apt/sources.list
870 %dir %{_sysconfdir}/vservers/.distributions/fc*
871 %dir %{_sysconfdir}/vservers/.distributions/fc*/apt
872 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list
873 %{_libdir}/%{name}/distributions/f7
874 %{_libdir}/%{name}/distributions/f8
875 %{_libdir}/%{name}/distributions/f9
876 %{_libdir}/%{name}/distributions/f10
877 %{_libdir}/%{name}/distributions/f11
878 %{_libdir}/%{name}/distributions/f12
879 %{_libdir}/%{name}/distributions/f13
880 %{_libdir}/%{name}/distributions/fc1
881 %{_libdir}/%{name}/distributions/fc2
882 %{_libdir}/%{name}/distributions/fc3
883 %{_libdir}/%{name}/distributions/fc4
884 %{_libdir}/%{name}/distributions/fc5
885 %{_libdir}/%{name}/distributions/fc6
886
887 %files -n vserver-distro-gentoo
888 %defattr(644,root,root,755)
889 %dir %{_libdir}/util-vserver/distributions/gentoo
890 %attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/*
891 %attr(755,root,root) %{_sbindir}/vdispatch-conf
892 %attr(755,root,root) %{_sbindir}/vemerge
893 %attr(755,root,root) %{_sbindir}/vesync
894 %attr(755,root,root) %{_sbindir}/vupdateworld
895
896 %files -n vserver-distro-pld
897 %defattr(644,root,root,755)
898 %dir %{_libdir}/%{name}/distributions/pld
899 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld/initpost
900 %dir %{_libdir}/%{name}/distributions/pld-*
901 %{_libdir}/%{name}/distributions/pld-*/pkgs
902 %{_libdir}/%{name}/distributions/pld-*/pubkeys
903 %{_libdir}/%{name}/distributions/pld-*/rpm
904 %attr(755,root,root) %{_libdir}/%{name}/distributions/pld-*/initpost
905 %dir %{_sysconfdir}/vservers/.distributions/pld-ac
906 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
907 %dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d
908 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf
909 %dir %{_sysconfdir}/vservers/.distributions/pld-th
910 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek
911 %dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d
912 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf
913 %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4
914 %dir %{_sysconfdir}/vservers/.distributions/pld-ti
915 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek
916 %dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d
917 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/*.conf
918 %endif
919
920 %files -n vserver-distro-redhat
921 %defattr(644,root,root,755)
922 %dir %{_sysconfdir}/vservers/.distributions/rh9
923 %dir %{_sysconfdir}/vservers/.distributions/rh9/apt
924 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list
925 %{_libdir}/%{name}/distributions/rh9
926 %dir %{_libdir}/%{name}/distributions/redhat
927 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl
928 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost
929 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre
930 %attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit
931
932 %files -n vserver-distro-suse
933 %defattr(644,root,root,755)
934 %dir %{_sysconfdir}/vservers/.distributions/suse*
935 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt
936 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list
937 %{_libdir}/%{name}/distributions/suse*
This page took 0.193948 seconds and 4 git commands to generate.