diff mbox series

kbuild: deb-pkg: apply short --rules-file option

Message ID 20231103234247.4505-1-dmitrii.bundin.a@gmail.com (mailing list archive)
State New
Headers show
Series kbuild: deb-pkg: apply short --rules-file option | expand

Commit Message

Dmitrii Bundin Nov. 3, 2023, 11:42 p.m. UTC
The long --rules-file option might not be available for some older
versions of dpkg-buildpackage resulting in build failures. The -R option
has been available since 1.14.17 allowing builds for larger allowing
builds for larger set of versions of dpkg-buildpackage.

Signed-off-by: Dmitrii Bundin <dmitrii.bundin.a@gmail.com>
---
 scripts/Makefile.package | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Masahiro Yamada Nov. 5, 2023, 8:08 a.m. UTC | #1
On Sat, Nov 4, 2023 at 8:43 AM Dmitrii Bundin
<dmitrii.bundin.a@gmail.com> wrote:
>
> The long --rules-file option might not be available for some older
> versions of dpkg-buildpackage resulting in build failures. The -R option
> has been available since 1.14.17 allowing builds for larger allowing
> builds for larger set of versions of dpkg-buildpackage.
>
> Signed-off-by: Dmitrii Bundin <dmitrii.bundin.a@gmail.com>
> ---
>  scripts/Makefile.package | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.package b/scripts/Makefile.package
> index 2bcab02da965..0afbf5ad2919 100644
> --- a/scripts/Makefile.package
> +++ b/scripts/Makefile.package
> @@ -148,7 +148,7 @@ deb-pkg srcdeb-pkg bindeb-pkg:
>         $(if $(findstring source, $(build-type)), \
>                 --unsigned-source --compression=$(KDEB_SOURCE_COMPRESS)) \
>         $(if $(findstring binary, $(build-type)), \
> -               --rules-file='$(MAKE) -f debian/rules' --jobs=1 -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch), \
> +               -R'$(MAKE) -f debian/rules' --jobs=1 -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch), \
>                 --no-check-builddeps) \
>         $(DPKG_FLAGS))
>
> --
> 2.17.1
>


The replacement is inconsistent because you replaced
--rule-file, but kept --jobs, both of which are available
since 1.18.8



-j, --jobs[=jobs|auto]
   Specifies  the  number  of  jobs  allowed  to be run simultaneously
   (since dpkg 1.14.7, long option since dpkg 1.18.8).

-R, --rules-file=rules‐file
   Building  a  Debian package usually involves invoking debian/rules
   as a command with several standard parameters (since dpkg 1.14.17,
   long option since dpkg 1.18.8).


I do not think it is a big deal because the version 1.18.8
was released in 2016.
Dmitrii Bundin Nov. 5, 2023, 9:55 p.m. UTC | #2
On Sun, Nov 5, 2023 at 11:08 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
>
> I do not think it is a big deal because the version 1.18.8
> was released in 2016.
>
> Best Regards
> Masahiro Yamada

Even in spite of being documented that way the long option
--rules-file was fixed to behave the way it currently does in the
commit 5cd52673aabdf5eaa58181972119a41041fc85f2 of dpkg dated dated
23.07.18 and become available starting 1.19.1. That might cause build
failures for some versions newer than 1.18.8. I faced
dpkg-buildpackage: error: unknown option or argument --rules-file when
building the Kernel using Debian dpkg-buildpackage version 1.19.0.5
having no errors for --jobs. To avoid such inconsistencies I think it
might be useful to apply short options that are guaranteed to be
available starting 1.14.7.
diff mbox series

Patch

diff --git a/scripts/Makefile.package b/scripts/Makefile.package
index 2bcab02da965..0afbf5ad2919 100644
--- a/scripts/Makefile.package
+++ b/scripts/Makefile.package
@@ -148,7 +148,7 @@  deb-pkg srcdeb-pkg bindeb-pkg:
 	$(if $(findstring source, $(build-type)), \
 		--unsigned-source --compression=$(KDEB_SOURCE_COMPRESS)) \
 	$(if $(findstring binary, $(build-type)), \
-		--rules-file='$(MAKE) -f debian/rules' --jobs=1 -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch), \
+		-R'$(MAKE) -f debian/rules' --jobs=1 -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch), \
 		--no-check-builddeps) \
 	$(DPKG_FLAGS))