Hi Neal, all, On Tue, 2020-08-04 at 07:42 -0400, Neal Gompa wrote: > On Tue, Aug 4, 2020 at 7:32 AM Till Hofmann <thofmann@xxxxxxxxxxxxxxxxx> wrote: > > Hi all, > > > > I have a number of packages that are FTBFS due to > > https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds. > > > > None of my packages has seen any commits for that change. I've read on > > the list that packages that are considered "a complete mess" are not > > touched. Are all my packages "a complete mess"? > > > > More seriously, are we expected to fix this ourselves? What happened to > > "proposal owners will fix as many Fedora packages as possible"? Should I > > just re-assign the bug to cmake? > > > > I don't generally mind fixing my packages, but I'm confused by the lack > > of communication here. > > There are only a few packages that were considered a complete mess, > mostly packages that did crazy build process scripting in the %build > and %install sections. Most packages don't fall in that category. > Basically if I can't understand how it works, I don't want to touch > it. > > The reason yours hadn't been touched yet is because neither Igor nor > myself managed to get to yours before the mass rebuild. > > It would be ideal if you can fix your own packages if we hadn't gotten > to them, as you know your packages. :) > > The general advice I would give is that if you did the following: > > %cmake . > %make_build > %make_install > > Then you should change it to the following: > > %cmake > %cmake_build > %cmake_install > > (Note the lack of "." as an argument to %cmake) > > If you are doing something like the following: > > mkdir -p %{_target_platform} > pushd %{_target_platform} > %cmake .. > popd > > %make_build -C %{_target_platform} > %make_install -C %{_target_platform} > > Or like the following > > mkdir -p %{_target_platform} > pushd %{_target_platform} > %cmake .. > popd > > pushd %{_target_platform} > %make_build > popd > pushd %{_target_platform} > %make_install > popd > > Then you should do the following: > > %undefine __cmake_in_source_build > > %cmake > %cmake_build > %cmake_install What if I build for multiple platforms at the same time? E.g. in dnf we have: %build %if %{with python2} pushd build-py2 %cmake -DPYTHON_DESIRED:FILEPATH=%{__python2} -DDNF_VERSION=%{version} %cmake_build make doc-man popd %endif %if %{with python3} pushd build-py3 %cmake -DPYTHON_DESIRED:FILEPATH=%{__python3} -DDNF_VERSION=%{version} %cmake_build make doc-man popd %endif Do the new macros handle this case as well or do I need to stick to the old way (with defining the variable)? Cheers, Lukas > The %undefine is only needed if you reuse your spec on F32 and older > (including EPEL). Note that EPEL7 with cmake3 requires also undefining > %__cmake3_in_source_build, since all macros use "cmake3" instead of > "cmake" in that instance. > > -- > 真実はいつも一つ!/ Always, there's only one truth! > _______________________________________________ > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx > Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx