emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#44835: closed (gnu/ci.go: Embeds build path, breaking reproducible b


From: GNU bug Tracking System
Subject: bug#44835: closed (gnu/ci.go: Embeds build path, breaking reproducible builds)
Date: Thu, 07 Mar 2024 21:48:02 +0000

Your message dated Thu, 07 Mar 2024 13:46:01 -0800
with message-id <875xxxogva.fsf@wireframe>
and subject line Re: bug#44835: gnu/ci.go: Embeds build path, breaking 
reproducible builds
has caused the debbugs.gnu.org bug report #44835,
regarding gnu/ci.go: Embeds build path, breaking reproducible builds
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
44835: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=44835
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: gnu/ci.go: Embeds build path, breaking reproducible builds Date: Mon, 23 Nov 2020 20:19:54 -0800
Something in gnu/ci.scm is embedding the build path when compiled into
gnu/ci.go, as can be seen:

  
https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/diffoscope-results/guix.html

  ./usr/lib/x86_64-linux-gnu/guile/3.0/site-ccache/gnu/ci.go
  strings --all --bytes=8 {}
  Offset 85, 15 lines modified  Offset 85, 15 lines modified
  ...
  92    /build/1st/guix-1.2.0~rc2/gnu/ci.scm    92      
/build/2/guix-1.2.0~rc2/2nd/gnu/ci.scm

While guix builds of guix are typically built with a consistent build
path, it would be nice to fix this issue for other environments where
the build path may vary between builds.


My *wild* guess is it maybe has something to do with the use of
canonicalize-path:

  (define (find-current-checkout arguments)
  "Find the first checkout of ARGUMENTS that provided the current file.
Return #f if no such checkout is found."
  (let ((current-root
         (canonicalize-path
          (string-append (dirname (current-filename)) "/.."))))
    (find (lambda (argument)
            (and=> (assq-ref argument 'file-name)
                   (lambda (name)
                     (string=? name current-root)))) arguments)))

Either directly or indirectly... does canonicalize-path resolve at build
time? run time? somewhere in-between? Or is this a red herring, and
something else entirely is responsible? I'll let a competent schemer
ponder this! :)


Thanks for all your help!


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message --- Subject: Re: bug#44835: gnu/ci.go: Embeds build path, breaking reproducible builds Date: Thu, 07 Mar 2024 13:46:01 -0800
On 2020-12-03, Ludovic Courtès wrote:
> Mathieu Othacehe <othacehe@gnu.org> skribis:
>
>>> … but I don’t think we can assume that the checkout is in the
>>> ‘%load-path’ when this code is executed.  WDYT, Mathieu?
>>
>> Cuirass happens to add checkouts to the %load-path just before loading
>> this file.
>
> Is that systematic?  Isn’t it only when ‘load_path_inputs’ is non-empty?
>
>> I tested your path, it works fine. I think it is acceptable as this (gnu
>> ci) interface needs a big rework anyway.
>>
>> I can apply your patch if it's ok for you.
>
> Sure if you’re confident you can go ahead.  :-)

This looks to have been fixed some time ago in:

  76bea3f8bcd951ded88dfb7f8cad5bc3e5a1701f ci: Remove hydra support.

live well,
  vagrant

Attachment: signature.asc
Description: PGP signature


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]