Skip to content

Need a way to bundle up the crate components into a deb, rpm, tar, zip, or installer #557

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
trink opened this issue Sep 11, 2014 · 6 comments
Labels
A-tooling Area: interaction with other tools

Comments

@trink
Copy link

trink commented Sep 11, 2014

cargo package? to invoke a package maker command (e.g., cpack, fpm, etc)

@alexcrichton
Copy link
Member

This actually currently exists already! cargo help package should describe it, and it currently just creates a source tarball. Are you thinking of something more involved than that?

@trink
Copy link
Author

trink commented Sep 11, 2014

Hmm, didn't see any docs on that, thanks.

I was thinking of something that could be invoked to generate a more formal package: rpm, deb, dmg, msi installer etc. I also need to pick up bits from the native build.

@alexcrichton
Copy link
Member

Yes currently this doesn't quite exist in a general form. I've been postponing this for a cargo install step or something similar (which doesn't currently exist).

@alexcrichton alexcrichton added the A-tooling Area: interaction with other tools label Jan 14, 2015
@icorderi
Copy link

icorderi commented May 8, 2015

+1 on both features.
@alexcrichton do you know of any ongoing efforts on this?

A cargo install foobar is far more convenient and clean than:

git clone foobar.git, 
cd foobar
cargo build --release
ln -s target/release/foobar /usr/local/bin/.

modulo error checks...

We will probably need the siblings too, cargo uninstall foobar, cargo upgrade foobar.

While we are at it:

  • cargo view foobar for checking details on an installed package and,
  • cargo list for the list of packages, versions installed
  • cargo upgrade, latest and greatest for all the installed crates.

cargo package foobar would be the manual way, allowing one to deploy without cargo on the target.

NOTE: moved install/uninstall/upgrade/list to its own issue (#1593)

@alexcrichton
Copy link
Member

@icorderi I'm unaware of any current efforts in implementing this. I'd personally like to see something like this go through an RFC to get broader discussion and visibility as this sort of feature is often quite thorny.

@alexcrichton
Copy link
Member

Lots has happened since this was first opened, and over time it's become clear that Cargo itself is unlikely to bundle commands such as this. With cargo-install now it's quite easy for these to develop externally and get installed by local users, and if they turn out to have widespread usage we can certainly reconsider inclusion!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-tooling Area: interaction with other tools
Projects
None yet
Development

No branches or pull requests

3 participants