From ce331924a4a1695a142cfb021bf5c8a13b8d4382 Mon Sep 17 00:00:00 2001 From: Jeremy Borgman Date: Wed, 14 Oct 2020 09:07:01 -0500 Subject: [PATCH] organizing files --- .github/workflows/Linux-pack.yml | 11 +- CMakeLists.txt | 6 +- .../org.flameshot.Flameshot.metainfo.xml | 0 .../package/org.flameshot.Flameshot.desktop | 0 {docs => data}/shell-completion/flameshot | 0 {data => packaging}/debian/changelog | 0 {data => packaging}/debian/compat | 0 {data => packaging}/debian/control | 0 {data => packaging}/debian/copyright | 0 {data => packaging}/debian/docs | 0 {data => packaging}/debian/rules | 0 {data => packaging}/debian/source/format | 0 .../flatpak/org.flameshot.Flameshot.yml | 0 {data => packaging}/rpm/flameshot.spec | 0 .../Bitmaps/CPACK_WIX_UI_BANNER.BMP | Bin .../Bitmaps/CPACK_WIX_UI_DIALOG.BMP | Bin .../win-installer/LICENSE/GPL-3.0.txt | 0 scripts/upload_services/transfer.sh.sh | 19 ---- snapcraft.yaml | 107 ++++++++++++++++++ src/CMakeLists.txt | 9 +- 20 files changed, 120 insertions(+), 32 deletions(-) rename {docs => data}/appdata/org.flameshot.Flameshot.metainfo.xml (100%) rename {docs => data}/desktopEntry/package/org.flameshot.Flameshot.desktop (100%) rename {docs => data}/shell-completion/flameshot (100%) rename {data => packaging}/debian/changelog (100%) rename {data => packaging}/debian/compat (100%) rename {data => packaging}/debian/control (100%) rename {data => packaging}/debian/copyright (100%) rename {data => packaging}/debian/docs (100%) rename {data => packaging}/debian/rules (100%) rename {data => packaging}/debian/source/format (100%) rename {data => packaging}/flatpak/org.flameshot.Flameshot.yml (100%) rename {data => packaging}/rpm/flameshot.spec (100%) rename {data => packaging}/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP (100%) rename {data => packaging}/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP (100%) rename {data => packaging}/win-installer/LICENSE/GPL-3.0.txt (100%) delete mode 100644 scripts/upload_services/transfer.sh.sh create mode 100644 snapcraft.yaml diff --git a/.github/workflows/Linux-pack.yml b/.github/workflows/Linux-pack.yml index b37b6382..eb367711 100644 --- a/.github/workflows/Linux-pack.yml +++ b/.github/workflows/Linux-pack.yml @@ -76,7 +76,7 @@ jobs: path: tools - name: Packaging on ${{ matrix.dist.name }} run: | - cp -r $GITHUB_WORKSPACE/data/debian $GITHUB_WORKSPACE + cp -r $GITHUB_WORKSPACE/packaging/debian $GITHUB_WORKSPACE bash $GITHUB_WORKSPACE/tools/packpack mv $GITHUB_WORKSPACE/build/${PRODUCT}_${VERSION}-${RELEASE}_amd64.deb $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-${RELEASE}.${{ matrix.dist.name }}.amd64.deb env: @@ -165,7 +165,7 @@ jobs: echo "=========================" - name: Packaging on ubuntu-18.04 run: | - cp -r $GITHUB_WORKSPACE/data/debian $GITHUB_WORKSPACE + cp -r $GITHUB_WORKSPACE/packaging/debian $GITHUB_WORKSPACE mkdir -p $GITHUB_WORKSPACE/build sed -e "/cmake (>= 3.13~),/d" -i $GITHUB_WORKSPACE/debian/control dpkg-buildpackage -b @@ -243,7 +243,7 @@ jobs: path: tools - name: Packaging on ${{ matrix.dist.name }} run: | - cp -r $GITHUB_WORKSPACE/data/rpm $GITHUB_WORKSPACE + cp -r $GITHUB_WORKSPACE/packaging/rpm $GITHUB_WORKSPACE bash $GITHUB_WORKSPACE/tools/packpack env: OS: ${{ matrix.dist.os }} @@ -439,7 +439,7 @@ jobs: - name: Packaging flatpak run: | BUNDLE="org.flameshot.Flameshot_${VERSION}_${ARCH}.flatpak" - MANIFEST_PATH=$GITHUB_WORKSPACE/data/flatpak/org.flameshot.Flameshot.yml + MANIFEST_PATH=$GITHUB_WORKSPACE/packaging/flatpak/org.flameshot.Flameshot.yml RUNTIME_REPO="https://flathub.org/repo/flathub.flatpakrepo" APP_ID="org.flameshot.Flameshot" BRANCH="master" @@ -494,11 +494,10 @@ jobs: echo "Details: ${last_committed_tag}+git${git_revno}.${git_hash}" echo "================================" echo ::set-env name=VERSION::$(echo ${last_committed_tag:1}) + - name: Packaging snap uses: snapcore/action-build@v1 id: snapcraft - with: - path: data - name: Rename snap name shell: bash run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a3bfc17..bf6f2fa2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,15 +82,15 @@ if(WIN32) # Supported languages can be found at # http://wixtoolset.org/documentation/manual/v3/wixui/wixui_localization.html #set(CPACK_WIX_CULTURES "ar-SA,bg-BG,ca-ES,hr-HR,cs-CZ,da-DK,nl-NL,en-US,et-EE,fi-FI,fr-FR,de-DE") - set(CPACK_WIX_UI_BANNER "${CMAKE_SOURCE_DIR}/data/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP") - set(CPACK_WIX_UI_DIALOG "${CMAKE_SOURCE_DIR}/data/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP") + set(CPACK_WIX_UI_BANNER "${CMAKE_SOURCE_DIR}/packaging/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP") + set(CPACK_WIX_UI_DIALOG "${CMAKE_SOURCE_DIR}/packaging/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP") set(CPACK_WIX_PROPERTY_ARPHELPLINK "${CPACK_PACKAGE_HOMEPAGE_URL}") set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${CPACK_PACKAGE_HOMEPAGE_URL}") set(CPACK_WIX_ROOT_FEATURE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high") # set high compression - set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/data/win-installer/LICENSE/GPL-3.0.txt") + set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/packaging/win-installer/LICENSE/GPL-3.0.txt") set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") # The correct way would be to include both x32 and x64 into one installer diff --git a/docs/appdata/org.flameshot.Flameshot.metainfo.xml b/data/appdata/org.flameshot.Flameshot.metainfo.xml similarity index 100% rename from docs/appdata/org.flameshot.Flameshot.metainfo.xml rename to data/appdata/org.flameshot.Flameshot.metainfo.xml diff --git a/docs/desktopEntry/package/org.flameshot.Flameshot.desktop b/data/desktopEntry/package/org.flameshot.Flameshot.desktop similarity index 100% rename from docs/desktopEntry/package/org.flameshot.Flameshot.desktop rename to data/desktopEntry/package/org.flameshot.Flameshot.desktop diff --git a/docs/shell-completion/flameshot b/data/shell-completion/flameshot similarity index 100% rename from docs/shell-completion/flameshot rename to data/shell-completion/flameshot diff --git a/data/debian/changelog b/packaging/debian/changelog similarity index 100% rename from data/debian/changelog rename to packaging/debian/changelog diff --git a/data/debian/compat b/packaging/debian/compat similarity index 100% rename from data/debian/compat rename to packaging/debian/compat diff --git a/data/debian/control b/packaging/debian/control similarity index 100% rename from data/debian/control rename to packaging/debian/control diff --git a/data/debian/copyright b/packaging/debian/copyright similarity index 100% rename from data/debian/copyright rename to packaging/debian/copyright diff --git a/data/debian/docs b/packaging/debian/docs similarity index 100% rename from data/debian/docs rename to packaging/debian/docs diff --git a/data/debian/rules b/packaging/debian/rules similarity index 100% rename from data/debian/rules rename to packaging/debian/rules diff --git a/data/debian/source/format b/packaging/debian/source/format similarity index 100% rename from data/debian/source/format rename to packaging/debian/source/format diff --git a/data/flatpak/org.flameshot.Flameshot.yml b/packaging/flatpak/org.flameshot.Flameshot.yml similarity index 100% rename from data/flatpak/org.flameshot.Flameshot.yml rename to packaging/flatpak/org.flameshot.Flameshot.yml diff --git a/data/rpm/flameshot.spec b/packaging/rpm/flameshot.spec similarity index 100% rename from data/rpm/flameshot.spec rename to packaging/rpm/flameshot.spec diff --git a/data/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP b/packaging/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP similarity index 100% rename from data/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP rename to packaging/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP diff --git a/data/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP b/packaging/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP similarity index 100% rename from data/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP rename to packaging/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP diff --git a/data/win-installer/LICENSE/GPL-3.0.txt b/packaging/win-installer/LICENSE/GPL-3.0.txt similarity index 100% rename from data/win-installer/LICENSE/GPL-3.0.txt rename to packaging/win-installer/LICENSE/GPL-3.0.txt diff --git a/scripts/upload_services/transfer.sh.sh b/scripts/upload_services/transfer.sh.sh deleted file mode 100644 index 082ac8c4..00000000 --- a/scripts/upload_services/transfer.sh.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -URL="https://transfer.sh" - -if [ $# -eq 0 ]; then - echo "Usage: transfer.sh FILE\n" - exit 1 -fi - -FILE=$1 - -if [ ! -f "$FILE" ]; then - echo "File ${FILE} not found" - exit 1 -fi - -RESPONSE=$(curl -# -F "file=@${FILE}" "${URL}") - -echo "${RESPONSE}" # to terminal \ No newline at end of file diff --git a/snapcraft.yaml b/snapcraft.yaml new file mode 100644 index 00000000..a737fc9b --- /dev/null +++ b/snapcraft.yaml @@ -0,0 +1,107 @@ +--- + +name: flameshot +adopt-info: flameshot +base: core18 +summary: Powerful yet simple to use screenshot software +description: | + A powerful open source screenshot and annotation tool for Linux, Flameshot + has a varied set of markup tools available, which include Freehand drawing, + Lines, Arrows, Boxes, Circles, Highlighting, Blur. Additionally, you can + customise the color, size and/or thickness of many of these image annotation + tools. +grade: stable # must be 'stable' to release into candidate/stable channels +confinement: strict # use 'strict' once you have the right plugs and slots +#confinement: devmode # use 'strict' once you have the right plugs and slots +architectures: + - build-on: amd64 + - build-on: i386 + + +apps: + flameshot: + command: flameshot + desktop: usr/share/applications/org.flameshot.Flameshot.desktop + extensions: + - kde-neon + environment: + DISABLE_WAYLAND: 1 + XDG_DATA_DIRS: $SNAP/share:$XDG_DATA_DIRS + QT_QPA_PLATFORMTHEME: gtk3 + slots: [dbus-flameshot] + plugs: + - kde-frameworks-5-plug + - home + - removable-media + - network + - network-bind + - opengl + - pulseaudio + - wayland + - unity7 + - x11 + +parts: + flameshot: + build-snaps: + - kde-frameworks-5-core18-sdk + - kde-frameworks-5-core18 + - cmake #core18 does not have new enough cmake so install from snap + plugin: cmake + configflags: + - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' + - '-DCMAKE_INSTALL_PREFIX=/usr' + source: https://github.com/flameshot-org/flameshot.git + source-type: git + override-pull: | + snapcraftctl pull + last_committed_tag="$(git tag -l --sort=-v:refname | head -1)" + git_revno="$(git rev-list $(git describe --tags --abbrev=0)..HEAD --count)" + git_hash="$(git rev-parse --short HEAD)" + snapcraftctl set-version "${last_committed_tag}+git${git_revno}.${git_hash}" + override-build: | + snapcraftctl build + # Correct the Icon path + sed -i 's|^Exec=flameshot|Exec=/snap/bin/org.flameshot.Flameshot|' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/org.flameshot.Flameshot.desktop + sed -i 's|^Icon=.*|Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/org.flameshot.Flameshot.svg|' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/org.flameshot.Flameshot.desktop + sed -i 's/^\(Name\(\[.\+\]\)\?=.*\)$/\1 (Snappy Edition)/g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/org.flameshot.Flameshot.desktop + build-packages: + - g++ + - make + - qt5-default + - qttools5-dev-tools + - libqt5svg5-dev + stage-packages: + - dbus-x11 + - libgtk2.0-0 + - openssl + - ca-certificates + - qtwayland5 + - libqt5dbus5 + - libqt5network5 + - libqt5core5a + - libqt5widgets5 + - libqt5gui5 + - libqt5svg5 + - libxkbcommon0 + - ttf-ubuntu-font-family + - dmz-cursor-theme + - light-themes + - adwaita-icon-theme + - gnome-themes-standard + - shared-mime-info + - libgdk-pixbuf2.0-0 + prime: + # libquazip5-1 pulls in Qt5 from bionic as a dependency. We don't + # want it in our snap, however, because we get a newer Qt5 from the + # kde-kf5 platform snap. + - "-usr/lib/x86_64-linux-gnu/libQt5*" + - "-usr/lib/x86_64-linux-gnu/libqt5*" +slots: + # Depending on in which environment we're running we either need + # to use the system or session DBus so we also need to have one + # slot for each. + dbus-flameshot: + interface: dbus + bus: session + name: org.flameshot.Flameshot diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ba9c917a..bde4e49b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -130,6 +130,7 @@ foreach(FILE ${QM_FILES}) COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${F_NAME} ${CMAKE_CURRENT_BINARY_DIR}/translations/${F_NAME}) endforeach() + # ###################################################################################################################### # Installation instructions @@ -143,16 +144,16 @@ install( RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) # Install desktop files, completion and dbus files -configure_file(${CMAKE_SOURCE_DIR}/docs/desktopEntry/package/org.flameshot.Flameshot.desktop +configure_file(${CMAKE_SOURCE_DIR}/data/desktopEntry/package/org.flameshot.Flameshot.desktop ${CMAKE_CURRENT_BINARY_DIR}/share/applications/org.flameshot.Flameshot.desktop COPYONLY) -configure_file(${CMAKE_SOURCE_DIR}/docs/appdata/org.flameshot.Flameshot.metainfo.xml +configure_file(${CMAKE_SOURCE_DIR}/data/appdata/org.flameshot.Flameshot.metainfo.xml ${CMAKE_CURRENT_BINARY_DIR}/share/metainfo/org.flameshot.Flameshot.metainfo.xml COPYONLY) -configure_file(${CMAKE_SOURCE_DIR}/docs/shell-completion/flameshot +configure_file(${CMAKE_SOURCE_DIR}/data/shell-completion/flameshot ${CMAKE_CURRENT_BINARY_DIR}/share/bash-completion/completions/flameshot COPYONLY) -configure_file(${CMAKE_SOURCE_DIR}/docs/shell-completion/flameshot +configure_file(${CMAKE_SOURCE_DIR}/data/shell-completion/flameshot ${CMAKE_CURRENT_BINARY_DIR}/share/zsh/site-functions/_flameshot COPYONLY) configure_file(${CMAKE_SOURCE_DIR}/data/dbus/org.flameshot.Flameshot.xml