hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/scripts/package/mkdebian
....@@ -7,7 +7,7 @@
77 set -e
88
99 is_enabled() {
10
- grep -q "^CONFIG_$1=y" $KCONFIG_CONFIG
10
+ grep -q "^$1=y" include/config/auto.conf
1111 }
1212
1313 if_enabled_echo() {
....@@ -31,23 +31,23 @@
3131 x86_64)
3232 debarch=amd64 ;;
3333 sparc*)
34
- debarch=sparc$(if_enabled_echo 64BIT 64) ;;
34
+ debarch=sparc$(if_enabled_echo CONFIG_64BIT 64) ;;
3535 s390*)
3636 debarch=s390x ;;
3737 ppc*)
38
- if is_enabled 64BIT; then
39
- debarch=ppc64$(if_enabled_echo CPU_LITTLE_ENDIAN el)
38
+ if is_enabled CONFIG_64BIT; then
39
+ debarch=ppc64$(if_enabled_echo CONFIG_CPU_LITTLE_ENDIAN el)
4040 else
41
- debarch=powerpc$(if_enabled_echo SPE spe)
41
+ debarch=powerpc$(if_enabled_echo CONFIG_SPE spe)
4242 fi
4343 ;;
4444 parisc*)
4545 debarch=hppa ;;
4646 mips*)
47
- if is_enabled CPU_LITTLE_ENDIAN; then
48
- debarch=mips$(if_enabled_echo 64BIT 64)$(if_enabled_echo CPU_MIPSR6 r6)el
49
- elif is_enabled CPU_MIPSR6; then
50
- debarch=mips$(if_enabled_echo 64BIT 64)r6
47
+ if is_enabled CONFIG_CPU_LITTLE_ENDIAN; then
48
+ debarch=mips$(if_enabled_echo CONFIG_64BIT 64)$(if_enabled_echo CONFIG_CPU_MIPSR6 r6)el
49
+ elif is_enabled CONFIG_CPU_MIPSR6; then
50
+ debarch=mips$(if_enabled_echo CONFIG_64BIT 64)r6
5151 else
5252 debarch=mips
5353 fi
....@@ -55,8 +55,8 @@
5555 aarch64|arm64)
5656 debarch=arm64 ;;
5757 arm*)
58
- if is_enabled AEABI; then
59
- debarch=arm$(if_enabled_echo VFP hf el)
58
+ if is_enabled CONFIG_AEABI; then
59
+ debarch=arm$(if_enabled_echo CONFIG_VFP hf el)
6060 else
6161 debarch=arm
6262 fi
....@@ -64,10 +64,10 @@
6464 openrisc)
6565 debarch=or1k ;;
6666 sh)
67
- if is_enabled CPU_SH3; then
68
- debarch=sh3$(if_enabled_echo CPU_BIG_ENDIAN eb)
69
- elif is_enabled CPU_SH4; then
70
- debarch=sh4$(if_enabled_echo CPU_BIG_ENDIAN eb)
67
+ if is_enabled CONFIG_CPU_SH3; then
68
+ debarch=sh3$(if_enabled_echo CONFIG_CPU_BIG_ENDIAN eb)
69
+ elif is_enabled CONFIG_CPU_SH4; then
70
+ debarch=sh4$(if_enabled_echo CONFIG_CPU_BIG_ENDIAN eb)
7171 fi
7272 ;;
7373 esac
....@@ -94,15 +94,15 @@
9494 packageversion=$version-$revision
9595 fi
9696 sourcename=$KDEB_SOURCENAME
97
-packagename=linux-image-$version
98
-kernel_headers_packagename=linux-headers-$version
99
-dbg_packagename=$packagename-dbg
100
-debarch=
101
-set_debarch
10297
10398 if [ "$ARCH" = "um" ] ; then
104
- packagename=user-mode-linux-$version
99
+ packagename=user-mode-linux
100
+else
101
+ packagename=linux-image
105102 fi
103
+
104
+debarch=
105
+set_debarch
106106
107107 email=${DEBEMAIL-$EMAIL}
108108
....@@ -132,8 +132,12 @@
132132 echo >&2 "Install lsb-release or set \$KDEB_CHANGELOG_DIST explicitly"
133133 fi
134134
135
-mkdir -p debian/
135
+mkdir -p debian/source/
136
+echo "1.0" > debian/source/format
137
+
136138 echo $debarch > debian/arch
139
+extra_build_depends=", $(if_enabled_echo CONFIG_UNWINDER_ORC libelf-dev:native)"
140
+extra_build_depends="$extra_build_depends, $(if_enabled_echo CONFIG_SYSTEM_TRUSTED_KEYRING libssl-dev:native)"
137141
138142 # Generate a simple changelog template
139143 cat <<EOF > debian/changelog
....@@ -170,21 +174,15 @@
170174 Section: kernel
171175 Priority: optional
172176 Maintainer: $maintainer
173
-Build-Depends: bc, kmod, cpio
174
-Homepage: http://www.kernel.org/
177
+Rules-Requires-Root: no
178
+Build-Depends: bc, rsync, kmod, cpio, bison, flex | flex:native $extra_build_depends
179
+Homepage: https://www.kernel.org/
175180
176
-Package: $packagename
181
+Package: $packagename-$version
177182 Architecture: $debarch
178183 Description: Linux kernel, version $version
179184 This package contains the Linux kernel, modules and corresponding other
180185 files, version: $version.
181
-
182
-Package: $kernel_headers_packagename
183
-Architecture: $debarch
184
-Description: Linux kernel headers for $version on $debarch
185
- This package provides kernel header files for $version on $debarch
186
- .
187
- This is useful for people who need to build external modules
188186
189187 Package: linux-libc-dev
190188 Section: devel
....@@ -193,25 +191,49 @@
193191 Description: Linux support headers for userspace development
194192 This package provides userspaces headers from the Linux kernel. These headers
195193 are used by the installed headers for GNU glibc and other system libraries.
194
+Multi-Arch: same
195
+EOF
196196
197
-Package: $dbg_packagename
197
+if is_enabled CONFIG_MODULES; then
198
+cat <<EOF >> debian/control
199
+
200
+Package: linux-headers-$version
201
+Architecture: $debarch
202
+Description: Linux kernel headers for $version on $debarch
203
+ This package provides kernel header files for $version on $debarch
204
+ .
205
+ This is useful for people who need to build external modules
206
+EOF
207
+fi
208
+
209
+if is_enabled CONFIG_DEBUG_INFO; then
210
+cat <<EOF >> debian/control
211
+
212
+Package: linux-image-$version-dbg
198213 Section: debug
199214 Architecture: $debarch
200215 Description: Linux kernel debugging symbols for $version
201216 This package will come in handy if you need to debug the kernel. It provides
202217 all the necessary debug symbols for the kernel and its modules.
203218 EOF
219
+fi
204220
205221 cat <<EOF > debian/rules
206222 #!$(command -v $MAKE) -f
207223
208
-build:
209
- \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
210
- KBUILD_BUILD_VERSION=${revision} KBUILD_SRC=
224
+srctree ?= .
211225
212
-binary-arch:
226
+build-indep:
227
+build-arch:
213228 \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
214
- KBUILD_BUILD_VERSION=${revision} KBUILD_SRC= intdeb-pkg
229
+ KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile
230
+
231
+build: build-arch
232
+
233
+binary-indep:
234
+binary-arch: build-arch
235
+ \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
236
+ KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile intdeb-pkg
215237
216238 clean:
217239 rm -rf debian/*tmp debian/files
....@@ -219,5 +241,6 @@
219241
220242 binary: binary-arch
221243 EOF
244
+chmod +x debian/rules
222245
223246 exit 0