[dgit import tarball ncbi-blast+ 2.12.0+ds-4 ncbi-blast+_2.12.0+ds-4.debian.tar.xz]
--- /dev/null
+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 <osallou@irisa.fr> Wed, 27 Apr 2011 15:19:59 +0200
--- /dev/null
+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ç <canberkkoc@gmail.com> Tue, 2 Aug 2016 03:30:33 +0300
--- /dev/null
+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 <ucko@debian.org> 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 <osallou@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <michael.crusoe@gmail.com> 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 <ucko@debian.org> Sun, 29 Sep 2019 21:57:31 -0400
+
+ncbi-blast+ (2.9.0-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Olivier Sallou <osallou@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <osallou@debian.org> Sat, 10 Feb 2018 17:35:31 +0000
+
+ncbi-blast+ (2.6.0-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Olivier Sallou <osallou@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> Mon, 05 Dec 2016 23:16:54 -0500
+
+ncbi-blast+ (2.5.0-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Olivier Sallou <osallou@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> Wed, 03 Aug 2016 21:40:00 -0400
+
+ncbi-blast+ (2.3.0-2) unstable; urgency=medium
+
+ * Team upload.
+ * Autopkgtest added
+
+ -- Canberk Koç <canberkkoc@gmail.com> 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 <tille@debian.org> 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 <tille@debian.org> 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 <tille@debian.org> 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 <osallou@debian.org> 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 <aron@debian.org>
+ * GCC break fix (recompile with gcc5, Closes: #793263).
+
+ -- Olivier Sallou <osallou@debian.org> 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 <ucko@debian.org> Thu, 02 Jul 2015 16:22:39 -0400
+
+ncbi-blast+ (2.2.30-3) unstable; urgency=medium
+
+ * Switch to unstable after unfreeze.
+
+ -- Olivier Sallou <osallou@debian.org> 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 <ucko@debian.org> 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 <osallou@debian.org> 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 <ucko@debian.org> 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 <osallou@debian.org> Sat, 07 Jun 2014 11:28:22 +0200
+
+ncbi-blast+ (2.2.29-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Olivier Sallou <osallou@debian.org> 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 <ucko@debian.org> 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 <osallou@debian.org> 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 <osallou@debian.org> 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 <osallou@debian.org> Mon, 24 Sep 2012 09:28:29 +0200
+
+ncbi-blast+ (2.2.27-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Olivier Sallou <osallou@debian.org> 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 <ucko@debian.org> 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 <osallou@debian.org> 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 <osallou@debian.org> 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 <tille@debian.org> Wed, 21 Dec 2011 15:47:04 +0100
+
+ncbi-blast+ (2.2.25-6) unstable; urgency=low
+
+ * debian/control:
+ + Luca Capello <luca@pca.it>, 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 <olivier.sallou@irisa.fr> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> 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 <ucko@debian.org> Wed, 08 Jun 2011 21:42:52 -0400
+
+ncbi-blast+ (2.2.25-1) unstable; urgency=low
+
+ * Initial release (Closes: #624394)
+
+ -- Olivier Sallou <olivier.sallou@irisa.fr> Wed, 08 Jun 2011 00:15:15 +0200
--- /dev/null
+Source: ncbi-blast+
+Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
+Uploaders: Olivier Sallou <osallou@debian.org>,
+ Andreas Tille <tille@debian.org>,
+ Aaron M. Ucko <ucko@debian.org>
+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.
--- /dev/null
+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 <dda@sleepycat.com>
+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 <http://www.gnu.org/licenses/>
+ .
+ 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 <olivier.sallou@irisa.fr>
+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 <http://www.gnu.org/licenses/>
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
--- /dev/null
+usr/bin
+var/lib/ncbi-blast+/db
--- /dev/null
+#!/bin/sh
+
+# Execute legacy blast
+exec legacy_blast ${0##*/} $@
--- /dev/null
+.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+
--- /dev/null
+usr/bin
+usr/lib/ncbi-blast+
--- /dev/null
+debian/ncbi-blast+.tests/*
--- /dev/null
+debian/*.1
--- /dev/null
+>gnl|MYDB|1 this is sequence 1
+GAATTCCCGCTACAGGGGGGGCCTGAGGCACTGCAGAAAGTGGGCCTGAGCCTCGAGGATGACGGTGCTGCAGGAACCCG
+TCCAGGCTGCTATATGGCAAGCACTAAACCACTATGCTTACCGAGATGCGGTTTTCCTCGCAGAACGCCTTTATGCAGAA
+GTACACTCAGAAGAAGCCTTGTTTTTACTGGCAACCTGTTATTACCGCTCAGGAAAGGCATATAAAGCATATAGACTCTT
+GAAAGGACACAGTTGTACTACACCGCAATGCAAATACCTGCTTGCAAAATGTTGTGTTGATCTCAGCAAGCTTGCAGAAG
+GGGAACAAATCTTATCTGGTGGAGTGTTTAATAAGCAGAAAAGCCATGATGATATTGTTACTGAGTTTGGTGATTCAGCT
+TGCTTTACTCTTTCATTGTTGGGACATGTATATTGCAAGACAGATCGGCTTGCCAAAGGATCAGAATGTTACCAAAAGAG
+CCTTAGTTTAAATCCTTTCCTCTGGTCTCCCTTTGAATCATTATGTGAAATAGGTGAAAAGCCAGATCCTGACCAAACAT
+TTAAATTCACATCTTTACAGAACTTTAGCAACTGTCTGCCCAACTCTTGCACAACACAAGTACCTAATCATAGTTTATCT
+CACAGACAGCCTGAGACAGTTCTTACGGAAACACCCCAGGACACAATTGAATTAAACAGATTGAATTTAGAATCTTCCAA
--- /dev/null
+>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
--- /dev/null
+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
--- /dev/null
+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 <osallou@debian.org>
+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+"$@"}
--- /dev/null
+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 <ucko@debian.org>
+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
--- /dev/null
+Subject: add missing lib for tests
+Description: unit_test need blast lib to compile
+Forwarded: Not-Needed
+Author: Olivier Sallou <osallou@debian.org>
+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)
+
--- /dev/null
+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 <ucko@debian.org>
+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 <connect/ncbi_socket_unix.hpp>
+ #include <limits.h> // 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
+
--- /dev/null
+Author: Olivier Sallou <olivier.sallou@irisa.fr>
+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();
+
--- /dev/null
+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 <ucko@debian.org>
+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
--- /dev/null
+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 <osallou@debian.org>
+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)
--- /dev/null
+Author: Aaron M. Ucko <ucko@debian.org>
+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<IQueryFactory> & 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())
+ {
--- /dev/null
+Author: Michael R. Crusoe <michael.crusoe@gmail.com>
+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 <pthread.h> 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<string> 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<const char*, PNocase_CStr> 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<const char*, PNocase_CStr> 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<const char*, PNocase_CStr> 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<const char*, PCase_CStr> 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("<<member_index;
+ #if 0
+- code.Methods(inl) << ", __FILE__, __LINE__";
++ code.Methods(inl) << ", "c++/src/serial/datatool/classstr.cpp", __LINE__";
+ #endif
+ code.Methods(inl) << ");\n"
+ " }\n";
+--- a/c++/src/serial/serialobject.cpp
++++ b/c++/src/serial/serialobject.cpp
+@@ -295,7 +295,7 @@ void CSerialObject::ThrowUnassigned(TMem
+ // set temporary diag compile info to use argument file name and line
+ #undef DIAG_COMPILE_INFO
+ #define DIAG_COMPILE_INFO \
+- NCBI_NS_NCBI::CDiagCompileInfo(file_name? file_name: __FILE__, \
++ NCBI_NS_NCBI::CDiagCompileInfo(file_name? file_name: "c++/src/serial/serialobject.cpp", \
+ file_line? file_line: __LINE__, \
+ NCBI_CURRENT_FUNCTION, \
+ NCBI_MAKE_MODULE(NCBI_MODULE))
+@@ -303,7 +303,7 @@ void CSerialObject::ThrowUnassigned(TMem
+ // restore original diag compile info definition
+ #undef DIAG_COMPILE_INFO
+ #define DIAG_COMPILE_INFO \
+- NCBI_NS_NCBI::CDiagCompileInfo(__FILE__, \
++ NCBI_NS_NCBI::CDiagCompileInfo("c++/src/serial/serialobject.cpp", \
+ __LINE__, \
+ NCBI_CURRENT_FUNCTION, \
+ NCBI_MAKE_MODULE(NCBI_MODULE))
+--- a/c++/src/util/lmdb/mdb.c
++++ b/c++/src/util/lmdb/mdb.c
+@@ -1533,7 +1533,7 @@ mdb_strerror(int err)
+
+ #ifndef NDEBUG
+ # define mdb_assert0(env, expr, expr_txt) ((expr) ? (void)0 : \
+- mdb_assert_fail(env, expr_txt, mdb_func_, __FILE__, __LINE__))
++ mdb_assert_fail(env, expr_txt, mdb_func_, "c++/src/util/lmdb/mdb.c", __LINE__))
+
+ static void ESECT
+ mdb_assert_fail(MDB_env *env, const char *expr_txt,
+--- a/c++/src/util/lmdb/mtest.c
++++ b/c++/src/util/lmdb/mtest.c
+@@ -19,7 +19,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest.c", __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- a/c++/src/util/lmdb/mtest2.c
++++ b/c++/src/util/lmdb/mtest2.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest2.c", __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- a/c++/src/util/lmdb/mtest3.c
++++ b/c++/src/util/lmdb/mtest3.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest3.c", __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- a/c++/src/util/lmdb/mtest4.c
++++ b/c++/src/util/lmdb/mtest4.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest4.c", __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- a/c++/src/util/lmdb/mtest5.c
++++ b/c++/src/util/lmdb/mtest5.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest5.c", __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- a/c++/src/util/lmdb/mtest6.c
++++ b/c++/src/util/lmdb/mtest6.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest6.c", __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ char dkbuf[1024];
+
+--- a/c++/src/util/regexp/pcre_scanner_unittest.cc
++++ b/c++/src/util/regexp/pcre_scanner_unittest.cc
+@@ -51,7 +51,7 @@
+ #define CHECK_EQ(a, b) do { \
+ if ( (a) != (b) ) { \
+ fprintf(stderr, "%s:%d: Check failed because %s != %s\n", \
+- __FILE__, __LINE__, #a, #b); \
++ "c++/src/util/regexp/pcre_scanner_unittest.cc", __LINE__, #a, #b); \
+ exit(1); \
+ } \
+ } while (0)
+--- a/c++/src/util/regexp/pcre_stringpiece_unittest.cc
++++ b/c++/src/util/regexp/pcre_stringpiece_unittest.cc
+@@ -19,7 +19,7 @@
+ #define CHECK(condition) do { \
+ if (!(condition)) { \
+ fprintf(stderr, "%s:%d: Check failed: %s\n", \
+- __FILE__, __LINE__, #condition); \
++ "c++/src/util/regexp/pcre_stringpiece_unittest.cc", __LINE__, #condition); \
+ exit(1); \
+ } \
+ } while (0)
+--- a/c++/src/util/static_set.cpp
++++ b/c++/src/util/static_set.cpp
+@@ -87,7 +87,7 @@ void CArrayHolder::Convert(const void* s
+ TParamStaticArrayCopyWarning::GetDefault()) ) {
+ // report incorrect usage
+ CDiagCompileInfo diag_compile_info
+- (file? file: __FILE__,
++ (file? file: "c++/src/util/static_set.cpp",
+ file? line: __LINE__,
+ NCBI_CURRENT_FUNCTION,
+ NCBI_MAKE_MODULE(NCBI_MODULE));
+@@ -122,7 +122,7 @@ void ReportUnsafeStaticType(const char*
+ if ( TParamStaticArrayUnsafeTypeWarning::GetDefault() ) {
+ // report incorrect usage
+ CDiagCompileInfo diag_compile_info
+- (file? file: __FILE__,
++ (file? file: "c++/src/util/static_set.cpp",
+ file? line: __LINE__,
+ NCBI_CURRENT_FUNCTION,
+ NCBI_MAKE_MODULE(NCBI_MODULE));
+@@ -145,7 +145,7 @@ void ReportIncorrectOrder(size_t curr_in
+ {
+ { // report incorrect usage
+ CDiagCompileInfo diag_compile_info
+- (file? file: __FILE__,
++ (file? file: "c++/src/util/static_set.cpp",
+ file? line: __LINE__,
+ NCBI_CURRENT_FUNCTION,
+ NCBI_MAKE_MODULE(NCBI_MODULE));
--- /dev/null
+Author: Aaron M. Ucko <ucko@debian.org>
+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 $
+ # ===========================================================================
+ #
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+From: Michael R. Crusoe <michael.crusoe@gmail.com>
+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<BEL>\ts\tBotanic Garden Meise\t\t\t",
+-"BR<BRA>\tc\tJohanna Dobereiner Biological Resouce Center (CRB-JD)\t\t\t",
++"BR<BRA>\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<BEL> s Botanic Garden Meise
+-BR<BRA> c Johanna Dobereiner Biological Resouce Center (CRB-JD)
++BR<BRA> 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("<<GetId(seq, eGetId_Best)<<"): "
+- "the sequence does't have prot feature");
++ "the sequence doesn't have prot feature");
+ }
+ if ( best_feats.size() > 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;
+ }
+ }
--- /dev/null
+Author: Aaron M. Ucko <ucko@debian.org>
+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<Uint4>(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;
--- /dev/null
+Author: Aaron M. Ucko <ucko@debian.org>
+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
--- /dev/null
+Author: Aaron M. Ucko <ucko@debian.org>
+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;
--- /dev/null
+Author: Aaron M. Ucko <amu@ucko.debian.net>
+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 <mbedtls/error.h>
++#include <mbedtls/ctr_drbg.h>
++#include <mbedtls/entropy.h>
++#include <mbedtls/ssl.h>
+
+ #include <corelib/ncbimisc.hpp>
+
--- /dev/null
+--- 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
+
--- /dev/null
+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 <ucko@debian.org>
+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)
--- /dev/null
+#!/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++
--- /dev/null
+---
+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
--- /dev/null
+3.0 (quilt)
--- /dev/null
+# 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*
--- /dev/null
+# Do not generate diff for changes in config.(sub|guess)
+extend-diff-ignore = "(^|/)config.(sub|guess)$"
--- /dev/null
+Tests: run-unit-test
+Depends: @
+Restrictions: allow-stderr
--- /dev/null
+#!/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"
--- /dev/null
+Registry:
+ - Name: OMICtools
+ Entry: OMICS_01436
+ - Name: SciCrunch
+ Entry: SCR_004870
+ - Name: bio.tools
+ Entry: blast
+ - Name: conda:bioconda
+ Entry: blast
--- /dev/null
+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