On Thu, Jan 23, 2025 at 2:00 PM Didier Fabert <didier.fab...@gmail.com> wrote:
>
> Hi there,
>
> I try to fix a ftbfs for netdata package and I don't know where exactly
> was the problem.
>
> I enabled 2 flags:
> - # Workaround for Missing build-id on go.d.plugin
>    %global _missing_build_ids_terminate_build 0
> - # We use some plugins which need suid grants
>    %global  _hardened_build 1
>
> In spec file, binaries are marked to be installed in %{_sbindir} and
> it's confirmed by log
>
> Build.log
>
> -- Installing:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/sbin/netdata
> -- Installing:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/sbin/netdata-claim.sh
> -- Installing:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/sbin/netdatacli
> -- Installing:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/sbin/log2journal
> -- Installing:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/sbin/systemd-cat-native
>
> But in the end of the build log, script search those binaries in %{_bindir}
>
> + /usr/bin/add-determinism --brp -j8
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT
> Scanned 324 directories and 1813 files,
>                 processed 18 inodes,
>                 0 modified (0 replaced + 0 rewritten),
>                 0 unsupported format, 0 errors
> But RPM check process wants them to be in %{_bindir}
> Processing files: netdata-2.2.0-1.fc42.x86_64
> error: File not found:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/bin/netdata
> error: File not found:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/bin/netdata-claim.sh
> error: File not found:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/bin/netdatacli
> error: File not found:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/bin/log2journal
> error: File not found:
> /builddir/build/BUILD/netdata-2.2.0-build/BUILDROOT/usr/bin/systemd-cat-native
>
> Did I miss something (missing global declaration, flag, etc ...)
>

It appears that netdata hard-codes `usr/sbin` for installation, e.g.,
https://github.com/netdata/netdata/blob/master/CMakeLists.txt#L99

Better practice would be to use GNUInstallDirs
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
for which there is a PR already, though not yet merged:
https://github.com/netdata/netdata/pull/17308

However, looking at the build log, I'm not sure that the %cmake macro
actually sets some of these (specifically, I don't see
`CMAKE_INSTALL_SBINDIR` in the log.)
This may be something missed in the change that Fabio posted earlier
(e.g., the Meson macros do set the equivalents there.)

> Thanks in advance
>
> Didier.
>
> --
> Didier FABERT
> TZ Europe/Paris
>
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to