Skip to content
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

deb package lacks a man page #842

Closed
BurntSushi opened this issue Feb 28, 2018 · 5 comments · Fixed by #1023
Closed

deb package lacks a man page #842

BurntSushi opened this issue Feb 28, 2018 · 5 comments · Fixed by #1023
Labels
enhancement An enhancement to the functionality of the software. help wanted Others are encouraged to work on this issue.

Comments

@BurntSushi
Copy link
Owner

What version of ripgrep are you using?

0.8.1

What operating system are you using ripgrep on?

Linux

Describe your question, feature request, or bug.

The deb package in ripgrep's release artifacts does not install the man page. This deb package is generated using the helpful cargo-deb tool. This tool basically "just works": I run it in the root of the ripgrep repo and out pops a deb package that can be installed in any Debian or Ubuntu system. This approach isn't idiomatic in the sense that every dependency of ripgrep is individually packaged, but the idiomatic approach is extremely costly. So costly, in fact, that I could never personally do it. But I can run cargo deb.

There is a small problem: the deb package doesn't contain a man page. I suspect the right answer here is to somehow teach cargo deb how to bundle a man page with the package it produces.

@BurntSushi BurntSushi added enhancement An enhancement to the functionality of the software. help wanted Others are encouraged to work on this issue. labels Feb 28, 2018
@infinity0
Copy link
Contributor

https://anonscm.debian.org/cgit/pkg-rust/debcargo.git/ is the "idiomatic approach".

The right approach is to adopt a standard path for cargo crates to put man pages, then both debcargo and cargo-deb can put man pages from this standard path into the .debs it generates. man/ is perfectly fine for this, and I hear other crates have done this on an ad-hoc basis.

@tmccombs
Copy link
Contributor

Somewhat related to this, the deb is also missing shell completion functions (bash completion, zsh, etc.)

@kamalmarhubi
Copy link

@BurntSushi would you accept a short term fix to "manually" add the files to the deb package?

@BurntSushi
Copy link
Owner Author

@kamalmarhubi Potentially. Today, I run cargo deb and upload the resulting package manually. If there's another command or two I can run to include the man page, that I'd be willing to do that.

@tmccombs
Copy link
Contributor

tmccombs commented Apr 5, 2018

It looks like the cargo deb plugin supports an assets config to specify which assets to include.

BurntSushi added a commit that referenced this issue Aug 22, 2018
This commit beefs up the package metadata used by the 'cargo deb' tool to
produce a binary dpkg. In particular, we now include ripgrep's man page.

This commit includes a new script, 'ci/build_deb.sh', which will handle
the build process for a dpkg, which has become a bit more nuanced than
just running 'cargo deb'. We don't (yet) run this script in CI.

Fixes #842
BurntSushi added a commit that referenced this issue Aug 22, 2018
This commit beefs up the package metadata used by the 'cargo deb' tool to
produce a binary dpkg. In particular, we now include ripgrep's man page.

This commit includes a new script, 'ci/build_deb.sh', which will handle
the build process for a dpkg, which has become a bit more nuanced than
just running 'cargo deb'. We don't (yet) run this script in CI.

Fixes #842
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An enhancement to the functionality of the software. help wanted Others are encouraged to work on this issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants