Packager
TL;DR
Create the following file:
package "foo" do
version "0.0.1"
type "deb"
file {
source "/some/place/in/filesystem"
dest "/some/place/to/put/it"
}
files {
source "/some/bunch/of/files/*"
dest "/some/other/place"
}
end
Invoke the associated packager script as follows:
$ packager execute <filename>
You now have foo-0.0.1.x86_64.deb with several files in it wherever you
invoked packager.
Command-line options
You can pass in the following options to the packager:
--dryrun
This is a boolean that, if set, will do everything up to, but not including, invoking fpm.
--var pkg_name:foo pkg_version:0.0.1
This will set helpers that can be used within the DSL. The example will set
the helper pkg_name to "foo" and the helper pkg_version to "0.0.1".
Due to how Thor works, you must pass multiple variables at the same time. As shown above, Thor requires keys and values to be joined by a colon (":").
Consider providing helpers for the following:
- Package version
- A root directory (so that your source files can be relative to something)
- Package type (you may want to build a deb vs. an rpm at different times)
DSL
- package
nameStringtypeStringversionVersionStringfile/filessourceStringdestString
link/linkssourceStringdestStringlinkBoolean
requiresArray[String]providesArray[String]before_installArray[String]
Link
If link is true in your file, then a symbolic link will be created instead of
a file being copied.
