Re: What to do about FTBFS because auf cmake change?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux