Received: (at submit) by debbugs.gnu.org; 3 Apr 2025 12:06:16 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 03 08:06:16 2025 Received: from localhost ([127.0.0.1]:33140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1u0JKp-0003OT-Qq for submit <at> debbugs.gnu.org; Thu, 03 Apr 2025 08:06:16 -0400 Received: from lists.gnu.org ([2001:470:142::17]:56498) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <timo@HIDDEN>) id 1u0JKm-0003OE-Lx for submit <at> debbugs.gnu.org; Thu, 03 Apr 2025 08:06:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <timo@HIDDEN>) id 1u0JKg-0007RR-8d for bug-guix@HIDDEN; Thu, 03 Apr 2025 08:06:06 -0400 Received: from mx2.mythic-beasts.com ([2a00:1098:0:82:1000:0:2:1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <timo@HIDDEN>) id 1u0JKa-0000DY-BT for bug-guix@HIDDEN; Thu, 03 Apr 2025 08:06:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=twilken.net ; s=mythic-beasts-k1; h=To:From:Subject:Date; bh=G+pR94RLabXc1VFzgGJaRmxnMJdxQXkjpBwAJiTi54Q=; b=ygD81C+a4Tl2xQ9O1QmkLkYct8 moOiy5SkZNurOSBDTIptNtkcr6nVmfpawm40s+pS1dTEhT2adudZja/XQLLGZPG2Pt5Dueeorl+mh BKmqhoMoLEDSan+9RczOt+SsxzUxmFOi7Js6ye8/Kle+y0UFv/+oYm1+MQw/PWrlUVo/TRbej+yit G6n2MAV33VNzLbvAy1zFF6lh5NIdBtVPZJvnLKZHBk/6rLfd6qEtPIjPwyPJzK0/zxyFffIK2eCYA ztb0xSxILaEAELrtbAK6TXZCD1hYli238JX8ofCcim7kRYqEDCgr8w6k9ucAbL2fzkmU06ENzFMJP YgF/VM0Q==; Received: by mailhub-hex-d.mythic-beasts.com with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <timo@HIDDEN>) id 1u0JKY-005KTv-19 for bug-guix@HIDDEN; Thu, 03 Apr 2025 13:05:58 +0100 Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 03 Apr 2025 14:05:40 +0200 Message-Id: <D8WZNSYGTY3L.9ZY0U6R3YAJW@HIDDEN> Subject: 1.4 million extraneous symlinks under .guix-home/profile/share/icons From: "Timo Wilken" <guix@HIDDEN> To: <bug-guix@HIDDEN> X-Mailer: aerc 0.20.1 X-BlackCat-Spam-Score: 7 X-Spam-Status: No, score=0.7 Received-SPF: pass client-ip=2a00:1098:0:82:1000:0:2:1; envelope-from=timo@HIDDEN; helo=mx2.mythic-beasts.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) Hi, In my ~/.guix-home/profile/share/icons/, I have a total of 1.4 million symlinks: $ find ~/.guix-home/profile/share/icons/ -type l -printf x | wc -c 1425657 The directory itself is not a symlink. Instead, it contains the following structure (with the papirus-icon-theme package installed): ~/.guix-home/profile/share/icons/ + Papirus/ + icon-theme.cache -> /gnu/store/...-gtk-icon-themes/share/icons/Papiru= s/icon-theme.cache + index.theme -> /gnu/store/...-gtk-icon-themes/share/icons/Papirus/ind= ex.theme + 16x16/ + apps/ + 010editor.svg -> /gnu/store/...-gtk-icon-themes/share/icons/Papir= us/16x16/apps/010editor.svg + 09BE_EpicGamesLauncher.0.svg -> /gnu/store/...-gtk-icon-themes/sh= are/icons/Papirus/16x16/apps/09BE_EpicGamesLauncher.0.svg + 0ad.svg -> /gnu/store/...-gtk-icon-themes/share/icons/Papirus/16x= 16/apps/0ad.svg [and so on, and so forth...] I.e., every single image file in every single icon theme is linked individually -- none of the 16x16 (etc) directories are symlinks! These files are also all symlinks to /gnu/store/...-gtk-icon-themes/share/icons/<icon>, where <icon> is their ow= n filename under ~/.guix-homme/profile/share/icons/. There are no symlinks th= at point anywhere else -- even the icon-theme.cache and index.theme symlinks point into the same "gtk-icon-themes" union. I've checked this using the following shell snippet: $ cd ~/.guix-home/profile/share/icons $ find */ -type l -printf '%p\t%l\n' | awk -F'\t' '{ gsub(/[^a-zA-Z0-9/_-]/, "[&]", $1) # escape symlink path as regex sub("/" $1 "$", "", $2) # remove symlink path from the end of its tar= get path print $2 # print trimmed target path }' | uniq -c 1433393 /gnu/store/zg7wwydwjaykpp0dwzq97hzilzd3q85f-gtk-icon-themes/share/i= cons My question is therefore: why isn't ~/.guix-home/profile/share/icons itself= a symlink to /gnu/store/...-gtk-icon-themes/share/icons? That would get my ho= me profile down from 1,440,513 to a measly 14,857 symlinks in total -- and presumably speed up the home profile creation by a lot (instead of taking o= ver a minute on a fast NVME SSD)! I've tried digging into (guix build union) and (guix profiles), but I've no= t found anything obviously wrong... Cheers, Timo
"Timo Wilken" <guix@HIDDEN>
:bug-guix@HIDDEN
.
Full text available.bug-guix@HIDDEN
:bug#77487
; Package guix
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.