GNU bug report logs -
#29181
[PATCH core-updates 0/1] Shrink Mesa
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Mon, 6 Nov 2017 21:42:01 UTC
Severity: normal
Tags: patch
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 08 Nov 2017 09:27:29 +0100
with message-id <87k1z1w4y6.fsf <at> gnu.org>
and subject line Re: [bug#29181] [PATCH 1/1] gnu: mesa: Use symlinks instead of hard links.
has caused the debbugs.gnu.org bug report #29181,
regarding [PATCH core-updates 0/1] Shrink Mesa
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
29181: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29181
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hello Guix!
This patch divides the nar size of ‘mesa’ (as reported by ‘guix size’)
almost by a factor of four. It does so by replacing hard links created
upon “make install” with symlinks.
The new post-install phase prints things like:
--8<---------------cut here---------------start------------->8---
starting phase `symlinks-instead-of-hard-links'
creating 7 symlinks to '/gnu/store/l1iwgjgp88snlzp9nafdpd0vvsqv7lsi-mesa-17.2.1/lib/dri/i915_dri.so'
creating 3 symlinks to '/gnu/store/l1iwgjgp88snlzp9nafdpd0vvsqv7lsi-mesa-17.2.1/lib/dri/i965_dri.so'
creating 1 symlinks to '/gnu/store/l1iwgjgp88snlzp9nafdpd0vvsqv7lsi-mesa-17.2.1/lib/dri/nouveau_drv_video.so'
creating 1 symlinks to '/gnu/store/l1iwgjgp88snlzp9nafdpd0vvsqv7lsi-mesa-17.2.1/lib/libXvMCnouveau.so.1.0.0'
creating 2 symlinks to '/gnu/store/l1iwgjgp88snlzp9nafdpd0vvsqv7lsi-mesa-17.2.1/lib/vdpau/libvdpau_nouveau.so.1.0.0'
phase `symlinks-instead-of-hard-links' succeeded after 0.0 seconds
--8<---------------cut here---------------end--------------->8---
The nar size does not reflect disk usage since deduplication would
recreate the hard links anyway, but it reflects how much we have to
transfer over the wire since the nar format does not represent hard
links. A similar problem arose with Git a while back, see
<https://bugs.gnu.org/21949>.
I’d like to push to ‘core-updates’.
Thoughts?
Ludo’.
Ludovic Courtès (1):
gnu: mesa: Use symlinks instead of hard links.
gnu/packages/gl.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
--
2.14.2
[Message part 3 (message/rfc822, inline)]
Hi,
Marius Bakke <mbakke <at> fastmail.com> skribis:
> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> This reduces the nar size (as shown by 'guix size') by 124 MiB, from
>> 169 MiB to 45 MiB (almost divided by 4!).
>
> Wow, nice catch. If I read the code correctly, it detects hard links
> and replaces them with symlinks.
Yes.
> Could we do this unconditionally in a gnu-build-system phase? Are
> there any legitimate uses of hard links in outputs?
Good question. There might be situations where the software relies on
having regular files (not symlinks), so I would rather do it on a
case-by-case basis than have a standard phase. WDYT?
Besides, a phase that looks at all the files would have to be efficient
than this naïve implementation.
> That said, the patch LGTM.
Pushed as dcc00f54c619118d11982383102d2e9a1b86d080, thanks!
Ludo’.
This bug report was last modified 7 years and 259 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.