El Miércoles 11 Marzo 2009, Gerry Reno escribió:Mandriva link: http://wiki.mandriva.com/en/Policies/RpmSpecProposal
> 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?
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.>
> 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.
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.> 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.
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.