All of lore.kernel.org
 help / color / mirror / Atom feed
* GRUB 2.06~rc1 released
@ 2021-03-12 19:57 Daniel Kiper
  2021-03-12 20:22 ` Vladimir 'phcoder' Serbinenko
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Daniel Kiper @ 2021-03-12 19:57 UTC (permalink / raw)
  To: grub-devel

[-- Attachment #1: Type: text/plain, Size: 1563 bytes --]

Hi all,

The GRUB maintainers are proud to announce the GRUB 2.06~rc1 that has
been just released.

We would like to thank all the people who have contributed to the project.

The tarball is available at https://alpha.gnu.org/gnu/grub/grub-2.06~rc1.tar.xz
and its signature at https://alpha.gnu.org/gnu/grub/grub-2.06~rc1.tar.xz.sig

Release is signed with the following fingerprint:
  BE5C 2320 9ACD DACE B20D  B0A2 8C81 89F1 988C 2166

It's also available as a signed grub-2.06-rc1 tag in official git repository.

If you do not have xz support alternatively you may consider file
https://alpha.gnu.org/gnu/grub/grub-2.06~rc1.tar.gz and its signature at
https://alpha.gnu.org/gnu/grub/grub-2.06~rc1.tar.gz.sig

If you want a binary version for Windows (i386-pc, i386-efi and x86_64-efi
flavors) it is available under https://alpha.gnu.org/gnu/grub/grub-2.06~rc1-for-windows.zip
and its signature at https://alpha.gnu.org/gnu/grub/grub-2.06~rc1-for-windows.zip.sig

Translators can use http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot for translation.
The pot signature is available at http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot.sig

Please test this release candidate. If we do not spot major issues we are going
to release 2.06 in a month or so.

In the meantime we will be looking mostly at the patches fixing tests and
documentation posted on grub-devel up until now. If time allows we will also be
looking at the patches which introduces new interesting features which should be
merged after 2.06 official release.

Have a nice weekend,

Daniel

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-12 19:57 GRUB 2.06~rc1 released Daniel Kiper
@ 2021-03-12 20:22 ` Vladimir 'phcoder' Serbinenko
  2021-03-12 21:30 ` Bruce Dubbs
  2021-03-22 15:31 ` Miguel Ángel Arruga Vivas
  2 siblings, 0 replies; 10+ messages in thread
From: Vladimir 'phcoder' Serbinenko @ 2021-03-12 20:22 UTC (permalink / raw)
  To: The development of GNU GRUB, coordinator

