Message ID | 20240724084655.930706-1-pvorel@suse.cz (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | kbuild: rpm-pkg: Fix C locale setup | expand |
From: Masahiro Yamada <masahiroy@kernel.org> Hi Masahiro, Linus, > Hello Linus, > Please pull Kbuild updates for v6.11-rc1 > You will get a merge conflict in scripts/Makefile.lib > It is a conflict between the following two commits: > 49636c5680b977d8a39263c6c8db6061c427346e > 712aba5543b88996bc4682086471076fbf048927 > The resolution exists in linux-next. It'd be nice to include also this tiny binrpm-pkg fix [1] for non-english locales (introduced by 301c10908e42 already merged). Kind regards, Petr [1] https://lore.kernel.org/linux-kbuild/20240724084655.930706-1-pvorel@suse.cz/ > Thank you. ...
On Wed, Jul 24, 2024 at 10:51 AM Petr Vorel <pvorel@suse.cz> wrote: > > semicolon separation in LC_ALL is wrong. Either variable needs to be > exported before as a separate commit or set as part of the commit in the > beginning. Used second variant. Reviewed-by: Miguel Ojeda <ojeda@kernel.org> Probably a typo after having removed `export`, or perhaps it was assuming a built-in `date` for some reason. Cheers, Miguel
On Wed, Jul 24, 2024 at 5:47 PM Petr Vorel <pvorel@suse.cz> wrote: > > semicolon separation in LC_ALL is wrong. Either variable needs to be > exported before as a separate commit or set as part of the commit in the > beginning. Used second variant. > > This fixes broken build on user's locale setup which makes 'date' binary > to produce invalid characters in rpm changelog (e.g. cs_CZ.UTF-8 'čec'): > > $ make binrpm-pkg > GEN rpmbuild/SPECS/kernel.spec > rpmbuild -bb rpmbuild/SPECS/kernel.spec --define='_topdirlinux/rpmbuild' \ > --target x86_64-linux --build-in-place --noprep --define='_smp_mflags \ > %{nil}' $(rpm -q rpm >/dev/null 2>&1 || echo --nodeps) > Building target platforms: x86_64-linux > Building for target x86_64-linux > error: bad date in %changelog: St čec 24 2024 user <user@somehost> > make[2]: *** [scripts/Makefile.package:71: binrpm-pkg] Error 1 > make[1]: *** [linux/Makefile:1546: binrpm-pkg] Error 2 > make: *** [Makefile:224: __sub-make] Error 2 > > Fixes: 301c10908e42 ("kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec") > Signed-off-by: Petr Vorel <pvorel@suse.cz> > --- > scripts/package/mkspec | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/package/mkspec b/scripts/package/mkspec > index ead54d67a024..4dc1466dfc81 100755 > --- a/scripts/package/mkspec > +++ b/scripts/package/mkspec > @@ -50,6 +50,6 @@ fi > cat << EOF > > %changelog > -* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}> > +* $(LC_ALL=C date +'%a %b %d %Y') ${name} <${email}> > - Custom built Linux kernel. > EOF > -- > 2.43.0 > Ah, right. Thanks. I also noticed this mistake in Rafaels' initial submission, then I suggested the correct code without the semicolon: https://lore.kernel.org/linux-kbuild/CAK7LNAQba5CDetpwevSoaOLJ21s1tO9ZHh=7gJpPCNK0AnHfJw@mail.gmail.com/ He tried to modify the code on his way over again, then I missed that he had restored the semicolon. I should have taken the code diff. :-(
On Wed, Jul 24, 2024 at 5:47 PM Petr Vorel <pvorel@suse.cz> wrote: > > semicolon separation in LC_ALL is wrong. Either variable needs to be > exported before as a separate commit or set as part of the commit in the > beginning. Used second variant. > > This fixes broken build on user's locale setup which makes 'date' binary > to produce invalid characters in rpm changelog (e.g. cs_CZ.UTF-8 'čec'): > > $ make binrpm-pkg > GEN rpmbuild/SPECS/kernel.spec > rpmbuild -bb rpmbuild/SPECS/kernel.spec --define='_topdirlinux/rpmbuild' \ > --target x86_64-linux --build-in-place --noprep --define='_smp_mflags \ > %{nil}' $(rpm -q rpm >/dev/null 2>&1 || echo --nodeps) > Building target platforms: x86_64-linux > Building for target x86_64-linux > error: bad date in %changelog: St čec 24 2024 user <user@somehost> > make[2]: *** [scripts/Makefile.package:71: binrpm-pkg] Error 1 > make[1]: *** [linux/Makefile:1546: binrpm-pkg] Error 2 > make: *** [Makefile:224: __sub-make] Error 2 > > Fixes: 301c10908e42 ("kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec") > Signed-off-by: Petr Vorel <pvorel@suse.cz> Applied to linux-kbuild/fixes. Thanks!
Hi Masahiro, > On Wed, Jul 24, 2024 at 5:47 PM Petr Vorel <pvorel@suse.cz> wrote: > > semicolon separation in LC_ALL is wrong. Either variable needs to be > > exported before as a separate commit or set as part of the commit in the > > beginning. Used second variant. > > This fixes broken build on user's locale setup which makes 'date' binary > > to produce invalid characters in rpm changelog (e.g. cs_CZ.UTF-8 'čec'): > > $ make binrpm-pkg > > GEN rpmbuild/SPECS/kernel.spec > > rpmbuild -bb rpmbuild/SPECS/kernel.spec --define='_topdirlinux/rpmbuild' \ > > --target x86_64-linux --build-in-place --noprep --define='_smp_mflags \ > > %{nil}' $(rpm -q rpm >/dev/null 2>&1 || echo --nodeps) > > Building target platforms: x86_64-linux > > Building for target x86_64-linux > > error: bad date in %changelog: St čec 24 2024 user <user@somehost> > > make[2]: *** [scripts/Makefile.package:71: binrpm-pkg] Error 1 > > make[1]: *** [linux/Makefile:1546: binrpm-pkg] Error 2 > > make: *** [Makefile:224: __sub-make] Error 2 > > Fixes: 301c10908e42 ("kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec") > > Signed-off-by: Petr Vorel <pvorel@suse.cz> > > --- > > scripts/package/mkspec | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/package/mkspec b/scripts/package/mkspec > > index ead54d67a024..4dc1466dfc81 100755 > > --- a/scripts/package/mkspec > > +++ b/scripts/package/mkspec > > @@ -50,6 +50,6 @@ fi > > cat << EOF > > %changelog > > -* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}> > > +* $(LC_ALL=C date +'%a %b %d %Y') ${name} <${email}> > > - Custom built Linux kernel. > > EOF > > -- > > 2.43.0 > Ah, right. Thanks. > I also noticed this mistake in Rafaels' initial submission, then > I suggested the correct code without the semicolon: > https://lore.kernel.org/linux-kbuild/CAK7LNAQba5CDetpwevSoaOLJ21s1tO9ZHh=7gJpPCNK0AnHfJw@mail.gmail.com/ > He tried to modify the code on his way over again, > then I missed that he had restored the semicolon. > I should have taken the code diff. > :-( Thank you for an explanation, quick review and merge! Kind regards, Petr
On Wed, Jul 24, 2024 at 10:46:55AM +0200, Petr Vorel wrote: > semicolon separation in LC_ALL is wrong. Either variable needs to be > exported before as a separate commit or set as part of the commit in the > beginning. Used second variant. > > This fixes broken build on user's locale setup which makes 'date' binary > to produce invalid characters in rpm changelog (e.g. cs_CZ.UTF-8 'čec'): > > $ make binrpm-pkg > GEN rpmbuild/SPECS/kernel.spec > rpmbuild -bb rpmbuild/SPECS/kernel.spec --define='_topdirlinux/rpmbuild' \ > --target x86_64-linux --build-in-place --noprep --define='_smp_mflags \ > %{nil}' $(rpm -q rpm >/dev/null 2>&1 || echo --nodeps) > Building target platforms: x86_64-linux > Building for target x86_64-linux > error: bad date in %changelog: St čec 24 2024 user <user@somehost> > make[2]: *** [scripts/Makefile.package:71: binrpm-pkg] Error 1 > make[1]: *** [linux/Makefile:1546: binrpm-pkg] Error 2 > make: *** [Makefile:224: __sub-make] Error 2 > > Fixes: 301c10908e42 ("kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec") > Signed-off-by: Petr Vorel <pvorel@suse.cz> > --- > scripts/package/mkspec | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/package/mkspec b/scripts/package/mkspec > index ead54d67a024..4dc1466dfc81 100755 > --- a/scripts/package/mkspec > +++ b/scripts/package/mkspec > @@ -50,6 +50,6 @@ fi > cat << EOF > > %changelog > -* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}> > +* $(LC_ALL=C date +'%a %b %d %Y') ${name} <${email}> > - Custom built Linux kernel. > EOF > -- > 2.43.0 > Acked-by: Rafael Aquini <aquini@redhat.com>
diff --git a/scripts/package/mkspec b/scripts/package/mkspec index ead54d67a024..4dc1466dfc81 100755 --- a/scripts/package/mkspec +++ b/scripts/package/mkspec @@ -50,6 +50,6 @@ fi cat << EOF %changelog -* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}> +* $(LC_ALL=C date +'%a %b %d %Y') ${name} <${email}> - Custom built Linux kernel. EOF
semicolon separation in LC_ALL is wrong. Either variable needs to be exported before as a separate commit or set as part of the commit in the beginning. Used second variant. This fixes broken build on user's locale setup which makes 'date' binary to produce invalid characters in rpm changelog (e.g. cs_CZ.UTF-8 'čec'): $ make binrpm-pkg GEN rpmbuild/SPECS/kernel.spec rpmbuild -bb rpmbuild/SPECS/kernel.spec --define='_topdirlinux/rpmbuild' \ --target x86_64-linux --build-in-place --noprep --define='_smp_mflags \ %{nil}' $(rpm -q rpm >/dev/null 2>&1 || echo --nodeps) Building target platforms: x86_64-linux Building for target x86_64-linux error: bad date in %changelog: St čec 24 2024 user <user@somehost> make[2]: *** [scripts/Makefile.package:71: binrpm-pkg] Error 1 make[1]: *** [linux/Makefile:1546: binrpm-pkg] Error 2 make: *** [Makefile:224: __sub-make] Error 2 Fixes: 301c10908e42 ("kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec") Signed-off-by: Petr Vorel <pvorel@suse.cz> --- scripts/package/mkspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)