Skip to content
Commits on Source (6)
infernal (1.1.3-3) unstable; urgency=medium
[ Chris Lamb ]
* Make the build reproducible
Closes: #946315
* Enable "nocheck" build profile
Closes: #946314
[ Andreas Tille ]
* Remove patches autoreconf.patch, format_security.patch that are
missing from debian/patches/series.
* debian/copyright: use spaces rather than tabs to start continuation
lines.
* Set upstream metadata fields: Name (from ./configure).
-- Andreas Tille <tille@debian.org> Sat, 07 Dec 2019 08:56:34 +0100
infernal (1.1.3-2) unstable; urgency=medium
* Team upload.
......
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Contact: Infernal developer team at HHMI Janelia Farm:
Diana Kolbe <kolbed janelia.hhmi.org>
Eric Nawrocki <nawrockie janelia.hhmi.org>
Sean Eddy <eddys janelia.hhmi.org>.
Diana Kolbe <kolbed janelia.hhmi.org>
Eric Nawrocki <nawrockie janelia.hhmi.org>
Sean Eddy <eddys janelia.hhmi.org>.
Source: ftp://infernal.janelia.org/pub/software/infernal/infernal-1.1.1.tar.gz
Files: *
......
Author: Andreas Tille <tille@debian.org>
Last-Update: Mon, 16 Jul 2018 07:59:38 +0200
Origin: https://lists.debian.org/debian-mentors/2018/07/msg00193.html
Description: Fix configure.ac to enable autoreconf
--- a/configure.ac
+++ b/configure.ac
@@ -121,24 +121,24 @@ AC_SUBST(EASEL_VERSION)
AC_SUBST(EASEL_URL)
# Preprocessor symbols (replace #undefs in hmmer/src/p7_config.h and src/config.h)
-AC_DEFINE_UNQUOTED(INFERNAL_DATE, "$INFERNAL_DATE")
-AC_DEFINE_UNQUOTED(INFERNAL_COPYRIGHT, "$INFERNAL_COPYRIGHT")
-AC_DEFINE_UNQUOTED(INFERNAL_LICENSE, "$INFERNAL_LICENSE")
-AC_DEFINE_UNQUOTED(INFERNAL_VERSION, "$INFERNAL_VERSION")
-AC_DEFINE_UNQUOTED(INFERNAL_URL, "$INFERNAL_URL")
-
-AC_DEFINE_UNQUOTED(HMMER_DATE, "$HMMER_DATE")
-AC_DEFINE_UNQUOTED(HMMER_COPYRIGHT, "$HMMER_COPYRIGHT")
-AC_DEFINE_UNQUOTED(HMMER_LICENSE, "$HMMER_LICENSE")
-AC_DEFINE_UNQUOTED(HMMER_VERSION, "$HMMER_VERSION")
-AC_DEFINE_UNQUOTED(HMMER_URL, "$HMMER_URL")
-
-AC_DEFINE_UNQUOTED(EASEL_DATE, "$EASEL_DATE")
-AC_DEFINE_UNQUOTED(EASEL_COPYRIGHT, "$EASEL_COPYRIGHT")
-AC_DEFINE_UNQUOTED(EASEL_LICENSE, "$EASEL_LICENSE")
-AC_DEFINE_UNQUOTED(EASEL_VERSION, "$EASEL_VERSION")
+AC_DEFINE_UNQUOTED([INFERNAL_DATE], ["$INFERNAL_DATE"], [Timestamp of infernal code])
+AC_DEFINE_UNQUOTED([INFERNAL_COPYRIGHT], ["$INFERNAL_COPYRIGHT"], [Infernal copyright information])
+AC_DEFINE_UNQUOTED([INFERNAL_LICENSE], ["$INFERNAL_LICENSE"], [Infernal license])
+AC_DEFINE_UNQUOTED([INFERNAL_VERSION], ["$INFERNAL_VERSION"], [Invernal version])
+AC_DEFINE_UNQUOTED([INFERNAL_URL], ["$INFERNAL_URL"], [Link to infernal homepage])
+
+AC_DEFINE_UNQUOTED([HMMER_DATE], ["$HMMER_DATE"], [Timestamp of hmmer code])
+AC_DEFINE_UNQUOTED([HMMER_COPYRIGHT], ["$HMMER_COPYRIGHT"], [Hmmer copyright information])
+AC_DEFINE_UNQUOTED([HMMER_LICENSE], ["$HMMER_LICENSE"], [Hmmer license])
+AC_DEFINE_UNQUOTED([HMMER_VERSION], ["$HMMER_VERSION"], [Hmmer version])
+AC_DEFINE_UNQUOTED([HMMER_URL], ["$HMMER_URL"], [Link to hmmer homepage])
+
+AC_DEFINE_UNQUOTED([EASEL_DATE], ["$EASEL_DATE"], [Timestamp of easel code])
+AC_DEFINE_UNQUOTED([EASEL_COPYRIGHT], ["$EASEL_COPYRIGHT"], [Easel copyright information])
+AC_DEFINE_UNQUOTED([EASEL_LICENSE], ["$EASEL_LICENSE"], [Easel license])
+AC_DEFINE_UNQUOTED([EASEL_VERSION], ["$EASEL_VERSION"], [Easel version])
-AC_DEFINE(eslLIBRARY)
+AC_DEFINE(eslLIBRARY, [], [esl library])
#AC_DEFINE(hmmerLIBRARY)
# Figure out what host we're compiling on.
@@ -182,11 +182,11 @@ AS_HELP_STRING([--enable-debugging=x],[a
enable_debugging=$enableval, enable_debugging=no)
case $enable_debugging in
- yes) AC_DEFINE(eslDEBUGLEVEL, 0);;
- 1) AC_DEFINE(eslDEBUGLEVEL, 1);;
- 2) AC_DEFINE(eslDEBUGLEVEL, 2);;
- 3) AC_DEFINE(eslDEBUGLEVEL, 3);;
- no) AC_DEFINE(eslDEBUGLEVEL, 0);;
+ yes) AC_DEFINE(eslDEBUGLEVEL, 0, [no debugging]);;
+ 1) AC_DEFINE(eslDEBUGLEVEL, 1, [debug level 1]);;
+ 2) AC_DEFINE(eslDEBUGLEVEL, 2, [debug level 2]);;
+ 3) AC_DEFINE(eslDEBUGLEVEL, 3, [debug level 3]);;
+ no) AC_DEFINE(eslDEBUGLEVEL, 0, [no debugging]);;
*) AC_MSG_ERROR([Unknown argument to --enable-debugging: $enable_debugging]);;
esac
@@ -293,7 +293,7 @@ case $enable_threads in
esac
AS_IF([test "x$check_threads" != xno],
- [ACX_PTHREAD([AC_DEFINE(HMMER_THREADS)
+ [ACX_PTHREAD([AC_DEFINE(HMMER_THREADS, [], [Threads for hmmer])
AC_DEFINE(HAVE_PTHREAD)
AC_SUBST(PTHREAD_LIBS)
AC_SUBST(PTHREAD_CFLAGS)],
@@ -356,7 +356,7 @@ AC_PROG_CC
AC_PROG_INSTALL
# MPI : set @CC@ to mpicc, sets @MPILIBS@, defines HAVE_MPI.
if test "$enable_mpi" = "yes"; then
- ACX_MPI([AC_DEFINE(HAVE_MPI)
+ ACX_MPI([AC_DEFINE(HAVE_MPI, [], [MPI enabled])
AC_SUBST([MPI_UTESTS], ["mpi_utest"])
AC_SUBST([MPI_BENCHMARKS], ["mpi_benchmark"])],
AC_MSG_ERROR([MPI library not found for --enable-mpi]))
@@ -376,7 +376,7 @@ CHECK_GNU_MAKE
# Select our optimization level in CFLAGS.
if test "$enable_debugging" != "no"; then
- AC_DEFINE(p7_DEBUGGING, 1)
+ AC_DEFINE(p7_DEBUGGING, 1, [p7 debugging level 1])
if test "$GCC" = "yes" && test "$sre_cflags_env_set" = "no"; then
CFLAGS="-g -Wall"
fi
@@ -454,7 +454,7 @@ if test "$impl_choice" = "sse"; then
__m128i b;
b = _mm_castps_si128(a);
a = _mm_castsi128_ps(b);]])],
- [AC_DEFINE([HAVE_SSE2_CAST])
+ [AC_DEFINE([HAVE_SSE2_CAST], [], [compiler support for sse2 cast functions])
ssecast=yes])
AC_MSG_RESULT([$ssecast])
CFLAGS="$sre_save_cflags"
@@ -531,7 +531,7 @@ if test "$impl_choice" = "sse"; then
[[_MM_SET_FLUSH_ZERO_MODE (_MM_FLUSH_ZERO_ON);
]])],
[ AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_FLUSH_ZERO_MODE])],
+ AC_DEFINE([HAVE_FLUSH_ZERO_MODE], [], [_MM_SET_FLUSH_ZERO_MODE is supported])],
[ AC_MSG_RESULT([no])]
)
CFLAGS="$sre_save_cflags"
@@ -540,16 +540,16 @@ fi
# Now, we can enable the appropriate optimized implementation.
case "$impl_choice" in
sse) AC_MSG_NOTICE([Activating Intel/AMD SSE optimized DP implementation])
- AC_DEFINE([HAVE_SSE2])
- AC_DEFINE([p7_IMPL_SSE])
+ AC_DEFINE([HAVE_SSE2], [], [Activating Intel/AMD SSE optimized DP implementation])
+ AC_DEFINE([p7_IMPL_SSE], [], [Activating Intel/AMD SSE optimized DP implementation])
AC_SUBST([HMMERIMPLLIB], ["impl_sse/libhmmerimpl.a"])
IMPL_CHOICE="sse"
INFERNAL_IMPLDIR="impl_sse"
;;
vmx) AC_MSG_NOTICE([Activating Altivec/VMX optimized DP implementation])
- AC_DEFINE([HAVE_VMX])
- AC_DEFINE([p7_IMPL_VMX])
+ AC_DEFINE([HAVE_VMX], [], [Activating Altivec/VMX optimized DP implementation])
+ AC_DEFINE([p7_IMPL_VMX], [], [Activating Altivec/VMX optimized DP implementation])
AC_SUBST([HMMERIMPLLIB], ["impl_vmx/libhmmerimpl.a"])
IMPL_CHOICE="vmx"
INFERNAL_IMPLDIR=""
@@ -582,7 +582,7 @@ AC_PATH_PROG(HAVE_GZIP, "gzip", "no")
if test "${HAVE_GZIP}" = "no"; then
AC_MSG_WARN([gzip not found])
else
- AC_DEFINE(HAVE_GZIP)
+ AC_DEFINE(HAVE_GZIP, [], [Use systm gzip library])
fi
# 5. Checks for libraries
@@ -731,6 +731,29 @@ AC_CONFIG_FILES([easel/testsuite/Makefil
AC_CONFIG_FILES([easel/Makefile])
AC_CONFIG_FILES([easel/documentation/Makefile])
+
+AH_TOP([
+/* RAMLIMIT (in MB) defines how much memory we're
+ * allowed to expend on alignment algorithms without
+ * switching to more efficient memory forms - e.g.
+ * in smallcyk.c
+ */
+#ifndef RAMLIMIT
+#define RAMLIMIT 0
+#endif
+
+/* SRE_CONLEVEL will prob move to squid somewhere.
+ * Set to 1 to activate contract checking, during debugging.
+ */
+#define SRE_CONLEVEL 1
+#if (SRE_CONLEVEL >= 1)
+#include <assert.h>
+#endif
+
+#define CMSEQDBENV "BLASTDB"
+#define CMDBENV "RFAMDB"
+])
+
################################################################
# 13. AC_OUTPUT
################################################################
Author: Andreas Tille
Last-Update: 2016-06-21 11:19:17 +0200
Description: Fix format security issues
Index: infernal-1.0.2/easel/esl_getopts.c
===================================================================
--- infernal-1.0.2.orig/easel/esl_getopts.c 2009-10-30 18:30:58.000000000 +0100
+++ infernal-1.0.2/easel/esl_getopts.c 2011-09-27 15:52:41.490289335 +0200
@@ -1270,7 +1270,7 @@
"Arg looks like option? Use %.24s%.24s if you really mean it.",
g->opt[opti].name, *ret_optarg);
} else
- ESL_FAIL(eslESYNTAX, "Option %.24s requires an argument", g->opt[opti].name);
+ ESL_FAIL(eslESYNTAX, g->errbuf, "Option %.24s requires an argument", g->opt[opti].name);
g->optstring = NULL; /* An optchar that takes an arg must terminate an optstring. */
}
Index: infernal-1.0.2/easel/esl_msa.c
===================================================================
--- infernal-1.0.2.orig/easel/esl_msa.c 2009-10-30 18:30:55.000000000 +0100
+++ infernal-1.0.2/easel/esl_msa.c 2011-09-27 15:57:44.961318373 +0200
@@ -3614,7 +3614,8 @@
ESL_MSA *msa = NULL;
if (esl_tmpfile_named(tmpfile, &fp) != eslOK) goto ERROR;
- fprintf(fp, s);
+ //fprintf(fp, s); // provokes error: format not a string literal and no format arguments [-Werror=format-security]
+ fputs(s,fp);
fclose(fp);
fp = NULL;
if (esl_msafile_Open(tmpfile, fmt, NULL, &mfp) != eslOK) goto ERROR;
Index: infernal-1.0.2/easel/esl_tree.c
===================================================================
--- infernal-1.0.2.orig/easel/esl_tree.c 2009-10-30 18:30:58.000000000 +0100
+++ infernal-1.0.2/easel/esl_tree.c 2011-09-27 15:59:14.101032221 +0200
@@ -149,7 +149,8 @@
ESL_TREE *T = NULL;
if (esl_tmpfile(tmpfile, &fp) != eslOK) goto ERROR;
- fprintf(fp, s);
+ //fprintf(fp, s); // provokes error: format not a string literal and no format arguments [-Werror=format-security]
+ fputs(s,fp);
rewind(fp);
if (esl_tree_ReadNewick(fp, NULL, &T) != eslOK) goto ERROR;
fclose(fp);
Description: Make the build reproducible
Author: Chris Lamb <lamby@debian.org>
Bug-Debian: https://bugs.debian.org/946315
Last-Update: 2019-12-05
--- infernal-1.1.3.orig/hmmer/src/p7_tophits.c
+++ infernal-1.1.3/hmmer/src/p7_tophits.c
@@ -2001,8 +2001,10 @@ p7_tophits_TabularTail(FILE *ofp, const
if (fprintf(ofp, "# Query file: %s\n", (qfile == NULL) ? "[none]" : qfile) < 0) ESL_XEXCEPTION_SYS(eslEWRITE, "tabular output tail, write failed");
if (fprintf(ofp, "# Target file: %s\n", (tfile == NULL) ? "[none]" : tfile) < 0) ESL_XEXCEPTION_SYS(eslEWRITE, "tabular output tail, write failed");
if (fprintf(ofp, "# Option settings: %s\n", spoof_cmd) < 0) ESL_XEXCEPTION_SYS(eslEWRITE, "tabular output tail, write failed");
- if (fprintf(ofp, "# Current dir: %s\n", (cwd == NULL) ? "[unknown]" : cwd) < 0) ESL_XEXCEPTION_SYS(eslEWRITE, "tabular output tail, write failed");
- if (fprintf(ofp, "# Date: %s", timestamp) < 0) /* timestamp ends in \n */ ESL_XEXCEPTION_SYS(eslEWRITE, "tabular output tail, write failed");
+ if (getenv("SOURCE_DATE_EPOCH") != NULL) {
+ if (fprintf(ofp, "# Current dir: %s\n", (cwd == NULL) ? "[unknown]" : cwd) < 0) ESL_XEXCEPTION_SYS(eslEWRITE, "tabular output tail, write failed");
+ if (fprintf(ofp, "# Date: %s", timestamp) < 0) /* timestamp ends in \n */ ESL_XEXCEPTION_SYS(eslEWRITE, "tabular output tail, write failed");
+ }
if (fprintf(ofp, "# [ok]\n") < 0) ESL_XEXCEPTION_SYS(eslEWRITE, "tabular output tail, write failed");
free(spoof_cmd);
--- infernal-1.1.3.orig/src/cm_tophits.c
+++ infernal-1.1.3/src/cm_tophits.c
@@ -2780,8 +2780,10 @@ cm_tophits_TabularTail(FILE *ofp, const
fprintf(ofp, "# Query file: %s\n", (qfile == NULL) ? "[none]" : qfile);
fprintf(ofp, "# Target file: %s\n", (tfile == NULL) ? "[none]" : tfile);
fprintf(ofp, "# Option settings: %s\n", spoof_cmd);
- fprintf(ofp, "# Current dir: %s\n", (cwd == NULL) ? "[unknown]" : cwd);
- fprintf(ofp, "# Date: %s", timestamp); /* timestamp ends in \n */
+ if (getenv("SOURCE_DATE_EPOCH") != NULL) {
+ fprintf(ofp, "# Current dir: %s\n", (cwd == NULL) ? "[unknown]" : cwd);
+ fprintf(ofp, "# Date: %s", timestamp); /* timestamp ends in \n */
+ }
fprintf(ofp, "# [ok]\n");
free(spoof_cmd);
......@@ -2,3 +2,4 @@
#autoreconf.patch
spelling.patch
hardening
reproducible_build.patch
......@@ -41,7 +41,9 @@ override_dh_installexamples:
mkdir -p $(sampledir_lib)/src/
mkdir -p $(sampledir_lib)/easel/miniapps/
find ./src -name "*test" -exec cp \{\} $(sampledir_lib)/src/ \;
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
cp ./src/itest_brute $(sampledir_lib)/src/
endif
cp ./easel/miniapps/esl-reformat $(sampledir_lib)/easel/miniapps/
cp ./easel/miniapps/esl-shuffle $(sampledir_lib)/easel/miniapps/
cp ./easel/miniapps/esl-sfetch $(sampledir_lib)/easel/miniapps/
......
......@@ -20,3 +20,4 @@ Registry:
- Name: bio.tools
Entry: NA # infernal_cmscan does not fit
Bug-Submit: eric.nawrocki@nih.gov
Name: Infernal