2008/7/1 rupert....@gmail.com <rupert....@gmail.com>:
--
And the next thing you know, you're at the zoo, shaving a yak,
all so you can wax your car.
I don't get it.
Wasn't setuptools meant for using simple .egg files (at least most of my
plugins are in zipfiles, even they contain shared data) and in runtime
setuptools extracts plugins (and staticdata) to some temporary directory
(egg-cache).
So there is something incorrect in above statement.
Actually now that I look my plugins only EGG that is installed as
extracted is Trac itself for some reason...
Altough that shouldn't be necessary since to get static resources out -
user is required to run "deploy" command to extract static data from .egg.
Which makes me wonder how system can cope with several trac-admin/tracd
scripts...
--
Jani Tiainen
How they get accessed from zipped eggs?
Like Timing and Estimation that I've installed, it's single egg file, it
contains at least one template and still it works, so there must be way
better explanation. Maybe Trac does something for plugins that are
beyond of capabilities of setuptools so plugins don't need to be extracted?
>> Which makes me wonder how system can cope with several trac-admin/tracd
>> scripts...
>
> Quite simple actually - there can only be one... The scripts are very
> simple though, and just loads everything from the active egg (as seen
> in site-packages/easy_install.pth).
But how you spesify which trac to run... Let's think that I've two
versions in my system: 0.11-stable to run production and 0.12-dev now
how I can tell which one to run?
Since this new "deploy" was meant for side-by-side installation of
several versions of Trac...
Quoting Noah about that one:
"
In short: we cannot have a single global data folder like that anymore
since to be compliant with the spirit of setuptools we need to allow
things like multiple versions installed concurrently. In fact we
cannot install anything outside the egg. trac-admin deploy will
extract/generate the content you need, and since it is manual,
hopefully you won't overwrite one version's data with another :)
"
Deploy really doesn't extract templates, which actually were part of old
"/usr/share/trac" tree.
--
Jani Tiainen
>
> Alec Thomas kirjoitti:
>> This occurs because Trac's static content and templates are shipped
>> within the egg. They must be accessible for normal file access and
>> thus the egg must be unpacked, or cracked open, if you like.
>
> I don't get it.
>
> Wasn't setuptools meant for using simple .egg files (at least most
> of my
> plugins are in zipfiles, even they contain shared data) and in runtime
> setuptools extracts plugins (and staticdata) to some temporary
> directory
> (egg-cache).
Yes, however this is 1) slower and 2) more likely to result in the
famous PYTHON_EGG_CACHE errors. It is tricky to make sure the egg
cache variable gets set correctly, as seen by the current issues with
zipped eggs and Genshi, so this just side steps the problem for now.
If you aren't using mod_python you could probably remove
zip_safe=False with no ill effects.
>
>
> So there is something incorrect in above statement.
>
> Actually now that I look my plugins only EGG that is installed as
> extracted is Trac itself for some reason...
>
> Altough that shouldn't be necessary since to get static resources
> out -
> user is required to run "deploy" command to extract static data
> from .egg.
>
> Which makes me wonder how system can cope with several trac-admin/
> tracd
> scripts...
As long as you used differing exec prefixes (so the scripts won't
overwrite each other) it will work fine.
--Noah
Actually pkg_resources supports reading the content files directly
from the zip, we force it to extract to cache by asking for a path to
the package_data file instead of just getting the content. The reason
not all plugins show up in the cache is generally only templates and
htdocs content is stored in this manner, so a plugin with neither will
operate directly from the egg.
--Noah