[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Python versions and bytecode



On Thu, Mar 07, 2002 at 02:19:25PM +1000, Anthony Towns wrote:
> On Thu, Mar 07, 2002 at 10:49:48AM +1100, Donovan Baarda wrote:
> > On Wed, Mar 06, 2002 at 10:38:22AM +0100, Josselin Mouette wrote:
> > Currently, you have the following options;
> > 3) Use "Depends: python (>=2.1)", and tell everyone they must run
> > "dpkg-reconfigure <yourpackage>" after every default python upgrade. 
> 
> Uh, no, you don't have this option. This is only okay if you're distributing
> a script that's fully expected to work without changes in future versions of
> python.

That's why I qualified it with;

"... Note that if python is upgraded to a version that doesn't work for your
package, this alternative will not flag the problem. Instead you will get
bug-reports from end users. You can indicate an upper version limit if you
want to package to break beyond a certain version."

I see now I stuffed up my grammar a bit though :-) It should read something
like;

"Note that if the default python is upgraded to a version that is
incompatible with your package, the incompatibility will not be indicated by
these dependancies, and your package will cause problems. This can be avoided
by instead specifying a range of known-to-work python versions with
'Depends: python (>=2.1), python (<<2.3)'."

I think you might have been refering to the fact that dpkg has no way to
"tell everyone they must run "dpkg-reconfigure <yourpackage>" after every
default python upgrade". This is the big flaw... it _must_ be done to
recompile the modules, and it can only be done by end-users, who must
remember to do it, as there will be no prompts. So yeah, option 3) is flawed
to the point of being broken, but it's currently the only one that avoids
package upgrades to just fix dependancies.

BTW, I was recently looking at a comparison of rpm and deb packaging, and
noticed that rpm's support "triggers". These are scripts that are executed
when some other package changes. This would be a useful feature to implement
re-compiles when python changes. It also supports "ghost files" which are
files not included in a package, but created by it, which would be a nice
way to register *.py[co] files with dpkg.

-- 
----------------------------------------------------------------------
ABO: finger abo@minkirri.apana.org.au for more info, including pgp key
----------------------------------------------------------------------



Reply to: