X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=Documentation%2Fmknews.perl;h=71b1a996c254b9439fd6644805ea85d048e6f8a5;hp=3efabdb592426799a23777a2eb3fe64f0c6699dd;hb=4d19d3a79188591a25d325128d2ed0a153766577;hpb=0cf1c8b305e15d9ca9869c624a71c96b96a7a5cc diff --git a/Documentation/mknews.perl b/Documentation/mknews.perl index 3efabdb5..71b1a996 100755 --- a/Documentation/mknews.perl +++ b/Documentation/mknews.perl @@ -21,8 +21,8 @@ my $atom_url = 'https://public-inbox.org/NEWS.atom'; my $addr = 'meta@public-inbox.org'; my $latest = shift(@releases) or die 'no releases?'; -my $mime_latest = release2mime($latest); -my $mtime = msg_datestamp($mime_latest->header_obj); +my $mtime; +my $mime_latest = release2mime($latest, \$mtime); my $tmp = "$dst+"; my $out; if ($dst eq 'NEWS') { @@ -73,9 +73,17 @@ rename($tmp, $dst) or die; exit 0; sub release2mime { - my $f = "$dir/$_[0].eml"; + my ($release, $mtime_ref) = @_; + my $f = "$dir/$release.eml"; open(my $fh, '<', $f) or die "open($f): $!"; - PublicInbox::MIME->new(do { local $/; <$fh> }); + my $mime = PublicInbox::MIME->new(do { local $/; <$fh> }); + # Documentation/include.mk relies on mtimes of each .eml file + # to trigger rebuild, so make sure we sync the mtime to the Date: + # header in the .eml + my $mtime = msg_datestamp($mime->header_obj); + utime($mtime, $mtime, $fh) or warn "futimes $f: $!"; + $$mtime_ref = $mtime if $mtime_ref; + $mime; } sub mime2txt {