Cross package maker. DEB/RPM generation or conversion. Derived from jordansissel/fpm.

⌈⌋ ⎇ branch:  cross package maker


Update of "src"

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 3f40f1e8880a2d6cd481374af678703b665145f4
Page Name:src
Date: 2014-12-14 22:01:36
Original User: mario
Next cf43d9e91efe351b435f87d3b72a42bf9a1772a1
Content

## src module

The "`src`" module allows packaging scripting language apps through **self-referencing** *package infos*.

fpm issue: #811(https://github.com/jordansissel/fpm/issues/811) orig gist: fpm…package…**src.rb**(https://gist.github.com/prof-milki/7fac35d5737816e5a245)

It's useful primarily for packaging source-language based applications (Python, etc). It looks for scripts decorated with per-file meta information in a *top-level comment block* (use `#` or `//` comments, or a `/*...*/` block) such as:

# title: FooBar # description: does the stuff # version: 0.2 # license: BSDL # # Actual source comment starts here...

`src` specifically utilizes an additional **`# pack:`** line, that can reference *other files/script* includes (*recursively*), which the fpm -s src module would uncover and pack along.

# pack: lib/dependency.py, ext/*.py, doc/README

Somewhat similar to the `dir` module it provides limited renaming support `src.py=dest.py` in its file references.

* It's probably still buggy mostly working (v0.7) with relative paths and upward `../` inclusions.

* Allows for simple file-to-file dependency chains / grouping.

* The glob-matching even supports some crude repositioning `lib/*.sh=/opt/app/lib/shell/`, but is one-level only.

* It alternatively permits using a plain spec.txt for packaging. ` fpm -s src -t deb spec.txt ` Where the `pack:` list in the spec file avoids listing any to-be-packaged files on the command line or `.fpmrc`.

* Notably it can augment fpm args --name, --description, --version, --maintainer, --license etc., when the inset script already documents those.