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