[Debian-med-packaging] Bug#834139: ncbi-tools6: please add support for SOURCE_DATE_EPOCH

Andreas Tille tille at debian.org
Fri Aug 12 12:56:12 UTC 2016


Hi Sascha,

feel free to do a team upload if nobody insists explicitly.

Kind regards

      Andreas.

On Fri, Aug 12, 2016 at 12:03:24PM +0000, Sascha Steinbiss wrote:
> Source: ncbi-tools6
> Severity: wishlist
> Tags: patch
> User: reproducible-builds at lists.alioth.debian.org
> Usertags: timestamps
> 
> 
> Dear Maintainer,
> 
> while trying to make the metastudent-data package reproducible, I noticed that
> the binary package contains BLAST index files which embed timestamps
> representing the index build time. I have attached a patch to libncbi6 that
> adds support for SOURCE_DATE_EPOCH [1]  to avoid embedding the current time
> and date into generated index files.
> I hope that this will make the build of packages including BLAST indexes in
> their artifacts reproducible.
> 
> Thanks and kind regards
> Sascha
> 
> [1] https://reproducible-builds.org/specs/source-date-epoch

> Description: add support for SOURCE_DATE_EPOCH
>  BLAST index files embed the date and time of their generation. This patch
>  adds support for SOURCE_DATE_EPOCH (see public specification at
>  https://reproducible-builds.org/specs/source-date-epoch/) to formatdb.
> Author: Sascha Steinbiss <satta at debian.org>
> --- a/corelib/ncbitime.c
> +++ b/corelib/ncbitime.c
> @@ -77,6 +77,7 @@
>  #include <ncbi.h>
>  #include <ncbithr.h>
>  #include <ncbiwin.h>
> +#include <stdlib.h>
>  
>  #ifdef OS_UNIX
>  #include <sys/times.h>
> @@ -108,8 +109,14 @@
>  *****************************************************************************/
>  NLM_EXTERN Nlm_Boolean LIBCALL  Nlm_GetDayTime (Nlm_DayTimePtr dtp)
>  {
> +  const char *sde = getenv("SOURCE_DATE_EPOCH");
>  #if (defined(SOLARIS_THREADS_AVAIL)  ||  defined(POSIX_THREADS_AVAIL)  ||  defined(WIN32)) && !defined(OS_UNIX_DARWIN)
> -  time_t t = time( NULL );
> +  time_t t;
> +  if (sde) {
> +    t = strtoul(sde, NULL, 0);
> +   } else {
> +    t = time( NULL );
> +   }
>  #ifdef WIN32
>    static TNlmMutex localtime_lock;
>    if (NlmMutexLockEx( &localtime_lock ) != 0)
> @@ -125,7 +132,11 @@
>    time_t ltime;
>    struct tm *dt;
>    Nlm_MemFill ((Nlm_VoidPtr) dtp, 0, sizeof(Nlm_DayTime));
> -	time(&ltime);
> +  if (sde) {
> +    ltime = strtoul(sde, NULL, 0);
> +  } else {
> +    time(&ltime);
> +  }
>    if ((dt = localtime (&ltime)) != NULL)
>   	{
>          Nlm_MemCopy ((Nlm_VoidPtr) dtp, (Nlm_VoidPtr) dt, sizeof (struct tm));

> _______________________________________________
> Debian-med-packaging mailing list
> Debian-med-packaging at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging


-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list