Monday, August 26, 2024

[389-users] Re: Help building rpm for Oracle Linux 9

Antonis Kopsaftis wrote:
> Hello,
>
> I'm trying to build the rpm packages for 389 directory server from
> source on an Oracle Linux 9 x64 server following the instructions from
> the page: https://www.port389.org/docs/389ds/development/building.html
> I have zero experience in building rpms.
>
> The steps that i followed are:
> 1) download source tarball (either 389-ds-base-2.5.2.tar.bz2
> <https://github.com/389ds/389-ds-base/releases/download/389-ds-base-2.5.2/389-ds-base-2.5.2.tar.bz2>
> and 389-ds-base-2.4.6.tar.bz2
> <https://github.com/389ds/389-ds-base/releases/download/389-ds-base-2.4.6/389-ds-base-2.4.6.tar.bz2>)
> 2) untar tarball (in folder /usr/local/src/)
> 3) install dependencies with the command: dnf install `grep
> "^BuildRequires" rpm/389-ds-base.spec.in | awk '{print $2}' | sed -e
> "s/%{python3_pkgversion}/3/"`
>
> 4) Try to make the rpms with the command: SKIP_AUDIT_CI=1 make -f rpm.mk
> rpms
>
> After running the above command, the compiles finished successfully but
> the rpm building fails.
> The error is the following:
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> ....
> ============================================================================
> Testsuite summary for dirsrv 1.0
> ============================================================================
> # TOTAL: 1
> # PASS:  1
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  0
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> make[4]: Leaving directory
> '/usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILD/389-ds-base-2.4.6'
> make[3]: Nothing to be done for 'check-local'.
> make[3]: Leaving directory
> '/usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILD/389-ds-base-2.4.6'
> make[2]: Leaving directory
> '/usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILD/389-ds-base-2.4.6'
> make[1]: Leaving directory
> '/usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILD/389-ds-base-2.4.6'
> + RPM_EC=0
> ++ jobs -p
> + exit 0
> Processing files: 389-ds-base-2.4.6-202408240939.el9.x86_64
> error: File must begin with "/": %{bash_completions_dir}/ds-replcheck
> Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.Cs058a
> + umask 022
> + cd /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILD
> + cd 389-ds-base-2.4.6
> +
> DOCDIR=/usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/doc/389-ds-base
> + export LC_ALL=C
> + LC_ALL=C
> + export DOCDIR
> + /usr/bin/mkdir -p
> /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/doc/389-ds-base
> + cp -pr LICENSE
> /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/doc/389-ds-base
> + cp -pr LICENSE.GPLv3+
> /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/doc/389-ds-base
> + cp -pr LICENSE.openssl
> /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/doc/389-ds-base
> + cp -pr README.jemalloc
> /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/doc/389-ds-base
> + RPM_EC=0
> ++ jobs -p
> + exit 0
> Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.Mp5ir0
> + umask 022
> + cd /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILD
> + cd 389-ds-base-2.4.6
> +
> LICENSEDIR=/usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/licenses/389-ds-base
> + export LC_ALL=C
> + LC_ALL=C
> + export LICENSEDIR
> + /usr/bin/mkdir -p
> /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/licenses/389-ds-base
> + cp -pr COPYING.jemalloc
> /usr/local/src/389-ds-base-2.4.6/rpmbuild/BUILDROOT/389-ds-base-2.4.6-202408240939.el9.x86_64/usr/share/licenses/389-ds-base
> + RPM_EC=0
> ++ jobs -p
> + exit 0
>
>
> RPM build errors:
>     File must begin with "/": %{bash_completions_dir}/ds-replcheck
> make: *** [rpm.mk:140: rpms] Error 1
> [root@dsdev 389-ds-base-2.4.6]#

You are missing this macro:
%bash_completions_dir %{_datadir}/bash-completion/completions

where

%_datadir %{_prefix}/share

You might be able to skip the file altogether but you'll miss out on the
tab completion in the tooling which is quite nice.

YMMV.

rob

--
_______________________________________________
389-users mailing list -- 389-users@lists.fedoraproject.org
To unsubscribe send an email to 389-users-leave@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/389-users@lists.fedoraproject.org
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

No comments:

Post a Comment