X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=xen.spec;h=81cbd8dc3eeb3962a6219640056bba6d57c53d8d;hb=refs%2Fheads%2FXEN_3_0_4;hp=118a5cc31badaac900d82cb355e1bb877e9b1b3d;hpb=6eccf3e81a16ae6932d1899aa78f1d6010038dfa;p=packages%2Fxen.git diff --git a/xen.spec b/xen.spec index 118a5cc..81cbd8d 100644 --- a/xen.spec +++ b/xen.spec @@ -1,29 +1,77 @@ # TODO: # - pldized init scripts # - script for rc-boot +# +# Conditional build: +%bcond_without pae # build without PAE (HIGHMEM64G) support (PLD Xen* kernels require PAE) +%bcond_without hvm # build with hvm (full virtualization) support + +%ifnarch %{ix86} +%undefine with_pae +%endif +%ifarch i386 i486 i586 +%undefine with_pae +%endif + +%define hv_abi 3.0 +%define subver _1 +%define extraver -1 Summary: Xen - a virtual machine monitor -Summary(pl): Xen - monitor maszyny wirtualnej +Summary(pl.UTF-8): Xen - monitor maszyny wirtualnej Name: xen -Version: 2 -Release: 0.20050329.1 -Epoch: 0 -Group: Development/Libraries +Version: %{hv_abi}.4 +Release: 0.1 License: GPL -Source0: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/%{name}-unstable-src.tgz -# Source0-md5: 07b260048dda6d4367754366138d49ab +Group: Applications/System +Source0: http://bits.xensource.com/oss-xen/release/%{version}%{subver}/src.tgz/%{name}-%{version}%{subver}-src.tgz +# Source0-md5: e85e16ad3dc354338e3ac4a8951f9649 Source1: %{name}-xend.init Source2: %{name}-xendomains.init -URL: http://sourceforge.net/projects/xen/ +Patch0: %{name}-python_scripts.patch +Patch1: %{name}-bash_scripts.patch +Patch2: %{name}-bridge_setup.patch +Patch3: %{name}-python-devel.patch +Patch4: %{name}-gcc4.patch +URL: http://www.cl.cam.ac.uk/research/srg/netos/xen/index.html +BuildRequires: SDL-devel +#BuildRequires: XFree86-devel +%{?with_hvm:BuildRequires: bcc} +BuildRequires: cpp BuildRequires: curl-devel +BuildRequires: e2fsprogs-devel +BuildRequires: latex2html +BuildRequires: libidn-devel +BuildRequires: libvncserver-devel +BuildRequires: ncurses-devel +BuildRequires: progsreiserfs-devel +BuildRequires: python-TwistedWeb BuildRequires: python-devel -BuildRequires: python-Twisted -BuildRequires: bridge-utils +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: tetex-dvips +BuildRequires: tetex-format-latex +BuildRequires: tetex-latex-psnfss BuildRequires: transfig -BuildRequires: libidn-devel +BuildRequires: which BuildRequires: zlib-devel -BuildRequires: X11-devel -BuildRequires: ncurses-devel -ExclusiveArch: %{ix86} +Requires(post,preun): /sbin/chkconfig +Requires: %{name}-libs = %{version}-%{release} +Requires: ZopeInterface +Requires: bridge-utils +Requires: coreutils +Requires: diffutils +Requires: iptables +Requires: kernel(xen0) = %{version} +Requires: losetup +Requires: net-tools +Requires: python-%{name} = %{version}-%{release} +Requires: python-TwistedWeb +Requires: rc-scripts +Requires: sed +Requires: util-linux +Requires: which +Obsoletes: xen-doc +ExclusiveArch: %{ix86} %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -39,121 +87,215 @@ development, and this RPM has received extremely little testing. Don't be surprised if this RPM eats your data, drinks your coffee or makes fun of you in front of your friends. -%description -l pl -Ten pakiet zawiera nadzorcê oraz narzêdzia Xen, potrzebne do +%description -l pl.UTF-8 +Ten pakiet zawiera nadzorcę oraz narzędzia Xen, potrzebne do uruchamiania wirtualnych maszyn w systemach x86, wraz z pakietami -kernel-xen*. Informacje jak u¿ywaæ Xena mo¿na znale¼æ na stronach +kernel-xen*. Informacje jak używać Xena można znaleźć na stronach projektu. -Wirtualizacja mo¿e byæ u¿ywana do uruchamiania wielu wersji lub wielu -dystrybucji Linuksa na jednym systemie lub do testowaania nie -zaufanych aplikacji w odizolowanym ¶rodowisku. Nale¿y zauwa¿yæ, ¿e -technologia Xen jest ci±gle rozwijana, a ten RPM by³ s³abo testowany. -Nie nale¿y byæ zdziwionym, je¶li ten pakiet zje dane, wypije ca³± kawê -czy bêdzie siê wy¶miewa³ w obecno¶ci przyjació³. +Wirtualizacja może być używana do uruchamiania wielu wersji lub wielu +dystrybucji Linuksa na jednym systemie lub do testowania nie zaufanych +aplikacji w odizolowanym środowisku. Należy zauważyć, że technologia +Xen jest ciągle rozwijana, a ten RPM był słabo testowany. Nie należy +być zdziwionym, jeśli ten pakiet zje dane, wypije całą kawę czy będzie +się wyśmiewał w obecności przyjaciół. + +%package libs +Summary: xen libraries +Summary(pl.UTF-8): Biblioteki xena +Group: Libraries + +%description libs +xen libraries. + +%description libs -l pl.UTF-8 +Biblioteki xena. %package devel Summary: Header files for xen -Summary(pl): Pliki nag³ówkowe xena +Summary(pl.UTF-8): Pliki nagłówkowe xena Group: Development/Libraries -Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} %description devel Header files for xen. -%description devel -l pl -Pliki nag³ówkowe xena. +%description devel -l pl.UTF-8 +Pliki nagłówkowe xena. %package static Summary: Static xen libraries -Summary(pl): Statyczne biblioteki xena +Summary(pl.UTF-8): Statyczne biblioteki xena Group: Development/Libraries -Requires: %{name}-devel = %{epoch}:%{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} %description static Static xen libraries. -%description static -l pl +%description static -l pl.UTF-8 Statyczne biblioteki xena. +%package hypervisor +Summary: Libraries for Xen tools +Group: Base/Kernel +Provides: xen-hypervisor-abi = %{hv_abi} + +%description hypervisor +This package contains the Xen hypervisor + +%package hotplug +Summary: xen hotplug scripts +Summary(pl.UTF-8): Skrypty hotplug dla xena +Group: Applications/System + +%description hotplug +xen hotplug scripts. + +%description hotplug -l pl.UTF-8 +Skrypty hotplug dla xena. + +%package udev +Summary: xen udev scripts +Summary(pl.UTF-8): Skrypty udev dla xena +Group: Applications/System + +%description udev +xen udev scripts. + +%description udev -l pl.UTF-8 +Skrypty udev dla xena. + +%package -n python-xen +Summary: xen Python modules +Summary(pl.UTF-8): Moduły Pythona dla xena +Group: Libraries +Conflicts: xen < 3.0.2-2.1 + +%description -n python-xen +xen Python modules. + +%description -n python-xen -l pl.UTF-8 +Moduły Pythona dla xena. + %prep -%setup -q -n xen-unstable -chmod -R u+w . -echo 'CXXFLAGS+=-I/usr/include/ncurses' >> tools/ioemu/gui/Makefile +%setup -q -n %{name}-%{version}%{?subver}-src +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build -CFLAGS="%{rpmcflags}" \ -CXXFLAGS="%{rpmcflags}" \ +CFLAGS="%{rpmcflags} -I/usr/include/ncurses" \ +CXXFLAGS="%{rpmcflags} -I/usr/include/ncurses" \ %{__make} xen tools docs \ + %{?with_pae:XEN_TARGET_X86_PAE=y} \ + XENFB_TOOLS=y \ CC="%{__cc}" \ CXX="%{__cxx}" %install rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT/var/run/{xen-hotplug,xend,xenstored} %{__make} install-xen install-tools install-docs \ - DESTDIR=$RPM_BUILD_ROOT + %{?with_pae:XEN_TARGET_X86_PAE=y} \ + DESTDIR=$RPM_BUILD_ROOT \ + XEN_PYTHON_NATIVE_INSTALL=1 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/xend install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/xendomains install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/xend-db/{domain,vnet} +install -d $RPM_BUILD_ROOT%{_sharedstatedir}/xen/save -install -d $RPM_BUILD_ROOT%{_mandir} -cp -a $RPM_BUILD_ROOT%{_prefix}/man/* $RPM_BUILD_ROOT%{_mandir} +cp -a dist/install/etc/udev $RPM_BUILD_ROOT%{_sysconfdir} +cp -a dist/install/etc/hotplug $RPM_BUILD_ROOT%{_sysconfdir} -install -d doc-html-install/{interface,user} -cp -a docs/html/interface/*.{png,html,css} doc-html-install/interface -cp -a docs/html/user/*.{png,html,css} doc-html-install/user +%py_comp $RPM_BUILD_ROOT%{py_sitedir} +%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} -rm -f $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING +%py_postclean -%{py_comp} $RPM_BUILD_ROOT%{_libdir}/python -%{py_ocomp} $RPM_BUILD_ROOT%{_libdir}/python -find $RPM_BUILD_ROOT%{_libdir}/python -name '*.py' -exec rm "{}" ";" +rm -f $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING +rm -rf $RPM_BUILD_ROOT%{_docdir}/xen +rm -rf $RPM_BUILD_ROOT/''etc/init.d +rm -f $RPM_BUILD_ROOT/boot/xen-3.0.gz +rm -f $RPM_BUILD_ROOT/boot/xen-3.gz +rm -rf $RPM_BUILD_ROOT%{_docdir}/qemu %clean rm -rf $RPM_BUILD_ROOT %post -/sbin/ldconfig /sbin/chkconfig --add xend /sbin/chkconfig --add xendomains -%postun -p /sbin/ldconfig - %preun if [ "$1" = "0" ]; then -# if [ -f /var/lock/subsys/xend ]; then -# /etc/rc.d/init.d/xend stop 1>&2 -# fi + %service xend stop /sbin/chkconfig --del xend -# if [ -f /var/lock/subsys/xendomains ]; then -# /etc/rc.d/init.d/xendomains stop 1>&2 -# fi + + %service xendomains stop /sbin/chkconfig --del xendomains fi +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + %files %defattr(644,root,root,755) -%doc COPYING ChangeLog README docs/misc/* doc-html-install/* -/boot/%{name}-syms -/boot/%{name}.gz +%doc COPYING README docs/misc/* +%doc docs/html/* %attr(754,root,root) /etc/rc.d/init.d/* +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/* %dir %{_sysconfdir}/xen +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/qemu-ifup %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/*.* -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/b* +#%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/b* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xmexample[12] %dir %{_sysconfdir}/xen/auto %dir %{_sysconfdir}/xen/scripts %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/scripts/* %attr(755,root,root) %{_bindir}/* %attr(755,root,root) %{_sbindir}/* -%attr(755,root,root) %{_libdir}/lib*.so.* -%{_libdir}/python/%{name} -%attr(755,root,root) %{_libdir}/python/%{name}/lowlevel/*.so +%dir %{_libdir}/%{name} +%dir %{_libdir}/%{name}/bin +%attr(744,root,root) %{_libdir}/%{name}/bin/* +%if "%{_lib}" != "lib" +%dir %{_prefix}/lib/%{name} +%endif +%dir %{_prefix}/lib/%{name}/boot +%{?with_hvm:%attr(744,root,root) %{_prefix}/lib/%{name}/boot/hvmloader} +%{_datadir}/xen %{_mandir}/man?/* +%{_sharedstatedir}/xen +%{_sharedstatedir}/xenstored +%dir /var/run/xen-hotplug +%dir %attr(700,root,root) /var/run/xend +%dir /var/run/xenstored + +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) %ghost %{_libdir}/libblktap.so.3.0 +%attr(755,root,root) %{_libdir}/libblktap.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libfsimage.so.1.0 +%attr(755,root,root) %{_libdir}/libfsimage.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libxenctrl.so.3.0 +%attr(755,root,root) %{_libdir}/libxenctrl.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libxenguest.so.3.0 +%attr(755,root,root) %{_libdir}/libxenguest.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libxenstore.so.3.0 +%attr(755,root,root) %{_libdir}/libxenstore.so.*.*.* + +# subpackages? python part apparently uses these +%dir %{_libdir}/fs/ext2fs-lib +%dir %{_libdir}/fs/reiserfs +%dir %{_libdir}/fs/ufs +%attr(755,root,root) %{_libdir}/fs/ext2fs-lib/fsimage.so +%attr(755,root,root) %{_libdir}/fs/reiserfs/fsimage.so +%attr(755,root,root) %{_libdir}/fs/ufs/fsimage.so %files devel %defattr(644,root,root,755) @@ -163,3 +305,34 @@ fi %files static %defattr(644,root,root,755) %{_libdir}/lib*.a + +%files hypervisor +%defattr(644,root,root,755) +/boot/%{name}-syms-%{version}%{extraver} +/boot/%{name}-%{version}%{extraver}.gz +/boot/%{name}.gz + +%files hotplug +%defattr(644,root,root,755) +%attr(755,root,root) /etc/hotplug/* + +%files udev +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) /etc/udev/* + +%files -n python-xen +%defattr(644,root,root,755) + +%dir %{py_sitedir}/grub +%{py_sitedir}/grub/*.py[co] +%dir %{py_sitedir}/xen +%dir %{py_sitedir}/xen/lowlevel +%{py_sitedir}/xen/lowlevel/*.py[co] +%attr(755,root,root) %{py_sitedir}/xen/lowlevel/*.so +%attr(755,root,root) %{py_sitedir}/fsimage.so +%{py_sitedir}/xen/sv +%{py_sitedir}/xen/util +%{py_sitedir}/xen/web +%{py_sitedir}/xen/xend +%{py_sitedir}/xen/xm +%{py_sitedir}/xen/*.py[co]