From 36fe9fb89a27f41b40982128a020b9969c3420f5 Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Thu, 30 Jun 2022 23:04:24 +0300 Subject: [PATCH 1/3] Build Snapcraft packages IB-7219 Signed-off-by: Raul Metsma --- .github/workflows/build.yml | 14 ++++++++++++++ snapcraft.yaml | 30 ++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 snapcraft.yaml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ef975bd7..ac651918b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -199,6 +199,20 @@ jobs: path: | build/*.msi build/*.appx + snapcraft: + name: Build Snapcraft package + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + - uses: snapcore/action-build@v1 + - name: Archive artifacts + uses: actions/upload-artifact@v3 + with: + name: snap + path: ./*.snap coverity: name: Run Coverity tests if: github.repository == 'open-eid/DigiDoc4-Client' && contains(github.ref, 'coverity_scan') diff --git a/snapcraft.yaml b/snapcraft.yaml new file mode 100644 index 000000000..a1f13347e --- /dev/null +++ b/snapcraft.yaml @@ -0,0 +1,30 @@ +name: qdigidoc4 +base: core22 +version: 4.5.0 +summary: DigiDoc4 Client +description: DigiDoc4 Client +icon: client/images/Icon.svg +grade: devel +confinement: devmode + +package-repositories: + - type: apt + components: [main] + suites: [focal, jammy] + key-id: 16A4D8047F6FD921EE24D3F9E9AB214DC6C83D68 + key-server: hkp://keyserver.ubuntu.com:80 + url: https://installer.id.ee/media/ubuntu + +apps: + qdigidoc4: + command: usr/bin/qdigidoc4 + desktop: usr/share/applications/qdigidoc4.desktop + extensions: [kde-neon] + plugs: [home, network] + digidoc-tool: + command: usr/bin/digidoc-tool + +parts: + qdigidoc4: + plugin: nil + stage-packages: [qdigidoc4, opensc-pkcs11, libdigidocpp-tools] From d6741af65aba07e4ae2292b56cfe1720a087f790 Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Tue, 5 Jul 2022 10:35:14 +0300 Subject: [PATCH 2/3] Build Snapcraft packages from source IB-7219 Signed-off-by: Raul Metsma --- client/Application.cpp | 2 ++ snapcraft.yaml | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/client/Application.cpp b/client/Application.cpp index cee87c11a..5e78afcd6 100644 --- a/client/Application.cpp +++ b/client/Application.cpp @@ -80,6 +80,8 @@ class MacMenuBar {}; #include #endif +#include + using namespace std::chrono; const QStringList Application::CONTAINER_EXT { diff --git a/snapcraft.yaml b/snapcraft.yaml index a1f13347e..4261bd130 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -26,5 +26,10 @@ apps: parts: qdigidoc4: - plugin: nil - stage-packages: [qdigidoc4, opensc-pkcs11, libdigidocpp-tools] + plugin: cmake + source: . + stage-packages: [opensc-pkcs11, libdigidocpp-tools] + build-packages: [libdigidocpp-dev, libssl-dev, libpcsclite-dev, libldap2-dev, libflatbuffers-dev, zlib1g-dev] + cmake-parameters: + - -DCMAKE_INSTALL_PREFIX=/usr + - "-DCMAKE_FIND_ROOT_PATH=/usr\\;/snap/kf5-5-110-qt-5-15-11-core22-sdk/current" From 039a27c30e299effd11ac15cede520c2dde33f12 Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Tue, 5 Jul 2022 11:14:23 +0300 Subject: [PATCH 3/3] Build Snapcraft packages from source and libdigidocpp IB-7219 Signed-off-by: Raul Metsma --- .github/workflows/build.yml | 2 ++ snapcraft.yaml | 27 +++++++++++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac651918b..6710fa0b2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -208,6 +208,8 @@ jobs: with: submodules: recursive - uses: snapcore/action-build@v1 + - name: Cat logs + run: cat /home/runner/.local/state/snapcraft/log/snapcraft*.log - name: Archive artifacts uses: actions/upload-artifact@v3 with: diff --git a/snapcraft.yaml b/snapcraft.yaml index 4261bd130..2cdeeabda 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -7,13 +7,13 @@ icon: client/images/Icon.svg grade: devel confinement: devmode -package-repositories: - - type: apt - components: [main] - suites: [focal, jammy] - key-id: 16A4D8047F6FD921EE24D3F9E9AB214DC6C83D68 - key-server: hkp://keyserver.ubuntu.com:80 - url: https://installer.id.ee/media/ubuntu +#package-repositories: +# - type: apt +# components: [main] +# suites: [focal, jammy] +# key-id: 16A4D8047F6FD921EE24D3F9E9AB214DC6C83D68 +# key-server: hkp://keyserver.ubuntu.com:80 +# url: https://installer.id.ee/media/ubuntu apps: qdigidoc4: @@ -25,11 +25,18 @@ apps: command: usr/bin/digidoc-tool parts: + libdigidocpp: + plugin: cmake + source: https://github.com/open-eid/libdigidocpp.git + stage-packages: [libxalan-c112, libxerces-c3.2, libxml-security-c20] + build-packages: [g++, xxd, libxml-security-c-dev, libssl-dev, zlib1g-dev, xsdcxx] + cmake-parameters: [-DCMAKE_INSTALL_PREFIX=/usr, -DCMAKE_FIND_ROOT_PATH=/usr] qdigidoc4: plugin: cmake source: . - stage-packages: [opensc-pkcs11, libdigidocpp-tools] - build-packages: [libdigidocpp-dev, libssl-dev, libpcsclite-dev, libldap2-dev, libflatbuffers-dev, zlib1g-dev] + stage-packages: [opensc-pkcs11] + build-packages: [libssl-dev, libpcsclite-dev, libldap2-dev, libflatbuffers-dev] + after: [libdigidocpp] cmake-parameters: - -DCMAKE_INSTALL_PREFIX=/usr - - "-DCMAKE_FIND_ROOT_PATH=/usr\\;/snap/kf5-5-110-qt-5-15-11-core22-sdk/current" + - "-DCMAKE_FIND_ROOT_PATH=/usr\\;/root/stage\\;/snap/kf5-5-110-qt-5-15-11-core22-sdk/current"