On Mon, Dec 5, 2011 at 10:50 PM, Claudio Freire
On Mon, Dec 5, 2011 at 6:40 PM, todd rme
wrote: I am working around the problem right now by making the packages conflict, but if I didn't it would fail for factory and is overwriting files for everything else.
Ok, why do you think the following would not work (regardless of prettiness):
%install python3 setup.py install --prefix=%{_prefix} --root=%{buildroot} mv %{buildroot}%{_bindir}/cxfreeze %{buildroot}%{_bindir}/cxfreeze3 python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
%files -n python3-%{mod_name} %defattr(-,root,root,-) %doc LICENSE.txt README.txt HISTORY.txt doc/%{mod_name}.html %{_bindir}/cxfreeze3
Even if it does work, we would have to do the same with many, if not most, other python packages, then change it again when python3 becomes the default, then change it yet again with python2 support is dropped. That doesn't seem like the most efficient approach, even ignoring what happens when python4 comes around and the whole process has to repeat. It looks like devel:languages:python alone has nearly a thousand packages, a significant fraction of which will need this. We are talking about a massive scalability issue here. Yeah, putting such a hack in single package is not a big deal, but putting it in hundreds of packages, and having to change it at least an additional 2 times for each package, is a much bigger deal. I haven't done a detailed check of how many packages have this issue, but amongst the admittedly small number of packages I have looked at all of them have it. So I think an approach that minimizes the amount of additional work needed would be a huge benefit. That is an advantage of putting things in a different directory, it means that the only things that need changing are python3 and/or python3-base and the handful of python3 packages that are currently available, and those changes will only be in the %file lists. All other packages will require no additional lines in the spec file beyond those that would be needed to build and list the python 3 versions of the files. At worst the python 2 versions of packages will require a one-time find/replace from %{_bindir} to %{python_bindir} or something like that (note that the name-change you suggest approach will also require that the python2 versions be renamed down the road). -Todd -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org