Bug 220087

Summary: ports-mgmt/portlint should NOT warn about old TIMESTAMPS
Product: Ports & Packages Reporter: Bryan Drewery <bdrewery>
Component: Individual Port(s)Assignee: Joe Marcus Clarke <marcus>
Status: Closed FIXED    
Severity: Affects Only Me CC: emaste, jrm, pi, portmgr
Priority: --- Flags: bugzilla: maintainer-feedback? (marcus)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 212091    
Bug Blocks:    

Description Bryan Drewery freebsd_committer freebsd_triage 2017-06-17 22:24:08 UTC
+++ This bug was initially created as a clone of Bug #212091 +++

WARN: /poudriere/data/.m/exp-10amd64-commit-test/ref/usr/ports/devel/py-enum34/distinfo: [1]: TIMESTAMP is over 30 days old

There's no reason to have this warning.
It implicitly encourages a user to update the TIMESTAMP which is the
opposite of the point of the field.  The field is intended for reproducible build work.  It should not be getting modified unless the distinfo is actually
being updated.
Comment 1 Ed Maste freebsd_committer freebsd_triage 2017-06-18 16:48:27 UTC
Indeed, TIMESTAMP came in to support reproducible builds, and the intent is to have some timestamp to use for setting metadata in the produced package archive or other cases where a date is required. If the distfiles haven't changed then the TIMESTAMP doesn't need to, either.
Comment 2 Bryan Drewery freebsd_committer freebsd_triage 2017-06-18 17:00:41 UTC
I think there is some useful kind of warning that could be made here though.  It might
have to involve SVN; if the distinfo file is actually updated then the TIMESTAMP
needs to be as well.  I'm not sure how to properly get that information without
SVN / git -- and then there's portsnap.
At the very least if TIMESTAMP is missing in distinfo then the user should be
instructed to use 'make makesum' or to add a valid TIMESTAMP from `date +%s`.
There are times where a porter has to manually mess with distinfo to deal with
optional distfiles and may need to manually update the TIMESTAMP like this.
Comment 3 Mathieu Arnold freebsd_committer freebsd_triage 2017-06-18 17:05:59 UTC
I think all this check should be removed from portlint.

Why you might ask?

There is no need to have a TIMESTAMP line in old ports, because there is a default value somewhere in Mk. (Or there is in the patch for reproducible builds.)
You cannot commit to a distinfo file if it does not have a TIMESTAMP line. (There is a commit hook that will prevent it.)
Comment 4 commit-hook freebsd_committer freebsd_triage 2017-07-22 01:52:33 UTC
A commit references this bug:

Author: marcus
Date: Sat Jul 22 01:51:45 UTC 2017
New revision: 446351
URL: https://svnweb.freebsd.org/changeset/ports/446351

Log:
  Update to 2.17.10.

  * Remove the other check for conflicts that are too broad [1]
  * Remove the check for portlint that is more than 30 days old [2]
  * Check to see uf USE_* comes before USES [3]

  PR:		220087 [2]
  		220340 [3]
  Reminded by:	dbaio [1]

Changes:
  head/ports-mgmt/portlint/Makefile
  head/ports-mgmt/portlint/src/portlint.pl
Comment 5 Joe Marcus Clarke freebsd_committer freebsd_triage 2017-07-22 01:52:50 UTC
Fixed in 2.17.10.