kopia lustrzana https://gitlab.com/gridtracker.org/gridtracker
Trigger COPR and AUR repos and build .deb
rodzic
984254d405
commit
15bcd0f167
|
@ -9,3 +9,5 @@ debian/*.substvars
|
|||
debian/tmp
|
||||
.DS_Store
|
||||
node_modules
|
||||
package-lock.json
|
||||
.vscode
|
||||
|
|
245
.gitlab-ci.yml
245
.gitlab-ci.yml
|
@ -2,7 +2,7 @@
|
|||
# see https://docs.gitlab.com/ee/ci/yaml/README.html for all available options
|
||||
|
||||
variables:
|
||||
DEFAULT_IMAGE: debian:stable
|
||||
DEFAULT_IMAGE: registry.gitlab.com/gridtracker.org/gtbuilder:v1-0
|
||||
APT_CACHE_DIR: $CI_PROJECT_DIR/.cache/apt
|
||||
NPM_CONFIG_CACHE: $CI_PROJECT_DIR/.cache/npm
|
||||
|
||||
|
@ -16,6 +16,13 @@ variables:
|
|||
NR0Q_SERVER_ADDRESS: ""
|
||||
NR0Q_SERVER_PASSWORD: ""
|
||||
|
||||
#
|
||||
# Because it's getting to be that kind of world, we're going to have to
|
||||
# sign our packages/exectuables with a signing key.
|
||||
# That signing chain and spec file will be stored in a Gitlab CI Variable and protected,
|
||||
# here's a placeholder for the script
|
||||
G_CODE_SIGNING_CHAIN: ""
|
||||
|
||||
# nothing in this file ill be allowed to run automatically except for:
|
||||
# 1. merge requests
|
||||
# 2. manual tagging
|
||||
|
@ -31,7 +38,9 @@ include:
|
|||
stages:
|
||||
- build
|
||||
- test
|
||||
- staging
|
||||
- package
|
||||
- pre-deploy
|
||||
- deploy
|
||||
|
||||
default:
|
||||
|
@ -40,7 +49,7 @@ default:
|
|||
|
||||
# just do a quick syntax check job, we don't need to "build" anything here other than the
|
||||
# outer dev environment for gridtracker
|
||||
npm_test:
|
||||
npm:test:
|
||||
stage: test
|
||||
image: node:latest
|
||||
script:
|
||||
|
@ -54,7 +63,7 @@ npm_test:
|
|||
# - echo "For example run a lint test"
|
||||
|
||||
# package binaries and create build artifacts that may be used in later stages
|
||||
win-packaging:
|
||||
win:package:
|
||||
stage: package
|
||||
rules:
|
||||
# only do this with a manual tag starting with v or test_
|
||||
|
@ -71,26 +80,26 @@ win-packaging:
|
|||
files:
|
||||
- package.json
|
||||
- package.nw/package.json
|
||||
script:
|
||||
before_script:
|
||||
- |
|
||||
mkdir -p $APT_CACHE_DIR $NPM_CONFIG_CACHE
|
||||
mkdir -p $NPM_CONFIG_CACHE
|
||||
mkdir -p artifacts
|
||||
dpkg --add-architecture i386
|
||||
- |
|
||||
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
|
||||
apt-get -qq update
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y npm wine wine32
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y build-essential devscripts
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y zip nsis nsis nsis-pluginapi wget
|
||||
apt-get update && apt-get upgrade -y
|
||||
wget https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip
|
||||
unzip Registry.zip
|
||||
mv Desktop/Plugin/registry.dll /usr/share/nsis/Plugins/x86-unicode/
|
||||
mv Desktop/Include/Registry.nsh /usr/share/nsis/Include/
|
||||
rm -Rf Desktop PocketPC Source
|
||||
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
|
||||
- test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
|
||||
# Making our Windows packages
|
||||
eval $(ssh-agent -s)
|
||||
echo "$NR0Q_PRIV" | tr -d '\r' | ssh-add -
|
||||
mkdir -p ~/.ssh; chmod 700 ~/.ssh
|
||||
scp -o StrictHostKeyChecking=no mchambers@$NR0Q_SERVER_ADDRESS:~/codecert.spc ./
|
||||
script:
|
||||
- |
|
||||
# Making our Windows packages
|
||||
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
|
||||
test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
|
||||
echo -e "\e[0Ksection_start:`date +%s`:native_build\r\e[0KBuilding native packages"
|
||||
npm install --prefer-offline
|
||||
npm run dist-win
|
||||
|
@ -106,20 +115,23 @@ win-packaging:
|
|||
rm $dir
|
||||
fi
|
||||
done
|
||||
# Now we need to sign the executable before it get's stuffed into Nullsoft
|
||||
# using mono signcode
|
||||
signcode -spc codecert.spc -t http://time.certum.pl/ -a sha256 dist/GridTracker-*-win-*/*.exe
|
||||
# Now the executable should be signed
|
||||
sed "s#GridTracker-\${VERSION}-win-x86/#`pwd`/dist/GridTracker-\${VERSION}-win-x86/#g" windows/setup.nsi.tmpl > windows/setup.nsi.tmp.1
|
||||
sed "s#GridTracker-Installer.#`pwd`/dist/GridTracker-Installer.#g" windows/setup.nsi.tmp.1 > windows/setup.nsi.tmp.2
|
||||
sed "s#define VERSION <placeholder#define VERSION `node version.js`#g" windows/setup.nsi.tmp.2 > windows/setup.nsi
|
||||
|
||||
makensis windows/setup.nsi
|
||||
# clean up generated files
|
||||
rm windows/setup.nsi
|
||||
rm windows/setup.nsi.tmp.1
|
||||
rm windows/setup.nsi.tmp.2
|
||||
signcode -spc codecert.spc -t http://time.certum.pl/ -a sha256 dist/GridTracker-Installer.*.exe
|
||||
(cd dist ; mv GridTracker-Installer.*.exe ../artifacts)
|
||||
echo -e "\e[0Ksection_end:`date +%s`:native_build\e[0K"
|
||||
|
||||
|
||||
intel-packaging:
|
||||
linux:package:
|
||||
stage: package
|
||||
rules:
|
||||
# only do this with a manual tag starting with v or test_
|
||||
|
@ -136,22 +148,17 @@ intel-packaging:
|
|||
files:
|
||||
- package.json
|
||||
- package.nw/package.json
|
||||
before_script:
|
||||
- |
|
||||
mkdir -p $NPM_CONFIG_CACHE
|
||||
mkdir -p artifacts
|
||||
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
|
||||
apt-get update && apt-get upgrade -y
|
||||
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
|
||||
script:
|
||||
- |
|
||||
mkdir -p $APT_CACHE_DIR $NPM_CONFIG_CACHE
|
||||
mkdir -p artifacts/rpm
|
||||
dpkg --add-architecture i386
|
||||
- |
|
||||
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
|
||||
apt-get -qq update
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y npm wine wine32
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y build-essential devscripts
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y rpm zip wget
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" build-dep .
|
||||
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
|
||||
- test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
|
||||
# Making our MacOS and distro agnostic Linux packages
|
||||
- |
|
||||
# Making our distro agnostic Linux packages
|
||||
test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
|
||||
echo -e "\e[0Ksection_start:`date +%s`:native_build\r\e[0KBuilding native packages"
|
||||
npm install --prefer-offline
|
||||
npm run dist-nix
|
||||
|
@ -163,30 +170,53 @@ intel-packaging:
|
|||
tar -C dist -czf ${dir}.tar.gz `basename $dir`
|
||||
fi
|
||||
done
|
||||
(cd dist ; mv *-mac-x64.zip *.tar.gz ../artifacts)
|
||||
(cd dist; mv *.tar.gz ../artifacts/)
|
||||
echo -e "\e[0Ksection_end:`date +%s`:native_build\e[0K"
|
||||
# This section handles making RPMs for Fedora/CentOS/RHEL
|
||||
- |
|
||||
echo -e "\e[0Ksection_start:`date +%s`:rpm_build\r\e[0KBuilding RPM packages"
|
||||
# mkdir -p $HOME/rpmbuild/SOURCES
|
||||
# cp artifacts/*.tar.gz $HOME/rpmbuild/SOURCES/
|
||||
setarch i386 rpmbuild -D "version `node ./version.js`" --build-in-place -bb gridtracker.i386.spec
|
||||
setarch x86_64 rpmbuild -D "version `node ./version.js`" --build-in-place -bb gridtracker.x86_64.spec
|
||||
mv $HOME/rpmbuild/RPMS/i386/*.rpm artifacts/rpm/
|
||||
mv $HOME/rpmbuild/RPMS/x86_64/*.rpm artifacts/rpm/
|
||||
echo -e "\e[0Ksection_end:`date +%s`:rpm_build\r\e[0K"
|
||||
# This section does debian DEBs
|
||||
#- |
|
||||
# echo -e "\e[0Ksection_start:`date +%s`:debian_build\r\e[0KBuilding Debian packages"
|
||||
# dpkg-buildpackage -uc -us
|
||||
# mkdir artifacts/debian
|
||||
# mv ../*.{deb,dsc,buildinfo,tar.xz,changes} artifacts/debian/
|
||||
# echo -e "\e[0Ksection_end:`date +%s`:debian_build\r\e[0K"
|
||||
- |
|
||||
echo "we made packages!"
|
||||
# This section does debian DEBs
|
||||
echo -e "\e[0Ksection_start:`date +%s`:debian_build\r\e[0KBuilding Debian packages"
|
||||
dpkg-buildpackage -b --no-sign
|
||||
mv ../*.{deb,buildinfo,changes} artifacts/
|
||||
echo -e "\e[0Ksection_end:`date +%s`:debian_build\r\e[0K"
|
||||
echo "we made LINUX packages!"
|
||||
ls -laR artifacts
|
||||
|
||||
arm-packaging:
|
||||
mac:package:
|
||||
stage: package
|
||||
rules:
|
||||
# only do this with a manual tag starting with v or test_
|
||||
- if: '$CI_COMMIT_TAG =~ /^(v|test_).*/'
|
||||
artifacts:
|
||||
paths:
|
||||
- artifacts/
|
||||
name: '$CI_COMMIT_REF_SLUG'
|
||||
cache:
|
||||
paths:
|
||||
- .cache/
|
||||
- node_modules/
|
||||
key:
|
||||
files:
|
||||
- package.json
|
||||
- package.nw/package.json
|
||||
before_script:
|
||||
- |
|
||||
mkdir -p $NPM_CONFIG_CACHE
|
||||
mkdir -p artifacts
|
||||
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
|
||||
apt-get update && apt-get upgrade -y
|
||||
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
|
||||
script:
|
||||
- |
|
||||
# Making our MacOS packages
|
||||
test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
|
||||
echo -e "\e[0Ksection_start:`date +%s`:native_build\r\e[0KBuilding native packages"
|
||||
npm install --prefer-offline
|
||||
npm run dist-mac
|
||||
(cd dist; mv *.zip ../artifacts/)
|
||||
echo -e "\e[0Ksection_end:`date +%s`:native_build\e[0K"
|
||||
echo "we made MAC packages!"
|
||||
ls -laR artifacts
|
||||
|
||||
arm:package:
|
||||
stage: package
|
||||
variables:
|
||||
NWJS_VERSION: "v0.54.2"
|
||||
|
@ -207,28 +237,26 @@ arm-packaging:
|
|||
files:
|
||||
- package.json
|
||||
- package.nw/package.json
|
||||
before_script:
|
||||
- |
|
||||
mkdir -p $NPM_CONFIG_CACHE
|
||||
mkdir -p artifacts
|
||||
#dpkg --add-architecture armhf
|
||||
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
|
||||
apt-get update && apt-get upgrade -y
|
||||
apt-get build-dep .
|
||||
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
|
||||
script:
|
||||
- |
|
||||
mkdir -p $APT_CACHE_DIR $NPM_CONFIG_CACHE
|
||||
mkdir -p artifacts/rpm
|
||||
dpkg --add-architecture armhf
|
||||
- |
|
||||
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
|
||||
apt-get -qq update
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y npm
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y build-essential devscripts
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y rpm zip wget
|
||||
apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" build-dep .
|
||||
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
|
||||
- test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
|
||||
# This is for ARM 32 arch build
|
||||
- |
|
||||
# This is for ARM 32 arch build
|
||||
test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
|
||||
echo -e "\e[0Ksection_start:`date +%s`:wget[collapsed=true]\r\e[0KGetting Upstream NWJS Binary"
|
||||
wget https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/download/$NWJS32_BUILD/$NWJS32_BUILD.tar.gz
|
||||
tar -xf $NWJS32_BUILD.tar.gz
|
||||
tar -xf usr/docker/dist/nwjs-chromium-ffmpeg-branding/nwjs-$NWJS_VERSION-linux-arm.tar.gz
|
||||
echo -e "\e[0Ksection_end:`date +%s`:wget\r\e[0K"
|
||||
rm nwjs-$NWJS_VERSION-linux-arm/locales/*.info
|
||||
mv nwjs-$NWJS_VERSION-linux-arm/nw nwjs-$NWJS_VERSION-linux-arm/GridTracker
|
||||
ls
|
||||
version=`node ./version.js`
|
||||
mkdir GridTracker-$version-linux-arm32
|
||||
cp -r nwjs-$NWJS_VERSION-linux-arm/* GridTracker-$version-linux-arm32/
|
||||
|
@ -237,14 +265,12 @@ arm-packaging:
|
|||
cp LICENSE GridTracker-$version-linux-arm32/
|
||||
tar -czf GridTracker-$version-linux-arm32.tar.gz GridTracker-$version-linux-arm32
|
||||
mv GridTracker-$version-linux-arm32.tar.gz artifacts/
|
||||
# This is for ARM 64 arch build
|
||||
- |
|
||||
# This is for ARM 64 arch build
|
||||
wget https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/download/$NWJS64_BUILD/$NWJS64_BUILD.tar.gz
|
||||
tar -xf $NWJS64_BUILD.tar.gz
|
||||
tar -xf usr/docker/dist/nwjs-chromium-ffmpeg-branding/nwjs-$NWJS_VERSION-linux-arm64.tar.gz
|
||||
rm nwjs-$NWJS_VERSION-linux-arm64/locales/*.info
|
||||
mv nwjs-$NWJS_VERSION-linux-arm64/nw nwjs-$NWJS_VERSION-linux-arm64/GridTracker
|
||||
ls
|
||||
version=`node ./version.js`
|
||||
mkdir GridTracker-$version-linux-arm64
|
||||
cp -r nwjs-$NWJS_VERSION-linux-arm64/* GridTracker-$version-linux-arm64/
|
||||
|
@ -253,29 +279,11 @@ arm-packaging:
|
|||
cp LICENSE GridTracker-$version-linux-arm64/
|
||||
tar -czf GridTracker-$version-linux-arm64.tar.gz GridTracker-$version-linux-arm64
|
||||
mv GridTracker-$version-linux-arm64.tar.gz artifacts/
|
||||
|
||||
# This section handles making RPMs for Fedora/CentOS/RHEL
|
||||
#- |
|
||||
# echo -e "\e[0Ksection_start:`date +%s`:rpm_build\r\e[0KBuilding RPM packages"
|
||||
# mkdir -p $HOME/rpmbuild/SOURCES
|
||||
# cp artifacts/*.tar.gz $HOME/rpmbuild/SOURCES/
|
||||
#setarch --list
|
||||
#setarch armhf rpmbuild -D "version `node ./version.js`" --build-in-place -bb gridtracker.arm.spec
|
||||
#mv $HOME/rpmbuild/RPMS/armv7l/*.rpm artifacts/rpm/
|
||||
#echo -e "\e[0Ksection_end:`date +%s`:rpm_build\r\e[0K"
|
||||
# This section does debian DEBs
|
||||
#- |
|
||||
# echo -e "\e[0Ksection_start:`date +%s`:debian_build\r\e[0KBuilding Debian packages"
|
||||
# dpkg-buildpackage -uc -us
|
||||
# mkdir artifacts/debian
|
||||
# mv ../*.{deb,dsc,buildinfo,tar.xz,changes} artifacts/debian/
|
||||
# echo -e "\e[0Ksection_end:`date +%s`:debian_build\r\e[0K"
|
||||
- |
|
||||
echo "we made packages!"
|
||||
echo "we made ARM packages!"
|
||||
ls -laR artifacts
|
||||
|
||||
# copy test assets to NR0Q's server
|
||||
nr0q_upload_testing:
|
||||
uploadtest:
|
||||
stage: deploy
|
||||
image: alpine
|
||||
variables:
|
||||
|
@ -296,16 +304,10 @@ nr0q_upload_testing:
|
|||
echo "Calculating MD5 Hash for $FILE"
|
||||
md5sum $FILE > $FILE.md5
|
||||
done
|
||||
for FILE in rpm/*.rpm
|
||||
do
|
||||
echo "Calculating MD5 Hash for $FILE"
|
||||
md5sum $FILE > $FILE.md5
|
||||
done
|
||||
|
||||
ssh -o StrictHostKeyChecking=no gridtracker@$NR0Q_SERVER_ADDRESS "mkdir ~/$CI_COMMIT_TAG" && scp -o StrictHostKeyChecking=no -r ./* gridtracker@$NR0Q_SERVER_ADDRESS:~/$CI_COMMIT_TAG/ && ssh -o StrictHostKeyChecking=no gridtracker@$NR0Q_SERVER_ADDRESS "rm latest_test && ln -s $CI_COMMIT_TAG latest_test"
|
||||
|
||||
# copy release assets to NR0Q's server
|
||||
nr0q_upload_release:
|
||||
uploadrelease:
|
||||
stage: deploy
|
||||
image: alpine
|
||||
rules:
|
||||
|
@ -324,17 +326,12 @@ nr0q_upload_release:
|
|||
echo "Calculating MD5 Hash for $FILE"
|
||||
md5sum $FILE > $FILE.md5
|
||||
done
|
||||
for FILE in rpm/*.rpm
|
||||
do
|
||||
echo "Calculating MD5 Hash for $FILE"
|
||||
md5sum $FILE > $FILE.md5
|
||||
done
|
||||
ssh -o StrictHostKeyChecking=no gridtracker@$NR0Q_SERVER_ADDRESS "mkdir ~/$CI_COMMIT_TAG" && scp -o StrictHostKeyChecking=no -r ./* gridtracker@$NR0Q_SERVER_ADDRESS:~/$CI_COMMIT_TAG/
|
||||
|
||||
# this only creates a "source code release" -- gitlab doesn't specify binaries
|
||||
# except as links to external storage, which is suboptimal for now
|
||||
|
||||
source_release:
|
||||
sourcerelease:
|
||||
stage: deploy
|
||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||
variables:
|
||||
|
@ -354,3 +351,45 @@ source_release:
|
|||
link_type: package
|
||||
script:
|
||||
- echo 'Release for $CI_COMMIT_TAG'
|
||||
|
||||
update_arch_aur:
|
||||
stage: deploy
|
||||
image: archlinux:base-devel
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
rules:
|
||||
# only do this with a manual tag starting with v
|
||||
- if: '$CI_COMMIT_TAG =~ /^v.*/ && $AUR_KEY != ""'
|
||||
before_script:
|
||||
- |
|
||||
pacman -Sy; pacman -S --needed --noconfirm openssh git
|
||||
eval $(ssh-agent -s)
|
||||
echo "$AUR_KEY" | tr -d '\r' | ssh-add -
|
||||
mkdir -p ~/.ssh; chmod 700 ~/.ssh
|
||||
git config --global user.name "nr0q"
|
||||
git config --global user.email "nr0q@gridtracker.org"
|
||||
script:
|
||||
# generate the PKGBUILD
|
||||
- |
|
||||
cd arch-linux
|
||||
curl -o gridtracker.tar.gz "https://gitlab.com/gridtracker.org/gridtracker/-/archive/${CI_COMMIT_TAG}/gridtracker-${CI_COMMIT_TAG}.tar.gz"
|
||||
SHASUM=$(sha256sum gridtracker.tar.gz | cut -d ' ' -f1)
|
||||
sed "s/REPLACE_WITH_VERSION/${CI_COMMIT_TAG#v}/;s/REPLACE_WITH_SHASUM/${SHASUM}/" PKGBUILD.template > PKGBUILD
|
||||
# test that it builds
|
||||
- |
|
||||
useradd builder -m
|
||||
passwd -d builder
|
||||
printf 'builder ALL=(ALL) ALL\n' | tee -a /etc/sudoers
|
||||
# build nwjs-bin
|
||||
sudo -u builder bash -c 'git clone https://aur.archlinux.org/nwjs-bin.git nwjs-bin && cd nwjs-bin && makepkg -si --noconfirm'
|
||||
# build gridtracker
|
||||
sudo -u builder makepkg -si --noconfirm PKGBUILD
|
||||
# push the new version
|
||||
- |
|
||||
makepkg --printsrcinfo > .SRCINFO
|
||||
git clone ssh://aur@aur.archlinux.org/gridtracker.git
|
||||
cp PKGBUILD gridtracker/PKGBUILD
|
||||
cp .SRCINFO gridtracker/.SRCINFO
|
||||
cd gridtracker
|
||||
git add PKGBUILD .SRCINFO && git commit -m "upgpkg: gridtracker ${CI_COMMIT_TAG#v}" && git push
|
||||
|
||||
|
|
4
Makefile
4
Makefile
|
@ -21,6 +21,10 @@ clean:
|
|||
@echo "Cleaning $(DESTDIR)..."
|
||||
rm -rf $(DESTDIR)/*
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
@echo "GridTracker doesn't need building :D"
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
@echo "Installing gridtracker in $(DESTDIR)..."
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# Maintainer: nr0q <nr0q@gridtracker.org>
|
||||
# Contributor: classabbyamp <dev@kb6.ee>
|
||||
|
||||
pkgname=gridtracker
|
||||
pkgver=REPLACE_WITH_VERSION
|
||||
pkgrel=1
|
||||
pkgdesc="Companion program for WSJT-X for mapping contacts"
|
||||
arch=('x86_64')
|
||||
url="https://gridtracker.org/grid-tracker/"
|
||||
license=('BSD')
|
||||
depends=('nwjs-bin>=0.48.0')
|
||||
replaces=('gridtracker-bin')
|
||||
source=("https://gitlab.com/gridtracker.org/$pkgname/-/archive/v$pkgver/$pkgname-v$pkgver.tar.gz")
|
||||
sha256sums=('REPLACE_WITH_SHASUM')
|
||||
|
||||
package() {
|
||||
cd "$srcdir/$pkgname-v$pkgver/"
|
||||
make install DESTDIR=$pkgdir NO_DIST_INSTALL=true
|
||||
}
|
|
@ -5,16 +5,15 @@ gridtracker (1.21.0928) unstable; urgency=medium
|
|||
[Enhancements]
|
||||
- ARM builds now with NWJS 0.54.2 and 64 bit ARM binaries.
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sun, 28 Sept 2021 00:00:00 -0000
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sun, 28 Sep 2021 00:00:00 -0000
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sund, 26 Sept 2021 19:03:30 -0000
|
||||
gridtracker (1.21.0620) unstable; urgency=medium
|
||||
[Bug Fixes]
|
||||
- Fix pulling down of LoTW logs at start-up with a differential log syncing mechanism that only get's changes since last sync, also cool down timer to prevent rapid reloading of LoTW log.
|
||||
[Enhancements]
|
||||
- Automatic pulling down of acknowledgements.json file daily when doing version check (if enabled).
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sat, 19 June 2021 16:49:00 -0000
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sat, 19 Jun 2021 16:49:00 -0000
|
||||
|
||||
gridtracker (1.21.0613) unstable; urgency=medium
|
||||
[Bug Fixes]
|
||||
|
@ -22,7 +21,7 @@ gridtracker (1.21.0613) unstable; urgency=medium
|
|||
[Enhancements]
|
||||
- Updated list of contributors
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sun, 13 June 2021 03:04:00 -0000
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sun, 13 Jun 2021 03:04:00 -0000
|
||||
|
||||
gridtracker (1.21.0530) unstable; urgency=medium
|
||||
[Bug Fixes]
|
||||
|
@ -35,7 +34,7 @@ gridtracker (1.21.0530) unstable; urgency=medium
|
|||
[Enhancements]
|
||||
- Add statistical information to call roster title bar
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sat, 30 May 2021 00:10:00 -0000
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sat, 30 May 2021 00:10:00 -0000
|
||||
|
||||
gridtracker (1.21.0520) unstable; urgency=medium
|
||||
[Bug Fixes]
|
||||
|
@ -51,7 +50,7 @@ gridtracker (1.21.0520) unstable; urgency=medium
|
|||
- Make settings icon a toggle that both opens and closes the settings pane
|
||||
- Grid and IP Address Fields are slightly wider
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Mon, 17 May 2021 02:30:00 -0000
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Mon, 17 May 2021 02:30:00 -0000
|
||||
|
||||
gridtracker (1.21.0407) unstable; urgency=medium
|
||||
[Bug Fixes]
|
||||
|
@ -62,12 +61,12 @@ gridtracker (1.21.0407) unstable; urgency=medium
|
|||
- new icon to request ClubLog OQRS QSL
|
||||
- add eQSL check in log file processing
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Wed, 07 Apr 2021 00:00:00 -0000
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Wed, 07 Apr 2021 00:00:00 -0000
|
||||
|
||||
gridtracker (1.21.0327) unstable; urgency=medium
|
||||
This is the public release of the 1.21.0324 hotfix release candidates
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Fri, 27 Mar 2021 00:38:00 -0000
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Fri, 27 Mar 2021 00:38:00 -0000
|
||||
|
||||
gridtracker (1.21.0324) unstable; urgency=medium
|
||||
[Christian Bayer]
|
||||
|
@ -77,7 +76,7 @@ gridtracker (1.21.0324) unstable; urgency=medium
|
|||
* Fixed #71 bug with loading adif files
|
||||
This is the hotfix release of the first public release of 1.21.0322
|
||||
|
||||
-- Christian Bayer <chrbayer84@googlemail.com> Wed, 22 Mar 2021 22:00:00 -0500
|
||||
-- Christian Bayer <chrbayer84@googlemail.com> Wed, 22 Mar 2021 22:00:00 -0500
|
||||
|
||||
gridtracker (1.21.0322) unstable; urgency=medium
|
||||
[Christian Bayer]
|
||||
|
@ -86,7 +85,7 @@ gridtracker (1.21.0322) unstable; urgency=medium
|
|||
* Fixed linux and arm packaging
|
||||
This is the public release of 1.21.0307 release candidates
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Mon, 22 Mar 2021 20:30:00 -0500
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Mon, 22 Mar 2021 20:30:00 -0500
|
||||
|
||||
gridtracker (1.21.0307) unstable; urgency=medium
|
||||
|
||||
|
@ -114,7 +113,7 @@ gridtracker (1.21.0307) unstable; urgency=medium
|
|||
queried from Callook since it usually has more data than free QRZ lookup
|
||||
* fixed CR alert script not being triggered for Awared Tracker hits
|
||||
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sun, 7 Mar 2021 12:00:00 -0000
|
||||
-- Matthew Chambers <nr0q@gridtracker.org> Sun, 7 Mar 2021 12:00:00 -0000
|
||||
|
||||
gridtracker (1.20.1118) unstable; urgency=low
|
||||
|
||||
|
@ -145,13 +144,13 @@ gridtracker (1.20.1118) unstable; urgency=low
|
|||
* Improve debugging/developer experience by enabling context menus when
|
||||
using nwjs's SDK.
|
||||
|
||||
-- Paul Traina <216482-pleasantone@users.noreply.gitlab.com> Wed, 04 Nov 2020 15:58:29 -0800
|
||||
-- Paul Traina <216482-pleasantone@users.noreply.gitlab.com> Wed, 04 Nov 2020 15:58:29 -0800
|
||||
|
||||
gridtracker (1.20.0927+repack1) unstable; urgency=high
|
||||
|
||||
* Clean up nw execution in .desktop and .sh file.
|
||||
|
||||
-- Paul Traina <216482-pleasantone@users.noreply.gitlab.com> Wed, 07 Oct 2020 09:16:02 -0700
|
||||
-- Paul Traina <216482-pleasantone@users.noreply.gitlab.com> Wed, 07 Oct 2020 09:16:02 -0700
|
||||
|
||||
gridtracker (1.20.0927) unstable; urgency=medium
|
||||
|
||||
|
@ -161,4 +160,4 @@ gridtracker (1.20.0927) unstable; urgency=medium
|
|||
[ Paul Traina ]
|
||||
* Debian package building support
|
||||
|
||||
-- Paul Traina <216482-pleasantone@users.noreply.gitlab.com> Mon, 28 Sep 2020 14:06:49 -0700
|
||||
-- Paul Traina <216482-pleasantone@users.noreply.gitlab.com> Mon, 28 Sep 2020 14:06:49 -0700
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
Source: gridtracker
|
||||
Section: hamradio
|
||||
Priority: optional
|
||||
Maintainer: Paul Traina <216482-pleasantone@users.noreply.gitlab.com>
|
||||
Maintainer: Matthew Chambers <nr0q@gridtracker.org>
|
||||
Build-Depends: debhelper (>= 12.1)
|
||||
Standards-Version: 4.3.0
|
||||
Homepage: http://gridtracker.org/
|
||||
Homepage: https://gridtracker.org/
|
||||
|
||||
Package: gridtracker
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends} nwjs
|
||||
Recommends: speech-dispatcher-espeak-ng
|
||||
Description: Companion program to WSJT-X/JTDX
|
||||
.
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#!/usr/bin/make -f
|
||||
export NO_DIST_INSTALL = true
|
||||
export DH_VERBOSE = 1
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
# Build with the following syntax:
|
||||
#
|
||||
# version=`node ./version.js`
|
||||
# rpmbuild -D "version ${version}" --build-in-place -bb --target i386 gridtracker.i386.spec
|
||||
|
||||
Name: gridtracker
|
||||
Summary: GridTracker: An amateur radio companion to WSJT-X or JTDX
|
||||
Version: %{version}
|
||||
Release: 1%{?dist}
|
||||
BuildArch: armv7
|
||||
Source0: GridTracker-%{version}-linux-arm.tar.gz
|
||||
|
||||
License: BSD 3-Clause License
|
||||
URL: https://gridtracker.org
|
||||
Group: Science & Math
|
||||
Packager: Matthew Chambers <nr0q@gridtracker.org>
|
||||
# Requires: nwjs
|
||||
# BuildRequires: desktop-file-utils
|
||||
|
||||
%description
|
||||
GridTracker listens to traffic from WSJT-X/JTDX, displays it on a map,
|
||||
and has a sophisticated alerting and filtering system for finding and
|
||||
working interesting stations. It also will upload QSO records to multiple
|
||||
logging frameworks including Logbook of the World.
|
||||
|
||||
%prep
|
||||
%setup -n GridTracker
|
||||
|
||||
#%build
|
||||
|
||||
|
||||
%install
|
||||
mkdir -p ${RPM_BUILD_ROOT}/usr/share/%{name}
|
||||
cp -aR GridTracker-%version-linux-arm/ ${RPM_BUILD_ROOT}/usr/share/%{name}/
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1
|
||||
cp -a %{name}.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_docdir}/%{name}
|
||||
cp -a LICENSE ${RPM_BUILD_ROOT}%{_docdir}/%{name}/
|
||||
mkdir -p ${RPM_BUILD_ROOT}/usr/share/applications
|
||||
cat > ${RPM_BUILD_ROOT}/usr/share/applications/%{name}.desktop << 'EOF'
|
||||
[Desktop Entry]
|
||||
Name=GridTracker
|
||||
Comment=GridTracker
|
||||
Exec=/usr/share/%{name}/GridTracker
|
||||
Icon=/usr/share/%{name}/gridtracker.png
|
||||
Path=/usr/share/%{name}
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
Terminal=false
|
||||
Categories=DataVisualization,Geography,Education;
|
||||
EOF
|
||||
|
||||
chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/GridTracker; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/lib; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/locales
|
||||
find ${RPM_BUILD_ROOT}/usr/share/ -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod 755 {} +
|
||||
|
||||
# %check
|
||||
|
||||
# %clean
|
||||
|
||||
%files
|
||||
/usr/share/%{name}/
|
||||
/usr/share/applications/%{name}.desktop
|
||||
%{_datadir}/%{name}/
|
||||
%{_mandir}/man1/
|
||||
%license %{_docdir}/%{name}/
|
|
@ -1,65 +0,0 @@
|
|||
# Build with the following syntax:
|
||||
#
|
||||
# version=`node ./version.js`
|
||||
# rpmbuild -D "version ${version}" --build-in-place -bb --target i386 gridtracker.i386.spec
|
||||
|
||||
Name: gridtracker
|
||||
Summary: GridTracker: An amateur radio companion to WSJT-X or JTDX
|
||||
Version: %{version}
|
||||
Release: 1%{?dist}
|
||||
BuildArch: i386
|
||||
Source0: GridTracker-%{version}-linux-x86.tar.gz
|
||||
|
||||
License: BSD 3-Clause License
|
||||
URL: https://gridtracker.org
|
||||
Group: Science & Math
|
||||
Packager: Matthew Chambers <nr0q@gridtracker.org>
|
||||
# Requires: nwjs
|
||||
# BuildRequires: desktop-file-utils
|
||||
|
||||
%description
|
||||
GridTracker listens to traffic from WSJT-X/JTDX, displays it on a map,
|
||||
and has a sophisticated alerting and filtering system for finding and
|
||||
working interesting stations. It also will upload QSO records to multiple
|
||||
logging frameworks including Logbook of the World.
|
||||
|
||||
%prep
|
||||
%setup -n GridTracker
|
||||
|
||||
#%build
|
||||
|
||||
|
||||
%install
|
||||
mkdir -p ${RPM_BUILD_ROOT}/usr/share/%{name}
|
||||
cp -aR dist/*-linux-x86/* ${RPM_BUILD_ROOT}/usr/share/%{name}/
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1
|
||||
cp -a %{name}.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_docdir}/%{name}
|
||||
cp -a LICENSE ${RPM_BUILD_ROOT}%{_docdir}/%{name}/
|
||||
mkdir -p ${RPM_BUILD_ROOT}/usr/share/applications
|
||||
cat > ${RPM_BUILD_ROOT}/usr/share/applications/%{name}.desktop << 'EOF'
|
||||
[Desktop Entry]
|
||||
Name=GridTracker
|
||||
Comment=GridTracker
|
||||
Exec=/usr/share/%{name}/GridTracker
|
||||
Icon=/usr/share/%{name}/gridtracker.png
|
||||
Path=/usr/share/%{name}
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
Terminal=false
|
||||
Categories=DataVisualization,Geography,Education;
|
||||
EOF
|
||||
|
||||
chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/GridTracker; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/lib; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/locales
|
||||
find ${RPM_BUILD_ROOT}/usr/share/ -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod 755 {} +
|
||||
|
||||
# %check
|
||||
|
||||
# %clean
|
||||
|
||||
%files
|
||||
/usr/share/%{name}/
|
||||
/usr/share/applications/%{name}.desktop
|
||||
%{_datadir}/%{name}/
|
||||
%{_mandir}/man1/
|
||||
%license %{_docdir}/%{name}/
|
|
@ -0,0 +1,46 @@
|
|||
Name: gridtracker
|
||||
Summary: GridTracker: An amateur radio companion to WSJT-X or JTDX
|
||||
Version: 1.21.1212
|
||||
Release: 1%{?dist}
|
||||
BuildArch: noarch
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
|
||||
License: BSD 3-Clause License
|
||||
URL: https://gridtracker.org
|
||||
Group: Science & Math
|
||||
Packager: Matthew Chambers <nr0q@gridtracker.org>
|
||||
Requires: nwjs
|
||||
BuildRequires: desktop-file-utils make nodejs
|
||||
|
||||
%description
|
||||
GridTracker listens to traffic from WSJT-X/JTDX, displays it on a map,
|
||||
and has a sophisticated alerting and filtering system for finding and
|
||||
working interesting stations. It also will upload QSO records to multiple
|
||||
logging frameworks including Logbook of the World.
|
||||
|
||||
%prep
|
||||
%setup -q GridTracker
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
DESTDIR=${RPM_BUILD_ROOT} make NO_DIST_INSTALL=true install
|
||||
|
||||
%check
|
||||
|
||||
%clean
|
||||
DESTDIR=${RPM_BUILD_ROOT} make clean
|
||||
|
||||
%files
|
||||
%{_datadir}/%{name}/
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/%{name}/
|
||||
%{_bindir}/%{name}
|
||||
%{_mandir}/man1/
|
||||
%license %{_docdir}/%{name}/
|
||||
|
||||
%changelog
|
||||
* Sun Dec 13 2021 Matthew Chambers <nr0q@gridtracker.org> - 1.21.1212-1
|
||||
- Release with refactored Call Roster code and minor improvements.
|
||||
* Thu Sep 30 2021 Matthew Chambers <nr0q@gridtracker.org> - 1.21.0928-1
|
||||
- First attempt at repo grade RPM builds
|
|
@ -1,66 +0,0 @@
|
|||
# Build with the following syntax:
|
||||
#
|
||||
# version=`node ./version.js`
|
||||
# rpmbuild -D "version ${version}" --build-in-place -bb --target x86_64 gridtracker.x86_64.spec
|
||||
|
||||
Name: gridtracker
|
||||
Summary: GridTracker: An amateur radio companion to WSJT-X or JTDX
|
||||
Version: %{version}
|
||||
Release: 1%{?dist}
|
||||
BuildArch: x86_64
|
||||
Source0: GridTracker-%{version}-linux-x64.tar.bz
|
||||
|
||||
License: BSD 3-Clause License
|
||||
URL: https://gridtracker.org
|
||||
Group: Science & Math
|
||||
Packager: Matthew Chambers
|
||||
# Requires: nwjs
|
||||
# BuildRequires: desktop-file-utils
|
||||
|
||||
%description
|
||||
GridTracker listens to traffic from WSJT-X/JTDX, displays it on a map,
|
||||
and has a sophisticated alerting and filtering system for finding and
|
||||
working interesting stations. It also will upload QSO records to multiple
|
||||
logging frameworks including Logbook of the World.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -n GridTracker
|
||||
|
||||
%build
|
||||
|
||||
|
||||
%install
|
||||
mkdir -p ${RPM_BUILD_ROOT}/usr/share/%{name}
|
||||
cp -aR dist/*-linux-x64/* ${RPM_BUILD_ROOT}/usr/share/%{name}/
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1
|
||||
cp -a %{name}.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_docdir}/%{name}
|
||||
cp -a LICENSE ${RPM_BUILD_ROOT}%{_docdir}/%{name}/
|
||||
mkdir -p ${RPM_BUILD_ROOT}/usr/share/applications
|
||||
cat > ${RPM_BUILD_ROOT}/usr/share/applications/%{name}.desktop << 'EOF'
|
||||
[Desktop Entry]
|
||||
Name=GridTracker
|
||||
Comment=GridTracker
|
||||
Exec=/usr/share/%{name}/GridTracker
|
||||
Icon=/usr/share/%{name}/gridtracker.png
|
||||
Path=/usr/share/%{name}
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
Terminal=false
|
||||
Categories=DataVisualization,Geography,Education;
|
||||
EOF
|
||||
|
||||
chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/GridTracker; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/lib; chmod 755 ${RPM_BUILD_ROOT}/usr/share/%{name}/locales
|
||||
find ${RPM_BUILD_ROOT}/usr/share/ -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod 755 {} +
|
||||
|
||||
# %check
|
||||
|
||||
# %clean
|
||||
|
||||
%files
|
||||
/usr/share/%{name}/
|
||||
/usr/share/applications/%{name}.desktop
|
||||
%{_datadir}/%{name}/
|
||||
%{_mandir}/man1/
|
||||
%license %{_docdir}/%{name}/
|
|
@ -13,7 +13,8 @@
|
|||
"test": "eslint package.nw",
|
||||
"lint-check": "eslint package.nw",
|
||||
"lint-fix": "eslint --fix package.nw",
|
||||
"dist-nix": "build --concurrent --tasks linux-x86,linux-x64,mac-x64 package.nw",
|
||||
"dist-nix": "build --concurrent --tasks linux-x86,linux-x64 package.nw",
|
||||
"dist-mac": "build --concurrent --tasks mac-x64 package.nw",
|
||||
"dist-win": "build --concurrent --tasks win-x86,win-x64 package.nw",
|
||||
"distsome": "build --debug --tasks linux-x64,mac-x64 package.nw",
|
||||
"start": "run package.nw",
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
"start": "run --mirror https://dl.nwjs.io/ ."
|
||||
},
|
||||
"build": {
|
||||
"nwVersion": "0.49.2",
|
||||
"nwVersion": "0.54.0",
|
||||
"output": "../dist/.",
|
||||
"targets": [
|
||||
"zip",
|
||||
|
|
Ładowanie…
Reference in New Issue