Update of "src"
Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Artifact ID: | 3f40f1e8880a2d6cd481374af678703b665145f4 |
---|---|
Page Name: | src |
Date: | 2014-12-14 22:01:36 |
Original User: | mario |
Next | cf43d9e91efe351b435f87d3b72a42bf9a1772a1 |
## 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.