[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] HTCondor on Debian 10 (problem with renamed libboost python libraries)



Answering myself...

On Tue, 2019-07-30 at 09:47:18 +0200, Steffen Grunewald wrote:
> On Mon, 2019-07-29 at 21:53:26 +0000, Tim Theisen wrote:
> > I have put up a repository from Debian 10 (Buster).
> > 
> > https://research.cs.wisc.edu/htcondor/instructions/debian/10/stable/
> > 
> > I built this on a VM and lightly tested it. (Ran a jobs and tried out the python bindings).
> 
> Hi Tim,
> 
> so we now have at least two (non-identical) condor_8.8.4.orig.tar.gz files?
> I think this is in violation of Debian packaging rules, but what do I know...
> (I'd have expected the orig tarball to be left unchanged, and the mods
> supplied as a set of patches instead, with an updated build number. Will
> try to make that conversion myself...)

Since only one file had changed essentially, the patch would be

--- 8< ---
--- condor-8.8.4.orig/src/python-bindings/CMakeLists.txt
+++ condor-8.8.4/src/python-bindings/CMakeLists.txt
@@ -220,12 +220,12 @@ else()
     if (DEFINED PYTHON_VERSION_STRING AND PYTHONLIBS_FOUND)
       set ( PYTHON_BOOST_LIB boost_python )
       if (DEFINED SYSTEM_NAME)
-        if (${SYSTEM_NAME} MATCHES "rhel7" OR ${SYSTEM_NAME} MATCHES "centos7" OR ${SYSTEM_NAME} MATCHES "sl7")
-            set ( PYTHON_BOOST_LIB "boost_python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}" )
-        endif()
         if (${SYSTEM_NAME} MATCHES "Debian" OR ${SYSTEM_NAME} MATCHES "Ubuntu")
             set ( PYTHON_BOOST_LIB "boost_python-py${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}" )
         endif()
+        if (${SYSTEM_NAME} MATCHES "rhel7" OR ${SYSTEM_NAME} MATCHES "centos7" OR ${SYSTEM_NAME} MATCHES "sl7" OR ${SYSTEM_NAME} MATCHES "Debian.*10")
+            set ( PYTHON_BOOST_LIB "boost_python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}" )
+        endif()
       endif()
       include_directories(${BOOST_INCLUDE})
       link_directories(${BOOST_LD})
@@ -300,12 +300,12 @@ else()
     endif()
 
     if (DEFINED PYTHON3_VERSION_STRING AND PYTHON3LIBS_FOUND AND NOT ${SYSTEM_NAME} MATCHES "fc27")
-      if (${SYSTEM_NAME} MATCHES "rhel7" OR ${SYSTEM_NAME} MATCHES "centos7" OR ${SYSTEM_NAME} MATCHES "sl7")
-        set ( PYTHON3_BOOST_LIB "boost_python${PYTHON3_VERSION_MAJOR}${PYTHON3_VERSION_MINOR}" )
-      endif()
       if (${SYSTEM_NAME} MATCHES "Debian" OR ${SYSTEM_NAME} MATCHES "Ubuntu")
         set ( PYTHON3_BOOST_LIB "boost_python-py${PYTHON3_VERSION_MAJOR}${PYTHON3_VERSION_MINOR}" )
       endif()
+      if (${SYSTEM_NAME} MATCHES "rhel7" OR ${SYSTEM_NAME} MATCHES "centos7" OR ${SYSTEM_NAME} MATCHES "sl7" OR ${SYSTEM_NAME} MATCHES "Debian.*10")
+        set ( PYTHON3_BOOST_LIB "boost_python${PYTHON3_VERSION_MAJOR}${PYTHON3_VERSION_MINOR}" )
+      endif()
       include_directories(${BOOST_INCLUDE})
       link_directories(${BOOST_LD})
 
--- 8< ---

(at least that's what "dpkg-source --commit" provided me with, after replacing
the file in the old source tree with the new version)

I put this into debian/patches/python3-buster.patch, and dpkg-source generated
a debian/patches/series file.
Then I bumped the build number in debian/changelog to -2 before appending
distro-specific tags.

pbuilders are running right at this moment, for all archs and distros
accessible to me. Nothing suspicious has shown up yet, if one ignores (a) some
HASHITER-related compiler complaints (which have been there for ages but start
to look more dangerous with Buster - please check them!) and (b) a huge number
of dpkg-shlibdeps warnings.

Actually, the Jessie build for amd64 has already finished - still with the
addition of python3-dev in place. The Stretch amd64 is finishing as I type,
and the Buster one (also amd64) is in the final stages. So this looks good
overall, although I'll wait for the arm64 (Stretch and Buster) builds before
I close this case.

> Is this Buster-specific or would the package build on Stretch as well?

As shown above, the patch doesn't seem to harm other distros.
Something very similar may be required for the latest Ubuntu versions.

Thank you for getting this fixed so quickly. 

Cheers, Steffen