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

Re: Split Packages files based on new section "buildlibs"



On Tue, Nov 10, 2020 at 06:52:14PM -0500, Calum McConnell wrote:
> On Tue, 2020-11-10 at 10:07 +0000, Simon McVittie wrote:
> > On Tue, 10 Nov 2020 at 10:45:07 +0100, Johannes Schauer wrote:
> > > I'm confused. We are packaging libraries of language X but then those
> > > packages
> > > will not be used by people who write software for language X on
> > > Debian?
> > > Intuitively, should I ever start with Rust, I would've thought that I
> > > had to
> > > install librust-clap-dev if I want to write code using "clap". What
> > > else would
> > > I install?
> > 
> > The Rust community's expectation seems to be that you would install
> > cargo,
> > and use that to download and build the clap package directly from
> > upstream,
> > without apt/dpkg being involved at all.
> 
> I don't know that that means we should abandon efforts to integrate the
> debian packages into usable code.
> 
> Rubygems has a similar expectation: however, there is a package (rubygems-
> integration) that makes it work anyways.  With Ruby, the only (user-
> obvious) difference between installing via gem and via deb is the package
> version.

FWIW, that is not accurate. There is nothing in Rubygems that prevents
it from just working. That is orthogonal to what random people who
happen to use Ruby think of Debian providing Ruby packages.

What happened was that Rubygems was created *after* we already had quite
some Ruby code in Debian that was installed differently than what
Rubygems expected, and rubygems-integration was created to bridge the
two ways of installing code. The Ruby team is slowly migrating the
old-style packages to the Rubygems layout, and at some point most, if
not all, of rubygems-integration will be obsolete.

> What about Rust makes that impossible?

In the Rust world there is no such thing as installing a library
globably. A crate that provides a library can only be used to build
other stuff, and is never made available globally. "cargo install" only
applies to creates that provide binaries:

https://doc.rust-lang.org/cargo/commands/cargo-install.html

Attachment: signature.asc
Description: PGP signature


Reply to: