Saturday, August 24, 2024

[389-users] Re: Help building rpm for Oracle Linux 9 (solved) - Question of which version to choose.

Hello,

Problem solved after installing the following packages(especially the epel-rpm-macros):
1) rpmdevtools
2) rpmlint
3) epel-rpm-macros


I would also like to ask you opinion of which 389DS version to choose for a production environment (a two-node multimaster cluster with 130.000 users mainly used for authentication).
The last 4 months i am doing tests on a stage two-node cluster based on Oracle Linux 9 and 389ds 2.2.9-2 from the copr repository. The testing environment seems to run without any problems, but as the copr repo does not seem to be updated regularly , i decided to try to create my own rpms from source.

As most of the LTS distros (Oracle linux 9 & ubuntu noble LTS) choose to use the 2.4.x version i thinking of using 2.4.6 or maybe 2.5.2.
Debian stable is using 2.3.1 (with the last package update to be Jun 2023) which is pretty old.

Regards,
Antonis Kopsaftis

PS: I cannot use the standard 389-ds packages that comes with OL8 or OL9 distro as the cockpit-389-ds package is not included.

On 24/8/2024 1:11 μ.μ., 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 and 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]#

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

The same error occur with the 2.5.2 version of the sources.
At first the procedure ended with a different error, but i manage to overcome it by installing the rpm-build package.

Regards,
Antonis Kopsaftis


--



--

No comments:

Post a Comment