mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-08-24 02:57:43 +02:00
Compare commits
8
Commits
360e55633b
...
43538a277f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
43538a277f | ||
|
|
5ec16fa458 | ||
|
|
9ef0aeef1c | ||
|
|
46d722967a
|
||
|
|
fc246a5607
|
||
|
|
8cdeb2ad63 | ||
|
|
df0e535fb3
|
||
|
|
e85d4c2fe2
|
@@ -0,0 +1,99 @@
|
||||
name: AUR Nightly (kst4contest-git)
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Nightly Runtime Artifacts"]
|
||||
types: [completed]
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||
|
||||
jobs:
|
||||
update-aur-git:
|
||||
if: >-
|
||||
github.event_name == 'workflow_dispatch' ||
|
||||
github.event.workflow_run.conclusion == 'success'
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux:latest
|
||||
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pacman -Sy --noconfirm git openssh base-devel
|
||||
useradd -m builder
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4.1.7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Compute pkgver
|
||||
id: ver
|
||||
run: |
|
||||
BASE=$(grep -m1 '<version>' pom.xml \
|
||||
| sed 's/.*<version>\(.*\)<\/version>.*/\1/' | sed 's/[-.]nightly//')
|
||||
GIT_PKGVER="${BASE}.r$(git rev-list --count HEAD).g$(git rev-parse --short HEAD)"
|
||||
echo "pkgver=${GIT_PKGVER}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Update PKGBUILD
|
||||
env:
|
||||
PKGVER: ${{ steps.ver.outputs.pkgver }}
|
||||
run: |
|
||||
sed -i "s/^pkgver=.*/pkgver=${PKGVER}/" packaging/aur/kst4contest-git/PKGBUILD
|
||||
|
||||
- name: Generate .SRCINFO
|
||||
run: |
|
||||
cp -r packaging/aur/kst4contest-git /tmp/kst4contest-git
|
||||
chown -R builder:builder /tmp/kst4contest-git
|
||||
su builder -c "cd /tmp/kst4contest-git && makepkg --printsrcinfo > .SRCINFO"
|
||||
cp /tmp/kst4contest-git/.SRCINFO packaging/aur/kst4contest-git/.SRCINFO
|
||||
cat packaging/aur/kst4contest-git/.SRCINFO
|
||||
|
||||
- name: Commit updated PKGBUILD to repo
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git config user.name "github-actions[bot]"
|
||||
git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git"
|
||||
git add packaging/aur/kst4contest-git/
|
||||
git diff --cached --quiet && echo "No changes to commit." && exit 0
|
||||
git commit -m "chore: update kst4contest-git to ${{ steps.ver.outputs.pkgver }} [skip ci]"
|
||||
git push
|
||||
|
||||
- name: Set up AUR SSH
|
||||
env:
|
||||
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
printf '%s\n' "${AUR_SSH_PRIVATE_KEY}" > ~/.ssh/aur_ed25519
|
||||
chmod 600 ~/.ssh/aur_ed25519
|
||||
ssh-keyscan -t ed25519 aur.archlinux.org >> ~/.ssh/known_hosts
|
||||
cat >> ~/.ssh/config << 'EOF'
|
||||
Host aur.archlinux.org
|
||||
IdentityFile ~/.ssh/aur_ed25519
|
||||
User aur
|
||||
EOF
|
||||
|
||||
- name: Push to AUR
|
||||
run: |
|
||||
git config --global user.email "philipp@wagnersnetz.de"
|
||||
git config --global user.name "Philipp Wagner"
|
||||
|
||||
AUR_DIR="/tmp/aur/kst4contest-git"
|
||||
git clone "ssh://aur@aur.archlinux.org/kst4contest-git.git" "${AUR_DIR}" 2>/dev/null || {
|
||||
mkdir -p "${AUR_DIR}"
|
||||
git -C "${AUR_DIR}" init
|
||||
git -C "${AUR_DIR}" remote add origin "ssh://aur@aur.archlinux.org/kst4contest-git.git"
|
||||
}
|
||||
|
||||
cp packaging/aur/kst4contest-git/PKGBUILD "${AUR_DIR}/"
|
||||
cp packaging/aur/kst4contest-git/.SRCINFO "${AUR_DIR}/"
|
||||
git -C "${AUR_DIR}" add PKGBUILD .SRCINFO
|
||||
git -C "${AUR_DIR}" diff --cached --quiet \
|
||||
&& echo "kst4contest-git: no changes, skipping push" && exit 0
|
||||
git -C "${AUR_DIR}" commit -m "Update pkgver to ${{ steps.ver.outputs.pkgver }}"
|
||||
git -C "${AUR_DIR}" push origin HEAD:master
|
||||
echo "kst4contest-git: pushed to AUR"
|
||||
@@ -0,0 +1,177 @@
|
||||
name: Publish AUR Packages
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Tagged Release Build"]
|
||||
types: [completed]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: "Release tag (e.g. v1.41.1) — defaults to latest stable release"
|
||||
required: false
|
||||
default: ""
|
||||
dry_run:
|
||||
description: "Dry run — skip AUR push and repo commit (for testing)"
|
||||
type: choice
|
||||
options: ["false", "true"]
|
||||
default: "false"
|
||||
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||
|
||||
jobs:
|
||||
publish-aur:
|
||||
if: >-
|
||||
github.event_name == 'workflow_dispatch' ||
|
||||
github.event.workflow_run.conclusion == 'success'
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux:latest
|
||||
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pacman -Sy --noconfirm git openssh curl base-devel nodejs
|
||||
useradd -m builder
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4.1.7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Resolve release version
|
||||
id: ver
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
INPUT_VERSION: ${{ inputs.version }}
|
||||
run: |
|
||||
if [[ -n "${INPUT_VERSION}" ]]; then
|
||||
TAG="${INPUT_VERSION}"
|
||||
else
|
||||
TAG=$(curl -sf \
|
||||
-H "Authorization: Bearer ${GH_TOKEN}" \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
"https://api.github.com/repos/${{ github.repository }}/releases/latest" \
|
||||
| grep '"tag_name"' | sed 's/.*"tag_name": *"\([^"]*\)".*/\1/')
|
||||
fi
|
||||
PKGVER="${TAG#v}"
|
||||
echo "tag=${TAG} → pkgver=${PKGVER}"
|
||||
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
|
||||
echo "pkgver=${PKGVER}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Compute SHA256 checksums
|
||||
id: sha
|
||||
run: |
|
||||
TAG="${{ steps.ver.outputs.tag }}"
|
||||
REPO="${{ github.repository }}"
|
||||
|
||||
echo "Hashing pre-built Arch package..."
|
||||
SHA_BIN=$(curl -sfL \
|
||||
"https://github.com/${REPO}/releases/download/${TAG}/KST4Contest-${TAG}-archlinux-x86_64.pkg.tar.zst" \
|
||||
| sha256sum | awk '{print $1}')
|
||||
echo "bin: ${SHA_BIN}"
|
||||
|
||||
echo "Hashing source tarball..."
|
||||
SHA_SRC=$(curl -sfL \
|
||||
"https://github.com/${REPO}/archive/refs/tags/${TAG}.tar.gz" \
|
||||
| sha256sum | awk '{print $1}')
|
||||
echo "src: ${SHA_SRC}"
|
||||
|
||||
echo "bin=${SHA_BIN}" >> "$GITHUB_OUTPUT"
|
||||
echo "src=${SHA_SRC}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Update PKGBUILDs
|
||||
env:
|
||||
PKGVER: ${{ steps.ver.outputs.pkgver }}
|
||||
SHA_BIN: ${{ steps.sha.outputs.bin }}
|
||||
SHA_SRC: ${{ steps.sha.outputs.src }}
|
||||
run: |
|
||||
# kst4contest-bin
|
||||
sed -i "s/^pkgver=.*/pkgver=${PKGVER}/" packaging/aur/kst4contest-bin/PKGBUILD
|
||||
sed -i "s/^sha256sums=.*/sha256sums=('${SHA_BIN}')/" packaging/aur/kst4contest-bin/PKGBUILD
|
||||
|
||||
# kst4contest (source build)
|
||||
sed -i "s/^pkgver=.*/pkgver=${PKGVER}/" packaging/aur/kst4contest/PKGBUILD
|
||||
sed -i "s/^sha256sums=.*/sha256sums=('${SHA_SRC}')/" packaging/aur/kst4contest/PKGBUILD
|
||||
|
||||
# kst4contest-git: Basis aus pom.xml, Suffix aus git
|
||||
BASE_VER=$(grep -m1 '<version>' pom.xml \
|
||||
| sed 's/.*<version>\(.*\)<\/version>.*/\1/' | sed 's/[-.]nightly//')
|
||||
GIT_PKGVER="${BASE_VER}.r$(git rev-list --count HEAD).g$(git rev-parse --short HEAD)"
|
||||
sed -i "s/^pkgver=.*/pkgver=${GIT_PKGVER}/" packaging/aur/kst4contest-git/PKGBUILD
|
||||
|
||||
echo "=== Updated PKGBUILD versions ==="
|
||||
grep -H '^pkgver=\|^sha256sums=' packaging/aur/*/PKGBUILD
|
||||
|
||||
- name: Generate .SRCINFO files
|
||||
run: |
|
||||
for pkg in kst4contest-bin kst4contest kst4contest-git; do
|
||||
cp -r "packaging/aur/${pkg}" "/tmp/${pkg}"
|
||||
chown -R builder:builder "/tmp/${pkg}"
|
||||
su builder -c "cd /tmp/${pkg} && makepkg --printsrcinfo > .SRCINFO"
|
||||
cp "/tmp/${pkg}/.SRCINFO" "packaging/aur/${pkg}/.SRCINFO"
|
||||
echo "=== ${pkg}/.SRCINFO ==="
|
||||
cat "packaging/aur/${pkg}/.SRCINFO"
|
||||
done
|
||||
|
||||
- name: Commit updated PKGBUILDs to repo
|
||||
if: inputs.dry_run != 'true'
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git config user.name "github-actions[bot]"
|
||||
git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git"
|
||||
git add packaging/aur/
|
||||
git diff --cached --quiet && echo "No PKGBUILD changes to commit." && exit 0
|
||||
git commit -m "chore: update AUR packages to ${{ steps.ver.outputs.tag }} [skip ci]"
|
||||
git push
|
||||
|
||||
- name: Set up AUR SSH
|
||||
if: inputs.dry_run != 'true'
|
||||
env:
|
||||
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
printf '%s\n' "${AUR_SSH_PRIVATE_KEY}" > ~/.ssh/aur_ed25519
|
||||
chmod 600 ~/.ssh/aur_ed25519
|
||||
ssh-keyscan -t ed25519 aur.archlinux.org >> ~/.ssh/known_hosts
|
||||
cat >> ~/.ssh/config << 'EOF'
|
||||
Host aur.archlinux.org
|
||||
IdentityFile ~/.ssh/aur_ed25519
|
||||
User aur
|
||||
EOF
|
||||
|
||||
- name: Push to AUR
|
||||
if: inputs.dry_run != 'true'
|
||||
env:
|
||||
TAG: ${{ steps.ver.outputs.tag }}
|
||||
run: |
|
||||
git config --global user.email "philipp@wagnersnetz.de"
|
||||
git config --global user.name "Philipp Wagner"
|
||||
|
||||
push_to_aur() {
|
||||
local pkg="$1"
|
||||
local msg="$2"
|
||||
local aur_dir="/tmp/aur/${pkg}"
|
||||
|
||||
git clone "ssh://aur@aur.archlinux.org/${pkg}.git" "${aur_dir}" 2>/dev/null || {
|
||||
mkdir -p "${aur_dir}"
|
||||
git -C "${aur_dir}" init
|
||||
git -C "${aur_dir}" remote add origin "ssh://aur@aur.archlinux.org/${pkg}.git"
|
||||
}
|
||||
|
||||
cp "packaging/aur/${pkg}/PKGBUILD" "${aur_dir}/"
|
||||
cp "packaging/aur/${pkg}/.SRCINFO" "${aur_dir}/"
|
||||
git -C "${aur_dir}" add PKGBUILD .SRCINFO
|
||||
git -C "${aur_dir}" diff --cached --quiet \
|
||||
&& echo "${pkg}: no changes, skipping push" && return 0
|
||||
git -C "${aur_dir}" commit -m "${msg}"
|
||||
git -C "${aur_dir}" push origin HEAD:master
|
||||
echo "${pkg}: pushed to AUR"
|
||||
}
|
||||
|
||||
push_to_aur kst4contest-bin "Update to ${TAG}"
|
||||
push_to_aur kst4contest "Update to ${TAG}"
|
||||
push_to_aur kst4contest-git \
|
||||
"Update pkgver to $(grep '^pkgver=' packaging/aur/kst4contest-git/PKGBUILD | cut -d= -f2)"
|
||||
@@ -38,3 +38,6 @@ dist/
|
||||
|
||||
# node Modules in website
|
||||
website/node_modules/
|
||||
|
||||
# Local secrets for act testing
|
||||
.secrets
|
||||
|
||||
@@ -52,6 +52,7 @@ Mehrere Paketformate stehen auf der Releases-Seite zur Verfügung:
|
||||
| Debian-Paket | `KST4Contest-v<Version>-debian-amd64.deb` | Debian, Ubuntu, Linux Mint, … |
|
||||
| RPM-Paket | `KST4Contest-v<Version>-fedora-x86_64.rpm` | Fedora, RHEL, openSUSE, … |
|
||||
| Arch-Paket | `KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst` | Arch Linux, Manjaro, … |
|
||||
| AUR | `kst4contest-bin` / `kst4contest` / `kst4contest-git` | Arch Linux, Manjaro, EndeavourOS, … |
|
||||
| Flatpak | `de.x08.KST4Contest.flatpakref` | Alle Distributionen mit Flatpak |
|
||||
|
||||
> **Empfehlung für Linux:** Die Flatpak-Installation ist der einfachste Weg, immer aktuell zu bleiben – `flatpak update` erledigt alle zukünftigen Updates automatisch. Das Repository ist GPG-signiert.
|
||||
@@ -105,6 +106,20 @@ sudo dnf install ./KST4Contest-v<Version>-fedora-x86_64.rpm
|
||||
|
||||
#### Arch Linux
|
||||
|
||||
**Über den AUR (empfohlen)** — Updates laufen automatisch mit dem System:
|
||||
|
||||
```bash
|
||||
yay -S kst4contest-bin # vorgefertigtes Binary, schnellste Installation
|
||||
# oder
|
||||
yay -S kst4contest # aus dem Quellcode bauen
|
||||
# oder
|
||||
yay -S kst4contest-git # immer aktueller git-Stand (1.42+)
|
||||
```
|
||||
|
||||
Jeder AUR-Helper funktioniert (`paru`, `trizen` usw.). `kst4contest-bin` ist die einfachste Option — es installiert dasselbe vorgefertigte Binary wie der Release-Download.
|
||||
|
||||
Oder das Release-Paket manuell installieren:
|
||||
|
||||
```bash
|
||||
sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst
|
||||
```
|
||||
@@ -195,7 +210,8 @@ Die Einstellungsdatei (`preferences.xml`) bleibt erhalten, da sie im Benutzerord
|
||||
- **AppImage**: Neues AppImage herunterladen, ausführbar machen (`chmod +x`), altes optional löschen.
|
||||
- **Debian/Ubuntu**: `sudo apt install ./KST4Contest-v<Version>-debian-amd64.deb`
|
||||
- **Fedora/RHEL**: `sudo dnf upgrade ./KST4Contest-v<Version>-fedora-x86_64.rpm`
|
||||
- **Arch Linux**: `sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst`
|
||||
- **Arch Linux (AUR)**: `yay -S kst4contest-bin`
|
||||
- **Arch Linux (manuell)**: `sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst`
|
||||
- **Flatpak (Repository)**: `flatpak update` – aktualisiert alle Flatpak-Apps einschließlich KST4Contest.
|
||||
|
||||
#### macOS
|
||||
|
||||
@@ -52,6 +52,7 @@ Multiple package formats are available from the releases page:
|
||||
| Debian package | `KST4Contest-v<version>-debian-amd64.deb` | Debian, Ubuntu, Linux Mint, … |
|
||||
| RPM package | `KST4Contest-v<version>-fedora-x86_64.rpm` | Fedora, RHEL, openSUSE, … |
|
||||
| Arch package | `KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst` | Arch Linux, Manjaro, … |
|
||||
| AUR | `kst4contest-bin` / `kst4contest` / `kst4contest-git` | Arch Linux, Manjaro, EndeavourOS, … |
|
||||
| Flatpak | `de.x08.KST4Contest.flatpakref` | All distributions with Flatpak |
|
||||
|
||||
> **Recommended for Linux:** The Flatpak installation is the easiest way to stay up to date — `flatpak update` handles all future updates automatically. The repository is GPG-signed for security.
|
||||
@@ -105,6 +106,20 @@ sudo dnf install ./KST4Contest-v<version>-fedora-x86_64.rpm
|
||||
|
||||
#### Arch Linux
|
||||
|
||||
**Via AUR (recommended)** — updates automatically with your system:
|
||||
|
||||
```bash
|
||||
yay -S kst4contest-bin # pre-built binary, fastest install
|
||||
# or
|
||||
yay -S kst4contest # build from source
|
||||
# or
|
||||
yay -S kst4contest-git # always latest git HEAD (1.42+)
|
||||
```
|
||||
|
||||
Any AUR helper works (`paru`, `trizen`, etc.). `kst4contest-bin` is the easiest option since it installs the same pre-built binary as the release download.
|
||||
|
||||
Or install the release package manually:
|
||||
|
||||
```bash
|
||||
sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst
|
||||
```
|
||||
@@ -195,7 +210,8 @@ The settings file (`preferences.xml`) is preserved because it is stored in the u
|
||||
- **AppImage**: Download the new AppImage, make it executable (`chmod +x`), optionally delete the old one.
|
||||
- **Debian/Ubuntu**: `sudo apt install ./KST4Contest-v<version>-debian-amd64.deb`
|
||||
- **Fedora/RHEL**: `sudo dnf upgrade ./KST4Contest-v<version>-fedora-x86_64.rpm`
|
||||
- **Arch Linux**: `sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst`
|
||||
- **Arch Linux (AUR)**: `yay -S kst4contest-bin`
|
||||
- **Arch Linux (manual)**: `sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst`
|
||||
- **Flatpak (repository)**: `flatpak update` – updates all Flatpak apps including KST4Contest.
|
||||
|
||||
#### macOS
|
||||
|
||||
@@ -2,7 +2,7 @@ pkgbase = kst4contest-bin
|
||||
pkgdesc = ON4KST Chat Client for VHF/UHF contest operation (pre-built)
|
||||
pkgver = 1.41.1
|
||||
pkgrel = 1
|
||||
url = https://kst4contest.hamradioonline.de
|
||||
url = https://github.com/praktimarc/kst4contest
|
||||
arch = x86_64
|
||||
license = GPL-3.0-only
|
||||
depends = gst-plugins-base
|
||||
|
||||
@@ -4,7 +4,7 @@ pkgver=1.41.1
|
||||
pkgrel=1
|
||||
pkgdesc="ON4KST Chat Client for VHF/UHF contest operation (pre-built)"
|
||||
arch=('x86_64')
|
||||
url="https://kst4contest.hamradioonline.de"
|
||||
url="https://github.com/praktimarc/kst4contest"
|
||||
license=('GPL-3.0-only')
|
||||
depends=('gst-plugins-base' 'gst-plugins-good')
|
||||
provides=('kst4contest')
|
||||
|
||||
@@ -2,7 +2,7 @@ pkgbase = kst4contest-git
|
||||
pkgdesc = ON4KST Chat Client for VHF/UHF contest operation (git)
|
||||
pkgver = 1.42.0.r145.gd885924
|
||||
pkgrel = 1
|
||||
url = https://kst4contest.hamradioonline.de
|
||||
url = https://github.com/praktimarc/kst4contest
|
||||
arch = x86_64
|
||||
license = GPL-3.0-only
|
||||
makedepends = java-environment=21
|
||||
|
||||
@@ -4,7 +4,7 @@ pkgver=1.42.0.r145.gd885924
|
||||
pkgrel=1
|
||||
pkgdesc="ON4KST Chat Client for VHF/UHF contest operation (git)"
|
||||
arch=('x86_64')
|
||||
url="https://kst4contest.hamradioonline.de"
|
||||
url="https://github.com/praktimarc/kst4contest"
|
||||
license=('GPL-3.0-only')
|
||||
depends=('gst-plugins-base' 'gst-plugins-good')
|
||||
makedepends=('java-environment=21' 'maven' 'git')
|
||||
@@ -15,9 +15,9 @@ sha256sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
cd "${srcdir}/kst4contest"
|
||||
git describe --long --tags 2>/dev/null \
|
||||
| sed 's/^v//;s/\([^-]*-g[0-9a-f]*\)/r\1/;s/-/./g' \
|
||||
|| printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
BASE=$(grep -m1 '<version>' pom.xml \
|
||||
| sed 's/.*<version>\(.*\)<\/version>.*/\1/' | sed 's/[-.]nightly//')
|
||||
printf '%s.r%s.g%s' "${BASE}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
}
|
||||
|
||||
build() {
|
||||
|
||||
@@ -2,7 +2,7 @@ pkgbase = kst4contest
|
||||
pkgdesc = ON4KST Chat Client for VHF/UHF contest operation
|
||||
pkgver = 1.41.1
|
||||
pkgrel = 1
|
||||
url = https://kst4contest.hamradioonline.de
|
||||
url = https://github.com/praktimarc/kst4contest
|
||||
arch = x86_64
|
||||
license = GPL-3.0-only
|
||||
makedepends = java-environment=21
|
||||
|
||||
@@ -4,7 +4,7 @@ pkgver=1.41.1
|
||||
pkgrel=1
|
||||
pkgdesc="ON4KST Chat Client for VHF/UHF contest operation"
|
||||
arch=('x86_64')
|
||||
url="https://kst4contest.hamradioonline.de"
|
||||
url="https://github.com/praktimarc/kst4contest"
|
||||
license=('GPL-3.0-only')
|
||||
depends=('gst-plugins-base' 'gst-plugins-good')
|
||||
makedepends=('java-environment=21' 'maven')
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="About KST4Contest and its contest-oriented ON4KST workflow.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Contact options for KST4Contest.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Download KST4Contest releases for Windows, Linux and macOS.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Frequently asked questions about KST4Contest, ON4KST contest operation, AirScout integration and VHF/UHF/SHF contest workflow.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="AirScout information helps operators evaluate AP windows, aircraft scatter timing and candidate stations during VHF/UHF/SHF contests.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Dual category support gives contest operators better overview when working across multiple ON4KST chat rooms.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest includes DXCluster functionality to support situational awareness during contest operation.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Contest-optimized ON4KST features for VHF, UHF and SHF operation.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Log synchronization helps KST4Contest understand worked stations, active bands and contest context.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Macros reduce repetitive typing and help operators respond quickly during active ON4KST contest sessions.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest ranks stations by activity, direction, sked context, band information, QRG hints and operator workflow signals.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest keeps skeds in focus while the operator handles chat traffic, logging, bands and aircraft scatter timing.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="The timeline view helps operators understand short propagation windows and candidate timing during active contest operation.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest is a modern ON4KST chat client built for VHF, UHF and SHF contest operation.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
@@ -289,7 +289,7 @@
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="/assets/js/hero-radio-fx.js?v=1783967730122" defer></script>
|
||||
<script src="/assets/js/hero-radio-fx.js?v=1784050141863" defer></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Legal notice for the KST4Contest website.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Deutsches Benutzerhandbuch für KST4Contest.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
@@ -126,6 +126,11 @@
|
||||
<td>Arch Linux, Manjaro, …</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>AUR</td>
|
||||
<td><code>kst4contest-bin</code> / <code>kst4contest</code> / <code>kst4contest-git</code></td>
|
||||
<td>Arch Linux, Manjaro, EndeavourOS, …</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Flatpak</td>
|
||||
<td><code>de.x08.KST4Contest.flatpakref</code></td>
|
||||
<td>Alle Distributionen mit Flatpak</td>
|
||||
@@ -167,6 +172,15 @@
|
||||
<pre><code class="language-bash">sudo dnf install ./KST4Contest-v<Version>-fedora-x86_64.rpm
|
||||
</code></pre>
|
||||
<h4 id="arch-linux" tabindex="-1"><a class="header-anchor" href="#arch-linux">Arch Linux</a></h4>
|
||||
<p><strong>Über den AUR (empfohlen)</strong> — Updates laufen automatisch mit dem System:</p>
|
||||
<pre><code class="language-bash">yay -S kst4contest-bin # vorgefertigtes Binary, schnellste Installation
|
||||
# oder
|
||||
yay -S kst4contest # aus dem Quellcode bauen
|
||||
# oder
|
||||
yay -S kst4contest-git # immer aktueller git-Stand (1.42+)
|
||||
</code></pre>
|
||||
<p>Jeder AUR-Helper funktioniert (<code>paru</code>, <code>trizen</code> usw.). <code>kst4contest-bin</code> ist die einfachste Option — es installiert dasselbe vorgefertigte Binary wie der Release-Download.</p>
|
||||
<p>Oder das Release-Paket manuell installieren:</p>
|
||||
<pre><code class="language-bash">sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst
|
||||
</code></pre>
|
||||
<h4 id="flatpak" tabindex="-1"><a class="header-anchor" href="#flatpak">Flatpak</a></h4>
|
||||
@@ -261,7 +275,8 @@ flatpak install kst4contest de.x08.KST4Contest//nightly
|
||||
<li><strong>AppImage</strong>: Neues AppImage herunterladen, ausführbar machen (<code>chmod +x</code>), altes optional löschen.</li>
|
||||
<li><strong>Debian/Ubuntu</strong>: <code>sudo apt install ./KST4Contest-v<Version>-debian-amd64.deb</code></li>
|
||||
<li><strong>Fedora/RHEL</strong>: <code>sudo dnf upgrade ./KST4Contest-v<Version>-fedora-x86_64.rpm</code></li>
|
||||
<li><strong>Arch Linux</strong>: <code>sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst</code></li>
|
||||
<li><strong>Arch Linux (AUR)</strong>: <code>yay -S kst4contest-bin</code></li>
|
||||
<li><strong>Arch Linux (manuell)</strong>: <code>sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst</code></li>
|
||||
<li><strong>Flatpak (Repository)</strong>: <code>flatpak update</code> – aktualisiert alle Flatpak-Apps einschließlich KST4Contest.</li>
|
||||
</ul>
|
||||
<h4 id="macos-2" tabindex="-1"><a class="header-anchor" href="#macos-2">macOS</a></h4>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="English user manual for KST4Contest.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
@@ -126,6 +126,11 @@
|
||||
<td>Arch Linux, Manjaro, …</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>AUR</td>
|
||||
<td><code>kst4contest-bin</code> / <code>kst4contest</code> / <code>kst4contest-git</code></td>
|
||||
<td>Arch Linux, Manjaro, EndeavourOS, …</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Flatpak</td>
|
||||
<td><code>de.x08.KST4Contest.flatpakref</code></td>
|
||||
<td>All distributions with Flatpak</td>
|
||||
@@ -167,6 +172,15 @@
|
||||
<pre><code class="language-bash">sudo dnf install ./KST4Contest-v<version>-fedora-x86_64.rpm
|
||||
</code></pre>
|
||||
<h4 id="arch-linux" tabindex="-1"><a class="header-anchor" href="#arch-linux">Arch Linux</a></h4>
|
||||
<p><strong>Via AUR (recommended)</strong> — updates automatically with your system:</p>
|
||||
<pre><code class="language-bash">yay -S kst4contest-bin # pre-built binary, fastest install
|
||||
# or
|
||||
yay -S kst4contest # build from source
|
||||
# or
|
||||
yay -S kst4contest-git # always latest git HEAD (1.42+)
|
||||
</code></pre>
|
||||
<p>Any AUR helper works (<code>paru</code>, <code>trizen</code>, etc.). <code>kst4contest-bin</code> is the easiest option since it installs the same pre-built binary as the release download.</p>
|
||||
<p>Or install the release package manually:</p>
|
||||
<pre><code class="language-bash">sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst
|
||||
</code></pre>
|
||||
<h4 id="flatpak" tabindex="-1"><a class="header-anchor" href="#flatpak">Flatpak</a></h4>
|
||||
@@ -261,7 +275,8 @@ flatpak install kst4contest de.x08.KST4Contest//nightly
|
||||
<li><strong>AppImage</strong>: Download the new AppImage, make it executable (<code>chmod +x</code>), optionally delete the old one.</li>
|
||||
<li><strong>Debian/Ubuntu</strong>: <code>sudo apt install ./KST4Contest-v<version>-debian-amd64.deb</code></li>
|
||||
<li><strong>Fedora/RHEL</strong>: <code>sudo dnf upgrade ./KST4Contest-v<version>-fedora-x86_64.rpm</code></li>
|
||||
<li><strong>Arch Linux</strong>: <code>sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst</code></li>
|
||||
<li><strong>Arch Linux (AUR)</strong>: <code>yay -S kst4contest-bin</code></li>
|
||||
<li><strong>Arch Linux (manual)</strong>: <code>sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst</code></li>
|
||||
<li><strong>Flatpak (repository)</strong>: <code>flatpak update</code> – updates all Flatpak apps including KST4Contest.</li>
|
||||
</ul>
|
||||
<h4 id="macos-2" tabindex="-1"><a class="header-anchor" href="#macos-2">macOS</a></h4>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Online manual for KST4Contest, the contest-optimized ON4KST chat client.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="News, release updates and development notes for KST4Contest.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Privacy policy for the KST4Contest website.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Planned enhancements for upcoming KST4Contest versions, generated from GitHub milestones and issues.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
@@ -109,6 +109,10 @@
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/praktimarc/kst4contest/issues/64">[FEATURE] Online Indicator</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/praktimarc/kst4contest/issues/57">[FEATURE] User Config</a>
|
||||
</li>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Screenshots of KST4Contest, the contest-optimized ON4KST chat client for VHF, UHF and SHF operators.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
+23
-23
@@ -10,94 +10,94 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/about/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/contact/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/download/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/faq/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/airscout/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/dual-chat/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/dx-cluster/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/log-sync/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/macros/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/priority-score/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/sked-reminder/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/timeline/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/legal-notice/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/manual/de/airscout-integration/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/manual/de/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/manual/en/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/manual/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/privacy/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/roadmap/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/screenshots/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/support/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<lastmod>2026-07-14</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
@@ -23,7 +23,7 @@
|
||||
<meta name="twitter:description" content="Help support the ongoing development of KST4Contest.">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783967730122">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1784050141863">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
</head>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user