Manuel Amador (Rudd-O) wrote:
El Miércoles 11 Marzo 2009, Gerry Reno escribió:
> Ok, Mandriva comes to mind. It's policy is different and allows more
> flexibility than Fedora's.
Well, would you be so kind to link the Mandriva policy for us to read
about it?
Mandriva link:
http://wiki.mandriva.com/en/Policies/RpmSpecProposal
You're failing to keep in mind that Fedora is not the only distro out
there that is RPM-based.
Mandriva is just one of many other RPM-based distros that have packaging
policies different from Fedora.
Again, the core software should not enforce one distros packaging
policies. If you want to perform some type of check for a particular
distro then that should be done through an extension module and there
should be a special command line option to trigger it
--enforce-fedora-packaging-policy.
>
> Besides, policies are meant for humans. And policies change. We don't
> need distro policies hard-coded into Distutils. That makes for brittle
> code.
So what you're saying, in effect, translates to "sorry, man, you
cannot build your Plone packages for RPM distributions, nor can
anybody else build any sort of pre-release eggs either". Well, sorry,
man, that's not acceptable.
Why do you keep saying this? What is preventing
you (the human) from
filling in the version and release fields with "fedora-compliant
strings"? The core software does not have to know anything about
fedora. But you do.
> Why? A distro's policy is defined for 'human' behavior for users of
> that distro. Users of distro X should not be hostage to policies of
> distro Y. 'version' and 'release' should be formatted by humans for
> whatever distro is the target. There should be no enforcement of any
> distro's 'packaging policy' over the fields.
Policy schmolicy, the current distutils behavior builds pre-release
RPMs that UPGRADE final release packages, which is broken and stupid
because distutils ought to be taking care of the impedance mismatch
between python-style versioning and RPM-style lexicographical
versioning, but it doesn't.
That's a lexical ordering problem. That
should be fixed by the human
making sure that he declares the version and release with proper strings.
I have a solution that works in fedora, rhel and centos, and likely
works just as well on other RPM distros including Mandriva and SUSE.
Your solution
LIMITS the version and release strings to ONLY fedora
packaging style. Mandriva users don't want that. They want to build
RPM according to their own packaging policy for Mandriva but your patch
will not let them because it enforces fedora policy. THAT'S WRONG.
Do you have an alternative solution?
Yes, I do. Remove all
artificial restriction on formatting on the
'version' and 'release' strings. All that's necessary is for both
the
'version' and 'release' strings to be available to all the distribution
command which it is not at the moment. That's it. Nothing else is
necessary. If you want to do some policy enforcing thing, then put
it in some type of optional extension called from a special command line
option.
Regards,
Gerry