Compare commits
8 Commits
Author | SHA1 | Date |
---|---|---|
tastytea | 733aad9903 | |
tastytea | 3a8b8c715a | |
tastytea | b19e8b233a | |
tastytea | bc6444747d | |
tastytea | ea9755bf9a | |
tastytea | 774c1685af | |
tastytea | 9067b9dc91 | |
tastytea | 11b88aaf3d |
404
.drone.yml
404
.drone.yml
|
@ -1,185 +1,223 @@
|
||||||
pipeline:
|
kind: pipeline
|
||||||
gcc6:
|
name: build x86_64
|
||||||
image: ubuntu:xenial
|
|
||||||
pull: true
|
|
||||||
environment:
|
|
||||||
- LANG=C.utf8
|
|
||||||
- CXX=g++-6
|
|
||||||
- CXXFLAGS=-pipe -O2
|
|
||||||
commands:
|
|
||||||
- rm /etc/apt/apt.conf.d/docker-clean
|
|
||||||
- echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list
|
|
||||||
- gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f
|
|
||||||
- gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add -
|
|
||||||
- apt-get update -q
|
|
||||||
- apt-get install -qy g++-6 cmake pkg-config
|
|
||||||
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
|
||||||
- apt-get install -qy dpkg-dev rpm file wget
|
|
||||||
- gpg --import /var/autosign_gpg.key
|
|
||||||
- rm -rf build && mkdir -p build && cd build
|
|
||||||
- cmake -DCMAKE_INSTALL_PREFIX=/usr ..
|
|
||||||
- make VERBOSE=1
|
|
||||||
- make install DESTDIR=install
|
|
||||||
- make package
|
|
||||||
- cmake -DWITH_DEB=ON ..
|
|
||||||
- make package
|
|
||||||
- cmake -DWITH_DEB=OFF -DWITH_RPM=ON ..
|
|
||||||
- make package
|
|
||||||
- gpg --verbose --detach-sign *.tar.gz
|
|
||||||
- gpg --verbose --detach-sign *.deb
|
|
||||||
- gpg --verbose --detach-sign *.rpm
|
|
||||||
volumes:
|
|
||||||
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
|
||||||
- /home/tastytea/misc/autosign_gpg.key:/var/autosign_gpg.key
|
|
||||||
|
|
||||||
gcc7:
|
volumes:
|
||||||
image: debian:stretch-slim
|
- name: debian-package-cache
|
||||||
pull: true
|
host:
|
||||||
when:
|
path: /var/cache/debian-package-cache
|
||||||
event: [push, pull_request]
|
|
||||||
environment:
|
|
||||||
- LANG=C.utf8
|
|
||||||
- CXX=g++-7
|
|
||||||
- CXXFLAGS=-pipe -O2
|
|
||||||
commands:
|
|
||||||
- rm /etc/apt/apt.conf.d/docker-clean
|
|
||||||
- apt-get update -q
|
|
||||||
- echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release
|
|
||||||
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/backports.list
|
|
||||||
- echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list
|
|
||||||
- apt-get install -qy gnupg
|
|
||||||
- gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f
|
|
||||||
- gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add -
|
|
||||||
- apt-get update -q
|
|
||||||
- apt-get install -qy -t xenial g++-7
|
|
||||||
- apt-get install -qy cmake pkg-config
|
|
||||||
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
|
||||||
- rm -rf build && mkdir -p build && cd build
|
|
||||||
- cmake ..
|
|
||||||
- make VERBOSE=1
|
|
||||||
- make install DESTDIR=install
|
|
||||||
volumes:
|
|
||||||
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
|
||||||
|
|
||||||
gcc8:
|
trigger:
|
||||||
image: debian:stretch-slim
|
event:
|
||||||
pull: true
|
exclude:
|
||||||
when:
|
- tag
|
||||||
event: [push, pull_request]
|
|
||||||
environment:
|
|
||||||
- LANG=C.utf8
|
|
||||||
- CXX=g++-8
|
|
||||||
- CXXFLAGS=-pipe -O2
|
|
||||||
commands:
|
|
||||||
- rm /etc/apt/apt.conf.d/docker-clean
|
|
||||||
- apt-get update -q
|
|
||||||
- echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release
|
|
||||||
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/backports.list
|
|
||||||
- echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list
|
|
||||||
- apt-get install -qy gnupg
|
|
||||||
- gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f
|
|
||||||
- gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add -
|
|
||||||
- apt-get update -q
|
|
||||||
- apt-get install -qy -t xenial g++-8
|
|
||||||
- apt-get install -qy cmake pkg-config
|
|
||||||
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
|
||||||
- rm -rf build && mkdir -p build && cd build
|
|
||||||
- cmake ..
|
|
||||||
- make VERBOSE=1
|
|
||||||
- make install DESTDIR=install
|
|
||||||
volumes:
|
|
||||||
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
|
||||||
|
|
||||||
clang3:
|
steps:
|
||||||
image: debian:stretch-slim
|
- name: submodules
|
||||||
pull: true
|
image: docker:git
|
||||||
when:
|
commands:
|
||||||
event: [push, pull_request]
|
- git submodule init
|
||||||
environment:
|
- git submodule update --recursive
|
||||||
- LANG=C.utf8
|
|
||||||
- CXX=clang++
|
|
||||||
- CXXFLAGS=-pipe -O2
|
|
||||||
commands:
|
|
||||||
- rm /etc/apt/apt.conf.d/docker-clean
|
|
||||||
- echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release
|
|
||||||
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/backports.list
|
|
||||||
- apt-get update -q
|
|
||||||
- apt-get install -qy clang cmake pkg-config
|
|
||||||
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
|
||||||
- rm -rf build && mkdir -p build && cd build
|
|
||||||
- cmake ..
|
|
||||||
- make VERBOSE=1
|
|
||||||
- make install DESTDIR=install
|
|
||||||
volumes:
|
|
||||||
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
|
||||||
|
|
||||||
clang5:
|
- name: gcc6
|
||||||
image: debian:stretch-slim
|
image: ubuntu:xenial
|
||||||
pull: true
|
pull: always
|
||||||
when:
|
environment:
|
||||||
event: [push, pull_request]
|
CXX: g++-6
|
||||||
environment:
|
CXXFLAGS: -pipe -O2
|
||||||
- LANG=C.utf8
|
commands:
|
||||||
- CXX=clang++-5.0
|
- rm /etc/apt/apt.conf.d/docker-clean
|
||||||
- CXXFLAGS=-pipe -O2
|
- echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list
|
||||||
commands:
|
- gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f
|
||||||
- rm /etc/apt/apt.conf.d/docker-clean
|
- gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add -
|
||||||
- echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release
|
- rm -f /var/cache/apt/archives/lock
|
||||||
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/stretch.list
|
- apt-get update -q
|
||||||
- apt-get update -q
|
- rm -f /var/cache/apt/archives/lock
|
||||||
- apt-get install -qy -t stretch-backports clang-5.0
|
- apt-get install -qy g++-6 cmake pkg-config
|
||||||
- apt-get install -qy cmake pkg-config
|
- rm -f /var/cache/apt/archives/lock
|
||||||
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
||||||
- rm -rf build && mkdir -p build && cd build
|
- rm -rf build && mkdir -p build && cd build
|
||||||
- cmake ..
|
- cmake -DCMAKE_INSTALL_PREFIX=/usr ..
|
||||||
- make VERBOSE=1
|
- make VERBOSE=1
|
||||||
- make install DESTDIR=install
|
- make install DESTDIR=install
|
||||||
volumes:
|
volumes:
|
||||||
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
- name: debian-package-cache
|
||||||
|
path: /var/cache/apt/archives
|
||||||
|
|
||||||
clang6:
|
- name: gcc9
|
||||||
image: debian:stretch-slim
|
image: debian:stretch-slim
|
||||||
pull: true
|
pull: always
|
||||||
when:
|
environment:
|
||||||
event: [push, pull_request]
|
CXX: g++-9
|
||||||
environment:
|
CXXFLAGS: -pipe -O2
|
||||||
- LANG=C.utf8
|
commands:
|
||||||
- CXX=clang++-6.0
|
- rm /etc/apt/apt.conf.d/docker-clean
|
||||||
- CXXFLAGS=-pipe -O2
|
- rm -f /var/cache/apt/archives/lock
|
||||||
commands:
|
- apt-get update -q
|
||||||
- rm /etc/apt/apt.conf.d/docker-clean
|
- echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release
|
||||||
- echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release
|
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/backports.list
|
||||||
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/stretch.list
|
- echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list
|
||||||
- apt-get update -q
|
- rm -f /var/cache/apt/archives/lock
|
||||||
- apt-get install -qy -t stretch-backports clang-6.0
|
- apt-get install -qy gnupg
|
||||||
- apt-get install -qy cmake pkg-config
|
- gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f
|
||||||
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
- gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add -
|
||||||
- rm -rf build && mkdir -p build && cd build
|
- rm -f /var/cache/apt/archives/lock
|
||||||
- cmake ..
|
- apt-get update -q
|
||||||
- make VERBOSE=1
|
- rm -f /var/cache/apt/archives/lock
|
||||||
- make install DESTDIR=install
|
- apt-get install -qy -t xenial g++-9
|
||||||
volumes:
|
- rm -f /var/cache/apt/archives/lock
|
||||||
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
- apt-get install -qy cmake pkg-config
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
||||||
|
- rm -rf build && mkdir -p build && cd build
|
||||||
|
- cmake ..
|
||||||
|
- make VERBOSE=1
|
||||||
|
- make install DESTDIR=install
|
||||||
|
volumes:
|
||||||
|
- name: debian-package-cache
|
||||||
|
path: /var/cache/apt/archives
|
||||||
|
|
||||||
prepare_release:
|
- name: clang3
|
||||||
image: ubuntu:xenial
|
image: debian:stretch-slim
|
||||||
pull: true
|
pull: always
|
||||||
when:
|
environment:
|
||||||
event: tag
|
CXX: clang++
|
||||||
commands:
|
CXXFLAGS: -pipe -O2
|
||||||
- cp -v build/whyblocked-${DRONE_TAG}_x86_64.tar.gz .
|
commands:
|
||||||
- cp -v build/whyblocked-${DRONE_TAG}_x86_64.tar.gz.sig .
|
- rm /etc/apt/apt.conf.d/docker-clean
|
||||||
- cp -v build/whyblocked_${DRONE_TAG}-0_amd64.deb .
|
- echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release
|
||||||
- cp -v build/whyblocked_${DRONE_TAG}-0_amd64.deb.sig .
|
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/backports.list
|
||||||
- cp -v build/whyblocked-${DRONE_TAG}-0.x86_64.rpm .
|
- rm -f /var/cache/apt/archives/lock
|
||||||
- cp -v build/whyblocked-${DRONE_TAG}-0.x86_64.rpm.sig .
|
- apt-get update -q
|
||||||
gitea_release:
|
- rm -f /var/cache/apt/archives/lock
|
||||||
image: plugins/gitea-release
|
- apt-get install -qy clang cmake pkg-config
|
||||||
pull: true
|
- rm -f /var/cache/apt/archives/lock
|
||||||
when:
|
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
||||||
event: tag
|
- rm -rf build && mkdir -p build && cd build
|
||||||
|
- cmake ..
|
||||||
|
- make VERBOSE=1
|
||||||
|
- make install DESTDIR=install
|
||||||
|
volumes:
|
||||||
|
- name: debian-package-cache
|
||||||
|
path: /var/cache/apt/archives
|
||||||
|
|
||||||
|
- name: clang6
|
||||||
|
image: debian:stretch-slim
|
||||||
|
pull: always
|
||||||
|
environment:
|
||||||
|
CXX: clang++-6.0
|
||||||
|
CXXFLAGS: -pipe -O2
|
||||||
|
commands:
|
||||||
|
- rm /etc/apt/apt.conf.d/docker-clean
|
||||||
|
- echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release
|
||||||
|
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/stretch.list
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get update -q
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get install -qy -t stretch-backports clang-6.0
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get install -qy cmake pkg-config
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
||||||
|
- rm -rf build && mkdir -p build && cd build
|
||||||
|
- cmake ..
|
||||||
|
- make VERBOSE=1
|
||||||
|
- make install DESTDIR=install
|
||||||
|
volumes:
|
||||||
|
- name: debian-package-cache
|
||||||
|
path: /var/cache/apt/archives
|
||||||
|
|
||||||
|
- name: notify
|
||||||
|
image: drillster/drone-email
|
||||||
|
pull: always
|
||||||
|
settings:
|
||||||
|
host: cryptoparty-celle.de
|
||||||
|
username:
|
||||||
|
from_secret: email_username
|
||||||
|
password:
|
||||||
|
from_secret: email_password
|
||||||
|
from: drone@tzend.de
|
||||||
|
when:
|
||||||
|
status: [ changed, failure ]
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: packages x86_64
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: debian-package-cache
|
||||||
|
host:
|
||||||
|
path: /var/cache/debian-package-cache
|
||||||
|
- name: gpg-key
|
||||||
|
host:
|
||||||
|
path: /var/autosign_gpg.key
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: submodules
|
||||||
|
image: docker:git
|
||||||
|
commands:
|
||||||
|
- git submodule init
|
||||||
|
- git submodule update --recursive
|
||||||
|
|
||||||
|
- name: gcc6
|
||||||
|
image: ubuntu:xenial
|
||||||
|
pull: always
|
||||||
|
environment:
|
||||||
|
CXX: g++-6
|
||||||
|
CXXFLAGS: -pipe -O2
|
||||||
|
commands:
|
||||||
|
- rm /etc/apt/apt.conf.d/docker-clean
|
||||||
|
- echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list
|
||||||
|
- gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f
|
||||||
|
- gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add -
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get update -q
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get install -qy g++-6 cmake pkg-config
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get install -qy libvsqlitepp-dev libboost-dev libxdg-basedir-dev qt5-default qttools5-dev-tools qttools5-dev libconfig++-dev asciidoc
|
||||||
|
- rm -f /var/cache/apt/archives/lock
|
||||||
|
- apt-get install -qy dpkg-dev rpm file wget
|
||||||
|
- gpg --import /var/autosign_gpg.key
|
||||||
|
- rm -rf build && mkdir -p build && cd build
|
||||||
|
- cmake -DCMAKE_INSTALL_PREFIX=/usr ..
|
||||||
|
- make VERBOSE=1
|
||||||
|
- make install DESTDIR=install
|
||||||
|
- make package
|
||||||
|
- cmake -DWITH_DEB=ON ..
|
||||||
|
- make package
|
||||||
|
- cmake -DWITH_DEB=OFF -DWITH_RPM=ON ..
|
||||||
|
- make package
|
||||||
|
- gpg --verbose --detach-sign *.tar.gz
|
||||||
|
- gpg --verbose --detach-sign *.deb
|
||||||
|
- gpg --verbose --detach-sign *.rpm
|
||||||
|
volumes:
|
||||||
|
- name: debian-package-cache
|
||||||
|
path: /var/cache/apt/archives
|
||||||
|
- name: gpg-key
|
||||||
|
path: /var/autosign_gpg.key
|
||||||
|
|
||||||
|
- name: prepare_release
|
||||||
|
image: ubuntu:xenial
|
||||||
|
pull: always
|
||||||
|
commands:
|
||||||
|
- cp -v build/whyblocked-${DRONE_TAG}_x86_64.tar.gz .
|
||||||
|
- cp -v build/whyblocked-${DRONE_TAG}_x86_64.tar.gz.sig .
|
||||||
|
- cp -v build/whyblocked_${DRONE_TAG}-0_amd64.deb .
|
||||||
|
- cp -v build/whyblocked_${DRONE_TAG}-0_amd64.deb.sig .
|
||||||
|
- cp -v build/whyblocked-${DRONE_TAG}-0.x86_64.rpm .
|
||||||
|
- cp -v build/whyblocked-${DRONE_TAG}-0.x86_64.rpm.sig .
|
||||||
|
|
||||||
|
- name: release
|
||||||
|
image: plugins/gitea-release
|
||||||
|
pull: always
|
||||||
|
settings:
|
||||||
base_url: https://schlomp.space
|
base_url: https://schlomp.space
|
||||||
secrets: [ gitea_token ]
|
api_key:
|
||||||
|
from_secret: gitea_token
|
||||||
title: ${DRONE_TAG}
|
title: ${DRONE_TAG}
|
||||||
prerelease: true
|
prerelease: true
|
||||||
files:
|
files:
|
||||||
|
@ -193,11 +231,15 @@ pipeline:
|
||||||
- sha256
|
- sha256
|
||||||
- sha512
|
- sha512
|
||||||
|
|
||||||
notify:
|
- name: notify
|
||||||
image: drillster/drone-email
|
image: drillster/drone-email
|
||||||
pull: true
|
pull: always
|
||||||
|
settings:
|
||||||
host: cryptoparty-celle.de
|
host: cryptoparty-celle.de
|
||||||
secrets: [ email_username, email_password ]
|
username:
|
||||||
|
from_secret: email_username
|
||||||
|
password:
|
||||||
|
from_secret: email_password
|
||||||
from: drone@tzend.de
|
from: drone@tzend.de
|
||||||
when:
|
when:
|
||||||
status: [ changed, failure ]
|
status: [ changed, failure ]
|
||||||
|
|
|
@ -53,10 +53,15 @@ add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_PROJECT_NAME} whyblocked-gui)
|
COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_PROJECT_NAME} whyblocked-gui)
|
||||||
|
|
||||||
if(WITH_MAN)
|
if(WITH_MAN)
|
||||||
add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
|
add_custom_command(
|
||||||
|
OUTPUT "${PROJECT_BINARY_DIR}/whyblocked.1"
|
||||||
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
|
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
|
||||||
|
DEPENDS "${CMAKE_SOURCE_DIR}/whyblocked.1.adoc"
|
||||||
COMMAND ${CMAKE_SOURCE_DIR}/build_manpage.sh
|
COMMAND ${CMAKE_SOURCE_DIR}/build_manpage.sh
|
||||||
ARGS ${PROJECT_VERSION})
|
ARGS ${PROJECT_VERSION})
|
||||||
|
add_custom_target(run ALL
|
||||||
|
DEPENDS "${PROJECT_BINARY_DIR}/whyblocked.1"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS ${CMAKE_PROJECT_NAME}
|
install(TARGETS ${CMAKE_PROJECT_NAME}
|
||||||
|
|
37
README.md
37
README.md
|
@ -1,9 +1,9 @@
|
||||||
**Whyblocked** allows you to store the reason why you blocked someone, along
|
**Whyblocked** allows you to store the reason why you blocked someone, along
|
||||||
with "receipts", URLs to the posts that led you to block them.
|
with “receipts”, URLs to the posts that led you to block them.
|
||||||
|
|
||||||
It has a Qt-interface and uses an SQLite-database.
|
It has a Qt-interface and uses an SQLite-database.
|
||||||
|
|
||||||
![Screenshot Qt interface](https://doc.schlomp.space/whyblocked/whyblocked_screenshot.png)
|
![Screenshot](https://doc.schlomp.space/whyblocked/whyblocked_screenshot.png)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
@ -16,9 +16,12 @@ environment.
|
||||||
|
|
||||||
Every [release](https://schlomp.space/tastytea/whyblocked/releases) includes
|
Every [release](https://schlomp.space/tastytea/whyblocked/releases) includes
|
||||||
a .deb-package, an .rpm-package and a .tar.gz-package with precompiled binaries
|
a .deb-package, an .rpm-package and a .tar.gz-package with precompiled binaries
|
||||||
for x86_64(amd64) ([more info](https://schlomp.space/tastytea/whyblocked/wiki/Binary-Packages)). These are automatically built and not tested. You can install
|
for x86_64(amd64)
|
||||||
them with `dpkg -i` or `rpm -i`, respectively. The packages are signed with the
|
([more info](https://schlomp.space/tastytea/whyblocked/wiki/Binary-Packages)).
|
||||||
PGP key [242E5AC4DA587BF9](https://tastytea.de/tastytea_autosign.asc)
|
These are automatically built and not tested. You can install them with
|
||||||
|
`apt install ./whyblocked*.deb` or `yum install ./whyblocked*.rpm`,
|
||||||
|
respectively. The packages are signed with the PGP key
|
||||||
|
[242E5AC4DA587BF9](https://tastytea.de/tastytea_autosign.asc)
|
||||||
(Fingerprint: `F730 1ADF C9ED 2624 48C4 2B64 242E 5AC4 DA58 7BF9`).
|
(Fingerprint: `F730 1ADF C9ED 2624 48C4 2B64 242E 5AC4 DA58 7BF9`).
|
||||||
|
|
||||||
Gentoo ebuilds are available via my
|
Gentoo ebuilds are available via my
|
||||||
|
@ -28,32 +31,26 @@ Gentoo ebuilds are available via my
|
||||||
|
|
||||||
#### Dependencies
|
#### Dependencies
|
||||||
|
|
||||||
* C++ compiler (tested: [gcc](https://gcc.gnu.org/) 6/7/8,
|
* C++ compiler (tested: [gcc](https://gcc.gnu.org/) 6/8/9,
|
||||||
[clang](https://llvm.org/) 3/5/6)
|
[clang](https://llvm.org/) 3/6)
|
||||||
* [cmake](https://cmake.org/) (at least 3.2)
|
* [cmake](https://cmake.org/) (at least 3.2)
|
||||||
* [vsqlite++](http://vsqlite.virtuosic-bytes.com/) (tested: 0.3)
|
* [vsqlite++](http://vsqlite.virtuosic-bytes.com/) (tested: 0.3)
|
||||||
* [libxdg-basedir](http://repo.or.cz/w/libxdg-basedir.git) (tested: 1.2)
|
* [libxdg-basedir](http://repo.or.cz/w/libxdg-basedir.git) (tested: 1.2)
|
||||||
* [qtcore](https://www.qt.io/) (tested: 5.11/5.5)
|
* [qtcore](https://www.qt.io/) (tested: 5.12/5.5)
|
||||||
* [qtwidgets](https://www.qt.io/) (tested: 5.11/5.5)
|
* [qtwidgets](https://www.qt.io/) (tested: 5.12/5.5)
|
||||||
* [libconfig++](https://github.com/hyperrealm/libconfig) (tested: 1.5)
|
* [libconfig++](https://github.com/hyperrealm/libconfig) (tested: 1.5)
|
||||||
* Optional
|
* Optional
|
||||||
* Translations: [lupdate & lrelease](http://doc.qt.io/qt-5/linguist-manager.html) (tested: 5.11/5.5)
|
* Translations: [lupdate & lrelease](http://doc.qt.io/qt-5/linguist-manager.html) (tested: 5.12/5.5)
|
||||||
* Manpage: [asciidoc](http://asciidoc.org/) (tested: 8.6)
|
* Manpage: [asciidoc](http://asciidoc.org/) (tested: 8.6)
|
||||||
|
|
||||||
#### Get sourcecode
|
#### Get sourcecode
|
||||||
|
|
||||||
Download the current
|
Download the current
|
||||||
[release](https://schlomp.space/tastytea/whyblocked/releases) and copy
|
[release](https://schlomp.space/tastytea/whyblocked/releases).
|
||||||
[xdgcfg](https://schlomp.space/tastytea/xdgcfg) into `xdgcfg/`.
|
|
||||||
|
|
||||||
If you clone from git, be sure to `git submodule init` and
|
|
||||||
`git submodule update` afterwards. See the [submodules article in the git book]
|
|
||||||
(https://git-scm.com/book/en/v2/Git-Tools-Submodules#_cloning_submodules) for
|
|
||||||
further info.
|
|
||||||
|
|
||||||
#### Compile
|
#### Compile
|
||||||
|
|
||||||
```SH
|
``` zsh
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake ..
|
cmake ..
|
||||||
|
@ -92,14 +89,14 @@ Please report them on the
|
||||||
|
|
||||||
## Licence & Copyright
|
## Licence & Copyright
|
||||||
|
|
||||||
```PLAIN
|
``` plain
|
||||||
Copyright © 2018 tastytea <tastytea@tastytea.de>.
|
Copyright © 2018 tastytea <tastytea@tastytea.de>.
|
||||||
License GPLv3: GNU GPL version 3 <https://www.gnu.org/licenses/gpl-3.0.html>.
|
License GPLv3: GNU GPL version 3 <https://www.gnu.org/licenses/gpl-3.0.html>.
|
||||||
This program comes with ABSOLUTELY NO WARRANTY. This is free software,
|
This program comes with ABSOLUTELY NO WARRANTY. This is free software,
|
||||||
and you are welcome to redistribute it under certain conditions.
|
and you are welcome to redistribute it under certain conditions.
|
||||||
```
|
```
|
||||||
|
|
||||||
The icon is derived from the icons `messagebox critical` and `help` of the
|
The icon is derived from the icons *“messagebox critical”* and *“help”* of the
|
||||||
[Gartoon icon theme](https://commons.wikimedia.org/wiki/Gartoon_icons). The
|
[Gartoon icon theme](https://commons.wikimedia.org/wiki/Gartoon_icons). The
|
||||||
original authors were Zeus, Patrick Yavitz and La Mula Francis, who released
|
original authors were Zeus, Patrick Yavitz and La Mula Francis, who released
|
||||||
them under the terms of the
|
them under the terms of the
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* This file is part of whyblocked.
|
/* This file is part of whyblocked.
|
||||||
* Copyright © 2019 tastytea <tastytea@tastytea.de>
|
* Copyright © 2019, 2020 tastytea <tastytea@tastytea.de>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -14,21 +14,24 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <QTranslator>
|
|
||||||
#include <QLibraryInfo>
|
|
||||||
#include "mainwindow.hpp"
|
#include "mainwindow.hpp"
|
||||||
|
|
||||||
|
#include <QLibraryInfo>
|
||||||
|
#include <QLocale>
|
||||||
|
#include <QTranslator>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
QApplication app(argc, argv);
|
QApplication app(argc, argv);
|
||||||
QCoreApplication::setApplicationName("Whyblocked");
|
QCoreApplication::setApplicationName("Whyblocked");
|
||||||
|
|
||||||
QTranslator qtTranslator;
|
QTranslator qtTranslator;
|
||||||
qtTranslator.load("qt_" + QLocale::system().name(),
|
qtTranslator.load(QLocale(), "qt", "_",
|
||||||
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
||||||
|
|
||||||
app.installTranslator(&qtTranslator);
|
app.installTranslator(&qtTranslator);
|
||||||
QTranslator appTranslator;
|
QTranslator appTranslator;
|
||||||
appTranslator.load("whyblocked_" + QLocale::system().name(),
|
appTranslator.load(QLocale(), "whyblocked", "_",
|
||||||
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
||||||
app.installTranslator(&appTranslator);
|
app.installTranslator(&appTranslator);
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../xdgcfg/src/xdgcfg.cpp
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
/* Copyright © 2019 tastytea <tastytea@tastytea.de>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the BSD-3-Clause license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <basedir.h>
|
||||||
|
#include "xdgcfg.hpp"
|
||||||
|
|
||||||
|
xdgcfg::xdgcfg(const string &filename, const string &subdir)
|
||||||
|
: _cfg()
|
||||||
|
, _verbose(false)
|
||||||
|
{
|
||||||
|
xdgHandle xdg;
|
||||||
|
xdgInitHandle(&xdg);
|
||||||
|
_filepath = xdgConfigHome(&xdg);
|
||||||
|
xdgWipeHandle(&xdg);
|
||||||
|
|
||||||
|
if (!subdir.empty())
|
||||||
|
{
|
||||||
|
_filepath /= subdir;
|
||||||
|
}
|
||||||
|
if (!fs::exists(_filepath))
|
||||||
|
{
|
||||||
|
fs::create_directories(_filepath);
|
||||||
|
}
|
||||||
|
_filepath /= filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t xdgcfg::read()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_cfg.readFile(_filepath.c_str());
|
||||||
|
}
|
||||||
|
catch (const libconfig::FileIOException &e)
|
||||||
|
{
|
||||||
|
if (_verbose)
|
||||||
|
{
|
||||||
|
cerr << "I/O error while reading " << _filepath
|
||||||
|
<< " - " << e.what() << endl;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
catch (const libconfig::ParseException &e)
|
||||||
|
{
|
||||||
|
if (_verbose)
|
||||||
|
{
|
||||||
|
cerr << "Parse error at " << e.getFile() << ":" << e.getLine()
|
||||||
|
<< " - " << e.getError() << endl;
|
||||||
|
}
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool xdgcfg::write()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_cfg.writeFile(_filepath.c_str());
|
||||||
|
}
|
||||||
|
catch (const libconfig::FileIOException &e)
|
||||||
|
{
|
||||||
|
if (_verbose)
|
||||||
|
{
|
||||||
|
cerr << "I/O error while writing " << _filepath
|
||||||
|
<< " - " << e.what() << endl;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
libconfig::Config &xdgcfg::get_cfg()
|
||||||
|
{
|
||||||
|
return _cfg;
|
||||||
|
}
|
||||||
|
|
||||||
|
const fs::path xdgcfg::get_filepath() const
|
||||||
|
{
|
||||||
|
return _filepath;
|
||||||
|
}
|
||||||
|
|
||||||
|
void xdgcfg::set_verbose(bool verbose)
|
||||||
|
{
|
||||||
|
_verbose = verbose;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool xdgcfg::get_verbose() const
|
||||||
|
{
|
||||||
|
return _verbose;
|
||||||
|
}
|
|
@ -1 +0,0 @@
|
||||||
../xdgcfg/src/xdgcfg.hpp
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
/* Copyright © 2019 tastytea <tastytea@tastytea.de>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the BSD-3-Clause license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef XDGCFG_HPP
|
||||||
|
#define XDGCFG_HPP
|
||||||
|
|
||||||
|
#if __cplusplus >= 201703L
|
||||||
|
#include <filesystem>
|
||||||
|
#else
|
||||||
|
#include <experimental/filesystem>
|
||||||
|
#endif
|
||||||
|
#include <string>
|
||||||
|
#include <iostream>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <libconfig.h++>
|
||||||
|
|
||||||
|
#if __cplusplus >= 201703L
|
||||||
|
namespace fs = std::filesystem;
|
||||||
|
#else
|
||||||
|
namespace fs = std::experimental::filesystem;
|
||||||
|
#endif
|
||||||
|
using std::string;
|
||||||
|
using std::uint8_t;
|
||||||
|
using std::cerr;
|
||||||
|
using std::endl;
|
||||||
|
|
||||||
|
class xdgcfg
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/*!
|
||||||
|
* @brief Checks if subdir is present, creates it if necessary
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* @code
|
||||||
|
* xdgcfg config("test.cfg", "subdirectory");
|
||||||
|
* @endcode
|
||||||
|
*
|
||||||
|
* @param filename The name of the file, including extension
|
||||||
|
* @param subdir The subdir (optional)
|
||||||
|
*/
|
||||||
|
explicit xdgcfg(const string &filename, const string &subdir = "");
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Read the file
|
||||||
|
*
|
||||||
|
* @return 0 on success, 1 on I/O error, 2 on parse error.
|
||||||
|
*/
|
||||||
|
uint8_t read();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Write the file
|
||||||
|
*
|
||||||
|
* @return `true` on success
|
||||||
|
*/
|
||||||
|
bool write();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Returns a reference to the config as libconfig::Config
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* @code
|
||||||
|
* libconfig::Config &cfg = config.get_cfg();
|
||||||
|
* @endcode
|
||||||
|
*/
|
||||||
|
libconfig::Config &get_cfg();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Returns the complete filepath
|
||||||
|
*/
|
||||||
|
const fs::path get_filepath() const;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Sets verbosity
|
||||||
|
*/
|
||||||
|
void set_verbose(bool verbose);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Returns verbosity
|
||||||
|
*/
|
||||||
|
bool get_verbose() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
/*!
|
||||||
|
* Holds the contents of the CFG file
|
||||||
|
*/
|
||||||
|
libconfig::Config _cfg;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Complete filepath
|
||||||
|
*/
|
||||||
|
fs::path _filepath;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Print out error messages if true
|
||||||
|
*/
|
||||||
|
bool _verbose;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @example example.cpp
|
||||||
|
*/
|
||||||
|
|
||||||
|
#endif // XDGCFG_HPP
|
|
@ -1,7 +1,7 @@
|
||||||
= whyblocked(1)
|
= whyblocked(1)
|
||||||
:Author: tastytea
|
:Author: tastytea
|
||||||
:Email: tastytea@tastytea.de
|
:Email: tastytea@tastytea.de
|
||||||
:Date: 2019-01-20
|
:Date: 2019-04-12
|
||||||
:Revision: 0.0.0
|
:Revision: 0.0.0
|
||||||
:man source: Whyblocked
|
:man source: Whyblocked
|
||||||
:man version: {revision}
|
:man version: {revision}
|
||||||
|
@ -24,6 +24,14 @@ Apart from the obvious method, you can add entries by dropping the link to a
|
||||||
profile into the main window. In the "Add entry" dialog, you can add receipts by
|
profile into the main window. In the "Add entry" dialog, you can add receipts by
|
||||||
dropping links or text into the receipts list.
|
dropping links or text into the receipts list.
|
||||||
|
|
||||||
|
== FILES
|
||||||
|
|
||||||
|
- *Configuration file*: `${XDG_CONFIG_HOME}/whyblocked.cfg`
|
||||||
|
- *Database*: `${XDG_DATA_HOME}/whyblocked/database.sqlite`
|
||||||
|
|
||||||
|
`${XDG_CONFIG_HOME}` is usually `~/.config` and `${XDG_DATA_HOME}` is usually
|
||||||
|
`~/.local/share`
|
||||||
|
|
||||||
== REPORTING BUGS
|
== REPORTING BUGS
|
||||||
|
|
||||||
Bugtracker: https://schlomp.space/tastytea/whyblocked/issues
|
Bugtracker: https://schlomp.space/tastytea/whyblocked/issues
|
||||||
|
|
1
xdgcfg
1
xdgcfg
|
@ -1 +0,0 @@
|
||||||
Subproject commit e22f82fc6f1c40cda3d3ce5e671299f26f622528
|
|
Loading…
Reference in New Issue