From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: bug#35701: guix size should account for hard links in its disk space calculation Date: Sun, 12 May 2019 15:18:36 -0400 Message-ID: <878svbv5v7.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:38529) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hPu00-0008GU-OD for bug-guix@gnu.org; Sun, 12 May 2019 15:19:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hPtzy-00081B-Fx for bug-guix@gnu.org; Sun, 12 May 2019 15:19:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58024) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hPtzy-00080c-9o for bug-guix@gnu.org; Sun, 12 May 2019 15:19:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hPtzy-0001U7-3V for bug-guix@gnu.org; Sun, 12 May 2019 15:19:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([209.51.188.92]:38471) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hPtzd-00081m-E0 for bug-guix@gnu.org; Sun, 12 May 2019 15:18:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hPtzc-0006tD-Hj for bug-guix@gnu.org; Sun, 12 May 2019 15:18:41 -0400 Received: from mail-qt1-x836.google.com ([2607:f8b0:4864:20::836]:42788) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hPtzc-0006rP-CF for bug-guix@gnu.org; Sun, 12 May 2019 15:18:40 -0400 Received: by mail-qt1-x836.google.com with SMTP id j53so12382734qta.9 for ; Sun, 12 May 2019 12:18:40 -0700 (PDT) Received: from kwak (dsl-150-248.b2b2c.ca. [66.158.150.248]) by smtp.gmail.com with ESMTPSA id 11sm7801999qtp.88.2019.05.12.12.18.37 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 12 May 2019 12:18:38 -0700 (PDT) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 35701@debbugs.gnu.org --=-=-= Content-Type: text/plain Consider the following operating system declaration: --=-=-= Content-Type: application/octet-stream Content-Disposition: inline; filename=robot-framework-system.scm Content-Transfer-Encoding: base64 OzsgVGhpcyBpcyBhbiBvcGVyYXRpbmcgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdGVtcGxhdGUgZm9y IGEgYmFyZS1ib25lLAo7OyBjb250YWluZXJpemF0aW9uLWZyaWVuZGx5IHNldHVwLCB3aXRoIG5v IFgxMSBkaXNwbGF5IHNlcnZlciBhbmQKOzsgbm8gR3VpeCBkYWVtb24gLyBjbGllbnQuCgoodXNl LW1vZHVsZXMgKGdudSkKCSAgICAgKGdudSBwYWNrYWdlcyBiYXNoKQoJICAgICAoZ251IHBhY2th Z2VzIHB5dGhvbikKCSAgICAgKGdudSBwYWNrYWdlcyBweXRob24teHl6KQoJICAgICAoZ251IHBh Y2thZ2VzIHhtbCkKCSAgICAgKGd1aXggcGFja2FnZXMpKQoKKG9wZXJhdGluZy1zeXN0ZW0KICAo aG9zdC1uYW1lICJyb2JvdC1mcmFtZXdvcmsiKQogICh0aW1lem9uZSAiQW1lcmljYS9Nb250cmVh bCIpCgogIDs7IEJvb3QgaW4gImxlZ2FjeSIgQklPUyBtb2RlLCBhc3N1bWluZyAvZGV2L3NkWCBp cyB0aGUKICA7OyB0YXJnZXQgaGFyZCBkaXNrLCBhbmQgIm15LXJvb3QiIGlzIHRoZSBsYWJlbCBv ZiB0aGUgdGFyZ2V0CiAgOzsgcm9vdCBmaWxlIHN5c3RlbS4KICAoYm9vdGxvYWRlciAoYm9vdGxv YWRlci1jb25maWd1cmF0aW9uCiAgICAgICAgICAgICAgIChib290bG9hZGVyIGdydWItYm9vdGxv YWRlcikKICAgICAgICAgICAgICAgKHRhcmdldCAiL2Rldi9zZGEiKSkpCiAgKGZpbGUtc3lzdGVt cyAoY29ucyAoZmlsZS1zeXN0ZW0KICAgICAgICAgICAgICAgICAgICAgICAgKGRldmljZSAoZmls ZS1zeXN0ZW0tbGFiZWwgIm15LXJvb3QiKSkKICAgICAgICAgICAgICAgICAgICAgICAgKG1vdW50 LXBvaW50ICIvIikKICAgICAgICAgICAgICAgICAgICAgICAgKHR5cGUgImV4dDQiKSkKICAgICAg ICAgICAgICAgICAgICAgICViYXNlLWZpbGUtc3lzdGVtcykpCgogICh1c2VycyAoY29ucyAodXNl ci1hY2NvdW50CiAgICAgICAgICAgICAgICAobmFtZSAiYnVpbGRlciIpCiAgICAgICAgICAgICAg ICAoZ3JvdXAgInVzZXJzIikKCQkoc3VwcGxlbWVudGFyeS1ncm91cHMgJygid2hlZWwiKSkKCQko aG9tZS1kaXJlY3RvcnkgIi9ob21lL2J1aWxkZXIiKSkKCSAgICAgICAlYmFzZS11c2VyLWFjY291 bnRzKSkKCiAgOzsgR2xvYmFsbHktaW5zdGFsbGVkIHBhY2thZ2VzLgogIChwYWNrYWdlcyAoY29u cyogcHl0aG9uLXdyYXBwZXIKCQkgICAobGlzdCBweXRob24gInRrIikKCQkgICBweXRob24tcm9i b3RmcmFtZXdvcmsKCQkgICBweXRob24tcm9ib3RmcmFtZXdvcmstc3NobGlicmFyeQoJCSAgIHB5 dGhvbi1yb2JvdGZyYW1ld29yay1saW50CgkJICAgcHl0aG9uLXhtbHRvZGljdAoJCSAgICViYXNl LXBhY2thZ2VzKSkKCiAgKHNlcnZpY2VzIChsaXN0CgkgICAgIDs7IEVuYWJsZSAjIS9iaW4vc2gg YW5kICMhL2Jpbi9iYXNoIHNoZWJhbmdzLgoJICAgICAoc2VydmljZSBzcGVjaWFsLWZpbGVzLXNl cnZpY2UtdHlwZQoJCSAgICAgIGAoKCIvYmluL2Jhc2giICwoZmlsZS1hcHBlbmQgKGNhbm9uaWNh bC1wYWNrYWdlIGJhc2gpCgkJCQkJCSAgICIvYmluL2Jhc2giKSkpKQoJICAgICAoc2VydmljZSBz cGVjaWFsLWZpbGVzLXNlcnZpY2UtdHlwZQogICAgICAgICAgICAgICAgICAgICAgYCgoIi9iaW4v c2giICwoZmlsZS1hcHBlbmQgKGNhbm9uaWNhbC1wYWNrYWdlIGJhc2gpCgkJCQkJCSAiL2Jpbi9z aCIpKSkpCgkgICAgIDs7IFRoZSBmb2xsb3dpbmcgaXMgYSB2ZXJ5IHNtYWxsIHN1YnNldCBleHRy YWN0ZWQgb2YKCSAgICAgOzsgJWJhc2Utc2VydmljZXMuCgkgICAgIChzZXJ2aWNlIGxvZ2luLXNl cnZpY2UtdHlwZSkKCSAgICAgKHNlcnZpY2UgdWRldi1zZXJ2aWNlLXR5cGUgKHVkZXYtY29uZmln dXJhdGlvbikpCgkgICAgIChzeXNsb2ctc2VydmljZSkpKQoKICA7OyBXaGVuIHVzaW5nIHN1ZG8s IGJ5IGRlZmF1bHQgc29tZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgc3VjaCBhcwogIDs7IFBZVEhP TlBBVEggYXJlIGRyb3BwZWQuICBNYWtlIGl0IHNvIHRoYXQgYW55IGVudmlyb25tZW50CiAgOzsg dmFyaWFibGVzIGFyZSBob25vcmVkLiAgVGhpcyBpcyBpbXBvcnRhbnQgc28gdGhhdCB0aGUgR3Vp eCBzeXN0ZW0KICA7OyBwcm9maWxlIGNhbiB3b3JrIGNvcnJlY3RseSBmb3IgYW55IHVzZXIuCiAg KHN1ZG9lcnMtZmlsZSAocGxhaW4tZmlsZSAic3Vkb2VycyIgIlwKcm9vdCBBTEw9KEFMTCkgQUxM CiV3aGVlbCBBTEw9KEFMTCkgQUxMCkRlZmF1bHRzICFlbnZfcmVzZXQsIWVudl9kZWxldGVcbiIp KSkK --=-=-= Content-Type: text/plain $ guix size `guix system build robot-framework-system.scm` gives: store item total self /gnu/store/f9fy1b2yf1qxy523732r7z34ymwqz64b-linux-libre-5.1 241.5 241.5 21.8% /gnu/store/1lcniyxkxkh8g73zvh2gpbccvl6ggna7-locale-2.28 91.8 91.8 8.3% /gnu/store/zm3188ipzi262s0m8bxm24br77yh9pd8-python-3.7.0 183.0 74.6 6.7% /gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0 183.0 74.6 6.7% /gnu/store/wqr8rwnwpmag01i6kb0laf62vsqnhrxy-python-3.7.0 183.0 74.6 6.7% /gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0 182.8 74.6 6.7% [...] total: 1106.3 MiB But, $ guix size `guix system --no-grafts build robot-framework-system.scm` store item total self /gnu/store/f9fy1b2yf1qxy523732r7z34ymwqz64b-linux-libre-5.1 241.5 241.5 28.4% /gnu/store/1lcniyxkxkh8g73zvh2gpbccvl6ggna7-locale-2.28 91.8 91.8 10.8% /gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0 182.8 74.6 8.8% /gnu/store/ybglr7nfs8v9kpnm8vf4drg3gafnvd15-guile-static-stripped-2.2.4 45.9 45.9 5.4% total: 851.2 MiB Conclusion: the size of grafts is added multiple times even though they should be very light on disk usage given that they are mostly hard links to the original, ungrafted output. --=-=-=--