[dgit import tarball lgogdownloader 3.9-2+deb12u1 lgogdownloader_3.9-2+deb12u1.debian.tar.xz]
--- /dev/null
+lgogdownloader (3.9-2+deb12u1) bookworm; urgency=medium
+
+ * Apply upstream fixes for parsing Galaxy URLs. Closes: #1085527.
+
+ -- Stephen Kitt <skitt@debian.org> Sun, 20 Oct 2024 21:39:20 +0200
+
+lgogdownloader (3.9-2) unstable; urgency=medium
+
+ * qtwebengine5-dev is now available on mips64el, use it there. Thanks
+ to Adrian Bunk for the patch!
+ * Standards-Version 4.6.2, no change required.
+
+ -- Stephen Kitt <skitt@debian.org> Mon, 27 Feb 2023 08:42:04 +0100
+
+lgogdownloader (3.9-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Stephen Kitt <skitt@debian.org> Wed, 23 Feb 2022 14:11:23 +0100
+
+lgogdownloader (3.8-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Drop the explicit --as-needed, it’s now implied.
+ * Switch to debhelper compatibility level 13.
+ * Standards-Version 4.6.0, no change required.
+
+ -- Stephen Kitt <skitt@debian.org> Fri, 03 Sep 2021 18:24:23 +0200
+
+lgogdownloader (3.7-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Stephen Kitt <skitt@debian.org> Fri, 10 Apr 2020 22:03:33 +0200
+
+lgogdownloader (3.6-1) unstable; urgency=medium
+
+ * New upstream release. libatomic is handled upstream, removing the need
+ for add-libatomic.patch.
+ * Standards-Version 4.5.0, no change required.
+
+ -- Stephen Kitt <skitt@debian.org> Mon, 16 Mar 2020 23:08:22 +0100
+
+lgogdownloader (3.5-2) unstable; urgency=medium
+
+ * Only build with Qt on architectures with Qt5WebEngineWidgets.
+ * Link with libatomic; this should fix the build on architectures such
+ as mipsel which need explicit -latomic.
+
+ -- Stephen Kitt <skitt@debian.org> Tue, 16 Jul 2019 13:56:08 +0200
+
+lgogdownloader (3.5-1) unstable; urgency=medium
+
+ * New upstream release, with a graphical login interface.
+ * Switch to debhelper compatibility level 12.
+ * Standards-Version 4.4.0, no change required.
+ * Only link libraries which are directly required.
+
+ -- Stephen Kitt <skitt@debian.org> Mon, 15 Jul 2019 21:24:05 +0200
+
+lgogdownloader (3.4-2) unstable; urgency=medium
+
+ * Ensure the build is reproducible: avoid storing git information, and
+ the build architecture.
+ * Refresh manpage-whatis.patch.
+
+ -- Stephen Kitt <skitt@debian.org> Tue, 18 Dec 2018 09:20:55 +0100
+
+lgogdownloader (3.4-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Standards-Version 4.2.1, no change required.
+
+ -- Stephen Kitt <skitt@debian.org> Tue, 18 Sep 2018 13:18:32 +0200
+
+lgogdownloader (3.3-2) unstable; urgency=medium
+
+ * Migrate to Salsa.
+ * Standards-Version 4.1.4, no further change required.
+ * Switch to debhelper compatibility level 11.
+
+ -- Stephen Kitt <skitt@debian.org> Sun, 06 May 2018 14:22:19 +0200
+
+lgogdownloader (3.3-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Clean up whitespace in debian/rules.
+ * Update debian/copyright.
+ * Standards-Version 4.1.1, no further change required.
+ * Enable building without fakeroot.
+
+ -- Stephen Kitt <skitt@debian.org> Tue, 07 Nov 2017 23:05:20 +0100
+
+lgogdownloader (3.2-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Update watch file.
+
+ -- Stephen Kitt <skitt@debian.org> Mon, 19 Jun 2017 08:56:54 +0200
+
+lgogdownloader (3.1-2) unstable; urgency=medium
+
+ [ Simon McVittie ]
+ * Team upload
+ * Backport patch from 3.2 fixing the ability to list games if a game
+ has {'updates': null} (Closes: #857691)
+
+ -- Stephen Kitt <skitt@debian.org> Wed, 05 Apr 2017 19:27:13 +0200
+
+lgogdownloader (3.1-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Stephen Kitt <skitt@debian.org> Mon, 16 Jan 2017 19:35:28 +0100
+
+lgogdownloader (3.0-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Now that libjsoncpp-dev is fixed, drop the explicit dependency on
+ libjsoncpp1.
+ * Switch to debhelper compatibility level 10.
+ * Clarify the description regarding DFSG-free games on GOG.com.
+
+ -- Stephen Kitt <skitt@debian.org> Thu, 24 Nov 2016 22:06:40 +0100
+
+lgogdownloader (2.28-1) unstable; urgency=medium
+
+ * New upstream release, merging jsoncpp-1.7.1.patch.
+ * Standards-Version 3.9.8, no change required.
+
+ -- Stephen Kitt <skitt@debian.org> Mon, 09 May 2016 23:35:51 +0200
+
+lgogdownloader (2.27-2) unstable; urgency=medium
+
+ * Apply upstream patch to build with libjsoncpp 1.7.1 and later. Closes:
+ #820064, #820315.
+
+ -- Stephen Kitt <skitt@debian.org> Fri, 08 Apr 2016 13:46:48 +0200
+
+lgogdownloader (2.27-1) unstable; urgency=medium
+
+ * New upstream release, with a new cmake-based build obsoleting all the
+ existing patches apart from manpage-whatis.patch.
+
+ -- Stephen Kitt <skitt@debian.org> Fri, 18 Mar 2016 12:56:19 +0100
+
+lgogdownloader (2.26-2) unstable; urgency=medium
+
+ * Switch to https: VCS URIs (see #810378).
+ * Apply upstream's fix for crashes after login (thanks to Phil Morrell
+ for pointing it out!).
+ * Standards-Version 3.9.7, no change required.
+ * Enable full hardening.
+
+ -- Stephen Kitt <skitt@debian.org> Wed, 24 Feb 2016 20:23:37 +0100
+
+lgogdownloader (2.26-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Drop unattended-login.patch, merged upstream.
+
+ -- Stephen Kitt <skitt@debian.org> Wed, 14 Oct 2015 18:25:27 +0200
+
+lgogdownloader (2.25-2) unstable; urgency=medium
+
+ * Handle unattended login attempts. Closes: #798740.
+
+ -- Stephen Kitt <skitt@debian.org> Sun, 13 Sep 2015 19:41:13 +0200
+
+lgogdownloader (2.25-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Stephen Kitt <skitt@debian.org> Mon, 07 Sep 2015 22:40:29 +0200
+
+lgogdownloader (2.24-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh manpage-whatis.patch.
+
+ -- Stephen Kitt <skitt@debian.org> Tue, 14 Jul 2015 14:02:39 +0200
+
+lgogdownloader (2.23-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh patch.
+
+ -- Stephen Kitt <skitt@debian.org> Wed, 20 May 2015 07:18:47 +0200
+
+lgogdownloader (2.21-2) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Stephen Kitt <skitt@debian.org> Sun, 10 May 2015 21:45:26 +0200
+
+lgogdownloader (2.21-1) experimental; urgency=medium
+ * New upstream release.
+
+ -- Stephen Kitt <skitt@debian.org> Fri, 10 Apr 2015 21:24:56 +0200
+
+lgogdownloader (2.20-1) experimental; urgency=medium
+
+ * New upstream release, uploaded to experimental for the Jessie freeze.
+
+ -- Stephen Kitt <skitt@debian.org> Thu, 11 Dec 2014 00:16:28 +0100
+
+lgogdownloader (2.19-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Standards-Version 3.9.6, no change required.
+
+ -- Stephen Kitt <skitt@debian.org> Tue, 21 Oct 2014 20:31:24 +0200
+
+lgogdownloader (2.18-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh patches, and drop help-without-home.patch (merged upstream).
+ * Add pointers to the git repository on Alioth.
+ * Make sure CPPFLAGS are taken into account.
+
+ -- Stephen Kitt <skitt@debian.org> Tue, 23 Sep 2014 17:18:17 +0200
+
+lgogdownloader (2.17-2) unstable; urgency=medium
+
+ * Avoid touching $HOME if --help or --version are specified on the
+ command-line. Closes: #761217.
+
+ -- Stephen Kitt <skitt@debian.org> Thu, 11 Sep 2014 23:17:00 +0200
+
+lgogdownloader (2.17-1) unstable; urgency=low
+
+ * Initial release. Closes: #761130.
+
+ -- Stephen Kitt <skitt@debian.org> Wed, 10 Sep 2014 23:26:18 +0200
--- /dev/null
+Source: lgogdownloader
+Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
+Uploaders: Stephen Kitt <skitt@debian.org>
+Section: web
+Priority: optional
+Build-Depends: cmake,
+ debhelper-compat (= 13),
+ help2man,
+ libboost-date-time-dev,
+ libboost-filesystem-dev,
+ libboost-iostreams-dev,
+ libboost-program-options-dev,
+ libboost-regex-dev,
+ libboost-system-dev,
+ libcurl4-gnutls-dev,
+ libhtmlcxx-dev,
+ libjsoncpp-dev (>= 1.7.1),
+ librhash-dev,
+ libtinyxml2-dev,
+ ninja-build,
+ pkg-config,
+ qtwebengine5-dev [amd64 arm64 armhf i386 mips64el mipsel],
+ zlib1g-dev
+Standards-Version: 4.6.2
+Rules-Requires-Root: no
+Vcs-Browser: https://salsa.debian.org/games-team/lgogdownloader
+Vcs-Git: https://salsa.debian.org/games-team/lgogdownloader.git
+Homepage: https://sites.google.com/site/gogdownloader/
+
+Package: lgogdownloader
+Architecture: any
+Multi-Arch: foreign
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Description: downloader for GOG.com files
+ lgogdownloader is a client for the GOG.com download API, allowing
+ simple downloads and updates of games and other files from GOG.com.
+ .
+ This package is only useful if you own games on GOG.com. There are a
+ few free-as-in-beer games available for Linux, but the DFSG-free
+ games available on GOG.com are not provided for Linux and are
+ available in Debian anyway (lure-of-the-temptress,
+ beneath-a-steel-sky, flight-of-the-amazon-queen).
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: lgogdownloader
+Source: https://sites.google.com/site/gogdownloader/
+
+Files: *
+Copyright: none declared
+License: WTFPL-2
+
+Files: debian/*
+Copyright: 2014-2023 Stephen Kitt
+License: WTFPL-2
+
+License: WTFPL-2
+ This program is free software. It comes without any warranty, to the
+ extent permitted by applicable law. You can redistribute it and/or
+ modify it under the terms of the Do What The Fuck You Want To Public
+ License, Version 2, as published by Sam Hocevar. See
+ http://www.wtfpl.net/ for more details.
+ .
+ The full text of the license is provided in the COPYING file and
+ reproduced here:
+ .
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ Version 2, December 2004
+ .
+ Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+ .
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+ .
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+ .
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
+ .
--- /dev/null
+# Configuration file for git-buildpackage and friends
+
+[DEFAULT]
+pristine-tar = True
--- /dev/null
+commit 52b8bdc8fa0028bcb875c6a723c6e04deeecbcb8
+Author: Sude <lgogdownloader@gmail.com>
+Date: Thu Aug 22 18:13:44 2024 +0300
+
+ Fix galaxyAPI::getPathFromDownlinkUrl with Fastly CDN urls
+
+ Fastly CDN urls don't contain query strings
+
+diff --git a/src/galaxyapi.cpp b/src/galaxyapi.cpp
+index 56d5745..7699d69 100644
+--- a/src/galaxyapi.cpp
++++ b/src/galaxyapi.cpp
+@@ -567,6 +567,11 @@ std::string galaxyAPI::getPathFromDownlinkUrl(const std::string& downlink_url, c
+ else
+ filename_end_pos = downlink_url_unescaped.find_first_of("?");
+
++ // Downlink doesn't contain "?path=" or "?"
++ // Set end pos to length
++ if (filename_end_pos == std::string::npos)
++ filename_end_pos = downlink_url_unescaped.length();
++
+ if (downlink_url_unescaped.find("/" + gamename + "/") != std::string::npos)
+ {
+ path.assign(downlink_url_unescaped.begin()+downlink_url_unescaped.find("/" + gamename + "/"), downlink_url_unescaped.begin()+filename_end_pos);
--- /dev/null
+commit 6556dc6a82b4e3d64ef1a7940736be3a7b2ac956
+Author: Sude <lgogdownloader@gmail.com>
+Date: Thu Aug 22 21:50:23 2024 +0300
+
+ Add more checks to galaxyAPI::getPathFromDownlinkUrl
+
+diff --git a/src/galaxyapi.cpp b/src/galaxyapi.cpp
+index 7699d69..716ebdd 100644
+--- a/src/galaxyapi.cpp
++++ b/src/galaxyapi.cpp
+@@ -547,40 +547,51 @@ std::string galaxyAPI::getPathFromDownlinkUrl(const std::string& downlink_url, c
+ {
+ std::string path;
+ std::string downlink_url_unescaped = (std::string)curl_easy_unescape(curlhandle, downlink_url.c_str(), downlink_url.size(), NULL);
++ size_t filename_start_pos = 0;
+
+- // GOG has changed the url formatting few times between 2 different formats.
+- // Try to get proper file name in both cases.
+- size_t filename_end_pos;
+- if (downlink_url_unescaped.find("?path=") != std::string::npos)
++ // If url ends in "/" then remove it
++ if (downlink_url_unescaped.back() == '/')
++ downlink_url_unescaped.assign(downlink_url_unescaped.begin(), downlink_url_unescaped.end()-1);
++
++ // Assume that filename starts after last "/" in url
++ if (downlink_url_unescaped.find_last_of("/") != std::string::npos)
++ filename_start_pos = downlink_url_unescaped.find_last_of("/") + 1;
++
++ // Url contains "/gamename/"
++ if (downlink_url_unescaped.find("/" + gamename + "/") != std::string::npos)
++ filename_start_pos = downlink_url_unescaped.find("/" + gamename + "/");
++
++ // Assume that filename ends at the end of url
++ size_t filename_end_pos = downlink_url_unescaped.length();
++
++ // Check to see if url has any query strings
++ if (downlink_url_unescaped.find("?") != std::string::npos)
+ {
+- size_t token_pos = downlink_url_unescaped.find("&token=");
+- size_t access_token_pos = downlink_url_unescaped.find("&access_token=");
+- if ((token_pos != std::string::npos) && (access_token_pos != std::string::npos))
+- {
+- filename_end_pos = std::min(token_pos, access_token_pos);
+- }
+- else
++ // Assume that filename ends at first "?"
++ filename_end_pos = downlink_url_unescaped.find_first_of("?");
++
++ // Check for "?path="
++ if (downlink_url_unescaped.find("?path=") != std::string::npos)
+ {
+- filename_end_pos = downlink_url_unescaped.find_first_of("&");
++ size_t token_pos = downlink_url_unescaped.find("&token=");
++ size_t access_token_pos = downlink_url_unescaped.find("&access_token=");
++ if ((token_pos != std::string::npos) && (access_token_pos != std::string::npos))
++ {
++ filename_end_pos = std::min(token_pos, access_token_pos);
++ }
++ else
++ {
++ if (downlink_url_unescaped.find_first_of("&") != std::string::npos)
++ filename_end_pos = downlink_url_unescaped.find_first_of("&");
++ }
+ }
+ }
+- else
+- filename_end_pos = downlink_url_unescaped.find_first_of("?");
+
+- // Downlink doesn't contain "?path=" or "?"
+- // Set end pos to length
+- if (filename_end_pos == std::string::npos)
+- filename_end_pos = downlink_url_unescaped.length();
++ path.assign(downlink_url_unescaped.begin()+filename_start_pos, downlink_url_unescaped.begin()+filename_end_pos);
+
+- if (downlink_url_unescaped.find("/" + gamename + "/") != std::string::npos)
+- {
+- path.assign(downlink_url_unescaped.begin()+downlink_url_unescaped.find("/" + gamename + "/"), downlink_url_unescaped.begin()+filename_end_pos);
+- }
+- else
+- {
+- path.assign(downlink_url_unescaped.begin()+downlink_url_unescaped.find_last_of("/")+1, downlink_url_unescaped.begin()+filename_end_pos);
++ // Make sure that path contains "/gamename/"
++ if (path.find("/" + gamename + "/") == std::string::npos)
+ path = "/" + gamename + "/" + path;
+- }
+
+ // Workaround for filename issue caused by different (currently unknown) url formatting scheme
+ // https://github.com/Sude-/lgogdownloader/issues/126
--- /dev/null
+Description: Provide meaningful whatis entry
+Author: Stephen Kitt <skitt@debian.org>
+
+--- a/man/CMakeLists.txt
++++ b/man/CMakeLists.txt
+@@ -11,7 +11,7 @@
+ set(MAN_FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.1.gz")
+ add_custom_command(
+ OUTPUT ${MAN_FILE}
+- COMMAND ${HELP2MAN} -N -i ${H2M_FILE} -o ${MAN_PAGE} "\"${PROJECT_BINARY_DIR}/${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}\""
++ COMMAND ${HELP2MAN} -N -i ${H2M_FILE} -n "downloader for GOG.com games and other files" -o ${MAN_PAGE} "\"${PROJECT_BINARY_DIR}/${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}\""
+ COMMAND ${GZIP} -f -9 ${MAN_PAGE}
+ MAIN_DEPENDENCY ${H2M_FILE}
+ COMMENT "Building man page"
--- /dev/null
+Description: Avoid storing non-reproducible information
+Author: Stephen Kitt <skitt@debian.org>
+
+This drops git information as well as the build architecture (from the
+user agent). The former varies depending on the availability of git
+tools, the latter varies depending on the build host.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -69,46 +69,9 @@
+ endif(USE_QT_GUI)
+
+
+-set(GIT_CHECKOUT FALSE)
+-if(EXISTS ${PROJECT_SOURCE_DIR}/.git)
+- if(NOT EXISTS ${PROJECT_SOURCE_DIR}/.git/shallow)
+- find_package(Git)
+- if(GIT_FOUND)
+- set(GIT_CHECKOUT TRUE)
+- else(GIT_FOUND)
+- message(WARNING "Git executable not found")
+- endif(GIT_FOUND)
+- else(NOT EXISTS ${PROJECT_SOURCE_DIR}/.git/shallow)
+- message(STATUS "Shallow Git clone detected, not attempting to retrieve version info")
+- endif(NOT EXISTS ${PROJECT_SOURCE_DIR}/.git/shallow)
+-endif(EXISTS ${PROJECT_SOURCE_DIR}/.git)
+-
+-if(GIT_CHECKOUT)
+- execute_process(COMMAND ${GIT_EXECUTABLE} diff --shortstat
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- OUTPUT_VARIABLE GIT_SHORTSTAT
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+- )
+- execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- OUTPUT_VARIABLE GIT_REV_PARSE
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+- )
+- if(GIT_SHORTSTAT)
+- set(GIT_DIRTY ON)
+- endif(GIT_SHORTSTAT)
+-
+- if(GIT_DIRTY)
+- set(PROJECT_VERSION_MINOR ${PROJECT_VERSION_MINOR}M)
+- endif(GIT_DIRTY)
+-
+- set(PROJECT_VERSION_PATCH ${GIT_REV_PARSE})
+- set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
+-endif(GIT_CHECKOUT)
+-
+ set(VERSION_NUMBER ${PROJECT_VERSION})
+ set(VERSION_STRING "LGOGDownloader ${VERSION_NUMBER}")
+-set(DEFAULT_USER_AGENT "LGOGDownloader/${VERSION_NUMBER} (${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR})")
++set(DEFAULT_USER_AGENT "LGOGDownloader/${VERSION_NUMBER}")
+
+ add_definitions(-D_FILE_OFFSET_BITS=64 -DVERSION_NUMBER="${VERSION_NUMBER}" -DVERSION_STRING="${VERSION_STRING}" -DDEFAULT_USER_AGENT="${DEFAULT_USER_AGENT}")
+
--- /dev/null
+manpage-whatis.patch
+reproducible.patch
+galaxy-urls-1.patch
+galaxy-urls-2.patch
--- /dev/null
+#!/usr/bin/make -f
+#DH_VERBOSE = 1
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+include /usr/share/dpkg/architecture.mk
+
+%:
+ dh $@ --buildsystem=cmake+ninja
+
+QT5WEWCFG = /usr/lib/$(DEB_HOST_MULTIARCH)/cmake/Qt5WebEngineWidgets/Qt5WebEngineWidgetsConfig.cmake
+
+override_dh_auto_configure:
+# Only build with Qt on architectures with Qt5WebEngineWidgets
+ifeq ($(QT5WEWCFG), $(wildcard $(QT5WEWCFG)))
+ dh_auto_configure -- -DUSE_QT_GUI=ON
+else
+ dh_auto_configure
+endif
+
+# There are no tests, and ninja test breaks the build
+override_dh_auto_test:
--- /dev/null
+3.0 (quilt)
+
--- /dev/null
+version=4
+opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%lgogdownloader-$1.tar.gz%" \
+ https://github.com/Sude-/lgogdownloader/tags \
+ (?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate