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