GNU bug report logs - #69105
[PATCH] gnu: linux-libre-documentation: Fix compilation.

Previous Next

Package: guix-patches;

Reported by: Tomas Volf <~@wolfsden.cz>

Date: Tue, 13 Feb 2024 16:23:02 UTC

Severity: normal

Tags: patch

Done: Leo Famulari <leo <at> famulari.name>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 69105 in the body.
You can then email your comments to 69105 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to leo <at> famulari.name, me <at> tobias.gr, w <at> wmeyer.eu, guix-patches <at> gnu.org:
bug#69105; Package guix-patches. (Tue, 13 Feb 2024 16:23:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tomas Volf <~@wolfsden.cz>:
New bug report received and forwarded. Copy sent to leo <at> famulari.name, me <at> tobias.gr, w <at> wmeyer.eu, guix-patches <at> gnu.org. (Tue, 13 Feb 2024 16:23:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: guix-patches <at> gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH] gnu: linux-libre-documentation: Fix compilation.
Date: Tue, 13 Feb 2024 17:22:09 +0100
When compiling linux-libre-documentation <at> 6.6.16, the compilation fails with
following error message:

    Exception occurred:
      File "/tmp/guix-build-linux-libre-documentation-6.6.16.drv-0/linux-6.6.16/Documentation/sphinx/kernel_feat.py", line 112, in run
        nodeList = self.nestedParse(out_lines, fname)
    UnboundLocalError: local variable 'fname' referenced before assignment

This is already fixed upstream[0], so this commit backports the change.

0: https://lore.kernel.org/all/20240206054907.066a0325 <at> coco.lan/t/

* gnu/packages/linux.scm (linux-libre-documentation): Apply patch fixing
compilation.

