All attempts to use "path-from-version" implicitly
assume that certain conventions are followed
widely and "portably", which simply isn't true.
For one perfectly sane counter-example:
RPM embeds python and so is a python interpreter
that doesn't follow "standard" linux conventions.
I'm quite sure that there are lots of other examples of
failure modes in non-linux, where a Mac can potentially
have up to 4 python interpreters, each with different
version, on different paths.
Adding linux advocacy insanities that b00ger up "portability"
and generality just creates problems, doesn't solve anything
And what _REALLY_ needs to be done with python eggs (and CPAN and CTAN
and gems and Firefox modules and ...) is to do a lazy registration
into an rpmdb of whatever the various forms of software are choosing
There's nothing whatsoever stopping opaque scriptlets from undertaking
whatever actions they choose, including dynamically downloading additional
modules, compiling into binary forms, rebuilding cache indexes, updating
records in databases, and other complex state changes.
I really do _NOT_ see the need for additional forms of dependency
extraction that simply will NOT "work".
Not that automated python dependency extraction (now conventionally
extended to python eggs) has _EVER_ done anything meaningfully useful:
Requires: python(abi) = X.Y
is so so so so so so feeble and unreliable, creates Yet More Snarls
in "dependency hell" that force endless rebuilds and downloads
and upgrades for no purpose other than to pretend that some useful
function is being preformed by linux "community" based distros that
are trained to detect and report flaws, but are not able to identify
that the whole scheme is smoke-and-mirrors and increasingly useless.
73 de Jeff
On Jun 7, 2011, at 9:13 AM, Per Řyvind Karlsen wrote:
> RPM Package Manager, CVS Repository
> Server: rpm5.org Name: Per Řyvind Karlsen
> Root: /v/rpm/cvs Email: firstname.lastname@example.org
> Module: rpm Date: 07-Jun-2011 15:13:31
> Branch: rpm-5_3 Handle: 2011060713133001
> Modified files: (Branch: rpm-5_3)
> rpm CHANGES
> rpm/scripts pythoneggs.py
> don't pick up python version from python egg, rely on path only in stead to
> avoid incorrect version dependencies if any other egg metadata for other
> versions is found.
> Revision Changes Path
> 1.3296.2.236+4 -1 rpm/CHANGES
> 126.96.36.199 +7 -6 rpm/scripts/pythoneggs.py
> patch -p0 <<'@@ .'
> Index: rpm/CHANGES
> $ cvs diff -u -r1.3296.2.235 -r1.3296.2.236 CHANGES
> --- rpm/CHANGES 2 Jun 2011 17:22:47 -0000 1.3296.2.235
> +++ rpm/CHANGES 7 Jun 2011 13:13:30 -0000 1.3296.2.236
> @@ -1,5 +1,8 @@
> 5.3.12 -> 5.3.13
> - - mdawkins: updated changelog in rpm.spec.in
> + - proyvind: don't pick up python version from python egg, rely on path
> + only in stead to avoid incorrect version dependencies if any other
> + egg metadata for other versions is found.
> + - mdawkins: updated changelog in rpm.spec.in
> - mdawkins: tagged 5.3.12 release in configure.ac
> 5.3.11 -> 5.3.12
> @@ .
> patch -p0 <<'@@ .'
> Index: rpm/scripts/pythoneggs.py
> $ cvs diff -u -r188.8.131.52 -r184.108.40.206 pythoneggs.py
> --- rpm/scripts/pythoneggs.py 25 Jan 2011 21:56:58 -0000 220.127.116.11
> +++ rpm/scripts/pythoneggs.py 7 Jun 2011 13:13:31 -0000 18.104.22.168
> @@ -106,12 +106,13 @@
> py_abi = False
> if name in py_deps:
> - elif py_abi and dist.py_version:
> - if not name in py_deps:
> - py_deps[name] = 
> - spec = ('==', dist.py_version)
> - if not spec in py_deps[name]:
> - py_deps[name].append(spec)
> + # disabled: pick up python version from directory path only
> + #elif py_abi and dist.py_version:
> + # if not name in py_deps:
> + # py_deps[name] = 
> + # spec = ('==', dist.py_version)
> + # if not spec in py_deps[name]:
> + # py_deps[name].append(spec)
> deps = dist.requires()
> if Suggests:
> depsextras = dist.requires(extras=dist.extras)
> @@ .
> RPM Package Manager http://rpm5.org
> CVS Sources Repository email@example.com
Received on Tue Jun 7 16:19:12 2011
- application/pkcs7-signature attachment: smime.p7s