forked from pool/kernel-source
		
	OBS-URL: https://build.opensuse.org/package/show/Kernel:HEAD/kernel-source?expand=0&rev=7137
		
			
				
	
	
		
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| %package -n %{-n*}-%1
 | |
| %define _this_kmp_version %{-v*}_k%(echo %2 | sed -r 'y/-/_/; s/^(2\.6\.[0-9]+)_/\\1.0_/; # use 2.6.x.0 for mainline kernels')
 | |
| Version: %_this_kmp_version
 | |
| Release: %{-r*}
 | |
| %(
 | |
| for spec in {%_sourcedir,%_specdir}/%name.spec /dev/null; do
 | |
|     [ -e $spec ] && break
 | |
| done
 | |
| awk '
 | |
| BEGIN		{ tags["summary"] = "Summary: %summary"
 | |
| 		  tags["group"] = "Group: %group" }
 | |
| /^%%/		{ in_pkg_header = \
 | |
| 		  ($0 ~ /^%%package[ \t]+KMP[ \t]*$/ ||
 | |
| 		   $0 ~ /^%%package[ \t]+-n[ \t]*%name-KMP[ \t]*$/)
 | |
| 		  next }
 | |
| in_pkg_header && /^(Summary|Group):[ \t]*/ \
 | |
| 		{ tag = tolower($1) ; sub(/:$/, "", tag)
 | |
| 		  tags[tag] = $0 }
 | |
| END		{ print tags["summary"]
 | |
| 		  print tags["group"] }
 | |
| ' $spec
 | |
| )
 | |
| Provides: %{-n*} = %_this_kmp_version
 | |
| Provides: multiversion(kernel)
 | |
| Requires: coreutils grep
 | |
| Enhances: kernel-%1
 | |
| AutoReqProv: on
 | |
| %{-p:%{expand:%(cd %_sourcedir; cat %{-p*})}}
 | |
| %description -n %{-n*}-%1
 | |
| %(
 | |
| for spec in {%_sourcedir,%_specdir}/%name.spec /dev/null; do
 | |
|     [ -e $spec ] && break
 | |
| done
 | |
| awk '
 | |
| /^%%/		{ in_desc = \
 | |
| 		  ($0 ~ /^%%description[ \t]+KMP[ \t]*$/ ||
 | |
| 		   $0 ~ /^%%description[ \t]+-n[ \t]*%name-KMP[ \t]*$/)
 | |
| 		  next }
 | |
| in_desc		{ print; good = 1 }
 | |
| END		{ exit(! good) }
 | |
| ' $spec || \
 | |
| awk '
 | |
| /^%%/		{ in_desc = \
 | |
| 		  ($0 ~ /^%%description[ \t]*$/ ||
 | |
| 		   $0 ~ /^%%description[ \t]+-n[ \t]*%name[ \t]*$/)
 | |
| 		  next }
 | |
| in_desc		{ print; good = 1 }
 | |
| END		{ exit(! good) }
 | |
| ' $spec
 | |
| )
 | |
| %post -n %{-n*}-%1
 | |
| nvr=%{-n*}-%1-%_this_kmp_version-%{-r*}
 | |
| wm2=/usr/lib/module-init-tools/weak-modules2
 | |
| if [ -x $wm2 ]; then
 | |
|     %{-b:KMP_NEEDS_MKINITRD=1} /bin/bash -${-/e/} $wm2 --add-kmp $nvr
 | |
| fi
 | |
| %preun -n %{-n*}-%1
 | |
| nvr=%{-n*}-%1-%_this_kmp_version-%{-r*}
 | |
| rpm -ql $nvr | sed -n '/\.ko$/p' > /var/run/rpm-$nvr-modules
 | |
| %postun -n %{-n*}-%1
 | |
| nvr=%{-n*}-%1-%_this_kmp_version-%{-r*}
 | |
| modules=( $(cat /var/run/rpm-$nvr-modules) )
 | |
| rm -f /var/run/rpm-$nvr-modules
 | |
| if [ ${#modules[*]} = 0 ]; then
 | |
|     echo "WARNING: $nvr does not contain any kernel modules" >&2
 | |
|     exit 0
 | |
| fi
 | |
| wm2=/usr/lib/module-init-tools/weak-modules2
 | |
| if [ -x $wm2 ]; then
 | |
|     printf '%s\n' "${modules[@]}" | /bin/bash -${-/e/} $wm2 --remove-kmp $nvr
 | |
| fi
 | |
| %files -n %{-n*}-%1
 | |
| %{-f:%{expand:%(cd %_sourcedir; cat %{-f*})}}
 | |
| %{!-f:%defattr (-,root,root)}
 | |
| %{!-f:/lib/modules/%2-%1}
 |