On 9/6/22 9:04 PM, Stefan Esser wrote:
Am 06.09.22 um 20:31 schrieb Steve Kargl:
On Tue, Sep 06, 2022 at 08:09:24PM +0200, Stefan Esser wrote:
PortMgr has just accepted a change that has been in the making for
some time:
The move of the "WWW:" entries at the end of the ports' pkg-descr
files into
the ports' Makefiles in the form of "WWW=" definitions.
The WWW lines will be put into the maintainer block, immediately
following
the MAINTAINER and COMMENT lines.
If there is more than one WWW: line a pkg-descr file, one URL will be
selected to be moved into the Makefile, the other URLs will get a label
"See also:" instead of "WWW:".
You've told us the "What" and suggested a "When". So, what is
the "Why?"
% find . -name pkg-descr -maxdepth 3 | wc -l
29110
% find . -name Makefile -maxdepth 3 | wc -l
30343
Assuming 90% of the files are touched, 54000 files suffering cosmetic
churn?
The idea to move the WWW entry from the pkg-descr to the Makefile has
come up
multiple times in the past, back in 2015 for the first time that I know of,
see https://reviews.freebsd.org/D2949.
It's really interesting to see my work being resurrected after nearly 7
years. But yeah thanks for the hard work and I believe my task was
easier than what you are doing or did. I believe you or portmgr@ has a
better script to complete the task. In case you are planning to use my
script I would advise doing in batches per category so far from my
experience. But then again I believe there are more competent ones than
me to take care of this. :D
The question whether the churn caused by commits to 2 files of nearly
all ports
has been discussed within the PortMgr team for some time. The decision
to go
ahead has now been made, after all prerequisites have been met.
The WWW field is the only parameter in the INDEX file or in package
manifests
that is not derived from some variable in the ports' Makefiles.
It has become stale in quite a number of ports over time, one reason
might be
that the pkg-descr files are seldom touched after the initial commit.
And many
of the URLs did not follow the rules laid out in the porters' handbook.
The most relevant WWW: entry in each pkg-descr file should be in the
last line
(if there are multiple WWW: lines) and this line is currently extracted
using
awk when the INDEX is built. But in fact, many ports have the relevant
URL in
some other line and thus do not get any useful URL in the INDEX.
Moving the WWW value into the Makefile will make it easier to maintain
and test
whether it is still valid. It removes processing overhead from "make
index" and
it is a chance to select the most relevant entry from multiple URLs in
many of
the pkg-descr files.
Best regards, STefan