summaryrefslogtreecommitdiffstats
path: root/scripts/package/mkspec
blob: ead54d67a024150fcdc96e178e9aa658994f4afd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh
#
#	Output a simple RPM spec file.
#	This version assumes a minimum of RPM 4.13
#
#	The only gothic bit here is redefining install_post to avoid
#	stripping the symbols from files in the kernel which we want
#
#	Patched for non-x86 by Opencon (L) 2002 <opencon@rio.skydome.net>
#

set -eu

output=$1

mkdir -p "$(dirname "${output}")"

exec >"${output}"

if grep -q CONFIG_MODULES=y include/config/auto.conf; then
echo '%define with_devel %{?_without_devel: 0} %{?!_without_devel: 1}'
else
echo '%define with_devel 0'
fi

cat<<EOF
%define ARCH ${ARCH}
%define KERNELRELEASE ${KERNELRELEASE}
%define pkg_release $("${srctree}/scripts/build-version")
EOF

cat "${srctree}/scripts/package/kernel.spec"

# collect the user's name and email address for the changelog entry
if [ "$(command -v git)" ]; then
	name=$(git config user.name) || true
	email=$(git config user.email) || true
fi

if [ ! "${name:+set}" ]; then
	name=${KBUILD_BUILD_USER:-$(id -nu)}
fi

if [ ! "${email:+set}" ]; then
	buildhost=${KBUILD_BUILD_HOST:-$(hostname -f 2>/dev/null || hostname)}
	builduser=${KBUILD_BUILD_USER:-$(id -nu)}
	email="${builduser}@${buildhost}"
fi

cat << EOF

%changelog
* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}>
- Custom built Linux kernel.
EOF