Skip to content

Commit d18bc00

Browse files
committed
backports: bindeb-pkg: from: linux.git
Reference: v5.2.21 Signed-off-by: Robert Nelson <[email protected]>
1 parent b373fcc commit d18bc00

File tree

5 files changed

+65
-51
lines changed

5 files changed

+65
-51
lines changed

scripts/package/Makefile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
12
# Makefile for the different targets used to generate full packages of a kernel
23
# It uses the generic clean infrastructure of kbuild
34

@@ -33,7 +34,6 @@ MKSPEC := $(srctree)/scripts/package/mkspec
3334

3435
quiet_cmd_src_tar = TAR $(2).tar.gz
3536
cmd_src_tar = \
36-
set -e; \
3737
if test "$(objtree)" != "$(srctree)"; then \
3838
echo >&2; \
3939
echo >&2 " ERROR:"; \
@@ -60,7 +60,7 @@ rpm-pkg: FORCE
6060
# binrpm-pkg
6161
# ---------------------------------------------------------------------------
6262
binrpm-pkg: FORCE
63-
$(MAKE) KBUILD_SRC=
63+
$(MAKE) -f $(srctree)/Makefile
6464
$(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec
6565
+rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \
6666
$(UTS_MACHINE) -bb $(objtree)/binkernel.spec
@@ -73,11 +73,11 @@ deb-pkg: FORCE
7373
$(call cmd,src_tar,$(KDEB_SOURCENAME))
7474
origversion=$$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$$//');\
7575
mv $(KDEB_SOURCENAME).tar.gz ../$(KDEB_SOURCENAME)_$${origversion}.orig.tar.gz
76-
+dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -i.git -us -uc
76+
+dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) -i.git -us -uc
7777

7878
bindeb-pkg: FORCE
7979
$(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
80-
+dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -b -nc -uc
80+
+dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) -b -nc -uc
8181

8282
intdeb-pkg: FORCE
8383
+$(CONFIG_SHELL) $(srctree)/scripts/package/builddeb
@@ -103,8 +103,8 @@ clean-dirs += $(objtree)/snap/
103103
# tarball targets
104104
# ---------------------------------------------------------------------------
105105
tar%pkg: FORCE
106-
$(MAKE) KBUILD_SRC=
107-
$(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@
106+
$(MAKE) -f $(srctree)/Makefile
107+
+$(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@
108108

109109
clean-dirs += $(objtree)/tar-install/
110110

scripts/package/builddeb

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,18 @@
1212

1313
set -e
1414

15+
is_enabled() {
16+
grep -q "^$1=y" include/config/auto.conf
17+
}
18+
19+
if_enabled_echo() {
20+
if is_enabled "$1"; then
21+
echo -n "$2"
22+
elif [ $# -ge 3 ]; then
23+
echo -n "$3"
24+
fi
25+
}
26+
1527
create_package() {
1628
local pname="$1" pdir="$2"
1729

@@ -62,7 +74,7 @@ parisc|mips|powerpc)
6274
installed_image_path="boot/vmlinuz-$version"
6375
esac
6476

65-
BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)"
77+
BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes)
6678

6779
# Setup the directory structure
6880
rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files
@@ -83,15 +95,15 @@ else
8395
fi
8496
cp "$($MAKE -s -f $srctree/Makefile image_name)" "$tmpdir/$installed_image_path"
8597

86-
if grep -q "^CONFIG_OF=y" $KCONFIG_CONFIG ; then
98+
if is_enabled CONFIG_OF_EARLY_FLATTREE; then
8799
# Only some architectures with OF support have this target
88-
if grep -q dtbs_install "${srctree}/arch/$SRCARCH/Makefile"; then
89-
$MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install
100+
if [ -d "${srctree}/arch/$SRCARCH/boot/dts" ]; then
101+
$MAKE -f $srctree/Makefile INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install
90102
fi
91103
fi
92104

93-
if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then
94-
INSTALL_MOD_PATH="$tmpdir" $MAKE KBUILD_SRC= modules_install
105+
if is_enabled CONFIG_MODULES; then
106+
INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_install
95107
rm -f "$tmpdir/lib/modules/$version/build"
96108
rm -f "$tmpdir/lib/modules/$version/source"
97109
if [ "$ARCH" = "um" ] ; then
@@ -111,16 +123,15 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then
111123
done
112124

113125
# resign stripped modules
114-
MODULE_SIG_ALL="$(grep -s '^CONFIG_MODULE_SIG_ALL=y' $KCONFIG_CONFIG || true)"
115-
if [ -n "$MODULE_SIG_ALL" ]; then
116-
INSTALL_MOD_PATH="$tmpdir" $MAKE KBUILD_SRC= modules_sign
126+
if is_enabled CONFIG_MODULE_SIG_ALL; then
127+
INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_sign
117128
fi
118129
fi
119130
fi
120131

121132
if [ "$ARCH" != "um" ]; then
122-
$MAKE headers_check KBUILD_SRC=
123-
$MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr"
133+
$MAKE -f $srctree/Makefile headers_check
134+
$MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr"
124135
fi
125136

126137
# Install the maintainer scripts
@@ -129,11 +140,6 @@ fi
129140
# make-kpkg sets $INITRD to indicate whether an initramfs is wanted, and
130141
# so do we; recent versions of dracut and initramfs-tools will obey this.
131142
debhookdir=${KDEB_HOOKDIR:-/etc/kernel}
132-
if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then
133-
want_initrd=Yes
134-
else
135-
want_initrd=No
136-
fi
137143
for script in postinst postrm preinst prerm ; do
138144
mkdir -p "$tmpdir$debhookdir/$script.d"
139145
cat <<EOF > "$tmpdir/DEBIAN/$script"
@@ -145,7 +151,7 @@ set -e
145151
export DEB_MAINT_PARAMS="\$*"
146152
147153
# Tell initramfs builder whether it's wanted
148-
export INITRD=$want_initrd
154+
export INITRD=$(if_enabled_echo CONFIG_BLK_DEV_INITRD Yes No)
149155
150156
test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d
151157
exit 0
@@ -158,11 +164,11 @@ done
158164
(cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles"
159165
(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
160166
(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles"
161-
if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
167+
if is_enabled CONFIG_STACK_VALIDATION; then
162168
(cd $objtree; find tools/objtool -type f -executable) >> "$objtree/debian/hdrobjfiles"
163169
fi
164170
(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles"
165-
if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
171+
if is_enabled CONFIG_GCC_PLUGINS; then
166172
(cd $objtree; find scripts/gcc-plugins -name \*.so -o -name gcc-common.h) >> "$objtree/debian/hdrobjfiles"
167173
fi
168174
destdir=$kernel_headers_dir/usr/src/linux-headers-$version

scripts/package/buildtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ dirs=boot
5656
#
5757
# Try to install modules
5858
#
59-
if grep -q '^CONFIG_MODULES=y' "${KCONFIG_CONFIG}"; then
60-
make ARCH="${ARCH}" O="${objtree}" KBUILD_SRC= INSTALL_MOD_PATH="${tmpdir}" modules_install
59+
if grep -q '^CONFIG_MODULES=y' include/config/auto.conf; then
60+
make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_MOD_PATH="${tmpdir}" modules_install
6161
dirs="$dirs lib"
6262
fi
6363

scripts/package/mkdebian

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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,43 +31,43 @@ set_debarch() {
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
5454
;;
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
6363
;;
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
@@ -132,8 +132,12 @@ else
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)"
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,7 +174,7 @@ Source: $sourcename
170174
Section: kernel
171175
Priority: optional
172176
Maintainer: $maintainer
173-
Build-Depends: bc, kmod, cpio
177+
Build-Depends: bc, kmod, cpio, bison, flex | flex:native $extra_build_depends
174178
Homepage: http://www.kernel.org/
175179
176180
Package: $packagename
@@ -205,19 +209,22 @@ EOF
205209
cat <<EOF > debian/rules
206210
#!$(command -v $MAKE) -f
207211
212+
srctree ?= .
213+
208214
build:
209215
\$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
210-
KBUILD_BUILD_VERSION=${revision} KBUILD_SRC=
216+
KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile
211217
212218
binary-arch:
213219
\$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
214-
KBUILD_BUILD_VERSION=${revision} KBUILD_SRC= intdeb-pkg
220+
KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile intdeb-pkg
215221
216222
clean:
217223
rm -rf debian/*tmp debian/files
218224
\$(MAKE) clean
219225
220226
binary: binary-arch
221227
EOF
228+
chmod +x debian/rules
222229

223230
exit 0

scripts/package/mkspec

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# how we were called determines which rpms we build and how we build them
1313
if [ "$1" = prebuilt ]; then
1414
S=DEL
15+
MAKE="$MAKE -f $srctree/Makefile"
1516
else
1617
S=
1718
fi
@@ -78,19 +79,19 @@ $S %prep
7879
$S %setup -q
7980
$S
8081
$S %build
81-
$S make %{?_smp_mflags} KBUILD_BUILD_VERSION=%{release}
82+
$S $MAKE %{?_smp_mflags} KBUILD_BUILD_VERSION=%{release}
8283
$S
8384
%install
8485
mkdir -p %{buildroot}/boot
8586
%ifarch ia64
8687
mkdir -p %{buildroot}/boot/efi
87-
cp \$(make image_name) %{buildroot}/boot/efi/vmlinuz-$KERNELRELEASE
88+
cp \$($MAKE image_name) %{buildroot}/boot/efi/vmlinuz-$KERNELRELEASE
8889
ln -s efi/vmlinuz-$KERNELRELEASE %{buildroot}/boot/
8990
%else
90-
cp \$(make image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE
91+
cp \$($MAKE image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE
9192
%endif
92-
$M make %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} KBUILD_SRC= modules_install
93-
make %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr KBUILD_SRC= headers_install
93+
$M $MAKE %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install
94+
$MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
9495
cp System.map %{buildroot}/boot/System.map-$KERNELRELEASE
9596
cp .config %{buildroot}/boot/config-$KERNELRELEASE
9697
bzip2 -9 --keep vmlinux

0 commit comments

Comments
 (0)