summaryrefslogtreecommitdiffstats
path: root/debian/patches/app-Don-t-second-guess-the-dependency-system.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/app-Don-t-second-guess-the-dependency-system.patch')
-rw-r--r--debian/patches/app-Don-t-second-guess-the-dependency-system.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/debian/patches/app-Don-t-second-guess-the-dependency-system.patch b/debian/patches/app-Don-t-second-guess-the-dependency-system.patch
new file mode 100644
index 0000000..2234d35
--- /dev/null
+++ b/debian/patches/app-Don-t-second-guess-the-dependency-system.patch
@@ -0,0 +1,56 @@
+From: Simon McVittie <smcv@debian.org>
+Date: Sat, 3 Apr 2021 11:40:22 +0100
+Subject: app: Don't second-guess the dependency system
+
+Removing this check makes the treatment of LittleCMS consistent with
+all the other dependencies checked in the same file, which only check
+that the runtime version is at least the required version.
+
+As long as we were compiled against LittleCMS >= 2.8, and are now
+running against a version that has at least the same symbols, it doesn't
+necessarily matter whether the version we are running against is the
+same one we were compiled against.
+
+Distributions like Debian and Ubuntu track the versions in which
+individual symbols were introduced, which allows runtime dependencies
+to be weakened when no newer symbols are actually used; this is
+practically necessary when working with very large numbers of packages,
+to avoid a new version of a dependency library unnecessarily blocking
+upgrade of dependent packages. However, this doesn't work if dependent
+packages add their own checks that bypass this mechanism.
+
+Bug-Debian: https://bugs.debian.org/900819
+Bug-Debian: https://bugs.debian.org/986192
+Signed-off-by: Simon McVittie <smcv@debian.org>
+Forwarded: https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/430
+---
+ app/sanity.c | 16 ----------------
+ 1 file changed, 16 deletions(-)
+
+diff --git a/app/sanity.c b/app/sanity.c
+index 7360fd0..a0550d3 100644
+--- a/app/sanity.c
++++ b/app/sanity.c
+@@ -391,22 +391,6 @@ sanity_check_lcms (void)
+
+ gint lcms_version = cmsGetEncodedCMMversion ();
+
+- if (LCMS_VERSION > lcms_version)
+- {
+- return g_strdup_printf
+- ("Liblcms2 version mismatch!\n\n"
+- "GIMP was compiled against LittleCMS version %d.%d, but the\n"
+- "LittleCMS version found at runtime is only %d.%d.\n\n"
+- "Somehow you or your software packager managed\n"
+- "to install a LittleCMS that is older than what GIMP was\n"
+- "built against.\n\n"
+- "Please make sure that the installed LittleCMS version\n"
+- "is at least %d.%d and that headers and library match.",
+- LCMS_VERSION / 1000, LCMS_VERSION % 1000 / 10,
+- lcms_version / 1000, lcms_version % 1000 / 10,
+- LCMS_VERSION / 1000, LCMS_VERSION % 1000 / 10);
+- }
+-
+ if (lcms_version < (LCMS_REQUIRED_MAJOR * 1000 +
+ LCMS_REQUIRED_MINOR * 10))
+ {