Hotfix: fix zlogger.ko path
[platform/kernel/linux-tizen-modules.git] / packaging / linux-tizen-modules.spec
1 %define KMOD_PATH /lib/modules
2 %define KMOD_PATH_TM1 /boot/kernel/mod_tizen_tm1/lib/modules
3
4 %ifarch aarch64
5 %define buildarch arm64
6 %else
7 %define buildarch arm
8 %endif
9
10 Name:           linux-tizen-modules
11 Version:        7.0.7
12 Release:        0
13 License:        GPL-2.0+
14 Source0:        %{name}-%{version}.tar.xz
15 Source1:        %{name}.manifest
16 Summary:        Tizen-specific kernel modules
17 Group:          System/Kernel
18 ExclusiveArch:  %{arm} aarch64
19 BuildRequires:  kmod
20 BuildRequires:  linux-tizen-modules-source
21 BuildRequires:  %{buildarch}-rpi3-linux-kernel-devel
22 BuildRequires:  %{buildarch}-rpi4-linux-kernel-devel
23 BuildRequires:  %{buildarch}-rpi4-rt-linux-kernel-devel
24 %ifarch aarch64
25 BuildRequires:  kernel-devel-exynos9110-tw3
26 %endif
27 %ifnarch aarch64
28 BuildRequires:  kernel-devel-3.10-sc7730
29 %endif
30 %description
31
32 %package        rpi3
33 Summary:        Tizen modules for RaspberryPI 3
34 AutoReqProv:    no
35 Requires:       %{buildarch}-rpi3-linux-kernel-modules
36 Requires(post): bash
37 Requires(post): coreutils
38 Requires(post): findutils
39 Requires(post): kmod-compat
40 Provides:       stability-monitor-kernel-module
41 %description    rpi3
42
43 %package        rpi4
44 Summary:        Tizen modules for RaspberryPI 4
45 AutoReqProv:    no
46 Requires:       %{buildarch}-rpi4-linux-kernel-modules
47 Requires(post): bash
48 Requires(post): coreutils
49 Requires(post): findutils
50 Requires(post): kmod-compat
51 Provides:       stability-monitor-kernel-module
52 %description    rpi4
53
54 %package        rpi4-rt
55 Summary:        Tizen modules for RaspberryPI 4 RT (real-time)
56 AutoReqProv:    no
57 Requires:       %{buildarch}-rpi4-rt-linux-kernel-modules
58 Requires(post): bash
59 Requires(post): coreutils
60 Requires(post): findutils
61 Requires(post): kmod-compat
62 Provides:       stability-monitor-kernel-module
63 %description    rpi4-rt
64
65 %ifarch aarch64
66 %package        tw3
67 Summary:        Tizen modules for TW3
68 AutoReqProv:    no
69 Provides:       stability-monitor-kernel-module
70 %description    tw3
71 %endif
72
73 %ifnarch aarch64
74 %package        tm1
75 Summary:        Tizen modules for TM1
76 Requires:       linux-3.10-sc7730_tizen_tm1
77 AutoReqProv:    no
78 Requires(post): bash
79 Requires(post): coreutils
80 Requires(post): findutils
81 Requires(post): kmod-compat
82 %description    tm1
83 %endif
84
85 %prep
86 %setup -q
87 cp %{SOURCE1} ./%{name}.manifest
88 cp -a /usr/src/linux-tizen-modules-source ./kernel
89
90 %build
91 # Force not to build with sanitizers because this is kernel
92 %{?asan:/usr/bin/gcc-unforce-options}
93 %{?ubsan:/usr/bin/gcc-unforce-options}
94
95 export BUILD_logger=m
96 # Default buffer sizes to compile in. [kB]
97 export LOGGER_MAIN_BUFFER_SIZE=256
98 export LOGGER_EVENTS_BUFFER_SIZE=256
99 export LOGGER_RADIO_BUFFER_SIZE=256
100 export LOGGER_SYSTEM_BUFFER_SIZE=256
101
102 export BUILD_proc_tsm=m
103 export BUILD_kdbus=m
104 export BUILD_zlogger=m
105
106 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4
107 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4
108 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4 INSTALL_MOD_STRIP=1
109
110 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt
111 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt
112 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt INSTALL_MOD_STRIP=1
113
114 export BUILD_kdbus=n
115
116 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi3
117 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi3/
118 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi3 INSTALL_MOD_STRIP=1
119
120 %ifarch aarch64
121 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-tw3
122 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-tw3
123 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-tw3 INSTALL_MOD_STRIP=1
124 %endif
125
126 export BUILD_proc_tsm=n
127
128 %ifnarch aarch64
129 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1
130 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1
131 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1 INSTALL_MOD_STRIP=1
132 %endif
133
134 %install
135 mkdir -p %{buildroot}/%{KMOD_PATH}
136
137 pushd lib/modules
138 find -name "*.ko" -exec cp -a --parents {} %{buildroot}/%{KMOD_PATH}/ \;
139 popd
140
141 # module load config
142 mkdir -p %{buildroot}/%{KMOD_PATH}/modprobe.d
143 install -m 644 conf/tizen-modprobe-rpi3.conf %{buildroot}/%{KMOD_PATH}/modprobe.d
144 install -m 644 conf/tizen-modprobe-rpi4.conf %{buildroot}/%{KMOD_PATH}/modprobe.d
145
146 mkdir -p %{buildroot}/%{KMOD_PATH}/modules-load.d
147 install -m 644 conf/tizen-modules-rpi3.conf %{buildroot}/%{KMOD_PATH}/modules-load.d
148 install -m 644 conf/tizen-modules-rpi4.conf %{buildroot}/%{KMOD_PATH}/modules-load.d
149
150 %ifarch aarch64
151 mkdir -p %{buildroot}/aarch64/modules
152 mv %{buildroot}/%{KMOD_PATH}/4.9.59 %{buildroot}/aarch64/modules/
153
154 mkdir -p %{buildroot}/aarch64/modules/modprobe.d
155 install -m 644 conf/tizen-modprobe-tw3.conf %{buildroot}/aarch64/modules/modprobe.d
156
157 mkdir -p %{buildroot}/aarch64/modules/modules-load.d
158 install -m 644 conf/tizen-modules-tw3.conf %{buildroot}/aarch64/modules/modules-load.d
159 %endif
160
161 %ifnarch aarch64
162 mkdir -p %{buildroot}/%{KMOD_PATH_TM1}/modules-load.d
163 install -m 644 conf/tizen-modules-tm1.conf %{buildroot}/%{KMOD_PATH_TM1}/modules-load.d
164 mv -v %{buildroot}/%{KMOD_PATH}/*3.10* %{buildroot}/%{KMOD_PATH_TM1}
165 %endif
166
167 %clean
168 rm -rf %{buildroot}
169 rm -rf %{_builddir}/%{name}-%{version}/lib
170
171 %post rpi3
172 RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`))
173 /sbin/depmod -a $RELEASEVERSION
174
175 %post rpi4
176 RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`))
177 /sbin/depmod -a $RELEASEVERSION
178
179 %post rpi4-rt
180 RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`))
181 /sbin/depmod -a $RELEASEVERSION
182
183 %ifnarch aarch64
184 %post tm1
185 KMOD_PATH_TM1=%{KMOD_PATH_TM1}
186 KMOD_BASEPATH=${KMOD_PATH_TM1%%%{KMOD_PATH}}
187 RELEASEVERSION=$(basename $(dirname `find $KMOD_PATH_TM1 -name extra | head -1`))
188 /sbin/depmod -b ${KMOD_BASEPATH} -a $RELEASEVERSION
189 %endif
190
191 %files rpi3
192 %manifest %{name}.manifest
193 %license COPYING
194 %{KMOD_PATH}/*rpi3*/extra/proc-tsm.ko
195 %{KMOD_PATH}/*rpi3*/extra/logger.ko
196 %{KMOD_PATH}/*rpi3*/extra/zlogger/zlogger.ko
197 %{KMOD_PATH}/modprobe.d/tizen-modprobe-rpi3.conf
198 %{KMOD_PATH}/modules-load.d/tizen-modules-rpi3.conf
199
200 %files rpi4
201 %manifest %{name}.manifest
202 %license COPYING
203 %ifarch aarch64
204 %{KMOD_PATH}/*rpi4-v8/extra/proc-tsm.ko
205 %{KMOD_PATH}/*rpi4-v8/extra/kdbus/kdbus.ko
206 %{KMOD_PATH}/*rpi4-v8/extra/logger.ko
207 %{KMOD_PATH}/*rpi4-v8/extra/zlogger/zlogger.ko
208 %else
209 %{KMOD_PATH}/*rpi4-v7l/extra/proc-tsm.ko
210 %{KMOD_PATH}/*rpi4-v7l/extra/kdbus/kdbus.ko
211 %{KMOD_PATH}/*rpi4-v7l/extra/logger.ko
212 %{KMOD_PATH}/*rpi4-v7l/extra/zlogger/zlogger.ko
213 %endif
214 %{KMOD_PATH}/modprobe.d/tizen-modprobe-rpi4.conf
215 %{KMOD_PATH}/modules-load.d/tizen-modules-rpi4.conf
216
217 %files rpi4-rt
218 %manifest %{name}.manifest
219 %license COPYING
220 %ifarch aarch64
221 %{KMOD_PATH}/*rpi4-rt-v8/extra/proc-tsm.ko
222 %{KMOD_PATH}/*rpi4-rt-v8/extra/kdbus/kdbus.ko
223 %{KMOD_PATH}/*rpi4-rt-v8/extra/logger.ko
224 %{KMOD_PATH}/*rpi4-rt-v8/extra/zlogger/zlogger.ko
225 %else
226 %{KMOD_PATH}/*rpi4-rt-v7l/extra/proc-tsm.ko
227 %{KMOD_PATH}/*rpi4-rt-v7l/extra/kdbus/kdbus.ko
228 %{KMOD_PATH}/*rpi4-rt-v7l/extra/logger.ko
229 %{KMOD_PATH}/*rpi4-rt-v7l/extra/zlogger/zlogger.ko
230 %endif
231 %{KMOD_PATH}/modprobe.d/tizen-modprobe-rpi4.conf
232 %{KMOD_PATH}/modules-load.d/tizen-modules-rpi4.conf
233
234 %ifarch aarch64
235 %files tw3
236 %manifest %{name}.manifest
237 %license COPYING
238 /aarch64/modules/4.9.59/extra/proc-tsm.ko
239 /aarch64/modules/4.9.59/extra/logger.ko
240 /aarch64/modules/4.9.59/extra/zlogger/zlogger.ko
241 /aarch64/modules/modprobe.d/tizen-modprobe-tw3.conf
242 /aarch64/modules/modules-load.d/tizen-modules-tw3.conf
243 %endif
244
245 %ifnarch aarch64
246 %files tm1
247 %manifest %{name}.manifest
248 %license COPYING
249 %{KMOD_PATH_TM1}/*3.10*/extra/logger.ko
250 %{KMOD_PATH_TM1}/*3.10*/extra/zlogger/zlogger.ko
251 %{KMOD_PATH_TM1}/modules-load.d/tizen-modules-tm1.conf
252 %endif