Re: [GNU-linux-libre] Recognizing the GNU system as a free distro

2013-09-14 Thread Karl Berry
œôòøguix build --sourceœôòù should be changed to return the result of 
applying
that œôòøpatchœôòù phase to the upstream tarball.  WDYT?

Sounds right.

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.

Very nice.

Thanks,
k



Re: [GNU-linux-libre] Recognizing the GNU system as a free distro

2013-09-14 Thread Jason Self
Ludovic Courtès said:
> Yes, I understand this, but my question was more about how this occurs
> technically.
>
> My understanding is that Debian-based distros provide the unmodified
> upstream source, with a debian/patches tree containing patches they
> apply.  Do I get it right?

Ah, I see. In the case of, say, the Linux kernel it's not really
possible to provide the unmodified source code because that would mean
Trisquel would be distributing that non-free software. So, their
orig.tar.gz isn't the unmodified upstream source but rather the
deblobbed version.


Re: [GNU-linux-libre] Recognizing the GNU system as a free distro

2013-09-14 Thread Sam Geeraerts
Op Sat, 14 Sep 2013 15:01:13 +0200
schreef l...@gnu.org (Ludovic Courtès):

> My understanding is that Debian-based distros provide the unmodified
> upstream source, with a debian/patches tree containing patches they
> apply.  Do I get it right?

For gNewSense we do as follows. If the software recommends non-free
software then 'apt-get source' will give you the unmodified upstream
source + a debian/patches tree with a fix to remove the reference. If
the upstream source contains blobs or non-free code then 'apt-get
source' will give you the upstream source without the troublesome bits
(+ a debian/patches tree if there are also issues like the former).



Re: [GNU-linux-libre] Recognizing the GNU system as a free distro

2013-09-14 Thread Ludovic Courtès
"Jason Self"  skribis:

> Ludovic Courtès asked:
>> But, what does "source code" mean here?  Does it mean the source that's
>> made available using the distro tools, such as 'apt-get source'?
>
> That's my understanding of it.

OK.

Again, I’d like to stress that Guix goes way further than this: any user
can check the whole dependency chain, build scripts, and patches used to
build a package.

They can run build recipes locally, and assert that the binary they
obtain matches the one distributed by hydra.gnu.org–as opposed to having
to trust hydra.gnu.org.

>> What kind of changes are these, typically?  Are these changes to debian/
>> files (such as adding new patches), or are these changes outside of the
>> debian/ directory?
>
> They run the gamut:

[...]

Yes, I understand this, but my question was more about how this occurs
technically.

My understanding is that Debian-based distros provide the unmodified
upstream source, with a debian/patches tree containing patches they
apply.  Do I get it right?

Thanks!

Ludo’.



Re: [GNU-linux-libre] Recognizing the GNU system as a free distro

2013-09-14 Thread Ludovic Courtès
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’.