-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
release: better support for binary Debian package
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
- Loading branch information
1 parent
14c4162
commit b1c0ae8
Showing
3 changed files
with
55 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
# This script builds a binary dpkg for Debian based distros. It does not | ||
# currently run in CI, and is instead run manually and the resulting dpkg is | ||
# uploaded to GitHub via the web UI. | ||
# | ||
# Note that this requires 'cargo deb', which can be installed with | ||
# 'cargo install cargo-deb'. | ||
# | ||
# This should be run from the root of the ripgrep repo. | ||
|
||
if ! command -V cargo-deb > /dev/null 2>&1; then | ||
echo "cargo-deb command missing" >&2 | ||
exit 1 | ||
fi | ||
|
||
# 'cargo deb' does not seem to provide a way to specify an asset that is | ||
# created at build time, such as ripgrep's man page. To work around this, | ||
# we force a debug build, copy out the man page produced from that build, put | ||
# it into a predictable location and then build the deb, which knows where to | ||
# look. | ||
|
||
mkdir -p deployment | ||
cargo build | ||
manpage="$(find ./target/debug -name rg.1 -print0 | xargs -0 ls -t | head -n1)" | ||
cp "$manpage" deployment/ | ||
# Since we're distributing the dpkg, we don't know whether the user will have | ||
# PCRE2 installed, so just do a static build. | ||
PCRE2_SYS_STATIC=1 cargo deb |