Sep 102022

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

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
prefix: /usr/local
categories: [ sysutils, ]
licenselogic: single
www: ""
licenses: [ BSD2CLAUSE, ]
users: [ anvil, ]
groups: [ anvil, ]
deps: { 
options: {
 FETCH: on,
 CURL: off,
 WGET: off,
root@freshports:/usr/ports/sysutils/anvil # make -V LICENSE

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 & Let's Encrypt in mind,
but they should with with any certificates generated by any

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 .
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.

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)
prefix: /usr/local
categories: [ sysutils, ]
licenselogic: single
www: ""
licenses: [ AGPLv3, ]
users: [ bacula, ]
groups: [ bacula, ]
deps: { 
options: {
 IPV6: on,
 NLS: on,
 PYTHON: off,
annotations: {
 cpe: <<EOD
Website Pin Facebook Twitter Myspace Friendfeed Technorati Digg Google StumbleUpon Premium Responsive