diff options
Diffstat (limited to 'debian')
35 files changed, 2751 insertions, 0 deletions
| diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..e4f2b3d --- /dev/null +++ b/debian/README.source @@ -0,0 +1,18 @@ +Hello, + +now I use the branching model from Vincent Driessen[1]. + +I use the gitflow-avh[2]. with the Documentation[3]. +The Debian package can be found here[4]. + +Please upload unattended uploads use a branch feature/<your title>. + + +Many thanks. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Fri, 02 Jun 2017 19:00:40 +0200 + +[1] http://nvie.com/posts/a-successful-git-branching-model/ +[2] https://github.com/petervanderdoes/gitflow-avh +[3] https://github.com/petervanderdoes/gitflow-avh/wiki +[4] https://tracker.debian.org/pkg/git-flow diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..485e033 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,868 @@ +shotwell (0.30.5-1) unstable; urgency=medium + +  * New upstream release. +    - Remove debian/patches/0110-fix_GoogleAuthenticator.patch. + + -- Jörg Frings-Fürst <debian@jff.email>  Thu, 15 Aug 2019 11:29:40 +0200 + +shotwell (0.30.4-2) unstable; urgency=medium + +  * Fix GoogleAuthenticator error handling (Closes: #934723): +    - New debian/patches/0110-fix_GoogleAuthenticator.patch cherry-picked +      from upstream. + + -- Jörg Frings-Fürst <debian@jff.email>  Wed, 14 Aug 2019 12:00:37 +0200 + +shotwell (0.30.4-1) unstable; urgency=medium + +  * New upstream release. +  * Declare compliance with Debian Policy 4.4.0 (No changes needed). +  * Add package-name-doesnt-match-sonames to lintian-overrides. +  * Refresh debian/copyright. +  * Migrate to debhelper 12: +    - Change debian/compat to 12. +    - Change debhelper version in debian/control to >= 12. +  * debian/copyright: Fix typo. + + -- Jörg Frings-Fürst <debian@jff.email>  Fri, 12 Jul 2019 11:05:56 +0200 + +shotwell (0.30.1-1) unstable; urgency=medium + +  * New upstream release. +    - Switch to buildsystem meson: +      + debian/control: Add gnome-pkg-tools, meson and ninja-build to +        Build-Depends. +      + debian/rules: Add --buildsystem=meson --with gnome, +        remove override_dh_auto_configure and add override_dh_gnome_clean. +    - debian/shotwell.docs: change README to README.md. +    - Refresh debian/copyright. +  * Declare compliance with Debian Policy 4.2.1 (No changes needed). +  * debian/rules: remove unused calculation of B_DATE. +  * debian/shotwell.install: Add usr/share/metainfo (Closes: #906143). + + -- Jörg Frings-Fürst <debian@jff.email>  Sun, 30 Sep 2018 19:02:22 +0200 + +shotwell (0.28.4-1) unstable; urgency=medium + +  * New upstream release. + + -- Jörg Frings-Fürst <debian@jff.email>  Sat, 04 Aug 2018 14:40:03 +0200 + +shotwell (0.28.3-1) unstable; urgency=medium + +  * New upstream release. +  * Remove upstream applied patches: +    - 0100-ios8.patch +  * New debian/patches/0105-gitversion.patch to fix FTBFS. +  * Migrate to debhelper 11: +    - Change debian/compat to 11. +    - Change debhelper version in debian/control to >= 11. +  * debian/control: +    - Switch Vcs-* to new location. +  * debian/copyright: +    - Use secure copyright format URI. +    - Bump years to 2018. +  * Declare compliance with Debian Policy 4.1.5 (No changes needed). +  * Remove unneeded comments from shotwell.lintian-overrides. + + -- Jörg Frings-Fürst <debian@jff.email>  Sun, 08 Jul 2018 14:34:46 +0200 + +shotwell (0.26.4-1) unstable; urgency=medium + +  * New upstream release (Closes: #855681, #841859, #870027): +    - debian/control: Add new appstream-util, libappstream-glib-dev and +      libgdata-dev to Build-Depends. +    - debian/shotwell.install: Drop now empty directory usr/share/appdata. +  * New README.source to explain the branching model used. +  * Use the automatic debug symbol packages: +    - Remove shotwell-dbg section from debian/control. +    - Remove override_dh_strip, override_dh_compress and some lines +      on dh_install from debian/rules. +    - Remove debian/shotwell-dbg.README.Debian. +  * Use the upstream ChangeLog as changelog and add NEWS to docs. +  * Remove debian/shotwell.1 to use the upstream man page. +  * Don't install man page at shotwell-common. +  * Remove unnecessary debian/menu. +  * Some packaging improvements (Closes:# 856708): +    - Move .desktop and appstream metadata from shotwell-common to shotwell. +    - debian/rules: +      + Use dh_auto_configure instead of ./configure. +      + Update rm paths for multiarch. +      + Don't install the .a file either. +    - Remove build-depend m4 since debhelper version 10 use autoconf. +    - Thanks to Jeremy Bicha <jbicha@ubuntu.com> +  * debian/changelog: +    - Remove trailing white spaces. +  * debian/watch: +    Rewrite to find only stable releases. +  * Declare compliance with Debian Policy 4.1.2.0 (No changes needed). +  * Change to my new email-address: +    - debian/control, +    - debian/copyright. + + -- Jörg Frings-Fürst <debian@jff.email>  Fri, 15 Dec 2017 11:52:17 +0100 + +shotwell (0.25.4+really0.24.5-0.1) unstable; urgency=medium + +  * Revert to last stable release 0.24.5 (Closes: #850149). +    (Necessary, since unblock request #854912 for 0.25.4-0.1 was turned down.) + + -- Richard B. Kreckel <kreckel@debian.org>  Tue, 14 Feb 2017 18:47:24 +0100 + +shotwell (0.25.4-0.1) unstable; urgency=medium + +  * New upstream release. +    - Many UI fixes (Closes: #849688). + + -- Richard B. Kreckel <kreckel@debian.org>  Sun, 05 Jan 2017 18:43:12 +0100 + +shotwell (0.25.4-1) unstable; urgency=medium + +  * New upstream release (Closes: #849688, #851711). +  * debian/copyright: +    - Update copyright years for 2017. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Fri, 03 Feb 2017 14:23:16 +0100 + +shotwell (0.25.1-1) unstable; urgency=medium + +  * New upstream release. +    - Fix issue with indexes on PhotoTable (Closes: #777499). +  * debian/patches: +    - Refresh 0100-ios8.patch. +  * debian/control: +    - Add libgcr-3-dev to Build-Depends. +    - Bump libgexiv2-dev B-D minimum version to 0.10.4. +    - Bump libglib2.0-dev B-D minimum version to 2.40. +    - Bump libgtk-3-dev B-D minimum version to 3.14. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Fri, 25 Nov 2016 04:24:55 +0100 + +shotwell (0.24.0-1) unstable; urgency=medium + +  * New upstream release (Closes: #824164, #825788). +    - Fix inconsistent licensing metadata in icons/rejected.svg +      (Closes: #800902). +    - Fix crashes when opening files with external editor +      (Closes: #806248). +    - Fix scrollbars disappearing when resizing main window +      (Closes: #823835). +    - Install private executables shotwell-settings-migrator and +      shotwell-video-thumbnailer into /usr/lib/shotwell +      (Closes: #833236). +  * debian/control: +    - Add itstool to Build-Depends. +    - Bump debhelper B-D minimum version to 10. +    - Bump libgee-0.8 B-D minimum version to 0.10. +    - Switch Depends for shotwell binary package from dbus-x11 to +      default-dbus-session-bus | dbus-session-bus (Closes: #836046). +  * debian/copyright: +    - Add Software Freedom Conservancy Inc. +  * debian/manpages: +    - Rename to debian/shotwell.manpages and use the +      manpage supplied upstream. +  * debian/patches: +    - New 0600-remove_wrong_marco.patch to remove the wrong macro 'R'. +    - Refresh patches. +    - Drop patches applied upstream: +      + 0001-buildflags.patch +      + 0005-hardening.patch +      + 0500-Port-to-webkit2gtk-40.patch +      + 0501-Dont-pack-webview-into-a-scrolled-window.patch +      + 0502-Have-all-soup-sessions-validate-TLS-certificates.patch +      + 0503-facebook-Dont-disable-XSS-auditor.patch +  * debian/rules: +    - Make build reproducible (Closes: #822948): +      + Fix date handling for non-English locales. +      + Fix files mode in temp-source tarball. +      Thanks to Alexis Bienvenüe <pado@passoire.fr>. +    - Remove unwanted .la files. +  * debian/shotwell-common.postrm: +    - New script to rebuild icon cache after purge and remove with +      a test that gtk-update-icon-cache exists and is executable. +  * debian/shotwell.install: +    - Remove missing apport/shotwell.py. +  * debian/shotwell-common.install: +    - Remove now redundant installation of manpage. +  * debian/watch: +    - Rewrite regular expression. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Wed, 21 Sep 2016 22:31:48 +0200 + +shotwell (0.22.1-1) unstable; urgency=medium + +  * New upstream release. +    - Update translations. +  * debian/control: +    - Bump Standards-Version to 3.9.8 (no changes required). +    - Correct Vcs-Git URI. +    - Improve package description (Closes: #818671). +    - Drop the following fields because even oldstable has 0.12.3-2~: +      + Breaks: shotwell (<< 0.12.3-1) +      + Replaces: shotwell (<< 0.12.3-1) +  * Set compat level to 10 (no changes required). +  * Correct typo at shotwell-dbg.README.Debian. +  * debian/rules: +    - Touch generated C files with mtime of debian/changelog to ensure +      the mtime of these C files never changes before installing them +      into the shotwell-dbg package. Makes build reproducible. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Sun, 17 Apr 2016 22:15:57 +0200 + +shotwell (0.22.0-4) unstable; urgency=medium + +  * New debian/patches/0100-ios8.patch (Closes: #792016): +    - Quick and dirty patch to get iOS 8 devices ready to download files. +      Download from https://bugzilla.gnome.org/show_bug.cgi?id=742295#c22. +      Thanks to Obsidian. +  * debian/control: +    - Bump Standards-Version to 3.9.7 (no changes required). +    - Change Vcs-* to secure uri. +  * debian/watch: Bump Version to 4 (no changes required). + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Mon, 22 Feb 2016 06:43:14 +0100 + +shotwell (0.22.0-3) unstable; urgency=medium + +  * debian/rules: +    - Touch temporary C files with the timestamp of +      debian/changelog to make the build reproducible. +  * Verify TLS certificates (Closes: #807110): +    - Cherry-pick patches from upstream in debian/patches: +      + 0500-Port-to-webkit2gtk-40.patch +      + 0501-Dont-pack-webview-into-a-scrolled-window.patch +      + 0502-Have-all-soup-sessions-validate-TLS-certificates.patch +      + 0503-facebook-Dont-disable-XSS-auditor.patch +    - Replace libwebkitgtk-3.0-dev with libwebkit2gtk-4.0-dev +      in Build-Depends in debian/control. +  * Rename patches. +  * debian/copyright: +    - Update for 2016. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Sun, 10 Jan 2016 16:53:26 +0100 + +shotwell (0.22.0-2) unstable; urgency=medium + +  * debian/control: +    - Add dconf-cli to Depends for binary package shotwell (Closes: #783578). + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Thu, 30 Apr 2015 08:07:46 +0200 + +shotwell (0.22.0-1) unstable; urgency=low + +  * New upstream release: +    - Correct edited file handling (Closes: #747443). +    - Better handling of imported files (Closes: #775950). +  * Refresh patches: +    - debian/patches/hardening.patch +    - debían/patches/500-buildflags.patch +  * Remove patch applied upstream: +    - debian/patches/505-fix-viewer-desktop-file.patch +  * For better debugging: +    - shotwell-dbg: +      + Add the temporary *.c files produced by valac +        to temp-source.tar.xz placed in doc directory. +    - debian/rules: +      + Add --debug as configure parameter. +      + Add override_dh_compress to exclude the *.tar.xz from compress. +    - debian/docs: +      + Move to shotwell.docs. +    - New debian/shotwell-dbg.README.Debian. +    - New link from debian/shotwell.README.Debian to +      debian/shotwell-common.README.Debian. +  * debian/control: +    - For the libgphoto2 transition, set the minimum version for +      libgphoto2-dev in Build-Depends to 2.5.4. +  * New bug reporting: +    - New debian/shotwell.bug-script. +    - New debian/shotwell.install to install the apport file. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Mon, 06 Apr 2015 07:59:33 +0200 + +shotwell (0.20.2-2) unstable; urgency=low + +  * Add user scripts to replace shotwell-video-thumbnailer +    if the thumbnailer is broken (Closes: #768637): +    - New files: +      + debian/shotwell.README.Debian +      + debian/replace_thumbnailer.sh +      + debian/shotwell.postrm +      + debian/shotwell.examples +    - Thanks to Teo Romera <teoromera@gmail.com>. +  * debian/patches: +    - Add 505-fix-viewer-desktop-file.patch to correct build of +      shotwell-viewer.desktop (Closes: #776745). +      + Thanks to Raphaël Halimi <raphael.halimi@gmail.com>. +    - Rewrite 500-buildflags.patch to prevent FTBFS on +      architectures i386 and powerpc. +  * debian/control: +    - Add Build-Depends libicu-dev for missing unicode/ucnv.h. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Mon, 02 Feb 2015 05:16:56 +0100 + +shotwell (0.20.2-1) unstable; urgency=medium + +  * New upstream release (Closes: #769025). +  * debian/control: +    - Remove useless ${shlibs:Depends} from shotwell-dbg. +  * debian/rules: +    - Remove useless hardening parts. +  * New debian/patches/500-buildflags.patch: +    - Poke requested Debian buildflags for hardening into Makefile. +  * Add year 2015 for debian/* to debian/copyright. +  * Remove debian/source/options because compression xz is standard now. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Wed, 07 Jan 2015 14:23:48 +0100 + +shotwell (0.20.1-1) unstable; urgency=medium + +  * New upstream release. +  * Add sharedobject-in-library-directory-missing-soname to +    lintian-overrides. +  * debian/patch/hardening.patch: +    - Add removal of --fatal-warnings at plugins/Makefile.plugins.mk +      to prevent build errors on armel and mips. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Thu, 09 Oct 2014 11:57:41 +0200 + +shotwell (0.20.0-1) unstable; urgency=medium + +  * New upstream release (Closes: #762357). +  * debian/control: +    - Bump Standards-Version to 3.9.6 (no changes required). +    - Change Vcs-Browser to cgit. +  * debian/copyright: +    - Remove deleted file icons/hidden.svg. +    - Add missed file icons/import-all.png. +    - Remove whitspaces at EOL. +  * debian/rules: +    - Enable hardening=+all because files can open over network. +    - Remove useless variable assignments. +    - Add --debug to configure. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Tue, 23 Sep 2014 18:56:52 +0200 + +shotwell (0.18.1-2) unstable; urgency=medium + +  * New Maintainer (Closes: #755416). +  * debian/copyright: +    - Rewrite into machine-readable format. +    - Add myself to the list of authors for debian/*. +  * debian/control: +    - Set myself as maintainer. +    - For previously not existing Vcs +      + Create a new git repository on alioth. +      + Add the Fields Vcs-Browser and Vcs-Git. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Wed, 30 Jul 2014 07:27:30 +0200 + +shotwell (0.18.1-1) unstable; urgency=medium + +  * New upstream release. +  * debian/control: +    - Set Homepage field to the new home page. +  * debian/control: +    - Set download reference to the new site. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 20 Jul 2014 17:15:28 +0200 + +shotwell (0.18.0-1) unstable; urgency=medium + +  * New upstream release. +  * Upload to unstable. +  * debian/patches/hardening.patch: +    - Refresh for new upstream release. +  * debian/patches/thumbnailer_path.patch: +    - Removed, not needed. +  * debian/control: +    - Re-add myself as Uploader. +    - Add gnome-doc-utils to Build-Depends. +    - Replace libgphoto2-2-dev with libgphoto2-dev (Closes: #739355). +  * debian/manpages: +    - Do not install shotwell-video-thumbnailer anymore. +  * debian/shotwell-video-thumbnailer.1: +    - Removed, no longer needed. +  * debian/rules: +    - Explicitly set libexecdir to /usr/lib (Closes: #742083). +  * debian/watch: +    - Point to the GNOME FTP server. + + -- Luca Falavigna <dktrkranz@debian.org>  Thu, 27 Mar 2014 14:02:25 +0100 + +shotwell (0.17.0-1) experimental; urgency=low + +  * Team upload. +  * New upstream release. +  * debian/patches/format_string.patch: +    - Removed, applied upstream. +  * debian/patches/hardening.patch: +    - Refresh for new upstream release. +  * debian/patches/libexec.patch +    - Refresh for new upstream release. +  * debian/patches/thumbnailer_path.patch: +    - Refresh for new upstream release. +  * debian/shotwell.lintian-overrides: +    - Remove useless library-not-linked-against-libc tag. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 16 Feb 2014 14:10:50 +0100 + +shotwell (0.15.0-2) unstable; urgency=medium + +  * Team upload to unstable. +  * debian/control: +    - Bump Standards-Version to 3.9.5. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 16 Feb 2014 14:02:15 +0100 + +shotwell (0.15.0-1) experimental; urgency=low + +  * Team upload. +  * New upstream release (Closes: #726594). +    - Fix FTBFS with vala 0.22 (Closes: #726510). +  * debian/patches/document-mode.patch: +    - Removed, applied upstream. +  * debian/patches/hardening.patch: +    - Refresh for new upstream release. +  * debian/patches/libexec.patch +    - Refresh for new upstream release. +  * debian/patches/thumbnailer_path.patch: +    - Install shotwell-video-thumbnailer under /usr/bin. +  * debian/control: +    - Build-depend against desktop-file-utils. +    - Refresh build-dependency miminum versions. + + -- Luca Falavigna <dktrkranz@debian.org>  Thu, 17 Oct 2013 22:04:11 +0200 + +shotwell (0.14.1-3) unstable; urgency=low + +  * Team upload. +  * debian/patches/document-mode.patch: +    - Remove reference to document-mode processing APIs (Closes: #710141). + + -- Luca Falavigna <dktrkranz@debian.org>  Thu, 11 Jul 2013 10:59:32 +0200 + +shotwell (0.14.1-2) unstable; urgency=low + +  * Team upload. +  * Upload to unstable. +  * debian/patches/libexec.patch: +    - Do not install files in libexec directory (Closes: #706430). +  * debian/control: +    - Build-depend on valac (>= 0.18.0). +  * debian/shotwell-common.lintian-overrides: +    - Removed, no longer needed. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 12 May 2013 23:22:52 +0200 + +shotwell (0.14.1-1) experimental; urgency=low + +  * New upstream release. +  * Update debian/copyright file. +  * Install shotwell-settings-migrator script in shotwell-common package +    (Closes: #705423). +  * Fix hardening-no-fortify-functions lintian warnings. +  * Fix hardening-no-relro lintian warning. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Sun, 28 Apr 2013 15:10:11 +0200 + +shotwell (0.14.0-1) experimental; urgency=low + +  * Team upload. +  * New upstream release. +    - Fixes strftime strings that generated bogus dates in the +      Catalan translation (Closes: #675102). +    - Fix assertion error on startup (Closes: #683883). +  * debian/control: +    - Bump build-dependencies minimum requirements. +      - valac-0.18 (>= 0.18.0) +      - libgexiv2-dev (>= 0.4.90) +      - libgstreamer1.0-dev (>= 1.0.0) +      - libgstreamer-plugins-base1.0-dev (>= 1.0.0) +    - Drop libunique-3.0-dev and libusb-dev, no longer needed. +  * debian/rules: +    - Explicitly call configure instead of dh_auto_configure. +  * debian/watch: +    - Do not list preview versions. + + -- Luca Falavigna <dktrkranz@debian.org>  Thu, 21 Mar 2013 20:14:36 +0100 + +shotwell (0.13.1-1) experimental; urgency=low + +  * Team upload. +  * New upstream release. +    - Fix crash on invalid piwigo response (Closes: #687930). +  * debian/control: +    - Remove DM-Upload-Allowed field. + + -- Luca Falavigna <dktrkranz@debian.org>  Wed, 28 Nov 2012 11:26:02 +0100 + +shotwell (0.13.0-1) experimental; urgency=low + +  * Team upload. +  * New upstream release (Closes: #688365). +    - Fix French localization (Closes: #684578, #684579). +  * debian/patches/gettext.patch: +    - Removed, applied upstream. +  * debian/patches/metadata.patch: +    - Removed, applied upstream. +  * debian/patches/openmp.patch: +    - Removed, no longer needed. +  * debian/control: +    - Build-depend on valac-0.18 (>= 0.17.2) and libjson-glib-dev. +    - Mention CR2 format in package description (Closes: #685300). +    - Bump Standards-Version to 3.9.4. +  * debian/watch: +    - Track xz tarballs. + + -- Luca Falavigna <dktrkranz@debian.org>  Sat, 29 Sep 2012 14:58:49 +0200 + +shotwell (0.12.3-2) unstable; urgency=low + +  * Team upload. +  * debian/patches/metadata.patch: +    - Cherry-pick patches from upstream repository to fix crashes while +      managing metadata (Closes: #665498). + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 22 Jul 2012 11:56:51 +0200 + +shotwell (0.12.3-1) unstable; urgency=low + +  * Team upload. +  * New upstream release (Closes: #674720). +  * debian/patches/sidebar-bg-color.patch: +    - Removed, applied upstream. +  * debian/patches/openmp.patch: +    - Refresh for new upstream release. +  * debian/control: +    - Move architecture-independent data into shotwell-common package. +    - Let shotwell binary depend on the new shotwell-common package. +    - Provide shotwell-dbg packaage. +  * debian/rules: +    - Pass --dbg-package=shotwell-dbg to dh sequencer. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 03 Jun 2012 12:19:04 +0200 + +shotwell (0.12.2-1) unstable; urgency=low + +  * Team upload to unstable +  * New upstream release. +  * debian/patches/gcc_format_string.patch: +    - Removed, applied upstream. +  * debian/patches/format_string.patch: +    - Fix FTBFS with missing format string parameter. +  * debian/patches/openmp.patch: +    - Pass -fopenmp to gcc flags. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 06 May 2012 19:50:17 +0200 + +shotwell (0.12.1-1) experimental; urgency=low + +  * Team upload. +  * New upstream release (Closes: #666053). +    - Login into flickr with OpenID (Closes: #641472). +    - In view mode, when deleting a photo, do not switch back to +      thumbnail mode (Closes: #655100). +    - Event names are displayed correctly (Closes: #664980). +  * debian/patches/gcc_format_string.patch: +    - fix FTBFS with recent gcc. +  * debian/patches/vala-0.14.1.patch: +    - Removed, no longer needed. +  * debian/patches/* +    - Refresh for new upstream release. +  * debian/compat: +    - Bump compatibility level to 9. +  * debian/control: +    - Build-depend on valac-0.16. +    - Build-depend on librest-dev. +    - Refresh build-dependencies. + + -- Luca Falavigna <dktrkranz@debian.org>  Thu, 29 Mar 2012 23:28:23 +0200 + +shotwell (0.11.6-2) unstable; urgency=low + +  * Team upload. +  * debian/patches/vala-0.14.1.patch: +    - Allow compilation with vala-0.14.1. +  * debian/control: +    - Build-depend on unversioned valac (Closes: #663318). +    - Bump Standards-Version to 3.9.3. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 18 Mar 2012 01:36:18 +0100 + +shotwell (0.11.6-1) unstable; urgency=low + +  * Team upload. +  * New upstream release. + + -- Luca Falavigna <dktrkranz@debian.org>  Thu, 08 Dec 2011 22:38:11 +0100 + +shotwell (0.11.5-1) unstable; urgency=low + +  * New upstream release (Closes: 645942). +  * Show translations in GNOME menu, thanks to Hideki Yamane +    <henrich@debian.or.jp> for this (Closes: 644905). + +  [ Luca Falavigna ] +  * Enable DM upload. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Sun, 23 Oct 2011 01:39:38 +0200 + +shotwell (0.11.2-1) unstable; urgency=low + +  * Team upload. +  * New upstream bugfix release. +  * debian/rules: +    - Do not compile GConf schema (Closes: #641677). + + -- Luca Falavigna <dktrkranz@debian.org>  Sat, 24 Sep 2011 14:27:33 +0200 + +shotwell (0.11.1-1) unstable; urgency=low + +  * Team upload. +  * New upstream bugfix release. +  * debian/patches/sidebar-bg-color.patch: +    - Refresh for new upstream release. + + -- Luca Falavigna <dktrkranz@debian.org>  Tue, 13 Sep 2011 20:53:25 +0200 + +shotwell (0.11.0-1) unstable; urgency=low + +  * Team upload. +  * New upstream release (Closes: #639863). +  * debian/patches/sidebar-bg-color.patch: +    - Refresh for new upstream release. +  * debian/control: +    - Build-depend on libgstreamer-plugins-base0.10-dev. + + -- Luca Falavigna <dktrkranz@debian.org>  Thu, 01 Sep 2011 19:59:07 +0200 + +shotwell (0.10.1-1) unstable; urgency=low + +  * Team upload +  * New upstream release (Closes: #629311). +  * debian/patches/non-linux-fixes.patch: +    - Removed, waiting for proper upstream porting efforts. +  * debian/patches/sidebar-bg-color.patch: +    - Refresh for new upstream release. +  * debian/control: +    - Add Debian Shotwell Maintainers to Maintainers. +    - Move Devid to Uploaders. +    - libwebkitgtk-dev transition (Closes: #635426). +    - Set Architecture to linux-any, shotwell is currently unsupported +      outside of Linux platform, and require some porting. +  * debian/shotwell-video-thumbnailer.1: +    - Provide a minimal man page for shotwell-video-thumbnailer + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 21 Aug 2011 15:38:31 +0200 + +shotwell (0.9.3-1) unstable; urgency=low + +  * New upstream release (Closes: #622705). +  * Update debian/patches/non-linux-fixes.patch patch. +  * Bump Standards-Version to 3.9.2. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Sun, 01 May 2011 13:09:48 +0200 + +shotwell (0.9.1-1) unstable; urgency=low + +  * Upload to unstable. +  * New upstream release (Closes: #620765). +  * debian/control: modify libgexiv2-dev (>= 0.3.1) to libgexiv2-dev +    (>= 0.2.2-4) in Build-Depends field. +  * Update debian/patches/non-linux-fixes.patch patch. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Fri, 08 Apr 2011 23:28:01 +0200 + +shotwell (0.9.0-1) experimental; urgency=low + +  * New upstream release (Closes: #614730, #593660, #619478). +  * debian/control: modify valac-0.10 (>= 0.10.4) to valac-0.12 (>= 0.11.7) +    in Build-Depends field. +  * debian/control: add m4 and libgnomevfs2-dev (>= 2.24.2) to Build-Depends +    field. +  * debian/control: modify libgexiv2-dev (>= 0.2.0) to libgexiv2-dev +    (>= 0.3.1) in Build-Depends field. +  * Remove debian/patches/vala-0_10_4.patch patch, fixed upstream. +  * Update debian/patches/non-linux-fixes.patch patch. +  * Update debian/copyright file. +  * Override library-not-linked-against-libc lintian warnings. +  * Override image-file-in-usr-lib lintian warnings. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Sun, 27 Mar 2011 15:07:13 +0200 + +shotwell (0.8.1-4) unstable; urgency=low + +  * A patch was reverting some changes introduced in 0.8.1-3, apply them. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Sun, 27 Mar 2011 12:42:49 +0200 + +shotwell (0.8.1-3) unstable; urgency=low + +  * Update debian/patches/non-linux-fixes.patch patch (Closes: #619682). +  * Add debian/patches/vala-0_10_4.patch patch, fix FTBFS caused by +    valac 0.10.4. +  * debian/control: modify valac-0.10 (>= 0.9.8) to valac-0.10 (>= 0.10.4) +    in Build-Depends field. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Sat, 26 Mar 2011 23:45:32 +0100 + +shotwell (0.8.1-2) unstable; urgency=low + +  * Upload to unstable (Closes: #614445). +  * debian/control: modify libjson-glib-dev (>= 0.10.28) to libjson-glib-dev +    (>= 0.7.6) +  * debian/control: modify libgstreamer0.10-dev (>= 0.7.6) to +    libgstreamer0.10-dev (>= 0.10.28) +  * debian/control: modify libraw-dev to libraw-dev (>= 0.13.1-2). + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Mon, 28 Feb 2011 22:16:51 +0100 + +shotwell (0.8.1-1) experimental; urgency=low + +  * New upstream release. +  * debian/control: modify valac-0.10 (>= 0.9.7) to valac-0.10 (>= 0.9.8) in +    Build-Depends field. +  * Update debian/copyright. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Thu, 27 Jan 2011 23:05:40 +0100 + +shotwell (0.8.0-1) experimental; urgency=low + +  * New upstream release. +  * debian/control: modify valac (>= 0.9.5) to valac-0.10 (>= 0.9.7) in +    Build-Depends field. +  * debian/control: add libjson-glib-dev and libgstreamer0.10-dev to +    Build-Depends field. +  * Update debian/patches/sidebar-bg-color.patch patch. +  * Update debian/patches/non-linux-fixes.patch patch. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Fri, 07 Jan 2011 15:14:41 +0100 + +shotwell (0.7.2-1) experimental; urgency=low + +  * New upstream release. +  * Update debian/patches/sidebar-bg-color.patch patch. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Wed, 15 Sep 2010 14:56:23 +0200 + +shotwell (0.7.0-1) experimental; urgency=low + +  * New upstream release. +  * debian/control: remove Luca Falavigna from Uploaders field. +  * debian/control: update valac version to >= 0.9.5. +  * debian/control: update libgexiv2-dev version to >= 0.2.0. +  * Update debian/patches/non-linux-fixes.patch patch. +  * debian/patches/sidebar-bg-color.patch: don't set sidebar background color +    (Closes: #594170). +  * Bump Standards-Version to 3.9.1. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Tue, 24 Aug 2010 17:34:23 +0200 + +shotwell (0.6.1-1) unstable; urgency=low + +  * New upstream release. +  * debian/control: +    - Build-depend on libusb-dev. +    - Bump libgexiv2-dev version to be at least 0.1.0. + + -- Luca Falavigna <dktrkranz@debian.org>  Mon, 05 Jul 2010 20:05:18 +0200 + +shotwell (0.6.0-1) unstable; urgency=low + +  * New upstream release. +  * debian/patches/non-linux-fixes.patch: +    - Refresh for new upstream release. +  * debian/control: +    - Bump Standards-Version to 3.9.0, no changes required. + + -- Luca Falavigna <dktrkranz@debian.org>  Wed, 30 Jun 2010 20:48:44 +0200 + +shotwell (0.5.91-2) experimental; urgency=low + +  * debian/patches/non-linux-fixes.patch: +    - Let libraw to be available under non-Linux architectures, fix FTBFS +      on kFreeBSD (Closes: #586634). + + -- Luca Falavigna <dktrkranz@debian.org>  Mon, 21 Jun 2010 23:24:16 +0200 + +shotwell (0.5.91-1) experimental; urgency=low + +  * New upstream development release. +  * debian/patches/non-linux-fixes.patch: +    - Refresh for new upstream release. +  * debian/control: +    - Build-depend on libgexiv2-dev and libraw-dev. +    - No longer build-depend on libhal-dev. +    - Adjust build-dependencies versioning. +  * debian/README.source: +    - Upstream clarified licensing of some icons with their authors, now +      they are released under CC-BY-SA-3.0, so there is no need to repack +      upstream tarball anymore, thus removing this file. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 20 Jun 2010 16:09:43 +0200 + +shotwell (0.5.2+dfsg-2) unstable; urgency=low + +  * debian/patches/non-linux-fixes.patch: +    - Add Hurd bits to allow build on that architecture. + + -- Luca Falavigna <dktrkranz@debian.org>  Mon, 07 Jun 2010 23:41:52 +0200 + +shotwell (0.5.2+dfsg-1) unstable; urgency=low + +  * New upstream release (Closes: #578903). +  * Drop vala_0.8.0.patch patch, already applied by upstream. +  * debian/control: add Luca Falavigna to Uploaders field. +  * Add debian/patches/non-linux-fixes.patch patch from Peter Green to add +    support for kfreebsd and hurd (Closes: #581662). +  * debian/control: replace "libgudev-1.0-dev (>= 145)" with "libgudev-1.0-dev +    (>= 145) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386]" as suggested by +    Peter Green. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Sun, 23 May 2010 18:40:49 +0200 + +shotwell (0.5.0+dfsg-1.1) unstable; urgency=low + +  * Non-maintainer upload. +  * debian/patches/vala_0.8.0.patch: +    - Build with vala 0.8.0 (Closes: #577913). +  * debian/control: +    - Depend on librsvg2-common and dbus-x11 (Closes: #574112). +    - Bump minimum valac version to 0.8.0. + + -- Luca Falavigna <dktrkranz@debian.org>  Sun, 18 Apr 2010 23:16:32 +0200 + +shotwell (0.5.0+dfsg-1) unstable; urgency=low + +  * New upstream release. +  * Update debian/copyright. +  * Remove debian/patches directory, patches already applied upstream. +  * debian/control: add libgudev-1.0-dev (>= 145) to Build-Depends field. +  * Bump Standards-Version to 3.8.4. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Mon, 15 Mar 2010 15:59:23 +0100 + +shotwell (0.4.3+dfsg-1.1) unstable; urgency=low + +  * Non-maintainer upload. +  * debian/patches/02_vala_0.7.10.patch: +    - Fix build with vala 0.7.10 (Closes: #569370). +  * debian/control: +    - Bump minimum valac version to 0.7.10. + + -- Luca Falavigna <dktrkranz@debian.org>  Sat, 20 Feb 2010 18:03:45 +0100 + +shotwell (0.4.3+dfsg-1) unstable; urgency=low + +  * New upstream release. +  * Switch to format 3.0 (quilt). +  * Add debian/patches/01_GNU-kFreeBSD.diff patch from Cyril Brulebois to fix +    FTBFS on GNU/kFreeBSD (Closes: #564306). + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Sat, 23 Jan 2010 18:56:33 +0100 + +shotwell (0.4.2+dfsg-1) unstable; urgency=low + +  * Initial release (Closes: #561788). + + -- Devid Antonio Filoni <d.filoni@ubuntu.com>  Wed, 06 Jan 2010 14:08:43 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..48082f7 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +12 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..0691e8b --- /dev/null +++ b/debian/control @@ -0,0 +1,75 @@ +Source: shotwell +Section: gnome +Priority: optional +Maintainer: Jörg Frings-Fürst <debian@jff.email> +Build-Depends: + appstream-util, + debhelper (>= 12), + desktop-file-utils, + gnome-doc-utils, + gnome-pkg-tools, + itstool, + libappstream-glib-dev, + libexif-dev (>= 0.6.16), + libgcr-3-dev, + libgdata-dev, + libgee-0.8-dev (>= 0.10), + libgexiv2-dev (>= 0.10.4), + libglib2.0-dev (>= 2.40), + libgphoto2-dev (>= 2.5.4), + libgstreamer-plugins-base1.0-dev (>= 1.0.0), + libgstreamer1.0-dev (>= 1.0.0), + libgtk-3-dev (>= 3.14), + libgudev-1.0-dev (>= 145), + libicu-dev, + libjson-glib-dev, + libraw-dev (>= 0.14), + librest-dev (>= 0.7), + libsoup2.4-dev (>= 2.26.0), + libsqlite3-dev (>= 3.5.9), + libwebkit2gtk-4.0-dev, + libxml2 (>= 2.6.32), + meson, + ninja-build, + valac (>= 0.22.0) +Standards-Version: 4.4.0 +Homepage: https://wiki.gnome.org/Apps/Shotwell +Vcs-Git: git://jff.email/opt/git/shotwell.git +Vcs-Browser: https://jff.email/cgit/shotwell.git + +Package: shotwell +Architecture: linux-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + shotwell-common (= ${source:Version}), + dconf-cli, + default-dbus-session-bus | dbus-session-bus, + librsvg2-common +Replaces: shotwell-common (<< 0.26.2-1) +Description: digital photo organizer + Shotwell is a digital photo organizer designed for the GNOME desktop + environment. It allows you to import photos, pictures, images and videos + from disk or camera. Shotwell can organize them in collections and in other + various ways. The viewer shows them in full-window or fullscreen mode and + presents them as galleries or slideshows. The integrated editor can rotate, + flip, crop and tag the photos, adjust the colors und remove red eyes. Export + is possible to facebook, Flickr or Youtube to share with others. It is able + to manage a lot of image formats such as JPEG, PNG, BMP, TIFF and Raw CR2. + +Package: shotwell-common +Architecture: all +Depends: ${misc:Depends} +Recommends: shotwell +Breaks: shotwell (<< 0.26.2-1) +Description: digital photo organizer - common files + Shotwell is a digital photo organizer designed for the GNOME desktop + environment. It allows you to import photos, pictures, images and videos + from disk or camera. Shotwell can organize them in collections and in other + various ways. The viewer shows them in full-window or fullscreen mode and + presents them as galleries or slideshows. The integrated editor can rotate, + flip, crop and tag the photos, adjust the colors und remove red eyes. Export + is possible to facebook, Flickr or Youtube to share with others. It is able + to manage a lot of image formats such as JPEG, PNG, BMP, TIFF and Raw CR2. + . + This package provides image files and documentation for Shotwell. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..ba36d08 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,61 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: shotwell +Upstream-Contact: Jim Nelson <jim@yorba.org> +Source: https://wiki.gnome.org/Apps/Shotwell + +Files: * +Copyright: 2009-2013 Yorba Foundation +           2010      Evgeniy Polyakov +           2010      Maxim Kartashev +           2013      Jens Bav +           2016-2019 Software Freedom Conservancy Inc. +License: LGPL-2.1 + +Files: plugins/shotwell-publishing/PhotosPublisher.vala +       plugins/shotwell-publishing/PhotosService.vala +       plugins/shotwell-publishing/PhotosPublishingPane.vala +       plugins/shotwell-publishing/PhotosUploader.vala +Copyright: 2016      Software Freedom Conservancy Inc. +           2019      Jens Georg <mail@jensge.org> +License: LGPL-2.1 + +Files: debian/* +Copyright: 2009-2011 Devid Antonio Filoni <d.filoni@ubuntu.com> +           2014-2019 Jörg Frings-Fürst <debian@jff.email> +License: GPL-2+ + +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA + . + On Debian systems, the complete text of the GNU Lesser General Public License + version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1". + +License: GPL-2+ + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + . + On Debian systems, the complete text of the GNU General Public + License can be found in the file `/usr/share/common-licenses/GPL-2'. diff --git a/debian/patches/0001-buildflags.patch b/debian/patches/0001-buildflags.patch new file mode 100644 index 0000000..91ca3a0 --- /dev/null +++ b/debian/patches/0001-buildflags.patch @@ -0,0 +1,20 @@ +Description: Poke requested Debian buildflags for hardening into Makefile +Author: Jörg Frings-Fürst <debian@jff-webhosting.net> +Last-Update: 2015-01-07 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/Makefile +=================================================================== +--- trunk.orig/Makefile ++++ trunk/Makefile +@@ -385,8 +385,8 @@ PLUGIN_CFLAGS = -O2 -g -pipe + endif + endif +  +-CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) +-PLUGIN_CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) ++CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) -fstack-protector-strong ++PLUGIN_CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) -fPIC -fno-stack-protector +  + # Required for gudev-1.0 + CFLAGS += -DG_UDEV_API_IS_SUBJECT_TO_CHANGE diff --git a/debian/patches/0005-hardening.patch b/debian/patches/0005-hardening.patch new file mode 100644 index 0000000..c8abeea --- /dev/null +++ b/debian/patches/0005-hardening.patch @@ -0,0 +1,38 @@ +Description: pass compiler flags set in debian/rules to compiler +Author: Devid Antonio Filoni <d.filoni@ubuntu.com> + +Index: trunk/Makefile +=================================================================== +--- trunk.orig/Makefile ++++ trunk/Makefile +@@ -35,7 +35,7 @@ CORE_SUPPORTED_LANGUAGES=$(shell cat po/ + LOCAL_LANG_DIR=locale-langpack + SYSTEM_LANG_DIR := $(DESTDIR)$(PREFIX)/share/locale +  +-VALAFLAGS := -g --enable-checking --target-glib=2.32 --thread --fatal-warnings --enable-experimental --enable-deprecated $(USER_VALAFLAGS) ++VALAFLAGS := $(foreach w,$(CPPFLAGS) $(CFLAGS) $(LDFLAGS),-X $(w)) --enable-checking --target-glib=2.32 --thread --enable-experimental --enable-deprecated $(USER_VALAFLAGS) + ifdef UNITY_SUPPORT + VALAFLAGS := $(VALAFLAGS) --define UNITY_SUPPORT + endif +@@ -661,7 +661,7 @@ $(EXPANDED_C_FILES): $(VALA_STAMP) + 	@ +  + $(EXPANDED_OBJ_FILES): %.o: %.c $(CONFIG_IN) Makefile +-	$(CC) -c $(VALA_CFLAGS) $(CFLAGS) -o $@ $< ++	$(CC) -c $(VALA_CFLAGS) $(CPPFLAGS) $(CFLAGS) -o $@ $< +  + $(PROGRAM): $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) $(THUMBNAILER_BIN) misc/gschemas.compiled $(DOC_LANG_STAMP) + 	$(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -o $@ +Index: trunk/plugins/Makefile.plugin.mk +=================================================================== +--- trunk.orig/plugins/Makefile.plugin.mk ++++ trunk/plugins/Makefile.plugin.mk +@@ -42,7 +42,7 @@ PLUGIN_EXTRAFLAGS ?= --vapidir=../common + PLUGIN_EXTRALINKFLAGS ?= -L../common/ -lshotwell-plugin-common +  + .stamp: $(SRC_FILES) $(MAKE_FILES) $(HEADER_FILES) +-	$(VALAC) --target-glib=$(MIN_GLIB_VERSION) -g --enable-checking --fatal-warnings --ccode --enable-deprecated \ ++	$(VALAC) --target-glib=$(MIN_GLIB_VERSION) -g --enable-checking --ccode --enable-deprecated \ + 		--vapidir=../ $(foreach pkg,$(PKGS),--pkg=$(pkg)) $(foreach pkg,$(CUSTOM_VAPI_PKGS),--pkg=$(pkg)) \ + 		$(USER_VALAFLAGS) \ + 		$(PLUGIN_EXTRAFLAGS) \ diff --git a/debian/patches/0010-libexec.patch b/debian/patches/0010-libexec.patch new file mode 100644 index 0000000..0e06218 --- /dev/null +++ b/debian/patches/0010-libexec.patch @@ -0,0 +1,16 @@ +Description: do not install files in libexec directory +Author: Luca Falavigna <dktrkranz@debian.org> + +Index: shotwell-0.15.0/Makefile +=================================================================== +--- shotwell-0.15.0.orig/Makefile	2013-10-13 09:51:58.893357001 +0200 ++++ shotwell-0.15.0/Makefile	2013-10-13 09:54:33.885361749 +0200 +@@ -27,7 +27,7 @@ +  + -include configure.mk + ifndef LIBEXECDIR +-LIBEXECDIR=$(PREFIX)/libexec/shotwell ++LIBEXECDIR=$(PREFIX)/share/shotwell + endif +  + CORE_SUPPORTED_LANGUAGES=$(shell cat po/LINGUAS) diff --git a/debian/patches/0100-ios8.patch b/debian/patches/0100-ios8.patch new file mode 100644 index 0000000..8844861 --- /dev/null +++ b/debian/patches/0100-ios8.patch @@ -0,0 +1,103 @@ +Description: Reset iOS 8 devices to download files +Origin: https://bugzilla.gnome.org/show_bug.cgi?id=742295#c22 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=742295 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=792016 +Last-Update: 2016-11-25 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/src/camera/ImportPage.vala +=================================================================== +--- trunk.orig/src/camera/ImportPage.vala ++++ trunk/src/camera/ImportPage.vala +@@ -773,6 +773,15 @@ public class ImportPage : CheckerboardPa +     ~ImportPage() { +         LibraryPhoto.global.contents_altered.disconnect(on_media_added_removed); +         Video.global.contents_altered.disconnect(on_media_added_removed); ++ ++        // iOS 8 issue. Release the camera here ++        if (camera != null) { ++          GPhoto.Result res = camera.exit(spin_idle_context.context); ++          if (res != GPhoto.Result.OK) { ++              // log but don't fail ++              warning("ImportPage destructor: Unable to unlock camera: %s", res.to_full_string()); ++          } ++        } +     } +      +     public override Gtk.Toolbar get_toolbar() { +@@ -1162,11 +1171,14 @@ public class ImportPage : CheckerboardPa +         update_status(busy, false); +          +         refresh_error = null; +-        refresh_result = camera.init(spin_idle_context.context); +-        if (refresh_result != GPhoto.Result.OK) { +-            warning("Unable to initialize camera: %s", refresh_result.to_full_string()); +-             +-            return (refresh_result == GPhoto.Result.IO_LOCK) ? RefreshResult.LOCKED : RefreshResult.LIBRARY_ERROR; ++        // iOS 8 issue ++        if (camera == null) { ++          refresh_result = camera.init(spin_idle_context.context); ++          if (refresh_result != GPhoto.Result.OK) { ++              warning("Unable to initialize camera: %s", refresh_result.to_full_string()); ++ ++              return (refresh_result == GPhoto.Result.IO_LOCK) ? RefreshResult.LOCKED : RefreshResult.LIBRARY_ERROR; ++          } +         } +  +         update_status(true, refreshed); +@@ -1271,13 +1283,15 @@ public class ImportPage : CheckerboardPa +         progress_bar.set_ellipsize(Pango.EllipsizeMode.NONE); +         progress_bar.set_text(""); +         progress_bar.set_fraction(0.0); +-         ++ ++#if 0 +         GPhoto.Result res = camera.exit(spin_idle_context.context); +         if (res != GPhoto.Result.OK) { +             // log but don't fail +             warning("Unable to unlock camera: %s", res.to_full_string()); +         } +-         ++#endif ++ +         if (refresh_result == GPhoto.Result.OK) { +             if (import_sources.get_count () == 0) { +                 this.set_page_message (this.get_view_empty_message ()); +@@ -1646,11 +1660,15 @@ public class ImportPage : CheckerboardPa +     } +      +     private void import(Gee.Iterable<DataObject> items) { +-        GPhoto.Result res = camera.init(spin_idle_context.context); +-        if (res != GPhoto.Result.OK) { +-            AppWindow.error_message(_("Unable to lock camera: %s").printf(res.to_full_string())); +-             +-            return; ++        // We now keep the camera open as long as we can to ++        // work around the iOS 8 directory name shuffling issue. ++        if (camera == null) { ++          GPhoto.Result res = camera.init(spin_idle_context.context); ++          if (res != GPhoto.Result.OK) { ++              AppWindow.error_message(_("Unable to lock camera: %s").printf(res.to_full_string())); ++ ++              return; ++          } +         } +  +         update_status(true, refreshed); +@@ -1786,12 +1804,15 @@ public class ImportPage : CheckerboardPa +     } +  +     private void close_import() { ++// iOS 8 issue ++#if 0 +         GPhoto.Result res = camera.exit(spin_idle_context.context); +         if (res != GPhoto.Result.OK) { +             // log but don't fail +             message("Unable to unlock camera: %s", res.to_full_string()); +         } +-         ++#endif ++ +         update_status(false, refreshed); +          +         on_view_changed(); diff --git a/debian/patches/0105-gitversion.patch b/debian/patches/0105-gitversion.patch new file mode 100644 index 0000000..aba218b --- /dev/null +++ b/debian/patches/0105-gitversion.patch @@ -0,0 +1,19 @@ +Description: Typo in git version macro +Author: Jörg Fringy-Fürst <debian@jff.email> +Forwarded: https://bugzilla.gnome.org/show_bug.cgi?id=795719 +Last-Update: 2018-05-01 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/src/Resources.vala +=================================================================== +--- trunk.orig/src/Resources.vala ++++ trunk/src/Resources.vala +@@ -18,7 +18,7 @@ namespace Resources { +     public const string APP_DIRECT_ROLE = _("Photo Viewer"); +     public const string APP_VERSION = _VERSION; +  +-#if _GITVERSION ++#if _GIT_VERSION +     public const string? GIT_VERSION = _GIT_VERSION; + #else +     public const string? GIT_VERSION = null; diff --git a/debian/patches/0110-fix_GoogleAuthenticator.patch b/debian/patches/0110-fix_GoogleAuthenticator.patch new file mode 100644 index 0000000..2ea4155 --- /dev/null +++ b/debian/patches/0110-fix_GoogleAuthenticator.patch @@ -0,0 +1,135 @@ +Description: Fix GoogleAuthenticator +Author: Jörg Frings-Fürst <debian@jff.email> +Origin: upstream, https://gitlab.gnome.org/GNOME/shotwell/commit/db18c371984b80ead9daf4e0ae2058469d2f5524.diff +Bug: https://gitlab.gnome.org/GNOME/shotwell/issues/158 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934723 +Forwarded: not-needed +Last-Update: 2019-08-14 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala +=================================================================== +--- trunk.orig/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala ++++ trunk/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala +@@ -54,6 +54,12 @@ namespace Publishing.Authenticator.Shotw +         } +  +         public override void on_page_load() { ++            if (this.load_error != null) { ++                this.error(); ++ ++                return; ++            } ++ +             var uri = new Soup.URI(get_view().get_uri()); +             if (uri.scheme == "shotwell-auth" && this.auth_code == null) { +                 var form_data = Soup.Form.decode (uri.query); +@@ -77,6 +83,8 @@ namespace Publishing.Authenticator.Shotw +     } +  +     internal class Flickr : Publishing.Authenticator.Shotwell.OAuth1.Authenticator { ++        private WebAuthenticationPane pane; ++ +         public Flickr(Spit.Publishing.PluginHost host) { +             base(API_KEY, API_SECRET, host); +         } +@@ -185,13 +193,17 @@ namespace Publishing.Authenticator.Shotw +         } +  +         private void do_web_authentication(string token) { +-            var pane = new WebAuthenticationPane(token); ++            pane = new WebAuthenticationPane(token); +             host.install_dialog_pane(pane); +             pane.authorized.connect(this.do_verify_pin); +             pane.error.connect(this.on_web_login_error); +         } +  +         private void on_web_login_error() { ++            if (pane.load_error != null) { ++                host.post_error(pane.load_error); ++                return; ++            } +             host.post_error(new Spit.Publishing.PublishingError.PROTOCOL_ERROR(_("Flickr authorization failed"))); +         } +  +Index: trunk/plugins/authenticator/shotwell/GoogleAuthenticator.vala +=================================================================== +--- trunk.orig/plugins/authenticator/shotwell/GoogleAuthenticator.vala ++++ trunk/plugins/authenticator/shotwell/GoogleAuthenticator.vala +@@ -21,6 +21,12 @@ namespace Publishing.Authenticator.Shotw +         } +  +         public override void on_page_load() { ++            if (this.load_error != null) { ++                this.error (); ++ ++                return; ++            } ++ +             var uri = new Soup.URI(get_view().get_uri()); +             if (uri.scheme == REVERSE_CLIENT_ID && this.auth_code == null) { +                 var form_data = Soup.Form.decode (uri.query); +@@ -173,6 +179,7 @@ namespace Publishing.Authenticator.Shotw +  +             web_auth_pane = new WebAuthenticationPane(user_authorization_url); +             web_auth_pane.authorized.connect(on_web_auth_pane_authorized); ++            web_auth_pane.error.connect(on_web_auth_pane_error); +  +             host.install_dialog_pane(web_auth_pane); +         } +@@ -185,6 +192,10 @@ namespace Publishing.Authenticator.Shotw +             do_get_access_tokens(auth_code); +         } +  ++        private void on_web_auth_pane_error() { ++            host.post_error(web_auth_pane.load_error); ++        } ++ +         private void do_get_access_tokens(string auth_code) { +             debug("ACTION: exchanging authorization code for access & refresh tokens"); +  +Index: trunk/plugins/common/WebAuthenticationPane.vala +=================================================================== +--- trunk.orig/plugins/common/WebAuthenticationPane.vala ++++ trunk/plugins/common/WebAuthenticationPane.vala +@@ -12,6 +12,7 @@ namespace Shotwell.Plugins.Common { +         } +  +         public string login_uri { owned get; construct; } ++        public Error load_error { get; private set; default = null; } +  +         private WebKit.WebView webview; +  +@@ -22,6 +23,7 @@ namespace Shotwell.Plugins.Common { +             this.webview.get_settings ().enable_plugins = false; +  +             this.webview.load_changed.connect (this.on_page_load_changed); ++            this.webview.load_failed.connect (this.on_page_load_failed); +             this.webview.context_menu.connect ( () => { return false; }); +         } +  +@@ -29,11 +31,24 @@ namespace Shotwell.Plugins.Common { +  +         protected void set_cursor (Gdk.CursorType type) { +             var window = webview.get_window (); ++            if (window == null) ++                return; ++ +             var display = window.get_display (); ++            if (display == null) ++                return; ++ +             var cursor = new Gdk.Cursor.for_display (display, type); +             window.set_cursor (cursor); +         } +  ++        private bool on_page_load_failed (WebKit.LoadEvent load_event, string uri, Error error) { ++            critical ("Failed to load uri %s: %s", uri, error.message); ++            this.load_error = error; ++ ++            return false; ++        } ++ +         private void on_page_load_changed (WebKit.LoadEvent load_event) { +             switch (load_event) { +                 case WebKit.LoadEvent.STARTED: diff --git a/debian/patches/0500-Port-to-webkit2gtk-40.patch b/debian/patches/0500-Port-to-webkit2gtk-40.patch new file mode 100644 index 0000000..51cd8de --- /dev/null +++ b/debian/patches/0500-Port-to-webkit2gtk-40.patch @@ -0,0 +1,1026 @@ +From afc5e103d2dd414f0d028565097d86c7e85fadbc Mon Sep 17 00:00:00 2001 +From: Iain Lane <iain@orangesquash.org.uk> +Date: Tue, 30 Jun 2015 10:43:15 +0100 +Subject: [PATCH] Port to webkit2gtk-4.0 + +https://bugzilla.gnome.org/show_bug.cgi?id=751709 +--- + Makefile                                           |   8 +- + debian/control                                     |   2 +- + plugins/common/RESTSupport.vala                    |  24 +- + plugins/shotwell-publishing-extras/Makefile        |   2 +- + .../YandexPublishing.vala                          |  67 ++- + .../shotwell-publishing/FacebookPublishing.vala    |  36 +- + plugins/shotwell-publishing/Makefile               |   2 +- + vapi/webkitgtk-3.0.deps                            |   8 - + vapi/webkitgtk-3.0.vapi                            | 653 --------------------- + 9 files changed, 97 insertions(+), 705 deletions(-) + delete mode 100644 vapi/webkitgtk-3.0.deps + delete mode 100644 vapi/webkitgtk-3.0.vapi + +diff --git a/Makefile b/Makefile +index fe354a7..1ce5668 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ VALAC := $(shell which $(VALAC)) + endif +  + VALAC_VERSION := `$(VALAC) --version | awk '{print $$2}'` +-MIN_VALAC_VERSION := 0.20.1 ++MIN_VALAC_VERSION := 0.28.0 + INSTALL_PROGRAM := install + INSTALL_DATA := install -m 644 +  +@@ -120,12 +120,10 @@ VAPI_FILES = \ + 	LConv.vapi \ + 	libexif.vapi \ + 	libraw.vapi \ +-	webkitgtk-3.0.vapi \ + 	unique-3.0.vapi \ + 	unity.vapi +  + DEPS_FILES = \ +-	webkitgtk-3.0.deps \ + 	unique-3.0.deps \ + 	unity.deps +  +@@ -271,7 +269,7 @@ EXT_PKGS = \ + 	libsoup-2.4 \ + 	libxml-2.0 \ + 	sqlite3 \ +-	webkitgtk-3.0 ++	webkit2gtk-4.0 + ifdef UNITY_SUPPORT + EXT_PKGS += unity + endif +@@ -303,7 +301,7 @@ EXT_PKG_VERSIONS = \ + 	libxml-2.0 >= 2.6.32 \ + 	rest-0.7 >= 0.7 \ + 	sqlite3 >= 3.5.9 \ +-	webkitgtk-3.0 >= 1.4.0 \ ++	webkit2gtk-4.0 \ + 	gnome-doc-utils +  + DIRECT_LIBS_VERSIONS = +diff --git a/plugins/common/RESTSupport.vala b/plugins/common/RESTSupport.vala +index fdde409..a4a0621 100644 +--- a/plugins/common/RESTSupport.vala ++++ b/plugins/common/RESTSupport.vala +@@ -741,10 +741,9 @@ public abstract class GooglePublisher : Object, Spit.Publishing.Publisher { +  +             webview = new WebKit.WebView(); +             webview.get_settings().enable_plugins = false; +-            webview.get_settings().enable_default_context_menu = false; +  +-            webview.load_finished.connect(on_page_load); +-            webview.load_started.connect(on_load_started); ++            webview.load_changed.connect(on_page_load_changed); ++            webview.context_menu.connect(() => { return false; }); +  +             webview_frame.add(webview); +             pane_widget.pack_start(webview_frame, true, true, 0); +@@ -754,7 +753,7 @@ public abstract class GooglePublisher : Object, Spit.Publishing.Publisher { +             return cache_dirty; +         } +          +-        private void on_page_load(WebKit.WebFrame origin_frame) { ++        private void on_page_load() { +             pane_widget.get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.LEFT_PTR)); +              +             string page_title = webview.get_title(); +@@ -772,9 +771,22 @@ public abstract class GooglePublisher : Object, Spit.Publishing.Publisher { +             } +         } +  +-        private void on_load_started(WebKit.WebFrame frame) { ++        private void on_load_started() { +             pane_widget.get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.WATCH)); +         } ++ ++        private void on_page_load_changed (WebKit.LoadEvent load_event) { ++            switch (load_event) { ++                case WebKit.LoadEvent.STARTED: ++                    on_load_started(); ++                    break; ++                case WebKit.LoadEvent.FINISHED: ++                    on_page_load(); ++                    break; ++            } ++ ++            return; ++        } +          +         public Spit.Publishing.DialogPane.GeometryOptions get_preferred_geometry() { +             return Spit.Publishing.DialogPane.GeometryOptions.NONE; +@@ -785,7 +797,7 @@ public abstract class GooglePublisher : Object, Spit.Publishing.Publisher { +         } +  +         public void on_pane_installed() { +-            webview.open(auth_sequence_start_url); ++            webview.load_uri(auth_sequence_start_url); +         } +  +         public void on_pane_uninstalled() { +diff --git a/plugins/shotwell-publishing-extras/Makefile b/plugins/shotwell-publishing-extras/Makefile +index 9259fbb..91452cf 100644 +--- a/plugins/shotwell-publishing-extras/Makefile ++++ b/plugins/shotwell-publishing-extras/Makefile +@@ -5,7 +5,7 @@ PLUGIN_PKGS := \ + 	gtk+-3.0 \ + 	libsoup-2.4 \ + 	libxml-2.0 \ +-	webkitgtk-3.0 \ ++	webkit2gtk-4.0 \ + 	gee-0.8 \ + 	rest-0.7 \ + 	json-glib-1.0 +diff --git a/plugins/shotwell-publishing-extras/YandexPublishing.vala b/plugins/shotwell-publishing-extras/YandexPublishing.vala +index 36a3ede..ec99c2b 100644 +--- a/plugins/shotwell-publishing-extras/YandexPublishing.vala ++++ b/plugins/shotwell-publishing-extras/YandexPublishing.vala +@@ -120,43 +120,70 @@ internal class WebAuthPane : Spit.Publishing.DialogPane, GLib.Object { +  +         webview = new WebKit.WebView(); +         webview.get_settings().enable_plugins = false; +-        webview.get_settings().enable_default_context_menu = false; +  +-        webview.load_finished.connect(on_page_load); +-        webview.load_started.connect(on_load_started); +-        webview.navigation_requested.connect(navigation_requested); ++        webview.load_changed.connect(on_page_load_changed); ++        webview.decide_policy.connect(on_decide_policy); ++        webview.context_menu.connect(() => { return false; }); +  +         webview_frame.add(webview); +         pane_widget.pack_start(webview_frame, true, true, 0); +     } +  +-    private void on_page_load(WebKit.WebFrame origin_frame) { ++    private void on_page_load() { +         pane_widget.get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.LEFT_PTR)); +     } +  +-    private WebKit.NavigationResponse navigation_requested (WebKit.WebFrame frame, WebKit.NetworkRequest req) { +-        debug("Navigating to '%s'", req.uri); ++    private bool on_decide_policy (WebKit.PolicyDecision decision, ++                                   WebKit.PolicyDecisionType type) { ++        switch (type) { ++            case WebKit.PolicyDecisionType.NAVIGATION_ACTION: ++                WebKit.NavigationPolicyDecision n_decision = (WebKit.NavigationPolicyDecision) decision; ++                WebKit.NavigationAction action = n_decision.navigation_action; ++                string uri = action.get_request().uri; ++                debug("Navigating to '%s'", uri); +  +-        MatchInfo info = null; ++                MatchInfo info = null; +  +-        if (re.match(req.uri, 0, out info)) { +-            string access_token = info.fetch_all()[2]; ++                if (re.match(uri, 0, out info)) { ++                    string access_token = info.fetch_all()[2]; +  +-            debug("Load completed: %s", access_token); +-            pane_widget.get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.LEFT_PTR)); +-            if (access_token != null) { +-                login_succeeded(access_token); +-                return WebKit.NavigationResponse.IGNORE; +-            } else +-                login_failed(); ++                    debug("Load completed: %s", access_token); ++                    pane_widget.get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.LEFT_PTR)); ++                    if (access_token != null) { ++                        login_succeeded(access_token); ++                        decision.ignore(); ++                        break; ++                    } else ++                        login_failed(); ++                } ++                decision.use(); ++                break; ++            case WebKit.PolicyDecisionType.RESPONSE: ++                decision.use(); ++                break; ++            default: ++                return false; +         } +-        return WebKit.NavigationResponse.ACCEPT; ++        return true; +     } +  +-    private void on_load_started(WebKit.WebFrame frame) { ++    private void on_load_started() { +         pane_widget.get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.WATCH)); +     } +  ++    private void on_page_load_changed (WebKit.LoadEvent load_event) { ++        switch (load_event) { ++            case WebKit.LoadEvent.STARTED: ++                on_load_started(); ++                break; ++            case WebKit.LoadEvent.FINISHED: ++                on_page_load(); ++                break; ++        } ++ ++        return; ++    } ++ +     public Gtk.Widget get_widget() { +         return pane_widget; +     } +@@ -166,7 +193,7 @@ internal class WebAuthPane : Spit.Publishing.DialogPane, GLib.Object { +     } +  +     public void on_pane_installed() { +-        webview.open(login_url); ++        webview.load_uri(login_url); +     } +  +     public void on_pane_uninstalled() { +diff --git a/plugins/shotwell-publishing/FacebookPublishing.vala b/plugins/shotwell-publishing/FacebookPublishing.vala +index 1dd793d..4efe7f7 100644 +--- a/plugins/shotwell-publishing/FacebookPublishing.vala ++++ b/plugins/shotwell-publishing/FacebookPublishing.vala +@@ -535,7 +535,7 @@ public class FacebookPublisher : Spit.Publishing.Publisher, GLib.Object { +             return; +  +         debug("EVENT: endpoint test transaction failed to detect a connection to the Facebook " + +-            "endpoint"); ++            "endpoint" + error.message); +  +         on_generic_error(error); +     } +@@ -829,15 +829,15 @@ internal class WebAuthenticationPane : Spit.Publishing.DialogPane, Object { +  +         webview = new WebKit.WebView(); +         webview.get_settings().enable_plugins = false; +-        webview.get_settings().enable_default_context_menu = false; ++        webview.get_settings().enable_xss_auditor = false; +  +-        webview.load_finished.connect(on_page_load); +-        webview.load_started.connect(on_load_started); ++        webview.load_changed.connect(on_page_load_changed); ++        webview.context_menu.connect(() => { return true; }); +  +         webview_frame.add(webview); +         pane_widget.pack_start(webview_frame, true, true, 0); +     } +-     ++ +     private class LocaleLookup { +         public string prefix; +         public string translation; +@@ -945,10 +945,11 @@ internal class WebAuthenticationPane : Spit.Publishing.DialogPane, Object { +         return "https://%s.facebook.com/dialog/oauth?client_id=%s&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=publish_actions,user_photos,user_videos&response_type=token".printf(facebook_locale, APPLICATION_ID); +     } +  +-    private void on_page_load(WebKit.WebFrame origin_frame) { ++    private void on_page_load() { +         pane_widget.get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.LEFT_PTR)); +  +-        string loaded_url = origin_frame.get_uri().dup(); ++        string loaded_url = webview.uri.dup(); ++        debug("loaded url: " + loaded_url); +  +         // strip parameters from the loaded url +         if (loaded_url.contains("?")) { +@@ -960,7 +961,7 @@ internal class WebAuthenticationPane : Spit.Publishing.DialogPane, Object { +         // were we redirected to the facebook login success page? +         if (loaded_url.contains("login_success")) { +             cache_dirty = true; +-            login_succeeded(origin_frame.get_uri()); ++            login_succeeded(webview.uri); +             return; +         } +  +@@ -971,10 +972,24 @@ internal class WebAuthenticationPane : Spit.Publishing.DialogPane, Object { +         } +     } +  +-    private void on_load_started(WebKit.WebFrame frame) { ++    private void on_load_started() { +         pane_widget.get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.WATCH)); +     } +  ++    private void on_page_load_changed (WebKit.LoadEvent load_event) { ++        switch (load_event) { ++            case WebKit.LoadEvent.STARTED: ++            case WebKit.LoadEvent.REDIRECTED: ++                on_load_started(); ++                break; ++            case WebKit.LoadEvent.FINISHED: ++                on_page_load(); ++                break; ++        } ++ ++        return; ++    } ++ +     public static bool is_cache_dirty() { +         return cache_dirty; +     } +@@ -988,7 +1003,7 @@ internal class WebAuthenticationPane : Spit.Publishing.DialogPane, Object { +     } +  +     public void on_pane_installed() { +-        webview.open(get_login_url()); ++        webview.load_uri(get_login_url()); +     } +  +     public void on_pane_uninstalled() { +@@ -1527,6 +1542,7 @@ internal class GraphSession { +                         "Service %s returned HTTP status code %u %s", real_message.get_uri(), +                         msg.status_code, msg.reason_phrase); +                 } else { ++                    debug(msg.reason_phrase); +                     error = new Spit.Publishing.PublishingError.NO_ANSWER( +                         "Failure communicating with %s (error code %u)", real_message.get_uri(), +                         msg.status_code); +diff --git a/plugins/shotwell-publishing/Makefile b/plugins/shotwell-publishing/Makefile +index 639fa88..6b3945b 100644 +--- a/plugins/shotwell-publishing/Makefile ++++ b/plugins/shotwell-publishing/Makefile +@@ -5,7 +5,7 @@ PLUGIN_PKGS := \ + 	gtk+-3.0 \ + 	libsoup-2.4 \ + 	libxml-2.0 \ +-	webkitgtk-3.0 \ ++	webkit2gtk-4.0 \ + 	gexiv2 \ + 	rest-0.7 \ + 	gee-0.8 \ +diff --git a/vapi/webkitgtk-3.0.deps b/vapi/webkitgtk-3.0.deps +deleted file mode 100644 +index 91b1dfe..0000000 +--- a/vapi/webkitgtk-3.0.deps ++++ /dev/null +@@ -1,8 +0,0 @@ +-atk +-gio-2.0 +-cairo +-pango +-gdk-pixbuf-2.0 +-gdk-3.0 +-gtk+-3.0 +-libsoup-2.4 +diff --git a/vapi/webkitgtk-3.0.vapi b/vapi/webkitgtk-3.0.vapi +deleted file mode 100644 +index 9e0d347..0000000 +--- a/vapi/webkitgtk-3.0.vapi ++++ /dev/null +@@ -1,653 +0,0 @@ +-/* webkit-1.0.vapi generated by vapigen, do not modify. */ +- +-[CCode (cprefix = "WebKit", lower_case_cprefix = "webkit_")] +-namespace WebKit { +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class Download : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public Download (WebKit.NetworkRequest request); +-		public void cancel (); +-		public uint64 get_current_size (); +-		public unowned string get_destination_uri (); +-		public double get_elapsed_time (); +-		public unowned WebKit.NetworkRequest get_network_request (); +-		public unowned WebKit.NetworkResponse get_network_response (); +-		public double get_progress (); +-		public WebKit.DownloadStatus get_status (); +-		public unowned string get_suggested_filename (); +-		public uint64 get_total_size (); +-		public unowned string get_uri (); +-		public void set_destination_uri (string destination_uri); +-		public void start (); +-		public uint64 current_size { get; } +-		public string destination_uri { get; set; } +-		public WebKit.NetworkRequest network_request { get; construct; } +-		public WebKit.NetworkResponse network_response { get; construct; } +-		public double progress { get; } +-		public WebKit.DownloadStatus status { get; } +-		public string suggested_filename { get; } +-		public uint64 total_size { get; } +-		public virtual signal bool error (int p0, int p1, string p2); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class GeolocationPolicyDecision : GLib.Object { +-		[CCode (has_construct_function = false)] +-		protected GeolocationPolicyDecision (); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class HitTestResult : GLib.Object { +-		[CCode (has_construct_function = false)] +-		protected HitTestResult (); +-		[NoAccessorMethod] +-		public WebKit.HitTestResultContext context { get; construct; } +-		[NoAccessorMethod] +-		public string image_uri { owned get; construct; } +-		[NoAccessorMethod] +-		public string link_uri { owned get; construct; } +-		[NoAccessorMethod] +-		public string media_uri { owned get; construct; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class NetworkRequest : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public NetworkRequest (string uri); +-		public unowned Soup.Message get_message (); +-		public unowned string get_uri (); +-		public void set_uri (string uri); +-		public Soup.Message message { get; construct; } +-		public string uri { get; set; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class NetworkResponse : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public NetworkResponse (string uri); +-		public unowned Soup.Message get_message (); +-		public unowned string get_uri (); +-		public void set_uri (string uri); +-		public Soup.Message message { get; construct; } +-		public string uri { get; set; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class SecurityOrigin : GLib.Object { +-		[CCode (has_construct_function = false)] +-		protected SecurityOrigin (); +-		public unowned GLib.List<WebKit.WebDatabase> get_all_web_databases (); +-		public unowned string get_host (); +-		public uint get_port (); +-		public unowned string get_protocol (); +-		public uint64 get_web_database_quota (); +-		public uint64 get_web_database_usage (); +-		public void set_web_database_quota (uint64 quota); +-		public string host { get; } +-		public uint port { get; } +-		public string protocol { get; } +-		public uint64 web_database_quota { get; set; } +-		public uint64 web_database_usage { get; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class SoupAuthDialog : GLib.Object, Soup.SessionFeature { +-		[CCode (has_construct_function = false)] +-		protected SoupAuthDialog (); +-		public virtual signal unowned Gtk.Widget current_toplevel (Soup.Message message); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebBackForwardList : GLib.Object { +-		[CCode (has_construct_function = false)] +-		protected WebBackForwardList (); +-		public void add_item (WebKit.WebHistoryItem history_item); +-		public void clear (); +-		public bool contains_item (WebKit.WebHistoryItem history_item); +-		public unowned WebKit.WebHistoryItem get_back_item (); +-		public int get_back_length (); +-		public unowned GLib.List<WebKit.WebHistoryItem> get_back_list_with_limit (int limit); +-		public unowned WebKit.WebHistoryItem get_current_item (); +-		public unowned WebKit.WebHistoryItem get_forward_item (); +-		public int get_forward_length (); +-		public unowned GLib.List<WebKit.WebHistoryItem> get_forward_list_with_limit (int limit); +-		public int get_limit (); +-		public unowned WebKit.WebHistoryItem get_nth_item (int index); +-		public void go_back (); +-		public void go_forward (); +-		public void go_to_item (WebKit.WebHistoryItem history_item); +-		public void set_limit (int limit); +-		[CCode (has_construct_function = false)] +-		public WebBackForwardList.with_web_view (WebKit.WebView web_view); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebDataSource : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public WebDataSource (); +-		public unowned GLib.StringBuilder get_data (); +-		public unowned string get_encoding (); +-		public unowned WebKit.NetworkRequest get_initial_request (); +-		public unowned WebKit.WebResource get_main_resource (); +-		public unowned WebKit.NetworkRequest get_request (); +-		public unowned GLib.List<WebKit.WebResource> get_subresources (); +-		public unowned string get_unreachable_uri (); +-		public unowned WebKit.WebFrame get_web_frame (); +-		public bool is_loading (); +-		[CCode (has_construct_function = false)] +-		public WebDataSource.with_request (WebKit.NetworkRequest request); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebDatabase : GLib.Object { +-		[CCode (has_construct_function = false)] +-		protected WebDatabase (); +-		public unowned string get_display_name (); +-		public uint64 get_expected_size (); +-		public unowned string get_filename (); +-		public unowned string get_name (); +-		public unowned WebKit.SecurityOrigin get_security_origin (); +-		public uint64 get_size (); +-		public void remove (); +-		public string display_name { get; } +-		public uint64 expected_size { get; } +-		public string filename { get; } +-		public string name { get; construct; } +-		public WebKit.SecurityOrigin security_origin { get; construct; } +-		public uint64 size { get; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebFrame : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public WebFrame (WebKit.WebView web_view); +-		public unowned WebKit.WebFrame find_frame (string name); +-		public unowned WebKit.WebDataSource get_data_source (); +-		public Gtk.PolicyType get_horizontal_scrollbar_policy (); +-		public WebKit.LoadStatus get_load_status (); +-		public unowned string get_name (); +-		public unowned WebKit.NetworkResponse get_network_response (); +-		public unowned WebKit.WebFrame get_parent (); +-		public unowned WebKit.WebDataSource get_provisional_data_source (); +-		public unowned WebKit.SecurityOrigin get_security_origin (); +-		public unowned string get_title (); +-		public unowned string get_uri (); +-		public Gtk.PolicyType get_vertical_scrollbar_policy (); +-		public unowned WebKit.WebView get_web_view (); +-		public void load_alternate_string (string content, string base_url, string unreachable_url); +-		public void load_request (WebKit.NetworkRequest request); +-		public void load_string (string content, string mime_type, string encoding, string base_uri); +-		public void load_uri (string uri); +-		public void print (); +-		public Gtk.PrintOperationResult print_full (Gtk.PrintOperation operation, Gtk.PrintOperationAction action) throws GLib.Error; +-		public void reload (); +-		public void stop_loading (); +-		public Gtk.PolicyType horizontal_scrollbar_policy { get; } +-		public WebKit.LoadStatus load_status { get; } +-		public string name { get; } +-		public string title { get; } +-		public string uri { get; } +-		public Gtk.PolicyType vertical_scrollbar_policy { get; } +-		public virtual signal void cleared (); +-		public virtual signal void hovering_over_link (string p0, string p1); +-		public virtual signal void load_committed (); +-		public virtual signal void load_done (bool p0); +-		public virtual signal bool scrollbars_policy_changed (); +-		public virtual signal void title_changed (string p0); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebHistoryItem : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public WebHistoryItem (); +-		public unowned WebKit.WebHistoryItem copy (); +-		public unowned string get_alternate_title (); +-		public double get_last_visited_time (); +-		public unowned string get_original_uri (); +-		public unowned string get_title (); +-		public unowned string get_uri (); +-		public void set_alternate_title (string title); +-		[CCode (has_construct_function = false)] +-		public WebHistoryItem.with_data (string uri, string title); +-		public string alternate_title { get; set; } +-		public double last_visited_time { get; } +-		public string original_uri { get; } +-		public string title { get; } +-		public string uri { get; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebInspector : GLib.Object { +-		[CCode (has_construct_function = false)] +-		protected WebInspector (); +-		public void close (); +-		public unowned string get_inspected_uri (); +-		public unowned WebKit.WebView get_web_view (); +-		public void inspect_coordinates (double x, double y); +-		public void show (); +-		public string inspected_uri { get; } +-		[NoAccessorMethod] +-		public bool javascript_profiling_enabled { get; set; } +-		[NoAccessorMethod] +-		public bool timeline_profiling_enabled { get; set; } +-		public WebKit.WebView web_view { get; } +-		public virtual signal bool attach_window (); +-		public virtual signal bool close_window (); +-		public virtual signal bool detach_window (); +-		public virtual signal void finished (); +-		public virtual signal unowned WebKit.WebView inspect_web_view (WebKit.WebView p0); +-		public virtual signal bool show_window (); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebNavigationAction : GLib.Object { +-		[CCode (has_construct_function = false)] +-		protected WebNavigationAction (); +-		public int get_button (); +-		public int get_modifier_state (); +-		public unowned string get_original_uri (); +-		public WebKit.WebNavigationReason get_reason (); +-		public unowned string get_target_frame (); +-		public void set_original_uri (string originalUri); +-		public void set_reason (WebKit.WebNavigationReason reason); +-		public int button { get; construct; } +-		public int modifier_state { get; construct; } +-		public string original_uri { get; set construct; } +-		public WebKit.WebNavigationReason reason { get; set construct; } +-		public string target_frame { get; construct; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebPolicyDecision : GLib.Object { +-		[CCode (has_construct_function = false)] +-		protected WebPolicyDecision (); +-		public void download (); +-		public void ignore (); +-		public void use (); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebResource : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public WebResource (string data, ssize_t size, string uri, string mime_type, string encoding, string frame_name); +-		public unowned GLib.StringBuilder get_data (); +-		public unowned string get_encoding (); +-		public unowned string get_frame_name (); +-		public unowned string get_mime_type (); +-		public unowned string get_uri (); +-		public string encoding { get; } +-		public string frame_name { get; } +-		public string mime_type { get; } +-		public string uri { get; construct; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebSettings : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public WebSettings (); +-		public WebKit.WebSettings copy (); +-		public unowned string get_user_agent (); +-		[NoAccessorMethod] +-		public bool auto_load_images { get; set construct; } +-		[NoAccessorMethod] +-		public bool auto_resize_window { get; set construct; } +-		[NoAccessorMethod] +-		public bool auto_shrink_images { get; set construct; } +-		[NoAccessorMethod] +-		public string cursive_font_family { owned get; set construct; } +-		[NoAccessorMethod] +-		public string default_encoding { owned get; set construct; } +-		[NoAccessorMethod] +-		public string default_font_family { owned get; set construct; } +-		[NoAccessorMethod] +-		public int default_font_size { get; set construct; } +-		[NoAccessorMethod] +-		public int default_monospace_font_size { get; set construct; } +-		[NoAccessorMethod] +-		public WebKit.EditingBehavior editing_behavior { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_caret_browsing { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_default_context_menu { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_developer_extras { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_dom_paste { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_file_access_from_file_uris { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_html5_database { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_html5_local_storage { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_java_applet { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_offline_web_application_cache { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_page_cache { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_plugins { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_private_browsing { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_scripts { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_site_specific_quirks { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_spatial_navigation { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_spell_checking { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_universal_access_from_file_uris { get; set construct; } +-		[NoAccessorMethod] +-		public bool enable_xss_auditor { get; set construct; } +-		[NoAccessorMethod] +-		public bool enforce_96_dpi { get; set construct; } +-		[NoAccessorMethod] +-		public string fantasy_font_family { owned get; set construct; } +-		[NoAccessorMethod] +-		public bool javascript_can_access_clipboard { get; set construct; } +-		[NoAccessorMethod] +-		public bool javascript_can_open_windows_automatically { get; set construct; } +-		[NoAccessorMethod] +-		public int minimum_font_size { get; set construct; } +-		[NoAccessorMethod] +-		public int minimum_logical_font_size { get; set construct; } +-		[NoAccessorMethod] +-		public string monospace_font_family { owned get; set construct; } +-		[NoAccessorMethod] +-		public bool print_backgrounds { get; set construct; } +-		[NoAccessorMethod] +-		public bool resizable_text_areas { get; set construct; } +-		[NoAccessorMethod] +-		public string sans_serif_font_family { owned get; set construct; } +-		[NoAccessorMethod] +-		public string serif_font_family { owned get; set construct; } +-		[NoAccessorMethod] +-		public string spell_checking_languages { owned get; set construct; } +-		[NoAccessorMethod] +-		public bool tab_key_cycles_through_elements { get; set construct; } +-		[NoAccessorMethod] +-		public string user_agent { owned get; set construct; } +-		[NoAccessorMethod] +-		public string user_stylesheet_uri { owned get; set construct; } +-		[NoAccessorMethod] +-		public float zoom_step { get; set construct; } +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebView : Gtk.Container, Atk.Implementor, Gtk.Buildable { +-		[CCode (type = "GtkWidget*", has_construct_function = false)] +-		public WebView (); +-		public bool can_copy_clipboard (); +-		public bool can_cut_clipboard (); +-		public bool can_go_back (); +-		public bool can_go_back_or_forward (int steps); +-		public bool can_go_forward (); +-		public bool can_paste_clipboard (); +-		public bool can_redo (); +-		public bool can_show_mime_type (string mime_type); +-		public bool can_undo (); +-		[NoWrapper] +-		public virtual unowned string choose_file (WebKit.WebFrame frame, string old_file); +-		public void delete_selection (); +-		public void execute_script (string script); +-		public unowned WebKit.WebBackForwardList get_back_forward_list (); +-		public unowned Gtk.TargetList get_copy_target_list (); +-		public unowned string get_custom_encoding (); +-		public bool get_editable (); +-		public unowned string get_encoding (); +-		public unowned WebKit.WebFrame get_focused_frame (); +-		public bool get_full_content_zoom (); +-		public unowned WebKit.HitTestResult get_hit_test_result (Gdk.EventButton event); +-		public unowned string get_icon_uri (); +-		public unowned WebKit.WebInspector get_inspector (); +-		public WebKit.LoadStatus get_load_status (); +-		public unowned WebKit.WebFrame get_main_frame (); +-		public unowned Gtk.TargetList get_paste_target_list (); +-		public double get_progress (); +-		public unowned WebKit.WebSettings get_settings (); +-		public unowned string get_title (); +-		public bool get_transparent (); +-		public unowned string get_uri (); +-		public bool get_view_source_mode (); +-		public unowned WebKit.WebWindowFeatures get_window_features (); +-		public float get_zoom_level (); +-		public void go_back (); +-		public void go_back_or_forward (int steps); +-		public void go_forward (); +-		public bool go_to_back_forward_item (WebKit.WebHistoryItem item); +-		public bool has_selection (); +-		public void load_html_string (string content, string base_uri); +-		public void load_request (WebKit.NetworkRequest request); +-		public void load_string (string content, string mime_type, string encoding, string base_uri); +-		public void load_uri (string uri); +-		public uint mark_text_matches (string str, bool case_sensitive, uint limit); +-		public void open (string uri); +-		public void reload (); +-		public void reload_bypass_cache (); +-		public bool search_text (string text, bool case_sensitive, bool forward, bool wrap); +-		public void set_custom_encoding (string encoding); +-		public void set_editable (bool flag); +-		public void set_full_content_zoom (bool full_content_zoom); +-		public void set_highlight_text_matches (bool highlight); +-		public void set_maintains_back_forward_list (bool flag); +-		public void set_settings (WebKit.WebSettings settings); +-		public void set_transparent (bool flag); +-		public void set_view_source_mode (bool view_source_mode); +-		public void set_zoom_level (float zoom_level); +-		public void stop_loading (); +-		public void unmark_text_matches (); +-		public void zoom_in (); +-		public void zoom_out (); +-		public Gtk.TargetList copy_target_list { get; } +-		public string custom_encoding { get; set; } +-		public bool editable { get; set; } +-		public string encoding { get; } +-		public bool full_content_zoom { get; set; } +-		public string icon_uri { get; } +-		[NoAccessorMethod] +-		public Gtk.IMContext im_context { owned get; } +-		public WebKit.LoadStatus load_status { get; } +-		public Gtk.TargetList paste_target_list { get; } +-		public double progress { get; } +-		public WebKit.WebSettings settings { get; set; } +-		public string title { get; } +-		public bool transparent { get; set; } +-		public string uri { get; } +-		[NoAccessorMethod] +-		public WebKit.WebInspector web_inspector { owned get; } +-		[NoAccessorMethod] +-		public WebKit.WebWindowFeatures window_features { owned get; set; } +-		public float zoom_level { get; set; } +-		public virtual signal bool close_web_view (); +-		public virtual signal bool console_message (string message, int line_number, string source_id); +-		[HasEmitter] +-		public virtual signal void copy_clipboard (); +-		public virtual signal unowned Gtk.Widget create_plugin_widget (string p0, string p1, GLib.HashTable p2); +-		public virtual signal WebKit.WebView create_web_view (WebKit.WebFrame web_frame); +-		[HasEmitter] +-		public virtual signal void cut_clipboard (); +-		public virtual signal void database_quota_exceeded (GLib.Object p0, GLib.Object p1); +-		public virtual signal void document_load_finished (WebKit.WebFrame p0); +-		public virtual signal bool download_requested (GLib.Object p0); +-		public virtual signal void geolocation_policy_decision_cancelled (WebKit.WebFrame p0); +-		public virtual signal bool geolocation_policy_decision_requested (WebKit.WebFrame p0, WebKit.GeolocationPolicyDecision p1); +-		public virtual signal void hovering_over_link (string? p0, string p1); +-		public virtual signal void icon_loaded (string p0); +-		public virtual signal void load_committed (WebKit.WebFrame p0); +-		public virtual signal bool load_error (WebKit.WebFrame p0, string p1, GLib.Error p2); +-		public virtual signal void load_finished (WebKit.WebFrame p0); +-		public virtual signal void load_progress_changed (int p0); +-		public virtual signal void load_started (WebKit.WebFrame p0); +-		public virtual signal bool mime_type_policy_decision_requested (WebKit.WebFrame p0, WebKit.NetworkRequest p1, string p2, WebKit.WebPolicyDecision p3); +-		[HasEmitter] +-		public virtual signal bool move_cursor (Gtk.MovementStep step, int count); +-		public virtual signal bool navigation_policy_decision_requested (WebKit.WebFrame p0, WebKit.NetworkRequest p1, WebKit.WebNavigationAction p2, WebKit.WebPolicyDecision p3); +-		public virtual signal WebKit.NavigationResponse navigation_requested (WebKit.WebFrame frame, WebKit.NetworkRequest request); +-		public virtual signal bool new_window_policy_decision_requested (WebKit.WebFrame p0, WebKit.NetworkRequest p1, WebKit.WebNavigationAction p2, WebKit.WebPolicyDecision p3); +-		[HasEmitter] +-		public virtual signal void paste_clipboard (); +-		public virtual signal void populate_popup (Gtk.Menu p0); +-		public virtual signal bool print_requested (WebKit.WebFrame p0); +-		[HasEmitter] +-		public virtual signal void redo (); +-		public virtual signal void resource_request_starting (WebKit.WebFrame p0, WebKit.WebResource p1, WebKit.NetworkRequest p2, WebKit.NetworkResponse p3); +-		public virtual signal bool script_alert (WebKit.WebFrame frame, string alert_message); +-		public virtual signal bool script_confirm (WebKit.WebFrame frame, string confirm_message, void* did_confirm); +-		public virtual signal bool script_prompt (WebKit.WebFrame frame, string message, string default_value, void* value); +-		[HasEmitter] +-		public virtual signal void select_all (); +-		public virtual signal void selection_changed (); +-		public virtual signal void set_scroll_adjustments (Gtk.Adjustment hadjustment, Gtk.Adjustment vadjustment); +-		public virtual signal void status_bar_text_changed (string p0); +-		public virtual signal void title_changed (WebKit.WebFrame p0, string p1); +-		[HasEmitter] +-		public virtual signal void undo (); +-		public virtual signal bool web_view_ready (); +-		public virtual signal void window_object_cleared (WebKit.WebFrame frame, void* context, void* window_object); +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public class WebWindowFeatures : GLib.Object { +-		[CCode (has_construct_function = false)] +-		public WebWindowFeatures (); +-		public bool equal (WebKit.WebWindowFeatures features2); +-		[NoAccessorMethod] +-		public bool fullscreen { get; set construct; } +-		[NoAccessorMethod] +-		public int height { get; set construct; } +-		[NoAccessorMethod] +-		public bool locationbar_visible { get; set construct; } +-		[NoAccessorMethod] +-		public bool menubar_visible { get; set construct; } +-		[NoAccessorMethod] +-		public bool scrollbar_visible { get; set construct; } +-		[NoAccessorMethod] +-		public bool statusbar_visible { get; set construct; } +-		[NoAccessorMethod] +-		public bool toolbar_visible { get; set construct; } +-		[NoAccessorMethod] +-		public int width { get; set construct; } +-		[NoAccessorMethod] +-		public int x { get; set construct; } +-		[NoAccessorMethod] +-		public int y { get; set construct; } +-	} +-	[CCode (cprefix = "WEBKIT_CACHE_MODEL_", cheader_filename = "webkit/webkit.h")] +-	public enum CacheModel { +-		DOCUMENT_VIEWER, +-		WEB_BROWSER +-	} +-	[CCode (cprefix = "WEBKIT_DOWNLOAD_ERROR_", cheader_filename = "webkit/webkit.h")] +-	public enum DownloadError { +-		CANCELLED_BY_USER, +-		DESTINATION, +-		NETWORK +-	} +-	[CCode (cprefix = "WEBKIT_DOWNLOAD_STATUS_", cheader_filename = "webkit/webkit.h")] +-	public enum DownloadStatus { +-		ERROR, +-		CREATED, +-		STARTED, +-		CANCELLED, +-		FINISHED +-	} +-	[CCode (cprefix = "WEBKIT_EDITING_BEHAVIOR_", cheader_filename = "webkit/webkit.h")] +-	public enum EditingBehavior { +-		MAC, +-		WINDOWS +-	} +-	[CCode (cprefix = "WEBKIT_HIT_TEST_RESULT_CONTEXT_", cheader_filename = "webkit/webkit.h")] +-	[Flags] +-	public enum HitTestResultContext { +-		DOCUMENT, +-		LINK, +-		IMAGE, +-		MEDIA, +-		SELECTION, +-		EDITABLE +-	} +-	[CCode (cprefix = "WEBKIT_LOAD_", cheader_filename = "webkit/webkit.h")] +-	public enum LoadStatus { +-		PROVISIONAL, +-		COMMITTED, +-		FINISHED, +-		FIRST_VISUALLY_NON_EMPTY_LAYOUT, +-		FAILED +-	} +-	[CCode (cprefix = "WEBKIT_NAVIGATION_RESPONSE_", cheader_filename = "webkit/webkit.h")] +-	public enum NavigationResponse { +-		ACCEPT, +-		IGNORE, +-		DOWNLOAD +-	} +-	[CCode (cprefix = "WEBKIT_NETWORK_ERROR_", cheader_filename = "webkit/webkit.h")] +-	public enum NetworkError { +-		FAILED, +-		TRANSPORT, +-		UNKNOWN_PROTOCOL, +-		CANCELLED, +-		FILE_DOES_NOT_EXIST +-	} +-	[CCode (cprefix = "WEBKIT_PLUGIN_ERROR_", cheader_filename = "webkit/webkit.h")] +-	public enum PluginError { +-		FAILED, +-		CANNOT_FIND_PLUGIN, +-		CANNOT_LOAD_PLUGIN, +-		JAVA_UNAVAILABLE, +-		CONNECTION_CANCELLED, +-		WILL_HANDLE_LOAD +-	} +-	[CCode (cprefix = "WEBKIT_POLICY_ERROR_", cheader_filename = "webkit/webkit.h")] +-	public enum PolicyError { +-		FAILED, +-		CANNOT_SHOW_MIME_TYPE, +-		CANNOT_SHOW_URL, +-		FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE, +-		CANNOT_USE_RESTRICTED_PORT +-	} +-	[CCode (cprefix = "WEBKIT_WEB_NAVIGATION_REASON_", cheader_filename = "webkit/webkit.h")] +-	public enum WebNavigationReason { +-		LINK_CLICKED, +-		FORM_SUBMITTED, +-		BACK_FORWARD, +-		RELOAD, +-		FORM_RESUBMITTED, +-		OTHER +-	} +-	[CCode (cprefix = "WEBKIT_WEB_VIEW_TARGET_INFO_", cheader_filename = "webkit/webkit.h")] +-	public enum WebViewTargetInfo { +-		HTML, +-		TEXT, +-		IMAGE, +-		URI_LIST, +-		NETSCAPE_URL +-	} +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public const int MAJOR_VERSION; +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public const int MICRO_VERSION; +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public const int MINOR_VERSION; +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public const int USER_AGENT_MAJOR_VERSION; +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public const int USER_AGENT_MINOR_VERSION; +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static bool check_version (uint major, uint minor, uint micro); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static void geolocation_policy_allow (WebKit.GeolocationPolicyDecision decision); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static void geolocation_policy_deny (WebKit.GeolocationPolicyDecision decision); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static WebKit.CacheModel get_cache_model (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static unowned Soup.Session get_default_session (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static uint64 get_default_web_database_quota (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static unowned string get_web_database_directory_path (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static uint major_version (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static uint micro_version (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static uint minor_version (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static GLib.Quark network_error_quark (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static GLib.Quark plugin_error_quark (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static GLib.Quark policy_error_quark (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static void remove_all_web_databases (); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static void set_cache_model (WebKit.CacheModel cache_model); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static void set_default_web_database_quota (uint64 defaultQuota); +-	[CCode (cheader_filename = "webkit/webkit.h")] +-	public static void set_web_database_directory_path (string path); +-} +--  +2.5.0
\ No newline at end of file diff --git a/debian/patches/0501-Dont-pack-webview-into-a-scrolled-window.patch b/debian/patches/0501-Dont-pack-webview-into-a-scrolled-window.patch new file mode 100644 index 0000000..a5820dd --- /dev/null +++ b/debian/patches/0501-Dont-pack-webview-into-a-scrolled-window.patch @@ -0,0 +1,44 @@ +From 130ebe6f1eda9564e89ab617bdfa30a50f828e47 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro <mcatanzaro@igalia.com> +Date: Fri, 4 Dec 2015 17:33:43 +0100 +Subject: [PATCH] Don't pack webview into a scrolled window + +The scrollbar is drawn by WebKitWebView in WK2. + +https://bugzilla.gnome.org/show_bug.cgi?id=751709 +--- + plugins/common/RESTSupport.vala | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +Index: trunk/plugins/common/RESTSupport.vala +=================================================================== +--- trunk.orig/plugins/common/RESTSupport.vala ++++ trunk/plugins/common/RESTSupport.vala +@@ -725,7 +725,6 @@ public abstract class GooglePublisher : +          +         private WebKit.WebView webview; +         private Gtk.Box pane_widget; +-        private Gtk.ScrolledWindow webview_frame; +         private string auth_sequence_start_url; +  +         public signal void authorized(string auth_code); +@@ -735,18 +734,13 @@ public abstract class GooglePublisher : +  +             pane_widget = new Gtk.Box(Gtk.Orientation.VERTICAL, 0); +  +-            webview_frame = new Gtk.ScrolledWindow(null, null); +-            webview_frame.set_shadow_type(Gtk.ShadowType.ETCHED_IN); +-            webview_frame.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); +- +             webview = new WebKit.WebView(); +             webview.get_settings().enable_plugins = false; +  +             webview.load_changed.connect(on_page_load_changed); +             webview.context_menu.connect(() => { return false; }); +  +-            webview_frame.add(webview); +-            pane_widget.pack_start(webview_frame, true, true, 0); ++            pane_widget.pack_start(webview, true, true, 0); +         } +          +         public static bool is_cache_dirty() { diff --git a/debian/patches/0502-Have-all-soup-sessions-validate-TLS-certificates.patch b/debian/patches/0502-Have-all-soup-sessions-validate-TLS-certificates.patch new file mode 100644 index 0000000..df24283 --- /dev/null +++ b/debian/patches/0502-Have-all-soup-sessions-validate-TLS-certificates.patch @@ -0,0 +1,39 @@ +From ac6efab13554d1ef39eb8b86744234d72773c2da Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro <mcatanzaro@igalia.com> +Date: Fri, 4 Dec 2015 17:34:17 +0100 +Subject: [PATCH] Have all soup sessions validate TLS certificates + +Note that this commit is *not* sufficient to fix certificate verification +on its own. The port to WK2 is also required, else WebKit's soup session +will not verify certificates. + +https://bugzilla.gnome.org/show_bug.cgi?id=751709 +--- + plugins/common/RESTSupport.vala                     | 1 + + plugins/shotwell-publishing/FacebookPublishing.vala | 1 + + 2 files changed, 2 insertions(+) + +Index: trunk/plugins/common/RESTSupport.vala +=================================================================== +--- trunk.orig/plugins/common/RESTSupport.vala ++++ trunk/plugins/common/RESTSupport.vala +@@ -20,6 +20,7 @@ public abstract class Session { +     public Session(string? endpoint_url = null) { +         this.endpoint_url = endpoint_url; +         soup_session = new Soup.SessionAsync(); ++        this.soup_session.ssl_use_system_ca_file = true; +     } +      +     protected void notify_wire_message_unqueued(Soup.Message message) { +Index: trunk/plugins/shotwell-publishing/FacebookPublishing.vala +=================================================================== +--- trunk.orig/plugins/shotwell-publishing/FacebookPublishing.vala ++++ trunk/plugins/shotwell-publishing/FacebookPublishing.vala +@@ -1473,6 +1473,7 @@ internal class GraphSession { +         this.soup_session.timeout = 15; +         this.access_token = null; +         this.current_message = null; ++        this.soup_session.ssl_use_system_ca_file = true; +     } +  +     ~GraphSession() { diff --git a/debian/patches/0503-facebook-Dont-disable-XSS-auditor.patch b/debian/patches/0503-facebook-Dont-disable-XSS-auditor.patch new file mode 100644 index 0000000..976b6ec --- /dev/null +++ b/debian/patches/0503-facebook-Dont-disable-XSS-auditor.patch @@ -0,0 +1,25 @@ +From 2a1dd48e702b0e8524a4ed212252aa4c49c6b0f0 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro <mcatanzaro@igalia.com> +Date: Fri, 4 Dec 2015 18:08:54 +0100 +Subject: [PATCH] facebook: Don't disable XSS auditor + +This is a separate commit to make it possible to revert easily, as +I don't know why it was disabled. + +https://bugzilla.gnome.org/show_bug.cgi?id=751709 +--- + plugins/shotwell-publishing/FacebookPublishing.vala | 1 - + 1 file changed, 1 deletion(-) + +Index: trunk/plugins/shotwell-publishing/FacebookPublishing.vala +=================================================================== +--- trunk.orig/plugins/shotwell-publishing/FacebookPublishing.vala ++++ trunk/plugins/shotwell-publishing/FacebookPublishing.vala +@@ -829,7 +829,6 @@ internal class WebAuthenticationPane : S +  +         webview = new WebKit.WebView(); +         webview.get_settings().enable_plugins = false; +-        webview.get_settings().enable_xss_auditor = false; +  +         webview.load_changed.connect(on_page_load_changed); +         webview.context_menu.connect(() => { return true; }); diff --git a/debian/patches/0510-Delay_size_request.patch b/debian/patches/0510-Delay_size_request.patch new file mode 100644 index 0000000..7c03791 --- /dev/null +++ b/debian/patches/0510-Delay_size_request.patch @@ -0,0 +1,26 @@ +Description: Delay size_request +Author: Jens Georg <mail@jensge.org> +Origin: https://git.gnome.org/browse/shotwell/commit/?id=4a70d87 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=766864 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823835 +Forwarded: not-needed +Last-Update: 2015-06-05 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/src/CheckerboardLayout.vala +=================================================================== +--- trunk.orig/src/CheckerboardLayout.vala ++++ trunk/src/CheckerboardLayout.vala +@@ -911,7 +911,11 @@ public class CheckerboardLayout : Gtk.Dr +             debug("on_viewport_resized: due_to_reflow=%s set_size_request %dx%d", +                 size_allocate_due_to_reflow.to_string(), parent_allocation.width, req.height); + #endif +-            set_size_request(parent_allocation.width - SCROLLBAR_PLACEHOLDER_WIDTH, req.height); ++            // But if the current height is 0, don't request a size yet. Delay ++            // it to do_reflow (bgo#766864) ++            if (req.height != 0) { ++                set_size_request(parent_allocation.width - SCROLLBAR_PLACEHOLDER_WIDTH, req.height); ++            } +         } else { +             // set the layout's width and height to always match the parent's +             set_size_request(parent_allocation.width, parent_allocation.height); diff --git a/debian/patches/0515-Fix_background_color_drawing.patch b/debian/patches/0515-Fix_background_color_drawing.patch new file mode 100644 index 0000000..04a1adb --- /dev/null +++ b/debian/patches/0515-Fix_background_color_drawing.patch @@ -0,0 +1,32 @@ +Description: Fix background color drawing +Author: Jens Georg <mail@jensge.org> +Origin: https://git.gnome.org/browse/shotwell/commit/?id=7361b3f +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=766864 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823835 +Forwarded: not-needed +Last-Update: 2015-06-05 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/src/CheckerboardLayout.vala +=================================================================== +--- trunk.orig/src/CheckerboardLayout.vala ++++ trunk/src/CheckerboardLayout.vala +@@ -1812,6 +1812,10 @@ public class CheckerboardLayout : Gtk.Dr +         // we want switched_to() to be the final call in the process (indicating that the page is +         // now in place and should do its thing to update itself), have to be be prepared for +         // GTK/GDK calls between the widgets being actually present on the screen and "switched to" ++ ++        Gtk.Allocation allocation; ++        get_allocation(out allocation); ++        get_style_context().render_background (ctx, 0, 0, allocation.width, allocation.height); +          +         // watch for message mode +         if (message == null) { +@@ -1833,7 +1837,6 @@ public class CheckerboardLayout : Gtk.Dr +             int text_width, text_height; +             pango_layout.get_pixel_size(out text_width, out text_height); +              +-            Gtk.Allocation allocation; +             get_allocation(out allocation); +              +             int x = allocation.width - text_width; diff --git a/debian/patches/0600-remove_wrong_marco.patch b/debian/patches/0600-remove_wrong_marco.patch new file mode 100644 index 0000000..42ec942 --- /dev/null +++ b/debian/patches/0600-remove_wrong_marco.patch @@ -0,0 +1,19 @@ +Description: Remove wrong macro 'R' from manpage +Author: Jörg Frings-Fürst <debian@jff-webhosting.net> +Last-Update: 2016-08-20 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/help/shotwell.1 +=================================================================== +--- trunk.orig/help/shotwell.1 ++++ trunk/help/shotwell.1 +@@ -13,7 +13,8 @@ import photos from disk or camera, organ +  + .SH "OPTIONS" + .B \-h, \-\-help +-.R Show help options ++Show help options ++.RE +  + .B \-d, \-\-datadir=DIRECTORY + .RS diff --git a/debian/patches/505-fix-viewer-desktop-file.patch b/debian/patches/505-fix-viewer-desktop-file.patch new file mode 100644 index 0000000..30505b5 --- /dev/null +++ b/debian/patches/505-fix-viewer-desktop-file.patch @@ -0,0 +1,27 @@ +Description: Fix viewer desktop file + A typo in the Makefile, probably due to a quick copy/paste, results in an + incorrectly generated desktop file for the photo viewer. +Author: Raphaël Halimi <raphael.halimi@gmail.com> +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776745 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=743799 +Forwarded: https://bugzilla.gnome.org/show_bug.cgi?id=743799 +Applied-Upstream: 0.22.0, https://git.gnome.org/browse/shotwell/commit/?id=2ecda59a5562565967647b6c3d44dd99a48a04ef +Last-Update: 2015-04-03 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/Makefile +=================================================================== +--- trunk.orig/Makefile ++++ trunk/Makefile +@@ -493,9 +493,8 @@ endif + misc/shotwell-viewer.desktop: misc/shotwell-viewer.desktop.head $(EXPANDED_CORE_PO_FILES) + 	cp misc/shotwell-viewer.desktop.head misc/shotwell-viewer.desktop + 	$(foreach lang,$(CORE_SUPPORTED_LANGUAGES), echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack \ +-		LANGUAGE=$(lang) gettext --domain=shotwell $(DESKTOP_APP_FULL_NAME)` \ +-		echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ +-		--domain=shotwell $(DIRECT_EDIT_DESKTOP_APP_FULL_NAME)` >> misc/shotwell-viewer.desktop ; \ ++		LANGUAGE=$(lang) gettext --domain=shotwell $(DIRECT_EDIT_DESKTOP_APP_FULL_NAME)` \ ++		>> misc/shotwell-viewer.desktop ; \ + 		echo GenericName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + 		--domain=shotwell $(DIRECT_EDIT_DESKTOP_APPLICATION_CLASS)` >> misc/shotwell-viewer.desktop ;) + ifndef DISABLE_DESKTOP_VALIDATE diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..0bf22a4 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,14 @@ +#0001-buildflags.patch +#0005-hardening.patch +#0010-libexec.patch +#0500-Port-to-webkit2gtk-40.patch +#0501-Dont-pack-webview-into-a-scrolled-window.patch +#0502-Have-all-soup-sessions-validate-TLS-certificates.patch +#0503-facebook-Dont-disable-XSS-auditor.patch +#0600-remove_wrong_marco.patch +#0100-ios8.patch +#0510-Delay_size_request.patch +#0515-Fix_background_color_drawing.patch +#505-fix-viewer-desktop-file.patch +0105-gitversion.patch +#0110-fix_GoogleAuthenticator.patch diff --git a/debian/replace_thumbnailer.sh b/debian/replace_thumbnailer.sh new file mode 100755 index 0000000..d70dec0 --- /dev/null +++ b/debian/replace_thumbnailer.sh @@ -0,0 +1,21 @@ +#! /bin/bash + +if [ -e /usr/lib/shotwell-video-thumbnailer.org ] ; then +    echo ' /usr/lib/shotwell-video-thumbnailer.org exists!' +    echo ' break' +    exit 1 +fi + +echo '**** backup ****' +mv /usr/lib/shotwell-video-thumbnailer /usr/lib/shotwell-video-thumbnailer.org + +echo '**** install ffmpegthumbnailer ****' +apt-get install ffmpegthumbnailer -y + +echo '**** install new file ****' +touch /usr/lib/shotwell-video-thumbnailer +chmod  --reference=/usr/lib/shotwell-video-thumbnailer.org /usr/lib/shotwell-video-thumbnailer + +echo '#! /bin/bash' >/usr/lib/shotwell-video-thumbnailer +echo '' >>/usr/lib/shotwell-video-thumbnailer +echo 'ffmpegthumbnailer -i "$1" -o - -c png' >>/usr/lib/shotwell-video-thumbnailer diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..8eaecd6 --- /dev/null +++ b/debian/rules @@ -0,0 +1,18 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +export VALAFLAGS:=$(foreach w,$(CPPFLAGS) $(CFLAGS) $(LDFLAGS),-X $(w)) + +%: +	dh $@  --buildsystem=meson --with gnome + +override_dh_gnome_clean: +	dh_gnome_clean --no-control + +override_dh_install: +	dh_install +	# Remove unwanted la files +	rm -f debian/shotwell/usr/lib/*/shotwell/plugins/builtin/*.la +	rm -f debian/shotwell/usr/lib/*/*shotwell*.a +	rm -f debian/shotwell/usr/lib/*/*shotwell*.la diff --git a/debian/shotwell-common.README.Debian b/debian/shotwell-common.README.Debian new file mode 120000 index 0000000..e5d7439 --- /dev/null +++ b/debian/shotwell-common.README.Debian @@ -0,0 +1 @@ +shotwell.README.Debian
\ No newline at end of file diff --git a/debian/shotwell-common.install b/debian/shotwell-common.install new file mode 100644 index 0000000..191266c --- /dev/null +++ b/debian/shotwell-common.install @@ -0,0 +1,4 @@ +usr/share/glib-2.0 +usr/share/help +usr/share/icons +usr/share/locale diff --git a/debian/shotwell-common.postrm b/debian/shotwell-common.postrm new file mode 100644 index 0000000..63c29ce --- /dev/null +++ b/debian/shotwell-common.postrm @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + + +case "$1" in +    purge|remove) + +    # +    # rebuild icon cache +    # +    if [ -x gtk-update-icon-cache ] ; then +	gtk-update-icon-cache /usr/share/icons/hicolor +    fi + +esac + +#DEBHELPER# diff --git a/debian/shotwell.README.Debian b/debian/shotwell.README.Debian new file mode 100644 index 0000000..d9ded6c --- /dev/null +++ b/debian/shotwell.README.Debian @@ -0,0 +1,25 @@ +TROUBLESHOOTING +--------------- + +- video-thumbnailer + +  On problems with the shotwell-video-thumbnailer you can +  switch to the ffmpegthumnailer. Please run as root: + +  1. Backup /usr/lib/shotwell-video-thumbnailer: +     * mv /usr/lib/shotwell-video-thumbnailer /usr/lib/shotwell-video-thumbnailer.org + +  2. Install ffmpegthumbnailer: +     * apt-get install ffmpegthumbnailer + +  3. Create a new executable file: +     * touch /usr/lib/shotwell-video-thumbnailer +     * chmod  --reference=/usr/lib/shotwell-video-thumbnailer.org /usr/lib/shotwell-video-thumbnailer + +  4. Write into the new file: +     * echo "#! /bin/bash" >/usr/lib/shotwell-video-thumbnailer +     * echo "ffmpegthumnailer -i \"$1\" -o -b -c png >>/usr/lib/shotwell-video-thumbnailer + +  Or you can use the file replace_thumbnail.sh from the examples directory. + +  Thanks to Teo Romera <teoromera@gmail.com> diff --git a/debian/shotwell.bug-script b/debian/shotwell.bug-script new file mode 100644 index 0000000..bcb8409 --- /dev/null +++ b/debian/shotwell.bug-script @@ -0,0 +1,28 @@ +#!/bin/bash + +REPORTBUG_VERSION=$(dpkg-query -f '${source:Version}' -W reportbug) +LOG_FILE='~/.cache/shotwell/shotwell.log' + +# Depending on whether reportbug is new enough, we either write the output of +# our various commands to a file and attach them to the report (this needs +# reportbug ≥ 6.5.0) or just write them to the body of the bug report. +if dpkg --compare-versions "$REPORTBUG_VERSION" ge "6.5.0"; then + +    # We don’t clean up this directory because there is no way to know when +    # reportbug finished running, and reportbug needs the files around. +    # Given that those are just a couple of kilobytes in size and people +    # generally don’t file a lot of bugs, I don’t think it’s a big deal. +    DIR=$(mktemp -d) + +    echo "-- BEGIN ATTACHMENTS --" >&3 + +    # +    # logfile +    # +    if [ -f ${LOG_FILE} ]; then +	cat ${LOG_FILE} >$DIR/logfile.user +	echo $DIR/logfile.user >&3 +    fi + +    echo "-- END ATTACHMENTS --" >&3 +fi diff --git a/debian/shotwell.docs b/debian/shotwell.docs new file mode 100644 index 0000000..b718ec9 --- /dev/null +++ b/debian/shotwell.docs @@ -0,0 +1,3 @@ +README.md +THANKS +NEWS diff --git a/debian/shotwell.examples b/debian/shotwell.examples new file mode 100644 index 0000000..128a3c5 --- /dev/null +++ b/debian/shotwell.examples @@ -0,0 +1 @@ +debian/replace_thumbnailer.sh diff --git a/debian/shotwell.install b/debian/shotwell.install new file mode 100644 index 0000000..5c6836a --- /dev/null +++ b/debian/shotwell.install @@ -0,0 +1,4 @@ +usr/bin +usr/lib +usr/share/applications +usr/share/metainfo diff --git a/debian/shotwell.lintian-overrides b/debian/shotwell.lintian-overrides new file mode 100644 index 0000000..61210c5 --- /dev/null +++ b/debian/shotwell.lintian-overrides @@ -0,0 +1,2 @@ +non-dev-pkg-with-shlib-symlink +package-name-doesnt-match-sonames libshotwell-authenticator0 libshotwell-plugin-common0 libshotwell-plugin-dev-1.0-0 diff --git a/debian/shotwell.manpages b/debian/shotwell.manpages new file mode 100644 index 0000000..28d214f --- /dev/null +++ b/debian/shotwell.manpages @@ -0,0 +1 @@ +help/shotwell.1 diff --git a/debian/shotwell.postrm b/debian/shotwell.postrm new file mode 100644 index 0000000..2dbce77 --- /dev/null +++ b/debian/shotwell.postrm @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +if [ "$1" = purge ]; then + +    # +    # remove backup files +    # +    if [ -e /usr/lib/shotwell-video-thumbnailer.org ] ; then +	rm -f /usr/lib/shotwell-video-thumbnailer.org +    fi +fi + +#DEBHELPER# diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..81fb209 --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=4 +https://download.gnome.org/sources/@PACKAGE@/([\d\.]+[02468])/ \ +    @PACKAGE@@ANY_VERSION@\.tar\.xz | 
