xpm provides a little convenience over standard
fpm by creating multiple package targets at once.
Normally you'd invoke it repeatedly or in a shell loop:
fpm -s dir -t deb ... fpm -s dir -t rpm ... fpm -s dir -t ipk ...
But you can as well compact that into:
xpm -s dir -t deb,rpm,ipk ...
Notably that's only suitable for plain application packages. Distro-targeted packages with specific e.g.
--after-install scripts may better be created individually.
Albeit you can often combine non-overlapping
--rpm.. flags in one call:
xpm -s dir -t deb,rpm --deb-sign KEY --rpm-sign ...
It also depends on packaging plugins if the fpm build environment is left in a clean enough state. Some targets (composer, phar) may not yet be suitable for multi-target building.
Targets can also be delimited with
+ or cominations thereof for readability:
xpm -s dir -t deb+rpm+exe xpm -s dir -t "deb; rpm; exe"
Likewise it's possible to just list the -t flag multiple times:
xpm -s dir -t deb -t rpm -t exe
Internally it's a trivial loop to
convert() from one
input to different fpm
It's slightly more work, but it might also be useful to permit source transformation lists later
-s dir,zip,deb. Which would allow for "matroska" packages. (The composer plugin currently does this manually for phar-in-deb/rpm packing.)