Coder Social home page Coder Social logo

Comments (7)

kornelski avatar kornelski commented on July 23, 2024 2

There's --no-build for this. build with cross however you want, and then package with --no-build.

from cargo-deb.

kornelski avatar kornelski commented on July 23, 2024 2

My rationale is that I use macOS and develop code on macOS. I simply can't install dpkg on my daily driver OS :)

While cross-building for glibc-based distos is a major hassle, especially if C dependencies are involved, it's still doable. I have some pure-Rust projects that I build for musl and package on macOS host.

Secondary issue is that deb-related tools aren't available out of the box, and need to be installed manually, pulling in their own dependencies, and are tied to particular Debian version, so they may be outdated and fiddly to deal with.
It is a bit of a NIH syndrome, but pure-Rust tools are easier to use by Rust projects, and this is true for cargo-deb development as well as downstream Rust users of cargo-deb.

I've made cargo-deb run on Windows only because it's funny.

from cargo-deb.

kornelski avatar kornelski commented on July 23, 2024

I don't think cargo-deb can do anything about this. As far as this crate is concerned, all systems are the same.

Issues like deps versions and glibc shenanigans are related to specifics of the build, and cargo-deb merely calls cargo build --release and doesn't micromanage the builds.

In practice you may get away with building the whole project on the oldest OS that you support, using a container or a VM.

from cargo-deb.

abentley avatar abentley commented on July 23, 2024

Right. That makes sense. At the same time, using a VM or container is exactly what cross-rs automates, so it seems like there's an opportunity for integration between the two projects.

Anyhow, would you welcome an update to the readme?

from cargo-deb.

kornelski avatar kornelski commented on July 23, 2024

I suppose a small mention will be ok, but I wouldn't want to end up with a comprehensive list of what this crate doesn't do :)

from cargo-deb.

Revertron avatar Revertron commented on July 23, 2024

Is it possible to add some parameter to cargo-deb just to use cross instead of cargo?
It would be very helpful.

from cargo-deb.

boris-kolpackov avatar boris-kolpackov commented on July 23, 2024

This is only tangentially related but I couldn't find a better place to ask (but feel free to point me to such a place): I am studying the overall approach of cargo-deb and it appears the package is created fully manually without any use of dpkg or any higher-level helpers provided by Debian. My initial guess at the reason was that it would allow creating the package on different versions of Debian/Ubuntu or even on different Linux distributions. But based on the above discussion this does not appear to be the case (plus there are a few calls to dpkg and dh_* machinery). So can anyone (perhaps @kornelski ?) provide some rationale for going with this "from scratch" approach? Thanks in advance for any insight!

from cargo-deb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.