On Thu, Jan 23, 2025 at 2:00 PM Didier Fabert <didier.fabert@xxxxxxxxx> 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@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 Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue