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