On Mon, Jun 25, 2012 at 1:55 PM, Sascha Peilicke
Considering all of the talk about improving openSUSE quality, and with 12.2 branched, I would like to discuss somewhat how to move forward with Python packaging in openSUSE.
There are three big things happening right now with Python for openSUSE.
[snip] The second is --record-rpm. This allows python to automatically list files that are then used by rpm file lists. As far as I understand this is an openSUSE-specific hack whose use is now discouraged. It also leads to some problems, especially if the upstream package name changed. If this understanding is correct, I think this should be officially deprecated, with a plan to remove it for 2 releases after 12.2. For the release after 12.2, I think it should go through a few stages. First, add an rpmlint warning about the use of this build option. After a couple months, upgrade the badness of this warning so it causes an automatic package failure. A few months after that, change the warning to an error. No packages in Factory should use the option. I think we shouldn't have much packages left that still use '--record-rpm'. Also, at least I remove that whenever I touch a
On 06/25/2012 11:12 AM, todd rme wrote: package.
Similarly, there is really no need for '--skip-build' when you do 'python setup.py install' in the %install phase when you already have a "python setup.py build" in %build. Setuptools is clever enough to not re-generate byte-code.
Lastly, "-O1" doesn't do anything useful either.
So add rpmlint warnings for all of these?
Finally, there is the use of the common %{python_sitelib}/* and %{python_sitearch}/* items in the rpm files list. These have been used a lot because they make packaging easier. However, they have the disadvantage, in my opinion, that there can be (and are) major changes in the upstream package, even complete name changes, that go undetected because these commands essentially match every possible python file. I think we should discourage this in the wiki, reject new packages that use it, and add an rpmlint warning for it, with the goal of removing this entirely from the next openSUSE release. Yes, actually they have been used to ease cross-distro building (due to inconsistent *.egg-info directory names), which unfortunately never took off in d:l:p.
I am fine with doing it either way but the exact file list isn't always easy to generate in scripts (in contrast to %{python_sitelib}/*).
Which in some ways may be a good thing. If the person who submitted the package can't handle making a %files list, the chances of them being able to fix the package later is slim.
So does anyone have opinions on these proposals? I know this is a big wall of text, so I can break it up into individual messages with different issues you think that would simplify reading or discussion. %py_requires is another one, it is still needed for SLE_11_SP2 (rpm is too old). But as I was basically the only one fixing build errors in d:l:p for quite a while and most of them where (and still are) for SLE, I think it would be ok to continue ignoring that...
There shouldn't be many simple fixes like this left for SLE 11 at least in d:l:p, I went through and fixed most such problems a while back. -Todd -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org