/ fetchx / build-deb.sh
Swadhin Biswas feat: add multi-platform packaging and CI automation · 3/7/2026
492a637
43 lines · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
# Build DEB package for fetchx

set -e

VERSION="0.2.0"
ARCH="amd64"
PACKAGE_NAME="fetchx_${VERSION}_${ARCH}"

echo "Building fetchx DEB package..."

# Build the binary
cargo build --release --locked

# Create package directory structure
mkdir -p "$PACKAGE_NAME/usr/bin"
mkdir -p "$PACKAGE_NAME/usr/share/applications"
mkdir -p "$PACKAGE_NAME/usr/share/bash-completion/completions"
mkdir -p "$PACKAGE_NAME/usr/share/zsh/vendor-completions"
mkdir -p "$PACKAGE_NAME/usr/share/man/man1"

# Install binary
install -Dm755 target/release/fetchx "$PACKAGE_NAME/usr/bin/fetchx"

# Install desktop file
install -Dm644 debian/fetchx.desktop "$PACKAGE_NAME/usr/share/applications/fetchx.desktop"

# Install completions
install -Dm644 debian/fetchx.bash-completion "$PACKAGE_NAME/usr/share/bash-completion/completions/fetchx"
install -Dm644 debian/fetchx.zsh-completion "$PACKAGE_NAME/usr/share/zsh/vendor-completions/_fetchx"

# Install man page
install -Dm644 debian/fetchx.1 "$PACKAGE_NAME/usr/share/man/man1/fetchx.1"

# Create DEB package
dpkg-deb --build "$PACKAGE_NAME"

echo "Package created: $PACKAGE_NAME.deb"
echo ""
echo "To install:"
echo "  sudo dpkg -i $PACKAGE_NAME.deb"
echo "  sudo apt-get install -f  # to install dependencies"