[med-svn] [Git][med-team/sra-sdk][master] 5 commits: Account for ngs-sdk consolidation (and some intervening changes).
Aaron M. Ucko (@ucko)
gitlab at salsa.debian.org
Tue Oct 11 03:34:45 BST 2022
Aaron M. Ucko pushed to branch master at Debian Med / sra-sdk
Commits:
ffc855a4 by Aaron M. Ucko at 2022-10-10T22:29:31-04:00
Account for ngs-sdk consolidation (and some intervening changes).
* 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/{libngs-java.{jlibs,poms},ngs-java.pom(.asc)}: Adopt (and adapt)
from ngs-sdk.
* debian/not-installed: Ignore usr/jar/*.jar (installed elsewhere, via
jh_installlibs) and usr/lib64/lib*-static.a.
* debian/rules: Adopt (and adapt) assorted build logic from ngs-sdk.
- - - - -
5f7d0ecd by Aaron M. Ucko at 2022-10-10T22:29:31-04:00
Install upstream NGS examples.
* debian/*ngs*.examples (new): Install upstream NGS examples.
* debian/not-installed: Ignore usr/share/examples* (installed
elsewhere, via dh_installexamples).
- - - - -
2b6f18f2 by Aaron M. Ucko at 2022-10-10T22:29:31-04:00
Install javadoc output (already generated).
* debian/libngs-java-doc.javadoc: Enable javadoc installation.
* debian/not-installed: Ignore usr/share/javadoc/ngs-doc (installed
elsewhere, via jh_installjavadoc).
- - - - -
b2a42b11 by Aaron M. Ucko at 2022-10-10T22:29:31-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.
- - - - -
036c1675 by Aaron M. Ucko at 2022-10-10T22:32:57-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+).
- - - - -
14 changed files:
- debian/changelog
- debian/control
- + debian/libngs-c++-dev.examples
- + debian/libngs-java-doc.javadoc
- + debian/libngs-java.examples
- + debian/libngs-java.jlibs
- + debian/libngs-java.poms
- + debian/ngs-java.pom
- + debian/ngs-java.pom.asc
- debian/not-installed
- debian/patches/series
- + debian/patches/use_soversions.patch
- + debian/python3-ngs.examples
- debian/rules
Changes:
=====================================
debian/changelog
=====================================
@@ -6,13 +6,35 @@ 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.
+ - Let python3-ngs bypass libncbi-ngs-dev and use libncbi-ngs3 directly.
+ * debian/libngs-java-doc.javadoc: Enable javadoc installation.
+ * debian/{libngs-java.{jlibs,poms},ngs-java.pom(.asc)}: Adopt (and adapt)
+ from ngs-sdk.
+ * debian/*ngs*.examples (new): Install upstream NGS examples.
+ * debian/not-installed: Ignore usr/jar/*.jar (installed elsewhere, via
+ jh_installlibs), usr/lib64/lib*-static.a, usr/share/examples*
+ (installed elsewhere, via dh_installexamples), and
+ usr/share/javadoc/ngs-doc (installed elsewhere, via jh_installjavadoc).
* debian/patches/use_debian_packaged_re2.patch: Comment out an
inappropriate add_dependencies call in test/sharq/CMakeLists.txt.
* 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.
-
- -- Aaron M. Ucko <ucko at debian.org> Fri, 26 Aug 2022 00:28:25 -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:32:56 -0400
sra-sdk (2.11.3+dfsg-1) unstable; urgency=medium
=====================================
debian/control
=====================================
@@ -7,16 +7,20 @@ Section: science
Priority: optional
Build-Depends: debhelper-compat (= 13),
cmake,
- libngs-sdk-dev (>= 2.11.2),
+ d-shlibs,
+ dh-python,
+ javahelper,
libncbi-vdb-dev (>= 3.0.0+dfsg~),
- libvdb-sqlite-dev,
libfuse-dev,
libhdf5-dev,
libmagic-dev,
libre2-dev,
libxml2-dev,
libzstd-dev,
- python3,
+ markdown | libtext-markdown-perl | discount <!nodoc>,
+ maven-repo-helper,
+ python3-all,
+ python3-distutils,
default-jdk,
flex,
bison
@@ -74,3 +78,149 @@ Description: utilities for the NCBI Sequence Read Archive
Tool options may change in the next release. Version 1 tool options
will remain supported wherever possible in order to preserve
operation of any existing scripts.
+
+Package: libngs-c++3
+Multi-Arch: same
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Description: Next Generation Sequencing language Bindings (C++ runtime)
+ NGS is a new, domain-specific API for accessing reads, alignments and
+ pileups produced from Next Generation Sequencing. The API itself is
+ independent from any particular back-end implementation, and supports
+ use of multiple back-ends simultaneously. It also provides a library for
+ building new back-end "engines". The engine for accessing SRA data is
+ contained within the sister repository ncbi-vdb.
+ .
+ The API is currently expressed in C++, Java and Python languages. The
+ design makes it possible to maintain a high degree of similarity between
+ the code in one language and code in another - especially between C++
+ and Java.
+
+Package: libngs-c++-dev
+Multi-Arch: same
+Architecture: any
+Section: libdevel
+Depends: ${misc:Depends},
+ libngs-c++3 (= ${binary:Version})
+Description: Next Generation Sequencing language Bindings (C++ development)
+ NGS is a new, domain-specific API for accessing reads, alignments and
+ pileups produced from Next Generation Sequencing. The API itself is
+ independent from any particular back-end implementation, and supports
+ use of multiple back-ends simultaneously. It also provides a library for
+ building new back-end "engines". The engine for accessing SRA data is
+ contained within the sister repository ncbi-vdb.
+ .
+ The API is currently expressed in C++, Java and Python languages. The
+ design makes it possible to maintain a high degree of similarity between
+ the code in one language and code in another - especially between C++
+ and Java.
+ .
+ This is the development package for C++ usage.
+
+Package: libncbi-ngs3
+Multi-Arch: same
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Description: Next Generation Sequencing language Bindings (full runtime)
+ NGS is a new, domain-specific API for accessing reads, alignments and
+ pileups produced from Next Generation Sequencing. The API itself is
+ independent from any particular back-end implementation, and supports
+ use of multiple back-ends simultaneously. It also provides a library for
+ building new back-end "engines". The engine for accessing SRA data is
+ contained within the sister repository ncbi-vdb.
+ .
+ The API is currently expressed in C++, Java and Python languages. The
+ design makes it possible to maintain a high degree of similarity between
+ the code in one language and code in another - especially between C++
+ and Java.
+
+Package: libncbi-ngs-dev
+Multi-Arch: same
+Architecture: any
+Section: libdevel
+Depends: ${misc:Depends},
+ libncbi-ngs3 (= ${binary:Version}),
+ libngs-c++-dev (= ${binary:Version})
+Description: Next Generation Sequencing language Bindings (C++ development)
+ NGS is a new, domain-specific API for accessing reads, alignments and
+ pileups produced from Next Generation Sequencing. The API itself is
+ independent from any particular back-end implementation, and supports
+ use of multiple back-ends simultaneously. It also provides a library for
+ building new back-end "engines". The engine for accessing SRA data is
+ contained within the sister repository ncbi-vdb.
+ .
+ The API is currently expressed in C++, Java and Python languages. The
+ design makes it possible to maintain a high degree of similarity between
+ the code in one language and code in another - especially between C++
+ and Java.
+ .
+ This is the full development package.
+
+Package: libngs-java
+Multi-Arch: same
+Architecture: any
+Section: java
+Depends: ${misc:Depends},
+ ${java:Depends},
+ libncbi-ngs-dev (= ${binary:Version})
+Recommends: ${java:Recommends}
+Suggests: libngs-java-doc
+Description: Next Generation Sequencing language Bindings (Java bindings)
+ NGS is a new, domain-specific API for accessing reads, alignments and
+ pileups produced from Next Generation Sequencing. The API itself is
+ independent from any particular back-end implementation, and supports
+ use of multiple back-ends simultaneously. It also provides a library for
+ building new back-end "engines". The engine for accessing SRA data is
+ contained within the sister repository ncbi-vdb.
+ .
+ The API is currently expressed in C++, Java and Python languages. The
+ design makes it possible to maintain a high degree of similarity between
+ the code in one language and code in another - especially between C++
+ and Java.
+ .
+ Java bindings.
+
+Package: libngs-java-doc
+Multi-Arch: foreign
+Architecture: all
+Section: doc
+Depends: ${misc:Depends}
+Description: Next Generation Sequencing language Bindings (Java documentation)
+ NGS is a new, domain-specific API for accessing reads, alignments and
+ pileups produced from Next Generation Sequencing. The API itself is
+ independent from any particular back-end implementation, and supports
+ use of multiple back-ends simultaneously. It also provides a library for
+ building new back-end "engines". The engine for accessing SRA data is
+ contained within the sister repository ncbi-vdb.
+ .
+ The API is currently expressed in C++, Java and Python languages. The
+ design makes it possible to maintain a high degree of similarity between
+ the code in one language and code in another - especially between C++
+ and Java.
+ .
+ Documentation for the Java bindings.
+
+Package: python3-ngs
+Architecture: any
+Section: python
+Depends: ${python3:Depends},
+ ${misc:Depends},
+ 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
+ independent from any particular back-end implementation, and supports
+ use of multiple back-ends simultaneously. It also provides a library for
+ building new back-end "engines". The engine for accessing SRA data is
+ contained within the sister repository ncbi-vdb.
+ .
+ The API is currently expressed in C++, Java and Python languages. The
+ design makes it possible to maintain a high degree of similarity between
+ the code in one language and code in another - especially between C++
+ and Java.
+ .
+ Python3 bindings.
=====================================
debian/libngs-c++-dev.examples
=====================================
@@ -0,0 +1 @@
+ngs/ngs-sdk/examples/*
=====================================
debian/libngs-java-doc.javadoc
=====================================
@@ -0,0 +1 @@
+debian/tmp/usr/share/javadoc/ngs-doc usr/share/doc/libngs-java/api
=====================================
debian/libngs-java.examples
=====================================
@@ -0,0 +1 @@
+ngs/ngs-java/examples/*
=====================================
debian/libngs-java.jlibs
=====================================
@@ -0,0 +1 @@
+obj-*/lib/ngs-java.jar
=====================================
debian/libngs-java.poms
=====================================
@@ -0,0 +1,29 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [option]*
+# where option can be:
+# --ignore: ignore this POM and its artifact if any
+# --ignore-pom: don't install the POM. To use on POM files that are created
+# temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms]
+# --no-parent: remove the <parent> tag from the POM
+# --package=<package>: an alternative package to use when installing this POM
+# and its artifact
+# --has-package-version: to indicate that the original version of the POM is the same as the upstream part
+# of the version for the package.
+# --keep-elements=<elem1,elem2>: a list of XML elements to keep in the POM
+# during a clean operation with mh_cleanpom or mh_installpom
+# --artifact=<path>: path to the build artifact associated with this POM,
+# it will be installed when using the command mh_install. [mh_install]
+# --java-lib: install the jar into /usr/share/java to comply with Debian
+# packaging guidelines
+# --usj-name=<name>: name to use when installing the library in /usr/share/java
+# --usj-version=<version>: version to use when installing the library in /usr/share/java
+# --no-usj-versionless: don't install the versionless link in /usr/share/java
+# --dest-jar=<path>: the destination for the real jar.
+# It will be installed with mh_install. [mh_install]
+# --classifier=<classifier>: Optional, the classifier for the jar. Empty by default.
+# --site-xml=<location>: Optional, the location for site.xml if it needs to be installed.
+# Empty by default. [mh_install]
+#
+
+debian/ngs-java.pom --has-package-version --usj-name=ngs-java
=====================================
debian/ngs-java.pom
=====================================
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>gov.nih.nlm.ncbi</groupId>
+ <artifactId>ngs-java</artifactId>
+ <packaging>jar</packaging>
+ <description>ngs api</description>
+ <version>1.2.4</version>
+ <name>ngs-java</name>
+ <organization>
+ <name>gov.nih.nlm.ncbi</name>
+ </organization>
+ <url>https://github.com/ncbi/ngs</url>
+ <licenses>
+ <license>
+ <name>NCBI License</name>
+ <url>https://raw.githubusercontent.com/ncbi/ngs/master/LICENSE</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+ <scm>
+ <url>git at github.com:ncbi/ngs.git</url>
+ <connection>scm:git:git at github.com:ncbi/ngs.git</connection>
+ </scm>
+ <developers>
+ <developer>
+ <id>sra-tools</id>
+ <name>SRA Development Team</name>
+ <url>https://github.com/ncbi/ngs</url>
+ </developer>
+ </developers>
+ <dependencies>
+ </dependencies>
+</project>
=====================================
debian/ngs-java.pom.asc
=====================================
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+iQIcBAABAgAGBQJXT1zbAAoJEDjMz9QjSUPXa3MP/R/VLwop1po7RHVmVgWpb+cT
+tS+VH5bvh8UldGLF3+U4QNrtDDMJIEie2U5a5F4N9nvtgE+Q/LBT2toxUMLj4WXC
+38ir7Fa6lNZwe1I9Z9xGVpWLmh6Usn2BDwmDkAwNYP1VM4tf5mUwx0cVcBWtGdVP
+7uqBzvKcycc4e6DKyJkDBUtEpe1pa5S7CiFC/Wq8KmpSeT+JO074IIqUdrSvoaQL
+V3UB9Eye15+bYvE7cWwFyTCH3LmVK5QNVh6EkpKoAIvq2f4Zp1RIxbHbZdt3XIps
+qfgUJqNdnNG1pdLTLPsxMCpHsDIuMdySZQq97nHzfzAX+YRRD3q+O8mT6RoH5dOT
+v13ffJKMQIsVnbVqMvHlngPQ/YcjzLwc+ccxtFzxaQswC4ew83YRieNMauVOupv2
+nkUK1+qUz/6QDT5vKfhJNjyc9+GAesaGVj3ou0fPNoza5KEf9fPqx5dZekaBPdKA
+qpxnHAg4NTfBbnYRYicMb/CGVJ988SWGFbwfIK0hYq8f8b9nSr0S78LHhzoinCWX
+rYenAoBNqV852k0ZMmXdMUDZK8YfLFffL7BTqNSn8UROGHrNwjRDir4bH6wusMES
+AVsM4T3T1ua5P7D2no68JlNQ6fGdvJC0qG9grmU3egamMn9Yw4VhjYW22Gg+t/Cx
+TIYgR09r86nQL4Ym9x9k
+=mIby
+-----END PGP SIGNATURE-----
=====================================
debian/not-installed
=====================================
@@ -1,4 +1,8 @@
+usr/jar/*.jar
usr/lib/x86_64-linux-gnu
+usr/lib64/lib*-static.a
+usr/share/examples*
+usr/share/javadoc/ngs-doc
usr/sra-tools/linux/gcc/x86_64/rel/bin/*
usr/sra-tools/linux/gcc/x86_64/rel/ilib/*
usr/sra-tools/linux/gcc/x86_64/rel/obj/shared/*
=====================================
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/python3-ngs.examples
=====================================
@@ -0,0 +1 @@
+ngs/ngs-python/examples/*
=====================================
debian/rules
=====================================
@@ -8,24 +8,81 @@ 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
+build3vers := $(shell py3versions -sv)
+
%:
- dh $@ --buildsystem=cmake
+ dh $@ --buildsystem=cmake \
+ --with python3,javahelper,jh_maven_repo_helper
OUTDIR=$(CURDIR)/debian/tmp
-MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+override_dh_auto_clean:
+ dh_auto_clean
+ rm -rf ngs/ngs-java/$(DEB_HOST_MULTIARCH)
+ rm -rf ngs/ngs-bam/$(DEB_HOST_MULTIARCH)
+ rm -f ngs/ngs-bam/Makefile.config
+ rm -f ngs/ngs-bam/Makefile.config.install.linux.x86_64.prl
+ rm -f ngs/ngs-bam/Makefile.config.linux.x86_64
+ rm -f ngs/ngs-bam/reconfigure
+ rm -rf ngs/ngs-sdk/ngs/unix/generic
+
+ rm -rf ngs/ngs-sdk/$(DEB_HOST_MULTIARCH)
+ 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 \
+ --exclude-a \
+ --exclude-la \
+ --movedev "debian/*/usr/lib*/libncbi-ngs.a*" \
+ usr/lib/$(DEB_HOST_MULTIARCH) \
+ --override "s/libncbi-vdb3-dev/libncbi-vdb-dev/" \
+ debian/*/usr/lib*/libncbi-ngs.so
+# Ignore spurious failures from pluses; --ignorelibdep only partially helps.
+ d-shlibmove --commit \
+ --multiarch \
+ --devunversioned \
+ --exclude-a \
+ --exclude-la \
+ --movedev "debian/*/usr/lib*/lib*c++.a*" \
+ usr/lib/$(DEB_HOST_MULTIARCH) \
+ --movedev "debian/tmp/usr/include/*" usr/include \
+ --ignorelibdep \
+ debian/*/usr/lib*/libngs-c++.so | \
+ tee /dev/stderr | LC_ALL=C grep '^[a-z]' | sh
override_dh_install:
# upstream installs versioned *.a libs - we only want a single version
+ for d in debian/lib*-dev/usr/lib/$(DEB_HOST_MULTIARCH) ; do \
+ for slib in $$d/lib*.a ; do \
+ mv $$d/`readlink $$slib` $$slib ; \
+ mv $$d/`readlink $$slib` $$slib ; \
+ done ; \
+ done
ls -l debian/tmp/usr/bin
cd debian/tmp/usr/bin && \
for bin in *-orig.* ; do \
@@ -35,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 \
@@ -47,6 +104,14 @@ override_dh_install:
rm -f debian/*/usr/bin/magic
# Formally supply a standard installation ID to satisfy sratools
echo '/LIBS/GUID = "$(DEBIAN_GUID)"' >debian/$(pkg)/etc/ncbi/debian.kfg
+ set -e && for i in $(build3vers); do \
+ cd ngs/ngs-python; \
+ python$$i ./setup.py install --install-layout=deb \
+ --root $(CURDIR)/debian/python3-ngs; \
+ cd ..; \
+ done
+ find debian -name "*.pyc" -delete
+ find debian -type d -name __pycache__ | xargs rm -rf
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
@@ -55,3 +120,14 @@ endif
override_dh_prep:
dh_prep -X debian/tmp
+
+# require network, not automatically run
+# use it when the pom file must be re-downloaded from maven repo
+BASE_URL:=https://repo.maven.apache.org/maven2/gov/nih/nlm/ncbi/ngs-java
+WGET=wget --no-clobber
+get-poms:
+ $(RM) debian/ngs-java.pom debian/ngs-java.pom.asc
+ # extract upstream version
+ $(WGET) -O debian/ngs-java.pom $(BASE_URL)/$(DEB_VERSION_UPSTREAM)/ngs-java-$(DEB_VERSION_UPSTREAM).pom && \
+ $(WGET) -O debian/ngs-java.pom.asc $(BASE_URL)/$(DEB_VERSION_UPSTREAM)/ngs-java-$(DEB_VERSION_UPSTREAM).pom.asc
+ gpg --trust-model=always --status-fd 1 --no-default-keyring --keyring debian/sra-tools.gpg --verify debian/ngs-java.pom.asc
View it on GitLab: https://salsa.debian.org/med-team/sra-sdk/-/compare/76e793579bf953d031b6a2820361624c40262d2e...036c1675841d316a3eb8d47172178d08972e16df
--
View it on GitLab: https://salsa.debian.org/med-team/sra-sdk/-/compare/76e793579bf953d031b6a2820361624c40262d2e...036c1675841d316a3eb8d47172178d08972e16df
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/dfaa497f/attachment-0001.htm>
More information about the debian-med-commit
mailing list