xref: /linux/scripts/package/mkspec (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
11da177e4SLinus Torvalds#!/bin/sh
21da177e4SLinus Torvalds#
32174d292SMike Marciniszyn#	Output a simple RPM spec file.
4169dd780SArend van Spriel#	This version assumes a minimum of RPM 4.13
51da177e4SLinus Torvalds#
61da177e4SLinus Torvalds#	The only gothic bit here is redefining install_post to avoid
71da177e4SLinus Torvalds#	stripping the symbols from files in the kernel which we want
81da177e4SLinus Torvalds#
91da177e4SLinus Torvalds#	Patched for non-x86 by Opencon (L) 2002 <opencon@rio.skydome.net>
101da177e4SLinus Torvalds#
111da177e4SLinus Torvalds
12c0414419SMasahiro Yamadaset -eu
13c0414419SMasahiro Yamada
14ffa46bbcSMasahiro Yamadaoutput=$1
15ffa46bbcSMasahiro Yamada
16ffa46bbcSMasahiro Yamadamkdir -p "$(dirname "${output}")"
17ffa46bbcSMasahiro Yamada
18ffa46bbcSMasahiro Yamadaexec >"${output}"
19ffa46bbcSMasahiro Yamada
2081f59a26SMasahiro Yamadaif grep -q CONFIG_MODULES=y include/config/auto.conf; then
212a291fc3SMasahiro Yamadaecho '%define with_devel %{?_without_devel: 0} %{?!_without_devel: 1}'
220b7f12f5SMasahiro Yamadaelse
232a291fc3SMasahiro Yamadaecho '%define with_devel 0'
240b7f12f5SMasahiro Yamadafi
250b7f12f5SMasahiro Yamada
26*a7c699d0SUday Shankar# debuginfo package generation uses find-debuginfo.sh under the hood,
27*a7c699d0SUday Shankar# which only works on uncompressed modules that contain debuginfo
28*a7c699d0SUday Shankarif grep -q CONFIG_DEBUG_INFO=y include/config/auto.conf &&
29*a7c699d0SUday Shankar   (! grep -q CONFIG_MODULE_COMPRESS=y include/config/auto.conf) &&
30*a7c699d0SUday Shankar   (! grep -q CONFIG_DEBUG_INFO_SPLIT=y include/config/auto.conf); then
31*a7c699d0SUday Shankarecho '%define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1}'
32*a7c699d0SUday Shankarelse
33*a7c699d0SUday Shankarecho '%define with_debuginfo 0'
34*a7c699d0SUday Shankarfi
35*a7c699d0SUday Shankar
3649c803cdSMasahiro Yamadacat<<EOF
37a06d9ef8SMasahiro Yamada%define ARCH ${ARCH}
3893ed5605SMasahiro Yamada%define KERNELRELEASE ${KERNELRELEASE}
39ae4c4ceeSMasahiro Yamada%define pkg_release $("${srctree}/scripts/build-version")
408c5d4b64SMasahiro YamadaEOF
4149c803cdSMasahiro Yamada
4249c803cdSMasahiro Yamadacat "${srctree}/scripts/package/kernel.spec"
43301c1090SRafael Aquini
44301c1090SRafael Aquini# collect the user's name and email address for the changelog entry
45301c1090SRafael Aquiniif [ "$(command -v git)" ]; then
46301c1090SRafael Aquini	name=$(git config user.name) || true
47301c1090SRafael Aquini	email=$(git config user.email) || true
48301c1090SRafael Aquinifi
49301c1090SRafael Aquini
50301c1090SRafael Aquiniif [ ! "${name:+set}" ]; then
51301c1090SRafael Aquini	name=${KBUILD_BUILD_USER:-$(id -nu)}
52301c1090SRafael Aquinifi
53301c1090SRafael Aquini
54301c1090SRafael Aquiniif [ ! "${email:+set}" ]; then
55301c1090SRafael Aquini	buildhost=${KBUILD_BUILD_HOST:-$(hostname -f 2>/dev/null || hostname)}
56301c1090SRafael Aquini	builduser=${KBUILD_BUILD_USER:-$(id -nu)}
57301c1090SRafael Aquini	email="${builduser}@${buildhost}"
58301c1090SRafael Aquinifi
59301c1090SRafael Aquini
60301c1090SRafael Aquinicat << EOF
61301c1090SRafael Aquini
62301c1090SRafael Aquini%changelog
63ba6c6640SPetr Vorel* $(LC_ALL=C date +'%a %b %d %Y') ${name} <${email}>
64301c1090SRafael Aquini- Custom built Linux kernel.
65301c1090SRafael AquiniEOF
66