Today I learned, or at best, relearned, a new make target:
root@freshports:/usr/ports/sysutils/anvil # make create-manifest root@freshports:/usr/ports/sysutils/anvil # ls -lt | head total 14 drwxr-xr-x 3 root wheel 3 Sep 10 17:26 work -rw-r--r-- 1 root wheel 337 Sep 10 16:06 pkg-descr -rw-r--r-- 1 root wheel 182 Sep 10 16:06 distinfo -rw-r--r-- 1 root wheel 1050 Sep 10 16:06 Makefile -rw-r--r-- 1 root wheel 146 Aug 12 14:36 pkg-plist drwxr-xr-x 2 root wheel 6 Aug 12 14:36 files root@freshports:/usr/ports/sysutils/anvil # find work work work/.metadir work/.metadir/+MANIFEST work/.metadir/+DISPLAY work/.metadir/+DESC
That first file contains many things which FreshPorts now obtains via make -V:
root@freshports:/usr/ports/sysutils/anvil # cat work/.metadir/+MANIFEST name: "anvil" version: "0.0.20" origin: sysutils/anvil comment: <<EOD Tools for distributing ssl certificates EOD maintainer: dvl@FreeBSD.org prefix: /usr/local categories: [ sysutils, ] licenselogic: single www: "https://github.com/dlangille/anvil" licenses: [ BSD2CLAUSE, ] users: [ anvil, ] groups: [ anvil, ] deps: { } options: { FETCH: on, CURL: off, WGET: off, } root@freshports:/usr/ports/sysutils/anvil # make -V LICENSE BSD2CLAUSE
It might also simplify the parsing it now does for pkg-descr:
root@freshports:/usr/ports/sysutils/anvil # cat ./work/.metadir/+DISPLAY [ ] root@freshports:/usr/ports/sysutils/anvil # cat ./work/.metadir/+DESC Tools for distributing ssl certificates Designed for FreeBSD (it uses fetch, not wget or curl [yet]). It also uses sudo, with the goal of this running as non-root and only allowing the cp & mv via sudo. These tools were designed with acme.sh & Let's Encrypt in mind, but they should with with any certificates generated by any means. WWW: https://github.com/dlangille/anvil root@freshports:/usr/ports/sysutils/anvil #
This doubly true for slave ports:
root@freshports:/usr/ports/sysutils/anvil # cd ../bacula13-client root@freshports:/usr/ports/sysutils/bacula13-client # make create-manifest root@freshports:/usr/ports/sysutils/bacula13-client # find . . ./Makefile ./work ./work/.metadir ./work/.metadir/+DESC ./work/.metadir/+DISPLAY ./work/.metadir/+MANIFEST root@freshports:/usr/ports/sysutils/bacula13-client # cat ./work/.metadir/+DESC Bacula is a set of computer programs that permit you (or the system administrator) to manage backup, recovery, and verification of computer data across a network of computers of different kinds. In technical terms, it is a network Client/Server based backup program. Bacula is relatively easy to use and efficient, while offering many advanced storage management features that make it easy to find and recover lost or damaged files. Due to its modular design, Bacula is scalable from small single computer systems to systems consisting of hundreds of computers located over a large network. WWW: https://www.bacula.org/ root@freshports:/usr/ports/sysutils/bacula13-client # cat ./work/.metadir/+DISPLAY [ ] root@freshports:/usr/ports/sysutils/bacula13-client # cat ./work/.metadir/+MANIFEST name: "bacula13-client" version: "13.0.1" origin: sysutils/bacula13-client comment: <<EOD Network backup solution (client) EOD maintainer: dvl@FreeBSD.org prefix: /usr/local categories: [ sysutils, ] licenselogic: single www: "https://www.bacula.org/" licenses: [ AGPLv3, ] users: [ bacula, ] groups: [ bacula, ] deps: { } options: { IPV6: on, NLS: on, PYTHON: off, } annotations: { cpe: <<EOD cpe:2.3:a:bacula:bacula:13.0.1:::::freebsd13:x64 EOD }