Initial incremental port from legacy EmComm Tools project

This commit is contained in:
ham
2024-03-20 04:22:54 -07:00
parent 4c1b86a1b2
commit f7f27a008f
22 changed files with 345 additions and 0 deletions

14
RELEASES.md Normal file
View File

@@ -0,0 +1,14 @@
# EmComm Tools OS Community Release
## 2024.03.16.R1
* Ported and adjusted initial scripts from commercial build
* Added `et-log` logger utility
* Enabled old-releases for apt source
* Installed base packages
* Installed initial build tools and image creation tools
* Replace Firefox with Brave web browser
* Remove miscellaneous packages
* Installed EmComm Tools branding
* Applied initial GNOME settings
* Initial work to improve brightness issues on Panasonic hardware

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 KiB

View File

@@ -0,0 +1,14 @@
deb http://old-releases.ubuntu.com/ubuntu/ kinetic main restricted
deb http://old-releases.ubuntu.com/ubuntu/ kinetic-updates main restricted
deb http://old-releases.ubuntu.com/ubuntu/ kinetic universe
deb http://old-releases.ubuntu.com/ubuntu/ kinetic-updates universe
deb http://old-releases.ubuntu.com/ubuntu/ kinetic multiverse
deb http://old-releases.ubuntu.com/ubuntu/ kinetic-updates multiverse
deb http://old-releases.ubuntu.com/ubuntu/ kinetic-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu kinetic-security main restricted
deb http://old-releases.ubuntu.com/ubuntu kinetic-security universe
deb http://old-releases.ubuntu.com/ubuntu kinetic-security multiverse

View File

@@ -0,0 +1,27 @@
[Configuration]
AcceptTCPRequests=true
AutoGrid=true
AutoreplyConfirmation=false
AutoreplyOnAtStartup=true
CATNetworkPort=localhost:4532
CheckForUpdates=false
HeartbeatAckSNR=true
HideControls=true
Miles=true
MyCall=N0CALL
MyGrid=DM33
MyGroups=@@TTP
Polling=1
PSKReporter=false
PTTMethod=@Variant(\0\0\0\x7f\0\0\0\x1eTransceiverFactory::PTTMethod\0\0\0\0\xfPTT_method_CAT\0)
PTTport=localhost:4532
SubMode=0
SubModeHB=true
SubModeHBAck=true
Rig=Hamlib NET rigctl
SpotToAPRS=false
TCPEnabled=true
TCPMaxConnections=3
TCPServer=127.0.0.1
TCPServerPort=2442
TxIdleWatchdog=0

View File

@@ -0,0 +1 @@
yes

View File

