Python guidelines cleanup

Jason L Tibbitts III tibbs at math.uh.edu
Tue Jul 28 05:02:45 UTC 2015


As many of you may be aware, FPC has been fielding several tickets
surrounding python packaging lately, and the last one was a sizable
reorganization that unfortunately was based on an older version of the
guidelines.  While merging it all together I just said screw it and just
cleaned up the page like I've always wanted to do.

I suggest anyone who hasn't lost sanity due to this whole guidelines
revision process pile onto:
https://fedorahosted.org/fpc/ticket/552#comment:4

Here's the contents of that comment to save you a click.

OK, this was a lot of stuff, and the more I worked on it, the more
annoyed I became.  Plus the wiki kept eating my edits and I kept getting
lost in the overhuge page.  So, I've probably gone too far in cleaning
up but I'll present what I have and if people yell at me then I'll try
something less ambitious.

There are now three pages:
https://fedoraproject.org/wiki/User:Tibbs/PythonCleanup2
https://fedoraproject.org/wiki/Packaging:Python_F21
https://fedoraproject.org/wiki/User:Tibbs/PythonAppendix

The first page incorporates the following changes:
* Notes that these guidelines apply only to F22+ and EPEL7.  Points at
  the 2nd page for old guidelines.
* Includes the information about not retiring python-version-specific
  subpackages in stable releases.
* Makes BuildRequires: section much more succinct.
* Makes sure python2-foo provide is versioned, mentions
  %python_provide macro.
* Makes the macro table collapsible and collapsed by default.
* Remove EL6-specific cruft (it's in the old guidelines page).
* Move the parts of the byte compilation section that nobody ever uses
  off to the Appendix page.
* Make the single-rpm single-dir case the default.  Move the
  entire multiple-dir case to the appendix.
* Completely remove %with_python3 from the example spec.  We want people
  to build for python3.  People just paste this in without knowing why
  they would ever need it.  If you're using the new macros you can't
  just conditionalize for EL6 anyway.  This really makes the spec look
  nice.  Macro-izing the summary and description would make it look even
  nicer once the description gets longer than a line.
* Uses a generic "example" module as an example.  Two different approved
  proposals changed it to two different things; I just punted.
* Puts the example spec all together without a bunch of text and admons
  and whatnot in the middle.
* Moves the 2to3 section to the appendix.
* Simply refers to the eggs section.  That whole part at the bottom was
  quite awkward and I don't think most people even looked down that far.
* Loads and loads of typo fixes, grammar fixes, and cleanups.

The current main guideline page is now a bit over half the length it was
and on the page it's less because of the collapsed macro table.  I find
it to be far more readable, and the sample spec no longer turns my
stomach.

The old guidelines page is just as it was before writing up the new
macros, except that I added a short explanatory section at the top.

The appendix page conveniently holds things which we probably should
document but pretty much nobody would actually want to read without some
specific reason.

Functionally I do not believe I have gone beyond anything upon which we
voted but I wanted to toss this out there and see if anyone yells before
I copy it into place.  Been trying to get this done for three days now
and I think I'm finally there.

 - J<


More information about the python-devel mailing list