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
}











