Fellow packagers, after some discussions in our team, we figured that it would be neat if we could build python modules for Python 2 and 3 from a single spec file. Now that a great deal of python modules work with both pythons, this makes a lot of sense. A good deal of work can be done by RPM macros. Then we could even seamlessly start building modules for PyPy, Jython and other pythons. A sample specfile, and the corresponding set of RPM macros, is attached. As you can see, the appropriate subpackage is generated automatically by %python_subpackages, build and install steps are handled through %python_build and %python_install respectively. There is some more magic involved, as well as possibilities for customization. There is a minor problem with BuildRequires. As long as you only need python-devel, it's not too bad to just list $flavor-devel requirements by hand. It's worse when you require more subpackages, because then you need all of them in both python2 and python3 versions. It would be nice to be able to specify %{python_require Mako} and expand that to all the necessary BuildRequires, but OBS blocks us here, because the limited environment will not expand such macros. mls, ro, or anyone from the OBS team, would it be possible to solve this? Still, it basically doesn't matter if you list all the BuildRequires twice in one spec or in two specs, so there. Another thing I'm still unclear on are the filelists. It's certainly possible to make a generic filelist, something along the lines of: %package -n %flavor-%modname # python3-Mako %defattr(-, root, root) %{%flavor_sitelib}/* %{%flavor_sitearch}/* but this doesn't solve docs and possible other files. Again, obviously, we can write the filelists by hand. But if you have good suggestions for some smart macros here, I'd love to see them. What do you folks think? Comments, questions? m.