Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:estellnb:kernel-rt-jeng
kernel-source
kernel-source.spec.in
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kernel-source.spec.in of Package kernel-source
# # spec file for package kernel-source@VARIANT@ (Version @RPMVERSION@) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild # icecream 0 # There are a few packages that do BuildRequire the fullsrc: perf, kernel-doc %define build_fullsrc 1 %define srcversion @SRCVERSION@ %define patchversion @PATCHVERSION@ %define variant @VARIANT@%{nil} %include %_sourcedir/kernel-spec-macros %define src_install_dir usr/src/linux-%kernelrelease%variant %define obj_install_dir /%src_install_dir-obj %define rpm_install_dir %buildroot%real_install_dir %define fullsrc_install_dir usr/src/linux-src-%kernelrelease%variant Name: kernel-source@VARIANT@ Summary: The Linux Kernel Sources Version: @RPMVERSION@ %if %using_buildservice Release: @RELEASE_PREFIX@<RELEASE> %else Release: @RELEASE_PREFIX@ %endif License: GPL v2 only Group: Development/Sources Url: http://www.kernel.org/ AutoReqProv: off BuildRequires: coreutils sed BuildRequires: fdupes pcre-tools Requires(post): coreutils sed Provides: multiversion(kernel) Provides: linux Provides: %name = %version-%source_rel Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source2: source-post.sh Source3: kernel-source.rpmlintrc Source7: source-postdevel.sh Source8: devel-pre.sh Source9: devel-post.sh Source10: preun.sh Source11: postun.sh Source12: pre.sh Source13: post.sh Source14: series.conf Source16: guards Source17: apply-patches Source21: config.conf Source23: supported.conf Source33: check-for-config-changes Source34: check-supported-list Source35: group-source-files.pl Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp Source44: find-provides Source45: split-modules Source46: modversions Source47: extract-modaliases Source48: macros.kernel-source Source49: kernel-module-subpackage Source50: kabi.pl Source51: mkspec Source52: kernel-source%variant.changes Source53: kernel-source.spec.in Source54: kernel-binary.spec.in Source55: kernel-syms.spec.in Source56: kernel-docs.spec.in Source60: config.sh Source61: compute-PATCHVERSION.sh Source62: old-packages.conf Source63: arch-symbols Source64: package-descriptions Source65: kernel-spec-macros Source100: config.tar.bz2 Source101: patches.arch.tar.bz2 Source102: patches.drivers.tar.bz2 Source103: patches.fixes.tar.bz2 Source104: patches.rpmify.tar.bz2 Source105: patches.suse.tar.bz2 Source107: patches.xen.tar.bz2 Source108: patches.addon.tar.bz2 Source109: patches.kernel.org.tar.bz2 Source110: patches.apparmor.tar.bz2 Source111: patches.rt.tar.bz2 Source112: patches.trace.tar.bz2 Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch Prefix: /usr/src %if "%{?vendor_uuid}" != "" Provides: %name(vendor:%vendor_uuid) = %version-%release %endif %(chmod +x %_sourcedir/{apply-patches,guards,check-for-config-changes,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols}) %define symbols %(set -- $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*) %define variant_symbols %(case %name in (*-rt) echo "kernel-rt" ;; esac) %define do_vanilla "%variant" == "" %description Linux kernel sources with many fixes and improvements. %source_timestamp %package -n kernel-devel%variant Summary: Development files needed for building kernel modules License: GPL v2 only Group: Development/Sources AutoReqProv: off Provides: multiversion(kernel) %if "%{?vendor_uuid}" != "" Provides: kernel-devel%variant(vendor:%vendor_uuid) = %version-%release %endif %description -n kernel-devel%variant Kernel-level headers and Makefiles required for development of external kernel modules. %source_timestamp %package vanilla Summary: Vanilla Linux kernel sources with minor build fixes. License: GPL v2 only Group: Development/Sources AutoReqProv: off Provides: multiversion(kernel) %if "%{?vendor_uuid}" != "" Provides: %name-vanilla(vendor:%vendor_uuid) = %version-%release %endif %description vanilla Vanilla Linux kernel sources with minor build fixes. %source_timestamp %prep if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then echo "Please get a copy of linux-%srcversion.tar.bz2 from" \ "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/." fi echo "Symbol(s): %symbols" # Unpack all sources and patches %setup -q -c -T -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 %build # Release number without the EXTRAVERSION RELEASE=%source_rel while [ "$RELEASE" != "${RELEASE#[^0-9]*.}" ]; do RELEASE=${RELEASE#[^0-9]*.} done mkdir -p $RPM_BUILD_ROOT/usr/src cd $RPM_BUILD_ROOT/usr/src ln -sf linux%variant linux%variant # dummy symlink %if %build_fullsrc ln -sf linux-src%variant linux-src%variant # dummy symlink %endif # Unpack the vanilla kernel sources tar -xjf %_sourcedir/linux-%srcversion.tar.bz2 mv linux-%srcversion "%buildroot/%src_install_dir" %if %do_vanilla cp -al "%buildroot/%src_install_dir" linux-%kernelrelease-vanilla cd linux-%kernelrelease-vanilla %_sourcedir/apply-patches --vanilla %_sourcedir/series.conf %my_builddir %symbols cd .. %endif cd "%buildroot/%src_install_dir" %_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols %variant_symbols chmod a+x scripts/xz_wrap.sh if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi # Hardlink duplicate files automatically (from package fdupes). %fdupes $RPM_BUILD_ROOT %install # Install the documentation and example Kernel Module Package. DOC=$RPM_BUILD_ROOT/usr/share/doc/packages/%name mkdir -p $DOC cp %_sourcedir/README.SUSE $DOC install -m 755 -d $RPM_BUILD_ROOT/etc/rpm install -m 644 %_sourcedir/macros.kernel-source $RPM_BUILD_ROOT/etc/rpm/ install -m 755 -d $RPM_BUILD_ROOT/usr/lib/rpm install -m 644 %_sourcedir/kernel-module-subpackage \ $RPM_BUILD_ROOT/usr/lib/rpm/ for script in post postdevel; do sed -e "s:@KERNELRELEASE@:%kernelrelease:g" \ -e "s:@SRCVARIANT@:%variant:g" \ %_sourcedir/source-$script.sh > %name-$script.sh done pushd "%buildroot" %if %build_fullsrc # Explicitly tag source so that user-recompiled kernels # are visible in bugreports cp -a "%src_install_dir" "%fullsrc_install_dir" echo "-%release-LOCAL" >"%fullsrc_install_dir/localversion" ln -s "/usr/share/doc/packages/%name/README.SUSE" "%buildroot/%fullsrc_install_dir/" %endif perl "%_sourcedir/group-source-files.pl" \ -D "$OLDPWD/devel.files" -N "$OLDPWD/nondevel.files" \ -L "%src_install_dir" # Remove files that are not needed for KMP building xargs -ra "$OLDPWD/nondevel.files" rm -f find "%src_install_dir" -type d -print0 | sort -rz | \ xargs -0 rmdir 2>/dev/null || : popd %post -f %name-post.sh %post -n kernel-devel%variant -f %name-postdevel.sh %files %defattr(-, root, root) %if %build_fullsrc /%fullsrc_install_dir %endif %ghost /usr/src/linux-src%variant # The ghost link is always packaged. We need something, or rpmlint will delete # the package - which leads to build choosing a previous, mismatching # kernel-source when requested as BuildRequires. %files -n kernel-devel%variant -f devel.files %defattr(-,root,root) %ghost /usr/src/linux%variant /usr/share/doc/packages/%name /etc/rpm/macros.kernel-source /usr/lib/rpm/kernel-module-subpackage %if %do_vanilla %files vanilla %defattr(-, root, root) /usr/src/linux-%kernelrelease-vanilla %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor