[packages/hpvsa] attempt to build headers and module-build packages

glen glen at pld-linux.org
Mon Oct 26 06:56:22 CET 2015


commit c73b47bd0c526527a72454b6aab36f09e0e633e6
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Fri Oct 24 14:51:39 2014 +0300

    attempt to build headers and module-build packages

 hpvsa.spec | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 108 insertions(+), 4 deletions(-)
---
diff --git a/hpvsa.spec b/hpvsa.spec
index c0ead17..7859be6 100644
--- a/hpvsa.spec
+++ b/hpvsa.spec
@@ -14,7 +14,8 @@
 %define	alt_kernel	ubuntu
 %define	kernel_name kernel%{_alt_kernel}
 %define	kernel_version	%{basever}-%{localver_str}
-%define	kernel_release	%{_kernel_ver}
+%define	_kernel_ver	%{_kernel_ver}
+%define	_kernel_basever %{basever}-%{basedebrel}
 %define	_kernel_ver %{basever}-%{localversion}
 %define	_kernel_ver_str %(echo %{_kernel_ver} | tr - _)
 
@@ -35,12 +36,25 @@ NoSource:	1
 Source2:	http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-image-extra-%{_kernel_ver}_%{basever}-%{debrel}_amd64.deb
 # NoSource2-md5:	fe9dd9951ad3b1b8de3d650bb33d4e8f
 NoSource:	2
+Source3:	http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-%{_kernel_ver}_%{basever}-%{debrel}_amd64.deb
+# NoSource3-md5:	b83bd34df0107b8b208904be64ad3def
+NoSource:	3
+Source4:	http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-%{_kernel_basever}_%{basever}-%{debrel}_all.deb
+# NoSource4-md5:	18fa458ad9dc6d2414f8f373f91ed45c
+NoSource:	4
 URL:		https://launchpad.net/~hp-iss-team/+archive/hpvsa-update
 BuildRequires:	rpmbuild(macros) >= 1.379
+BuildRequires:	tar >= 1:1.22
+BuildRequires:	xz
 ExclusiveArch:	%{x8664}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define		initrd_dir	/boot
+# define this to '-%{basever}' for longterm branch
+%define		versuffix	%{nil}
+
+%define		_kernelbasesrcdir	/usr/src/linux-headers%{versuffix}-%{basever}-%{basedebrel}
+%define		_kernelsrcdir	/usr/src/linux-headers%{versuffix}-%{basever}-%{localversion}
 
 # nothing to be placed to debuginfo package
 %define		_enable_debug_packages	0
@@ -72,6 +86,50 @@ This package contains the Linux kernel that is used to boot and run
 your system. It contains few device drivers for specific hardware.
 Most hardware is instead supported by modules loaded after booting.
 
+%package -n kernel%{_alt_kernel}-headers
+Summary:	Header files for the Linux kernel
+Summary(de.UTF-8):	Header Dateien für den Linux-Kernel
+Summary(pl.UTF-8):	Pliki nagłówkowe jądra Linuksa
+Group:		Development/Building
+Provides:	%{name}-headers(netfilter) = 20070806
+AutoReqProv:	no
+
+%description -n kernel%{_alt_kernel}-headers
+These are the C header files for the Linux kernel, which define
+structures and constants that are needed when rebuilding the kernel or
+building kernel modules.
+
+%description -n kernel%{_alt_kernel}-headers -l de.UTF-8
+Dies sind die C Header Dateien für den Linux-Kernel, die definierte
+Strukturen und Konstante beinhalten, die beim rekompilieren des
+Kernels oder bei Kernel Modul kompilationen gebraucht werden.
+
+%description -n kernel%{_alt_kernel}-headers -l pl.UTF-8
+Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
+oraz budowania modułów jądra.
+
+%package -n kernel%{_alt_kernel}-module-build
+Summary:	Development files for building kernel modules
+Summary(de.UTF-8):	Development Dateien die beim Kernel Modul kompilationen gebraucht werden
+Summary(pl.UTF-8):	Pliki służące do budowania modułów jądra
+Group:		Development/Building
+Requires:	kernel%{_alt_kernel}-headers = %{version}-%{release}
+Requires:	make
+Conflicts:	rpmbuild(macros) < 1.652
+AutoReqProv:	no
+
+%description -n kernel%{_alt_kernel}-module-build
+Development files from kernel source tree needed to build Linux kernel
+modules from external packages.
+
+%description -n kernel%{_alt_kernel}-module-build -l de.UTF-8
+Development Dateien des Linux-Kernels die beim kompilieren externer
+Kernel Module gebraucht werden.
+
+%description -n kernel%{_alt_kernel}-module-build -l pl.UTF-8
+Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
+Linuksa z zewnętrznych pakietów.
+
 %package -n kernel%{_alt_kernel}-scsi-hpvsa
 Summary:	Linux driver for hpvsa
 Summary(pl.UTF-8):	Sterownik dla Linuksa do hpvsa
