summaryrefslogtreecommitdiffstats
path: root/ci/build_deb.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ci/build_deb.sh')
-rwxr-xr-xci/build_deb.sh22
1 files changed, 17 insertions, 5 deletions
diff --git a/ci/build_deb.sh b/ci/build_deb.sh
index eb516191..4812b47e 100755
--- a/ci/build_deb.sh
+++ b/ci/build_deb.sh
@@ -18,14 +18,26 @@ 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.
+# we force a debug build, copy out the man page (and shell completions)
+# produced from that build, put it into a predictable location and then build
+# the deb, which knows where to look.
-mkdir -p deployment
+DEPLOY_DIR=deployment/deb
+mkdir -p "$DEPLOY_DIR"
cargo build
+
+# Find and copy man page.
manpage="$(find ./target/debug -name rg.1 -print0 | xargs -0 ls -t | head -n1)"
-cp "$manpage" deployment/
+cp "$manpage" "$DEPLOY_DIR/"
+
+# Do the same for shell completions.
+compbash="$(find ./target/debug -name rg.bash -print0 | xargs -0 ls -t | head -n1)"
+cp "$compbash" "$DEPLOY_DIR/"
+compfish="$(find ./target/debug -name rg.fish -print0 | xargs -0 ls -t | head -n1)"
+cp "$compfish" "$DEPLOY_DIR/"
+compzsh="complete/_rg"
+cp "$compzsh" "$DEPLOY_DIR/"
+
# 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