Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-06 Thread Hilmar Preuße

Am 04.08.2019 um 15:58 teilte Jerome BENOIT mit:
> On 04/08/2019 17:25, Hilmar Preuße wrote:
>> Am 04.08.2019 um 14:09 teilte Gero Treuner mit:

Hi Jerome,

>>> I verified my assumption that the whole program is not designed for
>>> multi-threading: No signs of threading functions or threading library
>>> (only in configure stuff, which would support it but unused here).
>>> In code the word "thread" is used with other meanings.
>>>
>>> Also getenv() is used in other places.
>>>
>>> ==> all fine
>>>
>> I'd push code then to github. Objections?
> 
> Where ? I mean, can you send a link for the record at least ?
> 
I've pushed the patch now to github to make sure it doesn't get lost.
Please be so kind to have a short look.

https://github.com/debian-tex/texlive-bin/commit/21560259d0653abe84e1c5a035aabfd8db0cd924

Hilmar
-- 
sigfault
#206401 http://counter.li.org



signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-04 Thread Jerome BENOIT



On 04/08/2019 17:25, Hilmar Preuße wrote:
> Am 04.08.2019 um 14:09 teilte Gero Treuner mit:
> 
> Hi Jerome,
> 
>> I verified my assumption that the whole program is not designed for
>> multi-threading: No signs of threading functions or threading library
>> (only in configure stuff, which would support it but unused here).
>> In code the word "thread" is used with other meanings.
>>
>> Also getenv() is used in other places.
>>
>> ==> all fine
>>
> I'd push code then to github. Objections?

Where ? I mean, can you send a link for the record at least ?

Jerome

> 
> H.
> 

-- 
Jerome BENOIT | calculus+at-rezozer^dot*net
https://qa.debian.org/developer.php?login=calcu...@rezozer.net
AE28 AE15 710D FF1D 87E5  A762 3F92 19A6 7F36 C68B



Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-04 Thread Hilmar Preuße

Am 04.08.2019 um 15:58 teilte Jerome BENOIT mit:
> On 04/08/2019 17:25, Hilmar Preuße wrote:

Hi,

>> I'd push code then to github. Objections?
> 
> Where ? I mean, can you send a link for the record at least ?
> 
What record? The patch is here.

https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=890734;filename=mp.w_epoch.patch;msg=52

H.
-- 
sigfault
#206401 http://counter.li.org



signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-04 Thread Hilmar Preuße
Am 04.08.2019 um 14:09 teilte Gero Treuner mit:

Hi Jerome,

> I verified my assumption that the whole program is not designed for
> multi-threading: No signs of threading functions or threading library
> (only in configure stuff, which would support it but unused here).
> In code the word "thread" is used with other meanings.
> 
> Also getenv() is used in other places.
> 
> ==> all fine
> 
I'd push code then to github. Objections?

H.
-- 
sigfault
#206401 http://counter.li.org



signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-04 Thread Gero Treuner
On Sun, Aug 04, 2019 at 01:40:32PM +0200, Gero Treuner wrote:
> Hi
> 
> On Sun, Aug 04, 2019 at 01:18:12PM +0200, Hilmar Preuße wrote:
> > > Note: Patch was made against the Buster version
> > > (texlive-bin-2018.20181218.49446).
> > > 
> > That's fine. In Debian unstable we had just an offset of 30 lines.
> > I applied the patch, compiled the binary and can confirm that is solves
> > the problem.
> 
> Great.
> 
> > > I'm not a Debian developer/maintainer, so please check and adopt it 
> > > according all your procedures (including QA).
> > > 
> > Our coding styles are described here [1]. The only adaption I found was:
> > 
> > Variable declarations
> > .
> > The declaration of global variables follows analogous rules: they are
> > either declared 'static' if used in only one file or declared 'extern'
> > in exactly one header and instantiated in exactly one file.
> > 
> > --> As far as I can see your new variable is only one time used in the
> > mpost code, hence I declared it to be static. Do you agree here?
> 
> > [1] https://github.com/debian-tex/texlive-bin/blob/master/README.6coding
> 
> The variable is not global, but local to the function which means that
> memory is allocated on the stack and automatically freed by return from
> the function. Declaring it static would make the variable implicitely
> global (and non-reentrant by the way, but not relevant here because
> getenv() isn't reentrant anyway).

I verified my assumption that the whole program is not designed for
multi-threading: No signs of threading functions or threading library
(only in configure stuff, which would support it but unused here).
In code the word "thread" is used with other meanings.

Also getenv() is used in other places.

==> all fine

> 
> The variable should remain local, so left as-is without further
> declaration.
> 
> With coding style I slightly adjusted to what I found by inserting a
> space after the cast statement. It is best to match the style of the
> code surround for readabality.

Kind regards,
   Gero



Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-04 Thread Hilmar Preuße
Control: tags 890734 + patch

Am 04.08.2019 um 00:25 teilte Gero Treuner mit:

Hi Gero,

> As earlier Metapost user I have it installed and just saw the call for
> help while updating my system.
> 
Many thanks!

> According to the discussion and supposed plan and SOURCE_DATE_EPOCH
> page I have a patch ready (see attachment), which follows the original
> coding style. A test looks ok: %%CreationDate: honors the environment
> variable, format is the same as before.
> 
> Note: Patch was made against the Buster version
> (texlive-bin-2018.20181218.49446).
> 
That's fine. In Debian unstable we had just an offset of 30 lines.
I applied the patch, compiled the binary and can confirm that is solves
the problem.

> I'm not a Debian developer/maintainer, so please check and adopt it 
> according all your procedures (including QA).
> 
Our coding styles are described here [1]. The only adaption I found was:

Variable declarations
.
The declaration of global variables follows analogous rules: they are
either declared 'static' if used in only one file or declared 'extern'
in exactly one header and instantiated in exactly one file.

--> As far as I can see your new variable is only one time used in the
mpost code, hence I declared it to be static. Do you agree here?

Regards,
  Hilmar

[1] https://github.com/debian-tex/texlive-bin/blob/master/README.6coding
-- 
sigfault
#206401 http://counter.li.org



signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-03 Thread Gero Treuner
Hi all,

As earlier Metapost user I have it installed and just saw the call for
help while updating my system.

According to the discussion and supposed plan and SOURCE_DATE_EPOCH
page I have a patch ready (see attachment), which follows the original
coding style. A test looks ok: %%CreationDate: honors the environment
variable, format is the same as before.

Note: Patch was made against the Buster version
(texlive-bin-2018.20181218.49446).

I'm not a Debian developer/maintainer, so please check and adopt it
according all your procedures (including QA).


Kind regards,
   Gero
diff -ur texlive-bin.orig/texk/web2c/mplibdir/mp.w texlive-bin/texk/web2c/mplibdir/mp.w
--- texlive-bin.orig/texk/web2c/mplibdir/mp.w	2019-08-03 22:48:47.0 +0200
+++ texlive-bin/texk/web2c/mplibdir/mp.w	2019-08-03 23:44:23.597334712 +0200
@@ -4350,7 +4350,11 @@
 
 @c
 static void mp_fix_date_and_time (MP mp) {
-  time_t aclock = time ((time_t *) 0);
+  time_t aclock;
+  char *source_date_epoch;
+  if ((source_date_epoch = getenv("SOURCE_DATE_EPOCH")) == NULL ||
+  (aclock = (time_t) strtoll(source_date_epoch, NULL, 10)) <= 0)
+aclock = time ((time_t *) 0);
   struct tm *tmptr = localtime ();
   set_internal_from_number (mp_time, unity_t);
   number_multiply_int (internal_value(mp_time), (tmptr->tm_hour * 60 + tmptr->tm_min));


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-02 Thread Hilmar Preuße
Control: tags 890734 + help

Am 01.08.2019 um 15:26 teilte Hilmar Preuße mit:
> Am 01.08.2019 um 14:36 teilte Jerome BENOIT mit:
>> On 01/08/2019 15:10, Hilmar Preuße wrote:

Hi,

>>> We'd have to calculate human readable time and then split it into 
>>> strings to populate the variables,
>>
>> This far harder that it looks.
>>
>>  if we want to do it right...
>>
>> Anyway, I think the reverse must be done:
>> modify mp_{year,month,day,time} .
>>
> Sorry, I forgot to mention, that strftime() should be able to not
> just display the whole time string, but also just parts of it.
> Therefore it should be not that hard to populate
> mp_{year,month,day,time} and use it later on.
> 
Having said this I still repeat: I'm not a C programmer. Especially when
it comes to string manipulation I'm off. I could try to find a good C
lecture, but for know I prefer to tag that bug help in the hope anybody
volunteers to do the job.

H.
-- 
sigfault
#206401 http://counter.li.org



signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-01 Thread Hilmar Preuße
Am 01.08.2019 um 14:36 teilte Jerome BENOIT mit:
> On 01/08/2019 15:10, Hilmar Preuße wrote:

Hi,

>>   mp_ps_print_nl(mp, "%%CreationDate: ");
>>   mp_ps_print_int(mp, round_unscaled(internal_value(mp_year)));
>>   mp_ps_print_char(mp, '.');
>>   mp_ps_print_dd(mp, round_unscaled(internal_value(mp_month)));
>>   mp_ps_print_char(mp, '.');
>>   mp_ps_print_dd(mp, round_unscaled(internal_value(mp_day)));
>>   mp_ps_print_char(mp, ':');
>>   t = round_unscaled(internal_value(mp_time));
>>   mp_ps_print_dd(mp, t / 60);
>>   mp_ps_print_dd(mp, t % 60);
>>
>> We'd have to calculate human readable time and then split it into 
>> strings to populate the variables,
> 
> This far harder that it looks.
> 
>  if we want to do it right...
> 
> Anyway, I think the reverse must be done:
> modify mp_{year,month,day,time} .
> 
Sorry, I forgot to mention, that strftime() should be able to not just
display the whole time string, but also just parts of it. Therefore it
should be not that hard to populate mp_{year,month,day,time} and use it
later on.

Hilmar
-- 
sigfault
#206401 http://counter.li.org



signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-01 Thread Jerome BENOIT
Hi Again,

On 01/08/2019 15:10, Hilmar Preuße wrote:
> Am 01.08.2019 um 10:09 teilte Jerome BENOIT mit:
> 
> Hi,
> 
>> you want to use strftime :
>>
>> https://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html
>>
> I'm aware of the functions and I've seen minimal usage examples on
> stackexchange. I'll try again later.

I think it is the wrong way to proceed.

> 
>> However, 
>> would it not be safer to modify mp_time instead in case mp_time is use 
>> elsewhere?
>>
> Original code is:
> 
>   mp_ps_print_nl(mp, "%%CreationDate: ");
>   mp_ps_print_int(mp, round_unscaled(internal_value(mp_year)));
>   mp_ps_print_char(mp, '.');
>   mp_ps_print_dd(mp, round_unscaled(internal_value(mp_month)));
>   mp_ps_print_char(mp, '.');
>   mp_ps_print_dd(mp, round_unscaled(internal_value(mp_day)));
>   mp_ps_print_char(mp, ':');
>   t = round_unscaled(internal_value(mp_time));
>   mp_ps_print_dd(mp, t / 60);
>   mp_ps_print_dd(mp, t % 60);
> 
> We'd have to calculate human readable time and then split it into 
> strings to populate the variables,

This far harder that it looks.

 if we want to do it right...

Anyway, I think the reverse must be done:
modify mp_{year,month,day,time} .

hth,
Jerome

> 
> H.
> 

-- 
Jerome BENOIT | calculus+at-rezozer^dot*net
https://qa.debian.org/developer.php?login=calcu...@rezozer.net
AE28 AE15 710D FF1D 87E5  A762 3F92 19A6 7F36 C68B



Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-01 Thread Hilmar Preuße
Am 01.08.2019 um 10:09 teilte Jerome BENOIT mit:

Hi,

> you want to use strftime :
> 
> https://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html
> 
I'm aware of the functions and I've seen minimal usage examples on
stackexchange. I'll try again later.

> However, 
> would it not be safer to modify mp_time instead in case mp_time is use 
> elsewhere?
> 
Original code is:

  mp_ps_print_nl(mp, "%%CreationDate: ");
  mp_ps_print_int(mp, round_unscaled(internal_value(mp_year)));
  mp_ps_print_char(mp, '.');
  mp_ps_print_dd(mp, round_unscaled(internal_value(mp_month)));
  mp_ps_print_char(mp, '.');
  mp_ps_print_dd(mp, round_unscaled(internal_value(mp_day)));
  mp_ps_print_char(mp, ':');
  t = round_unscaled(internal_value(mp_time));
  mp_ps_print_dd(mp, t / 60);
  mp_ps_print_dd(mp, t % 60);

We'd have to calculate human readable time and then split it into 4
strings to populate the variables, if we want to do it right...

H.
-- 
sigfault
#206401 http://counter.li.org



signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-01 Thread Jerome BENOIT



On 01/08/2019 11:58, Hilmar Preuße wrote:
> Am 31.07.2019 um 20:39 teilte Norbert Preining mit:
> 
> Hi Norbert,
> 
>> But hard-coded rewriting of the actual creating time is wrong. We
>> need to do something similar to what pdftex/luatex/xetex/... does. If
>> the variable is set it provides a datetime that should be used
>> instead of the actual time.
>>
>> You can look into the first patch by looking at the texlive-bin
>> repository with
>>  git show c832647f4d1fe579fd4eb46ff8b505030b5124db
>>
> OK, next offer attached. The SOURCE_DATE_EPOCH is now regarded and
> verbatim copied into the "%%CreationDate:", when it is set.
> 
> 1. I don't check content of SOURCE_DATE_EPOCH
> 2. Not sure if "%%CreationDate: 1265974891" is valid Postscript
> 
> If we need to convert that into human readable string anybody has to
> implement it. Sorry, I'm not a C programmer.

you want to use strftime :

https://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html


However, 
would it not be safer to modify mp_time instead  in case mp_time is use 
elsewhere ?

Jerome
> 
> H.
> 

-- 
Jerome BENOIT | calculus+at-rezozer^dot*net
https://qa.debian.org/developer.php?login=calcu...@rezozer.net
AE28 AE15 710D FF1D 87E5  A762 3F92 19A6 7F36 C68B



Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-08-01 Thread Hilmar Preuße
Am 31.07.2019 um 20:39 teilte Norbert Preining mit:

Hi Norbert,

> But hard-coded rewriting of the actual creating time is wrong. We
> need to do something similar to what pdftex/luatex/xetex/... does. If
> the variable is set it provides a datetime that should be used
> instead of the actual time.
> 
> You can look into the first patch by looking at the texlive-bin
> repository with
>   git show c832647f4d1fe579fd4eb46ff8b505030b5124db
> 
OK, next offer attached. The SOURCE_DATE_EPOCH is now regarded and
verbatim copied into the "%%CreationDate:", when it is set.

1. I don't check content of SOURCE_DATE_EPOCH
2. Not sure if "%%CreationDate: 1265974891" is valid Postscript

If we need to convert that into human readable string anybody has to
implement it. Sorry, I'm not a C programmer.

H.
-- 
sigfault
#206401 http://counter.li.org
Index: texlive-bin/texk/web2c/mplibdir/psout.w
===
--- texlive-bin.orig/texk/web2c/mplibdir/psout.w2019-07-31 
23:59:05.712816442 +0200
+++ texlive-bin/texk/web2c/mplibdir/psout.w 2019-08-01 00:00:43.476816442 
+0200
@@ -5035,6 +5035,7 @@
 void mp_print_initial_comment(MP mp,mp_edge_object *hh, int prologues) {
   int t; /* scaled */
   char *s;   
+  char *source_date_epoch;
   mp_ps_print(mp, "%!PS");
   if ( prologues>0 ) 
 mp_ps_print(mp, "-Adobe-3.0 EPSF-3.0");
@@ -5055,10 +5056,15 @@
 mp_ps_pair_out(mp, hh->minx,hh->miny);
 mp_ps_pair_out(mp, hh->maxx,hh->maxy);
   }
+  source_date_epoch = getenv("SOURCE_DATE_EPOCH");
   mp_ps_print_nl(mp, "%%Creator: MetaPost ");
   s = mp_metapost_version();
   mp_ps_print(mp, s);
   mp_xfree(s);
+  if(source_date_epoch) {
+  mp_ps_print_nl(mp, "%%CreationDate: ");
+  mp_ps_do_print(mp, source_date_epoch, strlen(source_date_epoch));
+  } else {
   mp_ps_print_nl(mp, "%%CreationDate: ");
   mp_ps_print_int(mp, round_unscaled(internal_value(mp_year))); 
   mp_ps_print_char(mp, '.');
@@ -5069,6 +5075,7 @@
   t = round_unscaled(internal_value(mp_time));
   mp_ps_print_dd(mp, t / 60); 
   mp_ps_print_dd(mp, t % 60);
+  }
   mp_ps_print_nl(mp, "%%Pages: 1");
 }
 


signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-07-31 Thread Norbert Preining
Hi Hilmar,

> The place where we would have to patch is clear, attached is a first
> patch. It disables time stamping in general. Can you tell how to
> evaluate the ENV variable SOURCE_DATE_EPOCH?

S_D_E is an effort by reproducible-builds initiative, and it is a good
idea.

But hard-coded rewriting of the actual creating time is wrong. We need
to do something similar to what pdftex/luatex/xetex/... does. If the
variable is set it provides a datetime that should be used instead of
the actual time.

You can look into the first patch by looking at the texlive-bin
repository with
git show c832647f4d1fe579fd4eb46ff8b505030b5124db

Best

Norbert

--
PREINING Norbert   http://www.preining.info
Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13



Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2019-07-31 Thread Hilmar Preuße
Am 18.02.2018 um 08:16 teilte Jerome Benoit mit:

Hi Jerome,

> it appears the mpost does not honour SOURCE_DATE_EPOCH:
> see attached script.
> 
I'm not sure what the significance of the SOURCE_DATE_EPOCH effort is.
Is is just Debian specific or are there more parties, which are trying
to build reproducibly? I'm just evaluating if we could submit that bug
to upstream or if a possibly patch needs to be developed (and
maintained) in Debian.

The place where we would have to patch is clear, attached is a first
patch. It disables time stamping in general. Can you tell how to
evaluate the ENV variable SOURCE_DATE_EPOCH?

Hilmar
-- 
sigfault
#206401 http://counter.li.org
Index: texlive-bin/texk/web2c/mplibdir/psout.w
===
--- texlive-bin.orig/texk/web2c/mplibdir/psout.w2019-07-31 
18:22:53.956816442 +0200
+++ texlive-bin/texk/web2c/mplibdir/psout.w 2019-07-31 18:28:39.212816442 
+0200
@@ -5059,8 +5059,8 @@
   s = mp_metapost_version();
   mp_ps_print(mp, s);
   mp_xfree(s);
-  mp_ps_print_nl(mp, "%%CreationDate: ");
-  mp_ps_print_int(mp, round_unscaled(internal_value(mp_year))); 
+  mp_ps_print_nl(mp, "%%CreationDate: 1970.01.01:00.00");
+  /* mp_ps_print_int(mp, round_unscaled(internal_value(mp_year)));
   mp_ps_print_char(mp, '.');
   mp_ps_print_dd(mp, round_unscaled(internal_value(mp_month))); 
   mp_ps_print_char(mp, '.');
@@ -5068,7 +5068,7 @@
   mp_ps_print_char(mp, ':');
   t = round_unscaled(internal_value(mp_time));
   mp_ps_print_dd(mp, t / 60); 
-  mp_ps_print_dd(mp, t % 60);
+  mp_ps_print_dd(mp, t % 60); */
   mp_ps_print_nl(mp, "%%Pages: 1");
 }
 


signature.asc
Description: OpenPGP digital signature


Bug#890734: texlive-metapost: mpost does not honour SOURCE_DATE_EPOCH

2018-02-17 Thread Jerome Benoit
Package: texlive-metapost
Version: 2016.20170123-5
Severity: normal

Dear Maintainer,

it appears the mpost does not honour SOURCE_DATE_EPOCH:
see attached script.

hth,
Jerome


-- Package-specific info:
IMPORTANT INFORMATION: We will only consider bug reports concerning
the packaging of TeX Live as relevant. If you have problems with
combination of packages in a LaTeX document, please consult your
local TeX User Group, the comp.text.tex user group, the author of
the original .sty file, or any other help resource. 

In particular, bugs that are related to up-upstream, i.e., neither
Debian nor TeX Live (upstream), but the original package authors,
will be closed immediately.

   *** The Debian TeX Team is *not* a LaTeX Help Desk ***

If you report an error when running one of the TeX-related binaries 
(latex, pdftex, metafont,...), or if the bug is related to bad or wrong
output, please include a MINIMAL example input file that produces the
error in your report.

Please run your example with
(pdf)latex -recorder ...
(or any other program that supports -recorder) and send us the generated
file with the extension .fls, it lists all the files loaded during
the run and can easily explain problems induced by outdated files in
your home directory.

Don't forget to also include minimal examples of other files that are 
needed, e.g. bibtex databases. Often it also helps
to include the logfile. Please, never send included pictures!

If your example file isn't short or produces more than one page of
output (except when multiple pages are needed to show the problem),
you can probably minimize it further. Instructions on how to do that
can be found at

http://www.minimalbeispiel.de/mini-en.html (english)

or 

http://www.minimalbeispiel.de/mini.html (german)

##
minimal input file


##
other files

##
 List of ls-R files

-rw-r--r-- 1 root root 2538 Feb  5 09:17 /var/lib/texmf/ls-R
-rw-r--r-- 1 root staff 4352 Feb  5 09:17 /usr/local/share/texmf/ls-R
lrwxrwxrwx 1 root root 29 Dec 22 20:12 /usr/share/texmf/ls-R -> 
/var/lib/texmf/ls-R-TEXMFMAIN
lrwxrwxrwx 1 root root 31 Dec 22 20:17 /usr/share/texlive/texmf-dist/ls-R -> 
/var/lib/texmf/ls-R-TEXLIVEDIST
lrwxrwxrwx 1 root root 31 Dec 22 20:17 /usr/share/texlive/texmf-dist/ls-R -> 
/var/lib/texmf/ls-R-TEXLIVEDIST
##
 Config files