Change-Id: Ic96f14aa25df09f38e029ca70d2647cbf37c2365
---
 gnu/packages/linux.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b8b119e474..49b9e01167 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2003,6 +2003,17 @@ (define-public linux-libre-documentation
   (package
     (inherit linux-libre)
     (name "linux-libre-documentation")
+    (source
+     (origin
+       (inherit linux-libre-source)
+       (patches
+        (list
+         (origin
+           (method url-fetch)
+           (uri "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/Documentation/sphinx/kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428")
+           (sha256
+            (base32
+             "0inw2pl7nh82sw8bhvvzqa61552bisl78yc1nyl2x6dmpyppzrld")))))))
     (arguments
      (list
       #:tests? #f

base-commit: e9a6c7094822bc859d0694eeaf8f434317219367
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#69105; Package guix-patches. (Sun, 18 Feb 2024 22:48:01 GMT) Full text and rfc822 format available.

Message #8 received at 69105 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Tomas Volf <~@wolfsden.cz>
Cc: Wilko Meyer <w <at> wmeyer.eu>, 69105 <at> debbugs.gnu.org,
 Tobias Geerinckx-Rice <me <at> tobias.gr>
Subject: Re: [bug#69105] [PATCH] gnu: linux-libre-documentation: Fix
 compilation.
Date: Sun, 18 Feb 2024 17:46:38 -0500
On Tue, Feb 13, 2024 at 05:22:09PM +0100, Tomas Volf wrote:
> When compiling linux-libre-documentation <at> 6.6.16, the compilation fails with
> following error message:
> 
>     Exception occurred:
>       File "/tmp/guix-build-linux-libre-documentation-6.6.16.drv-0/linux-6.6.16/Documentation/sphinx/kernel_feat.py", line 112, in run
>         nodeList = self.nestedParse(out_lines, fname)
>     UnboundLocalError: local variable 'fname' referenced before assignment
> 
> This is already fixed upstream[0], so this commit backports the change.
> 
> 0: https://lore.kernel.org/all/20240206054907.066a0325 <at> coco.lan/t/
> 
> * gnu/packages/linux.scm (linux-libre-documentation): Apply patch fixing
> compilation.

Thanks! Pushed to the 'kernel-updates' branch for testing:

https://ci.guix.gnu.org/eval/1128579




Information forwarded to guix-patches <at> gnu.org:
bug#69105; Package guix-patches. (Tue, 20 Feb 2024 16:57:01 GMT) Full text and rfc822 format available.

Message #11 received at 69105 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Tomas Volf <~@wolfsden.cz>
Cc: Wilko Meyer <w <at> wmeyer.eu>, 69105 <at> debbugs.gnu.org,
 Tobias Geerinckx-Rice <me <at> tobias.gr>
Subject: Re: [bug#69105] [PATCH] gnu: linux-libre-documentation: Fix
 compilation.
Date: Tue, 20 Feb 2024 11:56:04 -0500
On Sun, Feb 18, 2024 at 05:46:38PM -0500, Leo Famulari wrote:
> Thanks! Pushed to the 'kernel-updates' branch for testing:
> 
> https://ci.guix.gnu.org/eval/1128579

It failed to build due to a hash mismatch:

------
building path(s) `/gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428'
|   @ build-started /gnu/store/cnjyqmajcv79w9xjbrxrmsq950kfs0c9-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428.drv - x86_64-linux /var/log/guix/drvs/cn//jyqmajcv79w9xjbrxrmsq950kfs0c9-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428.drv.gz 14230

Starting download of /gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428
From https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/Documentation/sphinx/kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428...

 kernel_feat.py                               14.0MiB/s 00:00 | 2KiB transferred
 kernel_feat.py                                5.6MiB/s 00:00 | 2KiB transferred
@ hash-mismatch /gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428 sha256 0inw2pl7nh82sw8bhvvzqa61552bisl78yc1nyl2x6dmpyppzrld 0zzs7xfq7mhw30lqssz1ypkf35f3sw1zivz8abd8g8qwfbb6h2aa
hash mismatch for store item '/gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428'
@ build-failed /gnu/store/cnjyqmajcv79w9xjbrxrmsq950kfs0c9-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428.drv - 1 hash mismatch for store item '/gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428'
building path(s) `/gnu/store/6wvmyhb2fz08jgbnfpny2iqrlz4cp1mi-linux-6.6.17.tar.xz'
------

https://ci.guix.gnu.org/build/3508584/details




Information forwarded to leo <at> famulari.name, me <at> tobias.gr, w <at> wmeyer.eu, guix-patches <at> gnu.org:
bug#69105; Package guix-patches. (Tue, 20 Feb 2024 18:28:01 GMT) Full text and rfc822 format available.

Message #14 received at 69105 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 69105 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>, leo <at> famulari.name
Subject: [PATCH v2] gnu: linux-libre-documentation: Fix compilation.
Date: Tue, 20 Feb 2024 19:26:15 +0100
When compiling linux-libre-documentation <at> 6.6.16, the compilation fails with
following error message:

    Exception occurred:
      File "/tmp/guix-build-linux-libre-documentation-6.6.16.drv-0/linux-6.6.16/Documentation/sphinx/kernel_feat.py", line 112, in run
        nodeList = self.nestedParse(out_lines, fname)
    UnboundLocalError: local variable 'fname' referenced before assignment

This is already fixed upstream[0], so this commit backports the change.

0: https://lore.kernel.org/all/20240206054907.066a0325 <at> coco.lan/t/

* gnu/packages/patches/linux-libre-documentation-fix-kernel_feat.py.patch: Add
patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/linux.scm (linux-libre-documentation): Use it.

Change-Id: Ic96f14aa25df09f38e029ca70d2647cbf37c2365
---
v2: Commit the patch instead of fetching it.

 gnu/local.mk                                  |  1 +
 gnu/packages/linux.scm                        |  5 ++
 ...bre-documentation-fix-kernel_feat.py.patch | 52 +++++++++++++++++++
 3 files changed, 58 insertions(+)
 create mode 100644 gnu/packages/patches/linux-libre-documentation-fix-kernel_feat.py.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ab690795a7..a75577386c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1629,6 +1629,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/linphone-desktop-without-sdk.patch	\
   %D%/packages/patches/linux-libre-infodocs-target.patch	\
   %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
+  %D%/packages/patches/linux-libre-documentation-fix-kernel_feat.py.patch \
   %D%/packages/patches/linux-pam-no-setfsuid.patch		\
   %D%/packages/patches/linux-pam-unix_chkpwd.patch		\
   %D%/packages/patches/linuxdcpp-openssl-1.1.patch		\
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b8b119e474..c23f07b1d5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2003,6 +2003,11 @@ (define-public linux-libre-documentation
   (package
     (inherit linux-libre)
     (name "linux-libre-documentation")
+    (source
+     (origin
+       (inherit linux-libre-source)
+       (patches
+        (search-patches "linux-libre-documentation-fix-kernel_feat.py.patch"))))
     (arguments
      (list
       #:tests? #f
diff --git a/gnu/packages/patches/linux-libre-documentation-fix-kernel_feat.py.patch b/gnu/packages/patches/linux-libre-documentation-fix-kernel_feat.py.patch
new file mode 100644
index 0000000000..9d535395be
--- /dev/null
+++ b/gnu/packages/patches/linux-libre-documentation-fix-kernel_feat.py.patch
@@ -0,0 +1,52 @@
+From c23de7ceae59e4ca5894c3ecf4f785c50c0fa428 Mon Sep 17 00:00:00 2001
+From: Vegard Nossum <vegard.nossum <at> oracle.com>
+Date: Mon, 5 Feb 2024 18:51:26 +0100
+Subject: docs: kernel_feat.py: fix build error for missing files
+
+If the directory passed to the '.. kernel-feat::' directive does not
+exist or the get_feat.pl script does not find any files to extract
+features from, Sphinx will report the following error:
+
+    Sphinx parallel build error:
+    UnboundLocalError: local variable 'fname' referenced before assignment
+    make[2]: *** [Documentation/Makefile:102: htmldocs] Error 2
+
+This is due to how I changed the script in c48a7c44a1d0 ("docs:
+kernel_feat.py: fix potential command injection"). Before that, the
+filename passed along to self.nestedParse() in this case was weirdly
+just the whole get_feat.pl invocation.
+
+We can fix it by doing what kernel_abi.py does -- just pass
+self.arguments[0] as 'fname'.
+
+Fixes: c48a7c44a1d0 ("docs: kernel_feat.py: fix potential command injection")
+Cc: Justin Forbes <jforbes <at> fedoraproject.org>
+Cc: Salvatore Bonaccorso <carnil <at> debian.org>
+Cc: Jani Nikula <jani.nikula <at> intel.com>
+Cc: Mauro Carvalho Chehab <mchehab <at> kernel.org>
+Cc: stable <at> vger.kernel.org
+Signed-off-by: Vegard Nossum <vegard.nossum <at> oracle.com>
+Link: https://lore.kernel.org/r/20240205175133.774271-2-vegard.nossum <at> oracle.com
+Signed-off-by: Jonathan Corbet <corbet <at> lwn.net>
+---
+ Documentation/sphinx/kernel_feat.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+(limited to 'Documentation/sphinx/kernel_feat.py')
+
+diff --git a/Documentation/sphinx/kernel_feat.py b/Documentation/sphinx/kernel_feat.py
+index b9df61eb450138..03ace5f01b5c02 100644
+--- a/Documentation/sphinx/kernel_feat.py
++++ b/Documentation/sphinx/kernel_feat.py
+@@ -109,7 +109,7 @@ class KernelFeat(Directive):
+             else:
+                 out_lines += line + "\n"
+
+-        nodeList = self.nestedParse(out_lines, fname)
++        nodeList = self.nestedParse(out_lines, self.arguments[0])
+         return nodeList
+
+     def nestedParse(self, lines, fname):
+--
+cgit 1.2.3-korg
+

base-commit: e9a6c7094822bc859d0694eeaf8f434317219367
--
2.41.0




Information forwarded to guix-patches <at> gnu.org:
bug#69105; Package guix-patches. (Tue, 20 Feb 2024 18:30:02 GMT) Full text and rfc822 format available.

Message #17 received at 69105 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: Leo Famulari <leo <at> famulari.name>
Cc: Wilko Meyer <w <at> wmeyer.eu>, 69105 <at> debbugs.gnu.org,
 Tobias Geerinckx-Rice <me <at> tobias.gr>
Subject: Re: [bug#69105] [PATCH] gnu: linux-libre-documentation: Fix
 compilation.
Date: Tue, 20 Feb 2024 19:29:16 +0100
[Message part 1 (text/plain, inline)]
On 2024-02-20 11:56:04 -0500, Leo Famulari wrote:
> On Sun, Feb 18, 2024 at 05:46:38PM -0500, Leo Famulari wrote:
> > Thanks! Pushed to the 'kernel-updates' branch for testing:
> >
> > https://ci.guix.gnu.org/eval/1128579
>
> It failed to build due to a hash mismatch:
>
> ------
> building path(s) `/gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428'
> |   @ build-started /gnu/store/cnjyqmajcv79w9xjbrxrmsq950kfs0c9-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428.drv - x86_64-linux /var/log/guix/drvs/cn//jyqmajcv79w9xjbrxrmsq950kfs0c9-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428.drv.gz 14230
>
> Starting download of /gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428
> From https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/Documentation/sphinx/kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428...
>
>  kernel_feat.py                               14.0MiB/s 00:00 | 2KiB transferred
>  kernel_feat.py                                5.6MiB/s 00:00 | 2KiB transferred
> @ hash-mismatch /gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428 sha256 0inw2pl7nh82sw8bhvvzqa61552bisl78yc1nyl2x6dmpyppzrld 0zzs7xfq7mhw30lqssz1ypkf35f3sw1zivz8abd8g8qwfbb6h2aa
> hash mismatch for store item '/gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428'
> @ build-failed /gnu/store/cnjyqmajcv79w9xjbrxrmsq950kfs0c9-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428.drv - 1 hash mismatch for store item '/gnu/store/1ps7177pmj9f4h8jf4dvrsq1ng6y5wxj-kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428'
> building path(s) `/gnu/store/6wvmyhb2fz08jgbnfpny2iqrlz4cp1mi-linux-6.6.17.tar.xz'
> ------
>
> https://ci.guix.gnu.org/build/3508584/details

I see, I guess it was a mistake trying to fetch the patch in this way.  I've
sent a v2 that just adds it into the patches/ directory.  I hope that will work
fine.

Have a nice day,
Tomas Volf

--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
[signature.asc (application/pgp-signature, inline)]

Reply sent to Leo Famulari <leo <at> famulari.name>:
You have taken responsibility. (Wed, 21 Feb 2024 01:36:01 GMT) Full text and rfc822 format available.

Notification sent to Tomas Volf <~@wolfsden.cz>:
bug acknowledged by developer. (Wed, 21 Feb 2024 01:36:02 GMT) Full text and rfc822 format available.

Message #22 received at 69105-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Tomas Volf <~@wolfsden.cz>
Cc: Wilko Meyer <w <at> wmeyer.eu>, 69105-done <at> debbugs.gnu.org,
 Tobias Geerinckx-Rice <me <at> tobias.gr>
Subject: Re: [bug#69105] [PATCH] gnu: linux-libre-documentation: Fix
 compilation.
Date: Tue, 20 Feb 2024 20:34:45 -0500
[Message part 1 (text/plain, inline)]
On Tue, Feb 20, 2024 at 07:29:16PM +0100, Tomas Volf wrote:
> I see, I guess it was a mistake trying to fetch the patch in this way.  I've
> sent a v2 that just adds it into the patches/ directory.  I hope that will work
> fine.

I double-checked the hash and your original patch had the correct value.

For some reason, when the build farm tried to download the patch file
from the kernel infrastructure, the wrong data was received and the hash
did not match.

But when I downloaded the patch file "by hand" with `curl`, I received
the expected data.

Then, I applied your patch to a checkout of guix.git and successfully
built linux-libre-documentation with `./pre-inst-env [...]`.

So, I think your original patch is good.

Sometimes these transient errors occur. Including the patch directly in
our repo would be more reliable than fetching it, but there is the minor
negative effect of increasing the size of our codebase. I chose to fetch
the data in this case.

Thank you very much for working on this bug!

Patch version 1 pushed as b6f82b9ef1a3d51a39995598eab9f793656e9123
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 20 Mar 2024 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 91 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.