Ludovic Courtès writes:

Hi!

> Janneke Nieuwenhuizen <[email protected]> skribis:

>> So yeah, time to also let go of generated ChangeLog files.
>
> Yeah.
>
>> Do you think it's time to replace `make dist' in Guix by some `git
>> archive' curse yet?  Now that we choose to prefer not using tarballs in
>> Guix because they include generated data, wouldn't it make sense not to
>> provide tarballs that contain generated data?
>
> There’s a strong connection with the build system, actually.

Sure!

> The reason Autotools were made this way is quite smart actually: it’s
> easy to install from a ‘make dist’ tarball since you need nothing but a
> POSIX shell and make, which were the things one could consider
> ubiquitous at the time.

Yes, at the end of the 80 and early ninetees, this was a very smart
thing to do.  Essential even, probably.

> Builds systems that came later (CMake, Meson, etc.) did away with this
> convenience.  That was quite risky at the time (asking users to install
> CMake, and the right version, before they could even install the package
> they’re interested in!), but in the long run, it appears to work well.

As the GNU project promoted good, extensive, documentation and even
invented an amazing [tex]info format for that, and CMake's business
module was to keep documentation proprietary and sell it, I vowed to
never ever touch it.  Apart from inventing another stupid language (that
was undocumented!), and making a similar mistake as Autotools:
generating makefiles on the file-system and using absolute file names
and not using any abstractions (like $(CC) or $(CFLAGS) in those, but
expanding everyting everywhere.  Oh my, and then people actually started
to use that, unbelievable :-(

> And, there’s some good news!  I hear fellow hackers have been working on
> this thing called BLUE, which could address our tarball problem as well!
> That is, once Guix uses BLUE as its build system, ‘make dist’ is
> effectively gone,

Well, "someone" actually contributed some patches to BLUE *), making sure
that `make dist' would produce a reproducible source tarball ootb ;)

Possibly BLUE should support a `make git-dist' or something; but as a
generic build system you'd probably not want have a hard dependency on
git?  Dunno...

> and at that point it building from a Git checkout or ‘git archive’ is
> the normal experience.

> I hope this makes sense. :-)

Sure, thanks!

Greetings,
Janneke

*) https://codeberg.org/lapislazuli/blue/pulls/251
   https://codeberg.org/lapislazuli/blue/pulls/258

-- 
Janneke Nieuwenhuizen <[email protected]>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

Reply via email to