Remove Homebrew
This commit is contained in:
parent
dc2f01754e
commit
5e88f14c7b
11 changed files with 9 additions and 181 deletions
|
@ -17,7 +17,6 @@ node_modules/
|
||||||
|
|
||||||
build/
|
build/
|
||||||
dist/
|
dist/
|
||||||
brew_dist/
|
|
||||||
deb_dist/
|
deb_dist/
|
||||||
pip_dist/
|
pip_dist/
|
||||||
assets/
|
assets/
|
||||||
|
|
51
.github/workflows/homebrew.yml
vendored
51
.github/workflows/homebrew.yml
vendored
|
@ -1,51 +0,0 @@
|
||||||
name: Build Homebrew package
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: macos-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 1
|
|
||||||
|
|
||||||
# TODO: modify archivebox.rb to update src url, hashes, and dependencies
|
|
||||||
|
|
||||||
- name: Build Homebrew Bottle
|
|
||||||
run: |
|
|
||||||
pip3 install --upgrade pip setuptools wheel
|
|
||||||
cd brew_dist/
|
|
||||||
brew install --build-bottle ./archivebox.rb
|
|
||||||
# brew bottle archivebox
|
|
||||||
archivebox version
|
|
||||||
|
|
||||||
- name: Add some links to test
|
|
||||||
run: |
|
|
||||||
mkdir data && cd data
|
|
||||||
archivebox init --setup
|
|
||||||
archivebox add 'https://example.com'
|
|
||||||
archivebox version
|
|
||||||
archivebox status
|
|
||||||
|
|
||||||
# - name: Commit built package
|
|
||||||
# run: |
|
|
||||||
# cd brew_dist/
|
|
||||||
# git config --local user.email "action@github.com"
|
|
||||||
# git config --local user.name "GitHub Action"
|
|
||||||
# git commit -m "Homebrew package autobuild" -a
|
|
||||||
|
|
||||||
# - name: Push build to Github
|
|
||||||
# uses: ad-m/github-push-action@master
|
|
||||||
# with:
|
|
||||||
# github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
# repository: ArchiveBox/homebrew-archivebox
|
|
||||||
# branch: ${{ github.ref }}
|
|
||||||
# directory: brew_dist
|
|
||||||
|
|
||||||
# TODO: push bottle homebrew core PR with latest changes
|
|
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
|
@ -93,7 +93,7 @@ jobs:
|
||||||
# TODO: remove this exception for windows once we get tests passing on that platform
|
# TODO: remove this exception for windows once we get tests passing on that platform
|
||||||
if: ${{ !contains(matrix.os, 'windows') }}
|
if: ${{ !contains(matrix.os, 'windows') }}
|
||||||
run: |
|
run: |
|
||||||
python -m pytest -s --basetemp=tests/out --ignore=archivebox/vendor --ignore=deb_dist --ignore=pip_dist --ignore=brew_dist
|
python -m pytest -s --basetemp=tests/out --ignore=archivebox/vendor --ignore=deb_dist --ignore=pip_dist
|
||||||
|
|
||||||
docker_tests:
|
docker_tests:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -31,7 +31,6 @@ output/
|
||||||
*.sw?
|
*.sw?
|
||||||
|
|
||||||
# kotovalexarian
|
# kotovalexarian
|
||||||
/brew_dist/
|
|
||||||
/deb_dist/
|
/deb_dist/
|
||||||
/docker/
|
/docker/
|
||||||
/docs/
|
/docs/
|
||||||
|
|
39
README.md
39
README.md
|
@ -49,13 +49,13 @@ The goal is to sleep soundly knowing the part of the internet you care about wil
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
**📦 Get ArchiveBox with `docker` / `apt` / `brew` / `pip3` / `nix` / etc. ([see Quickstart below](#quickstart)).**
|
**📦 Get ArchiveBox with `docker` / `apt` / `pip3` / `nix` / etc. ([see Quickstart below](#quickstart)).**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Get ArchiveBox with Docker or Docker Compose (recommended)
|
# Get ArchiveBox with Docker or Docker Compose (recommended)
|
||||||
docker run -v $PWD/data:/data -it archivebox/archivebox:dev init --setup
|
docker run -v $PWD/data:/data -it archivebox/archivebox:dev init --setup
|
||||||
|
|
||||||
# Or install with your preferred package manager (see Quickstart below for apt, brew, and more)
|
# Or install with your preferred package manager (see Quickstart below for apt, and more)
|
||||||
pip3 install archivebox
|
pip3 install archivebox
|
||||||
|
|
||||||
# Or use the optional auto setup script to install it
|
# Or use the optional auto setup script to install it
|
||||||
|
@ -220,34 +220,6 @@ See the <a href="https://github.com/ArchiveBox/debian-archivebox"><code>debian-a
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary><b><img src="https://user-images.githubusercontent.com/511499/117447803-f2ec3700-af0b-11eb-87d3-671d114f011d.png" alt="homebrew" height="28px" align="top"/> <code>brew</code></b> (macOS)</summary>
|
|
||||||
<br/>
|
|
||||||
<ol>
|
|
||||||
<li>Install <a href="https://brew.sh/#install">Homebrew</a> on your system (if not already installed).</li>
|
|
||||||
<li>Install the ArchiveBox package using <code>brew</code>.
|
|
||||||
<pre lang="bash"><code style="white-space: pre-line">brew tap archivebox/archivebox
|
|
||||||
brew install archivebox
|
|
||||||
</code></pre>
|
|
||||||
</li>
|
|
||||||
<li>Create a new empty directory and initialize your collection (can be anywhere).
|
|
||||||
<pre lang="bash"><code style="white-space: pre-line">mkdir ~/archivebox && cd ~/archivebox
|
|
||||||
archivebox init --setup # if any problems, install with pip instead
|
|
||||||
</code></pre>
|
|
||||||
</li>
|
|
||||||
<li>Optional: Start the server then login to the Web UI <a href="http://127.0.0.1:8000">http://127.0.0.1:8000</a> ⇢ Admin.
|
|
||||||
<pre lang="bash"><code style="white-space: pre-line">archivebox server 0.0.0.0:8000
|
|
||||||
# completely optional, CLI can always be used without running a server
|
|
||||||
# archivebox [subcommand] [--args]
|
|
||||||
</code></pre>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
See <a href="#%EF%B8%8F-cli-usage">below</a> for more usage examples using the CLI, Web UI, or filesystem/SQL/Python to manage your archive.<br/>
|
|
||||||
See the <a href="https://github.com/ArchiveBox/homebrew-archivebox"><code>homebrew-archivebox</code></a> repo for more details about this distribution.
|
|
||||||
<br/><br/>
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><b><img src="https://user-images.githubusercontent.com/511499/117447613-ba4c5d80-af0b-11eb-8f89-1d98e31b6a79.png" alt="Pip" height="28px" align="top"/> <code>pip</code></b> (macOS/Linux/Windows)</summary>
|
<summary><b><img src="https://user-images.githubusercontent.com/511499/117447613-ba4c5d80-af0b-11eb-8f89-1d98e31b6a79.png" alt="Pip" height="28px" align="top"/> <code>pip</code></b> (macOS/Linux/Windows)</summary>
|
||||||
<br/>
|
<br/>
|
||||||
|
@ -543,7 +515,7 @@ If not using Docker, make sure to keep the dependencies up-to-date yourself and
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# install python3 and archivebox with your system package manager
|
# install python3 and archivebox with your system package manager
|
||||||
# apt/brew/pip/etc install ... (see Quickstart instructions above)
|
# apt/pip/etc install ... (see Quickstart instructions above)
|
||||||
|
|
||||||
archivebox setup # auto install all the extractors and extras
|
archivebox setup # auto install all the extractors and extras
|
||||||
archivebox --version # see info and check validity of installed dependencies
|
archivebox --version # see info and check validity of installed dependencies
|
||||||
|
@ -689,7 +661,6 @@ Disk usage can be reduced by using a compressed/deduplicated filesystem like ZFS
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<img src="https://i.imgur.com/npareKG.png" alt="brew install archivebox"><br/>
|
|
||||||
<img src="https://i.imgur.com/5vSBO2R.png" alt="archivebox version">
|
<img src="https://i.imgur.com/5vSBO2R.png" alt="archivebox version">
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -1027,7 +998,7 @@ Extractors take the URL of a page to archive, write their output to the filesyst
|
||||||
**The process to contribute a new extractor is like this:**
|
**The process to contribute a new extractor is like this:**
|
||||||
|
|
||||||
1. [Open an issue](https://github.com/ArchiveBox/ArchiveBox/issues/new?assignees=&labels=changes%3A+behavior%2Cstatus%3A+idea+phase&template=feature_request.md&title=Feature+Request%3A+...) with your propsoed implementation (please link to the pages of any new external dependencies you plan on using)
|
1. [Open an issue](https://github.com/ArchiveBox/ArchiveBox/issues/new?assignees=&labels=changes%3A+behavior%2Cstatus%3A+idea+phase&template=feature_request.md&title=Feature+Request%3A+...) with your propsoed implementation (please link to the pages of any new external dependencies you plan on using)
|
||||||
2. Ensure any dependencies needed are easily installable via a package managers like `apt`, `brew`, `pip3`, `npm`
|
2. Ensure any dependencies needed are easily installable via a package managers like `apt`, `pip3`, `npm`
|
||||||
(Ideally, prefer to use external programs available via `pip3` or `npm`, however we do support using any binary installable via package manager that exposes a CLI/Python API and writes output to stdout or the filesystem.)
|
(Ideally, prefer to use external programs available via `pip3` or `npm`, however we do support using any binary installable via package manager that exposes a CLI/Python API and writes output to stdout or the filesystem.)
|
||||||
3. Create a new file in [`archivebox/extractors/<extractorname>.py`](https://github.com/ArchiveBox/ArchiveBox/blob/dev/archivebox/extractors) (copy an existing extractor like [`singlefile.py`](https://github.com/ArchiveBox/ArchiveBox/blob/dev/archivebox/extractors/singlefile.py) as a template)
|
3. Create a new file in [`archivebox/extractors/<extractorname>.py`](https://github.com/ArchiveBox/ArchiveBox/blob/dev/archivebox/extractors) (copy an existing extractor like [`singlefile.py`](https://github.com/ArchiveBox/ArchiveBox/blob/dev/archivebox/extractors/singlefile.py) as a template)
|
||||||
4. Add config settings to enable/disable any new dependencies and the extractor as a whole, e.g. `USE_DEPENDENCYNAME`, `SAVE_EXTRACTORNAME`, `EXTRACTORNAME_SOMEOTHEROPTION` in [`archivebox/config.py`](https://github.com/ArchiveBox/ArchiveBox/blob/dev/archivebox/config.py)
|
4. Add config settings to enable/disable any new dependencies and the extractor as a whole, e.g. `USE_DEPENDENCYNAME`, `SAVE_EXTRACTORNAME`, `EXTRACTORNAME_SOMEOTHEROPTION` in [`archivebox/config.py`](https://github.com/ArchiveBox/ArchiveBox/blob/dev/archivebox/config.py)
|
||||||
|
@ -1055,7 +1026,6 @@ Extractors take the URL of a page to archive, write their output to the filesyst
|
||||||
./bin/build_docs.sh
|
./bin/build_docs.sh
|
||||||
./bin/build_pip.sh
|
./bin/build_pip.sh
|
||||||
./bin/build_deb.sh
|
./bin/build_deb.sh
|
||||||
./bin/build_brew.sh
|
|
||||||
./bin/build_docker.sh
|
./bin/build_docker.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -1073,7 +1043,6 @@ Extractors take the URL of a page to archive, write their output to the filesyst
|
||||||
./bin/release_docs.sh
|
./bin/release_docs.sh
|
||||||
./bin/release_pip.sh
|
./bin/release_pip.sh
|
||||||
./bin/release_deb.sh
|
./bin/release_deb.sh
|
||||||
./bin/release_brew.sh
|
|
||||||
./bin/release_docker.sh
|
./bin/release_docker.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@ cd "$REPO_DIR"
|
||||||
./bin/build_docs.sh
|
./bin/build_docs.sh
|
||||||
./bin/build_pip.sh
|
./bin/build_pip.sh
|
||||||
./bin/build_deb.sh
|
./bin/build_deb.sh
|
||||||
./bin/build_brew.sh
|
|
||||||
./bin/build_docker.sh
|
./bin/build_docker.sh
|
||||||
|
|
||||||
echo "[√] Done. Install the built package by running:"
|
echo "[√] Done. Install the built package by running:"
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
#!/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 )"
|
|
||||||
|
|
||||||
|
|
||||||
CURRENT_PLAFORM="$(uname)"
|
|
||||||
REQUIRED_PLATFORM="Darwin"
|
|
||||||
if [[ "$CURRENT_PLAFORM" != "$REQUIRED_PLATFORM" ]]; then
|
|
||||||
echo "[!] Skipping the Homebrew package build on $CURRENT_PLAFORM (it can only be run on $REQUIRED_PLATFORM)."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
cd "$REPO_DIR/brew_dist"
|
|
||||||
# make sure archivebox.rb is up-to-date with the dependencies
|
|
||||||
git pull
|
|
||||||
git status | grep 'up to date'
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "[+] Uninstalling any exisitng archivebox versions..."
|
|
||||||
brew uninstall archivebox || true
|
|
||||||
brew untap archivebox/archivebox || true
|
|
||||||
|
|
||||||
# echo "[*] Running Formula linters and test build..."
|
|
||||||
# brew test-bot --tap=ArchiveBox/homebrew-archivebox archivebox/archivebox/archivebox || true
|
|
||||||
# brew uninstall archivebox || true
|
|
||||||
# brew untap archivebox/archivebox || true
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "[+] Installing and building hombrew bottle from https://Github.com/ArchiveBox/homebrew-archivebox#main"
|
|
||||||
brew tap archivebox/archivebox
|
|
||||||
brew install --build-bottle archivebox
|
|
||||||
brew bottle archivebox
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "[√] Finished. Make sure to commit the outputted .tar.gz and bottle files!"
|
|
|
@ -23,7 +23,6 @@ cd "$REPO_DIR"
|
||||||
./bin/build_docs.sh
|
./bin/build_docs.sh
|
||||||
./bin/build_pip.sh
|
./bin/build_pip.sh
|
||||||
./bin/build_deb.sh
|
./bin/build_deb.sh
|
||||||
./bin/build_brew.sh
|
|
||||||
./bin/build_docker.sh
|
./bin/build_docker.sh
|
||||||
|
|
||||||
# Push relase to public repositories
|
# Push relase to public repositories
|
||||||
|
@ -31,7 +30,6 @@ cd "$REPO_DIR"
|
||||||
./bin/release_docs.sh
|
./bin/release_docs.sh
|
||||||
./bin/release_pip.sh
|
./bin/release_pip.sh
|
||||||
./bin/release_deb.sh
|
./bin/release_deb.sh
|
||||||
./bin/release_brew.sh
|
|
||||||
./bin/release_docker.sh
|
./bin/release_docker.sh
|
||||||
|
|
||||||
VERSION="$(jq -r '.version' < "$REPO_DIR/package.json")"
|
VERSION="$(jq -r '.version' < "$REPO_DIR/package.json")"
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
#!/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 )"
|
|
||||||
|
|
||||||
|
|
||||||
CURRENT_PLAFORM="$(uname)"
|
|
||||||
REQUIRED_PLATFORM="Darwin"
|
|
||||||
if [[ "$CURRENT_PLAFORM" != "$REQUIRED_PLATFORM" ]]; then
|
|
||||||
echo "[!] Skipping the Homebrew package build on $CURRENT_PLAFORM (it can only be run on $REQUIRED_PLATFORM)."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "$REPO_DIR"
|
|
||||||
|
|
||||||
./bin/build_brew.sh
|
|
||||||
|
|
||||||
git add '*.bottle.tar.gz'
|
|
||||||
git commit -m "add new release bottle"
|
|
||||||
git pull
|
|
||||||
git push
|
|
15
bin/setup.sh
15
bin/setup.sh
|
@ -79,7 +79,7 @@ echo " ⚠️ If you want to use Docker, press [Ctrl-C] to cancel now. ⚠️
|
||||||
echo " Get Docker: https://docs.docker.com/get-docker/"
|
echo " Get Docker: https://docs.docker.com/get-docker/"
|
||||||
echo " After you've installed Docker, run this script again."
|
echo " After you've installed Docker, run this script again."
|
||||||
echo ""
|
echo ""
|
||||||
echo "Otherwise, install will continue with apt/brew/pip in 12s... (press [Ctrl+C] to cancel)"
|
echo "Otherwise, install will continue with apt/pip in 12s... (press [Ctrl+C] to cancel)"
|
||||||
echo ""
|
echo ""
|
||||||
sleep 12 || exit 1
|
sleep 12 || exit 1
|
||||||
echo "Proceeding with system package manager..."
|
echo "Proceeding with system package manager..."
|
||||||
|
@ -87,7 +87,7 @@ echo ""
|
||||||
|
|
||||||
echo "[i] ArchiveBox Setup Script 📦"
|
echo "[i] ArchiveBox Setup Script 📦"
|
||||||
echo ""
|
echo ""
|
||||||
echo " This is a helper script which installs the ArchiveBox dependencies on your system using brew/apt/pip3."
|
echo " This is a helper script which installs the ArchiveBox dependencies on your system using apt/pip3."
|
||||||
echo " You may be prompted for a sudo password in order to install the following:"
|
echo " You may be prompted for a sudo password in order to install the following:"
|
||||||
echo ""
|
echo ""
|
||||||
echo " - archivebox"
|
echo " - archivebox"
|
||||||
|
@ -123,14 +123,6 @@ if which apt-get > /dev/null; then
|
||||||
echo "[+] Installing ArchiveBox python dependencies using pip3..."
|
echo "[+] Installing ArchiveBox python dependencies using pip3..."
|
||||||
sudo python3 -m pip install --upgrade --ignore-installed archivebox
|
sudo python3 -m pip install --upgrade --ignore-installed archivebox
|
||||||
# On Mac:
|
# On Mac:
|
||||||
elif which brew > /dev/null; then
|
|
||||||
echo "[+] Installing ArchiveBox system dependencies using brew..."
|
|
||||||
brew tap archivebox/archivebox
|
|
||||||
brew update
|
|
||||||
brew install --fetch-HEAD -f archivebox
|
|
||||||
echo ""
|
|
||||||
echo "[+] Installing ArchiveBox python dependencies using pip3..."
|
|
||||||
python3 -m pip install --upgrade --ignore-installed archivebox
|
|
||||||
elif which pkg > /dev/null; then
|
elif which pkg > /dev/null; then
|
||||||
echo "[+] Installing ArchiveBox system dependencies using pkg and pip (python3.9)..."
|
echo "[+] Installing ArchiveBox system dependencies using pkg and pip (python3.9)..."
|
||||||
sudo pkg install -y python3 py39-pip py39-sqlite3 npm wget curl youtube_dl ffmpeg git ripgrep
|
sudo pkg install -y python3 py39-pip py39-sqlite3 npm wget curl youtube_dl ffmpeg git ripgrep
|
||||||
|
@ -140,9 +132,8 @@ elif which pkg > /dev/null; then
|
||||||
# don't use sudo here so that pip installs in $HOME/.local instead of into /usr/local
|
# don't use sudo here so that pip installs in $HOME/.local instead of into /usr/local
|
||||||
python3 -m pip install --upgrade --ignore-installed archivebox
|
python3 -m pip install --upgrade --ignore-installed archivebox
|
||||||
else
|
else
|
||||||
echo "[!] Warning: Could not find aptitude/homebrew/pkg! May not be able to install all dependencies automatically."
|
echo "[!] Warning: Could not find aptitude/pkg! May not be able to install all dependencies automatically."
|
||||||
echo ""
|
echo ""
|
||||||
echo " If you're on macOS, make sure you have homebrew installed: https://brew.sh/"
|
|
||||||
echo " If you're on Linux, only Ubuntu/Debian/BSD systems are officially supported with this script."
|
echo " If you're on Linux, only Ubuntu/Debian/BSD systems are officially supported with this script."
|
||||||
echo " If you're on Windows, this script is not officially supported (Docker is recommeded instead)."
|
echo " If you're on Windows, this script is not officially supported (Docker is recommeded instead)."
|
||||||
echo ""
|
echo ""
|
||||||
|
|
|
@ -14,4 +14,4 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && cd .. && pwd )"
|
||||||
|
|
||||||
source "$DIR/.venv/bin/activate"
|
source "$DIR/.venv/bin/activate"
|
||||||
|
|
||||||
pytest -s --basetemp=tests/out --ignore=archivebox/vendor --ignore=deb_dist --ignore=pip_dist --ignore=brew_dist
|
pytest -s --basetemp=tests/out --ignore=archivebox/vendor --ignore=deb_dist --ignore=pip_dist
|
||||||
|
|
Loading…
Reference in a new issue