mkfbsdmnfst(1) FreeBSD General Commands Manual mkfbsdmnfst(1)

NAME

mkfbsdmnfstmanipulates a FreeBSD package manifest file (+MANIFEST).

SYNOPSIS

mkfbsdmnfst [-n name] [-v version] [-o origin] [-c comment] [-d desc] [-g group] [-w website] [-m maintainer] [-p prefix] [-r manifest_file] [-u user] directory

DESCRIPTION

mkfbsdmnfst manipulates a FreeBSD package manifest file (+MANIFEST). It may be used when creating software packages for FreeBSD.

Optional arguments

-n name
Sets the name of the package in the manifest to name. A package name is required, but may be specified inside a manifest_file used in the -r manifest_file argument instead of -n name.
-v version
Sets the version of the package in the manifest to version. A package version is required, but may be specified inside a manifest_file used in the -r manifest_file argument instead of -n name.
-o origin
Sets the origin of the package in the manifest to origin.
-c comment
Sets the package comment in the manifest to comment.
-d desc
Sets the package description in the manifest to desc.
-g group
Sets the package group in the manifest to group.
-w website
Sets the package's website in the manifest to website.
-m maintainer
Sets the package's maintainer in the manifest to maintainer.
-p prefix
Sets the package's prefix in the manifest to prefix.
-r manifest_file
Uses the given manifest_file as input. This is typically used as a template type of input, or created as part of a software build process and then added to with command line arguments.
-u user
Sets the default owner of the files installed by the package to user. This is typically root.

Required arguments

directory
The directory is traversed recursively and all files within are added to the package in the manifest.

AUTOMATIC DEPENDENCIES

mkfbsdmnfst(1) will try to automatically determine dependencies and add them to the manifest by looking at files in bin, sbin and lib directories in directory. In addition, if it finds a dependency in your template manifest_file whoise version is incorrect, it will correct it.

EXAMPLES

A simple example might start with a template_mnfst file:
    name: "foo" 
    version: "0.1.0" 
    origin: "devel/libfoo" 
    prefix: "/usr/local" 
    www: "http://www.foo.bar" 
    maintainer: "someone@foo.bar" 
    comment: "foo library" 
    desc: "Miscellaneous C functions." 
    licenselogic: "single" 
    licenses: ["BSD"] 
    categories: ["devel"]
 
Assuming you have all of the files for the package in ./staging/usr/local, you might then create your manifest file with:
    mkfbsdmnfst -r template_mnfst ./staging > ./staging/+MANIFEST
 
And then create the package with:
    pkg create -o . -r staging -m staging
 

REAL EXAMPLES

mkfbsdmnfst(1) is part of the the libDwm package. libDwm uses uses mkfbsdmnfst(1) when creating the libDwm package for FreeBSD. See the top-level Makefile and packaging/fbsd_manifest.in inside the libDwm source distribution.
 
Other packages using mkfbsdmnfst(1) as part of the packaging process include libDwmAuth, libDwmPf, libDwmRDAP, mcblock and mcflow.

SEE ALSO

fbsddeps(1), pkg-create(8) Manpage Index

AUTHORS

Copyright (c) 2016 Daniel W. McRobb dwm@mcplex.net
April 10, 2017 FreeBSD 11.1-BETA1