Package: argyll Version: 1.8.3+repack-2 Severity: wishlist Tags: upstream patch
dispcal includes a simple plugin-like mechanism to integrate with the system colord ICC store. It currently simply calls dlopen("libcolordcompat.so", ...), requiring the plugin to be in the system library resolution paths. The attached patch makes dispcal look for libcolordcompat.so in /usr/lib/argyll/. -- System Information: Debian Release: stretch/sid APT prefers yakkety APT policy: (500, 'yakkety') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.7+bcachefs-1.git20160828--generic (SMP w/8 CPU cores) Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages argyll depends on: ii argyll-ref 1.8.3+repack-2build1 ii dpkg 1.18.10ubuntu1 ii libc6 2.24-0ubuntu1 ii libjpeg8 8c-2ubuntu8 ii libpng16-16 1.6.24-2 ii libssl1.0.0 1.0.2g-1ubuntu8 ii libtiff5 4.0.6-2 ii libx11-6 2:1.6.3-1ubuntu3 ii libxext6 2:1.3.3-1 ii libxinerama1 2:1.1.3-1 ii libxrandr2 2:1.5.0-1 ii libxss1 1:1.2.2-1 ii libxxf86vm1 1:1.1.4-1 Versions of packages argyll recommends: ii libpam-systemd 231-5 ii udev 231-5 Versions of packages argyll suggests: pn argyll-doc <none> ii colord 1.3.2-1 pn gir1.2-colordgtk-1.0 <none> -- no debconf information
Index: argyll-1.8.3+repack/spectro/dispwin.c =================================================================== --- argyll-1.8.3+repack.orig/spectro/dispwin.c 2016-09-04 12:17:35.000000000 +1000 +++ argyll-1.8.3+repack/spectro/dispwin.c 2016-09-04 12:49:15.892851404 +1000 @@ -2341,7 +2341,10 @@ cd_found = NULL; - if ((cd_found = dlopen("libcolordcompat.so", RTLD_LAZY)) != NULL) { + /* Load from private library path. Load from /usr/lib/argyll under the assumption that + * dispcal isn't going to be foreign-arch. + */ + if ((cd_found = dlopen("/usr/lib/argyll/libcolordcompat.so", RTLD_LAZY)) != NULL) { cd_edid_install_profile = dlsym(cd_found, "cd_edid_install_profile"); cd_edid_remove_profile = dlsym(cd_found, "cd_edid_remove_profile");