Message ID | 20230729143814.1509196-2-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] kbuild: deb-pkg: use Debian compliant shebang for debian/rules | expand |
On Sat 29 Jul 2023 23:38:14 GMT, Masahiro Yamada wrote: > debian/rules is generated by shell scripting, but the escape sequence > (\$) is unreadable. > > debian/rules embeds only two variables (ARCH and KERNELRELEASE). > > Split them out to debian/rules.vars, and check-in the rest of Makefile > code to scripts/package/debian/rules. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > scripts/package/debian/rules | 28 ++++++++++++++++++++++++++++ > scripts/package/mkdebian | 32 ++++---------------------------- > 2 files changed, 32 insertions(+), 28 deletions(-) > create mode 100755 scripts/package/debian/rules > > diff --git a/scripts/package/debian/rules b/scripts/package/debian/rules > new file mode 100755 > index 000000000000..a4e5ab5abdd9 > --- /dev/null > +++ b/scripts/package/debian/rules > @@ -0,0 +1,28 @@ > +#!/usr/bin/make -f > +# SPDX-License-Identifier: GPL-2.0-only > + > +srctree ?= . > + > +include debian/rules.vars > + > +.PHONY: binary binary-indep binary-arch > +binary: binary-arch binary-indep > +binary-indep: build-indep > +binary-arch: build-arch > + $(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) \ > + KERNELRELEASE=$(KERNELRELEASE) \ > + run-command KBUILD_RUN_COMMAND=+$(srctree)/scripts/package/builddeb > + > +.PHONY: build build-indep build-arch > +build: build-arch build-indep > +build-indep: > +build-arch: > + $(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) \ > + KERNELRELEASE=$(KERNELRELEASE) \ > + $(shell $(srctree)/scripts/package/deb-build-option) \ > + olddefconfig all > + > +.PHONY: clean > +clean: > + rm -rf debian/files debian/linux-* > + $(MAKE) -f $(srctree)/Makefile ARCH=${ARCH} clean possibly use '$(ARCH)' instead of '${ARCH}' here, too? Tested-by: Nicolas Schier <nicolas@fjasle.eu> Reviewed-by: Nicolas Schier <nicolas@fjasle.eu> > diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian > index 2829f5b8aea6..498b579c6320 100755 > --- a/scripts/package/mkdebian > +++ b/scripts/package/mkdebian > @@ -263,35 +263,11 @@ Description: Linux kernel debugging symbols for $version > EOF > fi > > -cat <<EOF > debian/rules > -#!/usr/bin/make -f > - > -srctree ?= . > +cat <<EOF > debian/rules.vars > +ARCH = ${ARCH} > KERNELRELEASE = ${KERNELRELEASE} > - > -.PHONY: clean build build-arch build-indep binary binary-arch binary-indep > - > -build-indep: > -build-arch: > - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \ > - KERNELRELEASE=\$(KERNELRELEASE) \ > - \$(shell \$(srctree)/scripts/package/deb-build-option) \ > - olddefconfig all > - > -build: build-arch > - > -binary-indep: > -binary-arch: build-arch > - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \ > - KERNELRELEASE=\$(KERNELRELEASE) \ > - run-command KBUILD_RUN_COMMAND=+\$(srctree)/scripts/package/builddeb > - > -clean: > - rm -rf debian/files debian/linux-* > - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} clean > - > -binary: binary-arch > EOF > -chmod +x debian/rules > + > +cp ${srctree}/scripts/package/debian/rules debian/ > > exit 0 > -- > 2.39.2
On Sun, Jul 30, 2023 at 3:23 AM Nicolas Schier <nicolas@fjasle.eu> wrote: > > On Sat 29 Jul 2023 23:38:14 GMT, Masahiro Yamada wrote: > > debian/rules is generated by shell scripting, but the escape sequence > > (\$) is unreadable. > > > > debian/rules embeds only two variables (ARCH and KERNELRELEASE). > > > > Split them out to debian/rules.vars, and check-in the rest of Makefile > > code to scripts/package/debian/rules. > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > scripts/package/debian/rules | 28 ++++++++++++++++++++++++++++ > > scripts/package/mkdebian | 32 ++++---------------------------- > > 2 files changed, 32 insertions(+), 28 deletions(-) > > create mode 100755 scripts/package/debian/rules > > > > diff --git a/scripts/package/debian/rules b/scripts/package/debian/rules > > new file mode 100755 > > index 000000000000..a4e5ab5abdd9 > > --- /dev/null > > +++ b/scripts/package/debian/rules > > @@ -0,0 +1,28 @@ > > +#!/usr/bin/make -f > > +# SPDX-License-Identifier: GPL-2.0-only > > + > > +srctree ?= . > > + > > +include debian/rules.vars > > + > > +.PHONY: binary binary-indep binary-arch > > +binary: binary-arch binary-indep > > +binary-indep: build-indep > > +binary-arch: build-arch > > + $(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) \ > > + KERNELRELEASE=$(KERNELRELEASE) \ > > + run-command KBUILD_RUN_COMMAND=+$(srctree)/scripts/package/builddeb > > + > > +.PHONY: build build-indep build-arch > > +build: build-arch build-indep > > +build-indep: > > +build-arch: > > + $(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) \ > > + KERNELRELEASE=$(KERNELRELEASE) \ > > + $(shell $(srctree)/scripts/package/deb-build-option) \ > > + olddefconfig all > > + > > +.PHONY: clean > > +clean: > > + rm -rf debian/files debian/linux-* > > + $(MAKE) -f $(srctree)/Makefile ARCH=${ARCH} clean > > possibly use '$(ARCH)' instead of '${ARCH}' here, too? Thanks, I will fix it in v2.
diff --git a/scripts/package/debian/rules b/scripts/package/debian/rules new file mode 100755 index 000000000000..a4e5ab5abdd9 --- /dev/null +++ b/scripts/package/debian/rules @@ -0,0 +1,28 @@ +#!/usr/bin/make -f +# SPDX-License-Identifier: GPL-2.0-only + +srctree ?= . + +include debian/rules.vars + +.PHONY: binary binary-indep binary-arch +binary: binary-arch binary-indep +binary-indep: build-indep +binary-arch: build-arch + $(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) \ + KERNELRELEASE=$(KERNELRELEASE) \ + run-command KBUILD_RUN_COMMAND=+$(srctree)/scripts/package/builddeb + +.PHONY: build build-indep build-arch +build: build-arch build-indep +build-indep: +build-arch: + $(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) \ + KERNELRELEASE=$(KERNELRELEASE) \ + $(shell $(srctree)/scripts/package/deb-build-option) \ + olddefconfig all + +.PHONY: clean +clean: + rm -rf debian/files debian/linux-* + $(MAKE) -f $(srctree)/Makefile ARCH=${ARCH} clean diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian index 2829f5b8aea6..498b579c6320 100755 --- a/scripts/package/mkdebian +++ b/scripts/package/mkdebian @@ -263,35 +263,11 @@ Description: Linux kernel debugging symbols for $version EOF fi -cat <<EOF > debian/rules -#!/usr/bin/make -f - -srctree ?= . +cat <<EOF > debian/rules.vars +ARCH = ${ARCH} KERNELRELEASE = ${KERNELRELEASE} - -.PHONY: clean build build-arch build-indep binary binary-arch binary-indep - -build-indep: -build-arch: - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \ - KERNELRELEASE=\$(KERNELRELEASE) \ - \$(shell \$(srctree)/scripts/package/deb-build-option) \ - olddefconfig all - -build: build-arch - -binary-indep: -binary-arch: build-arch - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \ - KERNELRELEASE=\$(KERNELRELEASE) \ - run-command KBUILD_RUN_COMMAND=+\$(srctree)/scripts/package/builddeb - -clean: - rm -rf debian/files debian/linux-* - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} clean - -binary: binary-arch EOF -chmod +x debian/rules + +cp ${srctree}/scripts/package/debian/rules debian/ exit 0
debian/rules is generated by shell scripting, but the escape sequence (\$) is unreadable. debian/rules embeds only two variables (ARCH and KERNELRELEASE). Split them out to debian/rules.vars, and check-in the rest of Makefile code to scripts/package/debian/rules. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- scripts/package/debian/rules | 28 ++++++++++++++++++++++++++++ scripts/package/mkdebian | 32 ++++---------------------------- 2 files changed, 32 insertions(+), 28 deletions(-) create mode 100755 scripts/package/debian/rules