Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 904e3302a8a664fd94d75cf839637b20 > files > 7

xen-3.3.0-2mdv2009.0.src.rpm

%define name            xen
%define xen_version             3.3.0
%define rel                     2
%define xen_release             %mkrel %rel
%define kernel_version          2.6.18.8
%define kernel_tarball_version  2.6.18
%define kernel_extraversion     -xen-%{xen_version}-%{rel}mdv
%define kernel_source_dir       %{kernel_tarball_version}-xen-3.3.0
# ensures file uniqueness
%define kernel_file_string      %{kernel_version}%{kernel_extraversion}
# ensures package uniqueness
%define kernel_package_string   %{kernel_version}%{kernel_extraversion}
%define major           3.0
%define libname         %mklibname %{name} %{major}
%define develname	    %mklibname %{name} -d

Name:       %{name}
Version:    %{xen_version}
Release:    %{xen_release}
Summary:    The basic tools for managing XEN virtual machines
Group:      System/Kernel and hardware
License:    GPL
Source0:    %{name}-%{version}.tar.gz
Source1:    bash-completion
Source2:    linux-2.6.18-xen-3.3.0.tar.gz
Source3:    xend.init
Source4:    xendomains.init
Patch1:     xen-3.2.0-bnx2-1.4.51b.patch
Patch3:     xen-3.2.0-squashfs.patch
Patch4:     xen-3.2.0-use-same-arch-default-config.patch
Requires:   python
Requires:   python-twisted-core
Requires:   python-pyxml
Requires:   module-init-tools
Requires:   iptables
Requires:   bridge-utils
Requires:   glibc-xen
Requires:   grub
Requires:   kernel-xen-%{kernel_package_string}
Requires(pre):   kernel-xen-%{kernel_package_string}
BuildRequires:	SDL-devel
BuildRequires:	curl-devel
Buildrequires:	dev86-devel
BuildRequires:  libext2fs-devel
BuildRequires:	ncurses-devel
BuildRequires:	libpython-devel >= 2.4
BuildRequires:	zlib-devel
BuildRequires:  tetex-latex
BuildRequires:  tetex-texi2html
Obsoletes:      xen-uptodate
BuildRoot:      %{_tmppath}/%{name}-%{version}

%description 
The basic tools for managing XEN virtual machines.

%package doc
Summary:    XEN documentation
Group:      System/Kernel and hardware
Obsoletes:  xen-uptodate-doc

%description doc
XEN documentation.

%package -n %{libname}
Summary:    Libraries for %{name}
Group:      System/Libraries
Conflicts:  %{name} < 3.1.0-5mdv2008.1

%description -n	%{libname}
This package contains the libraries needed to run programs dynamically
linked with Xen libraries.

%package -n %{develname}
Summary:    Static libraries and header files for %{name}
Group:      Development/C
Requires:	%{libname} = %{xen_version}-%{xen_release}
Provides:	%{name}-devel = %{xen_version}-%{xen_release}
Conflicts:  %name} < 3.1.0-5mdv2008.1

%description -n	%{develname}
This package contains the static development libraries and headers needed
to compile applications linked with Xen libraries.

%package -n kernel-xen-%{kernel_package_string}
Version:    1
Release:    %mkrel 2
Summary:    XEN kernel
Group:      System/Kernel and hardware
Provides:   kernel = %{kernel_version}
Provides:   kernel-xen = %{kernel_version}
Obsoletes:  kernel-xen-uptodate

%description -n kernel-xen-%{kernel_package_string}
XEN kernel.

%package -n kernel-xen-devel-%{kernel_package_string}
Version:    1
Release:    %mkrel 2
Summary:    XEN kernel sources
Group:      System/Kernel and hardware
Requires:   kernel-xen-%{kernel_package_string}
Provides:   kernel-devel = %{kernel_version}
Provides:   kernel-xen-devel = %{kernel_version}
Obsoletes:  kernel-xen-uptodate-devel

%description -n kernel-xen-devel-%{kernel_package_string}
XEN kernel sources.

%prep
%setup -q -n %{name}-%{xen_version}
%setup -q -T -D -a 2 -n %{name}-%{xen_version}

cd linux-%{kernel_source_dir}
%patch1 -p 1
%patch3 -p 1
%patch4 -p 1

# configure kernel
%ifarch x86_64
    %define kernel_config_file linux-defconfig_xen_x86_64
%else
    %define kernel_config_file linux-defconfig_xen_x86_32
