[med-svn] [Git][med-team/sra-sdk][master] 3 commits: Use proper versioned SONAMEs, including from Python.
Aaron M. Ucko (@ucko)
gitlab at salsa.debian.org
Tue Oct 11 13:52:39 BST 2022
Aaron M. Ucko pushed to branch master at Debian Med / sra-sdk
Commits:
46eed109 by Aaron M. Ucko at 2022-10-10T22:38:03-04:00
Use proper versioned SONAMEs, including from Python.
* debian/control: Let python3-ngs bypass libncbi-ngs-dev and use
libncbi-ngs3 directly.
* debian/patches/use_soversions.patch (new): Give shared libraries
proper versioned SONAMEs; use them from the Python bindings.
- - - - -
c0749172 by Aaron M. Ucko at 2022-10-10T22:38:03-04:00
debian/rules: More tuneups.
* Pass VDB header path via -DVDB_INCDIR rather than via general
compilation flags.
* Install configuration files explicitly; the CMake setup insists on
putting them in the wrong place for us.
* Extend bin deversioning to *+ (i.e., kar+).
- - - - -
724a4d3e by Aaron M. Ucko at 2022-10-10T22:39:15-04:00
Drop build dependency on libvdb-sqlite-dev, now internal to sra-sdk.
- - - - -
5 changed files:
- debian/changelog
- debian/control
- debian/patches/series
- + debian/patches/use_soversions.patch
- debian/rules
Changes:
=====================================
debian/changelog
=====================================
@@ -6,9 +6,12 @@ sra-sdk (3.0.0+dfsg-1) UNRELEASED; urgency=medium
* Build-Depends: default-jdk, flex, bison
[ Aaron M. Ucko ]
- * debian/control: Account for consolidation of ngs-sdk (albeit with some
- intervening changes, notably library restructuring); take the
- opportunity to add a -java-doc package.
+ * debian/control:
+ - Account for consolidation of ngs-sdk (albeit with some intervening
+ changes, notably library restructuring); take the opportunity to add
+ a -java-doc package.
+ - Let python3-ngs bypass libncbi-ngs-dev and use libncbi-ngs3 directly.
+ - Drop build dependency on libvdb-sqlite-dev, now internal to sra-sdk.
* debian/libngs-java-doc.javadoc: Enable javadoc installation.
* debian/{libngs-java.{jlibs,poms},ngs-java.pom(.asc)}: Adopt (and adapt)
from ngs-sdk.
@@ -22,9 +25,17 @@ sra-sdk (3.0.0+dfsg-1) UNRELEASED; urgency=medium
* Add more patches for remaining build issues: fix_javadoc_build.patch,
link_magic_dynamically.patch, link_vdb_dynamically.patch, and
use_debian_packaged_compression_libs.patch.
- * debian/rules: Adopt (and adapt) assorted build logic from ngs-sdk.
-
- -- Aaron M. Ucko <ucko at debian.org> Mon, 10 Oct 2022 22:19:40 -0400
+ * debian/patches/use_soversions.patch (new): Give shared libraries
+ proper versioned SONAMEs; use them from the Python bindings.
+ * debian/rules:
+ - Adopt (and adapt) assorted build logic from ngs-sdk.
+ - Pass VDB header path via -DVDB_INCDIR rather than via general
+ compilation flags.
+ - Install configuration files explicitly; the CMake setup insists on
+ putting them in the wrong place for us.
+ - Extend bin deversioning to *+ (i.e., kar+).
+
+ -- Aaron M. Ucko <ucko at debian.org> Mon, 10 Oct 2022 22:39:14 -0400
sra-sdk (2.11.3+dfsg-1) unstable; urgency=medium
=====================================
debian/control
=====================================
@@ -11,7 +11,6 @@ Build-Depends: debhelper-compat (= 13),
dh-python,
javahelper,
libncbi-vdb-dev (>= 3.0.0+dfsg~),
- libvdb-sqlite-dev,
libfuse-dev,
libhdf5-dev,
libmagic-dev,
@@ -210,7 +209,7 @@ Architecture: any
Section: python
Depends: ${python3:Depends},
${misc:Depends},
- libncbi-ngs-dev (= ${binary:Version})
+ libncbi-ngs3 (= ${binary:Version})
Description: Next Generation Sequencing language Bindings (Python3 bindings)
NGS is a new, domain-specific API for accessing reads, alignments and
pileups produced from Next Generation Sequencing. The API itself is
=====================================
debian/patches/series
=====================================
@@ -30,3 +30,4 @@ use_debian_packaged_re2.patch
use_debian_packaged_compression_libs.patch
link_magic_dynamically.patch
fix_javadoc_build.patch
+use_soversions.patch
=====================================
debian/patches/use_soversions.patch
=====================================
@@ -0,0 +1,52 @@
+--- a/ngs/ngs-python/ngs/LibManager.py
++++ b/ngs/ngs-python/ngs/LibManager.py
+@@ -211,9 +211,9 @@ class LibManager:
+ if platform.system() == "Windows":
+ return ".dll"
+ elif platform.system() == "Darwin":
+- return ".dylib"
++ return ".3.dylib"
+ elif platform.system() == "Linux":
+- return ".so"
++ return ".so.3"
+ else:
+ return ""
+
+--- a/build/env.cmake
++++ b/build/env.cmake
+@@ -389,20 +389,22 @@ function(MakeLinksShared target name ins
+ set( LIBSUFFIX ".${SHLX}.${VERSION}" )
+ set( MAJLIBSUFFIX ".${SHLX}.${MAJVERS}" )
+ endif()
+- add_custom_command(TARGET ${target}
+- POST_BUILD
+- COMMAND rm -f lib${name}${LIBSUFFIX}
+- COMMAND mv lib${name}.${SHLX} lib${name}${LIBSUFFIX}
+- COMMAND ln -f -s lib${name}${LIBSUFFIX} lib${name}${MAJLIBSUFFIX}
+- COMMAND ln -f -s lib${name}${MAJLIBSUFFIX} lib${name}.${SHLX}
+- WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+- )
++ set_target_properties(
++ ${target} PROPERTIES VERSION ${VERSION} SOVERSION ${MAJVERS})
++ #add_custom_command(TARGET ${target}
++ # POST_BUILD
++ # COMMAND rm -f lib${name}${LIBSUFFIX}
++ # COMMAND mv lib${name}.${SHLX} lib${name}${LIBSUFFIX}
++ # COMMAND ln -f -s lib${name}${LIBSUFFIX} lib${name}${MAJLIBSUFFIX}
++ # COMMAND ln -f -s lib${name}${MAJLIBSUFFIX} lib${name}.${SHLX}
++ # WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
++ #)
+
+- set_property(
+- TARGET ${target}
+- APPEND
+- PROPERTY ADDITIONAL_CLEAN_FILES "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${name}${LIBSUFFIX};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${name}${MAJLIBSUFFIX};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${name}.${SHLX}"
+- )
++ #set_property(
++ # TARGET ${target}
++ # APPEND
++ # PROPERTY ADDITIONAL_CLEAN_FILES "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${name}${LIBSUFFIX};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${name}${MAJLIBSUFFIX};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${name}.${SHLX}"
++ #)
+
+ if ( ${install} )
+ install( PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${name}${LIBSUFFIX}
=====================================
debian/rules
=====================================
@@ -8,9 +8,6 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
pkg := sra-toolkit
-export DEB_CFLAGS_MAINT_APPEND = -I/usr/include/ncbi-vdb
-export DEB_CXXFLAGS_MAINT_APPEND = -I/usr/include/ncbi-vdb
-
include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/buildflags.mk
@@ -36,10 +33,26 @@ override_dh_auto_clean:
rm -rf ngs/ngs-python/build
override_dh_auto_configure:
- dh_auto_configure -- -DVDB_LIBDIR=/usr/lib/${DEB_HOST_MULTIARCH}
+ dh_auto_configure -- -DVDB_LIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
+ -DVDB_INCDIR=/usr/include/ncbi-vdb
+KFG_INC = /usr/include/ncbi-vdb/kfg/ncbi
+KFG_DEST = debian/sra-toolkit/etc/ncbi
override_dh_auto_install:
- dh_auto_install -- KONFIG_DIR=$(CURDIR)/debian/sra-toolkit/etc/ncbi
+ dh_auto_install
+ # build/install.sh $(KFG_INC) \
+ # $(CURDIR)/tools/vdb-copy \
+ # $(KFG_DEST) \
+ # $(KFG_DEST) \
+ # debian/sra-toolkit/usr/bin \
+ # debian/sra-toolkit/usr/lib/$(DEB_HOST_MULTIARCH) \
+ # $(CURDIR)/shared/kfgsums
+ build/install-kfg.sh default.kfg $(KFG_INC) $(KFG_DEST) \
+ $(KFG_INC)/kfgsums
+ build/install-kfg.sh certs.kfg $(KFG_INC) $(KFG_DEST) \
+ $(KFG_INC)/kfgsums
+ build/install-kfg.sh vdb-copy.kfg $(CURDIR)/tools/vdb-copy $(KFG_DEST) \
+ $(CURDIR)/shared/kfgsums
d-shlibmove --commit \
--multiarch \
--devunversioned \
@@ -79,7 +92,7 @@ override_dh_install:
mv -v $$bin $$base-orig && \
ln -snfv $${vdriver%%.[0-9]*} $$vbase || exit $$? ; \
done && \
- for bin in *[a-z] ; do \
+ for bin in *[a-z+] ; do \
bin2=$$(readlink $$bin) ; \
bin3=$$(readlink "$$bin2") ; \
case $$bin2 in \
View it on GitLab: https://salsa.debian.org/med-team/sra-sdk/-/compare/036c1675841d316a3eb8d47172178d08972e16df...724a4d3e5077e84043c5aca43b8632afd62c4a51
--
View it on GitLab: https://salsa.debian.org/med-team/sra-sdk/-/compare/036c1675841d316a3eb8d47172178d08972e16df...724a4d3e5077e84043c5aca43b8632afd62c4a51
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20221011/6ed206c4/attachment-0001.htm>
More information about the debian-med-commit
mailing list