forked from plone/buildout.coredev
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
141 lines (95 loc) · 3.6 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
This is the development buildout for Plone 4.2.
Plone 4 now runs Zope 2.13, and uses Python 2.6, so make sure that
you're using the correct version of Python to run the 'python2.6 bootstrap.py'
command.
mr.developer
============
This buildout uses mr.developer to manage package development. See
http://pypi.python.org/pypi/mr.developer for more information or run
'bin/develop help' for a list of available commands.
The most common workflow to get all the latest updates is:
$ git pull
$ bin/develop rb
This will get you the latest coredev configuration, checkout and update all
packages via Subversion in src and run buildout to configure the whole thing.
From time to time you can check if some old cruft has accumulated:
$ bin/develop st
If this prints any lines with a question mark in front, you can cleanup by:
$ bin/develop purge
This will remove packages from src/ which are no longer needed, as they have
been replaced by proper egg releases of these packages.
PLIP Implementation
===================
Create a buildout configuration file for your plip in the 'plips' folder.
Give it a descriptive name, starting with the plip number;
'plip-1234-widget-frobbing.cfg' for example. This file will define the
branches/trunks you're working with in your PLIP. It should look something
like this:
In file plips/plip-1234-widget-frobbing.cfg...::
[buildout]
extends = plipbase.cfg
auto-checkout +=
plone.somepackage
plone.app.someotherpackage
[sources]
plone.somepackage = git git://github.com/plone/plone.somepackage.git branch=plip-1234-widget-frobbing
plone.app.someotherpackage = git git://github.com/plone/plone.app.somepackage.git branch=plip-1234-widget-frobbing
[instance]
eggs +=
plone.somepackage
plone.app.someotherpackage
zcml +=
plone.somepackage
plone.app.someotherpackage
Use the same naming convention when branching existing packages, and you
should always be branching packages when working on PLIPs.
Common Issues
=============
Issue
-----
"ERROR: Can't update package '[Some package]', because it's dirty."
Fix
---
mr.developer is complaining because a file has been changed/added, but not
committed.
Use ``bin/develop update --force``. Adding ``*.pyc *~.nib *.egg-info
.installed.cfg *.pt.py *.cpt.py *.zpt.py *.html.py *.egg`` to your subversion
config's global-ignores has been suggested as a more permanent solution.
Issue
-----
``ERROR: You are not in a path which has mr.developer installed (.mr.developer.cfg not found).``
When running any ``./bin/develop`` command.
Fix
---
``ln -s plips/.mr.developer.cfg``
Issue
------
"ImportError: No module named Zope2" when building using a PLIP cfg file.
Fix
----
Appears to not actually be the case. Delete 'mkzopeinstance.py' from bin/ and
rerun buildout to correct this if you're finding it irksome.
Issue
------
can't open file '/Startup/run.py'
Fix
----
Two possible fixes, you are using Python 2.4 by mistake, so use Python 2.5 or
2.6 instead. Or, you may need to make sure you run 'bin/buildout …' after
'bin/develop …'. Try removing parts/*, bin/*, .installed.cfg, then re-bootstrap
and re-run buildout, develop, buildout.
Issue
-----
Missing PIL.
Fix ---
pil.cfg is include within this buildout to aid in PIL installation. Run
bin/buildout -c pil.cfg to install. This method does not work on Windows, so
we're unable to run it by default.
Issue
-----
bin/develop status is showing that the Products.CMFActionIcons egg has been
modified, but I haven't touched it. And this is preventing bin/develop up
from updating all the eggs.
Fix
---
Edit ~/.subversion/config and add eggtest*.egg to the list of global-ignores