From cee669dcaf97b127731a3646cc850c469029adfa Mon Sep 17 00:00:00 2001 From: vidplace7 Date: Fri, 25 Apr 2025 18:15:06 -0400 Subject: [PATCH] Python pipx! --- environment-setup/femtofox.chroot | 28 +++---- .../rootfs_uclibc_rv1106/lib/liborcania.so | Bin 23068 -> 0 bytes .../lib/liborcania.so.2.3 | Bin 23068 -> 0 bytes .../lib/liborcania.so.2.3.2 | Bin 23068 -> 0 bytes .../usr/local/bin/packages/contact_client.sh | 48 ++---------- .../bin/packages/control_for_meshtastic.sh | 74 ------------------ 6 files changed, 18 insertions(+), 132 deletions(-) delete mode 100644 foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so delete mode 100644 foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so.2.3 delete mode 100644 foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so.2.3.2 delete mode 100755 foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/usr/local/bin/packages/control_for_meshtastic.sh diff --git a/environment-setup/femtofox.chroot b/environment-setup/femtofox.chroot index e7beee5..f3f6749 100644 --- a/environment-setup/femtofox.chroot +++ b/environment-setup/femtofox.chroot @@ -1,13 +1,6 @@ echo "Inside chroot environment..." echo "tmpfs /run tmpfs rw,nodev,nosuid,size=32M 0 0" | tee -a /etc/fstab -# Temporarily removed for SEGFAULT fix done after upgrade below. -#echo "Installing Meshtastic..." - -#wget -qO- https://meshtastic.github.io/meshtastic-deb.asc | tee /etc/apt/keyrings/meshtastic-deb.asc >/dev/null -#if [[ $? -eq 2 ]]; then echo "Error, step failed..."; fi -#echo "deb [arch=all signed-by=/etc/apt/keyrings/meshtastic-deb.asc] https://meshtastic.github.io/deb stable main" | tee /etc/apt/sources.list.d/meshtastic-deb.list >/dev/null - echo "Removing netdevice rules..." ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules @@ -23,7 +16,10 @@ ln -sf /usr/share/zoneinfo/UTC /etc/localtime echo "Installing packages..." apt update -DEBIAN_FRONTEND=noninteractive apt install -y --option Dpkg::Options::="--force-confold" linux-firmware wireless-tools git python3.10-venv libgpiod-dev libyaml-cpp-dev libbluetooth-dev openssl libssl-dev libulfius-dev liborcania-dev evtest screen avahi-daemon protobuf-compiler telnet fonts-noto-color-emoji ninja-build chrony qrencode software-properties-common python-is-python3 python3.10-venv lsof spi-tools python3-luma.oled samba vim mtd-utils jq rsync +DEBIAN_FRONTEND=noninteractive apt install -y --option Dpkg::Options::="--force-confold" \ + linux-firmware wireless-tools git evtest screen telnet software-properties-common lsof ninja-build chrony samba vim mtd-utils jq rsync \ + avahi-daemon protobuf-compiler qrencode spi-tools fonts-noto-color-emoji \ + python3-luma.oled python-is-python3 python3.10-venv pipx if [[ $? -eq 2 ]]; then echo "Error, step failed..."; fi DEBIAN_FRONTEND=noninteractive apt upgrade -y --option Dpkg::Options::="--force-confold" @@ -37,9 +33,15 @@ DEBIAN_FRONTEND=noninteractive apt install -y --option Dpkg::Options::="--force- #DEBIAN_FRONTEND=noninteractive apt install -y --option Dpkg::Options::="--force-confold" ./meshtasticd_2.5.11.8e2a3e5_armhf.deb #rm ./meshtasticd_2.5.11.8e2a3e5_armhf.deb -echo "Installing dependencies for meshing-around and meshtastic cli..." +echo "Add pipx global dir to the PATH" +pipx ensurepath --global + +echo "Installing dependencies for meshing-around..." #pip config set global.extra-index-url https://www.piwheels.org/simple -pip3 install requests pyephem pytap2 meshtastic pypubsub geopy maidenhead beautifulsoup4 dadjokes schedule wikipedia googlesearch-python pubsub datetime +pip3 install requests pyephem pytap2 pypubsub geopy maidenhead beautifulsoup4 dadjokes schedule wikipedia googlesearch-python pubsub datetime + +echo "Install meshtastic cli in pipx-managed venv" +pipx install --global "meshtastic[cli]" if [[ $? -eq 2 ]]; then echo "Error, step failed..."; fi @@ -48,12 +50,6 @@ wget -qO- https://api.github.com/repos/tsl0922/ttyd/releases/latest | grep "brow chmod +x /opt/ttyd/ttyd systemctl enable ttyd -echo "Cloning Control for Meshtastic by pdxlocations" -git clone https://github.com/pdxlocations/control.git /opt/control -pip install -r /opt/control/requirements.txt -chown -R femto /opt/control -git config --global --add safe.directory /opt/control # prevents git error when updating - echo "Setting MOTD..." mv /etc/update-motd.d/10-help-text /etc/update-motd.d/10-help-text.bak mv /etc/update-motd.d/60-unminimize /etc/update-motd.d/60-unminimize.bak diff --git a/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so b/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so deleted file mode 100644 index 6e6d2eaee79dc4d21f50b5c4ee2a26b73e6d410e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23068 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 ZdnYHV6*ND-L6~&cVIq92iI8f#{{(MIBMkrm diff --git a/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so.2.3 b/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so.2.3 deleted file mode 100644 index 6e6d2eaee79dc4d21f50b5c4ee2a26b73e6d410e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23068 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 ZdnYHV6*ND-L6~&cVIq92iI8f#{{(MIBMkrm diff --git a/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so.2.3.2 b/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/lib/liborcania.so.2.3.2 deleted file mode 100644 index 6e6d2eaee79dc4d21f50b5c4ee2a26b73e6d410e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23068 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 ZdnYHV6*ND-L6~&cVIq92iI8f#{{(MIBMkrm diff --git a/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/usr/local/bin/packages/contact_client.sh b/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/usr/local/bin/packages/contact_client.sh index 4add3fd..8d3aa01 100755 --- a/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/usr/local/bin/packages/contact_client.sh +++ b/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/usr/local/bin/packages/contact_client.sh @@ -12,12 +12,10 @@ name="Contact" # software name author="pdxlocations" # software author - OPTIONAL description="A Text-Based Console UI for Meshtastic Nodes. Formerly called Curses Client.\nAfter install, run \`contact\` to launch." # software description - OPTIONAL (but strongly recommended!) -URL="https://github.com/pdxlocations/contact/" # software URL. Can contain multiple URLs - OPTIONAL +URL="https://pypi.org/project/contact/" # software URL. Can contain multiple URLs - OPTIONAL options="xiuglNADUOLGTCI" # script options in use by software package. For example, for a package with no service, exclude `edsrS` launch="echo \"Stopping conflicting services (if any), will restart after exit...\" && sudo femto-utils.sh -A stop && sudo -u ${SUDO_USER:-$(whoami)} env LANG=$LANG TERM=$TERM NCURSES_NO_UTF8_ACS=$NCURSES_NO_UTF8_ACS python /opt/contact/main.py --host && echo \"Restarting conflicting services (if any)...\" && sudo femto-utils.sh -A start" # command to launch software, if applicable service_name="" # the name of the service/s, such as `chrony`. REQUIRED if service options are in use. If multiple services, separate by spaces "service1 service2" -location="/opt/contact" # install location REQUIRED if not apt installed. Generally, we use `/opt/software-name` -license="$location/LICENSE" # file to cat to display license license_name="GPL3" # license name, such as MIT, GPL3, custom, whatever. short text string. conflicts="\"Full control\" Meshtastic software, such as TC²-BBS and Meshing Around - but only while running." # comma delineated plain-text list of packages with which this package conflicts. Blank if none. Use the name as it appears in the $name field of the other package. Extra plaintext is allowed, such as "packageA, packageB, any other software that uses the Meshtastic CLI" @@ -31,61 +29,27 @@ fi # install script install() { - if ! git clone https://github.com/pdxlocations/contact.git /opt/contact; then - echo "user_message: Git clone failed. Is internet connected?" - exit 1 - fi - pip install -r $location/requirements.txt - chown -R femto $location #give ownership of installation directory to $user - git config --global --add safe.directory $location # prevents git error when updating - echo "Creating \`contact\` shortcut." - echo -e "#!/bin/bash\n\ -export NCURSES_NO_UTF8_ACS=1\n\ -export TERM=xterm-256color\n\ -export LANG=C.UTF-8\n\ -$launch" | sudo tee /usr/local/bin/contact > /dev/null - chmod +x /usr/local/bin/contact - echo "user_message: To launch, run \`contact\`." - exit 0 # should be `exit 1` if the installation failed + pipx install --global contact } - # uninstall script uninstall() { - rm -rf $location - echo "Removed \`$location\`." - rm /usr/local/bin/contact - echo "Removed \`contact\` shortcut." - echo "user_message: All files removed." - exit 0 # should be `exit 1` if the installation failed + pipx uninstall --global contact } #upgrade script upgrade() { - cd $location - if ! git pull; then - echo "user_message: Git pull failed. Is internet connected?" - exit 1 - fi - exit 0 + pipx upgrade --global contact } - # Check if already installed. `exit 0` if yes, `exit 1` if no check() { - #the following works for cloned repos, but not for apt installs - if [ -d "$location" ]; then - #echo "Already installed" - exit 0 - else - #echo "Not installed" - exit 1 - fi + pipx list --global --short | grep contact } # display license license() { - echo -e "Contents of $license:\n\n $([[ -f "$license" ]] && awk -v max=2000 -v file="$license" '{ len += length($0) + 1; if (len <= max) print; else if (!cut) { cut=1; printf "%s...\n\nFile truncated, see %s for complete license.", substr($0, 1, max - len + length($0)), file; exit } }' "$license")" + echo "GNU General Public License v3.0" } # parse arguments diff --git a/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/usr/local/bin/packages/control_for_meshtastic.sh b/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/usr/local/bin/packages/control_for_meshtastic.sh deleted file mode 100755 index 0272b95..0000000 --- a/foxbuntu/sysdrv/out/rootfs_uclibc_rv1106/usr/local/bin/packages/control_for_meshtastic.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -### For package maintainer: -# Fill the following fields and choose the options that are in use by this package -# Populate the install, uninstall and upgrade functions -# Remember that this script may be launched in terminal, via web UI or another method, so inputs aren't always possible -# This system supports both interactive and non-interactive installs. For non-interactive installs, $interaction="false". In this cause special instructions to the user should be given as user_message, such as `After installation, edit /opt/software/config.ini` -# Successful operations should `exit 0`, fails should `exit 1` -# Messages to the user (such as configuration instructions, explanatory error messages, etc) should be given as: `echo "user_message: text"` -# Everything following `user_message: ` will be displayed prominently to the user, so it must the last thing echoed - -name="Control for Meshtastic" # software name -author="pdxlocations" # software author - OPTIONAL -description="Control for Meshtastic is a fully-featured Meshtastic configuration tool made for running in console, utilizing Curses.\n\nControl is installed by default on Femtofox and is used for Meshtastic configuration in femto-config. Uninstallation is not recommended." # software description - OPTIONAL (but strongly recommended!) -URL="https://github.com/pdxlocations/control" # software URL. Can contain multiple URLs - OPTIONAL -options="hxiuglNADUOLGTIC" # script options in use by software package. For example, for a package with no service, exclude `edsrS` -launch="echo \"Stopping conflicting services (if any), will restart after exit...\" && sudo femto-utils.sh -A stop && sudo -u ${SUDO_USER:-$(whoami)} env LANG=$LANG TERM=$TERM NCURSES_NO_UTF8_ACS=$NCURSES_NO_UTF8_ACS python /opt/control/main.py --host && echo \"Restarting conflicting services (if any)...\" && sudo femto-utils.sh -A start" # command to launch software, if applicable -license="/opt/control/LICENSE" # file to cat to display license -location="/opt/control" # install location REQUIRED if not apt installed. Generally, we use `/opt/software-name` -license="$location/LICENSE" # file to cat to display license -license_name="GPL3" # license name, such as MIT, GPL3, custom, whatever. short text string -conflicts="\"Full control\" Meshtastic software, such as TC²-BBS and Meshing Around - but only while running." # comma delineated plain-text list of packages with which this package conflicts. Blank if none. Use the name as it appears in the $name field of the other package. Extra plaintext is allowed, such as "packageA, packageB, any other software that uses the Meshtastic CLI" - -# install script -install() { - if ! git clone https://github.com/pdxlocations/control.git /opt/control; then - echo "user_message: Git clone failed. Is internet connected?" - exit 1 - fi - pip install -r $location/requirements.txt - chown -R femto $location #give ownership of installation directory to $user - git config --global --add safe.directory $location # prevents git error when updating - echo "user_message: To launch, go to Meshtastic settings. Launching manually may conflict with \`full control\` Meshtastic software such as BBS." - exit 0 # should be `exit 1` if operation failed -} - -# uninstall script -uninstall() { - rm -rf $location - echo "Removed \`$location\`." - echo "user_message: All files removed." - exit 0 # should be `exit 1` if operation failed -} - -#upgrade script -upgrade() { - cd $location - if ! git pull; then - echo "user_message: Git pull failed. Is internet connected?" - exit 1 - fi - exit 0 -} - -# Check if already installed. `exit 0` if yes, `exit 1` if no -check() { - #the following works for cloned repos, but not for apt installs - if [ -d "$location" ]; then - #echo "Already installed" - exit 0 - else - #echo "Not installed" - exit 1 - fi -} - -# display license -license() { - echo -e "Contents of $license:\n\n $([[ -f "$license" ]] && awk -v max=2000 -v file="$license" '{ len += length($0) + 1; if (len <= max) print; else if (!cut) { cut=1; printf "%s...\n\nFile truncated, see %s for complete license.", substr($0, 1, max - len + length($0)), file; exit } }' "$license")" -} - -# parse arguments -source /usr/local/bin/packages/femto_argument_parse.sh "$@" - -exit 0 \ No newline at end of file