From 8daba1bda9d05c0386d109c0c93eef8ea9f80cd6 Mon Sep 17 00:00:00 2001 From: darksider3 Date: Mon, 23 Apr 2018 13:14:17 +0200 Subject: [PATCH 1/5] Add lightscreen.spec to enable builds for (S)RPM --- pkg/RPM/lightscreen.spec | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 pkg/RPM/lightscreen.spec diff --git a/pkg/RPM/lightscreen.spec b/pkg/RPM/lightscreen.spec new file mode 100644 index 0000000..1bf00d5 --- /dev/null +++ b/pkg/RPM/lightscreen.spec @@ -0,0 +1,63 @@ +Name: lightscreen +Version: 2.4.git7782bd5 +Release: 1.5%{?dist} +Summary: Simple tool to automate the tedious process of saving and cataloging screenshots +URL: https://lightscreen.com.ar/ +License: GPLv2 + +%define lightscreenSHA 7782bd5d68a0c14b06873d3a04929816e337c8a3 +%define uglobSHA 231b10144741b29037f0128bb7a1cd7176529f74 +%define singleAppSHA c6378eec45a5fdf699b4d27fb4be22a190b2a184 +%define patch01SHA 6feb4628124f90f197886623c56278a1ab11ab91 +%define patch01LONG 6db935d8a54f67061f0841add8f392b9-6feb4628124f90f197886623c56278a1ab11ab91 + +Source0: https://github.com/ckaiser/Lightscreen/archive/%{lightscreenSHA}.zip +Source1: https://github.com/ckaiser/UGlobalHotkey/archive/%{uglobSHA}.zip +Source2: https://github.com/ckaiser/SingleApplication/archive/%{singleAppSHA}.zip +Source3: https://gist.github.com/Darksider3/6db935d8a54f67061f0841add8f392b9/archive/%{patch01SHA}.zip + +BuildRequires: qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtxmlpatterns-devel qt5-qtmultimedia-devel qt5-qtx11extras-devel +BuildRequires: make cmake dos2unix xcb-util-keysyms-devel +Requires: qt5-qtbase qt5-qtdeclarative qt5-qtxmlpatterns qt5-qtmultimedia qt5-qtx11extras xcb-util-keysyms + +%description +Lightscreen is a simple tool to automate the tedious process of saving and cataloging screenshots. + +%prep + cd %_sourcedir + unzip "%{patch01SHA}.zip" + unzip "%{lightscreenSHA}.zip" + unzip "%{uglobSHA}.zip" + unzip "%{singleAppSHA}.zip" + cp -r Lightscreen-%{lightscreenSHA} %{_builddir} + cp UGlobalHotkey-%{uglobSHA}/* "%{_builddir}"/"Lightscreen-%{lightscreenSHA}/tools/UGlobalHotkey" + cp SingleApplication-%{singleAppSHA}/* "%{_builddir}"/"Lightscreen-%{lightscreenSHA}/tools/SingleApplication" + +%build + cp "%{_sourcedir}/%{patch01LONG}/undef_success_x11.patch" "%{_builddir}/Lightscreen-%{lightscreenSHA}/tools/" + #Patch.... + cd "%{_builddir}/Lightscreen-%{lightscreenSHA}/tools" + unix2dos undef_success_x11.patch + patch --ignore-whitespace --binary screenshot.cpp < undef_success_x11.patch + cd "%{_builddir}/Lightscreen-%{lightscreenSHA}" + #build + qmake-qt5 + make + +%install + mkdir -p %{buildroot}/%{_bindir} + mkdir -p %{buildroot}/usr/share/pixmaps + install -p -m 0755 "%{_builddir}/Lightscreen-%{lightscreenSHA}/lightscreen" "%{buildroot}/%{_bindir}/lightscreen" + install -p -m 0775 "%{_builddir}/Lightscreen-%{lightscreenSHA}/images/LS.ico" "%{buildroot}/usr/share/pixmaps/lightscreen.ico" + #install -Dm775 "%{_builddir}/lightscreen.desktop" "%{buildroot}/usr/share/applications/lightscreen.desktop" + +%files + /usr/bin/lightscreen + /usr/share/pixmaps/lightscreen.ico +%changelog +* Sun Apr 22 2018 darksider3 - 2.4.git-1.5.1 +- remove redundant cd's +* Sun Apr 22 2018 darksider3 - 2.4.git-1.5 +- simplify trough variables! +* Sun Apr 22 2018 darksider3 - 2.4.git-1 +- initial package release From 93d210c26780ea345e2a3b088b41e5bb427bd0a1 Mon Sep 17 00:00:00 2001 From: darksider3 Date: Mon, 23 Apr 2018 19:26:28 +0200 Subject: [PATCH 2/5] update --- pkg/RPM/lightscreen.spec | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/pkg/RPM/lightscreen.spec b/pkg/RPM/lightscreen.spec index 1bf00d5..f396abc 100644 --- a/pkg/RPM/lightscreen.spec +++ b/pkg/RPM/lightscreen.spec @@ -1,24 +1,30 @@ Name: lightscreen Version: 2.4.git7782bd5 -Release: 1.5%{?dist} +Release: 1.6.1%{?dist} Summary: Simple tool to automate the tedious process of saving and cataloging screenshots URL: https://lightscreen.com.ar/ License: GPLv2 +BuildRequires: qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtxmlpatterns-devel qt5-qtmultimedia-devel qt5-qtx11extras-devel +BuildRequires: make cmake dos2unix xcb-util-keysyms-devel desktop-file-utils +Requires: qt5-qtbase qt5-qtdeclarative qt5-qtxmlpatterns qt5-qtmultimedia qt5-qtx11extras xcb-util-keysyms + + %define lightscreenSHA 7782bd5d68a0c14b06873d3a04929816e337c8a3 %define uglobSHA 231b10144741b29037f0128bb7a1cd7176529f74 %define singleAppSHA c6378eec45a5fdf699b4d27fb4be22a190b2a184 +#patch %define patch01SHA 6feb4628124f90f197886623c56278a1ab11ab91 %define patch01LONG 6db935d8a54f67061f0841add8f392b9-6feb4628124f90f197886623c56278a1ab11ab91 +#patchend + Source0: https://github.com/ckaiser/Lightscreen/archive/%{lightscreenSHA}.zip Source1: https://github.com/ckaiser/UGlobalHotkey/archive/%{uglobSHA}.zip Source2: https://github.com/ckaiser/SingleApplication/archive/%{singleAppSHA}.zip Source3: https://gist.github.com/Darksider3/6db935d8a54f67061f0841add8f392b9/archive/%{patch01SHA}.zip +Source4: https://raw.githubusercontent.com/Darksider3/lightscreen_rpm/master/lightscreen.desktop -BuildRequires: qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtxmlpatterns-devel qt5-qtmultimedia-devel qt5-qtx11extras-devel -BuildRequires: make cmake dos2unix xcb-util-keysyms-devel -Requires: qt5-qtbase qt5-qtdeclarative qt5-qtxmlpatterns qt5-qtmultimedia qt5-qtx11extras xcb-util-keysyms %description Lightscreen is a simple tool to automate the tedious process of saving and cataloging screenshots. @@ -29,12 +35,13 @@ Lightscreen is a simple tool to automate the tedious process of saving and catal unzip "%{lightscreenSHA}.zip" unzip "%{uglobSHA}.zip" unzip "%{singleAppSHA}.zip" - cp -r Lightscreen-%{lightscreenSHA} %{_builddir} + cp -r "Lightscreen-%{lightscreenSHA}" "%{_builddir}" cp UGlobalHotkey-%{uglobSHA}/* "%{_builddir}"/"Lightscreen-%{lightscreenSHA}/tools/UGlobalHotkey" cp SingleApplication-%{singleAppSHA}/* "%{_builddir}"/"Lightscreen-%{lightscreenSHA}/tools/SingleApplication" %build cp "%{_sourcedir}/%{patch01LONG}/undef_success_x11.patch" "%{_builddir}/Lightscreen-%{lightscreenSHA}/tools/" + cp "%{_sourcedir}/lightscreen.desktop" "%{_builddir}/Lightscreen-%{lightscreenSHA}/lightscreen.desktop" #Patch.... cd "%{_builddir}/Lightscreen-%{lightscreenSHA}/tools" unix2dos undef_success_x11.patch @@ -47,14 +54,35 @@ Lightscreen is a simple tool to automate the tedious process of saving and catal %install mkdir -p %{buildroot}/%{_bindir} mkdir -p %{buildroot}/usr/share/pixmaps + mkdir -p %{buildroot}/usr/share/applications install -p -m 0755 "%{_builddir}/Lightscreen-%{lightscreenSHA}/lightscreen" "%{buildroot}/%{_bindir}/lightscreen" install -p -m 0775 "%{_builddir}/Lightscreen-%{lightscreenSHA}/images/LS.ico" "%{buildroot}/usr/share/pixmaps/lightscreen.ico" - #install -Dm775 "%{_builddir}/lightscreen.desktop" "%{buildroot}/usr/share/applications/lightscreen.desktop" + desktop-file-install "%{_builddir}/Lightscreen-%{lightscreenSHA}/lightscreen.desktop" "%{buildroot}/usr/share/applications/lightscreen.desktop" + +%clean + rm -rf %{buildroot}/* + rm -rf %{_builddir}/* + # clean up sourecdir afterwards(but only directories, save downloaded files) + find %{_sourcedir} -maxdepth 1 -mindepth 1 -type d -exec rm -rf '{}' \; %files /usr/bin/lightscreen /usr/share/pixmaps/lightscreen.ico + /usr/share/applications/lightscreen.desktop + %changelog +* Mon Apr 23 2018 darksider3 - 2.4.git7782bd5-1.6.1 +- Added clean-target for makefile +- Added cleanup-routines(sourcedir,builddir,buildroot) +- Added makefile for building +- Remove unneccessary(hopefully) desktop-file-install from 'required' + for installation of the rpm file. And fix some intendantion aswell. + + +* Mon Apr 23 2018 darksider3 - 2.4.git7782bd5-1.6 +- Added Desktop File +- desktop-install-file routine +- added desktop file to files-section * Sun Apr 22 2018 darksider3 - 2.4.git-1.5.1 - remove redundant cd's * Sun Apr 22 2018 darksider3 - 2.4.git-1.5 From 5d9641f83dc1d9a85e990546d9bc9475d8efa2c8 Mon Sep 17 00:00:00 2001 From: darksider3 Date: Sat, 28 Apr 2018 22:53:55 +0200 Subject: [PATCH 3/5] Bump to (package version) 1.6.2 See changelog: * Wed Apr 25 2018 darksider3 - 1.6.2 - Change all Uppercase Lightscreen to name-variable - use uncompress-macro, not unzip - use S/P-macro instead of SHAs - use global instead of define - use __cp-macro instead of cp - use __install-macro instead of install - __make-macro instead of make - __mkdir_p-macro instead of mkdir-p - __patch-macro instead of patch - delete macro in comments - include README.md and LICENSE! - remove executable flag from doc-files. - reindent changelog --- pkg/RPM/lightscreen.spec | 117 +++++++++++++++++++++++++-------------- 1 file changed, 76 insertions(+), 41 deletions(-) diff --git a/pkg/RPM/lightscreen.spec b/pkg/RPM/lightscreen.spec index f396abc..24c3b45 100644 --- a/pkg/RPM/lightscreen.spec +++ b/pkg/RPM/lightscreen.spec @@ -1,8 +1,9 @@ -Name: lightscreen +Name: Lightscreen Version: 2.4.git7782bd5 -Release: 1.6.1%{?dist} -Summary: Simple tool to automate the tedious process of saving and cataloging screenshots +Release: 1.6.2%{?dist} +Summary: Simple tool to automate the tedious process of saving and cataloging screenshots. URL: https://lightscreen.com.ar/ +VCS: https://github.com/ckaiser/Lightscreen.git License: GPLv2 BuildRequires: qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtxmlpatterns-devel qt5-qtmultimedia-devel qt5-qtx11extras-devel @@ -10,82 +11,116 @@ BuildRequires: make cmake dos2unix xcb-util-keysyms-devel desktop-file-utils Requires: qt5-qtbase qt5-qtdeclarative qt5-qtxmlpatterns qt5-qtmultimedia qt5-qtx11extras xcb-util-keysyms -%define lightscreenSHA 7782bd5d68a0c14b06873d3a04929816e337c8a3 -%define uglobSHA 231b10144741b29037f0128bb7a1cd7176529f74 -%define singleAppSHA c6378eec45a5fdf699b4d27fb4be22a190b2a184 -#patch -%define patch01SHA 6feb4628124f90f197886623c56278a1ab11ab91 -%define patch01LONG 6db935d8a54f67061f0841add8f392b9-6feb4628124f90f197886623c56278a1ab11ab91 -#patchend - +%global lightscreenSHA 7782bd5d68a0c14b06873d3a04929816e337c8a3 +%global uglobSHA 231b10144741b29037f0128bb7a1cd7176529f74 +%global singleAppSHA c6378eec45a5fdf699b4d27fb4be22a190b2a184 Source0: https://github.com/ckaiser/Lightscreen/archive/%{lightscreenSHA}.zip Source1: https://github.com/ckaiser/UGlobalHotkey/archive/%{uglobSHA}.zip Source2: https://github.com/ckaiser/SingleApplication/archive/%{singleAppSHA}.zip -Source3: https://gist.github.com/Darksider3/6db935d8a54f67061f0841add8f392b9/archive/%{patch01SHA}.zip -Source4: https://raw.githubusercontent.com/Darksider3/lightscreen_rpm/master/lightscreen.desktop +Source3: https://raw.githubusercontent.com/Darksider3/lightscreen_rpm/master/lightscreen.desktop +#patch +%global patch01SHA 6feb4628124f90f197886623c56278a1ab11ab91 +%global patch01LONG 6db935d8a54f67061f0841add8f392b9-6feb4628124f90f197886623c56278a1ab11ab91 +#patchend +Patch0: https://gist.github.com/Darksider3/6db935d8a54f67061f0841add8f392b9/archive/%{patch01SHA}.zip + %description Lightscreen is a simple tool to automate the tedious process of saving and cataloging screenshots. + %prep cd %_sourcedir - unzip "%{patch01SHA}.zip" - unzip "%{lightscreenSHA}.zip" - unzip "%{uglobSHA}.zip" - unzip "%{singleAppSHA}.zip" - cp -r "Lightscreen-%{lightscreenSHA}" "%{_builddir}" - cp UGlobalHotkey-%{uglobSHA}/* "%{_builddir}"/"Lightscreen-%{lightscreenSHA}/tools/UGlobalHotkey" - cp SingleApplication-%{singleAppSHA}/* "%{_builddir}"/"Lightscreen-%{lightscreenSHA}/tools/SingleApplication" + %{uncompress: %{P:0}} #PATCH0 + %{uncompress: %{S:0}} #SOURCE0 + %{uncompress: %{S:1}} + %{uncompress: %{S:2}} + %{uncompress: %{S:3}} + %{__cp} -r "%{name}-%{lightscreenSHA}" "%{_builddir}" + %{__cp} UGlobalHotkey-%{uglobSHA}/* "%{_builddir}"/"%{name}-%{lightscreenSHA}/tools/UGlobalHotkey" + %{__cp} SingleApplication-%{singleAppSHA}/* "%{_builddir}"/"%{name}-%{lightscreenSHA}/tools/SingleApplication" + %build - cp "%{_sourcedir}/%{patch01LONG}/undef_success_x11.patch" "%{_builddir}/Lightscreen-%{lightscreenSHA}/tools/" - cp "%{_sourcedir}/lightscreen.desktop" "%{_builddir}/Lightscreen-%{lightscreenSHA}/lightscreen.desktop" + %{__cp} "%{_sourcedir}/%{patch01LONG}/undef_success_x11.patch" "%{_builddir}/%{name}-%{lightscreenSHA}/tools/" + %{__cp} "%{_sourcedir}/lightscreen.desktop" "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen.desktop" #Patch.... - cd "%{_builddir}/Lightscreen-%{lightscreenSHA}/tools" + cd "%{_builddir}/%{name}-%{lightscreenSHA}/tools" unix2dos undef_success_x11.patch - patch --ignore-whitespace --binary screenshot.cpp < undef_success_x11.patch - cd "%{_builddir}/Lightscreen-%{lightscreenSHA}" + %{__patch} --ignore-whitespace --binary screenshot.cpp < undef_success_x11.patch + cd "%{_builddir}/%{name}-%{lightscreenSHA}" #build qmake-qt5 - make + %{__make} + %install - mkdir -p %{buildroot}/%{_bindir} - mkdir -p %{buildroot}/usr/share/pixmaps - mkdir -p %{buildroot}/usr/share/applications - install -p -m 0755 "%{_builddir}/Lightscreen-%{lightscreenSHA}/lightscreen" "%{buildroot}/%{_bindir}/lightscreen" - install -p -m 0775 "%{_builddir}/Lightscreen-%{lightscreenSHA}/images/LS.ico" "%{buildroot}/usr/share/pixmaps/lightscreen.ico" - desktop-file-install "%{_builddir}/Lightscreen-%{lightscreenSHA}/lightscreen.desktop" "%{buildroot}/usr/share/applications/lightscreen.desktop" + %{__mkdir_p} %{buildroot}/%{_bindir} + %{__mkdir_p} %{buildroot}/usr/share/pixmaps + %{__mkdir_p} %{buildroot}/usr/share/applications + #docs + mkdir -p %{buildroot}/%{_docdir}/%{name} + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/README.md" "%{buildroot}/%{_docdir}/%{name}/README.md" + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/README.md" "%{buildroot}/%{_docdir}/%{name}/README.md" + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/LICENSE" "%{buildroot}/%{_docdir}/%{name}/LICENSE" + chmod -x+X -R %{buildroot}/%{_docdir}/%{name} + #/docs + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen" "%{buildroot}/%{_bindir}/lightscreen" + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/images/LS.ico" "%{buildroot}/usr/share/pixmaps/lightscreen.ico" + desktop-file-install "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen.desktop" "%{buildroot}/usr/share/applications/lightscreen.desktop" + %clean rm -rf %{buildroot}/* rm -rf %{_builddir}/* # clean up sourecdir afterwards(but only directories, save downloaded files) find %{_sourcedir} -maxdepth 1 -mindepth 1 -type d -exec rm -rf '{}' \; + %files - /usr/bin/lightscreen - /usr/share/pixmaps/lightscreen.ico - /usr/share/applications/lightscreen.desktop + %doc %{_docdir}/%{name}/README.md + %doc %{_docdir}/%{name}/LICENSE + %{_bindir}/lightscreen + %{_datadir}/pixmaps/lightscreen.ico + %{_datadir}/applications/lightscreen.desktop + %changelog -* Mon Apr 23 2018 darksider3 - 2.4.git7782bd5-1.6.1 +* Wed Apr 25 2018 darksider3 - 1.6.2 +- Change all Uppercase Lightscreen to name-variable +- use uncompress-macro, not unzip +- use S/P-macro instead of SHAs +- use global instead of define +- use __cp-macro instead of cp +- use __install-macro instead of install +- __make-macro instead of make +- __mkdir_p-macro instead of mkdir-p +- __patch-macro instead of patch +- delete macro in comments +- include README.md and LICENSE! +- remove executable flag from doc-files. +- reindent changelog + + +* Mon Apr 23 2018 darksider3 - 1.6.1 - Added clean-target for makefile - Added cleanup-routines(sourcedir,builddir,buildroot) - Added makefile for building - Remove unneccessary(hopefully) desktop-file-install from 'required' for installation of the rpm file. And fix some intendantion aswell. - -* Mon Apr 23 2018 darksider3 - 2.4.git7782bd5-1.6 +* Mon Apr 23 2018 darksider3 - 1.6 - Added Desktop File - desktop-install-file routine - added desktop file to files-section -* Sun Apr 22 2018 darksider3 - 2.4.git-1.5.1 + +* Sun Apr 22 2018 darksider3 - 1.5.1 - remove redundant cd's -* Sun Apr 22 2018 darksider3 - 2.4.git-1.5 + +* Sun Apr 22 2018 darksider3 - 1.5 - simplify trough variables! -* Sun Apr 22 2018 darksider3 - 2.4.git-1 + +* Sun Apr 22 2018 darksider3 - 1 - initial package release From ccd2e0f6439ddbf6596eaee5904e8d2bcda3842e Mon Sep 17 00:00:00 2001 From: darksider3 Date: Mon, 30 Apr 2018 13:06:52 +0200 Subject: [PATCH 4/5] Enable suse(factory-based) builds --- pkg/RPM/Lightscreen.spec | 165 ++++++++++++++++++++++++++++++++ pkg/RPM/randomdata_suse.patch | 10 ++ pkg/RPM/undef_success_x11.patch | 12 +++ 3 files changed, 187 insertions(+) create mode 100644 pkg/RPM/Lightscreen.spec create mode 100644 pkg/RPM/randomdata_suse.patch create mode 100644 pkg/RPM/undef_success_x11.patch diff --git a/pkg/RPM/Lightscreen.spec b/pkg/RPM/Lightscreen.spec new file mode 100644 index 0000000..7cf4dd4 --- /dev/null +++ b/pkg/RPM/Lightscreen.spec @@ -0,0 +1,165 @@ +# +# spec file for package Lightscreen +# +# Copyright (c) 2018 Leon Giesenkämper +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +Name: Lightscreen +Version: 2.4.git7782bd5 +Release: 1.6.3%{?dist} +Summary: Simple tool to automate the tedious process of saving screenshots +URL: https://lightscreen.com.ar/ +VCS: https://github.com/ckaiser/Lightscreen.git +License: GPLv2 + + +# Fedora Requires +%if 0%{?fedora} +BuildRequires: qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtxmlpatterns-devel qt5-qtmultimedia-devel qt5-qtx11extras-devel +BuildRequires: make cmake dos2unix xcb-util-keysyms-devel desktop-file-utils +Requires: qt5-qtbase qt5-qtdeclarative qt5-qtxmlpatterns qt5-qtmultimedia qt5-qtx11extras xcb-util-keysyms +%endif + +# SUSE Requires +%if 0%{?suse_version} +BuildRequires: libqt5-qtbase-devel libqt5-qtdeclarative-devel libqt5-qtxmlpatterns-devel libqt5-qtmultimedia-devel libqt5-qtx11extras-devel +BuildRequires: make cmake dos2unix xcb-util-keysyms-devel desktop-file-utils unzip +BuildRequires: libQt5Gui-private-headers-devel +Requires: libqt5-qtbase libqt5-qtdeclarative libqt5-qtxmlpatterns libqt5-qtmultimedia libqt5-qtx11extras xcb-util-keysyms +%endif + +%global lightscreenSHA 7782bd5d68a0c14b06873d3a04929816e337c8a3 +%global uglobSHA 231b10144741b29037f0128bb7a1cd7176529f74 +%global singleAppSHA c6378eec45a5fdf699b4d27fb4be22a190b2a184 + +Source0: https://github.com/ckaiser/Lightscreen/archive/%{lightscreenSHA}.zip +Source1: https://github.com/ckaiser/UGlobalHotkey/archive/%{uglobSHA}.zip +Source2: https://github.com/ckaiser/SingleApplication/archive/%{singleAppSHA}.zip +Source3: https://raw.githubusercontent.com/Darksider3/lightscreen_rpm/master/lightscreen.desktop +#patch +%global patch00SHA 6feb4628124f90f197886623c56278a1ab11ab91 +%global patch00LONG 6db935d8a54f67061f0841add8f392b9-6feb4628124f90f197886623c56278a1ab11ab91 +%global patch01Name randomdata_suse.patch +#patchend +Patch0: https://gist.github.com/Darksider3/6db935d8a54f67061f0841add8f392b9/archive/%{patch00SHA}.zip +Patch1: https://raw.githubusercontent.com/Darksider3/lightscreen_rpm/master/%{patch01Name} + + +%description +Lightscreen is a simple tool to automate the tedious process of saving +and cataloging screenshots. + + +%prep + %{uncompress: %{P:0}} #PATCH0 - lightscreen-patch + %{uncompress: %{P:1}} + %{uncompress: %{S:0}} #SOURCE0 lightscreen + %{uncompress: %{S:1}} # uglob + %{uncompress: %{S:2}} #singleapp + %{uncompress: %{S:3}} #lightscreen.desktop + %{__cp} UGlobalHotkey-%{uglobSHA}/* "%{_builddir}"/"%{name}-%{lightscreenSHA}/tools/UGlobalHotkey" + %{__cp} SingleApplication-%{singleAppSHA}/* "%{_builddir}"/"%{name}-%{lightscreenSHA}/tools/SingleApplication" + + +%build + + %{__cp} "%{_builddir}/%{patch00LONG}/undef_success_x11.patch" "%{_builddir}/%{name}-%{lightscreenSHA}/tools/" + %{__cp} "%{_sourcedir}/%{patch01Name}" "%{_builddir}/%{name}-%{lightscreenSHA}/tools/" + %{__cp} "%{_sourcedir}/lightscreen.desktop" "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen.desktop" + #Patch.... + cd "%{_builddir}/%{name}-%{lightscreenSHA}/tools" + unix2dos undef_success_x11.patch + unix2dos %{patch01Name} + %{__patch} -s --ignore-whitespace --binary screenshot.cpp < undef_success_x11.patch + %{__patch} -s --ignore-whitespace --binary screenshot.cpp < %{patch01Name} + cd "%{_builddir}/%{name}-%{lightscreenSHA}" + #build + qmake-qt5 QMAKE_CXXFLAGS+="%{optflags}" + %{__make} %{?_smp_mflags} + + +%install + %{__mkdir_p} %{buildroot}/%{_bindir} + %{__mkdir_p} %{buildroot}/usr/share/pixmaps + %{__mkdir_p} %{buildroot}/usr/share/applications + #docs + mkdir -p %{buildroot}/%{_docdir}/%{name} + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/README.md" "%{buildroot}/%{_docdir}/%{name}/README.md" + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/LICENSE" "%{buildroot}/%{_docdir}/%{name}/LICENSE" + chmod -x+X -R %{buildroot}/%{_docdir}/%{name} + #/docs + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen" "%{buildroot}/%{_bindir}/lightscreen" + chmod a+x "%{buildroot}/%{_bindir}/lightscreen" + %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/images/LS.ico" "%{buildroot}/usr/share/pixmaps/lightscreen.ico" + desktop-file-install "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen.desktop" "%{buildroot}/usr/share/applications/lightscreen.desktop" + + +%clean + rm -rf %{buildroot}/* + rm -rf %{_builddir}/* + # clean up sourecdir afterwards(but only directories, save downloaded files) + find %{_sourcedir} -maxdepth 1 -mindepth 1 -type d -exec rm -rf '{}' \; + + +%files + %doc %{_docdir}/%{name}/README.md + %doc %{_docdir}/%{name}/LICENSE + %{_bindir}/lightscreen + %{_datadir}/pixmaps/lightscreen.ico + %{_datadir}/applications/lightscreen.desktop + %if 0%{?suse_version} + %doc /usr/share/doc/packages/Lightscreen + %endif + + +%changelog +* Mon Apr 30 2018 darksider3 - 2.4.git7782bd5-1.6.3%{?dist} +- add smp_flags to make +- added copyright/licensing for the spec file +- qmake flags added +- added docs for suse only(required for build) +- Patch out random data generation in screenshot.cpp(caused by no return after switch) + +* Wed Apr 25 2018 darksider3 - 2.4.git7782bd5-1.6.2%{?dist} +- Change all Uppercase Lightscreen to name-variable +- use uncompress-macro, not unzip +- use S/P-macro instead of SHAs +- use global instead of define +- use __cp-macro instead of cp +- use __install-macro instead of install +- __make-macro instead of make +- __mkdir_p-macro instead of mkdir-p +- __patch-macro instead of patch +- delete macro in comments +- include README.md and LICENSE! +- remove executable flag from doc-files. +- reindent changelog + +* Mon Apr 23 2018 darksider3 - 2.4.git7782bd5-1.6.1%{?dist} +- Added clean-target for makefile +- Added cleanup-routines(sourcedir,builddir,buildroot) +- Added makefile for building +- Remove unneccessary(hopefully) desktop-file-install from 'required' + for installation of the rpm file. And fix some intendantion aswell. + +* Mon Apr 23 2018 darksider3 - 2.4.git7782bd5-1.6%{?dist} +- Added Desktop File +- desktop-install-file routine +- added desktop file to files-section + +* Sun Apr 22 2018 darksider3 - 2.4.git7782bd5-1.5.1%{?dist} +- remove redundant cd's + +* Sun Apr 22 2018 darksider3 - 2.4.git7782bd5-1.5%{?dist} +- simplify trough variables! + +* Sun Apr 22 2018 darksider3 - 2.4.git7782bd5-1%{?dist} +- initial package release diff --git a/pkg/RPM/randomdata_suse.patch b/pkg/RPM/randomdata_suse.patch new file mode 100644 index 0000000..80d2a6c --- /dev/null +++ b/pkg/RPM/randomdata_suse.patch @@ -0,0 +1,10 @@ +--- screenshot_old.cpp 2018-04-30 11:54:08.012803000 +0200 ++++ screenshot.cpp 2018-04-30 11:55:30.725966171 +0200 +@@ -401,6 +401,7 @@ + return QStringLiteral(".jpg"); + break; + } ++ return QStringLiteral(".png"); + } + + void Screenshot::grabDesktop() diff --git a/pkg/RPM/undef_success_x11.patch b/pkg/RPM/undef_success_x11.patch new file mode 100644 index 0000000..5f91942 --- /dev/null +++ b/pkg/RPM/undef_success_x11.patch @@ -0,0 +1,12 @@ +*** screenshot_old.cpp 2018-04-22 18:14:15.969692651 +0200 +--- screenshot.cpp 2018-04-22 18:15:57.137990615 +0200 +*************** +*** 43,48 **** +--- 43,49 ---- + #ifdef Q_OS_LINUX + #include + #include ++ #undef Success + #include + #endif + From 6ac5ffbdc6f154880acbe4611ed42d16e41125f2 Mon Sep 17 00:00:00 2001 From: darksider3 Date: Mon, 30 Apr 2018 13:12:12 +0200 Subject: [PATCH 5/5] Delete lightscreen.spec not needed anymore(updatet to (uppercase) Lightscreen.spec) --- pkg/RPM/lightscreen.spec | 126 --------------------------------------- 1 file changed, 126 deletions(-) delete mode 100644 pkg/RPM/lightscreen.spec diff --git a/pkg/RPM/lightscreen.spec b/pkg/RPM/lightscreen.spec deleted file mode 100644 index 24c3b45..0000000 --- a/pkg/RPM/lightscreen.spec +++ /dev/null @@ -1,126 +0,0 @@ -Name: Lightscreen -Version: 2.4.git7782bd5 -Release: 1.6.2%{?dist} -Summary: Simple tool to automate the tedious process of saving and cataloging screenshots. -URL: https://lightscreen.com.ar/ -VCS: https://github.com/ckaiser/Lightscreen.git -License: GPLv2 - -BuildRequires: qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtxmlpatterns-devel qt5-qtmultimedia-devel qt5-qtx11extras-devel -BuildRequires: make cmake dos2unix xcb-util-keysyms-devel desktop-file-utils -Requires: qt5-qtbase qt5-qtdeclarative qt5-qtxmlpatterns qt5-qtmultimedia qt5-qtx11extras xcb-util-keysyms - - -%global lightscreenSHA 7782bd5d68a0c14b06873d3a04929816e337c8a3 -%global uglobSHA 231b10144741b29037f0128bb7a1cd7176529f74 -%global singleAppSHA c6378eec45a5fdf699b4d27fb4be22a190b2a184 - -Source0: https://github.com/ckaiser/Lightscreen/archive/%{lightscreenSHA}.zip -Source1: https://github.com/ckaiser/UGlobalHotkey/archive/%{uglobSHA}.zip -Source2: https://github.com/ckaiser/SingleApplication/archive/%{singleAppSHA}.zip -Source3: https://raw.githubusercontent.com/Darksider3/lightscreen_rpm/master/lightscreen.desktop -#patch -%global patch01SHA 6feb4628124f90f197886623c56278a1ab11ab91 -%global patch01LONG 6db935d8a54f67061f0841add8f392b9-6feb4628124f90f197886623c56278a1ab11ab91 -#patchend -Patch0: https://gist.github.com/Darksider3/6db935d8a54f67061f0841add8f392b9/archive/%{patch01SHA}.zip - - - -%description -Lightscreen is a simple tool to automate the tedious process of saving and cataloging screenshots. - - -%prep - cd %_sourcedir - %{uncompress: %{P:0}} #PATCH0 - %{uncompress: %{S:0}} #SOURCE0 - %{uncompress: %{S:1}} - %{uncompress: %{S:2}} - %{uncompress: %{S:3}} - %{__cp} -r "%{name}-%{lightscreenSHA}" "%{_builddir}" - %{__cp} UGlobalHotkey-%{uglobSHA}/* "%{_builddir}"/"%{name}-%{lightscreenSHA}/tools/UGlobalHotkey" - %{__cp} SingleApplication-%{singleAppSHA}/* "%{_builddir}"/"%{name}-%{lightscreenSHA}/tools/SingleApplication" - - -%build - %{__cp} "%{_sourcedir}/%{patch01LONG}/undef_success_x11.patch" "%{_builddir}/%{name}-%{lightscreenSHA}/tools/" - %{__cp} "%{_sourcedir}/lightscreen.desktop" "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen.desktop" - #Patch.... - cd "%{_builddir}/%{name}-%{lightscreenSHA}/tools" - unix2dos undef_success_x11.patch - %{__patch} --ignore-whitespace --binary screenshot.cpp < undef_success_x11.patch - cd "%{_builddir}/%{name}-%{lightscreenSHA}" - #build - qmake-qt5 - %{__make} - - -%install - %{__mkdir_p} %{buildroot}/%{_bindir} - %{__mkdir_p} %{buildroot}/usr/share/pixmaps - %{__mkdir_p} %{buildroot}/usr/share/applications - #docs - mkdir -p %{buildroot}/%{_docdir}/%{name} - %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/README.md" "%{buildroot}/%{_docdir}/%{name}/README.md" - %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/README.md" "%{buildroot}/%{_docdir}/%{name}/README.md" - %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/LICENSE" "%{buildroot}/%{_docdir}/%{name}/LICENSE" - chmod -x+X -R %{buildroot}/%{_docdir}/%{name} - #/docs - %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen" "%{buildroot}/%{_bindir}/lightscreen" - %__install -p -m 0755 "%{_builddir}/%{name}-%{lightscreenSHA}/images/LS.ico" "%{buildroot}/usr/share/pixmaps/lightscreen.ico" - desktop-file-install "%{_builddir}/%{name}-%{lightscreenSHA}/lightscreen.desktop" "%{buildroot}/usr/share/applications/lightscreen.desktop" - - -%clean - rm -rf %{buildroot}/* - rm -rf %{_builddir}/* - # clean up sourecdir afterwards(but only directories, save downloaded files) - find %{_sourcedir} -maxdepth 1 -mindepth 1 -type d -exec rm -rf '{}' \; - - -%files - %doc %{_docdir}/%{name}/README.md - %doc %{_docdir}/%{name}/LICENSE - %{_bindir}/lightscreen - %{_datadir}/pixmaps/lightscreen.ico - %{_datadir}/applications/lightscreen.desktop - - -%changelog -* Wed Apr 25 2018 darksider3 - 1.6.2 -- Change all Uppercase Lightscreen to name-variable -- use uncompress-macro, not unzip -- use S/P-macro instead of SHAs -- use global instead of define -- use __cp-macro instead of cp -- use __install-macro instead of install -- __make-macro instead of make -- __mkdir_p-macro instead of mkdir-p -- __patch-macro instead of patch -- delete macro in comments -- include README.md and LICENSE! -- remove executable flag from doc-files. -- reindent changelog - - -* Mon Apr 23 2018 darksider3 - 1.6.1 -- Added clean-target for makefile -- Added cleanup-routines(sourcedir,builddir,buildroot) -- Added makefile for building -- Remove unneccessary(hopefully) desktop-file-install from 'required' - for installation of the rpm file. And fix some intendantion aswell. - -* Mon Apr 23 2018 darksider3 - 1.6 -- Added Desktop File -- desktop-install-file routine -- added desktop file to files-section - -* Sun Apr 22 2018 darksider3 - 1.5.1 -- remove redundant cd's - -* Sun Apr 22 2018 darksider3 - 1.5 -- simplify trough variables! - -* Sun Apr 22 2018 darksider3 - 1 -- initial package release