[-- Attachment #1: Type: text/plain, Size: 1979 bytes --]

Erwin, can you upload new pot file please?

Le ven. 12 mars 2021 à 21:02, Daniel Kiper <daniel.kiper@oracle.com> a
écrit :

> Hi all,
>
> The GRUB maintainers are proud to announce the GRUB 2.06~rc1 that has
> been just released.
>
> We would like to thank all the people who have contributed to the project.
>
> The tarball is available at
> https://alpha.gnu.org/gnu/grub/grub-2.06~rc1.tar.xz
> and its signature at
> https://alpha.gnu.org/gnu/grub/grub-2.06~rc1.tar.xz.sig
>
> Release is signed with the following fingerprint:
>   BE5C 2320 9ACD DACE B20D  B0A2 8C81 89F1 988C 2166
>
> It's also available as a signed grub-2.06-rc1 tag in official git
> repository.
>
> If you do not have xz support alternatively you may consider file
> https://alpha.gnu.org/gnu/grub/grub-2.06~rc1.tar.gz and its signature at
> https://alpha.gnu.org/gnu/grub/grub-2.06~rc1.tar.gz.sig
>
> If you want a binary version for Windows (i386-pc, i386-efi and x86_64-efi
> flavors) it is available under
> https://alpha.gnu.org/gnu/grub/grub-2.06~rc1-for-windows.zip
> and its signature at
> https://alpha.gnu.org/gnu/grub/grub-2.06~rc1-for-windows.zip.sig
>
> Translators can use http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot
> for translation.
> The pot signature is available at
> http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot.sig
>
> Please test this release candidate. If we do not spot major issues we are
> going
> to release 2.06 in a month or so.
>
> In the meantime we will be looking mostly at the patches fixing tests and
> documentation posted on grub-devel up until now. If time allows we will
> also be
> looking at the patches which introduces new interesting features which
> should be
> merged after 2.06 official release.
>
> Have a nice weekend,
>
> Daniel
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>

[-- Attachment #2: Type: text/html, Size: 3402 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-12 19:57 GRUB 2.06~rc1 released Daniel Kiper
  2021-03-12 20:22 ` Vladimir 'phcoder' Serbinenko
@ 2021-03-12 21:30 ` Bruce Dubbs
  2021-03-12 23:25   ` Glenn Washburn
  2021-03-22 15:31 ` Miguel Ángel Arruga Vivas
  2 siblings, 1 reply; 10+ messages in thread
From: Bruce Dubbs @ 2021-03-12 21:30 UTC (permalink / raw)
  To: grub-devel

On 3/12/21 1:57 PM, Daniel Kiper wrote:
> Hi all,
> 
> The GRUB maintainers are proud to announce the GRUB 2.06~rc1 that has
> been just released.

Congratulations.

For LFS, we do a very simple build in a sparse environment.  Here are a 
few observations.

We use:

./configure --prefix=/usr          \
             --sbindir=/sbin        \
             --sysconfdir=/etc      \
             --disable-efiemu       \
             --disable-werror

That works cleanly.  However there are two files that generate warnings:

./grub-core/script/parser.y:92.1-12: warning: deprecated directive: 
‘%pure-parser’, use ‘%define api.pure’ [-Wdeprecated]
    92 | %pure-parser
       | ^~~~~~~~~~~~
       | %define api.pure

./grub-core/script/parser.y: warning: fix-its can be applied.  Rerun 
with option '--update'. [-Wother]

grub-core/lib/libgcrypt-grub/cipher/rijndael.c: In function ‘do_setkey’:
grub-core/lib/libgcrypt-grub/cipher/rijndael.c:229:9: warning: suggest 
braces around empty body in an ‘if’ statement [-Wempty-body]
   229 |         ;
       |         ^

grub-core/lib/libgcrypt-grub/cipher/rijndael.c:352:21: warning: 
comparison of integer expressions of different signedness: ‘int’ and 
‘unsigned int’ [-Wsign-compare]
   352 |       for (i = 0; i < keylen; i++)
       |                     ^

It seems that the above is run twice by make, but the fixes are trivial.

For make check, I get 43 failures.  Many appear to be due to our sparse 
environment.  In most cases I think these tests should be SKIP instead 
of FAIL, but I'll follow up with a more detailed report later.

   -- Bruce
      linuxfromscratch.org


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-12 21:30 ` Bruce Dubbs
@ 2021-03-12 23:25   ` Glenn Washburn
  2021-03-12 23:48     ` Bruce Dubbs
  0 siblings, 1 reply; 10+ messages in thread
From: Glenn Washburn @ 2021-03-12 23:25 UTC (permalink / raw)
  To: Bruce Dubbs; +Cc: The development of GNU GRUB

Hi Bruce,

On Fri, 12 Mar 2021 15:30:01 -0600
Bruce Dubbs <bruce.dubbs@gmail.com> wrote:

> On 3/12/21 1:57 PM, Daniel Kiper wrote:
> > Hi all,
> > 
> > The GRUB maintainers are proud to announce the GRUB 2.06~rc1 that
> > has been just released.
> 
> Congratulations.
> 
> For LFS, we do a very simple build in a sparse environment.  Here are
> a few observations.
> 
> We use:
> 
> ./configure --prefix=/usr          \
>              --sbindir=/sbin        \
>              --sysconfdir=/etc      \
>              --disable-efiemu       \
>              --disable-werror
> 
> That works cleanly.  However there are two files that generate
> warnings:
> 
> ./grub-core/script/parser.y:92.1-12: warning: deprecated directive: 
> ‘%pure-parser’, use ‘%define api.pure’ [-Wdeprecated]
>     92 | %pure-parser
>        | ^~~~~~~~~~~~
>        | %define api.pure
> 
> ./grub-core/script/parser.y: warning: fix-its can be applied.  Rerun 
> with option '--update'. [-Wother]
> 
> grub-core/lib/libgcrypt-grub/cipher/rijndael.c: In function
> ‘do_setkey’: grub-core/lib/libgcrypt-grub/cipher/rijndael.c:229:9:
> warning: suggest braces around empty body in an ‘if’ statement
> [-Wempty-body] 229 |         ;
>        |         ^
> 
> grub-core/lib/libgcrypt-grub/cipher/rijndael.c:352:21: warning: 
> comparison of integer expressions of different signedness: ‘int’ and 
> ‘unsigned int’ [-Wsign-compare]
>    352 |       for (i = 0; i < keylen; i++)
>        |                     ^
> 
> It seems that the above is run twice by make, but the fixes are
> trivial.

I'm curious, what compiler and version are you using?

> For make check, I get 43 failures.  Many appear to be due to our
> sparse environment.  In most cases I think these tests should be SKIP
> instead of FAIL, but I'll follow up with a more detailed report later.

I'm looking forward to the report. I think ideally the tests should use
a very minimal common set of utilities (with some obvious exceptions
like qemu and mkfs.*). The tests should only SKIP if its not an
appropriate test for the configured target. More likely, they should
ERROR to indicated that there was a failure to run the test, not a
failure of what the test was testing. This lets the tester know that
there's likely an environmental issue that needs to be fixed to get
tests working as they should.

Glenn

>    -- Bruce
>       linuxfromscratch.org
> 
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-12 23:25   ` Glenn Washburn
@ 2021-03-12 23:48     ` Bruce Dubbs
  2021-03-13 22:13       ` Bruce Dubbs
  2021-03-14  4:40       ` Glenn Washburn
  0 siblings, 2 replies; 10+ messages in thread
From: Bruce Dubbs @ 2021-03-12 23:48 UTC (permalink / raw)
  To: development; +Cc: The development of GNU GRUB

On 3/12/21 5:25 PM, Glenn Washburn wrote:
> Hi Bruce,
> 
> On Fri, 12 Mar 2021 15:30:01 -0600
> Bruce Dubbs <bruce.dubbs@gmail.com> wrote:
> 
>> On 3/12/21 1:57 PM, Daniel Kiper wrote:
>>> Hi all,
>>>
>>> The GRUB maintainers are proud to announce the GRUB 2.06~rc1 that
>>> has been just released.
>>
>> Congratulations.
>>
>> For LFS, we do a very simple build in a sparse environment.  Here are
>> a few observations.
>>
>> We use:
>>
>> ./configure --prefix=/usr          \
>>               --sbindir=/sbin        \
>>               --sysconfdir=/etc      \
>>               --disable-efiemu       \
>>               --disable-werror
>>
>> That works cleanly.  However there are two files that generate
>> warnings:
>>
>> ./grub-core/script/parser.y:92.1-12: warning: deprecated directive:
>> ‘%pure-parser’, use ‘%define api.pure’ [-Wdeprecated]
>>      92 | %pure-parser
>>         | ^~~~~~~~~~~~
>>         | %define api.pure
>>
>> ./grub-core/script/parser.y: warning: fix-its can be applied.  Rerun
>> with option '--update'. [-Wother]
>>
>> grub-core/lib/libgcrypt-grub/cipher/rijndael.c: In function
>> ‘do_setkey’: grub-core/lib/libgcrypt-grub/cipher/rijndael.c:229:9:
>> warning: suggest braces around empty body in an ‘if’ statement
>> [-Wempty-body] 229 |         ;
>>         |         ^
>>
>> grub-core/lib/libgcrypt-grub/cipher/rijndael.c:352:21: warning:
>> comparison of integer expressions of different signedness: ‘int’ and
>> ‘unsigned int’ [-Wsign-compare]
>>     352 |       for (i = 0; i < keylen; i++)
>>         |                     ^
>>
>> It seems that the above is run twice by make, but the fixes are
>> trivial.
> 
> I'm curious, what compiler and version are you using?

$ gcc --version
gcc (GCC) 10.2.0

$ bison --version
bison (GNU Bison) 3.7.5

>> For make check, I get 43 failures.  Many appear to be due to our
>> sparse environment.  In most cases I think these tests should be SKIP
>> instead of FAIL, but I'll follow up with a more detailed report later.
> 
> I'm looking forward to the report. I think ideally the tests should use
> a very minimal common set of utilities (with some obvious exceptions
> like qemu and mkfs.*). The tests should only SKIP if its not an
> appropriate test for the configured target. More likely, they should
> ERROR to indicated that there was a failure to run the test, not a
> failure of what the test was testing. This lets the tester know that
> there's likely an environmental issue that needs to be fixed to get
> tests working as they should.

That's an interesting perspective.  To my mind the failure of a test can 
be due to a problem with the grub code, the grub test, or the 
environment of the test system.  In my case I'm sure that most of the 
failures, if not all, are due to the test environment.  In my full 
environment, I only have qemu-system-x86_64, so I'll need to fix that. I 
should have everything else needed, but need to double check.

   -- Bruce



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-12 23:48     ` Bruce Dubbs
@ 2021-03-13 22:13       ` Bruce Dubbs
  2021-03-14  5:08         ` Glenn Washburn
  2021-03-14  4:40       ` Glenn Washburn
  1 sibling, 1 reply; 10+ messages in thread
From: Bruce Dubbs @ 2021-03-13 22:13 UTC (permalink / raw)
  To: development; +Cc: The development of GNU GRUB

On 3/12/21 5:48 PM, Bruce Dubbs wrote:
> On 3/12/21 5:25 PM, Glenn Washburn wrote:
>> Hi Bruce,
>>
>> On Fri, 12 Mar 2021 15:30:01 -0600
>> Bruce Dubbs <bruce.dubbs@gmail.com> wrote:
>>
>>> On 3/12/21 1:57 PM, Daniel Kiper wrote:

[snip]

>>> For LFS, we do a very simple build in a sparse environment.  Here are
>>> a few observations.
>>>
>>> We use:
>>>
>>> ./configure --prefix=/usr          \
>>>               --sbindir=/sbin        \
>>>               --sysconfdir=/etc      \
>>>               --disable-efiemu       \
>>>               --disable-werror

[snip]

>> I'm curious, what compiler and version are you using?
> 
> $ gcc --version
> gcc (GCC) 10.2.0
> 
> $ bison --version
> bison (GNU Bison) 3.7.5
> 
>>> For make check, I get 43 failures.  Many appear to be due to our
>>> sparse environment.  In most cases I think these tests should be SKIP
>>> instead of FAIL, but I'll follow up with a more detailed report later.
>>
>> I'm looking forward to the report. I think ideally the tests should use
>> a very minimal common set of utilities (with some obvious exceptions
>> like qemu and mkfs.*). The tests should only SKIP if its not an
>> appropriate test for the configured target. More likely, they should
>> ERROR to indicated that there was a failure to run the test, not a
>> failure of what the test was testing. This lets the tester know that
>> there's likely an environmental issue that needs to be fixed to get
>> tests working as they should.

I'll note that several tests require being run as the root user.  I 
cannot find where that is specified.  I only figured that out by 
directly looking at the test scripts.

When I build in a full LFS/BLFS system I get:

# TOTAL: 82
# PASS:  67
# SKIP:  11
# XFAIL: 0
# FAIL:  4
# XPASS: 0
# ERROR: 0

The SKIPs are due to not having the expected executables.
squashfs_test
hfsplus_test
minixfs_test
f2fs_test
nilfs2_test
romfs_test
exfat_test
udf_test
hfs_test
zfs_test
lzocompress_test
   This test depends on an lzop executable which in not a part of the
   xz-5.2.5 distribution.  I found it is from a lzop source package which
   is new to us at LFS.

I doubt many systems will have most of the the software needed for these 
tests, but perhaps a listing of what GRUB expects would be useful.

The FAILing tests are a bit more troubling:
reiserfs_test
   mount: /tmp/tmp.t6gBOmoH4g/reiserfs_old_rw: can't read superblock on
   /dev/loop0.
   MOUNT FAILED.

   I have reiserfsprogs-3.6.27 installed.
   ----
fat_test
   mkfs.vfat: Labels with characters *?.,;:/\|+=<>[]" are not allowed
   mkfs.fat 4.2 (2021-01-31)
   FAIL fat_test (exit status: 1)

   I have dosfstools-4.2 installed.
   ----
btrfs_test
   ERROR: invalid sectorsize 256, expected range is [4K, 64K]
   btrfs-progs v5.10.1
   See http://btrfs.wiki.kernel.org for more information.
   FAIL btrfs_test (exit status: 1)

   I have btrfs-progs-v5.10.1 installed.
   ----
grub_func_test
   FAIL grub_func_test (exit status: 1)

   I cannot determine from the test what is expected.
   ----

It would appear that many of the GRUB regression test results are distro 
specific and not really GRUB tests.

   -- Bruce


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-12 23:48     ` Bruce Dubbs
  2021-03-13 22:13       ` Bruce Dubbs
@ 2021-03-14  4:40       ` Glenn Washburn
  1 sibling, 0 replies; 10+ messages in thread
From: Glenn Washburn @ 2021-03-14  4:40 UTC (permalink / raw)
  To: Bruce Dubbs; +Cc: The development of GNU GRUB

On Fri, 12 Mar 2021 17:48:27 -0600
Bruce Dubbs <bruce.dubbs@gmail.com> wrote:

> On 3/12/21 5:25 PM, Glenn Washburn wrote:
> > Hi Bruce,
> > 
> > On Fri, 12 Mar 2021 15:30:01 -0600
> > Bruce Dubbs <bruce.dubbs@gmail.com> wrote:
> > 
> >> On 3/12/21 1:57 PM, Daniel Kiper wrote:
> >>> Hi all,
> >>>
> >>> The GRUB maintainers are proud to announce the GRUB 2.06~rc1 that
> >>> has been just released.
> >>
> >> Congratulations.
> >>
> >> For LFS, we do a very simple build in a sparse environment.  Here
> >> are a few observations.
> >>
> >> We use:
> >>
> >> ./configure --prefix=/usr          \
> >>               --sbindir=/sbin        \
> >>               --sysconfdir=/etc      \
> >>               --disable-efiemu       \
> >>               --disable-werror
> >>
> >> That works cleanly.  However there are two files that generate
> >> warnings:
> >>
> >> ./grub-core/script/parser.y:92.1-12: warning: deprecated directive:
> >> ‘%pure-parser’, use ‘%define api.pure’ [-Wdeprecated]
> >>      92 | %pure-parser
> >>         | ^~~~~~~~~~~~
> >>         | %define api.pure
> >>
> >> ./grub-core/script/parser.y: warning: fix-its can be applied.
> >> Rerun with option '--update'. [-Wother]
> >>
> >> grub-core/lib/libgcrypt-grub/cipher/rijndael.c: In function
> >> ‘do_setkey’: grub-core/lib/libgcrypt-grub/cipher/rijndael.c:229:9:
> >> warning: suggest braces around empty body in an ‘if’ statement
> >> [-Wempty-body] 229 |         ;
> >>         |         ^
> >>
> >> grub-core/lib/libgcrypt-grub/cipher/rijndael.c:352:21: warning:
> >> comparison of integer expressions of different signedness: ‘int’
> >> and ‘unsigned int’ [-Wsign-compare]
> >>     352 |       for (i = 0; i < keylen; i++)
> >>         |                     ^
> >>
> >> It seems that the above is run twice by make, but the fixes are
> >> trivial.
> > 
> > I'm curious, what compiler and version are you using?
> 
> $ gcc --version
> gcc (GCC) 10.2.0
> 
> $ bison --version
> bison (GNU Bison) 3.7.5
> 
> >> For make check, I get 43 failures.  Many appear to be due to our
> >> sparse environment.  In most cases I think these tests should be
> >> SKIP instead of FAIL, but I'll follow up with a more detailed
> >> report later.
> > 
> > I'm looking forward to the report. I think ideally the tests should
> > use a very minimal common set of utilities (with some obvious
> > exceptions like qemu and mkfs.*). The tests should only SKIP if its
> > not an appropriate test for the configured target. More likely,
> > they should ERROR to indicated that there was a failure to run the
> > test, not a failure of what the test was testing. This lets the
> > tester know that there's likely an environmental issue that needs
> > to be fixed to get tests working as they should.
> 
> That's an interesting perspective.  To my mind the failure of a test
> can be due to a problem with the grub code, the grub test, or the 
> environment of the test system.

Sure, and in the later two cases the test should return ERROR because
we want to know that there's a problem somewhere, whereas the first
would be a legitimate FAIL. We don't want the issues with the test
environment to mark the test as SKIP because that would occlude them.
We should be able to ignore tests that return SKIP (for instance
pseries tests on x86_64). Currently the filesystem tests will SKIP if
the tool to create the filesystem being tested is not found. This is a
problem because now we have to distinguish between SKIP tests that we
can ignore and ones we need to look at. Whereas if tests not run due to
environmental issues are marked as ERROR, along with tests that ERROR
for some other reason, it doesn't cause more work or confusion because
we should go through all those tests anyway. And failures of course
should be reserved for tests that fail due to an issue in the GRUB
code. These should be serious high priority failures. Unfortunately,
some tests are currently expected to fail, rendering the testing less
useful that it could be. Alarm bells should go off if there are any
failures on any targets, but we can't do that now because there are
expected failures in some tests. This can lead to a desensitization to
tests failures.

This is one reason I setup the GitLab CI[1] the way I did, which is to
mark some known failing tests as expected and to not fail the CI build
on certain known failing tests.

>  In my case I'm sure that most of the 
> failures, if not all, are due to the test environment.  In my full 
> environment, I only have qemu-system-x86_64, so I'll need to fix
> that. I should have everything else needed, but need to double check.

Glenn

[1] https://gitlab.com/gnu-grub/grub/-/pipelines/258485608


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-13 22:13       ` Bruce Dubbs
@ 2021-03-14  5:08         ` Glenn Washburn
  0 siblings, 0 replies; 10+ messages in thread
From: Glenn Washburn @ 2021-03-14  5:08 UTC (permalink / raw)
  To: Bruce Dubbs; +Cc: The development of GNU GRUB

On Sat, 13 Mar 2021 16:13:54 -0600
Bruce Dubbs <bruce.dubbs@gmail.com> wrote:

> On 3/12/21 5:48 PM, Bruce Dubbs wrote:
> > On 3/12/21 5:25 PM, Glenn Washburn wrote:
> >> Hi Bruce,
> >>
> >> On Fri, 12 Mar 2021 15:30:01 -0600
> >> Bruce Dubbs <bruce.dubbs@gmail.com> wrote:
> >>
> >>> On 3/12/21 1:57 PM, Daniel Kiper wrote:
> 
> [snip]
> 
> >>> For LFS, we do a very simple build in a sparse environment.  Here
> >>> are a few observations.
> >>>
> >>> We use:
> >>>
> >>> ./configure --prefix=/usr          \
> >>>               --sbindir=/sbin        \
> >>>               --sysconfdir=/etc      \
> >>>               --disable-efiemu       \
> >>>               --disable-werror
> 
> [snip]
> 
> >> I'm curious, what compiler and version are you using?
> > 
> > $ gcc --version
> > gcc (GCC) 10.2.0

That might be why I haven't caught it then. The GitLab CI is using at
most 10.1.0, until the kernel.org prebuilt binaries get added for more
recent versions.

> > $ bison --version
> > bison (GNU Bison) 3.7.5
> > 
> >>> For make check, I get 43 failures.  Many appear to be due to our
> >>> sparse environment.  In most cases I think these tests should be
> >>> SKIP instead of FAIL, but I'll follow up with a more detailed
> >>> report later.
> >>
> >> I'm looking forward to the report. I think ideally the tests
> >> should use a very minimal common set of utilities (with some
> >> obvious exceptions like qemu and mkfs.*). The tests should only
> >> SKIP if its not an appropriate test for the configured target.
> >> More likely, they should ERROR to indicated that there was a
> >> failure to run the test, not a failure of what the test was
> >> testing. This lets the tester know that there's likely an
> >> environmental issue that needs to be fixed to get tests working as
> >> they should.
> 
> I'll note that several tests require being run as the root user.  I 
> cannot find where that is specified.  I only figured that out by 
> directly looking at the test scripts.

I don't think running the test suite is documented anywhere, and it
should be (likely in the developer manual). Is there some documentation
that I'm not aware of?

> When I build in a full LFS/BLFS system I get:
> 
> # TOTAL: 82
> # PASS:  67
> # SKIP:  11
> # XFAIL: 0
> # FAIL:  4
> # XPASS: 0
> # ERROR: 0
> 
> The SKIPs are due to not having the expected executables.
> squashfs_test
> hfsplus_test
> minixfs_test
> f2fs_test
> nilfs2_test
> romfs_test
> exfat_test
> udf_test
> hfs_test
> zfs_test

Yes, and they should be ERRORs so that folks testing understand that
there's an unexpected issue.

> lzocompress_test
>    This test depends on an lzop executable which in not a part of the
>    xz-5.2.5 distribution.  I found it is from a lzop source package
> which is new to us at LFS.
> 
> I doubt many systems will have most of the the software needed for
> these tests, but perhaps a listing of what GRUB expects would be
> useful.

The GitLab integration config that I created has a list of
ubuntu/debian packages that I needed to get these tests running. And
due to some limitations of GitLab shared runners there are a few tests
that don't run (like zfs).

The list of packages start at this line in the config:
https://gitlab.com/gnu-grub/grub/-/blob/a971d40f5d31b8f9ddec3eabfac1c232ca1cf240/.gitlab-ci.yml#L457

> The FAILing tests are a bit more troubling:
> reiserfs_test
>    mount: /tmp/tmp.t6gBOmoH4g/reiserfs_old_rw: can't read superblock
> on /dev/loop0.
>    MOUNT FAILED.
> 
>    I have reiserfsprogs-3.6.27 installed.

Its not easy to instrument the tests currently to provide shell tracing,
which would help here. Though I have some patches in the pipeline that
will help in this regard. Do you have loopback devices working
correctly and available?

>    ----
> fat_test
>    mkfs.vfat: Labels with characters *?.,;:/\|+=<>[]" are not allowed
>    mkfs.fat 4.2 (2021-01-31)
>    FAIL fat_test (exit status: 1)
> 
>    I have dosfstools-4.2 installed.

I wonder if this is due to a newer version dosfstools? The GitLab CI
was setup to test on Ubuntu xenial which is using dosfstools version
3.0.28 and is not hitting this issue. I did this to help make sure
we're maintaining backward compatibility with older systems. 

>    ----
> btrfs_test
>    ERROR: invalid sectorsize 256, expected range is [4K, 64K]
>    btrfs-progs v5.10.1
>    See http://btrfs.wiki.kernel.org for more information.
>    FAIL btrfs_test (exit status: 1)
> 
>    I have btrfs-progs-v5.10.1 installed.

Again, haven't seen this either and perhaps due to a newer version.
GitLab CI is using version 4.4.

>    ----
> grub_func_test
>    FAIL grub_func_test (exit status: 1)
> 
>    I cannot determine from the test what is expected.
>    ----

grub_func_test is a suite of functional tests. All tests should pass.
Currently several do not, and it is known that the tests need to be
updated. So some of these tests are not valid. The GitLab CI
currently ignores the result of videotest_checksum, gfxterm_menu, and
cmdline_cat_test [1].

> 
> It would appear that many of the GRUB regression test results are
> distro specific and not really GRUB tests.

At a minimum, I don't think any of these indicate issues in the GRUB
code. But I think they indicate that some tests will need to be
upgraded in the future to account for changes in test dependencies.

Glenn

[1]
https://gitlab.com/gnu-grub/grub/-/blob/a971d40f5d31b8f9ddec3eabfac1c232ca1cf240/.gitlab-ci.yml#L160


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-12 19:57 GRUB 2.06~rc1 released Daniel Kiper
  2021-03-12 20:22 ` Vladimir 'phcoder' Serbinenko
  2021-03-12 21:30 ` Bruce Dubbs
@ 2021-03-22 15:31 ` Miguel Ángel Arruga Vivas
  2021-03-23 14:31   ` Daniel Kiper
  2 siblings, 1 reply; 10+ messages in thread
From: Miguel Ángel Arruga Vivas @ 2021-03-22 15:31 UTC (permalink / raw)
  To: Daniel Kiper, Glenn Washburn; +Cc: grub-devel


[-- Attachment #1.1: Type: text/plain, Size: 633 bytes --]

Hi,

Daniel Kiper <daniel.kiper@oracle.com> writes:

> Translators can use http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot for translation.
> The pot signature is available at http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot.sig

Sorry for the delay to report, but during translation I noticed that two
messages from the POT file have a problem related to the usage of
PRI[ux]GRUB_UINT64_T on format strings. This isn't supported by GNU
Gettext as explained on its manual[1], therefore the strings aren't
extracted properly by xgettext.

The attached patch provides a trivial solution close to the one proposed
by the manual.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: i18n-patch --]
[-- Type: text/x-patch, Size: 7120 bytes --]

From 750ab1afaf54c61d14419b7a5610856879f4851c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
 <rosen644835@gmail.com>
Date: Mon, 22 Mar 2021 16:12:41 +0100
Subject: [PATCH] i18n: Format large integers before the translation message.

GNU gettext only supports C99 macros for integral types, more specific
macros should be used to format the number to a string before the
internationalization, as explained on the section of gettext's manual
"Preparing Strings":
<http://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html#No-string-concatenation>
---
 grub-core/disk/luks2.c             |  5 ++++-
 grub-core/efiemu/i386/loadcore64.c | 14 ++++++++++----
 grub-core/kern/arm64/dl.c          | 12 ++++++++----
 grub-core/kern/ia64/dl.c           | 12 ++++++++----
 grub-core/kern/riscv/dl.c          | 13 +++++++++----
 grub-core/kern/sparc64/dl.c        | 11 +++++++----
 grub-core/kern/x86_64/dl.c         | 12 ++++++++----
 7 files changed, 54 insertions(+), 25 deletions(-)

diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
index 125e8609a..5525e3c66 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
@@ -612,6 +612,7 @@ luks2_recover_key (grub_disk_t source,
   /* Try all keyslot */
   for (json_idx = 0; json_idx < size; json_idx++)
     {
+      char indexstr[21]; /* log10 (2^64) ~ 20, plus nul character.  */
       typeof (source->total_sectors) max_crypt_sectors = 0;
 
       grub_errno = GRUB_ERR_NONE;
@@ -732,11 +733,13 @@ luks2_recover_key (grub_disk_t source,
 	  continue;
 	}
 
+      grub_snprintf (indexstr, sizeof (indexstr) - 1, "%" PRIuGRUB_UINT64_T,
+		     keyslot.idx);
       /*
        * TRANSLATORS: It's a cryptographic key slot: one element of an array
        * where each element is either empty or holds a key.
        */
-      grub_printf_ (N_("Slot \"%" PRIuGRUB_UINT64_T "\" opened\n"), keyslot.idx);
+      grub_printf_ (N_("Slot \"%s\" opened\n"), indexstr);
 
       candidate_key_len = keyslot.key_size;
       break;
diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c
index 7316efc39..ea0b207c2 100644
--- a/grub-core/efiemu/i386/loadcore64.c
+++ b/grub-core/efiemu/i386/loadcore64.c
@@ -121,10 +121,16 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs,
 		      return err;
                     break;
 		  default:
-		    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-				       N_("relocation 0x%" PRIxGRUB_UINT64_T
-					  " is not implemented yet"),
-				       ELF_R_TYPE (rel->r_info));
+		    {
+		      char rel_info[17]; /* log16 (2^64) = 16, plus nul.  */
+		      grub_snprintf (rel_info, sizeof (rel_info) - 1,
+				     "%" PRIxGRUB_UINT64_T,
+				     ELF_R_TYPE (rel->r_info));
+		      return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+					 N_("relocation 0x%s"
+					    " is not implemented yet"),
+					 rel_info);
+		    }
 		  }
 	      }
 	  }
diff --git a/grub-core/kern/arm64/dl.c b/grub-core/kern/arm64/dl.c
index 401672374..566bb84e0 100644
--- a/grub-core/kern/arm64/dl.c
+++ b/grub-core/kern/arm64/dl.c
@@ -183,10 +183,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
 	  break;
 
 	default:
-	  return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-			     N_("relocation 0x%" PRIxGRUB_UINT64_T
-				" is not implemented yet"),
-			     ELF_R_TYPE (rel->r_info));
+	  {
+	    char rel_info[17]; /* log16 (2^64) = 16, plus nul.  */
+	    grub_snprintf (rel_info, sizeof (rel_info) - 1,
+			   "%" PRIxGRUB_UINT64_T, ELF_R_TYPE (rel->r_info));
+	    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+			       N_("relocation 0x%s is not implemented yet"),
+			       rel_info);
+	  }
 	}
     }
 
diff --git a/grub-core/kern/ia64/dl.c b/grub-core/kern/ia64/dl.c
index b19706c50..248e35e2c 100644
--- a/grub-core/kern/ia64/dl.c
+++ b/grub-core/kern/ia64/dl.c
@@ -136,10 +136,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
 	case R_IA64_LDXMOV:
 	  break;
 	default:
-	  return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-			     N_("relocation 0x%" PRIxGRUB_UINT64_T
-				" is not implemented yet"),
-			     ELF_R_TYPE (rel->r_info));
+	  {
+	    char rel_info[17]; /* log16 (2^64) = 16, plus nul.  */
+	    grub_snprintf (rel_info, sizeof (rel_info) - 1,
+			   "%" PRIxGRUB_UINT64_T, ELF_R_TYPE (rel->r_info));
+	    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+			       N_("relocation 0x%s is not implemented yet"),
+			       rel_info);
+	  }
 	}
     }
   return GRUB_ERR_NONE;
diff --git a/grub-core/kern/riscv/dl.c b/grub-core/kern/riscv/dl.c
index d78297eee..024486bda 100644
--- a/grub-core/kern/riscv/dl.c
+++ b/grub-core/kern/riscv/dl.c
@@ -330,10 +330,15 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
 	case R_RISCV_RELAX:
 	  break;
 	default:
-	  return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-			     N_("relocation 0x%" PRIxGRUB_UINT64_T
-				" is not implemented yet"),
-			     (grub_uint64_t) ELF_R_TYPE (rel->r_info));
+	  {
+	    char rel_info[17]; /* log16 (2^64) = 16, plus nul.  */
+	    grub_snprintf (rel_info, sizeof (rel_info) - 1,
+			   "%" PRIxGRUB_UINT64_T,
+			   (grub_uint64_t) ELF_R_TYPE (rel->r_info));
+	    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+			       N_("relocation 0x%s is not implemented yet"),
+			       rel_info);
+	  }
 	}
     }
 
diff --git a/grub-core/kern/sparc64/dl.c b/grub-core/kern/sparc64/dl.c
index bbcce8ed5..a20171f1a 100644
--- a/grub-core/kern/sparc64/dl.c
+++ b/grub-core/kern/sparc64/dl.c
@@ -176,10 +176,13 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
 	       & 0x1fff);
 	  break;
 	default:
