I'm a python neophyte, but I've been packaging some python packages and have questions about .pyo files. I've gotten various feedback about including them, not including them, and using %ghost on them. Can someone please explain what the issues are (both with arch and noarch packages)? Also, what does %ghost do?
Thanks!
On Thursday 11 August 2005 10:29, Orion Poplawski wrote:
I'm a python neophyte, but I've been packaging some python packages and have questions about .pyo files. I've gotten various feedback about including them, not including them, and using %ghost on them. Can someone please explain what the issues are (both with arch and noarch packages)? Also, what does %ghost do?
Arch/Noarch, it's the same. The issues have to do with whether they provide the bang vs. buck (buck being diskspace in this case) that you'd want. I think fedora-extras in general goes with the %ghost method because it was deemed that they don't.
%ghost deletes those files upon package removal. The reason you want %ghost is because if you run a python script that starts with:
#!/usr/bin/python -O
or
# python -O /usr/share/script/main.py
Then .pyo files will automatically litter your harddrive. %ghost will clean these up.
Currently, .pyo provides two optimizations:
1. (-O) some peephole bytecode optimization to improve startup. 2. (-OO) get rid of the docstrings to streamline the code.
#2 could be bad in that some testing relies on docstrings. -OO is never really used in packages.
#1 -- I heard that this may be just included without -O in a future release. I don't know. Depends on how pedantic the PowersThatBe want the bytecode to map against the code that's just been parsed/lexed.
Anyway, hope that helps. Policy is to %ghost .pyo for add-on modules in extras, I believe. (Although baseline python will always have .pyo in the lib directory.)
I for one, don't really care since were talking about saving kilobytes of diskspace... YMMV.
Jeff Pitman wrote:
%ghost deletes those files upon package removal. The reason you want %ghost is because if you run a python script that starts with:
So, %ghost says don't install these, and when they show up remove them on package removal?
Thanks!
On Thursday 11 August 2005 11:26, Orion Poplawski wrote:
Jeff Pitman wrote:
%ghost deletes those files upon package removal. The reason you want %ghost is because if you run a python script that starts with:
So, %ghost says don't install these, and when they show up remove them on package removal?
That is correct.
packaging@lists.fedoraproject.org