%endif
perl -pi -e 's/^CONFIG_BLK_DEV_LOOP=.*/CONFIG_BLK_DEV_LOOP=m/' \
    buildconfigs/%{kernel_config_file}

%build

# clean all stuff
export CFLAGS="$CFLAGS -fno-strict-aliasing"
export HOSTCC="$HOSTCC -fno-strict-aliasing"
export XEN_LINUX_SOURCE=tarball
export KETCHUP=/bin/true
export LINUX_VER=%{kernel_version}
export EXTRAVERSION=%{kernel_extraversion}
export LINUX_SRCDIR=linux-%{kernel_source_dir}
export pae=y 
make linux-2.6-xen-build < /dev/null
%make -C tools
%make -C xen
%make -C docs


%install
rm -rf %{buildroot}
export DONT_GPRINTIFY=1
export DESTDIR=%{buildroot}
#export XEN_LINUX_SOURCE=tarball
export KETCHUP=/bin/true
export LINUX_VER=%{kernel_version}
export EXTRAVERSION=%{kernel_extraversion}
export LINUX_SRCDIR=linux-%{kernel_source_dir}
export pae=y
make linux-2.6-xen-install
make -C tools install
make -C xen install

# remove additional kernel symlink
rm -f %{buildroot}/boot/vmlinuz-2.6-xen-%{kernel_extra_version}

# drop dangling symlinks
rm -f %{buildroot}/lib/modules/%{kernel_file_string}/{build,source}

# compress modules
find %{buildroot}/lib/modules/%{kernel_file_string} -name "*.ko" | xargs gzip -9
/sbin/depmod -u -ae -b %{buildroot} -r \
    -F %{buildroot}/boot/System.map-%{kernel_file_string} \
    %{kernel_file_string}

# create modules description
pushd %{buildroot}/lib/modules/%{kernel_file_string}
find . -name "*.ko.gz" | xargs /sbin/modinfo | \
    perl -lne 'print "$name\t$1" if $name && /^description:\s*(.*)/; $name = $1 if m!^filename:\s*(.*)\.k?o!; $name =~ s!.*/!!' \
    > modules.description
popd

# install kernel sources
install -d -m 755 %{buildroot}%{_prefix}/src
cp -r -L linux-%{kernel_source_dir} \
    %{buildroot}%{_prefix}/src/linux-%{kernel_file_string}

# clean sources from useless source files
pushd %{buildroot}%{_prefix}/src/linux-%{kernel_file_string}
for i in alpha arm arm26 avr32 blackfin cris frv h8300 ia64 mips m32r m68k m68knommu parisc powerpc ppc s390 sh sh64 v850 xtensa; do
	rm -rf arch/$i
	rm -rf include/asm-$i
done

%ifnarch %{ix86} x86_64
	rm -rf arch/i386
	rm -rf arch/x86_64
	rm -rf include/asm-i386
	rm -rf include/asm-x86_64
%endif
%ifnarch sparc sparc64
	rm -rf arch/sparc
	rm -rf arch/sparc64
	rm -rf include/asm-sparc
	rm -rf include/asm-sparc64
%endif
popd