-	  return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-			     N_("relocation 0x%" PRIxGRUB_UINT64_T
-				" is not implemented yet"),
-			     ELF_R_TYPE (rel->r_info));
+	  {
+	    char rel_info[17]; /* log16 (2^64) = 16, plus nul.  */
+	    grub_snprintf (rel_info, sizeof (rel_info) - 1,
+			   "%" PRIxGRUB_UINT64_T, ELF_R_TYPE (rel->r_info));
+	    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+			       N_("relocation 0x%s is not implemented yet"),
+			       rel_info);
 	}
     }
 
diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c
index 1af5a0eeb..a8c8e90b1 100644
--- a/grub-core/kern/x86_64/dl.c
+++ b/grub-core/kern/x86_64/dl.c
@@ -106,10 +106,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
 	  break;
 
 	default:
-	  return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-			     N_("relocation 0x%" PRIxGRUB_UINT64_T
-			        " is not implemented yet"),
-			     ELF_R_TYPE (rel->r_info));
+	  {
+	    char rel_info[17]; /* log16 (2^64) = 16, plus nul.  */
+	    grub_snprintf (rel_info, sizeof (rel_info) - 1,
+			   "%" PRIxGRUB_UINT64_T, ELF_R_TYPE (rel->r_info));
+	    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+			       N_("relocation 0x%s is not implemented yet"),
+			       rel_info);
+	  }
 	}
     }
 