@@ -100,10 +158,16 @@ mv hp-iss/* .
 %if %{with kernel}
 # kernel itself
 ar xf %{SOURCE1}
-tar xf data.tar.bz2
+tar xf data.tar.bz2 && rm data.tar.bz2
 
 ar xf %{SOURCE2}
-tar xf data.tar.bz2
+tar xf data.tar.bz2 && rm data.tar.bz2
+
+ar xf %{SOURCE3}
+tar xf data.tar.xz && rm data.tar.xz
+
+ar xf %{SOURCE4}
+tar xf data.tar.xz && rm data.tar.xz
 
 # hardlink, and pld doesn't use that dir
 rm -rv lib/modules/%{_kernel_ver}/initrd
@@ -134,8 +198,15 @@ for a in \
 ; do
 	> $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/modules.$a
 done
-%endif
 
+# rpm obeys filelinkto checks for ghosted symlinks, convert to files
+rm -f $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/{build,source}
+touch $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/{build,source}
+
+# install headers
+install -d $RPM_BUILD_ROOT%{_usrsrc}
+cp -a usr/src/* $RPM_BUILD_ROOT%{_usrsrc}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -209,6 +280,27 @@ if [ -x /sbin/efi-boot-update ]; then
 	/sbin/efi-boot-update --auto || :
 fi
 
+%post -n kernel%{_alt_kernel}-headers
+ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
+
+%postun -n kernel%{_alt_kernel}-headers
+if [ "$1" = "0" ]; then
+	if [ -L %{_prefix}/src/linux%{versuffix}%{_alt_kernel} ]; then
+		if [ "$(readlink %{_prefix}/src/linux%{versuffix}%{_alt_kernel})" = "linux%{versuffix}%{_alt_kernel}-%{version}" ]; then
+			rm -f %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
+		fi
+	fi
+fi
+
+%triggerin -n kernel%{_alt_kernel}-module-build -- kernel%{_alt_kernel} = %{version}-%{release}
+ln -sfn %{_kernelsrcdir} /lib/modules/%{_kernel_ver}/build
+ln -sfn %{_kernelsrcdir} /lib/modules/%{_kernel_ver}/source
+
+%triggerun -n kernel%{_alt_kernel}-module-build -- kernel%{_alt_kernel} = %{version}-%{release}
+if [ "$1" = 0 ]; then
+	rm -f /lib/modules/%{_kernel_ver}/{build,source}
+fi
+
 %post	-n kernel%{_alt_kernel}-scsi-hpvsa
 %depmod %{_kernel_ver}
 
@@ -244,6 +336,18 @@ fi
 %ghost /lib/modules/%{_kernel_ver}/modules.softdep
 %ghost /lib/modules/%{_kernel_ver}/modules.symbols
 %ghost /lib/modules/%{_kernel_ver}/modules.symbols.bin
+
+# symlinks pointing to kernelsrcdir
+%ghost /lib/modules/%{_kernel_ver}/build
+%ghost /lib/modules/%{_kernel_ver}/source
+
+%files -n kernel%{_alt_kernel}-headers
+%defattr(644,root,root,755)
+%{_kernelsrcdir}
+
+%files -n kernel%{_alt_kernel}-module-build
+%defattr(644,root,root,755)
+%{_kernelbasesrcdir}
 %endif
 
 %files -n kernel%{_alt_kernel}-scsi-hpvsa
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/hpvsa.git/commitdiff/c73b47bd0c526527a72454b6aab36f09e0e633e6



More information about the pld-cvs-commit mailing list