GNU bug report logs - #26771
[PATCH] build-system/gnu: Fix compress-documentation phase

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Thu, 4 May 2017 07:54:02 UTC

Severity: normal

Tags: patch

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] build-system/gnu: Fix compress-documentation phase
Date: Thu, 04 May 2017 00:53:24 -0700
[Message part 1 (text/plain, inline)]
Hello Guix!

This patch fixes a small defect in compress-documentation phase of our
gnu-build-system. The phase could create dangling manual
page symlinks in the case those were recursive.

One package which exhibited the issue is Gimp; you might have noticed
the `find-files' error message when the manual page database gets
created on a profile generation as a consequence of that.

Here's the Gimp example in some more details:

* The manual pages under share/man/man1 before the documentation is
  compressed:
  
     gimp.1 -> gimp-2.8.1                  
     gimp-2.8.1                            
     gimp-console.1 -> gimp-console-2.8.1  
     gimp-console-2.8.1 -> gimp-2.8.1      
     gimptool-2.0.1

* After the documentation is compressed:

     gimp.1 -> gimp-2.8.1.gz
     gimp-2.8.1.gz
     gimp-console.1 -> gimp-console-2.8.1.gz
     gimp-console-2.8.1 -> gimp-2.8.1.gz
     gimptool-2.0.1.gz

We can see that the gimp-console.1 link now points to an unexisting
file. To correct the problem, a `points-to-symbolic-link?' predicate is
added and its negation is used to filter out the links which shouldn't
be retargetted.

I didn't test this by rebuilding the world; rather, I exercised the
`compress-documentation' function at the REPL, feeding it a copied gimp
derivation output as it appeared before the problematic
compress-documentation phase.

It should be applied to core-updates since it triggers a rebuild of all
the packages using the GNU build system.

Maxim

[0001-build-system-gnu-Fix-compress-documentation-phase.patch (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 8 years and 86 days ago.

Previous Next


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