[med-svn] [Git][med-team/infernal][master] 6 commits: Make the build reproducible
Andreas Tille
gitlab at salsa.debian.org
Sat Dec 7 08:14:20 GMT 2019
Andreas Tille pushed to branch master at Debian Med / infernal
Commits:
5e9f9fd7 by Andreas Tille at 2019-12-07T07:46:40Z
Make the build reproducible
- - - - -
212ae0f0 by Andreas Tille at 2019-12-07T07:48:57Z
Enable "nocheck" build profile
- - - - -
d39cc987 by Andreas Tille at 2019-12-07T07:56:30Z
Remove patches autoreconf.patch, format_security.patch that are missing from debian/patches/series.
Fixes lintian: patch-file-present-but-not-mentioned-in-series
See https://lintian.debian.org/tags/patch-file-present-but-not-mentioned-in-series.html for more details.
- - - - -
8954d68c by Andreas Tille at 2019-12-07T07:56:31Z
debian/copyright: use spaces rather than tabs to start continuation lines.
Fixes lintian: tab-in-licence-text
See https://lintian.debian.org/tags/tab-in-licence-text.html for more details.
- - - - -
aa9d392e by Andreas Tille at 2019-12-07T07:56:32Z
Set upstream metadata fields: Name (from ./configure).
- - - - -
9f56bdd8 by Andreas Tille at 2019-12-07T08:11:02Z
routine-update: Ready to upload to unstable
- - - - -
8 changed files:
- debian/changelog
- debian/copyright
- − debian/patches/autoreconf.patch
- − debian/patches/format_security.patch
- + debian/patches/reproducible_build.patch
- debian/patches/series
- debian/rules
- debian/upstream/metadata
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,20 @@
+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 at debian.org> Sat, 07 Dec 2019 08:56:34 +0100
+
infernal (1.1.3-2) unstable; urgency=medium
* Team upload.
=====================================
debian/copyright
=====================================
@@ -1,8 +1,8 @@
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: *
=====================================
debian/patches/autoreconf.patch deleted
=====================================
@@ -1,171 +0,0 @@
-Author: Andreas Tille <tille at 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
- ################################################################
=====================================
debian/patches/format_security.patch deleted
=====================================
@@ -1,45 +0,0 @@
-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);
=====================================
debian/patches/reproducible_build.patch
=====================================
@@ -0,0 +1,35 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby at 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);
=====================================
debian/patches/series
=====================================
@@ -2,3 +2,4 @@
#autoreconf.patch
spelling.patch
hardening
+reproducible_build.patch
=====================================
debian/rules
=====================================
@@ -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/
=====================================
debian/upstream/metadata
=====================================
@@ -20,3 +20,4 @@ Registry:
- Name: bio.tools
Entry: NA # infernal_cmscan does not fit
Bug-Submit: eric.nawrocki at nih.gov
+Name: Infernal
View it on GitLab: https://salsa.debian.org/med-team/infernal/compare/847ca32158c03000deec505d920b7c7dbf0b19b2...9f56bdd80c80a2b70ffff0a598e8221974fa9447
--
View it on GitLab: https://salsa.debian.org/med-team/infernal/compare/847ca32158c03000deec505d920b7c7dbf0b19b2...9f56bdd80c80a2b70ffff0a598e8221974fa9447
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20191207/c93966f5/attachment-0001.html>
More information about the debian-med-commit
mailing list