Version: 1.9.0

Upgraded Packer from 1.8.3 To 1.8.5

changed task Upgrade pip and install rpi-hardware-pwm

changed task Install pwnagotchi from source archive

changed task Install bettercap (update build script for releasing #134)

Removed a redundant task install bettercap caplets

Added retries and until to all 4 git clone related tasks

Reran pip-compile which upgraded Python packages in the requirements.txt
This commit is contained in:
scifijunkie 2025-03-20 20:20:13 +00:00
parent 3155a36fd9
commit be8809e62b
4 changed files with 36 additions and 31 deletions

View File

@ -1,4 +1,4 @@
PACKER_VERSION := 1.8.3
PACKER_VERSION := 1.8.5
PWN_HOSTNAME := pwnagotchi
# PWN_VERSION := $(shell cut -d"'" -f2 < pwnagotchi/_version.py)
PWN_VERSION := $(or ${PWN_VERSION},$(shell cut -d"'" -f2 < pwnagotchi/_version.py))

View File

@ -198,7 +198,10 @@
git:
repo: https://github.com/repaper/gratis.git
dest: /usr/local/src/gratis
retries: 5000
delay: 5
register: gratisgit
until: gratisgit is succeeded
- name: build papirus service
make:
@ -234,19 +237,18 @@
# Specifically, it handles mismatches between direct requirements without extras and
# indirect requirements that do want extras (e.g. gym vs stable-baselines->gym[atari]).
- name: Upgrade pip and install rpi-hardware-pwm
pip:
name:
- pip>=20.3
- rpi-hardware-pwm
shell: "python3 -m pip install pip>=20.3 rpi-hardware-pwm --verbose --retries 5000"
args:
executable: /bin/bash
# We need the --ignore-installed option so that pip simply overwrites/upgrades existing
# packages instead of trying to uninstall them first. While this sounds dangerous,
# this matches the legacy behavior of pip. This is required to prevent pip from trying
# (and failing) to uninstall python packages that were originally installed via apt.
- name: Install pwnagotchi from source archive
pip:
name: /usr/local/src/pwnagotchi/pwnagotchi-{{ pwnagotchi.version }}.tar.gz
extra_args: --verbose --prefer-binary --ignore-installed --retries 50 --index-url https://nexus.chadwaltercummings.me/repository/pypi.org/simple --extra-index-url https://nexus.chadwaltercummings.me/repository/www.piwheels.org/simple
shell: "python3 -m pip install /usr/local/src/pwnagotchi/pwnagotchi-{{ pwnagotchi.version }}.tar.gz --verbose --ignore-installed --retries 5000"
args:
executable: /bin/bash
- name: create custom plugin directory
file:
@ -257,6 +259,10 @@
git:
repo: https://git.chadwaltercummings.me/scifijunkie/pwnagotchi-plugins-contrib.git
dest: /usr/local/share/pwnagotchi/available-plugins
retries: 5000
delay: 5
register: pwnagotchipluginsgit
until: pwnagotchipluginsgit is succeeded
- name: Copy aircrackonly.py
copy:
@ -300,7 +306,7 @@
when: golang.changed
- name: Install bettercap v2.32
shell: "export GOPATH=$HOME/go && export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin && go env -w GO111MODULE=off && go get github.com/bettercap/bettercap && cd $GOPATH/src/github.com/bettercap/bettercap && make build && make install"
shell: "export GOPATH=$HOME/go && export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin && git clone https://github.com/bettercap/bettercap.git && cd bettercap/ && make build && make install"
args:
executable: /bin/bash
register: bettercap
@ -313,7 +319,10 @@
git:
repo: https://github.com/bettercap/caplets.git
dest: /tmp/caplets
retries: 5000
delay: 5
register: capletsgit
until: capletsgit is succeeded
- name: install bettercap caplets
make:
@ -334,7 +343,10 @@
repo: https://github.com/seemoo-lab/nexmon.git
dest: /usr/local/src/nexmon
# version: bfb3fe90c881498d7ee245b38f16722c1de26fa1
retries: 5000
delay: 5
register: nexmongit
until: nexmongit is succeeded
- name: configure libisl
command: chdir=/usr/local/src/nexmon/buildtools/isl-0.10/ ./configure
@ -546,12 +558,6 @@
line: "\nalias pwnlog='tail -f -n300 /var/log/pwn*.log | sed --unbuffered \"s/,[[:digit:]]\\{3\\}\\]//g\" | cut -d \" \" -f 2-'"
insertafter: EOF
- name: install bettercap caplets
make:
chdir: /tmp/caplets
target: install
when: capletsgit.changed
- name: add HDMI powersave to rc.local
blockinfile:
path: /etc/rc.local

View File

@ -3,8 +3,8 @@
# If you get "error: no such option: --prefer-binary" then you need to run:
# pip3 install --upgrade "pip>=20.2"
--prefer-binary
--index-url "https://nexus.chadwaltercummings.me/repository/www.piwheels.org/simple"
--extra-index-url "https://nexus.chadwaltercummings.me/repository/pypi.org/simple"
#--index-url "https://nexus.chadwaltercummings.me/repository/www.piwheels.org/simple"
#--extra-index-url "https://nexus.chadwaltercummings.me/repository/pypi.org/simple"
# Used for bluetooth tethering plugin.
dbus-python~=1.2

View File

@ -2,10 +2,9 @@
# This file is autogenerated by pip-compile with Python 3.7
# by the following command:
#
# pip-compile --output-file=requirements.txt --pip-args='--retries 50' --resolver=backtracking --strip-extras requirements.in
# pip-compile --output-file=requirements.txt --pip-args='--retries 5000' --resolver=backtracking --strip-extras requirements.in
#
--index-url https://nexus.chadwaltercummings.me/repository/www.piwheels.org/simple
--extra-index-url https://nexus.chadwaltercummings.me/repository/pypi.org/simple
--extra-index-url https://www.piwheels.org/simple
absl-py==2.1.0
# via
@ -15,9 +14,9 @@ astor==0.8.1
# via tensorflow
atari-py==0.2.6
# via gym
certifi==2024.2.2
certifi==2025.1.31
# via requests
charset-normalizer==3.3.2
charset-normalizer==3.4.1
# via requests
click==7.1.2
# via flask
@ -42,11 +41,11 @@ flask-wtf==1.1.1
# via -r requirements.in
fonttools==4.38.0
# via matplotlib
gast==0.5.4
gast==0.6.0
# via tensorflow
google-pasta==0.2.0
# via tensorflow
grpcio==1.62.2
grpcio==1.62.3
# via
# tensorboard
# tensorflow
@ -56,7 +55,7 @@ gym==0.19.0
# stable-baselines
h5py==3.8.0
# via keras-applications
idna==3.7
idna==3.10
# via requests
importlib-metadata==6.7.0
# via
@ -120,28 +119,28 @@ protobuf==3.20.3
# -r requirements.in
# tensorboard
# tensorflow
pycryptodome==3.20.0
pycryptodome==3.22.0
# via -r requirements.in
pyglet==2.0.10
# via gym
pyparsing==3.1.2
pyparsing==3.1.4
# via matplotlib
python-dateutil==2.9.0.post0
# via
# -r requirements.in
# matplotlib
# pandas
pytz==2024.1
pytz==2025.1
# via pandas
pyyaml==6.0.1
# via -r requirements.in
requests==2.31.0
# via -r requirements.in
scapy==2.5.0
scapy==2.6.1
# via -r requirements.in
scipy==1.7.3
# via stable-baselines
six==1.16.0
six==1.17.0
# via
# atari-py
# flask-cors
@ -150,7 +149,7 @@ six==1.16.0
# python-dateutil
# tensorboard
# tensorflow
smbus2==0.4.3
smbus2==0.5.0
# via
# -r requirements.in
# inky