3 ms·
> This won't necessarily be good enough to go into Debian proper; I know they tend to not like these kinds of tools, and want to do it by hand. No, not "by han
by dozzie 10y ago
> This won't necessarily be good enough to go into Debian proper; I know they tend to not like these kinds of tools, and want to do it by hand.
No, not "by hand". By automation provided by distribution.
And you know what it takes for this automation to be able to build a DEB out
of the source tree? A "compile" command that (a) does not touch network, ever,
and (b) does not expect dependencies to be downloaded into the source tree nor
$HOME/.whatever, but allows them to reside somewhere in /usr/lib.
It's that simple, yet most of the language-specific package managers
completely fail at this or at least make this building mode awkward.
BTW, the same stands for RPMs, and virtually any binary packaging system.
- steveklabnik 10y ago> No, not "by hand". By automation provided by distribution. My understanding is that the _configuration_ is usually written by hand, and then the automation takes care of the actual build. > And you know what it takes for this automation to be able to build a DEB out of the source tree? (a) is already covered, as is (b). That said, we're still working on making it easier.
- JoshTriplett 10y ago> My understanding is that the _configuration_ is usually written by hand, and then the automation takes care of the actual build. There's absolutely nothing wrong with auto-generating the packaging files in the debian/ directory, as long as the uploaded package contains the generated versions. I'd love to see a tool that can generate a Policy-compliant Debian source package from a Cargo crate, ready for upload. > (a) is already covered, as is (b). That said, we're still working on making it easier. I've seen the proposed plan for addressing (a) and (b), namely shipping the full source code of library crates in the -dev package. Has this been implemented, in a way that Cargo can use?
- steveklabnik 10y agoI would too, I didn't realize that it was achievable, but even as a long-time Debian user, I haven't payed close enough attention to these policies, it seems. Oh no, I meant that Cargo itself will already not hit the network, and you can configure exactly where it downloads sources. I wasn't aware of any "Cargo can use a .deb for source" plans.
- dozzie 10y ago> I wasn't aware of any "Cargo can use a .deb for source" plans. You got it a little wrong. Cargo should not expect sources in -dev packages. It should expect precompiled libraries (static ones).
- dozzie 10y ago> (a) is already covered, as is (b). I'm glad to read this. The only thing that remains then is to keep programmers (those writing applications in Rust) from breaking either of these points... > That said, we're still working on making it easier. ...and making the documentation clear how to use the build tool in this manner, even for sysadmin who doesn't write Rust code (I don't know the current state of Cargo's docs; maybe it already achieved that).
- steveklabnik 10y agoIt's a tooling issue, not those using the tooling: meaning, it's up to the Cargo devs to not break the behavior, and we have incentives not to do so.