Re: [pyblosxom-users] packaging issues

Wari Wahab <[email protected]>
Newsgroups gmane.comp.web.pyblosxom.devel,gmane.comp.web.pyblosxom.user
Message-ID <[email protected]>
Colin Walters wrote:

>I have created Debian packages, and they are currently waiting in the
>new package queue to be installed into the archive.  However, there are
>a few issues which if fixed would make my life easier as a packager.
>  
>
Wow, that's a great thing :) I'd love to be able to `apt-get install 
pyblosxom` :)

>One of the first I noticed was pyblosxom has a module named 'libs'. This
>is a pretty generic name.  I was originally going to put the pyblosxom
>libs/* files in /usr/lib/python2.2/site-packages/, but that would have
>intruded on the namespace too much, I think.  Could we rename 'libs' to
>'pyblosxom'?  That way other packages can more easily use the classes
>without having to futz with their sys.path.
>
Annoying ain't it? :(  That's for being extreme myopic, not knowing that 
pyblosxom would be used by more than, erm, me.. Actually for 0.8 (or 
planned future versions) the developers and I planned to make pyblosxom 
dist-utils friendly, so that you can have pyblosxom core installed in 
the system and users wishing to use it, would just need pyblosxom.cgi 
and config.py to get things working. You can then install pyblosxom in 
/usr/lib/python2.2/site-packages/PyBlosxom, or something like that. I've 
just got aquainted with dist-utils and have actually fallen in love with 
it :) Python makes it easy to do RPMs and Windows installers.

>Secondly, it would be cool if the default pyblosxom.cgi looked for an
>/etc/pyblosxom/config.py by default.
>
Problem is it involves doing python module import gymnastics.. But 
anyway, I'll let config.py be where pyblosxom.cgi (or whatever we wish 
to name it) is. The package should prbably include something like a 
config.py-dist.

>Now, the hairiest issue is plugins.  I'm not even sure where to put
>them.  Probably something like /usr/lib/pyblosxom/plugins.  
>
One of the things I want to do is to have user configurable plugin 
location. Then pyblosxom would really be installable site wide, and let 
users have their share of plugins. Then the rest of the plugins in 
contrib can be located at, say, /usr/share/pyblosxom/contrib, along with 
the license and readme files.

>Now, what I
>am thinking of is a setup like Apache2, which uses symlinks to
>enable/disable plugins (modules).  For example, we'd have:
>
>/usr/lib/pyblosxom/plugins-available/conditionalhttp.py
>And then to enable it, the user would do:
>cd /usr/lib/pyblosxom/plugins-enabled && ln -s ../plugins-available/conditionalhttp.py .
>
Plugins are already symlinkable.

>Or alternatively, a user would have to explicitly enable plugins in
>their config.py.  I like the former more though.
>
>One very minor issue; currently as far as I can tell there is no COPYING
>or LICENSE file included in the source.  The closest I could find was an
>__license__ = "Python".  It would be nice if the full text of the Python
>license was included in the pyblosxom distribution (and probably would
>be better from a legalistic standpoint too).
>  
>
I've been bugged by Will to about this :)

>Finally, I just want to say thanks for pyblosxom, it was an easy drop-in
>replacement for blosxom.
>
Tell you what, if I have more than five votes (you need three more:) of 
the major changes in pyblosxom, I'd do it and release Beta2 (or RC1?): 
Here's the things to do:

1. Rename libs to PyBlosxom (or something like that), along with the 
rename, this means changes to how everything import modules from libs/. 
The change is not as simple as just renaming the directories.
2. Update the previous docs that references libs/
3.  Kill off libs/plugins/__init__.py and rename it to 
PyBlosxom/plugins.py, plugins.py should be modified a bit to load 
plugins from a specified location, and the location should not ever need 
to have and __init__.py file at all (python module importing gymnastics 
made possible) I'll need Will's help for this a bit, so hope that he 
votes for it too.
4. Include some COPYING or LICENCE files (Could you include some example 
ones Colin?)
5. Create a nice dist-utils setup.py and setup.cfg files so that 
pyblosxom can be installed site-wide.

So developers (and users) do I have your votes? What this really mean 
for most of you is simplified installations of pyblosxom and plugins. 
Does really mean a bit more work for plugin developers (not really) and 
some work for pyblosxom developers, that of course will delay the 
release a bit (think of the new installation documentations).

And of course, this also means, install.exe's, RPMs and DEBs for users 
too afraid to touch setup.py.



-------------------------------------------------------
This SF.net email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software. http://www.objectstore.net/sourceforge
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.