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_HOSTNAME := pwnagotchi
# PWN_VERSION := $(shell cut -d"'" -f2 < pwnagotchi/_version.py) # PWN_VERSION := $(shell cut -d"'" -f2 < pwnagotchi/_version.py)
PWN_VERSION := $(or ${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: git:
repo: https://github.com/repaper/gratis.git repo: https://github.com/repaper/gratis.git
dest: /usr/local/src/gratis dest: /usr/local/src/gratis
retries: 5000
delay: 5
register: gratisgit register: gratisgit
until: gratisgit is succeeded
- name: build papirus service - name: build papirus service
make: make:
@ -234,19 +237,18 @@
# Specifically, it handles mismatches between direct requirements without extras and # Specifically, it handles mismatches between direct requirements without extras and
# indirect requirements that do want extras (e.g. gym vs stable-baselines->gym[atari]). # indirect requirements that do want extras (e.g. gym vs stable-baselines->gym[atari]).
- name: Upgrade pip and install rpi-hardware-pwm - name: Upgrade pip and install rpi-hardware-pwm
pip: shell: "python3 -m pip install pip>=20.3 rpi-hardware-pwm --verbose --retries 5000"
name: args:
- pip>=20.3 executable: /bin/bash
- rpi-hardware-pwm
# We need the --ignore-installed option so that pip simply overwrites/upgrades existing # 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, # 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 # 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. # (and failing) to uninstall python packages that were originally installed via apt.
- name: Install pwnagotchi from source archive - name: Install pwnagotchi from source archive
pip: shell: "python3 -m pip install /usr/local/src/pwnagotchi/pwnagotchi-{{ pwnagotchi.version }}.tar.gz --verbose --ignore-installed --retries 5000"
name: /usr/local/src/pwnagotchi/pwnagotchi-{{ pwnagotchi.version }}.tar.gz args:
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 executable: /bin/bash
- name: create custom plugin directory - name: create custom plugin directory
file: file:
@ -257,6 +259,10 @@
git: git:
repo: https://git.chadwaltercummings.me/scifijunkie/pwnagotchi-plugins-contrib.git repo: https://git.chadwaltercummings.me/scifijunkie/pwnagotchi-plugins-contrib.git
dest: /usr/local/share/pwnagotchi/available-plugins dest: /usr/local/share/pwnagotchi/available-plugins
retries: 5000
delay: 5
register: pwnagotchipluginsgit
until: pwnagotchipluginsgit is succeeded
- name: Copy aircrackonly.py - name: Copy aircrackonly.py
copy: copy:
@ -300,7 +306,7 @@
when: golang.changed when: golang.changed
- name: Install bettercap v2.32 - 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: args:
executable: /bin/bash executable: /bin/bash
register: bettercap register: bettercap
@ -313,7 +319,10 @@
git: git:
repo: https://github.com/bettercap/caplets.git repo: https://github.com/bettercap/caplets.git
dest: /tmp/caplets dest: /tmp/caplets
retries: 5000
delay: 5
register: capletsgit register: capletsgit
until: capletsgit is succeeded
- name: install bettercap caplets - name: install bettercap caplets
make: make:
@ -334,7 +343,10 @@
repo: https://github.com/seemoo-lab/nexmon.git repo: https://github.com/seemoo-lab/nexmon.git
dest: /usr/local/src/nexmon dest: /usr/local/src/nexmon
# version: bfb3fe90c881498d7ee245b38f16722c1de26fa1 # version: bfb3fe90c881498d7ee245b38f16722c1de26fa1
retries: 5000
delay: 5
register: nexmongit register: nexmongit
until: nexmongit is succeeded
- name: configure libisl - name: configure libisl
command: chdir=/usr/local/src/nexmon/buildtools/isl-0.10/ ./configure 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-'" line: "\nalias pwnlog='tail -f -n300 /var/log/pwn*.log | sed --unbuffered \"s/,[[:digit:]]\\{3\\}\\]//g\" | cut -d \" \" -f 2-'"
insertafter: EOF insertafter: EOF
- name: install bettercap caplets
make:
chdir: /tmp/caplets
target: install
when: capletsgit.changed
- name: add HDMI powersave to rc.local - name: add HDMI powersave to rc.local
blockinfile: blockinfile:
path: /etc/rc.local path: /etc/rc.local

View File

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

View File

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