mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-04-06 07:47:53 +10:00
- Add Homebrew formula (brew_dist/archivebox.rb) using virtualenv pattern
with auto-generation via homebrew-pypi-poet in bin/build_brew.sh
- Add Debian packaging via nFPM (pkg/debian/) with thin .deb that pip-installs
archivebox into /opt/archivebox/venv on postinstall
- Add build/release scripts: bin/{build,release}_{brew,deb}.sh
- Update CI workflows to build packages on release and test them
- Update README apt/brew install instructions with working commands
- Update bin/setup.sh to use .deb download instead of old Launchpad PPA
https://claude.ai/code/session_01Vx1EsNrNySgsc8Y67dGzCn
49 lines
1.4 KiB
Bash
Executable File
49 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
### Bash Environment Setup
|
|
# http://redsymbol.net/articles/unofficial-bash-strict-mode/
|
|
# https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html
|
|
# set -o xtrace
|
|
set -o errexit
|
|
set -o errtrace
|
|
set -o nounset
|
|
set -o pipefail
|
|
IFS=$'\n'
|
|
|
|
REPO_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && cd .. && pwd )"
|
|
cd "$REPO_DIR"
|
|
|
|
VERSION="$(grep '^version = ' "${REPO_DIR}/pyproject.toml" | awk -F'"' '{print $2}')"
|
|
FORMULA_FILE="$REPO_DIR/brew_dist/archivebox.rb"
|
|
TAP_REPO="ArchiveBox/homebrew-archivebox"
|
|
|
|
if [ ! -f "$FORMULA_FILE" ]; then
|
|
echo "[!] Formula not found at $FORMULA_FILE"
|
|
echo " Run ./bin/build_brew.sh first to generate it."
|
|
exit 1
|
|
fi
|
|
|
|
echo "[+] Releasing Homebrew formula for archivebox==${VERSION} to ${TAP_REPO}..."
|
|
|
|
# Clone the tap repo, update formula, commit, and push
|
|
TMPDIR="$(mktemp -d)"
|
|
trap "rm -rf $TMPDIR" EXIT
|
|
|
|
git clone "https://github.com/${TAP_REPO}.git" "$TMPDIR/tap"
|
|
cp "$FORMULA_FILE" "$TMPDIR/tap/archivebox.rb"
|
|
|
|
cd "$TMPDIR/tap"
|
|
git add archivebox.rb
|
|
if git diff --cached --quiet; then
|
|
echo "[i] No changes to formula, skipping release."
|
|
exit 0
|
|
fi
|
|
|
|
git commit -m "Update archivebox to v${VERSION}"
|
|
git push origin HEAD
|
|
|
|
echo "[√] Homebrew formula pushed to ${TAP_REPO}"
|
|
echo " Users can install with:"
|
|
echo " brew tap archivebox/archivebox"
|
|
echo " brew install archivebox"
|