# fix man pages
install -d -m 755 %{buildroot}%{_mandir}/man{1,5}
install -m 644 docs/man1/* %{buildroot}%{_mandir}/man1
install -m 644 docs/man5/* %{buildroot}%{_mandir}/man5

# bash completion
install -m 755 -d %{buildroot}%{_sysconfdir}/bash_completion.d
install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/bash_completion.d/xen

# install doc manually
rm -rf %{buildroot}%{_docdir}/qemu
install -d -m 755 %{buildroot}%{_docdir}/%{name}
install -m 644 README %{buildroot}%{_docdir}/%{name}
install -m 644 docs/ps/* %{buildroot}%{_docdir}/%{name}
install -m 644 docs/pdf/* %{buildroot}%{_docdir}/%{name}

# install state directory
install -d -m 755 %{buildroot}%{_localstatedir}/lib/xend/{domains,state,storage}

# install our own init scripts
install -d -m 755 %{buildroot}%{_initrddir}
install -m 755 %{SOURCE3} %{buildroot}%{_initrddir}/xend
install -m 755 %{SOURCE4} %{buildroot}%{_initrddir}/xendomains

# delete original ones
rm -rf %{buildroot}%{_sysconfdir}/init.d

%check
grep -q "^CONFIG_SQUASHFS=m" %{buildroot}/boot/config-%{kernel_file_string} \
    || exit 0

%if %mdkversion < 200900
%post -n %{libname} -p /sbin/ldconfig
%endif
%if %mdkversion < 200900
%postun -n %{libname} -p /sbin/ldconfig
%endif

%post
/sbin/installkernel %{kernel_file_string}

%preun
/sbin/installkernel -R %{kernel_file_string}

%post -n kernel-xen-devel-%{kernel_package_string}
if [ -d /lib/modules/%{kernel_file_string} ]; then
    ln -sTf /usr/src/linux-%{kernel_file_string} /lib/modules/%{kernel_file_string}/build
    ln -sTf /usr/src/linux-%{kernel_file_string} /lib/modules/%{kernel_file_string}/source
fi

%postun -n kernel-xen-devel-%{kernel_package_string}
if [ -L /lib/modules/%{kernel_file_string}/build ]; then
    rm -f /lib/modules/%{kernel_file_string}/build
fi
if [ -L /lib/modules/%{kernel_file_string}/source ]; then
    rm -f /lib/modules/%{kernel_file_string}/source
fi

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/README
%config(noreplace) %{_sysconfdir}/sysconfig/xendomains
%config(noreplace) %{_sysconfdir}/hotplug/xen-backend.agent
%dir %{_sysconfdir}/xen
%{_sysconfdir}/xen/scripts
%{_sysconfdir}/xen/auto
%{_sysconfdir}/xen/qemu-ifup
%{_sysconfdir}/xen/README
%{_sysconfdir}/xen/README.incompatibilities
%config(noreplace) %{_sysconfdir}/xen/*.sxp
%config(noreplace) %{_sysconfdir}/xen/*.xml
%config(noreplace) %{_sysconfdir}/xen/xmexample*
%{_mandir}/man*/*
%{_libdir}/xen
%if "%{_lib}" != "lib"
%{_prefix}/lib/xen
%endif
%{_libdir}/fs
%{_libdir}/python/xen
%{_libdir}/python/grub/*
%{_libdir}/python/fsimage.so
%if %{mdkversion} > 200700
%{_libdir}/python/pygrub-0.3-py2.5.egg-info
%{_libdir}/python/xen-3.0-py2.5.egg-info
%endif
%{_datadir}/xen
%{_localstatedir}/lib/xend
%{_localstatedir}/lib/xenstored
 /var/run/xenstored
/boot/xen*
%{_initrddir}/xend
%{_initrddir}/xendomains
%{_sbindir}/fs-backend
%{_sbindir}/xenstored
%{_sbindir}/netfix
%{_sbindir}/xm
%{_sbindir}/xend
%{_sbindir}/xenperf
%{_sbindir}/xenconsoled
%{_sbindir}/xentop
%{_sbindir}/xen-bugtool
%{_sbindir}/xenbaked
%{_sbindir}/xenmon.py
%{_sbindir}/blktapctrl
%{_sbindir}/img2qcow
%{_sbindir}/qcow-create
%{_sbindir}/qcow2raw
%{_sbindir}/tapdisk
%{_sbindir}/xentrace_setmask
%{_sbindir}/xen-python-path
%{_sbindir}/flask-loadpolicy
%{_sbindir}/xsview
%{_bindir}/xenperf
%{_bindir}/xencons
%{_bindir}/xentrace
%{_bindir}/xentrace_format
%{_bindir}/xentrace_setsize
%{_bindir}/xenstore-*
%{_bindir}/pygrub
%{_bindir}/xen-detect
%{_bindir}/qemu-img-xen
%{_bindir}/xenstore
%{_sysconfdir}/bash_completion.d/xen

%files -n kernel-xen-%{kernel_package_string}
%defattr(-,root,root)
/lib/modules/%{kernel_file_string}
/boot/System.map-%{kernel_file_string}
/boot/config-%{kernel_file_string}
/boot/vmlinuz-%{kernel_file_string}


%files -n kernel-xen-devel-%{kernel_package_string}
%defattr(-,root,root)
%{_prefix}/src/linux-%{kernel_file_string}

%files doc
%defattr(-,root,root)
%{_docdir}/%{name}/*
%exclude %{_docdir}/%{name}/README
%doc docs/ps/* docs/pdf/*

%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/*.so.*

%files -n %{develname}
%defattr(-,root,root)
%{_includedir}/xen
%{_includedir}/*.h
%{_libdir}/*.so
%{_libdir}/*.a


%changelog
* Tue Sep 23 2008 Guillaume Rousse <guillomovitch@mandriva.org> 3.3.0-2mdv2009.0
+ Revision: 287209
- compile loop driver as a module (bug #36838)
- drop patch 5, useless now than we have our own init scripts

* Wed Sep 03 2008 Guillaume Rousse <guillomovitch@mandriva.org> 3.3.0-1mdv2009.0
+ Revision: 279981
- new version

* Sat Aug 09 2008 Thierry Vignaud <tvignaud@mandriva.com> 3.2.1-3mdv2009.0
+ Revision: 269768
- rebuild early 2009.0 package (before pixel changes)

  + Guillaume Rousse <guillomovitch@mandriva.org>
    - add missing python-pyxml dependency (fix #41745)
    - update bash completion

  + Pixel <pixel@mandriva.com>
    - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers
    - adapt to %%_localstatedir now being /var instead of /var/lib (#22312)

* Fri May 23 2008 Guillaume Rousse <guillomovitch@mandriva.org> 3.2.1-2mdv2009.0
+ Revision: 210415
- update squashfs patch to 3.3

* Thu May 22 2008 Guillaume Rousse <guillomovitch@mandriva.org> 3.2.1-1mdv2009.0
+ Revision: 210001
- new version
  check squashfs support is built

* Wed May 21 2008 Guillaume Rousse <guillomovitch@mandriva.org> 3.2.0-4mdv2009.0
+ Revision: 209810
- patch 7: fix sumversion compilation
- really apply patch 5
- patch 6: fix compilation with gcc 4.3
- rediff squashfs patch to ensure support is built
- no more vnc-devel build dependency

* Sat May 17 2008 Guillaume Rousse <guillomovitch@mandriva.org> 3.2.0-3mdv2009.0
+ Revision: 208456
- add kernel-xen and kernel-xen-devel virtual packages

* Sat Mar 22 2008 Guillaume Rousse <guillomovitch@mandriva.org> 3.2.0-2mdv2008.1
+ Revision: 189471
- minor completion fixes
  silent initscripts errors

* Mon Mar 03 2008 Guillaume Rousse <guillomovitch@mandriva.org> 3.2.0-1mdv2008.1
+ Revision: 177959
- new version

  + Olivier Blin <oblin@mandriva.com>
    - restore BuildRoot

  + Thierry Vignaud <tvignaud@mandriva.com>
    - kill re-definition of %%buildroot on Pixel's request

* Fri Dec 07 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.2-3mdv2008.1
+ Revision: 116295
- really fix devel package dependencies

* Thu Dec 06 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.2-2mdv2008.1
+ Revision: 115963
- fix devel package dependencies

* Fri Nov 16 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.2-1mdv2008.1
+ Revision: 109146
- new version
- add kernel and xen versions in kernel package name, to ensure package uniqueness
- add xen version in kernel extra string to make the files really unique
- workaround curious ln -sf behaviour with directories in kernel-devel installation
- fix conflict

* Sun Nov 11 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.1-1mdv2008.1
+ Revision: 107975
- make kernel-xen virtual package use xen version, not kernel version
- new version

* Fri Nov 09 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.0-6mdv2008.1
+ Revision: 107033
- move the install kernel call to the hypervisor post-installation, so as to break circular dependencies between kernel and hypervisor (kernel alone is not bootable anyway), and make dependencies between hypervisor and kernel stricter
- fix ldconfig call to belong to lib package
- add a call to installkernel -R when uninstalling kernel
- add a conflict from lib packages to previous releases of the main one to help upgrade
- make the kernel package provides kernel-xen

* Thu Nov 08 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.0-5mdv2008.1
+ Revision: 106856
- build missing vnc binaries
- let installkernel manage unversioned symlink
- compress modules, and create modules.description file, as in other mdv kernels
- remove additional vmlinuz symlinks, as per other mdv kernels
- fix using extraversion on x86_64
- versioned kernel package and files
- split libs and devel files in their own package
- standard virtual packages for kernel and kernel-devel packages
- no need for the serial support patch, actually, xencons is OK
- better squashfs patch

  + Vincent Danen <vdanen@mandriva.com>
    -P403: security patch for CVE-2007-3919

* Fri Oct 12 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.0-4mdv2008.1
+ Revision: 97223
- build requires tetex-texi2html instead of texi2html
- fix serial support on x86_64
- patch3: squashfs support (fix bug#34275)

* Fri Oct 05 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.0-3mdv2008.1
+ Revision: 95545
- security patches for CVE-2007-1321 and CVE-2007-4993

* Mon Sep 17 2007 Olivier Blin <oblin@mandriva.com> 3.1.0-2mdv2008.0
+ Revision: 89095
- make kernel-xen require xen in post script (bootloader-config only configures xen kernels if xen is installed)

* Sun Sep 02 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.1.0-1mdv2008.0
+ Revision: 78111
- obsoletes xen-uptodate
- merge from xen-uptodate package
- make xen-uptodate the new xen package
- really fix PAE mismatch on i586 (#32027)
- install missing %%{_localstatedir}/xend directory
- build PAE hypervisor (fix #32027)
- fix memcmp build issue
- add missing patch
- update bnx2 driver to 1.4.51b, to fix IPMI issues (see http://lists.us.dell.com/pipermail/linux-poweredge/2007-January/029054.html)
- don't mark scripts as configuration
- handle doc manually
- patch0: fix default interface guess
- installing kernel is part of kernel package post-installation, not of kernel-devel one
- updated completion
- fix file list for mdk version <= 2007
- add a bootloader entry (support is just one patch away)
- requires grub
- fix kernel source tree
- call installkernel in %%post to create initrd
- don't prepare kernel tree twice, and use sparse kernel tree as devel package content
- fix symlink handling in kernel %%post
- fix file list in kernel package
- drop init patch, merged upstream
- change dependencies: make it provide xen, so as to be usable for building other package requiring a recent xen version, hence dropping explicit conflict on regular xen package
- new version
- can't provide and conflict at once with xen
- build only one kernel
- split documentation into a subpackage
- build host and guest kernels too
- change group (fix #29868)
- LSB compliant init script

  + Thierry Vignaud <tvignaud@mandriva.com>
    - replace %%{_datadir}/man by %%{_mandir}!


* Mon Mar 19 2007 Gwenole Beauchesne <gbeauchesne@mandriva.com> 3.0.3-0.20060703.5mdv2007.1
- forward port lib64 fix from 2006-branch

* Mon Dec 11 2006 Arnaud Patard <apatard@mandriva.com> 3.0.3-0.20060703.4mdv2007.1
- Rebuilt for python 2.5 
- Fix python version check and include egg-info files (G. Rousse)
- Add bash-completion support (G. Rousse)

* Wed Sep 20 2006 Arnaud Patard <apatard@mandriva.com> 3.0.3-0.20060703.3mdv2007.0
- Rebuild with ncurses 5.5-1.20051029.3mdv2007.0

* Wed Sep 13 2006 Arnaud Patard <apatard@mandriva.com> 3.0.3-0.20060703.2mdv2007.0
- Fix patch0

* Tue Jul 11 2006 Arnaud Patard <apatard@mandriva.com> 3.0.3-0.20060703.1mdv2007.0
- New snapshot

* Fri May 19 2006 Arnaud Patard <apatard@mandriva.com> 3.0-0.20060510.1mdk
- New snapshot
- Disable gprintify
- Allow to set bridge mac adress

* Tue Jan 17 2006 Arnaud Patard <apatard@mandriva.com> 3.0-0.20051213.1mdk
- New snapshot

* Mon Jan 16 2006 Stefan van der Eijk <stefan@eijk.nu> 3.0-0.20050823.7mdk
- BuildRequires

* Fri Sep 09 2005 Gwenole Beauchesne <gbeauchesne@mandriva.com> 3.0-0.20050823.6mdk
- x86_64 fixes for binutils 2.16.9x
- requires glibc-xen for */nosegneg/ libs

* Fri Aug 12 2005 Flávio Bruno Leitner <fbl@mandriva.com> 3.0-0.20050823.5mdk
- updated to snapshot of 2005-08-23 (last know working)

* Fri Aug 12 2005 Flávio Bruno Leitner <fbl@mandriva.com> 3.0-0.20050829.4mdk
- updated to snapshot of 2005-08-29

* Fri Aug 12 2005 Flávio Bruno Leitner <fbl@mandriva.com> 3.0-0.20050811.3mdk
- updated to snapshot of 2005-08-19

* Fri Aug 12 2005 Flávio Bruno Leitner <fbl@mandriva.com> 3.0-0.20050811.2mdk
- updated to snapshot of 2005-08-11

* Sat Aug 06 2005 Flávio Bruno Leitner <fbl@mandriva.com> 3.0-0.20050801.1mdk
- created package.