Bug 209522

Summary: ports-mgmt/portlint: FATAL error on TIMESTAMP in distinfo
Product: Ports & Packages Reporter: John W. O'Brien <john>
Component: Individual Port(s)Assignee: Joe Marcus Clarke <marcus>
Status: Closed FIXED    
Severity: Affects Only Me CC: pi
Priority: --- Flags: bugzilla: maintainer-feedback? (marcus)
Version: Latest   
Hardware: Any   
OS: Any   

Description John W. O'Brien 2016-05-15 16:01:29 UTC
The new TIMESTAMP value in distinfo, added as of r415078, causes portlint to emit a FATAL error.

For example:

% portlint www/py-django19
WARN: Makefile: [12]: possible direct use of command "python" found. use ${PYTHON_CMD} instead.
Use of uninitialized value $2 in string ne at /usr/local/bin/portlint line 397, <IN> line 1.
FATAL: /usr/ports/www/py-django19/distinfo: [1]: line format error.
1 fatal error and 1 warning found.
% cat www/py-django19/distinfo
TIMESTAMP = 1463110613
SHA256 (python/Django-1.9.6.tar.gz) = e5a1d1a831c06475c708126c6a7e0ae0e67adac9d8a7c39cf0695ad79030b9d9
SIZE (python/Django-1.9.6.tar.gz) = 7441794
Comment 1 commit-hook freebsd_committer freebsd_triage 2016-05-15 16:09:33 UTC
A commit references this bug:

Author: bapt
Date: Sun May 15 16:09:03 UTC 2016
New revision: 415239
URL: https://svnweb.freebsd.org/changeset/ports/415239

Log:
  Make portlint not yelling at TIMESTAMP in distinfo

  PR:		209522
  Reported by:	John W. O'Brien <john@saltant.com>

Changes:
  head/ports-mgmt/portlint/Makefile
  head/ports-mgmt/portlint/src/portlint.pl
Comment 2 John W. O'Brien 2016-05-15 17:19:37 UTC
Hmm, something is still not right.


% pkg info -x portlint
portlint-2.17.1
% portlint /usr/ports/www/py-django19
WARN: Makefile: [12]: possible direct use of command "python" found. use ${PYTHON_CMD} instead.
Use of uninitialized value $2 in string ne at /usr/local/bin/portlint line 397, <IN> line 1.
FATAL: /usr/ports/www/py-django19/distinfo: [1]: line format error.
1 fatal error and 1 warning found.
% svn info /usr/ports | grep Revision
Revision: 415266

Aside from the error that still exists, don't forget to bump the version number inside the script.

% portlint -V
portlint version 2.17.0
Comment 3 Kurt Jaeger freebsd_committer freebsd_triage 2016-05-15 17:47:16 UTC
It still happens with 2.17.1 ?

$ portlint -AC
WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy.
Use of uninitialized value $2 in string ne at /usr/local/bin/portlint line 397, <IN> line 1.
FATAL: /home/pi/os/www/py-django-constance/distinfo: [1]: line format error.
1 fatal error and 1 warning found.
$ cat distinfo 
TIMESTAMP = 1463333784
SHA256 (jazzband-django-constance-1.2_GH0.tar.gz) = b8ab699b34bbcd8b42878eaade4289a217ddb6e0173154bc9aab9b94530416e4
SIZE (jazzband-django-constance-1.2_GH0.tar.gz) = 122250
$ pkg info | grep portlint
portlint-2.17.1                Verifier for FreeBSD port directory
Comment 4 Joe Marcus Clarke freebsd_committer freebsd_triage 2016-05-15 18:23:34 UTC
This should now be fixed in 2.17.1_1.
Comment 5 Kurt Jaeger freebsd_committer freebsd_triage 2016-05-15 18:28:59 UTC
No, still a problem:

$ portlint -AC
WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy.
Use of uninitialized value $2 in string ne at /usr/local/bin/portlint line 397, <IN> line 1.
FATAL: /home/pi/os/sysutils/currtime/distinfo: [1]: line format error.
1 fatal error and 1 warning found.
fc$ portlint -V
portlint version 2.17.1
fc$ pkg info | grep portlint
portlint-2.17.1_1              Verifier for FreeBSD port directory
fc$ cat distinfo 
TIMESTAMP = 1463253887
SHA256 (neelchauhan-currtime-v0.2.5_GH0.tar.gz) = 4d17512bd88ba4e709de6f5b057a3db1609e4e96adad1c783732c0e869e88cda
SIZE (neelchauhan-currtime-v0.2.5_GH0.tar.gz) = 4105

Please note: If we move the TIMESTAMP line to the end of the distinfo file,
portlint does not complain.
Comment 6 Joe Marcus Clarke freebsd_committer freebsd_triage 2016-05-15 18:45:23 UTC
Okay, 2.17.2 should have the fix.