@@ -30,67 +30,11 @@ create_package() {
30
30
chmod -R a+rX " $pdir "
31
31
32
32
# Create the package
33
- dpkg-gencontrol $forcearch -Vkernel:debarch= " ${debarch} " -p$pname -P" $pdir "
33
+ dpkg-gencontrol -p$pname -P" $pdir "
34
34
dpkg --build " $pdir " ..
35
35
}
36
36
37
- set_debarch () {
38
- # Attempt to find the correct Debian architecture
39
- case " $UTS_MACHINE " in
40
- i386|ia64|alpha)
41
- debarch=" $UTS_MACHINE " ;;
42
- x86_64)
43
- debarch=amd64 ;;
44
- sparc* )
45
- debarch=sparc ;;
46
- s390* )
47
- debarch=s390$( grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;;
48
- ppc* )
49
- debarch=$( grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo ppc64el || echo powerpc) ;;
50
- parisc* )
51
- debarch=hppa ;;
52
- mips* )
53
- debarch=mips$( grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;;
54
- aarch64|arm64)
55
- debarch=arm64 ;;
56
- arm* )
57
- if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG ; then
58
- if grep -q CONFIG_VFP=y $KCONFIG_CONFIG ; then
59
- debarch=armhf
60
- else
61
- debarch=armel
62
- fi
63
- else
64
- debarch=arm
65
- fi
66
- ;;
67
- * )
68
- debarch=$( dpkg --print-architecture)
69
- echo " " >&2
70
- echo " ** ** ** WARNING ** ** **" >&2
71
- echo " " >&2
72
- echo " Your architecture doesn't have its equivalent" >&2
73
- echo " Debian userspace architecture defined!" >&2
74
- echo " Falling back to using your current userspace instead!" >&2
75
- echo " Please add support for $UTS_MACHINE to ${0} ..." >&2
76
- echo " " >&2
77
- esac
78
- if [ -n " $KBUILD_DEBARCH " ] ; then
79
- debarch=" $KBUILD_DEBARCH "
80
- fi
81
- forcearch=" -DArchitecture=$debarch "
82
-
83
- }
84
-
85
- # Some variables and settings used throughout the script
86
37
version=$KERNELRELEASE
87
- revision=$( cat .version)
88
- if [ -n " $KDEB_PKGVERSION " ]; then
89
- packageversion=$KDEB_PKGVERSION
90
- else
91
- packageversion=$version -$revision
92
- fi
93
- sourcename=$KDEB_SOURCENAME
94
38
tmpdir=" $objtree /debian/tmp"
95
39
kernel_headers_dir=" $objtree /debian/hdrtmp"
96
40
libc_headers_dir=" $objtree /debian/headertmp"
@@ -99,9 +43,6 @@ packagename=linux-image-$version
99
43
kernel_headers_packagename=linux-headers-$version
100
44
libc_headers_packagename=linux-libc-dev
101
45
dbg_packagename=$packagename -dbg
102
- debarch=
103
- forcearch=
104
- set_debarch
105
46
106
47
if [ " $ARCH " = " um" ] ; then
107
48
packagename=user-mode-linux-$version
@@ -212,105 +153,6 @@ EOF
212
153
chmod 755 " $tmpdir /DEBIAN/$script "
213
154
done
214
155
215
- # Try to determine maintainer and email values
216
- if [ -n " $DEBEMAIL " ]; then
217
- email=$DEBEMAIL
218
- elif [ -n " $EMAIL " ]; then
219
- email=$EMAIL
220
- else
221
- email=$( id -nu) @$( hostname -f 2> /dev/null || hostname)
222
- fi
223
- if [ -n " $DEBFULLNAME " ]; then
224
- name=$DEBFULLNAME
225
- elif [ -n " $NAME " ]; then
226
- name=$NAME
227
- else
228
- name=" Anonymous"
229
- fi
230
- maintainer=" $name <$email >"
231
-
232
- # Try to determine distribution
233
- if [ -n " $KDEB_CHANGELOG_DIST " ]; then
234
- distribution=$KDEB_CHANGELOG_DIST
235
- # In some cases lsb_release returns the codename as n/a, which breaks dpkg-parsechangelog
236
- elif distribution=$( lsb_release -cs 2> /dev/null) && [ -n " $distribution " ] && [ " $distribution " != " n/a" ]; then
237
- : # nothing to do in this case
238
- else
239
- distribution=" unstable"
240
- echo >&2 " Using default distribution of 'unstable' in the changelog"
241
- echo >&2 " Install lsb-release or set \$ KDEB_CHANGELOG_DIST explicitly"
242
- fi
243
-
244
- # Generate a simple changelog template
245
- cat << EOF > debian/changelog
246
- $sourcename ($packageversion ) $distribution ; urgency=low
247
-
248
- * Custom built Linux kernel.
249
-
250
- -- $maintainer $( date -R)
251
- EOF
252
-
253
- # Generate copyright file
254
- cat << EOF > debian/copyright
255
- This is a packacked upstream version of the Linux kernel.
256
-
257
- The sources may be found at most Linux archive sites, including:
258
- https://www.kernel.org/pub/linux/kernel
259
-
260
- Copyright: 1991 - 2017 Linus Torvalds and others.
261
-
262
- The git repository for mainline kernel development is at:
263
- git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
264
-
265
- This program is free software; you can redistribute it and/or modify
266
- it under the terms of the GNU General Public License as published by
267
- the Free Software Foundation; version 2 dated June, 1991.
268
-
269
- On Debian GNU/Linux systems, the complete text of the GNU General Public
270
- License version 2 can be found in \` /usr/share/common-licenses/GPL-2'.
271
- EOF
272
-
273
-
274
- build_depends=" bc, kmod, cpio "
275
-
276
- # Generate a control file
277
- cat << EOF > debian/control
278
- Source: $sourcename
279
- Section: kernel
280
- Priority: optional
281
- Maintainer: $maintainer
282
- Build-Depends: $build_depends
283
- Homepage: http://www.kernel.org/
284
- EOF
285
-
286
- if [ " $ARCH " = " um" ]; then
287
- cat << EOF >> debian/control
288
-
289
- Package: $packagename
290
- Architecture: any
291
- Description: User Mode Linux kernel, version $version
292
- User-mode Linux is a port of the Linux kernel to its own system call
293
- interface. It provides a kind of virtual machine, which runs Linux
294
- as a user process under another Linux kernel. This is useful for
295
- kernel development, sandboxes, jails, experimentation, and
296
- many other things.
297
- .
298
- This package contains the Linux kernel, modules and corresponding other
299
- files, version: $version .
300
- EOF
301
-
302
- else
303
- cat << EOF >> debian/control
304
-
305
- Package: $packagename
306
- Architecture: any
307
- Description: Linux kernel, version $version
308
- This package contains the Linux kernel, modules and corresponding other
309
- files, version: $version .
310
- EOF
311
-
312
- fi
313
-
314
156
# Build kernel header package
315
157
(cd $srctree ; find . -name Makefile\* -o -name Kconfig\* -o -name \* .pl) > " $objtree /debian/hdrsrcfiles"
316
158
(cd $srctree ; find arch/* /include include scripts -type f -o -type l) >> " $objtree /debian/hdrsrcfiles"
@@ -331,27 +173,6 @@ mkdir -p "$destdir"
331
173
ln -sf " /usr/src/linux-headers-$version " " $kernel_headers_dir /lib/modules/$version /build"
332
174
rm -f " $objtree /debian/hdrsrcfiles" " $objtree /debian/hdrobjfiles"
333
175
334
- cat << EOF >> debian/control
335
-
336
- Package: $kernel_headers_packagename
337
- Architecture: any
338
- Description: Linux kernel headers for $KERNELRELEASE on \$ {kernel:debarch}
339
- This package provides kernel header files for $KERNELRELEASE on \$ {kernel:debarch}
340
- .
341
- This is useful for people who need to build external modules
342
- EOF
343
-
344
- cat << EOF >> debian/control
345
-
346
- Package: $libc_headers_packagename
347
- Section: devel
348
- Provides: linux-kernel-headers
349
- Architecture: any
350
- Description: Linux support headers for userspace development
351
- This package provides userspaces headers from the Linux kernel. These headers
352
- are used by the installed headers for GNU glibc and other system libraries.
353
- EOF
354
-
355
176
if [ " $ARCH " != " um" ]; then
356
177
create_package " $kernel_headers_packagename " " $kernel_headers_dir "
357
178
create_package " $libc_headers_packagename " " $libc_headers_dir "
@@ -370,47 +191,7 @@ if [ -n "$BUILD_DEBUG" ] ; then
370
191
ln -s ../lib/modules/$version /vmlinux $dbg_dir /usr/lib/debug/boot/vmlinux-$version
371
192
# kdump-tools
372
193
ln -s lib/modules/$version /vmlinux $dbg_dir /usr/lib/debug/vmlinux-$version
373
-
374
- cat << EOF >> debian/control
375
-
376
- Package: $dbg_packagename
377
- Section: debug
378
- Architecture: any
379
- Description: Linux kernel debugging symbols for $version
380
- This package will come in handy if you need to debug the kernel. It provides
381
- all the necessary debug symbols for the kernel and its modules.
382
- EOF
383
-
384
194
create_package " $dbg_packagename " " $dbg_dir "
385
195
fi
386
196
387
- if [ " x$1 " = " xdeb-pkg" ]
388
- then
389
- cat << EOF > debian/rules
390
- #!/usr/bin/make -f
391
-
392
- build:
393
- \$ (MAKE)
394
-
395
- binary-arch:
396
- \$ (MAKE) KDEB_SOURCENAME=${sourcename} KDEB_PKGVERSION=${packageversion} bindeb-pkg
397
-
398
- clean:
399
- rm -rf debian/*tmp debian/files
400
- mv debian/ debian.backup # debian/ might be cleaned away
401
- \$ (MAKE) clean
402
- mv debian.backup debian
403
-
404
- binary: binary-arch
405
- EOF
406
- mv ${sourcename} .tar.gz ../${sourcename} _${version} .orig.tar.gz
407
- tar caf ../${sourcename} _${packageversion} .debian.tar.gz debian/{copyright,rules,changelog,control}
408
- dpkg-source -cdebian/control -ldebian/changelog --format=" 3.0 (custom)" --target-format=" 3.0 (quilt)" \
409
- -b / ../${sourcename} _${version} .orig.tar.gz ../${sourcename} _${packageversion} .debian.tar.gz
410
- mv ${sourcename} _${packageversion} * dsc ..
411
- dpkg-genchanges -Vkernel:debarch=" ${debarch} " > ../${sourcename} _${packageversion} _${debarch} .changes
412
- else
413
- dpkg-genchanges -b -Vkernel:debarch=" ${debarch} " > ../${sourcename} _${packageversion} _${debarch} .changes
414
- fi
415
-
416
197
exit 0
0 commit comments