@@ -0,0 +1,27 @@
#!/usr/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Log message to standard out and log file
if [ ! -e $ET_TEMP_DIR ]; then
mkdir $ET_TEMP_DIR
chmod 755 $ET_TEMP_DIR
fi
if [ ! -e $ET_LOG_FILE ]; then
touch $ET_LOG_FILE
chmod 666 $ET_LOG_FILE
fi
if [ $# -lt 1 ]; then
echo "Usage $(basename $0) <msg>"
echo ""
echo "All messages written to: ${ET_LOG_FILE}"
exit -1
fi
TIMESTAMP=`date "+%Y-%m-%d %H:%M:%S"`
echo $@
echo "$TIMESTAMP $@" >> ${ET_LOG_FILE}

View File

@@ -0,0 +1,36 @@
[apps/update-manager]
first-run = false
[com/ubuntu/update-notifier]
no-show-notifications = true
[org.gnome.desktop.background]
picture-uri = 'file:///usr/share/backgrounds/emcomm-tools-wallpaper.png'
show-desktop-icons = false
[org.gnome.desktop.screensaver]
picture-uri = 'file:///usr/share/backgrounds/emcomm-tools-wallpaper.png'
[org.gnome.shell]
favorite-apps = ['emcomm-tools.desktop', 'js8call.desktop', 'org.gnome.Terminal.desktop', 'fldigi.desktop', 'flmsg.desktop', 'org.gnome.Nautilus.desktop']
[org.gnome.system.location]
enabled = false
[org.gnome.desktop.session]
idle-delay = 0
[org.gnome.desktop.interface]
text-scaling-factor = 1.25
[org.gnome.desktop.interface]
enable-animations = false
[org.gnome.desktop.a11y.applications]
screen-keyboard-enabled = true
[org.gnome.desktop.interface]
toolkit-accessibility = true
[org.gnome.desktop.peripherals.mouse]
natural-scroll = true

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

13
scripts/bootstrap.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Minimal bootstrap script for the installer
[ ! -d $ET_HOME/bin ] && mkdir -v -p $ET_HOME/bin
cp -v ../overlay/$ET_HOME/bin/et-log $ET_HOME/bin/
[ ! -e /usr/local/bin/et-log ] && ln -v -s $ET_HOME/bin/et-log /usr/local/bin/et-log
et-log "Starting EmComm Tools OS Community installation"

16
scripts/configure-gnome.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Configure GNOME
et-log "Configuring GNOME"
cp ../overlay/usr/share/glib-2.0/schemas/90_ubuntu-settings.gschema.override \
/usr/share/glib-2.0/schemas/
cp ../overlay/usr/share/icons/emcomm-tools-icon-black-512.png \
/usr/share/icons/
chmod 644 /usr/share/icons/emcomm-tools-*.png
glib-compile-schemas /usr/share/glib-2.0/schemas/

11
scripts/configure-user.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Configure users
set -e
et-log "Configuring users"
cp -r ../overlay/etc/skel /etc/
[ ! -e /etc/skel/Desktop ] && mkdir /etc/skel/Desktop

11
scripts/env.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Global environment variables
export ET_HOME=/opt/emcomm-tools
export ET_USER=games
export ET_GROUP=games
export ET_TEMP_DIR=/tmp/et
export ET_LOG_FILE=$ET_TEMP_DIR/et.log

13
scripts/functions.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Global functions
function exitIfNotRoot() {
if [ $EUID -ne 0 ]; then
echo "Exiting. You must be root."
echo "Try running: sudo ./$(basename $0)"
exit -1
fi
}

21
scripts/install-base.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Install base tools
set -e
et-log "Installing base packages"
apt install \
build-essential \
cmake \
curl \
gpg \
jq \
net-tools \
openjdk-11-jdk \
openssh-server \
screen \
stow \
tree \
-y

27
scripts/install-branding.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Install boot screen branding
et-log "Installing EmComm Tools branding"
apt install plymouth-themes -y
PLYMOUTH_DIR=/usr/share/plymouth
BOOT_LOGO=/usr/share/plymouth/ubuntu-logo.png
BOOT_LOGO_ORIG=$BOOT_LOGO.orig
if [ ! -e $BOOT_LOGO_ORIG ]; then
cp $BOOT_LOGO $BOOT_LOGO_ORIG
et-log "Backing up boot screen logo: $BOOT_LOGO"
fi
et-log "Installing boot screen logo"
cp ../logos/emcomm-tools-logo-white.png $BOOT_LOGO
et-log "Installing desktop wallpaper"
cp ../logos/emcomm-tools-wallpaper.png /usr/share/backgrounds/
cp ../logos/emcomm-tools-wallpaper.png /usr/share/backgrounds/warty-final-ubuntu.png
gsettings set org.gnome.desktop.background picture-uri file:////usr/share/backgrounds/emcomm-tools-wallpaper.png

24
scripts/install-browser.sh Executable file
View File

@@ -0,0 +1,24 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Install light weight web browser
et-log "Installing Brave web browser"
INSTALL_PATH=$(which brave-browser)
if [ $? -ne 0 ]; then
apt install apt-transport-https -y
# Add Brave repository.
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
apt update
apt install brave-browser -y
else
et-log "Brave already installed: $INSTALL_PATH. Skipping."
fi

35
scripts/install-dev-tools.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 29 December 2023
# Purpose : Install development tools
set -e
et-log "Installing dev tools for fldigi"
apt install \
autoconf \
gettext \
libfltk1.3-dev \
libportaudio2 \
libsamplerate0-dev \
libsndfile1-dev \
libudev-dev \
pkg-config \
portaudio19-dev \
-y
et-log "Installing dev tools for building EmComm Tools packages"
apt install \
git \
libfuse2 \
rpm \
-y
et-log "Installing tools for building custom ISO image"
if ! command -v cubic
then
sudo apt-add-repository universe -y
sudo apt-add-repository ppa:cubic-wizard/release -y
sudo apt update
sudo apt install --no-install-recommends cubic -y
fi

27
scripts/install.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Main installer for EmComm Tools OS Community
set -e
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR
. ./env.sh
. ./functions.sh
exitIfNotRoot
./bootstrap.sh
./update-apt.sh
./install-base.sh
./install-dev-tools.sh
./install-browser.sh
./remove-packages.sh
./install-branding.sh
./configure-gnome.sh
./configure-user.sh
#./cf20-fix-brightness.sh

18
scripts/remove-packages.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 21 November 2022
# Purpose : Remove unwanted packages
et-log "Removing unwanted packages"
apt purge \
libreoffice-\* \
thunderbird \
snapd \
unattended-upgrades \
update-manager \
update-notifier \
-y
apt autoremove -y

10
scripts/update-apt.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 16 March 2024
# Purpose : Updates the apt repository
et-log "Updating apt to use the old repository"
cp -v ../overlay/etc/apt/sources.list /etc/apt/sources.list
apt update