[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