Buildout recipe to create symlinks
Project description
================================
Introduction
================================
This recipe makes it easy to create symbolic links on Unix variants. Links can be
specified one by one, or in bulk. Various shortcuts are provided to avoid unnecessary
repetition of source & target paths, etc.
Warning: If you're going to be linking to directories, **make sure** to see the wiki
`page <https://github.com/koodaamo/cns.recipe.symlink/wiki/zc.buildout-bug-%23144228>`_
on how to work around zc.buildout bug #144228. Otherwise your buildout will fail.
Common options
===================
- *symlink_base* option may contain a common (source) base directory for symlinking,
when links are created for many items from the same directory.
- *symlink_target* may contain common target directory, when links are created in the
same directory.
- *autocreate* causes a target directory to be created if it does not exist
Specifying individual links
=============================
- *symlink* option contains one or more values in format source=target
Example 1::
[symlinks]
symlink = ~/work/MyProj = ${buildout:directory}/products
autocreate = true
If a common *symlink_target* is specified, *symlink* can be in format: source= (omitting target directory)
Specifying links in bulk
==========================
Links can be created for all items in a directory given via *symlink_base*, all buildout
eggs, and all development eggs. When links are created in bulk, they are always created
in directory given by *symlink_target*.
There's also a special option to constrain bulk link creation:
- *ignore* option contains one or more wildcard expressions for choosing items that will
be ignored, ie. no links will be created for them
For files in directory
------------------------
If *symlink_base* & *symlink_target* are specified, but no *symlink* option is given,
links are created for all items found in the (source) base directory. Furthermore, even
if *symlink* option is used, links can still also be created for all items in
*symlink_base* by giving the *bulk* option that forces bulk link creation even if
individual *symlink* specification is used.
Example 2::
[symlinks]
symlink_base = ~/work/
symlink_target = ${buildout:directory}/products
ignore = *.tmp
For eggs in buildout
---------------------
There are two options to generate symlinks for eggs downloaded to a buildout.
- *eggs*
- *develop*
The *ignore option* can be used here as well.
Example 3::
eggs = true
develop = true
ignore = *.tar.gz
*.zip
symlink_target = ${buildout:directory}/products
Contributors
==============
Radim Novotny, original author;
Petri Savolainen, contributor
Change history
================
0.2.3 (2011-12-07)
------------------
- Sphinx docs
- Minor fixes
0.2.2 (2011-12-02)
------------------
- Raise error on nonexistent base source directory
- Provide 'autocreate' option to create target directory if it does not exist
0.2.1 (2011-12-02)
------------------
- New feature for ignoring some items
0.2 (2011-12-02)
----------------
- New feature for bulk creation of links
- Repackaged based on ZopeSkel recipe
- Minor doc improvements
- Source now on github
0.1
-----------------
- Initial release
Download
==========
Introduction
================================
This recipe makes it easy to create symbolic links on Unix variants. Links can be
specified one by one, or in bulk. Various shortcuts are provided to avoid unnecessary
repetition of source & target paths, etc.
Warning: If you're going to be linking to directories, **make sure** to see the wiki
`page <https://github.com/koodaamo/cns.recipe.symlink/wiki/zc.buildout-bug-%23144228>`_
on how to work around zc.buildout bug #144228. Otherwise your buildout will fail.
Common options
===================
- *symlink_base* option may contain a common (source) base directory for symlinking,
when links are created for many items from the same directory.
- *symlink_target* may contain common target directory, when links are created in the
same directory.
- *autocreate* causes a target directory to be created if it does not exist
Specifying individual links
=============================
- *symlink* option contains one or more values in format source=target
Example 1::
[symlinks]
symlink = ~/work/MyProj = ${buildout:directory}/products
autocreate = true
If a common *symlink_target* is specified, *symlink* can be in format: source= (omitting target directory)
Specifying links in bulk
==========================
Links can be created for all items in a directory given via *symlink_base*, all buildout
eggs, and all development eggs. When links are created in bulk, they are always created
in directory given by *symlink_target*.
There's also a special option to constrain bulk link creation:
- *ignore* option contains one or more wildcard expressions for choosing items that will
be ignored, ie. no links will be created for them
For files in directory
------------------------
If *symlink_base* & *symlink_target* are specified, but no *symlink* option is given,
links are created for all items found in the (source) base directory. Furthermore, even
if *symlink* option is used, links can still also be created for all items in
*symlink_base* by giving the *bulk* option that forces bulk link creation even if
individual *symlink* specification is used.
Example 2::
[symlinks]
symlink_base = ~/work/
symlink_target = ${buildout:directory}/products
ignore = *.tmp
For eggs in buildout
---------------------
There are two options to generate symlinks for eggs downloaded to a buildout.
- *eggs*
- *develop*
The *ignore option* can be used here as well.
Example 3::
eggs = true
develop = true
ignore = *.tar.gz
*.zip
symlink_target = ${buildout:directory}/products
Contributors
==============
Radim Novotny, original author;
Petri Savolainen, contributor
Change history
================
0.2.3 (2011-12-07)
------------------
- Sphinx docs
- Minor fixes
0.2.2 (2011-12-02)
------------------
- Raise error on nonexistent base source directory
- Provide 'autocreate' option to create target directory if it does not exist
0.2.1 (2011-12-02)
------------------
- New feature for ignoring some items
0.2 (2011-12-02)
----------------
- New feature for bulk creation of links
- Repackaged based on ZopeSkel recipe
- Minor doc improvements
- Source now on github
0.1
-----------------
- Initial release
Download
==========
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
cns.recipe.symlink-0.2.3.zip
(20.1 kB
view hashes)
cns.recipe.symlink-0.2.3.tar.gz
(12.5 kB
view hashes)
Built Distributions
Close
Hashes for cns.recipe.symlink-0.2.3-py2.7.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1f274acc8c748471f060dac585209557651c5d8cfed4178a584c8f02f7b1ee3 |
|
MD5 | 1a5f46ffdcdff06c8544069f87f9b010 |
|
BLAKE2b-256 | c886f27adabd0746f57e9fbe1aa5feb981d75289cb12759fb966faf52c80175b |
Close
Hashes for cns.recipe.symlink-0.2.3-py2.6.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | b198f6bf9ef15ce9388c91d1f97e98dcdf643023fa1cc537de13251eb6aff35a |
|
MD5 | f2c2bc0e30b9137b6165ec1c70c5f29f |
|
BLAKE2b-256 | 27aacd756f23129a3ddfc088253a55d61e9ee5b5961674818ae38ecfaa4cbd20 |