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

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

 



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


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




[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