From f28ff30704df9585dd31ea7c18a7bf595a4fc205 Mon Sep 17 00:00:00 2001 From: "Aaron M. Ucko" Date: Mon, 4 Sep 2023 22:40:42 -0400 Subject: [PATCH] Import ncbi-blast+_2.12.0+ds-4.debian.tar.xz [dgit import tarball ncbi-blast+ 2.12.0+ds-4 ncbi-blast+_2.12.0+ds-4.debian.tar.xz] --- README.Debian | 10 + README.source | 9 + changelog | 619 +++++++++++++++++ control | 56 ++ copyright | 211 ++++++ dirs | 2 + docs | 0 legacy/legacy.sh | 4 + ncbi-blast+-legacy.dirs | 1 + ncbi-blast+.1 | 33 + ncbi-blast+.dirs | 2 + ncbi-blast+.examples | 1 + ncbi-blast+.manpages | 1 + ncbi-blast+.tests/test.fa | 10 + ncbi-blast+.tests/testdatabase.fa | 29 + patches/enable_clean_after_failed_compile | 16 + patches/fix_configure | 14 + patches/fix_lib_deps | 794 ++++++++++++++++++++++ patches/fix_unit_tests | 16 + patches/hurd_fixes | 42 ++ patches/legacy_rename_rpsblast | 14 + patches/no_multiarch_rpath | 32 + patches/optin_usage_report | 47 ++ patches/optionally_keep_sequence | 29 + patches/reprobuild | 732 ++++++++++++++++++++ patches/run_perl_directly | 12 + patches/series | 19 + patches/skip_services_unit_test | 16 + patches/spelling | 239 +++++++ patches/support_gcc10 | 22 + patches/support_x32 | 16 + patches/suppress_tls_version_checks | 43 ++ patches/system_mbedtls_only | 34 + patches/tune_lmdb_defaults | 14 + patches/use_pie_for_apps | 29 + rules | 168 +++++ salsa-ci.yml | 4 + source/format | 1 + source/lintian-overrides | 7 + source/options | 2 + tests/control | 3 + tests/run-unit-test | 24 + upstream/metadata | 9 + watch | 3 + 44 files changed, 3389 insertions(+) create mode 100644 README.Debian create mode 100644 README.source create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100644 dirs create mode 100644 docs create mode 100755 legacy/legacy.sh create mode 100644 ncbi-blast+-legacy.dirs create mode 100644 ncbi-blast+.1 create mode 100644 ncbi-blast+.dirs create mode 100644 ncbi-blast+.examples create mode 100644 ncbi-blast+.manpages create mode 100644 ncbi-blast+.tests/test.fa create mode 100644 ncbi-blast+.tests/testdatabase.fa create mode 100644 patches/enable_clean_after_failed_compile create mode 100644 patches/fix_configure create mode 100644 patches/fix_lib_deps create mode 100644 patches/fix_unit_tests create mode 100644 patches/hurd_fixes create mode 100644 patches/legacy_rename_rpsblast create mode 100644 patches/no_multiarch_rpath create mode 100644 patches/optin_usage_report create mode 100644 patches/optionally_keep_sequence create mode 100644 patches/reprobuild create mode 100644 patches/run_perl_directly create mode 100644 patches/series create mode 100644 patches/skip_services_unit_test create mode 100644 patches/spelling create mode 100644 patches/support_gcc10 create mode 100644 patches/support_x32 create mode 100644 patches/suppress_tls_version_checks create mode 100644 patches/system_mbedtls_only create mode 100644 patches/tune_lmdb_defaults create mode 100644 patches/use_pie_for_apps create mode 100755 rules create mode 100644 salsa-ci.yml create mode 100644 source/format create mode 100644 source/lintian-overrides create mode 100644 source/options create mode 100644 tests/control create mode 100644 tests/run-unit-test create mode 100644 upstream/metadata create mode 100644 watch diff --git a/README.Debian b/README.Debian new file mode 100644 index 00000000..ff4641b0 --- /dev/null +++ b/README.Debian @@ -0,0 +1,10 @@ +blast+ for Debian +--------------------- + + This package does not include the documentation of the software. Documentation is available online. + Detail is available: man ncbi-blast+ + Package does not include test binaries nor datatool and projet_tree_builder from upstream. + Those binaries are indeed for internal upstream use, and are of no use nor related to blast+ tool itself + (see Bug #642991 discussion with upstream answers) + + -- Olivier Sallou Wed, 27 Apr 2011 15:19:59 +0200 diff --git a/README.source b/README.source new file mode 100644 index 00000000..85ca5993 --- /dev/null +++ b/README.source @@ -0,0 +1,9 @@ +blast+ for Debian +--------------------- + +Lintian raises hardening no fortify warnings that are false positives. + + +Test examples taken from http://www.ncbi.nlm.nih.gov/books/NBK52640/ + +-- Canberk Koç Tue, 2 Aug 2016 03:30:33 +0300 diff --git a/changelog b/changelog new file mode 100644 index 00000000..c6090e2b --- /dev/null +++ b/changelog @@ -0,0 +1,619 @@ +ncbi-blast+ (2.12.0+ds-4) unstable; urgency=medium + + * debian/control: Drop build dependency on libpcre3-dev; PCRE2 support + isn't ready yet, but there's a convenience copy of classic PCRE that + will suffice for now. (Partly addresses #891197.) + * debian/source/lintian-overrides: Accommodate bracketed paths. + * Standards-Version: 4.6.2 (routine-update) + * Remove trailing whitespace in debian/changelog (routine-update) + * Refer to common license file for Apache-2.0. + * Avoid explicitly specifying -Wl,--as-needed linker flag. + + -- Aaron M. Ucko Mon, 04 Sep 2023 22:40:42 -0400 + +ncbi-blast+ (2.12.0+ds-3) unstable; urgency=medium + + * d/patches/optin_usage_report change usage reports sending over + internet strategy to optin (disabled by default unless specified) + (Closes # 1005279). + + -- Olivier Sallou Thu, 10 Feb 2022 12:17:56 +0000 + +ncbi-blast+ (2.12.0+ds-2) unstable; urgency=medium + + * Clean up spurious release-status comment from 2.12.0+ds-1. + * debian/patches/system_mbedtls_only: Patch out use of local mbed TLS + headers, which formally rename all symbols. + + -- Aaron M. Ucko Wed, 01 Dec 2021 23:36:32 -0500 + +ncbi-blast+ (2.12.0+ds-1) unstable; urgency=medium + + * New upstream release. + * debian/patches: Update accordingly. + - fix_lib_deps, fix_unit_tests, spelling: Formally refresh to eliminate + fuzz. + - fix_x86isms: Retire (fully incorporated upstream.) + - run_perl_directly: Formally update to reflect current $Id$ comment. + - support_x32: Forward-port. + - tune_lmdb_defaults: Keep just the MIPS tuneup; upstream's settings + should now be fine elsewhere. + * Standards-Version: 4.6.0 (routine-update) + * watch file standard 4 (routine-update) + * debian/patches/suppress_tls_version_checks (formerly + suppress_gnutls_version_check): Suppress the mbed TLS version check too. + (Closes: #1000358.) + * debian/watch: Correct filenamemangle (wrong syntax for multiple rules, + and leading components left unstripped). + * debian/source/lintian-overrides: Simplify c++/src/html/ncbi_menu*.js + overrides per current Lintian. + + -- Aaron M. Ucko Wed, 01 Dec 2021 22:27:15 -0500 + +ncbi-blast+ (2.11.0+ds-1) unstable; urgency=medium + + [ Steffen Möller ] + * Update metadata - fixed indenting. + + [ Aaron M. Ucko ] + * New upstream release. + * debian/patches: Update accordingly. + - bm-6.4.0: Retire (fully incorporated upstream). + - fix_lib_deps: Formally refresh to eliminate fuzz. + - run_perl_directly: Formally update to reflect current $Id$ comment. + - tune_lmdb_defaults: Port to new setup, conveniently macro-driven. + * Standards-Version: 4.5.1 (routine-update) + * debhelper-compat 13 (routine-update) + + -- Aaron M. Ucko Sun, 31 Jan 2021 21:23:21 -0500 + +ncbi-blast+ (2.10.1+ds-1) unstable; urgency=medium + + * Repack without c++/src/build-system/project_tree_builder_gui/bin. + Debian builds make no use of this (Java) GUI or supporting third-party + jars, and could do without prebuilt binaries even if they did use it. + * debian/copyright: + - Set Files-Excluded accordingly. + - Correct typos for c++/src/html/ncbi_menu*.js; in particular, replace + duplicate .../ncbi_menu_dnd.js by .../ncbi_menu_dyn.js. + * debian/watch: Set dversionmangle and repacksuffix options accordingly. + * debian/source/lintian-overrides: For ncbi_menu*.js, which are editable + despite long lines, override source-contains-prebuilt-javascript-object + in addition to source-is-missing. + + -- Aaron M. Ucko Fri, 23 Oct 2020 17:23:46 -0400 + +ncbi-blast+ (2.10.1-3) unstable; urgency=medium + + * debian/patches/tune_lmdb_defaults: Scale down slightly more on 32-bit + mips* (just mipsel in practice these days). The sizes at this point + are 640 MiB there, 750 MB on other 32-bit platforms, and 20 GB on + 64-bit platforms. + + -- Aaron M. Ucko Sun, 04 Oct 2020 21:37:04 -0400 + +ncbi-blast+ (2.10.1-2) unstable; urgency=medium + + * debian/patches/bm-6.4.0 (new): Update embedded copy of BitMagic to + version 6,4.0 (from 6.0.0), addressing new "inlining failed in call to + 'always_inline'" errors on mips*el. (The bmagic package currently has + version 6.3.0, slightly predating the necessary fix.) + + -- Aaron M. Ucko Sun, 20 Sep 2020 21:30:04 -0400 + +ncbi-blast+ (2.10.1-1) unstable; urgency=medium + + * New upstream release. + - Among other changes, "fix tblastn mt issue". (Closes: #970344.) + * debian/patches/fix_x86isms (new): Conditionally stub out + CCpuFeatures::InstructionSet::InstructionSet, which compiles only on x86. + * debian/patches/{hurd_fixes,run_perl_directly}: Rebase. + * debian/patches/{reprobuild,support_x32}: Refresh (had fuzz). + * debian/patches/support_gcc10: Drop build-system portions, incorporated + upstream as of this release. + * debian/patches/tune_lmdb_defaults: Rename from tune_32bit_lmdb_defaults; + scale down somewhat even on 64-bit platforms to account for potential + use of qemu. (Closes: #969608.) + + -- Aaron M. Ucko Sat, 19 Sep 2020 22:45:42 -0400 + +ncbi-blast+ (2.10.0-3) unstable; urgency=medium + + * debian/patches/tune_32bit_lmdb_defaults: Tweak default map size expressions. + - For 64-bit platforms, use an explicit UL suffix on one factor to avoid + overflow. + - For 32-bit platforms, avoid tying up quite so much address space, since + opening a pair of databases is a distinct possibility. + - Generally parenthesize expressions per best macro practice. + + -- Aaron M. Ucko Mon, 07 Sep 2020 21:15:02 -0400 + +ncbi-blast+ (2.10.0-2) unstable; urgency=high + + * debian/patches/support_gcc10: Additionally tweak ncbifile.cpp to avoid + narrowing errors on some platforms (i386, for one). + * debian/patches/tune_32bit_lmdb_defaults (new): Conditionalize default + map size to avoid allocation failures on 32-bit platforms. + (Closes: #969608.) + + -- Aaron M. Ucko Sun, 06 Sep 2020 23:07:37 -0400 + +ncbi-blast+ (2.10.0-1) unstable; urgency=medium + + * New upstream release. + * debian/patches: + - Formally refresh. (A few files needed straightforward manual + intervention.) + - support_gcc10: New, for formal support of GCC 10+. (Closes: #957581.) + - run_perl_directly: New, to streamline update_blastdb(.pl)'s #! line. + * debian/rules: + - override_dh_clean: Clean up new generated artifacts: fakehome/ and + c++/include/common/ncbi_revision.h. + - override_dh_install-arch: Install new cleanup-blastdb-volumes script + without its upstream .py suffix. + - Stop directly injecting -Wl,--as-needed into LDFLAGS, but keep + DEB_LDFLAGS_MAINT_APPEND for the sake of backports, along with a + comment that they can't rely on GCC 9+. + * Add salsa-ci file (routine-update) + * Wrap long lines in changelog entries: 2.2.25-6. + + -- Aaron M. Ucko Sun, 26 Apr 2020 19:38:13 -0400 + +ncbi-blast+ (2.9.0-4) unstable; urgency=high + + * debian/control: Standards-Version: 4.5.0 (already compliant). + * debian/rules: DEB_CONFIGURE_COMMON_FLAGS += --without-sse42. + (Closes: #951280.) + + -- Aaron M. Ucko Sun, 16 Feb 2020 20:16:33 -0500 + +ncbi-blast+ (2.9.0-3) unstable; urgency=medium + + * Team upload. + * Drop transitional blast2 package. (Closes: #940742). + * debian/copyright: refreshed + * debhelper-compat 12 + * Secure URI in copyright format + * Remove trailing whitespace in debian/changelog + * Use secure URI in Homepage field. + * Move source package lintian overrides to debian/source. + * Set upstream metadata fields: Contact, Name. + * Remove obsolete fields Name, Contact from debian/upstream/metadata. + + -- Michael R. Crusoe Thu, 05 Dec 2019 15:42:44 +0100 + +ncbi-blast+ (2.9.0-2) unstable; urgency=medium + + * debian/control: Standards-Version: 4.4.1 (already compliant). + * debian/copyright: Remove redundant ncbi_menu_*.js stanza. + * debian/rules: + - Delegate dpkg-{architecture,buildflags} calls to + /usr/share/dpkg/{architecture,buildflags}.mk respectively. + - Allow for cross-building (Closes: #930240): + -- Factor a DEB_CONFIGURE_COMMON_FLAGS macro out of + DEB_CONFIGURE_EXTRA_FLAGS for flags that also make sense for native + builds of internal helpers. + -- Conditionally supply --build=... and --host= to the main + (historically, only) configure run per Helmut Grohne's suggestion. + (dh_auto_configure would take care of this, but insists on passing + a --runstatedir=... flag this configure script doesn't accept.) + -- Conditionally add a rule for building native datatool and + project_tree_builder binaries (in a parallel build tree established + via another configure invocation), make it a dependency of + override_dh_auto_configure-arch, and arrange for everything else to + use these binaries as needed. + -- Honor DEB_BUILD_OPTIONS="... nocheck ...", also per Helmut. + -- Rework logic to install (possibly indirect) local library + dependencies to use readelf rather than ldd, making as many passes + as necessary (four at present, but no hardcoded count). + - Install get_species_taxids without the .sh suffix. + + -- Aaron M. Ucko Sun, 29 Sep 2019 21:57:31 -0400 + +ncbi-blast+ (2.9.0-1) unstable; urgency=medium + + * New upstream release + + -- Olivier Sallou Wed, 11 Sep 2019 07:44:38 +0000 + +ncbi-blast+ (2.8.1-2) unstable; urgency=medium + + * Convert windowmasker_2.2.22_adapter to Python 3 via 2to3; + update (build-)dependencies accordingly. (Closes: #937121.) + + -- Aaron M. Ucko Sun, 01 Sep 2019 20:50:43 -0400 + +ncbi-blast+ (2.8.1-1) unstable; urgency=medium + + * New upstream release. + * debian/compat: Advance to Debhelper 11. + * debian/control: + - Build-Depend on liblmdb-dev. + - Split B-Ds other than Debhelper out to Build-Depends-Arch. + - Advance Debhelper requirement to 11~. + - Standards-Version: 4.3.0 (already compliant). + - Rules-Requires-Root: no. + * debian/patches: Formally update for new release. + - Retire support_boost_1_67 (already applied upstream). + - Update patches that apply with offsets or outright fuzz, or need + full-fledged porting. + * debian/patches/fix_lib_deps: Link xcleanup against $(OBJEDIT_LIBS). + * debian/patches/system_mbedtls_only (new): Omit convenience mbed TLS + copy, which is dead weight and yielded a Lintian error. + * debian/rules: Also skip (dh_auto)_configure when building only + architecture-independent binary packages. + + -- Aaron M. Ucko Sun, 03 Feb 2019 22:47:45 -0500 + +ncbi-blast+ (2.7.1-2) unstable; urgency=medium + + [ David Miguel Susano Pinto ] + * d/control: fix Vcs-* links to point to salsa + + [ Aaron M. Ucko ] + * d/control: Standards-Version: 4.2.1 (already compliant). + * d/patches/support_boost_1_67: New patch to extend Boost support + (used for uninstalled tests) through at least version 1.67, per + upstream (https://www.ncbi.nlm.nih.gov/viewvc/v1/trunk/c%2B%2B) + revisions 79910, 79926, 79928, and 79929. (Closes: #916000.) + + -- Aaron M. Ucko Wed, 12 Dec 2018 22:24:45 -0500 + +ncbi-blast+ (2.7.1-1) unstable; urgency=medium + + * New upstream release + d/patches: update patch for new release + d/control: + go to standards 4.1.3 + add mbedtls dependency + + -- Olivier Sallou Sat, 10 Feb 2018 17:35:31 +0000 + +ncbi-blast+ (2.6.0-1) unstable; urgency=medium + + * New upstream release + + -- Olivier Sallou Sun, 15 Jan 2017 17:12:27 +0000 + +ncbi-blast+ (2.5.0-4) unstable; urgency=medium + + * New optionally_keep_sequence patch to hang on to sequence data even if + -parse_deflines recognized a non-local ID, on the condition that the + environment variable BLAST_ALWAYS_KEEP_SEQUENCE (or configuration + parameter [BLAST] always_keep_sequence) is set to a "true" value + (English-only, case-insensitive true, t, yes, y, or 1). (Closes: #792510.) + + -- Aaron M. Ucko Wed, 14 Dec 2016 22:46:44 -0500 + +ncbi-blast+ (2.5.0-3) unstable; urgency=medium + + * New suppress_gnutls_version_check patch to prevent bailing when the + exact compile-time and runtime GNU TLS versions differ; trust dpkg to + disallow combinations that are actually incompatible. + * debian/rules: If configure fails (as has been happening on alpha), + present (BUILD/status/)config.log before bailing. + + -- Aaron M. Ucko Wed, 07 Dec 2016 21:40:38 -0500 + +ncbi-blast+ (2.5.0-2) unstable; urgency=medium + + * debian/patches/fix_lib_deps: Patch Makefile.blast_macros.mk to add blast + to BLAST_LIBS to clear up link errors that could otherwise occur. + * debian/control: B-D on libgnutls28-dev to enable HTTPS support. + * Fully take blast2 over from ncbi-tools6, whose implementation has retired. + + -- Aaron M. Ucko Mon, 05 Dec 2016 23:16:54 -0500 + +ncbi-blast+ (2.5.0-1) unstable; urgency=medium + + * New upstream release + + -- Olivier Sallou Thu, 01 Dec 2016 14:40:17 +0100 + +ncbi-blast+ (2.4.0-3) unstable; urgency=medium + + * debian/rules: + - Properly build (but don't install) run_with_lock. (Closes: #833538.) + - Comment out nostrip check, which yielded a useless dbgsym package. + * Reinstate and refresh the hurd_fixes patch, which mostly still applies. + (Closes: #833539.) + * Add a new support_x32 patch to avoid picking up wrong inline assembly. + (Closes: #833541.) + + -- Aaron M. Ucko Fri, 05 Aug 2016 19:47:24 -0400 + +ncbi-blast+ (2.4.0-2) unstable; urgency=medium + + * Import upstream patch for remaining Boost compatibility issues + as debian/patches/support_recent_boost. (Closes: #833451.) + * debian/rules: Automatically determine which libraries are needed. + (The hand-maintained blacklist was incomplete.) + + -- Aaron M. Ucko Thu, 04 Aug 2016 23:08:20 -0400 + +ncbi-blast+ (2.4.0-1) unstable; urgency=medium + + * New upstream release. + * Refresh patches; drop fix_kfreebsd_ftbs.patch (applied upstream). + * Import upstream patch to fix Boost version detection (which missed the + 2.4.0 release branch) as debian/patches/fix_version_extraction. + * fix_lib_deps: List taxon1 in align_format's overridden DLL_LIB, in + large part to ensure its headers are generated on time; generally fix + remaining cases of underlinkage (several longstanding). + * debian/rules: Build --without-downloaded-vdb, to avoid trying to go to + Github for code that BLAST+ doesn't even use. (Other parts of the C++ + Toolkit do.) + * debian/control: Go ahead and add myself to Uploaders. + + -- Aaron M. Ucko Wed, 03 Aug 2016 21:40:00 -0400 + +ncbi-blast+ (2.3.0-2) unstable; urgency=medium + + * Team upload. + * Autopkgtest added + + -- Canberk Koç Tue, 02 Aug 2016 03:32:09 +0300 + +ncbi-blast+ (2.3.0-1) unstable; urgency=medium + + * New upstream version + * Moved packaging to Git + * cme fix dpkg-control + * drop get-orig-source target which is simply the usual uscan call + + -- Andreas Tille Tue, 12 Apr 2016 14:54:08 +0200 + +ncbi-blast+ (2.2.31-4) unstable; urgency=medium + + * Really enable building architecture independent package separately + Closes: #809120 + * Save time and do nothing for architecture independent builds + + -- Andreas Tille Thu, 07 Jan 2016 18:50:31 +0100 + +ncbi-blast+ (2.2.31-3) unstable; urgency=medium + + * Drop explicite mentioning of quilt + * Enable building architecture independent package separately + Closes: #809120 + * Override false lintian error + * DEP5 fixes + + -- Andreas Tille Mon, 28 Dec 2015 12:32:23 +0100 + +ncbi-blast+ (2.2.31-2) unstable; urgency=medium + + * Fix a long-standing typo for GNU/kFreeBSD FTBS (Aaron M. Ucko) + + -- Olivier Sallou Fri, 11 Dec 2015 09:44:43 +0100 + +ncbi-blast+ (2.2.31-1) unstable; urgency=medium + + * New upstream release + * Allow parallel build (Closes: #798277). Thanks to Aron Xu + * GCC break fix (recompile with gcc5, Closes: #793263). + + -- Olivier Sallou Thu, 10 Dec 2015 13:37:03 +0100 + +ncbi-blast+ (2.2.30-4) unstable; urgency=medium + + * d/patches/fix_compilation: Add an upstream patch to + include/util/bitset/bmconst.h to fix builds with GCC 5 on platforms + such as arm64 on which char is unsigned. (Closes: #790667.) + + -- Aaron M. Ucko Thu, 02 Jul 2015 16:22:39 -0400 + +ncbi-blast+ (2.2.30-3) unstable; urgency=medium + + * Switch to unstable after unfreeze. + + -- Olivier Sallou Mon, 18 May 2015 14:34:50 +0200 + +ncbi-blast+ (2.2.30-2) experimental; urgency=medium + + * d/patches/allow_gcc5 (new): Allow compilation with GCC 5, per upstream. + (Closes: #778021.) + + -- Aaron M. Ucko Mon, 16 Feb 2015 22:38:50 -0500 + +ncbi-blast+ (2.2.30-1) experimental; urgency=medium + + * New upstream release + * d/control: switch to Standards 3.9.6 + fix svn url + * d/patches/fix_compilation: fix compilation issue + + -- Olivier Sallou Fri, 21 Nov 2014 18:21:26 +0100 + +ncbi-blast+ (2.2.29-3) unstable; urgency=medium + + * debian/patches/include_typeinfo: Patch include/corelib/ncbistl.hpp to + ensure sufficient coverage; fix typos in patch headers. (Closes: #753190.) + * Standards-Version: 3.9.4. (Already compliant.) + + -- Aaron M. Ucko Tue, 01 Jul 2014 18:27:46 -0400 + +ncbi-blast+ (2.2.29-2) unstable; urgency=medium + + * d/patches/include_typeinfo (Closes: #753190). + + -- Olivier Sallou Sat, 07 Jun 2014 11:28:22 +0200 + +ncbi-blast+ (2.2.29-1) unstable; urgency=medium + + * New upstream release + + -- Olivier Sallou Fri, 06 Jun 2014 22:38:40 +0200 + +ncbi-blast+ (2.2.28-2) unstable; urgency=low + + * debian/patches/use_pie_for_apps: Explicitly build all executables with + -fPIE -pie, to avoid giving project_tree_builder a partial PIE + treatment that now fails on mips and mipsel. (Closes: #710807.) + * debian/rules: Retire redundant APP_LDFLAGS override. + * Standards-Version: 3.9.4. (Already compliant.) + + -- Aaron M. Ucko Sun, 02 Jun 2013 23:00:44 -0400 + +ncbi-blast+ (2.2.28-1) unstable; urgency=low + + * New upstream release + - Thanks to Tim Booth for package update help. + + -- Olivier Sallou Sat, 01 Jun 2013 08:40:51 +0200 + +ncbi-blast+ (2.2.27-3) unstable; urgency=low + + * debian/series: active patch fix_arm_mips_build (Closes: #688661). + + -- Olivier Sallou Fri, 05 Oct 2012 11:03:03 +0200 + +ncbi-blast+ (2.2.27-2) unstable; urgency=low + + * debian/patches/fix_arm_mips_build: Fix FTBS on ARM and MIPS + (Closes: #688661). + * debian/rules: rename seedtop to seedtop+ to avoid blast2 conflict + (Closes: #688684). + + -- Olivier Sallou Mon, 24 Sep 2012 09:28:29 +0200 + +ncbi-blast+ (2.2.27-1) unstable; urgency=low + + * New upstream release + + -- Olivier Sallou Fri, 21 Sep 2012 17:25:41 +0200 + +ncbi-blast+ (2.2.26-3) unstable; urgency=low + + [ Aaron M. Ucko ] + * debian/patches/fix_gcc47_errors: fix various GCC 4.7 compilation + errors and warnings. (Closes: #669679.) + - Explicitly qualify more dependent names originating in base templates. + - Directly #include headers as needed. + - Use modern syntax for making protected base members public. + - Add forward declarations as needed. + * Wrap and sort build dependencies to ease maintenance thereof. + * Enable full hardening flags, introducing a small patch + (use_pie_for_apps) to reflect the need to build executables and + libraries differently. + * Use upstream's new --with-symbols flag in nostrip builds. + + [ Andreas Tille ] + * debian/control: Modernize Vcs-* fields. + + -- Aaron M. Ucko Thu, 10 May 2012 23:42:49 -0400 + +ncbi-blast+ (2.2.26-2) unstable; urgency=low + + * debian/patches/wrong_path_to_touch.patch :Fix upstream FTBFS on the Hurd + hardcodes wrong path to touch (Closes: #663244) + + -- Olivier Sallou Wed, 07 Mar 2012 17:29:23 +0100 + +ncbi-blast+ (2.2.26-1) unstable; urgency=low + + [ Olivier Sallou ] + * New upstream release + * Remove some patches, applied upstream + + [ Andreas Tille] + * debian/copyright: Added Upstream-Contact + + -- Olivier Sallou Wed, 07 Mar 2012 09:37:10 +0100 + +ncbi-blast+ (2.2.25-7) unstable; urgency=low + + * Do not output everything to STDERR in + c++/src/app/blast/update_blastdb.pl + Closes: #644237 + * debian/control: Depends s/${python:Depends}/python/ because + the python dependency of /usr/bin/windowmasker_2.2.22_adapter + is not detected obviosely + * debian/copyright: Indentation fixes to get DEP5 compatibility + + -- Andreas Tille Wed, 21 Dec 2011 15:47:04 +0100 + +ncbi-blast+ (2.2.25-6) unstable; urgency=low + + * debian/control: + + Luca Capello , fix reference for legacy_blast + (Closes: #642986). + + add a new line to separate the actual description from usage + instruction in the long Description:. + * debian/rules: add gene_info_reader binary in package + + -- Olivier Sallou Fri, 30 Sep 2011 12:31:05 -0400 + +ncbi-blast+ (2.2.25-5) unstable; urgency=low + + * Team upload. + * debian/patches/hurd_fixes: further patch configure(.ac) to reflect + -Wl,rpath,... support. (Closes: #629656.) + * debian/patches/fix_lib_deps: link makembindex and srsearch against + libxconnect rather than libconnect for consistency with libblast, + which uses the former for consistency with other projects. + + -- Aaron M. Ucko Mon, 29 Aug 2011 12:31:05 -0400 + +ncbi-blast+ (2.2.25-4) unstable; urgency=low + + [ Aaron M. Ucko ] + * Team upload. + * debian/patches/support_other_cpus: belatedly add a descriptive header. + * debian/patches/hurd_fixes: new; fix hurd-specific issues. + (In conjunction with the following change, finally closes: #629656.) + * debian/control: + - Build-Depends += libc0.3-dev (>= 2.13-9~) [hurd-i386] to avoid #630180. + - Declare both binary packages as Multi-Arch: foreign. + * debian/patches/fix_lib_deps: new; ensure that all libraries link against + all direct dependencies. (Break the dependency loop between libxblast + and libxalgoblastdbindex by having the former provide only the C++ BLAST + API, leaving the C core only in libblast.) (Closes: #633567.) + * debian/rules: tweak LDFLAGS, supplying -Wl,--as-needed across the + board (as it is now safe to do so) and adding -Wl,--enable-new-dtags + to allow LD_LIBRARY_PATH to override the private rpath. + * debian/patches/no_multiarch_rpath: new; avoid redundant rpath entries + on multiarch systems (courtesy of overzealous logic to ensure + executables will be able to find libstdc++.) + + [ Andreas Tille ] + * Enhances: t-coffee (as stated in tasks file) + + -- Aaron M. Ucko Sun, 28 Aug 2011 18:45:19 -0400 + +ncbi-blast+ (2.2.25-3) unstable; urgency=low + + * Team upload. + * debian/rules: + - Export MAKE to override an internal upstream build script that + otherwise incorrectly defaults to gmake on non-Linux + architectures. (Really closes: #629656, with any luck.) + - Force CONFIG_SHELL=/bin/bash to avoid lossage that can occur with zsh4 + masquerading as ksh, which configure otherwise favors (due to complaints + from users with broken BASH_ENV scripts that change directories). + + -- Aaron M. Ucko Thu, 09 Jun 2011 19:25:45 -0400 + +ncbi-blast+ (2.2.25-2) unstable; urgency=low + + * Team upload. + * Fix several sources of build failures (closes: #629656): + - debian/rules (override_dh_install): Correctly support building only + architecture-dependent packages. + (DEB_CONFIGURE_EXTRA_FLAGS): Add --without-caution to override the + upstream build system's reluctance to build shared libraries on the + Hurd or kFreeBSD, which it doesn't specifically recognize. Limit C++ + optimization level to -O (rather than the default -O2) on mips(el), + on which g++ otherwise crashes. :-/ + - debian/patches/support_other_cpus (new; committed upstream too): + build correctly on architectures that wound up defining + NCBI_SLOW_ATOMIC_SWAP (spuriously in the case of powerpc, + whose detection the patch fixes as well). + + -- Aaron M. Ucko Wed, 08 Jun 2011 21:42:52 -0400 + +ncbi-blast+ (2.2.25-1) unstable; urgency=low + + * Initial release (Closes: #624394) + + -- Olivier Sallou Wed, 08 Jun 2011 00:15:15 +0200 diff --git a/control b/control new file mode 100644 index 00000000..28d6ce95 --- /dev/null +++ b/control @@ -0,0 +1,56 @@ +Source: ncbi-blast+ +Maintainer: Debian Med Packaging Team +Uploaders: Olivier Sallou , + Andreas Tille , + Aaron M. Ucko +Section: science +Priority: optional +Build-Depends: debhelper-compat (= 13) +Build-Depends-Arch: 2to3, + libboost-test-dev, + libbz2-dev, + libc-dev-bin, + libgnutls28-dev, + liblmdb-dev, + libmbedtls-dev, + time, + zlib1g-dev, + procps +Standards-Version: 4.6.2 +Vcs-Browser: https://salsa.debian.org/med-team/ncbi-blastplus +Vcs-Git: https://salsa.debian.org/med-team/ncbi-blastplus.git +Homepage: https://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/ +Rules-Requires-Root: no + +Package: ncbi-blast+ +Architecture: any +Multi-Arch: foreign +Depends: ncbi-data, + python3, + ${misc:Depends}, + ${perl:Depends}, + ${shlibs:Depends} +Enhances: t-coffee +Description: next generation suite of BLAST sequence search tools + The Basic Local Alignment Search Tool (BLAST) is the most widely + used sequence similarity tool. There are versions of BLAST that + compare protein queries to protein databases, nucleotide queries + to nucleotide databases, as well as versions that translate nucleotide + queries or databases in all six frames and compare to protein databases + or queries. + PSI-BLAST produces a position-specific-scoring-matrix (PSSM) starting + with a protein query, and then uses that PSSM to perform further searches. + It is also possible to compare a protein or nucleotide query to a + database of PSSM’s. + The NCBI supports a BLAST web page at blast.ncbi.nlm.nih.gov as well as + a network service. + +Package: ncbi-blast+-legacy +Architecture: all +Multi-Arch: foreign +Depends: ncbi-blast+, + ${misc:Depends} +Description: NCBI Blast legacy call script + This package adds some fake scripts to call NCBI+ programs + with the NCBI blast command line. It makes use of the + legacy_blast script in ncbi-blast+ package. diff --git a/copyright b/copyright new file mode 100644 index 00000000..2453aa4c --- /dev/null +++ b/copyright @@ -0,0 +1,211 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ncbi-blast+ +Upstream-Contact: blastsoft@ncbi.nlm.nih.gov +Files-Excluded: c++/src/build-system/project_tree_builder_gui/bin + +Files: c++/* +Copyright: NCBI +License: PD + PUBLIC DOMAIN NOTICE + National Center for Biotechnology Information + . + This software/database is a "United States Government Work" under the + terms of the United States Copyright Act. It was written as part of + the author's official duties as a United States Government employee and + thus cannot be copyrighted. This software/database is freely available + to the public for use. The National Library of Medicine and the U.S. + Government have not placed any restriction on its use or reproduction. + . + Although all reasonable efforts have been taken to ensure the accuracy + and reliability of the software and data, the NLM and the U.S. + Government do not and cannot warrant the performance or results that + may be obtained by using this software or data. The NLM and the U.S. + Government disclaim all warranties, express or implied, including + warranties of performance, merchantability or fitness for any particular + purpose. + . + Please cite the author in any work or product based on this material. + +Files: c++/src/connect/mbedtls/* +Copyright: 2006-2015, ARM Limited, All Rights Reserved +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the full text of the Apache License, Version 2.0 can be + found in the file `/usr/share/common-licenses/Apache-2.0'. + +Files: c++/src/html/ncbi_menu.js + c++/src/html/ncbi_menu_dnd.js + c++/src/html/ncbi_menu_dyn.js +Copyright: 1997 Gary Smith + 1997-1999 Netscape Communications Corp. +License: Netscape + Netscape grants you a royalty free license to use or modify this + software provided that this copyright notice appears on all copies. + This software is provided "AS IS," without a warranty of any kind. + +Files: c++/*/util/compress/zlib/* +Copyright: 1995-2004 Jean-loup Gailly and Mark Adler +License: BSD-3-clause + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + . + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + +Files: c++/*/util/regexp/* +Copyright: 1997-2009 University of Cambridge + 2008-2009 Google Inc +License: BSD-4-clause + +Files: c++/*/util/compress/bzip2/* +Copyright: 1996-2002 Julian R Seward +License: BSD-4-clause + +License: BSD-4-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + 3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + 4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: c++/src/build-system/config.*s* +Copyright: 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc +License: GPL-2 + +Files: c++/src/build-system/m4/ax_jni_include_dir.m4 +Copyright: 2008 Don Anderson +License: as_is + Copying and distribution of this file, with or without modification, are + permitted in any medium without royalty provided the copyright notice + and this notice are preserved. This file is offered as-is, without any + warranty. + +Files: c++/include/util/impl/floating_point_comparison.hpp +Copyright: 2001-2008 Gennadiy Rozental +License: Boost + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + . + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +Files: c++/include/dbapi/driver/odbc/unix_odbc/sqlfront.h +Copyright: 1998-1999 Brian Bruns +License: GPL-2 + +License: GPL-2 + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + + +Files: c++/include/util/bitset/* +Copyright: 2002-2003 Anatoliy Kuznetsov +License: MIT + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +Files: debian/* +Copyright: 2011 Olivier Sallou +License: GPL-2+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". diff --git a/dirs b/dirs new file mode 100644 index 00000000..2b9d1904 --- /dev/null +++ b/dirs @@ -0,0 +1,2 @@ +usr/bin +var/lib/ncbi-blast+/db diff --git a/docs b/docs new file mode 100644 index 00000000..e69de29b diff --git a/legacy/legacy.sh b/legacy/legacy.sh new file mode 100755 index 00000000..dba6d0ca --- /dev/null +++ b/legacy/legacy.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +# Execute legacy blast +exec legacy_blast ${0##*/} $@ diff --git a/ncbi-blast+-legacy.dirs b/ncbi-blast+-legacy.dirs new file mode 100644 index 00000000..415f082d --- /dev/null +++ b/ncbi-blast+-legacy.dirs @@ -0,0 +1 @@ +/usr/bin diff --git a/ncbi-blast+.1 b/ncbi-blast+.1 new file mode 100644 index 00000000..fe9e0c35 --- /dev/null +++ b/ncbi-blast+.1 @@ -0,0 +1,33 @@ +.TH ncbi-blast+ 1 "April 29, 2011" "version 2.2.25" "USER COMMANDS" +.SH NAME +ncbi-blast+ \- NCBI command tools for BLAST+ +.SH ONELINE DOCUMENTATION +.B BLAST+ documentation is available online at http://www.ncbi.nlm.nih.gov/books/NBK1763/ +.PP +.SH DESCRIPTION +The NCBI BLAST+ is a group of tools for basic alignment search. BLAST+ + is a rewrite of BLAST with new features and performance improvements. +BLAST+ commands differ from original BLAST. For BLAST users, one should read + the BLAST USERS paragraph. +.PP +.SH CONFIGURATION +BLAST+ uses the BLASTDB environment variable to get default db directory. +It is possible to update the file /etc/ncbi/.ncbirc to add the following: +.B [BLAST] +.B BLASTDB=/var/lib/ncbi-blast+/db +.SH BLAST USERS +The easiest way to get started using these command line applications is + by means of the legacy_blast.pl PERL script which is bundled along with + the BLAST+ applications. +To utilize this script, simply prefix it to the invocation of the C toolkit + BLAST command line application and append the --path option pointing to the +installation directory of the BLAST+ applications. For example, instead of using + +.B blastall -i query -d nr -o blast.out +use +.B legacy_blast.pl blastall -i query -d nr -o blast.out --path /usr/bin + +.PP +.SH AUTHOR +Olivier Sallou (olivier.sallou (at) irisa.fr) - Man page and packaging +NCBI - BLAST+ diff --git a/ncbi-blast+.dirs b/ncbi-blast+.dirs new file mode 100644 index 00000000..32fdc473 --- /dev/null +++ b/ncbi-blast+.dirs @@ -0,0 +1,2 @@ +usr/bin +usr/lib/ncbi-blast+ diff --git a/ncbi-blast+.examples b/ncbi-blast+.examples new file mode 100644 index 00000000..e5da4986 --- /dev/null +++ b/ncbi-blast+.examples @@ -0,0 +1 @@ +debian/ncbi-blast+.tests/* diff --git a/ncbi-blast+.manpages b/ncbi-blast+.manpages new file mode 100644 index 00000000..0f651869 --- /dev/null +++ b/ncbi-blast+.manpages @@ -0,0 +1 @@ +debian/*.1 diff --git a/ncbi-blast+.tests/test.fa b/ncbi-blast+.tests/test.fa new file mode 100644 index 00000000..6db78dd5 --- /dev/null +++ b/ncbi-blast+.tests/test.fa @@ -0,0 +1,10 @@ +>gnl|MYDB|1 this is sequence 1 +GAATTCCCGCTACAGGGGGGGCCTGAGGCACTGCAGAAAGTGGGCCTGAGCCTCGAGGATGACGGTGCTGCAGGAACCCG +TCCAGGCTGCTATATGGCAAGCACTAAACCACTATGCTTACCGAGATGCGGTTTTCCTCGCAGAACGCCTTTATGCAGAA +GTACACTCAGAAGAAGCCTTGTTTTTACTGGCAACCTGTTATTACCGCTCAGGAAAGGCATATAAAGCATATAGACTCTT +GAAAGGACACAGTTGTACTACACCGCAATGCAAATACCTGCTTGCAAAATGTTGTGTTGATCTCAGCAAGCTTGCAGAAG +GGGAACAAATCTTATCTGGTGGAGTGTTTAATAAGCAGAAAAGCCATGATGATATTGTTACTGAGTTTGGTGATTCAGCT +TGCTTTACTCTTTCATTGTTGGGACATGTATATTGCAAGACAGATCGGCTTGCCAAAGGATCAGAATGTTACCAAAAGAG +CCTTAGTTTAAATCCTTTCCTCTGGTCTCCCTTTGAATCATTATGTGAAATAGGTGAAAAGCCAGATCCTGACCAAACAT +TTAAATTCACATCTTTACAGAACTTTAGCAACTGTCTGCCCAACTCTTGCACAACACAAGTACCTAATCATAGTTTATCT +CACAGACAGCCTGAGACAGTTCTTACGGAAACACCCCAGGACACAATTGAATTAAACAGATTGAATTTAGAATCTTCCAA diff --git a/ncbi-blast+.tests/testdatabase.fa b/ncbi-blast+.tests/testdatabase.fa new file mode 100644 index 00000000..844ac1db --- /dev/null +++ b/ncbi-blast+.tests/testdatabase.fa @@ -0,0 +1,29 @@ +>gnl1 +GAATTCCCGCTACAGGGGGGGCCTGAGGCACTGCAGAAAGTGGGCCTGAGCCTCGAGGATGACGGTGCTGCAGGAACCCG +TCCAGGCTGCTATATGGCAAGCACTAAACCACTATGCTTACCGAGATGCGGTTTTCCTCGCAGAACGCCTTTATGCAGAA +GTACACTCAGAAGAAGCCTTGTTTTTACTGGCAACCTGTTATTACCGCTCAGGAAAGGCATATAAAGCATATAGACTCTT +GAAAGGACACAGTTGTACTACACCGCAATGCAAATACCTGCTTGCAAAATGTTGTGTTGATCTCAGCAAGCTTGCAGAAG +GGGAACAAATCTTATCTGGTGGAGTGTTTAATAAGCAGAAAAGCCATGATGATATTGTTACTGAGTTTGGTGATTCAGCT +TGCTTTACTCTTTCATTGTTGGGACATGTATATTGCAAGACAGATCGGCTTGCCAAAGGATCAGAATGTTACCAAAAGAG +CCTTAGTTTAAATCCTTTCCTCTGGTCTCCCTTTGAATCATTATGTGAAATAGGTGAAAAGCCAGATCCTGACCAAACAT +TTAAATTCACATCTTTACAGAACTTTAGCAACTGTCTGCCCAACTCTTGCACAACACAAGTACCTAATCATAGTTTATCT +CACAGACAGCCTGAGACAGTTCTTACGGAAACACCCCAGGACACAATTGAATTAAACAGATTGAATTTAGAATCTTCCAA +>gnl2 +GAATTCCCGCTACAGGGGGGGCCTGAGGCACTGCAGAAAGTGGGCCTGAGCCTCGAGGATGACGGTGCTGCAGGAACCCG +TCCAGGCTGCTATATGGCAAGCACTAAACCACTATGCTTACCGAGATGCGGTTTTCCTCGCAGAACGCCTTTATGCAGAA +GTACACTCAGAAGAAGCCTTGTTTTTACTGGCAACCTGTTATTACCGCTCAGGAAAGGCATATAAAGCATATAGACTCTT +GAAAGGACACAGTTGTACTACACCGCAATGCAAATACCTGCTTGCAAAATGTTGTGTTGATCTCAGCAAGCTTGCAGAAG +GGGAACAAATCTTATCTGGTGGAGTGTTTAATAAGCAGAAAAGCCATGATGATATTGTTACTGAGTTTGGTGATTCAGCT +TGCTTTACTCTTTCATTGTTGGGACATGTATATTGCAAGACAGATCGGCTTGCCAAAGGATCAGAATGTTACCAAAAGAG +CCTTAGTTTAAATCCTTTCCTCTGGTCTCCCTTTGAATCATTATGTGAAATAGGTGAAAAGCCAGATCCTGACCAAACAT +TTAAATTCACATCTTTACAGAACTTTAGCAACTGTCTGCCCAACTCTTGCACAACACAAGTACCTAATCATAGTTTATCT +CACAGACAGCCTGAGACAGTTCTTACGGAAACACCCCAGGACACAATTGAATTAAACAGATTGAATTTAGAATCTTCCAA +>gnl3 +GAATTCCCGCTACAGGGGGGGCCTGAGGCACTGCAGAAAGTGGGCCTGAGCCTCGAGGATGACGGTGCTGCAGGAACCCG +TCCAGGCTGCTATATGGCAAGCACTAAACCACTATGCTTACCGAGATGCGGTTTTCCTCGCAGAACGCCTTTATGCAGAA +GTACACTCAGAAGAAGCCTTGTTTTTACTGGCAACCTGTTATTACCGCTCAGGAAAGGCATATAAAGCATATAGACTCTT +GAAAGGACACAGTTGTACTACACCGCAATGCAAATACCTGCTTGCAAAATGTTGTGTTGATCTCAGCAAGCTTGCAGAAG +GGGAACAAATCTTATCTGGTGGAGTGTTTAATAAGCAGAAAAGCCATGATGATATTGTTACTGAGTTTGGTGATTCAGCT +TGCTTTACTCTTTCATTGTTGGGACATGTATATTGCAAGACAGATCGGCTTGCCAAAGGATCAGAATGTTACCAAAAGAG +CCTTAGTTTAAATCCTTTCCTCTGGTCTCCCTTTGAATCATTATGTGAAATAGGTGAAAAGCCAGATCCTGACCAAACAT +TTAAATTCACATCTTTACAGAACTTTAGCAACTGTCTGCCCAACTCTTGCACAACACAAGTACCTAATCATAGTTTATCT diff --git a/patches/enable_clean_after_failed_compile b/patches/enable_clean_after_failed_compile new file mode 100644 index 00000000..179768ed --- /dev/null +++ b/patches/enable_clean_after_failed_compile @@ -0,0 +1,16 @@ +Subject: clean after failure +Description: Enable clean +Author: Tim Booth +Last-Updated: 2013-06-01 +Forwarded: no +--- a/c++/src/build-system/new_module.sh.in ++++ b/c++/src/build-system/new_module.sh.in +@@ -198,7 +198,7 @@ + if test -n "$DYLD_LIBRARY_PATH"; then + wrapper="DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH" + fi +- else ++ elif [ "$1" != "purge_sources" ] ; then + echo "Unable to find datatool." >&2 + exit 2 + fi diff --git a/patches/fix_configure b/patches/fix_configure new file mode 100644 index 00000000..c360ef0d --- /dev/null +++ b/patches/fix_configure @@ -0,0 +1,14 @@ +Subject: fix path for debian build +Description: Debian build is not done in configure directory, + need to update way to get relative configure.orig script +Author: Olivier Sallou +Forwarded: no +Last-Updated: 2014-06-06 +--- a/c++/configure.orig ++++ b/c++/configure.orig +@@ -1,3 +1,4 @@ + #!/bin/sh +-srcdir=`dirname $0` ++srcdir=$(readlink -f $0) ++srcdir=`dirname $srcdir` + exec $srcdir/src/build-system/configure --srcdir=$srcdir ${1+"$@"} diff --git a/patches/fix_lib_deps b/patches/fix_lib_deps new file mode 100644 index 00000000..7a26bdd6 --- /dev/null +++ b/patches/fix_lib_deps @@ -0,0 +1,794 @@ +Subject: ensure that all libraries link against all direct dependencies + + * src/**/Makefile.*.lib: set DLL_(D)LIB correctly. Break the dependency + loop between libxblast and libxalgoblastdbindex by having the former + provide only the C++ BLAST API, leaving the C core only in libblast. + * src/build-system/library_relations.txt: Change xblast's + relationship to blast from includes to needs, accordingly. + * src/algo/blast/Makefile.blast_macros.mk: Add blast to BLAST_LIBS. + * src/algo/blast/dbindex*/*/Makefile.*.app: Link against libxconnect + rather than libconnect for consistency with libblast, which uses the + former to keep the aforementioned cycle-breaking from causing + inconsistency elsewhere. + +Debian-Bug: 633567. +Author: Aaron M. Ucko +Last-Update: 2016-12-05 +--- a/c++/src/algo/blast/blastinput/Makefile.blastinput.lib ++++ b/c++/src/algo/blast/blastinput/Makefile.blastinput.lib +@@ -27,7 +27,9 @@ SRC = $(SRC_CXX) + + LIB = blastinput + +-DLL_LIB = xblast align_format ncbi_xloader_blastdb_rmt ncbi_xloader_blastdb seqdb $(OBJREAD_LIBS) $(OBJMGR_LIBS) xutil ++ DLL_LIB = xblast align_format ncbi_xloader_blastdb_rmt ncbi_xloader_blastdb seqdb xobjread \ ++ $(OBJREAD_LIBS) $(OBJMGR_LIBS) xutil ncbi_xloader_genbank ncbi_xreader_id2 ncbi_xreader \ ++ scoremat seqset seq xser xutil xncbi + + # should be redundant, given the above :-/ + ASN_DEP = seqset xnetblast +--- a/c++/src/algo/blast/core/Makefile.blast.lib ++++ b/c++/src/algo/blast/core/Makefile.blast.lib +@@ -23,6 +23,7 @@ CFLAGS = $(FAST_CFLAGS) + LDFLAGS = $(FAST_LDFLAGS) + WATCHERS = madden camacho fongah2 + ++DLL_LIB = composition_adjustment xconnect tables + + USES_LIBRARIES = \ + composition_adjustment connect tables +--- a/c++/src/algo/blast/dbindex/Makefile.xalgoblastdbindex.lib ++++ b/c++/src/algo/blast/dbindex/Makefile.xalgoblastdbindex.lib +@@ -11,6 +11,8 @@ SRC = sequence_istream_fasta \ + CXXFLAGS = -DDO_INLINE $(FAST_CXXFLAGS) + LDFLAGS = $(FAST_LDFLAGS) + ++DLL_LIB = blast seqdb xobjread xobjutil xobjmgr seqset seq xser xutil xncbi ++ + ASN_DEP = seqset submit + + WATCHERS = morgulis +--- a/c++/src/algo/blast/dbindex/makeindex/Makefile.makeindex.app ++++ b/c++/src/algo/blast/dbindex/makeindex/Makefile.makeindex.app +@@ -2,7 +2,7 @@ APP = makembindex + SRC = main mkindex_app + + LIB_ = xalgoblastdbindex blast composition_adjustment seqdb blastdb \ +- $(OBJREAD_LIBS) xobjutil tables connect $(SOBJMGR_LIBS) ++ $(OBJREAD_LIBS) xobjutil tables xconnect $(SOBJMGR_LIBS) + LIB = $(LIB_:%=%$(STATIC)) $(LMDB_LIB) + + CXXFLAGS = $(FAST_CXXFLAGS) +--- a/c++/src/algo/dustmask/Makefile.xalgodustmask.lib ++++ b/c++/src/algo/dustmask/Makefile.xalgodustmask.lib +@@ -8,6 +8,8 @@ LIB = xalgodustmask + + SRC = symdust + ++DLL_LIB = xobjmgr seq xncbi ++ + CXXFLAGS = $(FAST_CXXFLAGS) + LDFLAGS = $(FAST_LDFLAGS) + +--- a/c++/src/algo/segmask/Makefile.xalgosegmask.lib ++++ b/c++/src/algo/segmask/Makefile.xalgosegmask.lib +@@ -8,6 +8,8 @@ LIB = xalgosegmask + + SRC = segmask + ++DLL_LIB = blast xobjmgr xncbi ++ + CXXFLAGS = $(FAST_CXXFLAGS) + LDFLAGS = $(FAST_LDFLAGS) + +--- a/c++/src/algo/winmask/Makefile.xalgowinmask.lib ++++ b/c++/src/algo/winmask/Makefile.xalgowinmask.lib +@@ -21,7 +21,7 @@ SRC = seq_masker seq_masker_score_mean s + CXXFLAGS = $(FAST_CXXFLAGS) + LDFLAGS = $(FAST_LDFLAGS) + +- ++DLL_LIB = seqmasks_io xobjread xobjutil xobjmgr seq xncbi + + USES_LIBRARIES = \ + seqmasks_io +--- a/c++/src/build-system/library_relations.txt ++++ b/c++/src/build-system/library_relations.txt +@@ -1603,7 +1603,7 @@ xbiosample_util needs mlacli + xbiosample_util needs valid + xbiosample_util needs xmlwrapp + xbiosample_util needs xobjutil +-xblast includes blast ++xblast needs blast + xblast needs xalgoblastdbindex + xblast needs xalgodustmask + xblast needs xalgowinmask +--- a/c++/src/cgi/Makefile.cgi.lib ++++ b/c++/src/cgi/Makefile.cgi.lib +@@ -9,6 +9,8 @@ SRC = ncbicgi cgiapp cgictx ncbicgir ncb + user_agent + LIB = xcgi + ++DLL_LIB = xutil xncbi ++ + CPPFLAGS = $(ORIG_CPPFLAGS) $(FASTCGI_INCLUDE) + + WATCHERS = vakatov +--- a/c++/src/corelib/Makefile.test_boost.lib ++++ b/c++/src/corelib/Makefile.test_boost.lib +@@ -3,6 +3,8 @@ + SRC = test_boost teamcity_messages + LIB = test_boost + ++DLL_LIB = xncbi ++ + CPPFLAGS = $(ORIG_CPPFLAGS) $(BOOST_INCLUDE) + + REQUIRES = Boost.Test.Included +--- a/c++/src/corelib/Makefile.test_mt.lib ++++ b/c++/src/corelib/Makefile.test_mt.lib +@@ -3,6 +3,8 @@ + SRC = test_mt + LIB = test_mt + ++DLL_LIB = xncbi ++ + # REQUIRES = MT + + USE_PCH = no +--- a/c++/src/html/Makefile.html.lib ++++ b/c++/src/html/Makefile.html.lib +@@ -7,6 +7,8 @@ SRC = node html htmlhelper page pager se + commentdiag indentstream html_exception writer_htmlenc + LIB = xhtml + ++DLL_LIB = xncbi ++ + WATCHERS = ivanov + + +--- a/c++/src/objects/blast/Makefile.blast.lib ++++ b/c++/src/objects/blast/Makefile.blast.lib +@@ -3,6 +3,8 @@ SRC = blast__ blast___ names + + DLL_LIB = seqset scoremat + ++DLL_LIB = scoremat seqset seq xser xncbi ++ + WATCHERS = camacho + + +--- a/c++/src/objects/blastdb/Makefile.blastdb.lib ++++ b/c++/src/objects/blastdb/Makefile.blastdb.lib +@@ -5,6 +5,8 @@ SRC = blastdb__ blastdb___ + + DLL_LIB = xser + ++DLL_LIB = seq xser xncbi ++ + WATCHERS = camacho + + +--- a/c++/src/objects/blastxml/Makefile.blastxml.lib ++++ b/c++/src/objects/blastxml/Makefile.blastxml.lib +@@ -1,6 +1,8 @@ + LIB = blastxml + SRC = blastxml__ blastxml___ + ++DLL_LIB = xser xncbi ++ + + USES_LIBRARIES = \ + xser +--- a/c++/src/objects/id1/Makefile.id1.lib ++++ b/c++/src/objects/id1/Makefile.id1.lib +@@ -5,6 +5,8 @@ SRC = id1__ id1___ + + DLL_LIB = seqset + ++DLL_LIB = seqset seq xser xncbi ++ + WATCHERS = vasilche + + +--- a/c++/src/objects/id2/Makefile.id2.lib ++++ b/c++/src/objects/id2/Makefile.id2.lib +@@ -1,6 +1,8 @@ + LIB = id2 + SRC = id2__ id2___ + ++DLL_LIB = seqsplit seq xser xncbi ++ + WATCHERS = vasilche + + USES_LIBRARIES = \ +--- a/c++/src/objects/seqcode/Makefile.seqcode.lib ++++ b/c++/src/objects/seqcode/Makefile.seqcode.lib +@@ -1,6 +1,8 @@ + LIB = seqcode + SRC = seqcode__ seqcode___ + ++DLL_LIB = xser xncbi ++ + + USES_LIBRARIES = \ + xser +--- a/c++/src/objects/seqedit/Makefile.seqedit.lib ++++ b/c++/src/objects/seqedit/Makefile.seqedit.lib +@@ -1,6 +1,7 @@ + LIB = seqedit + SRC = seqedit__ seqedit___ +- ++ ++DLL_LIB = seqset seq general xser xncbi + + + USES_LIBRARIES = \ +--- a/c++/src/objects/seqsplit/Makefile.seqsplit.lib ++++ b/c++/src/objects/seqsplit/Makefile.seqsplit.lib +@@ -1,6 +1,8 @@ + LIB = seqsplit + SRC = seqsplit__ seqsplit___ + ++DLL_LIB = seqset seq xser xncbi ++ + WATCHERS = vasilche + + +--- a/c++/src/objects/submit/Makefile.submit.lib ++++ b/c++/src/objects/submit/Makefile.submit.lib +@@ -1,6 +1,8 @@ + LIB = submit + SRC = submit__ submit___ + ++DLL_LIB = seqset seq biblio general xser xncbi ++ + + USES_LIBRARIES = \ + seqset +--- a/c++/src/objmgr/split/Makefile.id2_split.lib ++++ b/c++/src/objmgr/split/Makefile.id2_split.lib +@@ -17,7 +17,7 @@ LIB = id2_split + + CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE) + +-DLL_LIB = $(SOBJMGR_LIBS) ++DLL_LIB = xobjmgr seqsplit seqset seq general xser xcompress xncbi + + WATCHERS = vasilche + +--- a/c++/src/objmgr/util/Makefile.util.lib ++++ b/c++/src/objmgr/util/Makefile.util.lib +@@ -14,6 +14,8 @@ LIB = xobjutil + + DLL_LIB = submit $(SOBJMGR_LIBS) + ++DLL_LIB = xobjmgr seqset seq pub biblio general xser sequtil xutil xncbi ++ + WATCHERS = ucko vasilche + + +--- a/c++/src/objtools/align_format/Makefile.align_format.lib ++++ b/c++/src/objtools/align_format/Makefile.align_format.lib +@@ -15,6 +15,10 @@ CPPFLAGS = -DNCBI_MODULE=BLASTFORMAT $(O + + LIBS = $(BLAST_THIRD_PARTY_LIBS) $(ORIG_LIBS) + ++DLL_LIB = xalnmgr ncbi_xloader_genbank seqdb blast_services xobjread xobjutil \ ++ xobjmgr xnetblast blastdb gene_info taxon1 seqset seq general xser \ ++ xcgi xhtml tables xncbi ++ + ### EXAMPLES OF OTHER SETTINGS THAT MIGHT BE OF INTEREST + # CFLAGS = $(FAST_CFLAGS) + # CXXFLAGS = $(FAST_CXXFLAGS) +--- a/c++/src/objtools/alnmgr/Makefile.alnmgr.lib ++++ b/c++/src/objtools/alnmgr/Makefile.alnmgr.lib +@@ -14,6 +14,7 @@ DLL_LIB = xobjutil tables + + WATCHERS = grichenk + ++DLL_LIB = xobjutil xobjmgr seqset seq xser tables xncbi + + USES_LIBRARIES = \ + tables xobjutil +--- a/c++/src/objtools/blast/blastdb_format/Makefile.blastdb_format.lib ++++ b/c++/src/objtools/blast/blastdb_format/Makefile.blastdb_format.lib +@@ -11,6 +11,7 @@ SRC = seq_writer blastdb_dataextract bla + + CPPFLAGS = -DNCBI_MODULE=BLASTDB $(ORIG_CPPFLAGS) + ++DLL_LIB = seqdb xobjutil xobjmgr seq xser sequtil xutil xncbi + + ### EXAMPLES OF OTHER SETTINGS THAT MIGHT BE OF INTEREST + # CFLAGS = $(FAST_CFLAGS) +--- a/c++/src/objtools/blast/seqdb_reader/Makefile.seqdb.lib ++++ b/c++/src/objtools/blast/seqdb_reader/Makefile.seqdb.lib +@@ -29,6 +29,8 @@ LIB = seqdb + DLL_LIB = blastdb $(SOBJMGR_LIBS) $(LMDB_LIB) + LIBS = $(BLAST_THIRD_PARTY_LIBS) + ++DLL_LIB = blastdb xobjmgr seq general xser sequtil xncbi ++ + CFLAGS = $(FAST_CFLAGS) + CPPFLAGS = -DNCBI_MODULE=BLASTDB $(ORIG_CPPFLAGS) $(BLAST_THIRD_PARTY_INCLUDE) + CXXFLAGS = $(FAST_CXXFLAGS) +--- a/c++/src/objtools/blast/seqdb_writer/Makefile.writedb.lib ++++ b/c++/src/objtools/blast/seqdb_writer/Makefile.writedb.lib +@@ -11,6 +11,9 @@ DLL_LIB = blastdb $(SOBJMGR_LIBS) + + LIB = writedb + ++DLL_LIB = seqdb xobjread xobjmgr blastdb seqset seq general \ ++ xser sequtil xutil xncbi ++ + CFLAGS = $(FAST_CFLAGS) + CPPFLAGS = -DNCBI_MODULE=BLASTDB $(ORIG_CPPFLAGS) $(BLAST_THIRD_PARTY_INCLUDE) + CXXFLAGS = $(FAST_CXXFLAGS) +--- a/c++/src/objtools/blast/services/Makefile.blast_services.lib ++++ b/c++/src/objtools/blast/services/Makefile.blast_services.lib +@@ -10,6 +10,8 @@ LIB = blast_services + + DLL_LIB = xnetblastcli xnetblast + ++DLL_LIB = xnetblastcli xnetblast xser xconnect xutil xncbi ++ + CFLAGS = $(FAST_CFLAGS) + # -DNCBI_MODULE=NETBLAST moved to blast_services.*pp to avoid misnamed modules in DLL configurations + CPPFLAGS = $(ORIG_CPPFLAGS) +--- a/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb.lib ++++ b/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb.lib +@@ -3,7 +3,7 @@ + LIB = ncbi_xloader_blastdb + SRC = bdbloader cached_sequence local_blastdb_adapter + +-DLL_LIB = seqdb ++DLL_LIB = seqdb xobjmgr seqset seq xncbi + + CPPFLAGS = -DNCBI_MODULE=BLASTDB $(ORIG_CPPFLAGS) + +--- a/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb_rmt.lib ++++ b/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb_rmt.lib +@@ -7,6 +7,8 @@ DLL_LIB = blast_services + + CPPFLAGS = -DNCBI_MODULE=BLASTDB $(ORIG_CPPFLAGS) + ++DLL_LIB = ncbi_xloader_blastdb blast_services xobjmgr seq xncbi ++ + ASN_DEP = blastdb xnetblast + + WATCHERS = camacho +--- a/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xloader_genbank.lib ++++ b/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xloader_genbank.lib +@@ -12,6 +12,10 @@ LIB_OR_DLL = both + # Dependencies for shared library + DLL_LIB = general ncbi_xreader$(DLL) $(GENBANK_PSG_CLIENT_LDEP) + ++DLL_DLIB = ncbi_xreader_cache ncbi_xreader_id1 ncbi_xreader_id2 \ ++ id2 id1 ncbi_xreader $(GENBANK_PSG_CLIENT_LDEP) xobjmgr \ ++ seq xutil xncbi ++ + LIBS = $(GENBANK_THIRD_PARTY_LIBS) $(CMPRS_LIBS) $(ORIG_LIBS) + + CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE) +--- a/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xreader.lib ++++ b/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xreader.lib +@@ -16,6 +16,9 @@ DLL_LIB = $(GENBANK_READER_LDEP) + + LIBS = $(CMPRS_LIBS) $(NETWORK_LIBS) $(DL_LIBS) $(ORIG_LIBS) + ++DLL_DLIB = xobjmgr id2 seqsplit id1 seqset seq general \ ++ xser xconnect xcompress xutil xncbi ++ + WATCHERS = vasilche + + +--- a/c++/src/objtools/data_loaders/genbank/cache/Makefile.ncbi_xreader_cache.lib ++++ b/c++/src/objtools/data_loaders/genbank/cache/Makefile.ncbi_xreader_cache.lib +@@ -12,6 +12,8 @@ LIB_OR_DLL = both + # Dependencies for shared library + DLL_LIB = ncbi_xreader$(DLL) + ++DLL_DLIB = ncbi_xreader xobjmgr seq xser xncbi ++ + CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE) + + WATCHERS = vasilche +--- a/c++/src/objtools/data_loaders/genbank/id1/Makefile.ncbi_xreader_id1.lib ++++ b/c++/src/objtools/data_loaders/genbank/id1/Makefile.ncbi_xreader_id1.lib +@@ -12,6 +12,8 @@ LIB_OR_DLL = both + # Dependencies for shared library + DLL_LIB = ncbi_xreader$(DLL) $(GENBANK_READER_LDEP) + ++DLL_DLIB = ncbi_xreader xobjmgr id1 seq general xser xconnect xutil xncbi ++ + CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE) + + WATCHERS = vasilche +--- a/c++/src/objtools/data_loaders/genbank/id2/Makefile.ncbi_xreader_id2.lib ++++ b/c++/src/objtools/data_loaders/genbank/id2/Makefile.ncbi_xreader_id2.lib +@@ -12,7 +12,10 @@ LIB_OR_DLL = both + CPPFLAGS = $(ORIG_CPPFLAGS) $(Z_INCLUDE) + + # Dependencies for shared library (disabled due to problems on Darwin) +-# DLL_LIB = xconnect ncbi_xreader$(DLL) ++DLL_LIB = xconnect ncbi_xreader$(DLL) ++ ++DLL_DLIB = ncbi_xreader xobjmgr id2 seqsplit seq xser xconnect xncbi ++ + + WATCHERS = vasilche + +--- a/c++/src/objtools/seqmasks_io/Makefile.seqmasks_io.lib ++++ b/c++/src/objtools/seqmasks_io/Makefile.seqmasks_io.lib +@@ -12,7 +12,7 @@ mask_writer_seqloc \ + mask_writer_blastdb_maskinfo + + ASN_DEP = seqset +-DLL_LIB = seqdb blastdb ++DLL_LIB = seqdb xobjread xobjutil xobjmgr blastdb seqset seq xser xncbi + + LIBS = $(BLAST_THIRD_PARTY_LIBS) $(ORIG_LIBS) + +--- a/c++/src/objtools/simple/Makefile.xobjsimple.lib ++++ b/c++/src/objtools/simple/Makefile.xobjsimple.lib +@@ -7,6 +7,8 @@ WATCHERS = jcherry + + ASN_DEP = seqset + ++DLL_LIB = ncbi_xloader_genbank xobjmgr seq xncbi ++ + LIB = xobjsimple + SRC = simple_om + +--- a/c++/src/serial/Makefile.serial.lib ++++ b/c++/src/serial/Makefile.serial.lib +@@ -20,6 +20,8 @@ LIB = xser + + DLL_LIB = xutil + ++DLL_LIB = xutil xncbi ++ + WATCHERS = gouriano + + +--- a/c++/src/util/Makefile.util.lib ++++ b/c++/src/util/Makefile.util.lib +@@ -15,6 +15,7 @@ SRC = random_gen utf8 checksum checksum_ + LIB = xutil + PROJ_TAG = core + ++DLL_LIB = xncbi + LIBS = $(ORIG_LIBS) + + WATCHERS = vakatov +--- a/c++/src/util/compress/api/Makefile.compress.lib ++++ b/c++/src/util/compress/api/Makefile.compress.lib +@@ -7,7 +7,7 @@ LIB = xcompress + + CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE) + +-DLL_LIB = $(BZ2_LIB) $(Z_LIB) $(LZO_LIB) ++DLL_LIB = $(BZ2_LIB) $(Z_LIB) $(LZO_LIB) xutil xncbi + LIBS = $(BZ2_LIBS) $(Z_LIBS) $(LZO_LIBS) $(ORIG_LIBS) + + WATCHERS = ivanov +--- a/c++/src/util/xregexp/Makefile.xregexp.lib ++++ b/c++/src/util/xregexp/Makefile.xregexp.lib +@@ -5,7 +5,7 @@ LIB = xregexp + + CPPFLAGS = $(ORIG_CPPFLAGS) $(PCRE_INCLUDE) + +-DLL_LIB = $(PCRE_LIB) ++DLL_LIB = $(PCRE_LIB) xncbi + LIBS = $(PCRE_LIBS) + + USES_LIBRARIES = \ +--- a/c++/src/objtools/readers/Makefile.xobjread.lib ++++ b/c++/src/objtools/readers/Makefile.xobjread.lib +@@ -29,6 +29,6 @@ SRC = reader_message reader_listener rea + message_listener line_error + + +-DLL_LIB = submit seqset $(SEQ_LIBS) general xutil xlogging ++DLL_LIB = submit seqset $(SEQ_LIBS) general xutil xlogging pub xser xncbi + + USES_LIBRARIES = submit xlogging +--- a/c++/src/util/sequtil/Makefile.sequtil.lib ++++ b/c++/src/util/sequtil/Makefile.sequtil.lib +@@ -3,6 +3,8 @@ + LIB = sequtil + SRC = sequtil sequtil_convert sequtil_convert_imp sequtil_manip sequtil_tables sequtil_shared + ++DLL_LIB = xncbi ++ + WATCHERS = grichenk ucko + + +--- a/c++/src/objects/genomecoll/Makefile.genome_collection.lib ++++ b/c++/src/objects/genomecoll/Makefile.genome_collection.lib +@@ -3,6 +3,8 @@ + LIB = genome_collection + SRC = genome_collection__ genome_collection___ + ++DLL_LIB = seq general xser xncbi ++ + WATCHERS = dicuccio smithrg zherikov + + +--- a/c++/src/objects/medline/Makefile.medline.lib ++++ b/c++/src/objects/medline/Makefile.medline.lib +@@ -1,7 +1,7 @@ + LIB = medline + SRC = medline__ medline___ + +-DLL_LIB = biblio general ++DLL_LIB = biblio general xser xncbi + + USES_LIBRARIES = \ + biblio +--- a/c++/src/objects/scoremat/Makefile.scoremat.lib ++++ b/c++/src/objects/scoremat/Makefile.scoremat.lib +@@ -1,7 +1,7 @@ + LIB = scoremat + SRC = scoremat__ scoremat___ + +-DLL_LIB = seqset ++DLL_LIB = seqset seq general xser xncbi + + USES_LIBRARIES = \ + seqset +--- a/c++/src/objects/pub/Makefile.pub.lib ++++ b/c++/src/objects/pub/Makefile.pub.lib +@@ -1,7 +1,7 @@ + LIB = pub + SRC = pub__ pub___ + +-DLL_LIB = medline biblio ++DLL_LIB = medline biblio xser xncbi + + USES_LIBRARIES = \ + medline +--- a/c++/src/objects/blastxml2/Makefile.blastxml2.lib ++++ b/c++/src/objects/blastxml2/Makefile.blastxml2.lib +@@ -1,5 +1,7 @@ + LIB = blastxml2 + SRC = blastxml2__ blastxml2___ + ++DLL_LIB = xser xutil xncbi ++ + USES_LIBRARIES = \ + xser +--- a/c++/src/objects/entrez2/Makefile.entrez2.lib ++++ b/c++/src/objects/entrez2/Makefile.entrez2.lib +@@ -3,6 +3,7 @@ WATCHERS = lavr + LIB = entrez2 + SRC = entrez2__ entrez2___ + ++DLL_LIB = xser xutil xncbi + + USES_LIBRARIES = \ + xser +--- a/c++/src/objects/gbseq/Makefile.gbseq.lib ++++ b/c++/src/objects/gbseq/Makefile.gbseq.lib +@@ -1,6 +1,7 @@ + LIB = gbseq + SRC = gbseq__ gbseq___ + ++DLL_LIB = xser xutil xncbi + + USES_LIBRARIES = \ + xser +--- a/c++/src/objtools/blast/gene_info_reader/Makefile.gene_info.lib ++++ b/c++/src/objtools/blast/gene_info_reader/Makefile.gene_info.lib +@@ -6,6 +6,7 @@ CPPFLAGS = -DNCBI_MODULE=GENEINFO $(ORIG + LIB = gene_info + SRC = gene_info gene_info_reader file_utils + ++DLL_LIB = xncbi + + USES_LIBRARIES = \ + xncbi +--- a/c++/src/objects/medlars/Makefile.medlars.lib ++++ b/c++/src/objects/medlars/Makefile.medlars.lib +@@ -1,6 +1,7 @@ + LIB = medlars + SRC = medlars__ medlars___ + ++DLL_LIB = biblio xser xutil xncbi + + USES_LIBRARIES = \ + biblio +--- a/c++/src/objects/mla/Makefile.mla.lib ++++ b/c++/src/objects/mla/Makefile.mla.lib +@@ -1,6 +1,7 @@ + LIB = mla + SRC = mla__ mla___ + ++DLL_LIB = medlars pub pubmed xser xutil xncbi + + USES_LIBRARIES = \ + medlars pub pubmed +--- a/c++/src/objects/mla/Makefile.mlacli.lib ++++ b/c++/src/objects/mla/Makefile.mlacli.lib +@@ -5,5 +5,7 @@ SRC = mla_client mla_client_ + + DLL_LIB = mla pubmed medlars xconnect + ++DLL_LIB = mla xconnect xser xutil xncbi ++ + USES_LIBRARIES = \ + mla xconnect +--- a/c++/src/objects/pubmed/Makefile.pubmed.lib ++++ b/c++/src/objects/pubmed/Makefile.pubmed.lib +@@ -1,6 +1,7 @@ + LIB = pubmed + SRC = pubmed__ pubmed___ + ++DLL_LIB = medline biblio xser xutil xncbi + + USES_LIBRARIES = \ + medline +--- a/c++/src/objects/taxon1/Makefile.taxon1.lib ++++ b/c++/src/objects/taxon1/Makefile.taxon1.lib +@@ -7,6 +7,7 @@ DLL_LIB = xconnect + + WATCHERS = domrach + ++DLL_LIB = xconnect seq xser xutil xncbi + + USES_LIBRARIES = \ + $(SEQ_LIBS) pub xconnect +--- a/c++/src/objects/taxon3/Makefile.taxon3.lib ++++ b/c++/src/objects/taxon3/Makefile.taxon3.lib +@@ -8,6 +8,7 @@ DLL_LIB = xconnect + + WATCHERS = bollin holmesbr + ++DLL_LIB = xconnect seq xser xutil xncbi + + USES_LIBRARIES = \ + $(SEQ_LIBS) pub xconnect +--- a/c++/src/objects/valerr/Makefile.valerr.lib ++++ b/c++/src/objects/valerr/Makefile.valerr.lib +@@ -3,6 +3,7 @@ SRC = valerr__ valerr___ + + ASN_DEP = seqset + ++DLL_LIB = xser xutil xncbi + + USES_LIBRARIES = \ + xser +--- a/c++/src/objects/valid/Makefile.valid.lib ++++ b/c++/src/objects/valid/Makefile.valid.lib +@@ -6,5 +6,7 @@ DLL_LIB = xregexp + + ASN_DEP = general + ++DLL_LIB = general xser xregexp xutil xncbi ++ + USES_LIBRARIES = \ + general xregexp +--- a/c++/src/objects/variation/Makefile.variation.lib ++++ b/c++/src/objects/variation/Makefile.variation.lib +@@ -1,6 +1,7 @@ + LIB = variation + SRC = variation__ variation___ + ++DLL_LIB = seq xser xutil xncbi + + USES_LIBRARIES = \ + $(SEQ_LIBS) pub +--- a/c++/src/algo/blast/format/Makefile.xblastformat.lib ++++ b/c++/src/algo/blast/format/Makefile.xblastformat.lib +@@ -13,6 +13,8 @@ LIBS = $(BLAST_THIRD_PARTY_LIBS) $(ORIG_ + + WATCHERS = jianye zaretska madden camacho fongah2 + ++DLL_LIB = xformat $(BLAST_LIBS) align_format blastxml blastxml2 \ ++ xhtml xcgi xncbi + + USES_LIBRARIES = \ + $(BLAST_LIBS) align_format blastxml blastxml2 +--- a/c++/src/objtools/cleanup/Makefile.cleanup.lib ++++ b/c++/src/objtools/cleanup/Makefile.cleanup.lib +@@ -11,7 +11,7 @@ SRC = autogenerated_cleanup autogenerate + cleanup_pub newcleanupp capitalization_string fix_feature_id \ + cleanup_message + +-DLL_LIB = $(OBJEDIT_LIBS) xregexp $(PCRE_LIB) ++DLL_LIB = $(OBJEDIT_LIBS) xobjutil valid xregexp $(PCRE_LIB) $(SOBJMGR_LIBS) + LIB = xcleanup + + LIBS = $(PCRE_LIBS) +--- a/c++/src/objtools/format/Makefile.xformat.lib ++++ b/c++/src/objtools/format/Makefile.xformat.lib +@@ -22,6 +22,8 @@ DLL_LIB = xalnmgr xconnect + + WATCHERS = ludwigf dicuccio + ++DLL_LIB = xcleanup valid gbseq mlacli mla medlars pubmed submit xalnmgr \ ++ xobjutil taxon3 $(SOBJMGR_LIBS) + + USES_LIBRARIES = \ + gbseq mlacli xalnmgr xcleanup +--- a/c++/src/objects/blast/Makefile.xnetblastcli.lib ++++ b/c++/src/objects/blast/Makefile.xnetblastcli.lib +@@ -5,5 +5,7 @@ SRC = blastclient blastclient_ + + DLL_LIB = xconnect + ++DLL_LIB = xnetblast xconnect xser xutil xncbi ++ + USES_LIBRARIES = \ + xconnect xnetblast +--- a/c++/src/util/xregexp/Makefile.xregexp_template_tester.lib ++++ b/c++/src/util/xregexp/Makefile.xregexp_template_tester.lib +@@ -6,6 +6,8 @@ LIB = xregexp_template_tester + DLL_LIB = $(PCRE_LIB) + LIBS = $(PCRE_LIBS) + ++DLL_LIB = xregexp xncbi ++ + USES_LIBRARIES = \ + xregexp $(PCRE_LIB) $(PCRE_LIBS) xncbi + +--- a/c++/src/algo/blast/api/Makefile.xblast.lib ++++ b/c++/src/algo/blast/api/Makefile.xblast.lib +@@ -79,11 +79,11 @@ magicblast \ + blast_node \ + blast_usage_report + +-SRC = $(SRC_C:%=.core_%) $(SRC_CXX) ++SRC = $(SRC_CXX) + + LIB = xblast + +-DLL_LIB = $(BLAST_LDEP) $(SOBJMGR_LIBS) ++DLL_LIB = $(BLAST_LDEP) $(SOBJMGR_LIBS) blast seqdb seqset seq general xser xconnect sequtil tables xutil xncbi + + CFLAGS = $(FAST_CFLAGS) + CPPFLAGS = -DNCBI_MODULE=BLAST $(ORIG_CPPFLAGS) +--- a/c++/src/connect/Makefile.xconnect.lib ++++ b/c++/src/connect/Makefile.xconnect.lib +@@ -13,6 +13,8 @@ UNIX_SRC = $(LOCAL_LBSM) + + LIB = xconnect + ++DLL_LIB = xncbi ++ + LIBS = $(NETWORK_LIBS) $(ORIG_LIBS) + + PROJ_TAG = core +--- a/c++/src/objects/seq/Makefile.seq.lib ++++ b/c++/src/objects/seq/Makefile.seq.lib +@@ -12,7 +12,7 @@ SRC = $(ASN:%=%__) $(ASN:%=%___) seqport + seq_loc_mapper_base seq_align_mapper_base seqlocinfo so_map \ + seq_loc_from_string seq_loc_reverse_complementer + +-DLL_LIB = seqcode pub general xser sequtil ++DLL_LIB = seqcode pub biblio general xser sequtil xutil xncbi + + WATCHERS = vasilche grichenk bollin ludwigf + +--- a/c++/src/objects/seqset/Makefile.seqset.lib ++++ b/c++/src/objects/seqset/Makefile.seqset.lib +@@ -1,7 +1,7 @@ + LIB = seqset + SRC = seqset__ seqset___ gb_release_file + +-DLL_LIB = $(SEQ_LIBS) ++DLL_LIB = $(SEQ_LIBS) xser xncbi + + USES_LIBRARIES = \ + $(SEQ_LIBS) pub +--- a/c++/src/objects/entrez2/Makefile.entrez2cli.lib ++++ b/c++/src/objects/entrez2/Makefile.entrez2cli.lib +@@ -5,7 +5,7 @@ ASN_DEP = entrez2 + LIB = entrez2cli + SRC = entrez2_client entrez2_client_ + +-DLL_LIB = entrez2 xconnect ++DLL_LIB = entrez2 xconnect xser xutil xncbi + + USES_LIBRARIES = \ + entrez2 xconnect diff --git a/patches/fix_unit_tests b/patches/fix_unit_tests new file mode 100644 index 00000000..ef4a2262 --- /dev/null +++ b/patches/fix_unit_tests @@ -0,0 +1,16 @@ +Subject: add missing lib for tests +Description: unit_test need blast lib to compile +Forwarded: Not-Needed +Author: Olivier Sallou +Last-Updated: 2018-02-11 +--- a/c++/src/algo/blast/Makefile.blast_macros.mk ++++ b/c++/src/algo/blast/Makefile.blast_macros.mk +@@ -21,7 +21,7 @@ BLAST_SRA_LIBS=blast_sra $(SRAXF_LIBS) v + BLAST_LDEP = utrtprof xalgoblastdbindex composition_adjustment \ + xalgodustmask xalgowinmask seqmasks_io seqdb blast_services xalnmgr \ + xobjutil $(OBJREAD_LIBS) xnetblastcli xnetblast blastdb scoremat tables $(LMDB_LIB) +-BLAST_LIBS = proteinkmer xblast $(BLAST_LDEP) ++BLAST_LIBS = proteinkmer xblast blast $(BLAST_LDEP) + + # BLAST additionally needs xconnect $(SOBJMGR_LIBS) or $(OBJMGR_LIBS) + diff --git a/patches/hurd_fixes b/patches/hurd_fixes new file mode 100644 index 00000000..d28a3f79 --- /dev/null +++ b/patches/hurd_fixes @@ -0,0 +1,42 @@ +Subject: fix portability issues that led to Hurd build failures + +* src/build-system/configure(.ac): + - Reflect the Hurd's support for -Wl,rpath,... . +* src/connect/ncbi_socket_cxx.cpp, src/connect/ext/ncbi_localnet.c: + cope with missing PATH_MAX everywhere, not just under Windows. + +Author: Aaron M. Ucko +Last-Update: 2020-09-19 +--- a/c++/src/build-system/configure ++++ b/c++/src/build-system/configure +@@ -10354,7 +10354,7 @@ if test -z "$CONF_f_runpath" ; then + CONF_f_runpath="-R" + ;; + linux*:[GI]CC | linux*Clang | *bsd*:GCC | *bsd*Clang | cygwin*:GCC \ +- | osf*:GCC ) ++ | osf*:GCC | gnu*:GCC ) + CONF_f_runpath="-Wl,-rpath," + ;; + irix*:* | linux*:KCC | *:Compaq ) +--- a/c++/src/build-system/configure.ac ++++ b/c++/src/build-system/configure.ac +@@ -2213,7 +2213,7 @@ if test -z "$CONF_f_runpath" ; then + CONF_f_runpath="-R" + ;; + linux*:[[GI]]CC | linux*Clang | *bsd*:GCC | *bsd*Clang | cygwin*:GCC \ +- | osf*:GCC ) ++ | osf*:GCC | gnu*:GCC ) + CONF_f_runpath="-Wl,-rpath," + ;; + irix*:* | linux*:KCC | *:Compaq ) +--- a/c++/src/connect/ncbi_socket_cxx.cpp ++++ b/c++/src/connect/ncbi_socket_cxx.cpp +@@ -35,7 +35,7 @@ + #include "ncbi_assert.h" // no _ASSERT()s, keep clean from xncbi + #include + #include // for PATH_MAX +-#if defined(NCBI_OS_MSWIN) && !defined(PATH_MAX) ++#ifndef PATH_MAX + # define PATH_MAX 512 // will actually use less than 32 chars + #endif // NCBI_OS_MSWIN && !PATH_MAX + diff --git a/patches/legacy_rename_rpsblast b/patches/legacy_rename_rpsblast new file mode 100644 index 00000000..f40204b1 --- /dev/null +++ b/patches/legacy_rename_rpsblast @@ -0,0 +1,14 @@ +Author: Olivier Sallou +Description: rename binary as blast+ for package coherency. +Last-Updated: 2011-10-03 +--- a/c++/src/app/blast/legacy_blast.pl ++++ b/c++/src/app/blast/legacy_blast.pl +@@ -1064,7 +1064,7 @@ + if (defined $opt_p and $opt_p =~ /f/i) { + $retval .= "/rpstblastn"; + } else { +- $retval .= "/rpsblast"; ++ $retval .= "/rpsblast+"; + } + $retval .= &add_exe_extension(); + diff --git a/patches/no_multiarch_rpath b/patches/no_multiarch_rpath new file mode 100644 index 00000000..de626df0 --- /dev/null +++ b/patches/no_multiarch_rpath @@ -0,0 +1,32 @@ +Subject: avoid redundant rpath entries on multiarch systems + + * src/build-system/configure(.ac): when ensuring that executables + will be able to find libstdc++, don't add rpath entries that files + under /etc/ld.so.conf.d already specify, even if they don't resemble + traditional single-architecture or biarch locations. + +Debian-Bug: 633567. +Author: Aaron M. Ucko +Last-Update: 2011-08-28 +--- a/c++/src/build-system/configure ++++ b/c++/src/build-system/configure +@@ -10126,7 +10126,7 @@ + break + ;; + /* ) +- found=true ++ fgrep -qsx $abs_dir /etc/ld.so.conf.d/* || found=true + break + ;; + esac +--- a/c++/src/build-system/configure.ac ++++ b/c++/src/build-system/configure.ac +@@ -2243,7 +2243,7 @@ + break + ;; + /* ) +- found=true ++ fgrep -qsx $abs_dir /etc/ld.so.conf.d/* || found=true + break + ;; + esac diff --git a/patches/optin_usage_report b/patches/optin_usage_report new file mode 100644 index 00000000..47c641c5 --- /dev/null +++ b/patches/optin_usage_report @@ -0,0 +1,47 @@ +Subject: blast+ use optout to send usage reports over internet +Description: this patch change strategy to optin ie user asks + per config/env vars to send reports, else it is disabled by default. + Not a bug by itself but default strategy update to send info over internet. +Author: Olivier Sallou +Last-Updated: 202-02-10 +Forwarded: no +--- a/c++/src/algo/blast/api/blast_usage_report.cpp ++++ b/c++/src/algo/blast/api/blast_usage_report.cpp +@@ -184,6 +184,7 @@ + void CBlastUsageReport::x_CheckBlastUsageEnv() + { + char * blast_usage_env = getenv("BLAST_USAGE_REPORT"); ++ + if(blast_usage_env != NULL){ + bool enable = NStr::StringToBool(blast_usage_env); + if (!enable) { +@@ -192,6 +193,10 @@ + LOG_POST(Info <<"Phone home disabled"); + return ; + } ++ SetEnabled(true); ++ CUsageReportAPI::SetEnabled(true); ++ LOG_POST(Info <<"Phone home enabled"); ++ return; + } + + CNcbiIstrstream empty_stream(kEmptyCStr); +@@ -204,10 +209,15 @@ + LOG_POST(Info <<"Phone home disabled by config setting"); + return ; + } ++ SetEnabled(true); ++ CUsageReportAPI::SetEnabled(true); ++ LOG_POST(Info <<"Phone home enabled by config setting"); ++ return ; + } +- CUsageReportAPI::SetEnabled(true); +- SetEnabled(true); +- LOG_POST(Info <<"Phone home enabled"); ++ // Debian optin by default (do not send reports) ++ CUsageReportAPI::SetEnabled(false); ++ SetEnabled(false); ++ LOG_POST(Info <<"Phone home disabled"); + } + + void CBlastUsageReport::AddParam(EUsageParams p, Int8 val) diff --git a/patches/optionally_keep_sequence b/patches/optionally_keep_sequence new file mode 100644 index 00000000..311b06de --- /dev/null +++ b/patches/optionally_keep_sequence @@ -0,0 +1,29 @@ +Author: Aaron M. Ucko +Date: Wed Dec 14 22:44:19 2016 -0500 +Description: Hang on to sequence data even if -parse_deflines recognized a non-local ID, + on the condition that the environment variable BLAST_ALWAYS_KEEP_SEQUENCE + (or configuration parameter [BLAST] always_keep_sequence) is set to a + "true" value (English-only, case-insensitive true, t, yes, y, or 1). +--- a/c++/src/algo/blast/api/search_strategy.cpp ++++ b/c++/src/algo/blast/api/search_strategy.cpp +@@ -544,6 +544,11 @@ + m_QueueSearchRequest->SetService(new_service); + } + ++NCBI_PARAM_DECL(bool, BLAST, always_keep_sequence); ++NCBI_PARAM_DEF_EX(bool, BLAST, always_keep_sequence, false, eParam_Default, ++ BLAST_ALWAYS_KEEP_SEQUENCE); ++typedef NCBI_PARAM_TYPE(BLAST, always_keep_sequence) TAlwaysKeepSequence; ++ + void CExportStrategy::x_Process_Query(CRef & query) + { + if (query.Empty()) +@@ -565,7 +570,7 @@ + // Check if there are any range restrictions applied and if local IDs are + // being used to determine how to specify the query sequence(s) + +- bool has_local_ids = false; ++ bool has_local_ids = TAlwaysKeepSequence::GetDefault(); + + if (!seqloc_list.empty()) + { diff --git a/patches/reprobuild b/patches/reprobuild new file mode 100644 index 00000000..6767d9ca --- /dev/null +++ b/patches/reprobuild @@ -0,0 +1,732 @@ +Author: Michael R. Crusoe +Description: make the build more reproducible +--- a/c++/src/build-system/configure.ac ++++ b/c++/src/build-system/configure.ac +@@ -2914,13 +2914,13 @@ case "$host_os" in + linux*) + kver=`uname -r | sed -e 's/-.*//'` + libcver=`ldd --version | awk 'NR == 1 { print $NF }'` +- verbose_host=$host_cpu-$host_vendor-linux$kver-gnu$libcver ++ verbose_host=$host_cpu-$host_vendor-linux-gnu$libcver + ;; + *) verbose_host=$host ;; + esac + + #### Overall configuration mode summary +-signature_hostname=`(hostname || uname -n) 2>/dev/null \ ++signature_hostname=`echo debian_build 2>/dev/null \ + | sed 's/\..*//; s/-/_/g; 1q'` + signature="${signature_compiler}_${compiler_version}-${release_debug}${mt_sfx}${dll_sfx}${bit64_sfx}${prof_sfx}--${verbose_host}-${signature_hostname}" + AC_DEFINE_UNQUOTED(NCBI_SIGNATURE, "$signature", +--- a/c++/include/algo/blast/core/blast_message.h ++++ b/c++/include/algo/blast/core/blast_message.h +@@ -117,7 +117,7 @@ void Blast_Perror(Blast_Message* *msg, I + + /** Convenient define to call the function Blast_PerrorEx. */ + #define Blast_PerrorWithLocation(msg, error_code, context) \ +-Blast_PerrorEx(msg, error_code, __FILE__, __LINE__, context) ++Blast_PerrorEx(msg, error_code, "c++/include/algo/blast/core/blast_message.h", __LINE__, context) + + /** Extended version of Blast_Perror which includes parameters for the file + * name and line number where the error/warning occurred. This function should +--- a/c++/include/connect/ncbi_util.h ++++ b/c++/include/connect/ncbi_util.h +@@ -135,7 +135,7 @@ extern NCBI_XCONNECT_EXPORT MT_LOCK CORE + */ + #define LOG_WRITE(lg, code, subcode, level, message) \ + LOG_Write(lg, code, subcode, level, THIS_MODULE, CORE_CURRENT_FUNCTION, \ +- __FILE__, __LINE__, message, 0, 0) ++ "c++/include/connect/ncbi_util.h", __LINE__, message, 0, 0) + + #ifdef LOG_DATA + /* AIX's defines LOG_DATA to be an integer constant; +@@ -144,7 +144,7 @@ extern NCBI_XCONNECT_EXPORT MT_LOCK CORE + #endif + #define LOG_DATA(lg, code, subcode, level, data, size, message) \ + LOG_Write(lg, code, subcode, level, THIS_MODULE, CORE_CURRENT_FUNCTION, \ +- __FILE__, __LINE__, message, data, size) ++ "c++/include/connect/ncbi_util.h", __LINE__, message, data, size) + + + /** Default for THIS_MODULE. +--- a/c++/include/corelib/impl/ncbi_java.h ++++ b/c++/include/corelib/impl/ncbi_java.h +@@ -63,7 +63,7 @@ + + #define JAVA_ABORT(msg) \ + { \ +- NcbiCerr << __FILE__ << ": " << NCBI_CURRENT_FUNCTION << ": " msg << endl; \ ++ NcbiCerr << "c++/include/corelib/impl/ncbi_java.h" << ": " << NCBI_CURRENT_FUNCTION << ": " msg << endl; \ + abort(); \ + } + +--- a/c++/include/corelib/ncbidiag.hpp ++++ b/c++/include/corelib/ncbidiag.hpp +@@ -168,7 +168,7 @@ NCBI_XNCBI_EXPORT const char* g_DiagUnkn + /// @sa + /// CDiagCompileInfo + #define DIAG_COMPILE_INFO \ +- NCBI_NS_NCBI::CDiagCompileInfo(__FILE__, \ ++ NCBI_NS_NCBI::CDiagCompileInfo("c++/include/corelib/ncbidiag.hpp", \ + __LINE__, \ + NCBI_CURRENT_FUNCTION, \ + NCBI_MAKE_MODULE(NCBI_MODULE)) +--- a/c++/include/corelib/test_boost.hpp ++++ b/c++/include/corelib/test_boost.hpp +@@ -273,7 +273,7 @@ static ::NCBI_NS_NCBI::SNcbiTestRegistra + BOOST_JOIN( BOOST_JOIN( test_name, _registrar ), __LINE__ ) ( \ + boost::unit_test::make_test_case( \ + &BOOST_AUTO_TC_INVOKER( test_name ), #test_name, \ +- __FILE__, __LINE__ ), \ ++ "c++/include/corelib/test_boost.hpp", __LINE__ ), \ + ::NCBI_NS_NCBI::SNcbiTestTCTimeout< \ + BOOST_AUTO_TC_UNIQUE_ID( test_name )>::instance()->value(), \ + decorators ); \ +--- a/c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp ++++ b/c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp +@@ -1124,7 +1124,7 @@ void SeqDB_FileIntegrityAssert(const str + #define SEQDB_FILE_ASSERT(YESNO) \ + do { \ + if (! (YESNO)) { \ +- SeqDB_FileIntegrityAssert(__FILE__, __LINE__, (#YESNO)); \ ++ SeqDB_FileIntegrityAssert("c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp", __LINE__, (#YESNO)); \ + } \ + } while(0) + +--- a/c++/include/util/ddump_viewer.hpp ++++ b/c++/include/util/ddump_viewer.hpp +@@ -49,7 +49,7 @@ BEGIN_NCBI_SCOPE + // + + #define DEBUGDUMP_BPT(name,obj) \ +- do {CDebugDumpViewer().Bpt(name,&(obj),__FILE__,__LINE__);} while (0) ++ do {CDebugDumpViewer().Bpt(name,&(obj),"c++/include/util/ddump_viewer.hpp",__LINE__);} while (0) + + + //--------------------------------------------------------------------------- +--- a/c++/include/util/static_set.hpp ++++ b/c++/include/util/static_set.hpp +@@ -886,17 +886,17 @@ public: + static const Type Var + + #define DEFINE_STATIC_ARRAY_MAP(Type, Var, Array) \ +- static const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__) ++ static const Type (Var)((Array), sizeof(Array), "c++/include/util/static_set.hpp", __LINE__) + + #define DEFINE_CLASS_STATIC_ARRAY_MAP(Type, Var, Array) \ +- const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__) ++ const Type (Var)((Array), sizeof(Array), "c++/include/util/static_set.hpp", __LINE__) + + #define DEFINE_STATIC_ARRAY_MAP_WITH_COPY(Type, Var, Array) \ +- static const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__, \ ++ static const Type (Var)((Array), sizeof(Array), "c++/include/util/static_set.hpp", __LINE__, \ + NCBI_NS_NCBI::NStaticArray::eCopyWarn_hide) + + #define DEFINE_CLASS_STATIC_ARRAY_MAP_WITH_COPY(Type, Var, Array) \ +- const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__, \ ++ const Type (Var)((Array), sizeof(Array), "c++/include/util/static_set.hpp", __LINE__, \ + NCBI_NS_NCBI::NStaticArray::eCopyWarn_hide) + + +--- a/c++/src/connect/mbedtls/mbedtls/debug.h ++++ b/c++/src/connect/mbedtls/mbedtls/debug.h +@@ -41,28 +41,28 @@ + #define MBEDTLS_DEBUG_STRIP_PARENS( ... ) __VA_ARGS__ + + #define MBEDTLS_SSL_DEBUG_MSG( level, args ) \ +- mbedtls_debug_print_msg( ssl, level, __FILE__, __LINE__, \ ++ mbedtls_debug_print_msg( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, \ + MBEDTLS_DEBUG_STRIP_PARENS args ) + + #define MBEDTLS_SSL_DEBUG_RET( level, text, ret ) \ +- mbedtls_debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret ) ++ mbedtls_debug_print_ret( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, ret ) + + #define MBEDTLS_SSL_DEBUG_BUF( level, text, buf, len ) \ +- mbedtls_debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len ) ++ mbedtls_debug_print_buf( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, buf, len ) + + #if defined(MBEDTLS_BIGNUM_C) + #define MBEDTLS_SSL_DEBUG_MPI( level, text, X ) \ +- mbedtls_debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X ) ++ mbedtls_debug_print_mpi( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, X ) + #endif + + #if defined(MBEDTLS_ECP_C) + #define MBEDTLS_SSL_DEBUG_ECP( level, text, X ) \ +- mbedtls_debug_print_ecp( ssl, level, __FILE__, __LINE__, text, X ) ++ mbedtls_debug_print_ecp( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, X ) + #endif + + #if defined(MBEDTLS_X509_CRT_PARSE_C) + #define MBEDTLS_SSL_DEBUG_CRT( level, text, crt ) \ +- mbedtls_debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt ) ++ mbedtls_debug_print_crt( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, crt ) + #endif + + #else /* MBEDTLS_DEBUG_C */ +--- a/c++/src/connect/ncbi_lbos_cxx.cpp ++++ b/c++/src/connect/ncbi_lbos_cxx.cpp +@@ -146,7 +146,7 @@ std::string CLBOSIpCache::HostnameResolv + { + /* Hostname should not be empty in any case */ + if (hostname.empty()) { +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eUnknown, + "Internal error in LBOS Client IP Cache. Please contact developer", + eLBOS_BadRequest); +@@ -218,7 +218,7 @@ static void s_ProcessResult(unsigned sho + if (lbos_answer != NULL) { + message << " " << lbos_answer; + } +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::s_HTTPCodeToEnum(result), + message.str(), result); + } +@@ -249,7 +249,7 @@ void LBOS::Announce(const string& servi + /* If we could not parse healthcheck URL, throw "Invalid Arguments" */ + if (cur_host.empty()) { + ConnNetInfo_Destroy(healthcheck_info); +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, + NStr::IntToString(eLBOS_InvalidArgs), + eLBOS_InvalidArgs); +@@ -308,7 +308,7 @@ void LBOS::AnnounceFromRegistry(const st + port_int = NStr::StringToInt(port_str); + } + catch (...) { +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, + "Could not parse port \"" + port_str + + "\" in section \"" + reg_section + "\"", +@@ -316,7 +316,7 @@ void LBOS::AnnounceFromRegistry(const st + } + if (port_int < 1 || port_int > 65535) + { +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, + "Invalid server port \"" + port_str + + "\" in section \"" + reg_section + "\"", +@@ -624,7 +624,7 @@ void LBOS::CMetaData::Set(const CTempStr + /* Forbidden names for meta parameters */ + if (name == "version" || name == "ip" || name == "port" || name == "check" + || name == "format" || name == "name") { +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, + "This name cannot be used for metadata", + eLBOS_InvalidArgs); +@@ -680,7 +680,7 @@ void LBOS::CMetaData::SetRate(const stri + SetRate(NStr::StringToInt(rate)); + } + catch (const CStringException&) { +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, + "Could not parse string value for SetRate", + eLBOS_InvalidArgs); +@@ -707,7 +707,7 @@ double LBOS::CMetaData::GetRate() const + return NStr::StringToDouble(rate); + } + catch (const CStringException&) { +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, + "Value in \"rate\" meta parameter cannot " + "be represented as an integer", +@@ -719,7 +719,7 @@ double LBOS::CMetaData::GetRate() const + void LBOS::CMetaData::SetType(const string& host_type) + { + if (host_type.find_first_of(" \t\n\v\f\r") != string::npos) { +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, + "This convenience function throws on whitespace characters " + "in \"type\" meta parameter. If you know what you are doing, " +@@ -760,7 +760,7 @@ void LBOS::CMetaData::SetType(EHostType + SetType(""); + break; + default: +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, "Unknown EHostType " + "value. If you are sure that a correct value is " + "used, please tell the developer about this issue", +@@ -794,7 +794,7 @@ void LBOS::CMetaData::SetType(ESERV_Type + SetType("FIREWALL"); + break; + default: +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, "Unknown ESERV_Type " + "value. If you are sure that a correct value is " + "used, please tell the developer about this issue", +@@ -825,7 +825,7 @@ void LBOS::CMetaData::SetType(int host_t + SetType(""); + break; + default: +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, "Unknown EHostType " + "value. If you are sure that a correct value is " + "used, please tell the developer about this issue", +@@ -871,7 +871,7 @@ LBOS::CMetaData::EHostType LBOS::CMetaDa + void LBOS::CMetaData::SetExtra(const string& extra) + { + if (extra.find_first_of(" \t\n\v\f\r") != string::npos) { +- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL, ++ throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL, + CLBOSException::eInvalidArgs, + "This convenience function throws on whitespace characters " + "in \"extra\" meta parameter. If you know what you are doing, " +--- a/c++/src/connect/ncbi_monkey.cpp ++++ b/c++/src/connect/ncbi_monkey.cpp +@@ -83,7 +83,7 @@ const string kEnablField + const string kSeedField = "seed"; + + #define PARAM_TWICE_EXCEPTION(param) \ +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), \ ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), \ + NULL, CMonkeyException::e_MonkeyInvalidArgs, \ + string("Parameter \"" param "\" is set " \ + "twice in [") + GetSection() + "]" + \ +@@ -371,7 +371,7 @@ static string s_RuleTypeString(EMonkeyAc + case eMonkey_Send: + return "write"; + default: +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("Unknown EMonkeyActionType value")); + } +@@ -390,7 +390,7 @@ static string s_SocketCallString(EMonkey + case eMonkey_Connect: + return "connect()"; + default: +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("Unknown EMonkeyActionType value")); + } +@@ -467,7 +467,7 @@ unsigned short CMonkeyRuleBase::GetProba + { + if (m_RunPos.find(sock) == m_RunPos.end()) { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + "The socket provided has not been registered with current rule"); + } +@@ -511,7 +511,7 @@ void CMonkeyRuleBase::x_ReadEIOStatus(co + m_ReturnStatus = eIO_Closed; + } else if (eIOStatus == "eio_invalidarg") { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("Unsupported 'return_status': ") + eIOStatus_in); + } else if (eIOStatus == "eio_interrupt") { +@@ -526,7 +526,7 @@ void CMonkeyRuleBase::x_ReadEIOStatus(co + m_ReturnStatus = eIO_NotSupported; + } else { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("Could not parse 'return_status': ") + eIOStatus_in); + } +@@ -543,7 +543,7 @@ void CMonkeyRuleBase::x_ReadRuns(const s + split it on commas*/ + vector runs_list = s_Monkey_Split(runs, ','); + if (runs_list.size() == 0) +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("Parameter \"runs\" is empty in [") + + m_Section + "]" + +@@ -573,7 +573,7 @@ void CMonkeyRuleBase::x_ReadRuns(const s + if (m_RunMode == eMonkey_RunProbability) { + if (*run.rbegin() != '%') { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + "Value is not percentage: " + run + + ", values have to be either only percentages or " +@@ -593,7 +593,7 @@ void CMonkeyRuleBase::x_ReadRuns(const s + size_t last_step = m_Runs.size(); + if (last_step == 0 && step != 1) { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + "In the string of runs: " + runs + " the first " + "element MUST set value for the first run"); +@@ -610,7 +610,7 @@ void CMonkeyRuleBase::x_ReadRuns(const s + assert(run_format == eMonkey_RunSequence); + if (*run.rbegin() == '%') { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("Value is percentage: ") + run + + string(", values have to be either only percentages or " +@@ -619,7 +619,7 @@ void CMonkeyRuleBase::x_ReadRuns(const s + int val = NStr::StringToInt(run); + if (m_Runs.size() > 0 && val <= *m_Runs.rbegin()) { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("\"runs\" should contain values in " + "increasing order")); +@@ -815,7 +815,7 @@ CMonkeyConnectRule::CMonkeyConnectRule(s + string value = name_value[1]; + if (name == "allow") { + if (allow_set) { +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, + CMonkeyException::e_MonkeyInvalidArgs, + string("Parameter \"allow\" is set " +@@ -827,7 +827,7 @@ CMonkeyConnectRule::CMonkeyConnectRule(s + } + } + if (!allow_set) +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("Parameter \"allow\" not set in [") + + GetSection() + "]" + +@@ -902,7 +902,7 @@ CMonkeyPollRule::CMonkeyPollRule(string + string value = name_value[1]; + if (name == "ignore") { + if (ignore_set) { +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, + CMonkeyException::e_MonkeyInvalidArgs, + string("Parameter \"ignore\" is set " +@@ -914,7 +914,7 @@ CMonkeyPollRule::CMonkeyPollRule(string + } + } + if (!ignore_set) { +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + string("Parameter \"ignore\" not set in [") + + GetSection() + "]" + +@@ -1032,7 +1032,7 @@ static bool s_MatchRegex(const string& t + ".*" , ""); + if (filtered.find_first_of("[]()+^?{}$.*\\") != string::npos) { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, + CMonkeyException::e_MonkeyInvalidArgs, + exception_message); +@@ -1051,7 +1051,7 @@ static bool s_MatchRegex(const string& t + } + else { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, + CMonkeyException::e_MonkeyInvalidArgs, + exception_message); +@@ -1179,7 +1179,7 @@ bool CMonkeyPlan::WriteRule(MONKEY_SOCKT + ss << "Probability below zero for write rule in plan " << m_Name + << ". Check config!"; + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + ss.str()); + } +@@ -1221,7 +1221,7 @@ bool CMonkeyPlan::ReadRule(MONKEY_SOCKTY + stringstream ss; + ss << "Probability below zero for write rule in plan " << m_Name + << ". Check config!"; +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + ss.str()); + } +@@ -1270,7 +1270,7 @@ bool CMonkeyPlan::ConnectRule(MONKEY_SOC + stringstream ss; + ss << "Probability below zero for write rule in plan " << m_Name + << ". Check config!"; +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + ss.str()); + } +@@ -1313,7 +1313,7 @@ bool CMonkeyPlan::PollRule(size_t* n + ss << "Probability below zero for write rule in plan " << m_Name + << ". Check config!"; + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + ss.str()); + } +@@ -1372,7 +1372,7 @@ CMonkey::CMonkey() : m_Probability(100), + { + if (sm_HookSwitch == NULL) { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + "Launch CONNECT_Init() before initializing CMonkey instance"); + } +@@ -1458,7 +1458,7 @@ void CMonkey::ReloadConfig(const string& + prob = (int)(NStr::StringToDouble(prob_str) * 100); + } + if (prob < 0 || prob > 100) { +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, + CMonkeyException::e_MonkeyInvalidArgs, + "Parameter \"probability\"=" + prob_str +@@ -1469,7 +1469,7 @@ void CMonkey::ReloadConfig(const string& + m_Probability = (unsigned short)prob; + } + catch (const CStringException&) { +- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), ++ throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + "Parameter \"probability\"=" + prob_str + + " for section [" + monkey_section +@@ -1757,7 +1757,7 @@ bool CMonkey::RegisterThread(int token) + << " has been already registered in CMonkey and cannot be used again"; + if (m_RegisteredTokens.find(token) != m_RegisteredTokens.end()) { + throw CMonkeyException( +- CDiagCompileInfo(__FILE__, __LINE__), ++ CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__), + NULL, CMonkeyException::e_MonkeyInvalidArgs, + ss.str()); + } +--- a/c++/src/connect/ncbi_priv.h ++++ b/c++/src/connect/ncbi_priv.h +@@ -222,7 +222,7 @@ extern NCBI_XCONNECT_EXPORT LOG g_CORE_L + _mess.level = _xx_level; \ + _mess.module = THIS_MODULE; \ + _mess.func = CORE_CURRENT_FUNCTION; \ +- _mess.file = __FILE__; \ ++ _mess.file = "c++/src/connect/ncbi_priv.h"; \ + _mess.line = __LINE__; \ + _mess.raw_data = (_raw_data); \ + _mess.raw_size = (_raw_size); \ +--- a/c++/src/objects/seqfeat/BioSource.cpp ++++ b/c++/src/objects/seqfeat/BioSource.cpp +@@ -941,7 +941,7 @@ static const char* const s_IgnoreCaseQua + }; + + typedef CStaticArraySet TCIgnoreCaseQualsSet; +-static const TCIgnoreCaseQualsSet s_IgnoreCaseQualsSet(s_IgnoreCaseQuals, sizeof(s_IgnoreCaseQuals), __FILE__, __LINE__); ++static const TCIgnoreCaseQualsSet s_IgnoreCaseQualsSet(s_IgnoreCaseQuals, sizeof(s_IgnoreCaseQuals), "c++/src/objects/seqfeat/BioSource.cpp", __LINE__); + + bool s_MayIgnoreCase(const string& value) + { +@@ -963,7 +963,7 @@ static const char* const s_TaxNameElemen + }; + + typedef CStaticArraySet TCTaxNameElementQualsSet; +-static const TCTaxNameElementQualsSet s_TaxNameElementQualsSet(s_TaxNameElementQuals, sizeof(s_TaxNameElementQuals), __FILE__, __LINE__); ++static const TCTaxNameElementQualsSet s_TaxNameElementQualsSet(s_TaxNameElementQuals, sizeof(s_TaxNameElementQuals), "c++/src/objects/seqfeat/BioSource.cpp", __LINE__); + + bool s_IsTaxNameElement(const string& value) + { +@@ -1367,7 +1367,7 @@ static const char* const s_StopWords[] = + }; + + typedef CStaticArraySet TCStopWordStrSet; +-static const TCStopWordStrSet s_StopWordsSet(s_StopWords, sizeof(s_StopWords), __FILE__, __LINE__); ++static const TCStopWordStrSet s_StopWordsSet(s_StopWords, sizeof(s_StopWords), "c++/src/objects/seqfeat/BioSource.cpp", __LINE__); + + + bool CBioSource::IsStopWord(const string& value) +--- a/c++/src/objects/seqfeat/SubSource.cpp ++++ b/c++/src/objects/seqfeat/SubSource.cpp +@@ -3120,7 +3120,7 @@ static const char* const s_Countries[] = + "Zimbabwe" + }; + typedef CStaticArraySet TCStrSet; +-static const TCStrSet s_CountriesSet(s_Countries, sizeof(s_Countries), __FILE__, __LINE__); ++static const TCStrSet s_CountriesSet(s_Countries, sizeof(s_Countries), "c++/src/objects/seqfeat/SubSource.cpp", __LINE__); + + // former legal country names, must be in alphabetical order (case sensitive) + static const char* const s_Former_Countries[] = { +@@ -3140,7 +3140,7 @@ static const char* const s_Former_Countr + "Yugoslavia", + "Zaire" + }; +-static const TCStrSet s_Former_CountriesSet(s_Former_Countries, sizeof(s_Former_Countries), __FILE__, __LINE__); ++static const TCStrSet s_Former_CountriesSet(s_Former_Countries, sizeof(s_Former_Countries), "c++/src/objects/seqfeat/SubSource.cpp", __LINE__); + + bool CCountries::IsValid(const string& country) + { +--- a/c++/src/serial/datatool/classstr.cpp ++++ b/c++/src/serial/datatool/classstr.cpp +@@ -850,7 +850,7 @@ mem_simple = false; + " if (!CanGet"<< mem_cName<<"()) {\n" + " ThrowUnassigned("< +Date: Wed, 01 Dec 2021 21:38:20 -0500 +Description: Bypass env in Perl script shebangs. + +--- a/c++/src/app/blast/update_blastdb.pl ++++ b/c++/src/app/blast/update_blastdb.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/env perl ++#!/usr/bin/perl + # $Id: update_blastdb.pl 632592 2021-06-03 13:20:59Z ivanov $ + # =========================================================================== + # diff --git a/patches/series b/patches/series new file mode 100644 index 00000000..e618e55d --- /dev/null +++ b/patches/series @@ -0,0 +1,19 @@ +optin_usage_report +enable_clean_after_failed_compile +hurd_fixes +legacy_rename_rpsblast +fix_lib_deps +no_multiarch_rpath +use_pie_for_apps +skip_services_unit_test +fix_configure +support_x32 +suppress_tls_version_checks +optionally_keep_sequence +fix_unit_tests +system_mbedtls_only +reprobuild +spelling +support_gcc10 +run_perl_directly +tune_lmdb_defaults diff --git a/patches/skip_services_unit_test b/patches/skip_services_unit_test new file mode 100644 index 00000000..a97840fe --- /dev/null +++ b/patches/skip_services_unit_test @@ -0,0 +1,16 @@ +Subject: remove network required test +Author: Tim Booth +Forwarded: no +Description: test require internet connection +Last-Updated: 2013-06-01 +--- a/c++/src/objtools/blast/services/unit_test/Makefile.blast_services_unit_test.app ++++ b/c++/src/objtools/blast/services/unit_test/Makefile.blast_services_unit_test.app +@@ -11,6 +11,7 @@ + + LIBS = $(NETWORK_LIBS) $(CMPRS_LIBS) $(DL_LIBS) $(BLAST_THIRD_PARTY_LIBS) $(ORIG_LIBS) + +-CHECK_CMD = blast_services_unit_test ++# This test requires an internet connection, shouldn't be run on a build server ++# CHECK_CMD = blast_services_unit_test + + WATCHERS = madden camacho diff --git a/patches/spelling b/patches/spelling new file mode 100644 index 00000000..608a4cd4 --- /dev/null +++ b/patches/spelling @@ -0,0 +1,239 @@ +From: Michael R. Crusoe +Subject: Spelling fixes +--- a/c++/include/objtools/alnmgr/seqids_extractor.hpp ++++ b/c++/include/objtools/alnmgr/seqids_extractor.hpp +@@ -232,7 +232,7 @@ public: + else if (*id_vec[i] != *id) { + string err("Inconsistent Seq-ids found in seg "); + err += NStr::NumericToString(i) + +- ". Excpected " + id_vec[i]->AsString() + ++ ". Expected " + id_vec[i]->AsString() + + ", encountered " + id->AsString() + "."; + NCBI_THROW(CAlnException, eInvalidSeqId, err); + } +--- a/c++/src/algo/blast/api/blast_setup_cxx.cpp ++++ b/c++/src/algo/blast/api/blast_setup_cxx.cpp +@@ -784,7 +784,7 @@ SetupSubjects_OMF(IBlastQuerySource& sub + if(warning != kEmptyStr){ + warning += ": "; + } +- warning += "Subject sequence contians no data"; ++ warning += "Subject sequence contains no data"; + ERR_POST(Warning << warning); + continue; + } +--- a/c++/src/algo/winmask/seq_masker_ostat_factory.cpp ++++ b/c++/src/algo/winmask/seq_masker_ostat_factory.cpp +@@ -75,7 +75,7 @@ CSeqMaskerOstat * CSeqMaskerOstatFactory + } + else NCBI_THROW( CSeqMaskerOstatFactoryException, + eBadName, +- "unkown unit counts format" ); ++ "unknown unit counts format" ); + } + catch( CException & e ) { + NCBI_RETHROW( e, CSeqMaskerOstatFactoryException, eCreateFail, +@@ -113,7 +113,7 @@ CSeqMaskerOstat * CSeqMaskerOstatFactory + } + else NCBI_THROW( CSeqMaskerOstatFactoryException, + eBadName, +- "unkown unit counts format" ); ++ "unknown unit counts format" ); + } + catch( CException & e ) { + NCBI_RETHROW( e, CSeqMaskerOstatFactoryException, eCreateFail, +--- a/c++/src/app/blastdb/blastdbcheck.cpp ++++ b/c++/src/app/blastdb/blastdbcheck.cpp +@@ -245,7 +245,7 @@ void CBlastDbCheckApplication::Init(void + "Require that all sequences in the database have taxid set."); + + arg_desc->AddFlag +- ("cdd_delta", "Do aditional tests for a CDD database for DELTA-BLAST"); ++ ("cdd_delta", "Do additional tests for a CDD database for DELTA-BLAST"); + + // Setup arg.descriptions for this application + SetupArgDescriptions(arg_desc.release()); +--- a/c++/src/app/blastdb/makeprofiledb.cpp ++++ b/c++/src/app/blastdb/makeprofiledb.cpp +@@ -609,13 +609,13 @@ CMakeProfileDBApp::x_CheckInputScoremat( + + if(!pssm.IsSetQuery() || (0 == pssm.GetQueryLength())) + { +- string err = filename + " contians no bioseq data"; ++ string err = filename + " contains no bioseq data"; + NCBI_THROW(CInputException, eInvalidInput, err); + } + + if(!pssm.IsSetNumRows() || !pssm.IsSetNumColumns()) + { +- string err = filename + " contians no info on num of columns or num of rows"; ++ string err = filename + " contains no info on num of columns or num of rows"; + NCBI_THROW(CInputException, eInvalidInput, err); + } + +@@ -668,13 +668,13 @@ CMakeProfileDBApp::x_CheckInputScoremat( + + if(sm_invalid == sm) + { +- string err = filename + " contians no pssm or residue frequencies"; ++ string err = filename + " contains no pssm or residue frequencies"; + NCBI_THROW(CInputException, eInvalidInput, err); + } + } + else + { +- string err = filename + " contians no scoremat"; ++ string err = filename + " contains no scoremat"; + NCBI_THROW(CInputException, eInvalidInput, err); + } + +@@ -1816,7 +1816,7 @@ bool CMakeProfileDBApp::x_CheckDelta( co + if( !x_ValidateCd(freqs, obsr, BLASTAA_SIZE) && m_ExcludeInvalid) + { + *m_LogFile << filename + +- " was excluded: it conatins an invalid CD \n"; ++ " was excluded: it contains an invalid CD \n"; + return false; + } + return true; +--- a/c++/src/connect/ncbi_lbos.c ++++ b/c++/src/connect/ncbi_lbos.c +@@ -951,7 +951,7 @@ static char * s_LBOS_UrlReadAll(SConnNet + sizeof(char) * (strlen(buf) + 1))) ) + { + CORE_LOG(eLOG_Warning, "s_LBOS_UrlReadAll: Buffer shrink error, using " +- "original stirng"); ++ "original string"); + } else { + buf = realloc_result; + } +--- a/c++/src/objects/seqalign/Dense_seg.cpp ++++ b/c++/src/objects/seqalign/Dense_seg.cpp +@@ -988,7 +988,7 @@ void CDense_seg::RemapToLoc(TDim row, co + if (loc_plus != (seq_loc_i.GetStrand() != eNa_strand_minus)) { + NCBI_THROW(CSeqalignException, eInvalidInputData, + "CDense_seg::RemapToLoc():" +- " The strand should be the same accross" ++ " The strand should be the same across" + " the input seq-loc"); + } + } +--- a/c++/src/objects/seqalign/Seq_align.cpp ++++ b/c++/src/objects/seqalign/Seq_align.cpp +@@ -872,7 +872,7 @@ CSeq_align::CreateDensegFromStdseg(SSeqI + if (dim != ss.GetDim() || row != dim) { + NCBI_THROW(CSeqalignException, eInvalidInputAlignment, + "CreateDensegFromStdseg(): " +- "Inconsistent dimentions!"); ++ "Inconsistent dimensions!"); + } + + if (widths_determined[seg]) { +--- a/c++/src/objects/seqfeat/institution_codes.inc ++++ b/c++/src/objects/seqfeat/institution_codes.inc +@@ -728,7 +728,7 @@ static const char* const kInstitutionCol + "BPS\ts\tCalifornia Department of Food and Agriculture\t\t\t", + "BPU\ts\tEoetvoes Lorand University, Department of Plant Taxonomy and Ecology\t\t\t", + "BR\ts\tBotanic Garden Meise\t\t\t", +-"BR\tc\tJohanna Dobereiner Biological Resouce Center (CRB-JD)\t\t\t", ++"BR\tc\tJohanna Dobereiner Biological Resource Center (CRB-JD)\t\t\t", + "BRA\ts\tSlovak National Museum, Botany Department\t\t\t", + "BRAD\ts\tUniversity of Bradford, Biology Department\t\t\t", + "BRB\ts\tBrassica Resource Bank\t\t\t", +--- a/c++/src/objects/seqfeat/institution_codes.txt ++++ b/c++/src/objects/seqfeat/institution_codes.txt +@@ -695,7 +695,7 @@ BPPT-ESC c BPPT Ethanol-Single Cell Prot + BPS s California Department of Food and Agriculture + BPU s Eoetvoes Lorand University, Department of Plant Taxonomy and Ecology + BR s Botanic Garden Meise +-BR c Johanna Dobereiner Biological Resouce Center (CRB-JD) ++BR c Johanna Dobereiner Biological Resource Center (CRB-JD) + BRA s Slovak National Museum, Botany Department + BRAD s University of Bradford, Biology Department + BRB s Brassica Resource Bank +--- a/c++/src/objmgr/util/sequence.cpp ++++ b/c++/src/objmgr/util/sequence.cpp +@@ -274,7 +274,7 @@ string GetProteinName(const CBioseq_Hand + if ( best_feats.empty() ) { + NCBI_THROW_FMT(CObjMgrException, eFindFailed, + "GetProteinName("< 1 ) { + NCBI_THROW_FMT(CObjMgrException, eFindConflict, +--- a/c++/src/objtools/align_format/taxFormat.cpp ++++ b/c++/src/objtools/align_format/taxFormat.cpp +@@ -588,7 +588,7 @@ void CTaxFormat::x_LoadTaxTree(void) + } + } + if (!tax_load_ok) { +- NCBI_THROW(CException, eUnknown,"Taxonomic load was not successfull."); ++ NCBI_THROW(CException, eUnknown,"Taxonomic load was not successful."); + } + m_TaxTreeLoaded = true; + +--- a/c++/src/objtools/format/flat_file_config.cpp ++++ b/c++/src/objtools/format/flat_file_config.cpp +@@ -639,7 +639,7 @@ void CFlatFileConfig::AddArgumentDescrip + + // from + arg_desc->AddOptionalKey("from", "From", +- "Begining of shown range", CArgDescriptions::eInteger); ++ "Beginning of shown range", CArgDescriptions::eInteger); + + // to + arg_desc->AddOptionalKey("to", "To", +--- a/c++/src/objtools/readers/agp_converter.cpp ++++ b/c++/src/objtools/readers/agp_converter.cpp +@@ -728,7 +728,7 @@ void CAgpConverter::x_SetUpObjectOpening + submit_block_writer.WriteObject(m_pSubmitBlock.GetPointer(), m_pSubmitBlock->GetThisTypeInfo()); + submit_block_writer.Flush(); + seq_sub_header_strm << "," << endl; +- seq_sub_header_strm << "data entrys {" << endl; ++ seq_sub_header_strm << "data entries {" << endl; + + out_sObjectOpeningString = seq_sub_header_strm.str(); + out_sObjectClosingString = "} }" + out_sObjectClosingString; +--- a/c++/src/objtools/readers/agp_util.cpp ++++ b/c++/src/objtools/readers/agp_util.cpp +@@ -173,7 +173,7 @@ const CAgpErr::TStr CAgpErr::s_msg[]= { + + "object_beg != previous object_end + 1", + "no valid AGP lines", +- "consequtive gaps lines with the same type and linkage", ++ "consecutive gaps lines with the same type and linkage", + "in \"Scaffold from component\" file, invalid scaffold-breaking gap", + "in \"Chromosome from scaffold\" file, invalid \"within-scaffold\" gap", + +@@ -193,7 +193,7 @@ const CAgpErr::TStr CAgpErr::s_msg[]= { + // Content Warnings + "gap at the end of object (OK if X is the circular chromosome/plasmid)", + "gap at the beginning of object ", +- "two consequtive gap lines (e.g. a gap at the end of " ++ "two consecutive gap lines (e.g. a gap at the end of " + "a scaffold, two non scaffold-breaking gaps, ...)", + "no components in object", + "the span overlaps a previous span for this component", +--- a/c++/src/objtools/readers/agp_validate_reader.cpp ++++ b/c++/src/objtools/readers/agp_validate_reader.cpp +@@ -300,7 +300,7 @@ void CAgpValidateReader::OnGapOrComponen + int prev_comp_file=spans.rbegin()->file_num; + int prev_comp_line=spans.rbegin()->line_num; + if(prev_comp_file < m_last_scaf_start_file || prev_comp_line < m_last_scaf_start_line) { +- sameComId_otherScaf="; previous occurance at "; ++ sameComId_otherScaf="; previous occurrence at "; + if(prev_comp_file && prev_comp_file!=m_AgpErr->GetFileNum()) { + sameComId_otherScaf += m_AgpErr->GetFile(prev_comp_file); + sameComId_otherScaf += ":"; +--- a/c++/src/util/compress/api/compress.cpp ++++ b/c++/src/util/compress/api/compress.cpp +@@ -160,7 +160,7 @@ bool CCompression::x_DecompressFile(CCom + while ( (nread = src_file.Read(buf.get(), buf_size)) > 0 ) { + os.write(buf.get(), nread); + if ( !os.good() ) { +- SetError(-1, "Error writing to ouput file"); ++ SetError(-1, "Error writing to output file"); + return false; + } + } diff --git a/patches/support_gcc10 b/patches/support_gcc10 new file mode 100644 index 00000000..5e002472 --- /dev/null +++ b/patches/support_gcc10 @@ -0,0 +1,22 @@ +Author: Aaron M. Ucko +Date: Sun Sep 06 22:57:35 2020 -0400 +Description: Support GCC 10+. +Debian-Bug: 957581. + +* ncbifile.cpp (s_GetFileSystemInfo): Formally cast st.f_type to avoid + narrowing errors for cases with the high bit set when that field is + a 32-bit signed integer (as on i386). + +Index: b/c++/src/corelib/ncbifile.cpp +=================================================================== +--- a/c++/src/corelib/ncbifile.cpp ++++ b/c++/src/corelib/ncbifile.cpp +@@ -5129,7 +5129,7 @@ void s_GetFileSystemInfo(const string& + + GET_STATFS_INFO; + if (flags & (fFSI_Type | fFSI_DiskSpace)) { +- switch (st.f_type) { ++ switch (static_cast(st.f_type)) { + case 0xADF5: info->fs_type = CFileUtil::eADFS; break; + case 0xADFF: info->fs_type = CFileUtil::eAFFS; break; + case 0x5346414F: info->fs_type = CFileUtil::eAFS; break; diff --git a/patches/support_x32 b/patches/support_x32 new file mode 100644 index 00000000..7e166d8c --- /dev/null +++ b/patches/support_x32 @@ -0,0 +1,16 @@ +Author: Aaron M. Ucko +Date: Wed, 01 Dec 2021 21:37:42 -0500 +Description: Support x32 + +Avoid picking up wrong inline assembly. +--- a/c++/include/corelib/impl/ncbi_atomic_defs.h ++++ b/c++/include/corelib/impl/ncbi_atomic_defs.h +@@ -120,7 +120,7 @@ extern "C" { + (defined(__i386) || defined(__sparc) || defined(__x86_64) || \ + defined(__aarch64__)) && \ + (!defined(__GLIBCXX__) || !defined(NCBI_TCHECK)) +-# if defined(__x86_64) || defined(__aarch64__) ++# if (defined(__x86_64) && !defined(_ILP32)) || defined(__aarch64__) + # define NCBI_COUNTER_64_BIT + # endif + # ifdef NCBI_COUNTER_64_BIT diff --git a/patches/suppress_tls_version_checks b/patches/suppress_tls_version_checks new file mode 100644 index 00000000..a49e0c61 --- /dev/null +++ b/patches/suppress_tls_version_checks @@ -0,0 +1,43 @@ +Author: Aaron M. Ucko +Date: Wed, 01 Dec 2021 22:08:16 -0500 +Description: suppress gnu TLS and mbed TLS version checks + + Prevent bailing when the exact compile-time and runtime GNU TLS versions + differ; trust dpkg to disallow combinations that are actually incompatible. + Likewise for mbed TLS. + +--- a/c++/src/connect/ncbi_gnutls.c ++++ b/c++/src/connect/ncbi_gnutls.c +@@ -692,6 +692,7 @@ static EIO_Status s_GnuTlsInit(FSSLPull + + assert(!s_GnuTlsCredAnon); + ++#if 0 + version = gnutls_check_version(0); + if (strcasecmp(GNUTLS_VERSION, version) != 0) { + CORE_LOGF(eLOG_Critical, +@@ -699,6 +700,7 @@ static EIO_Status s_GnuTlsInit(FSSLPull + GNUTLS_VERSION, version)); + assert(0); + } ++#endif + + if (!pull || !push) + return eIO_InvalidArg; +--- a/c++/src/connect/ncbi_mbedtls.c ++++ b/c++/src/connect/ncbi_mbedtls.c +@@ -665,12 +665,14 @@ static EIO_Status s_MbedTlsInit(FSSLPull + char buf[32]; + + mbedtls_version_get_string(version); ++#if 0 + if (strcasecmp(MBEDTLS_VERSION_STRING, version) != 0) { + CORE_LOGF(eLOG_Critical, + ("%s version mismatch: %s headers vs. %s runtime", + kMbedTls, MBEDTLS_VERSION_STRING, version)); + assert(0); + } ++#endif + + if (!pull || !push) + return eIO_InvalidArg; diff --git a/patches/system_mbedtls_only b/patches/system_mbedtls_only new file mode 100644 index 00000000..394f3eaf --- /dev/null +++ b/patches/system_mbedtls_only @@ -0,0 +1,34 @@ +Author: Aaron M. Ucko +Date: Wed, 01 Dec 2021 23:33:11 -0500 +Subject: Omit convenience mbed TLS copy +--- a/c++/src/connect/Makefile.connssl.lib ++++ b/c++/src/connect/Makefile.connssl.lib +@@ -2,7 +2,9 @@ + + CPPFLAGS = $(TLS_INCLUDE) $(ORIG_CPPFLAGS) + +-SRC_TLS = ncbi_gnutls ncbi_mbedtls ncbi_tls \ ++SRC_TLS = ncbi_gnutls ncbi_mbedtls ncbi_tls ++ ++SRC_MBEDTLS_UNUSED = \ + mbedtls/aes mbedtls/aesni mbedtls/arc4 mbedtls/asn1parse \ + mbedtls/asn1write mbedtls/base64 mbedtls/bignum mbedtls/blowfish \ + mbedtls/camellia mbedtls/ccm mbedtls/cipher mbedtls/cipher_wrap \ +--- a/c++/src/connect/connect_misc_impl.hpp ++++ b/c++/src/connect/connect_misc_impl.hpp +@@ -30,11 +30,10 @@ + * + */ + +-#include "mbedtls/mbedtls/ncbicxx_rename_mbedtls.h" +-#include "mbedtls/mbedtls/error.h" +-#include "mbedtls/mbedtls/ctr_drbg.h" +-#include "mbedtls/mbedtls/entropy.h" +-#include "mbedtls/mbedtls/ssl.h" ++#include ++#include ++#include ++#include + + #include + diff --git a/patches/tune_lmdb_defaults b/patches/tune_lmdb_defaults new file mode 100644 index 00000000..080d9b56 --- /dev/null +++ b/patches/tune_lmdb_defaults @@ -0,0 +1,14 @@ +--- a/c++/include/objtools/blast/seqdb_writer/writedb_lmdb.hpp ++++ b/c++/include/objtools/blast/seqdb_writer/writedb_lmdb.hpp +@@ -52,7 +52,11 @@ BEGIN_NCBI_SCOPE + #define DEFAULT_LMDB_MAP_SIZE 500000 + #define DEFAULT_TAXID_MAP_SIZE 500000 + #else ++#ifdef __mips__ ++#define DEFAULT_LMDB_MAP_SIZE (640 * 1024 * 1024) ++#else + #define DEFAULT_LMDB_MAP_SIZE 700000000 ++#endif + #define DEFAULT_TAXID_MAP_SIZE 300000000 + #endif + diff --git a/patches/use_pie_for_apps b/patches/use_pie_for_apps new file mode 100644 index 00000000..ab72b526 --- /dev/null +++ b/patches/use_pie_for_apps @@ -0,0 +1,29 @@ +Subject: build executables with -fPIE, not -fPIC + +* -fPIC is only useful for shared libraries; substitute -fPIE (along + with -pie at link time) when building executables. + +Author: Aaron M. Ucko +Last-Update: 2012-05-10 +--- a/c++/src/build-system/Makefile.app.in ++++ b/c++/src/build-system/Makefile.app.in +@@ -25,8 +25,8 @@ + ### C/C++ source file compilation setup + + CPPFLAGS += -DNCBI_APP_BUILT_AS=$(APP) +-CXXFLAGS_ALL = @f_compile@ $(CXXFLAGS) $(LOCAL_CPPFLAGS) $(CPPFLAGS) +-CFLAGS_ALL = @f_compile@ $(CFLAGS) $(LOCAL_CPPFLAGS) $(CPPFLAGS) ++CXXFLAGS_ALL = @f_compile@ $(CXXFLAGS:-fPIC=-fPIE) $(LOCAL_CPPFLAGS) $(CPPFLAGS) ++CFLAGS_ALL = @f_compile@ $(CFLAGS:-fPIC=-fPIE) $(LOCAL_CPPFLAGS) $(CPPFLAGS) + SOURCES = @UNIX_SRC@ $(SRC) + + ### Standard application build rules +@@ -57,7 +57,7 @@ + include $(builddir)/Makefile.$(Rules) + + CMD_BASE = $(LINK_WRAPPER) $(LINK) +-CMD_BASEARGS = $(LDFLAGS) $(APP_LDFLAGS) $(XOBJ) $(XOBJ2) $(PRE_LIBS) ++CMD_BASEARGS = $(LDFLAGS) $(APP_LDFLAGS) -fPIE -pie $(XOBJ) $(XOBJ2) $(PRE_LIBS) + CMD_TAIL = @f_outexe@$(XAPP) $(LINK_FILTER) + CMD_ARGS = $(CMD_BASEARGS) $(XLIB) $(XAPP_LIBS) + CMD_ARGS2 = $(CMD_BASEARGS) $(XLIB2) $(XAPP_LIBS2) diff --git a/rules b/rules new file mode 100755 index 00000000..65213ec0 --- /dev/null +++ b/rules @@ -0,0 +1,168 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +export HOME=$(CURDIR)/fakehome + +NUMJOBS=1 +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +endif + +DEB_CONFIGURE_COMMON_FLAGS=--without-autodep --without-makefile-auto-update \ + --with-flat-makefile --without-caution --without-dbapi --without-lzo \ + --without-debug --without-downloaded-vdb --without-sse42 +DEB_CONFIGURE_EXTRA_FLAGS=$(DEB_CONFIGURE_COMMON_FLAGS) --with-dll --with-mt \ + --with-runpath=/usr/lib/ncbi-blast+ --with-build-root=BUILD --with-mbedtls + +proj=algo/blast/ app/ objmgr/ objtools/align_format/ objtools/blast/ + +#ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) +DEB_CONFIGURE_EXTRA_FLAGS += --with-symbols +#endif + +#export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie +export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie +export DEB_CFLAGS_MAINT_APPEND=-Wall -pedantic + +include /usr/share/dpkg/architecture.mk +include /usr/share/dpkg/buildflags.mk + +ifneq (,$(findstring mips,$(DEB_HOST_ARCH))) +CXXFLAGS := $(CXXFLAGS:-O%=-O) +DEB_CONFIGURE_EXTRA_FLAGS += FAST_CXXFLAGS=-O +endif + +export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MAKE + +# used for run_with_lock +DEB_CONFIGURE_COMMON_FLAGS += CFLAGS_FOR_BUILD="$(CFLAGS) -fPIE" +DEB_CONFIGURE_COMMON_FLAGS += LDFLAGS_FOR_BUILD="$(LDFLAGS)" + +ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) +NATIVE=.native +DEB_CONFIGURE_EXTRA_FLAGS += --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) +NATIVE_BINDIR=$(CURDIR)/c++/BUILD$(NATIVE)/bin +PREBUILT_DATATOOL_EXE=$(NATIVE_BINDIR)/datatool +PREBUILT_PTB_EXE=$(NATIVE_BINDIR)/project_tree_builder +export PREBUILT_DATATOOL_EXE PREBUILT_PTB_EXE + +$(PREBUILT_DATATOOL_EXE): + cd c++ && PREBUILT_PTB_EXE=bootstrap \ + ./configure $(DEB_CONFIGURE_COMMON_FLAGS) --without-objects \ + --without-algo --without-app --with-build-root=BUILD.native || \ + (tail -v -n +0 config.log BUILD.native/status/config.log; exit 1) + make -j$(NUMJOBS) -C c++/BUILD$(NATIVE)/build -f Makefile.flat \ + datatool.exe +endif + +override_dh_auto_configure-indep:; +override_dh_auto_configure-arch: $(PREBUILT_DATATOOL_EXE) + mkdir -p $(HOME) + cd c++ && CONFIG_SHELL=/bin/bash \ + ./configure $(DEB_CONFIGURE_EXTRA_FLAGS) \ + || (tail -v -n +0 config.log BUILD/status/config.log; exit 1) + +override_dh_auto_build-arch: + cd c++/BUILD/build && \ + make -j$(NUMJOBS) -f Makefile.flat all_projects="$(proj)" +# make all_r + +override_dh_auto_build-indep: + echo "Save time and do nothing for architecture independent builds" + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + -dh_auto_test + -c++/BUILD/build/check.sh concat_err + -cat c++/BUILD/build/check.sh.out_err +endif + +instroot = debian/ncbi-blast+/usr +leg_bin = debian/ncbi-blast+-legacy/usr/bin +override_dh_auto_install-arch: + # cp c++/BUILD/lib/*.so $(instroot)/lib/ncbi-blast+/ + cp c++/BUILD/bin/* $(instroot)/bin/ + +override_dh_auto_install-indep: + echo "Nothing to do for architecture independant installs" + +override_dh_install-arch: + # dh_install + mv $(instroot)/bin/rpsblast $(instroot)/bin/rpsblast+ + mv $(instroot)/bin/seedtop $(instroot)/bin/seedtop+ + mv $(instroot)/bin/get_species_taxids.sh \ + $(instroot)/bin/get_species_taxids + mv $(instroot)/bin/cleanup-blastdb-volumes.py \ + $(instroot)/bin/cleanup-blastdb-volumes + mv $(instroot)/bin/legacy_blast.pl $(instroot)/bin/legacy_blast + mv $(instroot)/bin/update_blastdb.pl $(instroot)/bin/update_blastdb + sed -e '1s/$$/3/' $(instroot)/bin/windowmasker_2.2.22_adapter.py \ + > $(instroot)/bin/windowmasker_2.2.22_adapter + 2to3 -w --nobackups $(instroot)/bin/windowmasker_2.2.22_adapter + chmod +x $(instroot)/bin/windowmasker_2.2.22_adapter + rm $(instroot)/bin/windowmasker_2.2.22_adapter.py* +# Clean up tests, demos, and internal build tools + rm -f $(instroot)/bin/*test* $(instroot)/bin/seqdb_demo \ + $(instroot)/bin/datatool $(instroot)/bin/run_with_lock \ + $(instroot)/bin/project_tree_builder + mkdir c++/BUILD/lib.observed + d=$(instroot)/bin; \ + while :; do \ + (for x in $$d/*; do \ + readelf -d $$x 2>/dev/null \ + | sed -ne 's/.*NEEDED.* \[\(.*\)]$$/\1/p'; \ + done; rm -f c++/BUILD/lib.observed/*) | sort -u | while read l; do \ + [ -f $(instroot)/lib/ncbi-blast+/$$l \ + -o \! -f c++/BUILD/lib/$$l ] || \ + cp -av c++/BUILD/lib/$$l c++/BUILD/lib.observed/; \ + done; \ + [ -n "$$(ls c++/BUILD/lib.observed)" ] || break; \ + echo ------------------------------------------------------------; \ + cp -a c++/BUILD/lib.observed/* $(instroot)/lib/ncbi-blast+; \ + d=c++/BUILD/lib.observed; \ + done + +override_dh_install-indep: + #if test -d $(leg_bin); then cp debian/legacy/legacy.sh $(leg_bin)/; fi + for x in blastall megablast blastpgp bl2seq rpsblast fastacmd formatdb \ + seedtop; do \ + sed -e "s/.{.*}/$$x/" debian/legacy/legacy.sh > $(leg_bin)/$$x; \ + chmod +x $(leg_bin)/$$x; \ + done + +override_dh_clean: + cp c++/src/util/lmdb/Makefile.orig c++/src/util/lmdb/Makefile.orig.save + cp c++/src/util/lmdbxx/Makefile.orig c++/src/util/lmdbxx/Makefile.orig.save + cp c++/src/util/lmdbxx/lmdb++.h.orig c++/src/util/lmdbxx/lmdb++.h.orig.save + + cp c++/configure.orig configure.orig.save + dh_clean + #Tricky - for each module directory there may be several module files + #or there may be none but then there is still a module named after the + #directory. Clean everything! + -for x in c++/src/objects/* ; do \ + (cd "$$x" && ( \ + mods="`echo *.module`" ; \ + [ "$${mods#*\*}" = "$$mods" ] || mods="`basename $$x`" ; \ + for mod in $$mods ; do \ + ../../../BUILD$(NATIVE)/build/new_module.sh $$mod \ + purge_sources ; \ + done ) ; \ + ) ; \ + done + rm -rf c++/compilers/dll c++/config.log c++/Makefile + rm -f c++/configure.lineno c++/src/objects/blastxml/blastxml.module + rm -f c++/include/common/ncbi_revision.h + find -name check_exec.pid -delete + rm -rf c++/BUILD c++/BUILD.native fakehome + mv configure.orig.save c++/configure.orig + mv c++/src/util/lmdb/Makefile.orig.save c++/src/util/lmdb/Makefile.orig + mv c++/src/util/lmdbxx/Makefile.orig.save c++/src/util/lmdbxx/Makefile.orig + mv c++/src/util/lmdbxx/lmdb++.h.orig.save c++/src/util/lmdbxx/lmdb++.h.orig + +%: + dh $@ --sourcedirectory=c++ diff --git a/salsa-ci.yml b/salsa-ci.yml new file mode 100644 index 00000000..33c3a640 --- /dev/null +++ b/salsa-ci.yml @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff --git a/source/format b/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/lintian-overrides b/source/lintian-overrides new file mode 100644 index 00000000..49fc39f0 --- /dev/null +++ b/source/lintian-overrides @@ -0,0 +1,7 @@ +# Line length detection, nothing missing in source js files +ncbi-blast+ source: source-is-missing *c++/src/html/ncbi_menu.js* +ncbi-blast+ source: source-is-missing *c++/src/html/ncbi_menu_dnd.js* +ncbi-blast+ source: source-is-missing *c++/src/html/ncbi_menu_dyn.js* +# JSON not evil license, related code is not present +ncbi-blast+ source: license-problem-json-evil *c++/include/misc/jsonwrapp/rapidjson10/license.txt* +ncbi-blast+ source: license-problem-json-evil *c++/include/misc/jsonwrapp/rapidjson11/license.txt* diff --git a/source/options b/source/options new file mode 100644 index 00000000..d0a83ea1 --- /dev/null +++ b/source/options @@ -0,0 +1,2 @@ +# Do not generate diff for changes in config.(sub|guess) +extend-diff-ignore = "(^|/)config.(sub|guess)$" diff --git a/tests/control b/tests/control new file mode 100644 index 00000000..d2aa55ae --- /dev/null +++ b/tests/control @@ -0,0 +1,3 @@ +Tests: run-unit-test +Depends: @ +Restrictions: allow-stderr diff --git a/tests/run-unit-test b/tests/run-unit-test new file mode 100644 index 00000000..7e48969b --- /dev/null +++ b/tests/run-unit-test @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + +pkg="ncbi-blast+" + +if [ "$AUTOPKGTEST_TMP" = "" ] ; then + AUTOPKGTEST_TMP=$(mktemp -d /tmp/${pkg}-test.XXXXXX) + trap "rm -rf $AUTOPKGTEST_TMP" 0 INT QUIT ABRT PIPE TERM +fi + +cp -a /usr/share/doc/${pkg}/examples/* $AUTOPKGTEST_TMP + +cd $AUTOPKGTEST_TMP +find . -name "*.gz" -exec gunzip \{\} \; + +echo '---Creating Database--' +/usr/bin/makeblastdb -in testdatabase.fa -parse_seqids -dbtype nucl -out testdb +echo '---Searching Database for Hits---' +/usr/bin/blastn -query test.fa -db testdb -task blastn -dust no -outfmt "7 qseqid sseqid evalue bitscore" -max_target_seqs 2 +echo '---Search and Fetch An Entry From Database---' +/usr/bin/blastdbcmd -db testdb -entry gnl1 -out test_query.fa +cat test_query.fa + +echo "PASS" diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 00000000..1b724cf9 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,9 @@ +Registry: + - Name: OMICtools + Entry: OMICS_01436 + - Name: SciCrunch + Entry: SCR_004870 + - Name: bio.tools + Entry: blast + - Name: conda:bioconda + Entry: blast diff --git a/watch b/watch new file mode 100644 index 00000000..7c2b95b1 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=4 +opts=filenamemangle=s/.*\///;s/\+-src/-orig/;s/blast/blast+/,dversionmangle=s/\+ds//,repacksuffix=+ds \ + https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-(.*)\+-src\.tar\.gz debian uupdate -- 2.30.2