On 1/23/25 17:35, Elliott Sales de Andrade wrote:
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.)


I filed https://src.fedoraproject.org/rpms/cmake/pull-request/44 to set the SBINDIR macros.

--
Orion Poplawski
he/him/his  - surely the least important thing about me
IT Systems Manager                         720-772-5637
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       or...@nwra.com
Boulder, CO 80301                 https://www.nwra.com/
--
_______________________________________________
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