As discussed on IRC today, %doc and %py3dir don't work well together in the %files section of a specfile for a package that creates a python3 subpackage using the current set of macros and the current version of the py3 packaging draft. I'd expect to be able to use something like this: %files ... %doc README %doc docs/_build/html ... %files -n python3-foo ... %doc %{py3dir}/README %doc %{py3dir}/docs/_build/html ... While one could easily argue that README should be the same for the main package and the python3 subpackage, the documentation build during the %build phase might differ a bit, and so one would like to install the 'correct' one. The skeleton above doesn't work, because %doc, when used to copy files to the %buildroot, expects a path relative to build dir, and %py3dir currently yields an absolute path that is not a subdirectory of the build dir for the main package. There were different ideas to work around the issue: - copy doc files manually in %install, use %doc only to mark them as being documentation - make %py3dir a subdirectory of the build dir, not a sibling - invent a %py3doc macro that does the right thing - ...
(Seem to have lost my IRC logs from earlier, alas) From memory, some additional approaches were: - split %{py3dir} into %{abs_py3dir} and %{rel_py3dir} (though it wasn't clear that a %{rel_py3dir} would actually work with %doc if it's not within the main source tree - mktemp to build a dir inside the source tree for the python build and define py3dir in terms of that
This bug appears to have been reported against 'rawhide' during the Fedora 13 development cycle. Changing version to '13'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Ping?
This message is a reminder that Fedora 13 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 13. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '13'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 13's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 13 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Fedora 13 changed to end-of-life (EOL) status on 2011-06-25. Fedora 13 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed.
Oops; reopening
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle. Changing version to '19'. (As we did not run this process for some time, it could affect also pre-Fedora 19 development cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.) More information and reason for this action is here: https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
We also have an FPC ticket on a related issue: https://fedorahosted.org/fpc/ticket/435 Seems like we should do this: - mktemp to build a dir inside the source tree for the python build and define py3dir in terms of that Do others concur?
There's a small thing to keep in mind: Some packages run their test suite (e.g. via nosetests) from the top-level build directory. If the py3dir becomes a subdir of the builddir (instead of being a sibling), test suites might become confused.
One solution might be to use %setup -qcT -a 0 mv foo-version python2 cp -pr python2 python3 and have two copies of the source tree underneath: one for python2 and one for python3.
(In reply to Dominik 'Rathann' Mierzejewski from comment #11) > One solution might be to use > %setup -qcT -a 0 > mv foo-version python2 > cp -pr python2 python3 > > and have two copies of the source tree underneath: one for python2 and one > for python3. Yes, that is possible, but I'm afraid that this would mean additional pushd/popd commands when in %build, %install and %check for the python2 version (although I do admit it's more consistent). Because of this, I'd probably prefer making py3dir subdirectory of builddir. Thomas is right in comment 10 that this might break something. I'll try to find out if there's a potential problem here.
(In reply to Bohuslav "Slavek" Kabrda from comment #12) > (In reply to Dominik 'Rathann' Mierzejewski from comment #11) > > One solution might be to use > > %setup -qcT -a 0 > > mv foo-version python2 > > cp -pr python2 python3 > > > > and have two copies of the source tree underneath: one for python2 and one > > for python3. > > Yes, that is possible, but I'm afraid that this would mean additional > pushd/popd commands when in %build, %install and %check for the python2 > version (although I do admit it's more consistent). Additionally, the python2/ and python3/ prefixes are needed in the %files section for all %doc entries. Anyway, this variant has basically been made mandatory in the Python Packaging Guidelines now, and %py3dir is obsolete, so I think we can close this bug.