-- 
2.30.0


[-- Attachment #1.3: Type: text/plain, Size: 127 bytes --]


Best regards,
Miguel

[1] http://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html#No-string-concatenation

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 658 bytes --]

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: GRUB 2.06~rc1 released
  2021-03-22 15:31 ` Miguel Ángel Arruga Vivas
@ 2021-03-23 14:31   ` Daniel Kiper
  0 siblings, 0 replies; 10+ messages in thread
From: Daniel Kiper @ 2021-03-23 14:31 UTC (permalink / raw)
  To: Miguel Ángel Arruga Vivas; +Cc: Daniel Kiper, Glenn Washburn, grub-devel

Hey,

On Mon, Mar 22, 2021 at 04:31:19PM +0100, Miguel Ángel Arruga Vivas wrote:
> Hi,
>
> Daniel Kiper <daniel.kiper@oracle.com> writes:
>
> > Translators can use http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot for translation.
> > The pot signature is available at http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot.sig
>
> Sorry for the delay to report, but during translation I noticed that two
> messages from the POT file have a problem related to the usage of
> PRI[ux]GRUB_UINT64_T on format strings. This isn't supported by GNU
> Gettext as explained on its manual[1], therefore the strings aren't
> extracted properly by xgettext.

Thank you for the report!