-rw-r--r-- 1 root root 2366 Feb  5 09:09 /etc/texmf/web2c/texmf.cnf
lrwxrwxrwx 1 root root 33 Dec 22 20:12 /usr/share/texmf/web2c/fmtutil.cnf -> 
/var/lib/texmf/fmtutil.cnf-DEBIAN
lrwxrwxrwx 1 root root 32 Dec 22 20:12 /usr/share/texmf/web2c/updmap.cfg -> 
/var/lib/texmf/updmap.cfg-DEBIAN
-rw-r--r-- 1 root root 4138 Jun 28  2017 
/var/lib/texmf/tex/generic/config/language.dat
##
 Files in /etc/texmf/web2c/
total 8
-rw-r--r-- 1 root root  283 Jan 10  2013 mktex.cnf
-rw-r--r-- 1 root root 2366 Feb  5 09:09 texmf.cnf
##
 md5sums of texmf.d
d35d415437f07e8d31d036faa81893ea  /etc/texmf/texmf.d/000local.cnf
ca40c66f144b4bafc3e59a2dd32ecb9c  /etc/texmf/texmf.d/00debian.cnf.disabled
055e06548bac99958d8ab2dd1248f2b4  /etc/texmf/texmf.d/80tex4ht.cnf
1df66bc319cec731e202eaf39f5d85e1  /etc/texmf/texmf.d/96JadeTeX.cnf

