Le dimanche 16 février 2025 à 06:18 -0600, rhys a écrit :
> 
> If the upstream intends to distribute it with a tarball, that's the
> "golden" package that downstream should base code upon.
> 
> Going around that decision means subjecting all of Debian to code
> pulled from their repo outside of their distribution process.

I don't understand: it never was about packaging a random git commit.

Upstream works on code in a preferred form, and tags a definite commit
as being version 3.14159. This gets in some tarballs already in some
cases (github comes to mind) ; call that source-level-zero.

>From this upstream runs some tool (generally triggered by their
tagging) ; often some autotools, 'dune' on the package which started
this thread, but rust/js/ruby/whatever also have their own. This tool
turns the git commit tree into some pre-compiled tree, put into another
tarball. Call this source-level-one.

The point I made about the elpi package is that we want to ship source-
zero, as that's what upstream works on. This is in line with Debian
shipping autotools-based packages but re-running the autotools before
they run configure again.

> How much function is lost as a result is nothing compared to the
> instability of packages that can result from distributing code that
> was not meant for distribution.

Well, "use what upstream publishes" sounds nice until you look at the
landscape :

- many Python upstreams use pypi and consider that their pypi package
is what they publish ;

- many JavaScript upstreams use npm and consider that their npm package
is what they publish ;

- many Rust upstream use cargo and consider that their cargo package is
what they publish ;
 
- many OCaml upstreams use opam and consider that their opam package is
what they publish ;

- many Coq upstreams use a sub-distribution of opam (the Coq Platform)
and consider this is what they publish ;

- etc.

There is a huge confusion in many upstream's heads that putting their
software on people's computers is what "distributing" means. The fact
that their software is only semi-coherent with the system (only within
a certain programming language boundary) is a problem.

Debian is a whole-system distribution ; we make sure software works in
a coherent system-wide way, and basing our packages on code which has
already been pre-package for a subpar distribution (language-limited)
isn't a good option.

Cheers,

J.Puydt

Reply via email to