Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:rkwasny
kernel-source-ck
kernel-source.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kernel-source.spec of Package kernel-source-ck
# # spec file for package kernel-source (Version v2.6.22_rc3) # # Copyright (c) 2003, 2006 SUSE Linux Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://www.suse.de/feedback/ # # norootforbuild # icecream 0 %if 0%{?opensuse_bs} # Strip off the build number ("y") from the "x.y" release number %define source_rel %(release=%release; echo ${release%.*}) %else # We don't have build numbers internally %define source_rel %release %endif Name: kernel-source Summary: Dummy summary Version: v2.6.22_rc3 Release: 0 License: GPL Group: Development/Sources Autoreqprov: off BuildRequires: coreutils Requires(post): insserv Requires(post): /etc/rc.status %if ! 0%{?opensuse_bs} BuildRequires: kernel-dummy %endif Provides: linux %if "kernel-source" == "kernel-source" Provides: linux lx_suse lx_sus22 lx_sus24 Obsoletes: linux lx-gdt lx-hack lx-suse lx1162_1 lx1162_2 lx1212_1 lx1212_2 lx1213_1 lx1213_2 lx121_1 lx121_2 lx126_1 lx126_2 lx129_1 lx129_2 lx_large kernel_headers lx_suse lx_sus22 lx_sus24 %endif Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-v2.6.22-rc3.tar.bz2 Source1: functions.sh Source2: source-post.sh Source11: post.sh Source12: postun.sh Source13: series.conf Source14: arch-symbols Source15: guards Source21: config.conf Source23: supported.conf Source30: config-subst Source33: check-for-config-changes Source34: check-supported-list Source35: install-configs Source37: README.SUSE Source38: kabi-checks Source40: build-source-timestamp Source41: built-in-where Source42: make-symsets Source43: find-provides Source45: module-renames Source46: find-types Source47: extract-modaliases Source48: macros.kernel-source Source49: kernel-module-subpackage Source50: kernel-syms.spec Source51: kernel-bigsmp.spec Source52: kernel-debug.spec Source53: kernel-default.spec Source54: kernel-kdump.spec Source55: kernel-ppc64.spec Source56: kernel-s390.spec Source57: kernel-um.spec Source58: kernel-vanilla.spec Source59: kernel-xen.spec Source60: kernel-xenpae.spec 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 Source106: patches.uml.tar.bz2 Source107: patches.xen.tar.bz2 Source108: patches.addon.tar.bz2 Source109: patches.kernel.org.tar.bz2 Source110: patches.apparmor.tar.bz2 Source120: kabi.tar.bz2 Source121: novell-kmp.tar.bz2 BuildRoot: %_tmppath/%name-%version-build Prefix: /usr/src %(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,kabi-checks,install-configs}) %define symbols %(set -- $(%_sourcedir/arch-symbols %_target_cpu) $([ -e extra-symbols ] && cat extra-symbols) ; echo $*) %define preconf 1 %define tolerate_unknown_new_config_options 1 %description Dummy description. %prep if ! [ -e %_sourcedir/linux-v2.6.22-rc3.tar.bz2 ]; then echo "Please get a copy of linux-v2.6.22-rc3.tar.bz2 from" \ "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/." fi echo "Architecture 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 106 -a 107 -a 108 -a 109 -a 110 %build mkdir -p $RPM_BUILD_ROOT/usr/src cd $RPM_BUILD_ROOT/usr/src # Unpack the vanilla kernel sources bzip2 -cd %_sourcedir/linux-v2.6.22-rc3.tar.bz2 \ | tar xf - cd linux-v2.6.22-rc3 # Hello Linus: hint, hint ... chmod -Rf a+rX,g-w,o-w . # Apply the patches needed for this architecture. %_sourcedir/guards %symbols < %_sourcedir/series.conf \ > %_builddir/kernel-source-v2.6.22_rc3/kernel-source.patches for patch in $(< %_builddir/kernel-source-v2.6.22_rc3/kernel-source.patches); do if ! patch -s -E -p1 --no-backup-if-mismatch -i %_builddir/kernel-source-v2.6.22_rc3/$patch; then echo "*** Patch $patch failed ***" exit 1 fi done %_sourcedir/install-configs %_sourcedir %_builddir/kernel-source-v2.6.22_rc3 %source_rel KERNELRELEASE=v2.6.22-rc3-%source_rel cat > %_builddir/%{name}-%{version}/.rpm-defs <<EOF KERNELRELEASE=$KERNELRELEASE SYMBOLS="%symbols" EOF cd .. mv linux-v2.6.22-rc3 linux-$KERNELRELEASE cd linux-$KERNELRELEASE chmod +x arch/ia64/scripts/toolchain-flags # agruen: necessary? cd $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep -v vanilla); do arch=${config%/*} flavor=${config#*/} config=arch/$arch/defconfig.$flavor case "$flavor" in *-*) echo "Flavor '$flavor' must not contain dashes." >&2 exit 1 ;; esac %_sourcedir/guards %symbols kernel-$flavor < %_sourcedir/series.conf \ > %_builddir/kernel-source-v2.6.22_rc3/kernel-$flavor.patches diff -q %_builddir/kernel-source-v2.6.22_rc3/kernel-{source,$flavor}.patches \ || continue o=$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj/$arch/$flavor mkdir -p $o cp $config $o/.config %ifarch mips echo "CONFIG_CROSSCOMPILE=y" >> $o/.config %endif case $flavor in um) MAKE_ARGS="ARCH=$flavor SUBARCH=$arch O=$o" ;; *) MAKE_ARGS="ARCH=$arch O=$o" ;; esac %if %{tolerate_unknown_new_config_options} yes '' | make oldconfig $MAKE_ARGS %else make silentoldconfig $MAKE_ARGS < /dev/null %_sourcedir/check-for-config-changes $config $o/.config %endif make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make kernelrelease $MAKE_ARGS) mkdir -p ../../../lib/modules/$krel/ ln -s ../../../usr/src/linux-$KERNELRELEASE \ ../../../lib/modules/$krel/source make clean $MAKE_ARGS rm -f $o/.config.old # Replace absolute with relative paths. src="../../../linux-$KERNELRELEASE" out="../linux-$KERNELRELEASE-obj/$arch/$flavor" sed -e "s,$RPM_BUILD_ROOT,," \ -e "s,\(^KERNELSRC[ \t]*:=[ \t]*\).*,\1$src," \ -e "s,\(^KERNELOUTPUT[ \t]*:=[ \t]*\).*,\1$out," \ -i $o/Makefile done cd $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj set -- */* for arch_flavor in $* ; do if ! [ -e obj.files ]; then (cd $arch_flavor ; find -type f) > obj.files fi # Strip ELF files while read file ; do strip $file done <<-EOF $(xargs -i% file $arch_flavor/% < obj.files \ | grep ELF \ | sed -e 's/: .*//') EOF if [ $arch_flavor != $1 ]; then while read file ; do if [ -s $arch_flavor/$file ] \ && cmp -s $1/$file $arch_flavor/$file ; then ln -f $1/$file $arch_flavor/$file fi done < obj.files fi done rm -f obj.files set -- * [ -e %_target_cpu ] || ln -s $1 %_target_cpu %ifarch ppc ppc64 [ -e ppc ] || ln -s $1 ppc [ -e ppc64 ] || ln -s $1 ppc64 %endif cd $RPM_BUILD_ROOT/usr/src for name in nftlcore.c nftlmount.c inftlcore.c inftlmount.c ftl.c; do rm linux-$KERNELRELEASE/drivers/mtd/$name done # Remove $RPM_BUILD_ROOT prefix from symlinks. for link in $(find $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj -type l); do target=$(readlink $link) rm -f $link ln -s ${target/$RPM_BUILD_ROOT/} $link done ln -sf linux linux # dummy symlink ln -sf linux-obj linux-obj # dummy symlink %install # skip long-running sanity checks export NO_BRP_NOEXECSTACK=yes source .rpm-defs # 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 bzip2 -cd %_sourcedir/novell-kmp.tar.bz2 \ | tar -xf - -C $DOC ln -s /usr/share/doc/packages/%name/README.SUSE \ $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE/ %if %preconf # Generate a list of known flavors. shopt -s nullglob flavors= for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep -v vanilla); do arch=${config%/*} flavor=${config#*/} flavors="$flavors $arch/$flavor" done flavors="${flavors:1}" shopt -u nullglob %endif 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/ cat > kernel-source.files <<EOF %%defattr(-, root, root) %%ghost /usr/src/linux %%ghost /usr/src/linux-obj /usr/src/linux-$KERNELRELEASE /usr/src/linux-$KERNELRELEASE-obj /usr/share/doc/packages/%name /etc/rpm/macros.kernel-source /usr/lib/rpm/kernel-module-subpackage /lib/modules/* EOF ( cat %_sourcedir/functions.sh sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" %_sourcedir/source-post.sh ) > source-post.sh %post -f source-post.sh %postun %if %preconf %{insserv_cleanup} %endif %files -f kernel-source.files
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