Plock is a Plone Installer for the Pip-loving Crowd
Project description
plock
Plock is a Plone Installer for the Pip-loving Crowd
Installation
Installing and running Plone with Plock (inside a virtualenv) looks like this:
$ virtualenv-2.7 . $ source bin/activate
(venv)$ pip install plock (venv)$ plock Plock is installing Plone. This may take a while.......(3)....(4)....(4)....(4)....(5)....(5)....(9)....(14)....(21)....(24)....(29)....(33)....(38)....(43)....(48)....(54)....(58)....(62)....(66)....(71)....(74)....(78)....(78)....(83)....(87)....(89)....(92)....(97)....(98)....(98)....(98)....(98)....(98)....(100)....(102)....(103)....(108)....(110)....(113)....(115)....(120)....(123)....(128)....(133)....(138)....(142)....(148)....(153)....(158)....(161)....(163)....(168)....(171)....(175)....(179)....(181)....(184)....(189)....(193)....(195)....(198)....(203)....(205)....(210)....(214)....(221)....(224)....(228)....(234). done.
(venv)$ plone fg
Configuration
Plone uses Buildout to manage its installation and configuration. Plock creates a buildout.cfg file for you that initially looks like this:
[buildout] extends = release.cfg
That release.cfg extends several other configuration files located in the current working directory (created by the Plock Installer). Alternatively you can use the --insecure option to extend a remotely hosted (and possibly newer) configuration file. That will make your buildout.cfg file look like this:
[buildout] extends = https://raw.github.com/plock/pins/master/plone-4.3
Add-ons
To list available add-ons:
$ plock --list-addons
To install add-ons, add the desired Python package name(s) to the command line e.g.:
$ plock --add-on Products.PloneFormGen
Restart Plone and install the add-on(s) in Plone via Site Setup -> Add-ons. After you install add-ons with Plock your buildout.cfg file will look like this:
[buildout] extends = release.cfg [plone] eggs = ${base:packages} ${addon:packages} Products.PloneFormGen
Advanced
Environment variables
PLOCK_EXPERT
If you are already familiar with Buildout, you may be using a ~/.buildout/default.cfg file to define various settings such as the Buildout eggs-directory. In this case, you probably want to use the eggs installed in your already-defined eggs-directory (rather than letting Plock create and populate a new eggs-directory). To configure such behavior, set PLOCK_EXPERT to True e.g.:
$ export PLOCK_EXPERT=True
Now Plock will respect your ~/.buildout/default.cfg settings. Alternatively you can use the --expert command line argument to enable expert mode.
PLOCK_TIMEOUT
If you are installing via a slow internet connection, you can adjust the timeout length from its default value of 45 seconds to whatever you like with the PLOCK_TIMEOUT variable:
$ export PLOCK_TIMEOUT=60
FAQ
Why build Plock on top of Buildout?
Plock is a work around for pip install Plone which works but requires a lengthy requirements.txt, and lacks additional features provided by Buildout that are needed to use Plone.
Why support pip?
To advance the state of Plone such that Buildout can be used, but not required.
Why make Buildout optional?
To market Plone to Python programmers who are generally more familiar with pip than Buildout.
Why the name Plock?
Plock is a single by the band Plone.
Changelog
0.1.7 (2013-12-28)
- New features:
Create install_dir if it does not exist
Use Plock Pins instead of PythonPackages as zc.buildout configuration host
Add -v, –version to display version
- Bug fixes
Don’t break –list-addons
Don’t break –install-addons
- Removed features:
Remove –insecure
Remove –virtualenv
Remove –zope2-only
0.1.6 (2013-08-12)
- Bug fixes:
Fix Buildout command execution
0.1.5 (2013-08-12)
- Bug fixes:
Fix Buildout command execution
0.1.4 (2013-08-12)
- New features:
Add --expert command line argument, does same thing as PLOCK_EXPERT environment variable
Add --insecure command line argument to allow extending remote hosted configuration files
- Bug fixes:
Prevent inadvertently switching from Plone to Zope2 or vice versa
Configure Buildout command relative to current working directory, instead of relying on source bin/activate
0.1.3 (2013-07-31)
- New features:
Added experimental --zope2-only option to install Zope2 only.
- Bug fixes:
Exit Plock when egg count remains the same for longer than or equal to PLOCK_TIMEOUT
0.1.2 (2013-07-29)
Document PLOCK_EXPERT environment variable to respect .buildout/default.cfg
- Bug fixes:
Fixed ref to args.add_on via --preserve
0.1.1 (2013-07-28)
Fix “brown bag”
0.1.0 (2013-07-28)
- Make “secure”
All Buildout configuration files (for Plone, Zope2, the ZTK, etc.) are included in plock; this eliminates the possibility of a MITM-attack via remote extends (now you just need to trust PyPI and dist.plone.org.)
- Changed features:
Renamed script: install-plone to plock.
Renamed arg: --install-addons to --add-on (to improve argparse-provided usage statement).
0.0.9 (2013-07-25)
- Bug fixes:
Don’t print “Wrote buildout.cfg” if buildout.cfg exists.
0.0.8 (2013-07-25)
- New features:
Added –write-config to write buildout.cfg and exit.
0.0.7 (2013-07-24)
- Bug fixes:
Restore -U
0.0.6 (2013-07-24)
- Bug fixes:
Make sure addons list is sorted.
0.0.5 (2013-07-24)
- New features:
Added --raw, for use with --list-addons e.g. bin/install-plone –list–addons –raw
Added --preserve for use with --install-addons e.g. bin/install-plone –install-addons Products.PloneFormGen –preserve
- Bug fixes:
bin/install-plone –install-addons PACKAGE(S) can now be run the first time to install both Plone and add-ons.
bin/install-plone –install-addons PACKAGE(S) saves a copy of buildout.cfg and reverts changes if a Buildout run fails.
0.0.4 (2013-07-23)
Provide updated add-on installation instructions
Install add-ons with bin/install-plone –install-addons PACKAGE(S)
0.0.3 (2013-07-22)
List add-ons with bin/install-plone –list-addons
0.0.2 (2013-07-19)
Provide add-on installation instructions
Write local buildout.cfg instead of relying on -c remote_cfg.cfg
0.0.1 (2013-07-15)
Initial release
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.