RPM Community Forums

Mailing List Message of <rpm-devel>

Re: [CVS] RPM: rpm-5_3: rpm/ CHANGES rpm/scripts/ pythoneggs.py

From: Jeff Johnson <n3npq@mac.com>
Date: Tue 07 Jun 2011 - 16:19:00 CEST
Message-id: <57F0EB71-5716-4581-93BF-9F1815C673F7@mac.com>
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
whatsoever.

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
to use.

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.

hth

73 de Jeff
On Jun 7, 2011, at 9:13 AM, Per Řyvind Karlsen wrote:

>  RPM Package Manager, CVS Repository
>  http://rpm5.org/cvs/
>  ____________________________________________________________________________
> 
>  Server: rpm5.org                         Name:   Per Řyvind Karlsen
>  Root:   /v/rpm/cvs                       Email:  pkarlsen@rpm5.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
> 
>  Log:
>    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.
> 
>  Summary:
>    Revision    Changes     Path
>    1.3296.2.236+4  -1      rpm/CHANGES
>    1.2.2.3     +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 -r1.2.2.2 -r1.2.2.3 pythoneggs.py
>  --- rpm/scripts/pythoneggs.py	25 Jan 2011 21:56:58 -0000	1.2.2.2
>  +++ rpm/scripts/pythoneggs.py	7 Jun 2011 13:13:31 -0000	1.2.2.3
>  @@ -106,12 +106,13 @@
>                   py_abi = False
>                   if name in py_deps:
>                       py_deps.pop(name)
>  -            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                                rpm-cvs@rpm5.org



  • application/pkcs7-signature attachment: smime.p7s
Received on Tue Jun 7 16:19:12 2011
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.