]> git.pld-linux.org Git - packages/xen.git/blobdiff - xen.spec
- download stubdown sources to distfiles
[packages/xen.git] / xen.spec
index 5f5f9e17e58f81845e9ac1f2bdc1598f9e670664..302504b146a981253e7960a54e7d2197fcc389c2 100644 (file)
--- a/xen.spec
+++ b/xen.spec
@@ -1,42 +1,84 @@
+#
 # TODO:
-# - pldized init scripts
-# - script for rc-boot
+#  - most of the qemu config options aren't detected (curses, NPTL, vde, fdt)
+#  - package the ocaml stuff
+#
+# Conditional build:
+%bcond_without hvm             # build with hvm (full virtualization) support
+
+%define        xen_extfiles_url        http://xenbits.xensource.com/xen-extfiles
 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
-Release:       0.1
-Epoch:         0
-Group:         Applications/System
+Version:       4.1.2
+Release:       0.2
 License:       GPL
-Source0:       http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/%{name}-%{version}-src.tgz
-# Source0-md5: 544eab940a0734a55459d648e5c3b224
+Group:         Applications/System
+Source0:       http://bits.xensource.com/oss-xen/release/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 73561faf3c1b5e36ec5c089b5db848ad
 Source1:       %{name}-xend.init
 Source2:       %{name}-xendomains.init
+# used by stubdoms
+Source10: %{xen_extfiles_url}/lwip-1.3.0.tar.gz
+# Source10-md5:        36cc57650cffda9a0269493be2a169bb
+Source11: %{xen_extfiles_url}/newlib-1.16.0.tar.gz
+# Source11-md5:        bf8f1f9e3ca83d732c00a79a6ef29bc4
+Source12: %{xen_extfiles_url}/zlib-1.2.3.tar.gz
+# Source12-md5:        debc62758716a169df9f62e6ab2bc634
+Source13: %{xen_extfiles_url}/pciutils-2.2.9.tar.bz2
+# Source13-md5:        cec05e7785497c5e19da2f114b934ffd
+Source14: %{xen_extfiles_url}/grub-0.97.tar.gz
+# Source14-md5:        cd3f3eb54446be6003156158d51f4884
+Source15: %{xen_extfiles_url}/ipxe-git-v1.0.0.tar.gz
+# Source15-md5:        fb7df96781d337899066d82059346885
+Patch0:                %{name}-python_scripts.patch
+Patch1:                %{name}-symbols.patch
+Patch2:                %{name}-curses.patch
+Patch3:                %{name}-gcc.patch
 URL:           http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html
-##BuildRequires:       kernel(xen) = %version
-BuildRequires: XFree86-devel
+BuildRequires: SDL-devel
+%{?with_hvm:BuildRequires:     bcc}
 BuildRequires: curl-devel
+BuildRequires: e2fsprogs-devel
+BuildRequires: gcc >= 5:3.4
+BuildRequires: gettext-devel
+BuildRequires: latex2html
 BuildRequires: libidn-devel
 BuildRequires: ncurses-devel
-BuildRequires: python-Twisted
+BuildRequires: pciutils-devel
+BuildRequires: pkgconfig
 BuildRequires: python-devel
 BuildRequires: rpm-pythonprov
-BuildRequires: tetex-dvips
-BuildRequires: tetex-format-latex
-BuildRequires: tetex-latex-psnfss
+BuildRequires: rpmbuild(macros) >= 1.268
+#BuildRequires:        texlive-dvips
+#BuildRequires:        texlive-latex-data
+BuildRequires: texlive-latex-psnfss
 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:      gawk
+Requires:      iptables
+Requires:      kernel(xen0)
 Requires:      losetup
-Requires:      python-TwistedWeb
-
-Requires:      kernel(xen) = %version
-ExclusiveArch: %{ix86}
+Requires:      net-tools
+Requires:      python-%{name} = %{version}-%{release}
+Requires:      rc-scripts
+Requires:      sed
+Requires:      util-linux
+Requires:      which
+Obsoletes:     xen-doc
+ExclusiveArch: %{ix86} %{x8664}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+# some PPC/SPARC boot image in ELF format
+%define         _noautostrip    .*%{_datadir}/xen/qemu/openbios-.*
+
 %description
 This package contains the Xen hypervisor and Xen tools, needed to run
 virtual machines on x86 systems, together with the kernel-xen*
@@ -50,149 +92,227 @@ 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 udev
+Summary:       xen udev scripts
+Summary(pl.UTF-8):     Skrypty udev dla xena
 Group:         Applications/System
-Requires:      %{name} = %{epoch}:%{version}-%{release}
 
-%description doc
-Xen documentation.
+%description udev
+xen udev scripts.
+
+%description udev -l pl.UTF-8
+Skrypty udev dla xena.
+
+%package xend
+Summary:       xend daemon
+Summary(pl.UTF-8):     Demon xend
+Group:         Daemons
+
+%description xend
+xend daemon.
 
-%description doc -l pl
-Dokumentacja xena.
+%description xend -l pl.UTF-8
+Demon xend.
+
+%package -n python-xen
+Summary:       xen Python modules
+Summary(pl.UTF-8):     Moduły Pythona dla xena
+Group:         Libraries
+Conflicts:     xen < 3.2.1-0.3
+
+%description -n python-xen
+xen Python modules.
+
+%description -n python-xen -l pl.UTF-8
+Moduły Pythona dla xena.
+
+%package -n bash-completion-%{name}
+Summary:    bash-completion for xen
+Group:      Applications/Shells
+Requires:   %{name} = %{version}-%{release}
+Requires:   bash-completion
+
+%description -n bash-completion-%{name}
+This package provides bash-completion for xen.
 
 %prep
-%setup -q 
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+#%%patch3 -p1
 
-chmod -R u+w .
-#echo 'CXXFLAGS+=-I/usr/include/ncurses' >> tools/ioemu/gui/Makefile
+%{__rm} -v tools/check/*.orig
+
+# stubdom sources
+ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
+ln -s %{PATCH23} stubdom/grub.patches/99grub-ext4-support.patch
+ln -s %{SOURCE15} tools/firmware/etherboot/ipxe.tar.gz
 
 %build
-CFLAGS="%{rpmcflags}" \
-CXXFLAGS="%{rpmcflags}" \
-%{__make} xen tools docs \
+CFLAGS="%{rpmcflags} -I/usr/include/ncurses" \
+CXXFLAGS="%{rpmcflags} -I/usr/include/ncurses" \
+%{__make} -j1 xen tools \
        CC="%{__cc}" \
        CXX="%{__cxx}"
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/etc/xen/examples
 
-%{__make} install-xen install-tools install-docs \
+%{__make} install-xen install-tools install-stubdom install-docs \
+       CC="%{__cc}" \
+       CXX="%{__cxx}" \
        DESTDIR=$RPM_BUILD_ROOT
 
-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%{_mandir}
-#cp -a $RPM_BUILD_ROOT%{_prefix}/man/* $RPM_BUILD_ROOT%{_mandir}
-
-#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
+mv $RPM_BUILD_ROOT/etc/xen/{xmexample*,examples}
 
-rm -f $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING
+cp -p tools/blktap/README{,.blktap}
+cp -p tools/xenmon/README{,.xenmon}
 
-%{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_comp $RPM_BUILD_ROOT%{py_sitedir}
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 
-install -d $RPM_BUILD_ROOT%{_datadir}/xen/
-cp -f $RPM_BUILD_ROOT%{_datadir}/doc/xen/pdf/*.pdf $RPM_BUILD_ROOT%{_datadir}/xen/
+%py_postclean
 
-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}
+# remove unneeded files
+%{__rm} $RPM_BUILD_ROOT/boot/xen-4.1.gz
+%{__rm} $RPM_BUILD_ROOT/boot/xen-4.gz
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/xen
+%{__rm} $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-/sbin/ldconfig
-/sbin/chkconfig --add xend
+/sbin/chkconfig --add xen-watchdog
+/sbin/chkconfig --add xencommons
 /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
-       /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
+
+       %service xencommons stop
+       /sbin/chkconfig --del xencommons
+
+       %service xen-watchdog stop
+       /sbin/chkconfig --del xen-watchdog
+fi
+
+%post  xend
+/sbin/chkconfig --add xend
+
+%preun xend
+if [ "$1" = "0" ]; then
+       %service xend stop
+       /sbin/chkconfig --del xend
 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
+%doc COPYING README* docs/misc/* 
+%doc docs/html/*
+%doc tools/blktap/README.blktap tools/xenmon/README.xenmon
+%doc tools/ioemu-dir/*.html
+/boot/%{name}-syms-%{version}
 /boot/%{name}-%{version}.gz
 /boot/%{name}.gz
-%attr(754,root,root) /etc/rc.d/init.d/*
+%attr(754,root,root) /etc/rc.d/init.d/xen-watchdog
+%attr(754,root,root) /etc/rc.d/init.d/xencommons
+%attr(754,root,root) /etc/rc.d/init.d/xendomains
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/*
 %dir %{_sysconfdir}/xen
-%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]
 %dir %{_sysconfdir}/xen/auto
+%dir %{_sysconfdir}/xen/examples
 %dir %{_sysconfdir}/xen/scripts
 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/scripts/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/examples/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/README*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/cpupool
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xl.conf
 %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
+%attr(755,root,root) %{_sbindir}/[bfgikloqtv]*
+%attr(755,root,root) %{_sbindir}/xen??*
+%attr(755,root,root) %{_sbindir}/xl
+%attr(755,root,root) %{_sbindir}/xsview
+%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/xenstored
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so.*
+%dir %{_libdir}/fs
+%dir %{_libdir}/fs/ext2fs-lib
+%dir %{_libdir}/fs/fat
+%dir %{_libdir}/fs/iso9660
+%dir %{_libdir}/fs/reiserfs
+%dir %{_libdir}/fs/ufs
+%dir %{_libdir}/fs/zfs
+%attr(755,root,root) %{_libdir}/fs/*/*.so
 
 %files devel
 %defattr(644,root,root,755)
@@ -203,7 +323,39 @@ fi
 %defattr(644,root,root,755)
 %{_libdir}/lib*.a
 
-%files doc
+%files udev
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/udev/*
+
+%files xend
+%defattr(644,root,root,755)
+%attr(754,root,root) %{_sysconfdir}/rc.d/init.d/xend
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xm*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xend*
+%attr(755,root,root) %{_sbindir}/xend
+%attr(755,root,root) %{_sbindir}/xm
+%dir %attr(700,root,root) /var/run/xend
+
+%files -n python-xen
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/fsimage.so
+%{py_sitedir}/grub
+%dir %{py_sitedir}/xen
+%dir %{py_sitedir}/xen/lowlevel
+%{py_sitedir}/xen/lowlevel/*.py*
+%attr(755,root,root) %{py_sitedir}/xen/lowlevel/*.so
+%{py_sitedir}/xen/remus
+%{py_sitedir}/xen/sv
+%{py_sitedir}/xen/util
+%{py_sitedir}/xen/web
+%{py_sitedir}/xen/xend
+%{py_sitedir}/xen/xm
+%{py_sitedir}/xen/xsview
+%{py_sitedir}/xen/*.py*
+%if "%{py_ver}" > "2.4"
+%{py_sitedir}/*.egg-info
+%endif
+
+%files -n bash-completion-%{name}
 %defattr(644,root,root,755)
-%dir %{_datadir}/xen
-%{_datadir}/xen/*.pdf
+/etc/bash_completion.d/*
This page took 0.103357 seconds and 4 git commands to generate.