-- System Information:
Debian Release: Stretch*
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.12.0-0.bpo.1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages texlive-metapost depends on:
ii  tex-common6.06
ii  texlive-base  2016.20170123-5
ii  texlive-binaries  2016.20160513.41080.dfsg-2

Versions of packages texlive-metapost recommends:
pn  feynmf
ii  texlive-metapost-doc  2016.20170123-5

texlive-metapost suggests no packages.

Versions of packages tex-common depends on:
ii  dpkg  1.18.24
ii  ucf   3.0036

Versions of packages tex-common suggests:
ii  debhelper  11~bpo9+1

Versions of packages texlive-metapost is related to:
ii  tex-common6.06
ii  texlive-binaries  2016.20160513.41080.dfsg-2

-- debconf information:
  tex-common/check_texmf_missing:
  tex-common/check_texmf_wrong:
#!/bin/bash
## RequiredPackage: texlive-metapost

set -e

cat > swirl.mp << EOMP
outputformat:="eps";
prologues:=0;

outputtemplate:="%j.mps";
beginfig(1)
z0 = (0,0);
z1 = (60,40);
z2 = (40,90);
z3 = (10,70);
z4 = (30,50);
draw z0..z1..z2..z3..z4;
endfig;

bye;
EOMP

export SOURCE_DATE_EPOCH=0

mpost swirl.mp > /dev/null

mpost -version | head -n 1
printenv | grep SOURCE_DATE_EPOCH
grep -e '^%%CreationDate' swirl.mps

rm -f swirl.{mp,mps,log}

## eos