Update of "cross package maker"
Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Artifact ID: | a152f851c0dd7b1334dc67fd5d2b23d6ab7423b5 |
---|---|
Page Name: | cross package maker |
Date: | 2014-12-14 22:52:53 |
Original User: | mario |
Mimetype: | text/x-markdown |
Parent: | 22319e90117f13f288b39ef2aba6e6dae3a0804b (diff) |
Next | b5dfc9da31559853aa62987449cb70995a725d6f |
xpm is currently a personalized branch of fpm (Effing Package Management;), which greatly simplifies cross-distro package generation.
It creates or converts between
- Debian
.deb
- RedHat
.rpm
- Node
.npm
- OSX
.pkg
- Ruby
.gem
- Solaris packages
- plain ZIPs or TARs
and lots more..
See the → Howto on common fpm
usage examples.
xpm target/source extensions
This variant (precautiosly renamed for parallel installation) adds a few more modules:
target exe for Windows SFX installers
reader src to consume per-file relative
pack:
specifiers and meta fields from primarily source-based bundlestarget phar which bundles PHP scripts into
.phar
/zip/tars with meta fields
ToDo
It's further planned to support:
Multi-target creation in one swoop.
fpm -t deb,rpm,exe
Not yet sure, but seems feasible. In particular since fpm package modules use non-overlapping specialty flags each.
Introduce simple filters (semi-build scripts that resemble debian helpers, or quick tasks to reduce manual build scripts) to be run between sourcing and target build module.
fpm --filter mangz,appdata
Non-conclusive list. Not yet decided on
--filter
or--modify
or--pipe
or overloading-f
, or adding a new short-i
/-r
/-u
/-w
flag or whatever's free.
Still pondering
And a slightly overambitious extension:
a GUI-based cross-distro installer
- Basically a zip, with shell prefix (derived from the existing
sh
target), - But the primary payload being a Python script (
__init__.py
), - Later Perl, Shell as optional fallback,
- xdialog/xmessage/zenity in absence of Tk/gtk/qt bindings for either,
- And one or multiple
.deb
s included - DEBs are for all practical purposes the currently most widely supported format (Debian/Ubuntu/Mint family, OSX flint, OpenWRT ipkg, Windows wpkg.exe)
- Still can be converted to native RPMs on target systems (using
alien
or an included slimfpm
) - Else can easily be just extracted raw with
ar|tar
anyway).
- Basically a zip, with shell prefix (derived from the existing
See Research on existing and inactive cross-distro packagers, schemes and initiatives.
GitHub
I just don't fancy git. That's all. But this fossil repo will be synced back to https://github.com/prof-milki/xpm once in a while.
Name
Yes, I'm aware xpm
is technically a taken moniker. Just sounded cool. (Though firefox has long abondened them, and Wayland will eradicate xpixmaps anyway... So xpm is just a historic format; moreover libxpm never provide a binary by that name anyway.)