From: Aaron M. Ucko Date: Tue, 5 Sep 2023 02:40:42 +0000 (-0400) Subject: Import ncbi-blast+_2.12.0+ds-4.debian.tar.xz X-Git-Tag: archive/raspbian/2.16.0+ds-7+rpi1~1^2^2^2^2^2^2^2~19^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f28ff30704df9585dd31ea7c18a7bf595a4fc205;p=ncbi-blast%2B.git 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] --- f28ff30704df9585dd31ea7c18a7bf595a4fc205 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