> The attached patch provides a trivial solution close to the one proposed
> by the manual.

Could you send this patch using "git send-email"?

> From 750ab1afaf54c61d14419b7a5610856879f4851c Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
>  <rosen644835@gmail.com>
> Date: Mon, 22 Mar 2021 16:12:41 +0100
> Subject: [PATCH] i18n: Format large integers before the translation message.
>
> GNU gettext only supports C99 macros for integral types, more specific
> macros should be used to format the number to a string before the
> internationalization, as explained on the section of gettext's manual
> "Preparing Strings":
> <http://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html#No-string-concatenation>

Could you add your SOB here?

...and some nits below...

> ---
>  grub-core/disk/luks2.c             |  5 ++++-
>  grub-core/efiemu/i386/loadcore64.c | 14 ++++++++++----
>  grub-core/kern/arm64/dl.c          | 12 ++++++++----
>  grub-core/kern/ia64/dl.c           | 12 ++++++++----
>  grub-core/kern/riscv/dl.c          | 13 +++++++++----
>  grub-core/kern/sparc64/dl.c        | 11 +++++++----
>  grub-core/kern/x86_64/dl.c         | 12 ++++++++----
>  7 files changed, 54 insertions(+), 25 deletions(-)
>
> diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
> index 125e8609a..5525e3c66 100644
> --- a/grub-core/disk/luks2.c
> +++ b/grub-core/disk/luks2.c
> @@ -612,6 +612,7 @@ luks2_recover_key (grub_disk_t source,
>    /* Try all keyslot */
>    for (json_idx = 0; json_idx < size; json_idx++)
>      {
> +      char indexstr[21]; /* log10 (2^64) ~ 20, plus nul character.  */
>        typeof (source->total_sectors) max_crypt_sectors = 0;
>
>        grub_errno = GRUB_ERR_NONE;
> @@ -732,11 +733,13 @@ luks2_recover_key (grub_disk_t source,
>  	  continue;
>  	}
>
> +      grub_snprintf (indexstr, sizeof (indexstr) - 1, "%" PRIuGRUB_UINT64_T,
> +		     keyslot.idx);
>        /*
>         * TRANSLATORS: It's a cryptographic key slot: one element of an array
>         * where each element is either empty or holds a key.
>         */
> -      grub_printf_ (N_("Slot \"%" PRIuGRUB_UINT64_T "\" opened\n"), keyslot.idx);
> +      grub_printf_ (N_("Slot \"%s\" opened\n"), indexstr);
>
>        candidate_key_len = keyslot.key_size;
>        break;
> diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c
> index 7316efc39..ea0b207c2 100644
> --- a/grub-core/efiemu/i386/loadcore64.c
> +++ b/grub-core/efiemu/i386/loadcore64.c
> @@ -121,10 +121,16 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs,
>  		      return err;
>                      break;
>  		  default:
> -		    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
> -				       N_("relocation 0x%" PRIxGRUB_UINT64_T
> -					  " is not implemented yet"),
> -				       ELF_R_TYPE (rel->r_info));
> +		    {
> +		      char rel_info[17]; /* log16 (2^64) = 16, plus nul.  */

Please add empty line here and s/nul/NUL/.

> +		      grub_snprintf (rel_info, sizeof (rel_info) - 1,
> +				     "%" PRIxGRUB_UINT64_T,
> +				     ELF_R_TYPE (rel->r_info));
> +		      return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
> +					 N_("relocation 0x%s"
> +					    " is not implemented yet"),
> +					 rel_info);

Please merge all these 3 lines into one, i.e:
  N_("relocation 0x%s" is not implemented yet"), rel_info);

> +		    }
>  		  }
>  	      }
>  	  }
> diff --git a/grub-core/kern/arm64/dl.c b/grub-core/kern/arm64/dl.c
> index 401672374..566bb84e0 100644
> --- a/grub-core/kern/arm64/dl.c
> +++ b/grub-core/kern/arm64/dl.c
> @@ -183,10 +183,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
>  	  break;
>
>  	default:
> -	  return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
> -			     N_("relocation 0x%" PRIxGRUB_UINT64_T
> -				" is not implemented yet"),
> -			     ELF_R_TYPE (rel->r_info));
> +	  {
> +	    char rel_info[17]; /* log16 (2^64) = 16, plus nul.  */

Ditto and below please...

Does this patch fix all PRI* translation issues?

When I get next version of patch from you I will rebuild and update pot file.

Daniel


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-03-23 14:31 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-12 19:57 GRUB 2.06~rc1 released Daniel Kiper
2021-03-12 20:22 ` Vladimir 'phcoder' Serbinenko
2021-03-12 21:30 ` Bruce Dubbs
2021-03-12 23:25   ` Glenn Washburn
2021-03-12 23:48     ` Bruce Dubbs
2021-03-13 22:13       ` Bruce Dubbs
2021-03-14  5:08         ` Glenn Washburn
2021-03-14  4:40       ` Glenn Washburn
2021-03-22 15:31 ` Miguel Ángel Arruga Vivas
2021-03-23 14:31   ` Daniel Kiper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.