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