<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Manuel Amador (Rudd-O) wrote:
<blockquote cite="mid200903121611.21771.rudd-o@rudd-o.com" type="cite">
<meta name="qrichtext" content="1">
<style type="text/css">p, li { white-space: pre-wrap; }</style>El
Miércoles 11 Marzo 2009, Gerry Reno escribió:<br>
<p style="margin: 0px; text-indent: 0px;"><br>
</p>
> Ok, Mandriva comes to mind. It's policy is different and allows
more<br>
> flexibility than Fedora's.<br>
<p style="margin: 0px; text-indent: 0px;"><br>
</p>
Well, would you be so kind to link the Mandriva policy for us to read
about it?<br>
</blockquote>
Mandriva link: <a class="moz-txt-link-freetext" href="http://wiki.mandriva.com/en/Policies/RpmSpecProposal">http://wiki.mandriva.com/en/Policies/RpmSpecProposal</a><br>
<br>
You're failing to keep in mind that Fedora is not the only distro out
there that is RPM-based.<br>
Mandriva is just one of many other RPM-based distros that have
packaging policies different from Fedora. <br>
<br>
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.<br>
<br>
<br>
<br>
<blockquote cite="mid200903121611.21771.rudd-o@rudd-o.com" type="cite">
<p style="margin: 0px; text-indent: 0px;"><br>
</p>
><br>
> Besides, policies are meant for humans. And policies change. We
don't<br>
> need distro policies hard-coded into Distutils. That makes for
brittle<br>
> code.<br>
<p style="margin: 0px; text-indent: 0px;"><br>
</p>
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.<br>
</blockquote>
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.<br>
<br>
<br>
<blockquote cite="mid200903121611.21771.rudd-o@rudd-o.com" type="cite">
<p style="margin: 0px; text-indent: 0px;"><br>
</p>
> Why? A distro's policy is defined for 'human' behavior for users of<br>
> that distro. Users of distro X should not be hostage to policies of<br>
> distro Y. 'version' and 'release' should be formatted by humans for<br>
> whatever distro is the target. There should be no enforcement of
any<br>
> distro's 'packaging policy' over the fields.<br>
<p style="margin: 0px; text-indent: 0px;"><br>
</p>
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. </blockquote>
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.<br>
<br>
<br>
<blockquote cite="mid200903121611.21771.rudd-o@rudd-o.com" type="cite">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. </blockquote>
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.<br>
<br>
<blockquote cite="mid200903121611.21771.rudd-o@rudd-o.com" type="cite">Do
you have an alternative solution? </blockquote>
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.<br>
<br>
<br>
Regards,<br>
Gerry<br>
<br>
</body>
</html>