k...@freefriends.org (Karl Berry) skribis: > So, do we want ‘guix build --source’ to return the already-patched, > FSDG-compliant source? > > It should return exactly the sources which actually got built -- which I > gather, though I'm not sure, is not necessarily the same as "unmodified > upstream"? Or rather, the most natural way for people to get sources > (e.g., using the same "channel" as the binaries they got) should result > in them getting the sources that got built to make those binaries.
I agree that the current behavior of ‘guix build --source’ is unsatisfying. That it currently returns the unmodified upstream tarball is more a consequence of how things are implemented: during the build process, after the tarball is unpacked, a ‘patch’ phase is run (this is where distro-specific, fixes, and freedom-related changes are made.) ‘guix build --source’ should be changed to return the result of applying that ‘patch’ phase to the upstream tarball. WDYT? > That's the whole requirement of distributing the binaries under the GPL, > after all. Not related to FSDG specifically. I know you know this, so > I'm rather puzzled by what's going on. As I explained during my GHM talk, Guix furthers the spirit of the GPL in that it provides the /complete/ build recipe that led to the binary–“complete” means that it includes build scripts, patches, compilers, libraries, etc., recursively. When users do ‘guix package --list-available’, they are given the file name of the recipe, which allows them to check precisely how things are patched and built. So I think the issue is really about how things are presented to the user. Part of the issue probably comes from the fact that Guix works differently than binary-only distros. Thanks for your feedback! Ludo’.