Logoj0ke.net Open Build Service > Projects > GFS > kernel-source > kernel-syms.spec
Sign Up | Log In

File kernel-syms.spec of Package kernel-source (Revision 929469bc6b4a8986fc69856f8a8bb62b)

Currently displaying revision 929469bc6b4a8986fc69856f8a8bb62b, show latest

 
1
#
2
# spec file for package kernel-syms (Version 2.6.27.4)
3
#
4
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
5
# This file and all modifications and additions to the pristine
6
# package are under the same license as the package itself.
7
#
8
# Please submit bugfixes or comments via http://bugs.opensuse.org/
9
#
10
11
# norootforbuild
12
# ( kernel-binary-packages is expanded into the list of all binary kernel
13
#   packages for each architecture by Autobuild. )
14
15
%if 0%{?opensuse_bs}
16
# Strip off the build number ("y") from the "x.y" release number
17
%define source_rel %(release=%release; echo ${release%.*})
18
%else
19
# We don't have build numbers internally
20
%define source_rel %release
21
%endif
22
23
Name:         kernel-syms
24
Summary:      Dummy summary
25
Version:      2.6.27.4
26
Release:      <RELEASE>
27
License:      GPL
28
Group:        Development/Sources
29
AutoReqProv:  off
30
BuildRequires: coreutils
31
%if ! 0%{?opensuse_bs}
32
BuildRequires: kernel-dummy
33
%endif
34
ExclusiveArch: %ix86 ppc ppc64 s390 s390x ia64 x86_64
35
%ifarch %ix86
36
BuildRequires: kernel-default kernel-pae kernel-debug kernel-xen kernel-trace
37
%else
38
%ifarch ppc
39
BuildRequires: kernel-default kernel-ppc64 kernel-kdump kernel-ps3
40
%else
41
%ifarch ppc64
42
BuildRequires: kernel-default kernel-ppc64 kernel-kdump kernel-ps3
43
%else
44
%ifarch s390
45
BuildRequires: kernel-s390
46
%else
47
%ifarch s390x
48
BuildRequires: kernel-default
49
%else
50
%ifarch ia64
51
BuildRequires: kernel-default kernel-debug kernel-trace
52
%else
53
%ifarch x86_64
54
BuildRequires: kernel-default kernel-xen kernel-debug kernel-trace
55
%endif
56
%endif
57
%endif
58
%endif
59
%endif
60
%endif
61
%endif
62
# the packages above do require other things, but none of those are needed during package build
63
#!BuildIgnore: irqbalance xen
64
#!BuildIgnore: perl-Bootloader mkinitrd
65
Requires:     linux
66
Requires:     kernel-source = 2.6.27.4-%source_rel
67
Source11:     arch-symbols
68
Source12:     guards
69
Source21:     config.conf
70
BuildRoot:    %_tmppath/%name-%version-build
71
Prefix:       /usr/src
72
73
%(chmod +x %_sourcedir/{arch-symbols,guards})
74
75
%define symbols %(set -- $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
76
77
%description
78
Dummy description.
79
80
%prep
81
82
echo "Architecture symbol(s):" %symbols
83
84
%install
85
rm -rf $RPM_BUILD_ROOT
86
mkdir $RPM_BUILD_ROOT
87
88
set -- %symbols
89
case kernel-syms in
90
(*-rt)
91
    set -- RT "$@"
92
    ;;
93
esac
94
%_sourcedir/guards "$@" < %_sourcedir/series.conf > %_builddir/kernel-syms.patches
95
for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
96
    arch="${config%%/*}"
97
    flavor="${config#*/}"
98
    
99
    rpm -q --quiet kernel-$flavor || continue
100
101
    # Don't add the build infrastructure for kernels that are based
102
    # on a different set of patches.
103
    set -- kernel-$flavor $flavor $(case $flavor in (rt|rt_*) echo RT ;; esac)
104
    %_sourcedir/guards $* %symbols < %_sourcedir/series.conf \
105
    > %_builddir/kernel-$flavor.patches
106
    diff -q %_builddir/{kernel-syms,kernel-$flavor}.patches || continue
107
108
    # Make sure that all the kernel-$flavor release numbers match the
109
    # kernel-syms release number.
110
    set -- %release $(rpm -q --qf '%{RELEASE}' kernel-$flavor)
111
%if 0%{?opensuse_bs}
112
    set -- ${1%.*} ${2%.*}
113
%endif
114
    if [ "$1" != "$2" ]; then
115
    echo "Release numbers $1 and $2 do not match" >&2
116
    exit 1
117
    fi
118
119
    shopt -s nullglob
120
    for symvers in /usr/src/linux-*-obj/$arch/$flavor/Module.symvers; do
121
    cp -p --parents $symvers $RPM_BUILD_ROOT/
122
    for file in /lib/modules/*-$flavor/modules.alias; do
123
        cp -p $file $(dirname $RPM_BUILD_ROOT$symvers)
124
    done
125
    done
126
    for symsets in /boot/symsets-*-$flavor.tar.gz; do
127
    cp -p --parents $symsets $RPM_BUILD_ROOT/
128
    done
129
    for file in /lib/modules/*-$flavor/build; do
130
    cp -pd --parents $file $RPM_BUILD_ROOT/
131
    done
132
done
133
134
%files
135
%defattr(-, root, root)
136
/usr/src/linux-*-obj
137
/boot/symsets-*-*.tar.gz
138
/lib/modules/*/build
139