initial work

This commit is contained in:
David Young
2026-04-09 13:42:42 -06:00
parent e7fb83438c
commit 3aeee58730
6 changed files with 91 additions and 116 deletions

View File

@@ -1,40 +1,8 @@
[QtTermTCP] [HamClock]
version=0.1 version=4.22
wget=http://www.cantab.net/users/john.wiseman/Downloads/QtTermSource.zip wget=https://github.com/tardate/ESPHamClock/archive/refs/tags/4.22.zip
install=$HOME/.local/bin/QtTermTCP install=$HOME/.local/bin/hamclock
gui=true gui=true
steps=qmake, make, mv QtTermTCP $HOME/.local/bin/ steps=cd src, make, make hamclock-1600x960, mv hamclock-1600X960 $HOME/.local/bin/hamclock
[Kiwix-Desktop]
version=2.75.1
git=https://github.com/kiwix/kiwix-desktop.git
install=/usr/local/bin/kiwix-desktop
steps=/usr/lib/qt6/bin/qmake, make, sudo make install
[Kiwix-Tools]
version=3.8.2
git=https://github.com/kiwix/kiwix-tools.git
install=/usr/local/bin/
steps=meson setup build, ninja -C build, sudo ninja -C build install
[Dump1090]
version=1.0.0
git=https://github.com/antirez/dump1090.git
install=$HOME/.local/bin/dump1090
steps=make, mv dump1090 $HOME/.local/bin/dump1090
[yaac]
version=1.0.0
wget=https://www.ka2ddo.org/ka2ddo/YAAC.zip
install=$HOME/.local/bin/yaac/YAAC.jar
desktop=$HOME/.local/share/HamPack/desktop/yaac.desktop
gui=true
steps=rm -rf $HOME/.local/bin/yaac, mkdir -p $HOME/.local/bin/yaac, mv /tmp/hampack-build/yaac $HOME/.local/bin/yaac
[potacat]
version=1.1.1
git=https://github.com/Waffleslop/POTACAT.git
install=$HOME/.local/bin/POTACAT.AppImage
desktop=$HOME/.local/share/HamPack/desktop/potacat.desktop
gui=true
steps=bash $HOME/.local/share/HamPack/patch-potacat.sh, npm install, npm run dist:linux, mv dist/*.AppImage $HOME/.local/bin/POTACAT.AppImage

View File

@@ -2,9 +2,9 @@
# #
# Purpose : Compile and install applications from compile.conf # Purpose : Compile and install applications from compile.conf
CONF_FILE="$HOME/.local/share/HamPack/compile.conf" CONF_FILE="$HOME/.local/share/HamPackServer/compile.conf"
TMP_DIR="/tmp/hampack-build" TMP_DIR="/tmp/hampack-build"
VERSION_FILE="$HOME/.local/state/HamPack/.installed_versions" VERSION_FILE="$HOME/.local/state/HamPackServer/.installed_versions"
# Get the installed version of an app # Get the installed version of an app
get_installed_version() { get_installed_version() {

View File

@@ -28,14 +28,14 @@ print_logo
cd ~ cd ~
sudo -v sudo -v
echo "Getting the latest version of HamPack..." echo "Getting the latest version of HamPackServer..."
rm -rf ~/.local/share/HamPack rm -rf ~/.local/share/HamPack
git clone https://gitea.young.computer/david/HamPack.git ~/.local/share/HamPack > /dev/null git clone https://gitea.young.computer/david/HamPackServer.git ~/.local/share/HamPackServer > /dev/null
sudo cp ~/.local/share/HamPack/hampackrefresh ~/.local/bin/hampackrefresh sudo cp ~/.local/share/HamPack/hampackserverrefresh ~/.local/bin/hampackserverrefresh
sudo cp ~/.local/share/HamPack/hampackupdate ~/.local/bin/hampackupdate sudo cp ~/.local/share/HamPack/hampackserverupdate ~/.local/bin/hampackserverupdate
cd ~/.local/share/HamPack cd ~/.local/share/HamPackServer
# Source utility functions # Source utility functions
source utils.sh source utils.sh
@@ -52,42 +52,87 @@ source packages.conf
cd ~/ cd ~/
# Install yay AUR helper if not present echo "Installing servers..."
#if ! command -v yay &> /dev/null; then install_packages "${SERVERS[@]}"
# echo "Installing yay AUR helper..."
# sudo pacman -S --needed git base-devel --noconfirm
# if [[ -d "yay" ]]; then
# echo "yay directory already exists, removing it..."
# rm -rf yay
# fi
# echo "Cloning yay repository..."
# git clone https://aur.archlinux.org/yay.git
# cd yay
# echo "Building yay..."
# makepkg -si --noconfirm
# cd ..
# rm -rf yay
#else
# echo "yay is already installed."
#fi
echo "Installing system utilities..."
install_packages "${UTILITIES[@]}"
echo "Installing applications..."
install_packages "${APPLICATIONS[@]}"
cd ~/.local/share/HamPack cd ~/.local/share/HamPack
echo "Installing Flatpak applications..." if [ ! -d "$HOME/.nvm" ]; then
. install-flatpaks.sh curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
else
echo "nvm is already installed, skipping."
fi
echo "Installing stand-alone compiled applications..." if ! command -v node &> /dev/null; then
nvm install --lts
else
echo "Node.js is already installed, skipping."
fi
if ! pacman -Qi apache &> /dev/null; then
echo "Installing Apache..."
sudo pacman -S --noconfirm apache
sudo systemctl enable httpd
sudo systemctl start httpd
else
echo "Apache is already installed, skipping."
fi
if ! pacman -Qi mariadb &> /dev/null; then
echo "Installing MariaDB (MySQL)..."
sudo pacman -S --noconfirm mariadb
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo systemctl enable mariadb
sudo systemctl start mariadb
else
echo "MariaDB is already installed, skipping."
fi
if ! pacman -Qi php php-curl php-mbstring php-xml &> /dev/null; then
sudo pacman -S php php-curl php-mbstring php-xml
else
echo "PHP packages are already installed, skipping."
fi
echo "Enabling PHP extensions in /etc/php/php.ini..."
for ext in curl mbstring xml pdo_mysql mysqli; do
sudo sed -i "s/^;extension=${ext}$/extension=${ext}/" /etc/php/php.ini
done
# Install Cloudlog
CLOUDLOG_DIR="/srv/http/cloudlog"
CLOUDLOG_DB="cloudlog"
CLOUDLOG_DB_USER="cloudlog"
CLOUDLOG_DB_PASS="cloudlog"
if [ ! -d "$CLOUDLOG_DIR" ]; then
echo "Installing Cloudlog..."
sudo git clone https://github.com/magicbug/Cloudlog.git "$CLOUDLOG_DIR"
# Set ownership and permissions (Arch Apache runs as 'http')
sudo chown -R http:http "$CLOUDLOG_DIR"
sudo chmod -R g+rw "$CLOUDLOG_DIR"
# Create MariaDB database and user
echo "Creating Cloudlog database..."
sudo mysql -u root <<EOF
CREATE DATABASE IF NOT EXISTS ${CLOUDLOG_DB};
CREATE USER IF NOT EXISTS '${CLOUDLOG_DB_USER}'@'localhost' IDENTIFIED BY '${CLOUDLOG_DB_PASS}';
GRANT ALL PRIVILEGES ON ${CLOUDLOG_DB}.* TO '${CLOUDLOG_DB_USER}'@'localhost';
FLUSH PRIVILEGES;
EOF
sudo systemctl restart httpd
echo "Cloudlog installed. Complete setup by visiting http://localhost/cloudlog/install"
else
echo "Cloudlog is already installed, skipping."
fi
# Install Compiled Servers
echo "Installing compiled servers..."
. install-compiled.sh . install-compiled.sh
curl -LsSf uvx.sh/not1mm/install.sh | sh
if ! ls /usr/lib/modules/$(uname -r) > /dev/null 2>&1; then if ! ls /usr/lib/modules/$(uname -r) > /dev/null 2>&1; then
echo "HamPack is installed. A newer kernel has been installed, a reboot is recommended." echo "HamPack is installed. A newer kernel has been installed, a reboot is recommended."
read -rp "Reboot now? [y/N] " response read -rp "Reboot now? [y/N] " response

View File

@@ -1,48 +1,10 @@
# Ham utilities # Ham servers
UTILITIES=( SERVERS=(
alsa-utils alsa-utils
aria2
at-spi2-core
base-devel
cmake
docopt
fldigi
flrig
gpds
gpsbabel
gtk4
hamlib
jdk-openjdk
libappindicator-gtk3
libkiwix
libnotify
libsecret
libxcrypt-compat
libxtst
libzim
meson
ninja
nss
pat-bin
python-yattag # must come before chirp-next
qgis
qt6-base
qt6-tools
qt6-webengine
splat
util-linux-libs
voacapl
wine
winetricks
xdg-utils
zim-tools
zimwriterfs
) )
# Ham applications # Ham server utilities
APPLICATIONS=( UTILITIES=(
gridtracker2 direwolf
chattervox-bin
chirp-next
) )