X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=xen.spec;h=81cbd8dc3eeb3962a6219640056bba6d57c53d8d;hb=refs%2Fheads%2FXEN_3_0_4;hp=94388f4d4afc286d235a2f5c46dfb6f6963e7e82;hpb=129858a402e1c7071b6c32e0036cc0688464ffef;p=packages%2Fxen.git diff --git a/xen.spec b/xen.spec index 94388f4..81cbd8d 100644 --- a/xen.spec +++ b/xen.spec @@ -1,25 +1,50 @@ # 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: 3.0.2 +Version: %{hv_abi}.4 Release: 0.1 -Epoch: 0 License: GPL Group: Applications/System -Source0: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/%{name}-%{version}-src.tgz -# Source0-md5: 544eab940a0734a55459d648e5c3b224 +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://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html -BuildRequires: XFree86-devel +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: kernel(xen) = %version +BuildRequires: e2fsprogs-devel +BuildRequires: latex2html BuildRequires: libidn-devel +BuildRequires: libvncserver-devel BuildRequires: ncurses-devel -BuildRequires: python-Twisted +BuildRequires: progsreiserfs-devel +BuildRequires: python-TwistedWeb BuildRequires: python-devel BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.268 @@ -30,14 +55,23 @@ BuildRequires: transfig BuildRequires: which BuildRequires: zlib-devel 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: kernel(xen) = %version -ExclusiveArch: %{ix86} +Requires: sed +Requires: util-linux +Requires: which +Obsoletes: xen-doc +ExclusiveArch: %{ix86} %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -53,110 +87,151 @@ 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 +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ó³. +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 doc -Summary: Xen documentation -Summary(pl): Dokumentacja 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 -Requires: %{name} = %{epoch}:%{version}-%{release} -%description doc -Xen documentation. +%description hotplug +xen hotplug scripts. -%description doc -l pl -Dokumentacja xena. +%description hotplug -l pl.UTF-8 +Skrypty hotplug dla xena. -%prep -%setup -q +%package udev +Summary: xen udev scripts +Summary(pl.UTF-8): Skrypty udev dla xena +Group: Applications/System -chmod -R u+w . -#echo 'CXXFLAGS+=-I/usr/include/ncurses' >> tools/ioemu/gui/Makefile +%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 %{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 - -rm -f $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING +%py_comp $RPM_BUILD_ROOT%{py_sitedir} +%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} -%{py_comp} $RPM_BUILD_ROOT%{_libdir}/python -%{py_ocomp} $RPM_BUILD_ROOT%{_libdir}/python -find $RPM_BUILD_ROOT%{_libdir}/python -name '*.py' -exec rm "{}" ";" +%py_postclean -install -d $RPM_BUILD_ROOT%{_datadir}/xen/ -cp -f $RPM_BUILD_ROOT%{_datadir}/doc/xen/pdf/*.pdf $RPM_BUILD_ROOT%{_datadir}/xen/ - -install -d $RPM_BUILD_ROOT%{_sharedstatedir}/xen -install -d $RPM_BUILD_ROOT%{_sharedstatedir}/xen/{sv,xend-db} -install -d $RPM_BUILD_ROOT%{_sharedstatedir}/xen/xend-db/{domain,vnet,migrate} +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 %service xend stop @@ -166,15 +241,17 @@ if [ "$1" = "0" ]; then /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/* -%doc COPYING ChangeLog README docs/misc/* -/boot/%{name}-%{version}-syms -/boot/%{name}-%{version}.gz -/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/xmexample[12] @@ -183,16 +260,42 @@ fi %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?/* -%dir %{_sharedstatedir}/xen -%dir %{_sharedstatedir}/xen/sv -%dir %{_sharedstatedir}/xen/xend-db -%dir %{_sharedstatedir}/xen/xend-db/domain -%dir %{_sharedstatedir}/xen/xend-db/vnet -%dir %{_sharedstatedir}/xen/xend-db/migrate +%{_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) @@ -203,7 +306,33 @@ fi %defattr(644,root,root,755) %{_libdir}/lib*.a -%files doc +%files hypervisor %defattr(644,root,root,755) -%dir %{_datadir}/xen -%{_datadir}/xen/*.pdf +/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]