mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-04-06 07:47:53 +10:00
- install.sh: Replace awk float comparison with integer major/minor check so Python 3.9 is correctly rejected as < 3.13 - nfpm.yaml: Add git/curl/wget as recommends so users have basic archiving tools out of the box without needing `archivebox install` - debian.yml: Restore git/curl/wget in CI smoke test to match what the package recommends, instead of relying on runner preinstalls - debian.yml: Guard release upload to skip gracefully when no GitHub Release exists (fixes workflow_dispatch failures) https://claude.ai/code/session_01Vx1EsNrNySgsc8Y67dGzCn
70 lines
2.0 KiB
YAML
70 lines
2.0 KiB
YAML
# nFPM configuration for building ArchiveBox .deb packages
|
|
# Docs: https://nfpm.goreleaser.com/configuration/
|
|
# Usage: nfpm package --config pkg/debian/nfpm.yaml --packager deb --target dist/
|
|
|
|
name: archivebox
|
|
arch: "${ARCH:-amd64}"
|
|
platform: linux
|
|
version: "${VERSION}"
|
|
version_schema: semver
|
|
maintainer: "Nick Sweeting <nfpm@archivebox.io>"
|
|
description: |
|
|
Self-hosted internet archiving solution.
|
|
Save pages from the web including HTML, PDF, screenshots, media, and more.
|
|
Install with: sudo apt install archivebox && archivebox init --setup
|
|
vendor: "ArchiveBox"
|
|
homepage: "https://archivebox.io"
|
|
license: "MIT"
|
|
section: "web"
|
|
priority: "optional"
|
|
|
|
depends:
|
|
# python3 >= 3.11 allows dpkg to install on more systems (e.g. Ubuntu 24.04).
|
|
# install.sh enforces the real >= 3.13 requirement at venv creation time,
|
|
# failing early with a clear error if only an older python3 is available.
|
|
- python3 (>= 3.11)
|
|
- python3-pip
|
|
- python3-venv
|
|
# All other runtime deps (node, chrome, yt-dlp, etc.) are installed on-demand
|
|
# by `archivebox install` and should NOT be declared as package dependencies.
|
|
|
|
recommends:
|
|
# Common utilities used by archivebox extractors. Declared as recommends
|
|
# (not depends) so dpkg doesn't hard-fail if they're missing, but apt
|
|
# installs them by default so users have a working baseline out of the box.
|
|
- git
|
|
- curl
|
|
- wget
|
|
|
|
contents:
|
|
# Wrapper script for /usr/bin/archivebox
|
|
- src: pkg/debian/archivebox
|
|
dst: /usr/bin/archivebox
|
|
file_info:
|
|
mode: 0755
|
|
|
|
# Install helper script
|
|
- src: pkg/debian/install.sh
|
|
dst: /opt/archivebox/install.sh
|
|
file_info:
|
|
mode: 0755
|
|
|
|
# Systemd service file
|
|
- src: pkg/debian/archivebox.service
|
|
dst: /usr/lib/systemd/system/archivebox.service
|
|
file_info:
|
|
mode: 0644
|
|
|
|
# Create data directory (unpacked as root; postinstall.sh chowns to archivebox user)
|
|
- dst: /var/lib/archivebox
|
|
type: dir
|
|
file_info:
|
|
mode: 0755
|
|
|
|
scripts:
|
|
postinstall: pkg/debian/scripts/postinstall.sh
|
|
preremove: pkg/debian/scripts/preremove.sh
|
|
|
|
deb:
|
|
compression: zstd
|