Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package swi-prolog

8.0.2+dfsg-1 was already unblocked (see, #924083), but after the
unblock there were an RC bug discovered (broken symlinks), so I had to
upload 8.0.2+dfsg-2 to fix it. The fix in 8.0.2+dfsg-2 was not enough
for all architectures, that's why together with upstream we
implemented another fix, which was added to 8.0.2+dfsg-3. Also, in
8.0.2+dfsg-2 there was another bug fixed (symlink to non-existent
file).

Please, find attached debdiff between 8.0.2+dfsg-1 and 8.0.2+dfsg-2,
and also debdiff between 8.0.2+dfsg-2 and 8.0.2+dfsg-3.

Regards,
Lev Lamberov

unblock swi-prolog/8.0.2+dfsg-3

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-2-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8), 
LANGUAGE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru swi-prolog-8.0.2+dfsg/debian/changelog 
swi-prolog-8.0.2+dfsg/debian/changelog
--- swi-prolog-8.0.2+dfsg/debian/changelog      2019-03-09 10:26:08.000000000 
+0500
+++ swi-prolog-8.0.2+dfsg/debian/changelog      2019-03-10 20:09:57.000000000 
+0500
@@ -1,3 +1,10 @@
+swi-prolog (8.0.2+dfsg-2) unstable; urgency=medium
+
+  * Remove broken link to nonexistent file (Closes: #924154)
+  * Fix broken link to libjpl.so (Closes: #924219)
+
+ -- Lev Lamberov <dogs...@debian.org>  Sun, 10 Mar 2019 20:09:57 +0500
+
 swi-prolog (8.0.2+dfsg-1) unstable; urgency=medium
 
   * New upstream stable version 8.0.2+dfsg
diff -Nru swi-prolog-8.0.2+dfsg/debian/rules swi-prolog-8.0.2+dfsg/debian/rules
--- swi-prolog-8.0.2+dfsg/debian/rules  2019-03-09 10:26:08.000000000 +0500
+++ swi-prolog-8.0.2+dfsg/debian/rules  2019-03-10 20:09:57.000000000 +0500
@@ -84,7 +84,7 @@
 
        # Link libjpl.so from the JNI directory so java can load it without 
LD_LIBRARY_PATH
        mkdir -p $(CURDIR)/debian/swi-prolog-java/$(JNIDIR)
-       ln -s $(PLBASE)/lib/$(DEB_BUILD_ARCH)/libjpl.so \
+       ln -s 
$(PLBASE)/lib/$(DEB_TARGET_GNU_CPU)-$(DEB_TARGET_ARCH_OS)/libjpl.so \
              $(CURDIR)/debian/swi-prolog-java/$(JNIDIR)/
 
 override_dh_install:
diff -Nru swi-prolog-8.0.2+dfsg/debian/swi-prolog-x.links 
swi-prolog-8.0.2+dfsg/debian/swi-prolog-x.links
--- swi-prolog-8.0.2+dfsg/debian/swi-prolog-x.links     2019-03-09 
10:26:08.000000000 +0500
+++ swi-prolog-8.0.2+dfsg/debian/swi-prolog-x.links     2019-03-10 
20:09:57.000000000 +0500
@@ -1,3 +1,2 @@
-usr/lib/swi-prolog/xpce/pl/xpce.rc usr/lib/swi-prolog/xpce.rc
 usr/lib/swi-prolog/swipl.rc usr/lib/swi-prolog/prolog.rc
 usr/bin/swipl usr/bin/xpce
diff -Nru swi-prolog-8.0.2+dfsg/debian/changelog 
swi-prolog-8.0.2+dfsg/debian/changelog
--- swi-prolog-8.0.2+dfsg/debian/changelog      2019-03-10 20:09:57.000000000 
+0500
+++ swi-prolog-8.0.2+dfsg/debian/changelog      2019-03-12 14:52:05.000000000 
+0500
@@ -1,3 +1,10 @@
+swi-prolog (8.0.2+dfsg-3) unstable; urgency=medium
+
+  * Add better handling of symlink creation (by means of CMake).
+    It is a proper way of fixing #924219
+
+ -- Lev Lamberov <dogs...@debian.org>  Tue, 12 Mar 2019 14:52:05 +0500
+
 swi-prolog (8.0.2+dfsg-2) unstable; urgency=medium
 
   * Remove broken link to nonexistent file (Closes: #924154)
diff -Nru swi-prolog-8.0.2+dfsg/debian/patches/jpl-install.diff 
swi-prolog-8.0.2+dfsg/debian/patches/jpl-install.diff
--- swi-prolog-8.0.2+dfsg/debian/patches/jpl-install.diff       1970-01-01 
05:00:00.000000000 +0500
+++ swi-prolog-8.0.2+dfsg/debian/patches/jpl-install.diff       2019-03-12 
14:52:05.000000000 +0500
@@ -0,0 +1,43 @@
+From: Jan Wielemaker <j.wielema...@vu.nl>
+Subject: Handle symlink creation by means of CMake
+
+We need it if we want to avoid that people that use JPL to embed
+Prolog in Java (which seems popular) have to set LD_LIBRARY_PATH.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -45,6 +45,9 @@ option(INSTALL_TESTS
+        "Install script and files needed to run tests of the final 
installation"
+        OFF)
+ 
++set(JNIDIR ""
++    CACHE STRING "Directory for linking Java JNI components")
++
+ if(NOT SWIPL_SHARED_LIB)
+   set(CMAKE_ENABLE_EXPORTS ON)
+ endif()
+--- a/packages/jpl/CMakeLists.txt
++++ b/packages/jpl/CMakeLists.txt
+@@ -68,6 +68,9 @@ set(JPLCONFIG)
+ if(APPLE)
+   set(JPLCONFIG jpl_config.pl)
+   set(JPLTYPE SHARED)
++  set(JPLEXT ${CMAKE_SHARED_LIBRARY_SUFFIX})
++else()
++  set(JPLEXT ${CMAKE_SHARED_MODULE_SUFFIX})
+ endif()
+ 
+ if(WIN32)
+@@ -84,6 +87,12 @@ swipl_plugin(
+     C_INCLUDE_DIR ${JNI_INCLUDE_DIRS}
+     PL_LIBS jpl.pl ${JPLCONFIG})
+ 
++if(JNIDIR)
++install(DIRECTORY DESTINATION ${JNIDIR})
++ilink(${CMAKE_INSTALL_PREFIX}/${SWIPL_INSTALL_ARCH_LIB}/${jpl_module}${JPLEXT}
++      ${JNIDIR}/${jpl_module}${JPLEXT})
++endif()
++
+ # Debian policies do not want  RPATH/RUNPATH.   This  clears the RUNPATH
+ # pointing at the Java installation from   libjpl.so. Probably we should
+ # do so for all package generation builds, but we would like to keep the
diff -Nru swi-prolog-8.0.2+dfsg/debian/patches/series 
swi-prolog-8.0.2+dfsg/debian/patches/series
--- swi-prolog-8.0.2+dfsg/debian/patches/series 2019-03-10 20:09:57.000000000 
+0500
+++ swi-prolog-8.0.2+dfsg/debian/patches/series 2019-03-12 14:52:05.000000000 
+0500
@@ -1,3 +1,4 @@
 default-stack-size.diff
 use-local-jquery.diff
 no_extra_documentation.diff
+jpl-install.diff
diff -Nru swi-prolog-8.0.2+dfsg/debian/rules swi-prolog-8.0.2+dfsg/debian/rules
--- swi-prolog-8.0.2+dfsg/debian/rules  2019-03-10 20:09:57.000000000 +0500
+++ swi-prolog-8.0.2+dfsg/debian/rules  2019-03-12 14:52:05.000000000 +0500
@@ -13,7 +13,8 @@
        -DSWIPL_INSTALL_DIR=$(PLBASENAME) \
        -DSWIPL_INSTALL_IN_LIB=ON \
        -DJAVA_COMPATIBILITY=ON \
-       -DCMAKE_BUILD_TYPE=DEB
+       -DCMAKE_BUILD_TYPE=DEB \
+       -DJNIDIR=$(JNIDIR)
 
 # List of architectures where -java package should be built.
 JAVA_ARCHS = $(shell grep-dctrl -PX swi-prolog-java -nsArchitecture 
debian/control)
@@ -82,11 +83,6 @@
 
        # mv 
$(CURDIR)/debian/swi-prolog-nox/$(PLBASE)/lib/$(DEB_BUILD_ARCH)/libswipl.* 
$(CURDIR)/debian/swi-prolog-nox/usr/lib/
 
-       # Link libjpl.so from the JNI directory so java can load it without 
LD_LIBRARY_PATH
-       mkdir -p $(CURDIR)/debian/swi-prolog-java/$(JNIDIR)
-       ln -s 
$(PLBASE)/lib/$(DEB_TARGET_GNU_CPU)-$(DEB_TARGET_ARCH_OS)/libjpl.so \
-             $(CURDIR)/debian/swi-prolog-java/$(JNIDIR)/
-
 override_dh_install:
 
 # tell the tests NOT to try to access http://www.swi-prolog.org.  This

Reply via email to