andykimpe / rpms / 389-ds-base

Forked from rpms/389-ds-base 5 months ago
Clone
4a43a0
4a43a0
%global pkgname   dirsrv
4a43a0
%global srcname   389-ds-base
4a43a0
4a43a0
# Exclude i686 bit arches
4a43a0
ExcludeArch: i686
4a43a0
4a43a0
# for a pre-release, define the prerel field e.g. .a1 .rc2 - comment out for official release
4a43a0
# also remove the space between % and global - this space is needed because
4a43a0
# fedpkg verrel stupidly ignores comment lines
4a43a0
#% global prerel .rc3
4a43a0
# also need the relprefix field for a pre-release e.g. .0 - also comment out for official release
4a43a0
#% global relprefix 0.
4a43a0
4a43a0
# If perl-Socket-2.000 or newer is available, set 0 to use_Socket6.
4a43a0
%global use_Socket6 0
4a43a0
4a43a0
%global use_asan 0
b8da0b
%global use_rust 1
4a43a0
%global use_legacy 1
4a43a0
%global bundle_jemalloc 1
4a43a0
%if %{use_asan}
4a43a0
%global bundle_jemalloc 0
4a43a0
%endif
4a43a0
4a43a0
%if %{bundle_jemalloc}
4a43a0
%global jemalloc_name jemalloc
4a43a0
%global jemalloc_ver 5.2.1
4a43a0
%global __provides_exclude ^libjemalloc\\.so.*$
4a43a0
%endif
4a43a0
4a43a0
# Use Clang instead of GCC
4a43a0
%global use_clang 0
4a43a0
4a43a0
# fedora 15 and later uses tmpfiles.d
4a43a0
# otherwise, comment this out
4a43a0
%{!?with_tmpfiles_d: %global with_tmpfiles_d %{_sysconfdir}/tmpfiles.d}
4a43a0
4a43a0
# systemd support
4a43a0
%global groupname %{pkgname}.target
4a43a0
4a43a0
# set PIE flag
4a43a0
%global _hardened_build 1
4a43a0
b8da0b
# Filter argparse-manpage from autogenerated package Requires
b8da0b
%global __requires_exclude ^python.*argparse-manpage
b8da0b
4a43a0
Summary:          389 Directory Server (base)
4a43a0
Name:             389-ds-base
51b5b9
Version:          1.4.3.28
51b5b9
Release:          %{?relprefix}6%{?prerel}%{?dist}
4a43a0
License:          GPLv3+
4a43a0
URL:              https://www.port389.org
4a43a0
Group:            System Environment/Daemons
4a43a0
Conflicts:        selinux-policy-base < 3.9.8
4a43a0
Conflicts:        freeipa-server < 4.0.3
4a43a0
Obsoletes:        %{name} <= 1.4.0.9
4a43a0
Provides:         ldif2ldbm >= 0
4a43a0
91ce38
##### Bundled cargo crates list - START #####
91ce38
Provides:  bundled(crate(ansi_term)) = 0.11.0
91ce38
Provides:  bundled(crate(atty)) = 0.2.14
91ce38
Provides:  bundled(crate(autocfg)) = 1.0.1
51b5b9
Provides:  bundled(crate(base64)) = 0.13.0
51b5b9
Provides:  bundled(crate(bitflags)) = 1.3.2
51b5b9
Provides:  bundled(crate(byteorder)) = 1.4.3
91ce38
Provides:  bundled(crate(cbindgen)) = 0.9.1
51b5b9
Provides:  bundled(crate(cc)) = 1.0.71
91ce38
Provides:  bundled(crate(cfg-if)) = 1.0.0
91ce38
Provides:  bundled(crate(clap)) = 2.33.3
51b5b9
Provides:  bundled(crate(entryuuid)) = 0.1.0
51b5b9
Provides:  bundled(crate(entryuuid_syntax)) = 0.1.0
51b5b9
Provides:  bundled(crate(fernet)) = 0.1.4
91ce38
Provides:  bundled(crate(foreign-types)) = 0.3.2
91ce38
Provides:  bundled(crate(foreign-types-shared)) = 0.1.1
51b5b9
Provides:  bundled(crate(getrandom)) = 0.2.3
51b5b9
Provides:  bundled(crate(hermit-abi)) = 0.1.19
51b5b9
Provides:  bundled(crate(itoa)) = 0.4.8
51b5b9
Provides:  bundled(crate(jobserver)) = 0.1.24
91ce38
Provides:  bundled(crate(lazy_static)) = 1.4.0
51b5b9
Provides:  bundled(crate(libc)) = 0.2.104
91ce38
Provides:  bundled(crate(librnsslapd)) = 0.1.0
91ce38
Provides:  bundled(crate(librslapd)) = 0.1.0
51b5b9
Provides:  bundled(crate(log)) = 0.4.14
51b5b9
Provides:  bundled(crate(once_cell)) = 1.8.0
51b5b9
Provides:  bundled(crate(openssl)) = 0.10.36
51b5b9
Provides:  bundled(crate(openssl-sys)) = 0.9.67
51b5b9
Provides:  bundled(crate(paste)) = 0.1.18
51b5b9
Provides:  bundled(crate(paste-impl)) = 0.1.18
51b5b9
Provides:  bundled(crate(pkg-config)) = 0.3.20
51b5b9
Provides:  bundled(crate(ppv-lite86)) = 0.2.14
51b5b9
Provides:  bundled(crate(proc-macro-hack)) = 0.5.19
51b5b9
Provides:  bundled(crate(proc-macro2)) = 1.0.30
51b5b9
Provides:  bundled(crate(quote)) = 1.0.10
51b5b9
Provides:  bundled(crate(rand)) = 0.8.4
51b5b9
Provides:  bundled(crate(rand_chacha)) = 0.3.1
51b5b9
Provides:  bundled(crate(rand_core)) = 0.6.3
51b5b9
Provides:  bundled(crate(rand_hc)) = 0.3.1
51b5b9
Provides:  bundled(crate(redox_syscall)) = 0.2.10
91ce38
Provides:  bundled(crate(remove_dir_all)) = 0.5.3
91ce38
Provides:  bundled(crate(rsds)) = 0.1.0
91ce38
Provides:  bundled(crate(ryu)) = 1.0.5
51b5b9
Provides:  bundled(crate(serde)) = 1.0.130
51b5b9
Provides:  bundled(crate(serde_derive)) = 1.0.130
51b5b9
Provides:  bundled(crate(serde_json)) = 1.0.68
91ce38
Provides:  bundled(crate(slapd)) = 0.1.0
51b5b9
Provides:  bundled(crate(slapi_r_plugin)) = 0.1.0
91ce38
Provides:  bundled(crate(strsim)) = 0.8.0
51b5b9
Provides:  bundled(crate(syn)) = 1.0.80
51b5b9
Provides:  bundled(crate(synstructure)) = 0.12.6
51b5b9
Provides:  bundled(crate(tempfile)) = 3.2.0
91ce38
Provides:  bundled(crate(textwrap)) = 0.11.0
91ce38
Provides:  bundled(crate(toml)) = 0.5.8
51b5b9
Provides:  bundled(crate(unicode-width)) = 0.1.9
51b5b9
Provides:  bundled(crate(unicode-xid)) = 0.2.2
51b5b9
Provides:  bundled(crate(uuid)) = 0.8.2
51b5b9
Provides:  bundled(crate(vcpkg)) = 0.2.15
91ce38
Provides:  bundled(crate(vec_map)) = 0.8.2
51b5b9
Provides:  bundled(crate(wasi)) = 0.10.2+wasi_snapshot_preview1
91ce38
Provides:  bundled(crate(winapi)) = 0.3.9
91ce38
Provides:  bundled(crate(winapi-i686-pc-windows-gnu)) = 0.4.0
91ce38
Provides:  bundled(crate(winapi-x86_64-pc-windows-gnu)) = 0.4.0
51b5b9
Provides:  bundled(crate(zeroize)) = 1.4.2
51b5b9
Provides:  bundled(crate(zeroize_derive)) = 1.2.0
91ce38
##### Bundled cargo crates list - END #####
91ce38
4a43a0
BuildRequires:    nspr-devel
4a43a0
BuildRequires:    nss-devel >= 3.34
4a43a0
BuildRequires:    perl-generators
4a43a0
BuildRequires:    openldap-devel
4a43a0
BuildRequires:    libdb-devel
4a43a0
BuildRequires:    cyrus-sasl-devel
4a43a0
BuildRequires:    icu
4a43a0
BuildRequires:    libicu-devel
4a43a0
BuildRequires:    pcre-devel
4a43a0
BuildRequires:    cracklib-devel
4a43a0
%if %{use_clang}
4a43a0
BuildRequires:    libatomic
4a43a0
BuildRequires:    clang
4a43a0
%else
4a43a0
BuildRequires:    gcc
4a43a0
BuildRequires:    gcc-c++
4a43a0
%endif
4a43a0
# The following are needed to build the snmp ldap-agent
4a43a0
BuildRequires:    net-snmp-devel
4a43a0
BuildRequires:    lm_sensors-devel
4a43a0
BuildRequires:    bzip2-devel
4a43a0
BuildRequires:    zlib-devel
4a43a0
BuildRequires:    openssl-devel
4a43a0
# the following is for the pam passthru auth plug-in
4a43a0
BuildRequires:    pam-devel
4a43a0
BuildRequires:    systemd-units
4a43a0
BuildRequires:    systemd-devel
4a43a0
%if %{use_asan}
4a43a0
BuildRequires:    libasan
4a43a0
%endif
4a43a0
# If rust is enabled
4a43a0
%if %{use_rust}
4a43a0
BuildRequires: cargo
4a43a0
BuildRequires: rust
4a43a0
%endif
4a43a0
BuildRequires:    pkgconfig
4a43a0
BuildRequires:    pkgconfig(systemd)
4a43a0
BuildRequires:    pkgconfig(krb5)
4a43a0
4a43a0
# Needed to support regeneration of the autotool artifacts.
4a43a0
BuildRequires:    autoconf
4a43a0
BuildRequires:    automake
4a43a0
BuildRequires:    libtool
4a43a0
# For our documentation
4a43a0
BuildRequires:    doxygen
4a43a0
# For tests!
4a43a0
BuildRequires:    libcmocka-devel
4a43a0
BuildRequires:    libevent-devel
4a43a0
# For lib389 and related components
4a43a0
BuildRequires:    python%{python3_pkgversion}
4a43a0
BuildRequires:    python%{python3_pkgversion}-devel
4a43a0
BuildRequires:    python%{python3_pkgversion}-setuptools
4a43a0
BuildRequires:    python%{python3_pkgversion}-ldap
4a43a0
BuildRequires:    python%{python3_pkgversion}-six
4a43a0
BuildRequires:    python%{python3_pkgversion}-pyasn1
4a43a0
BuildRequires:    python%{python3_pkgversion}-pyasn1-modules
4a43a0
BuildRequires:    python%{python3_pkgversion}-dateutil
4a43a0
BuildRequires:    python%{python3_pkgversion}-argcomplete
4a43a0
BuildRequires:    python%{python3_pkgversion}-argparse-manpage
4a43a0
BuildRequires:    python%{python3_pkgversion}-policycoreutils
4a43a0
BuildRequires:    python%{python3_pkgversion}-libselinux
4a43a0
4a43a0
# For cockpit
4a43a0
BuildRequires:    rsync
4a43a0
4a43a0
Requires:         %{name}-libs = %{version}-%{release}
4a43a0
Requires:         python%{python3_pkgversion}-lib389 = %{version}-%{release}
4a43a0
4a43a0
# this is needed for using semanage from our setup scripts
4a43a0
Requires:         policycoreutils-python-utils
4a43a0
Requires:         /usr/sbin/semanage
4a43a0
Requires:         libsemanage-python%{python3_pkgversion}
4a43a0
4a43a0
Requires:         selinux-policy >= 3.14.1-29
4a43a0
4a43a0
# the following are needed for some of our scripts
4a43a0
Requires:         openldap-clients
4a43a0
Requires:         openssl-perl
4a43a0
Requires:         python%{python3_pkgversion}-ldap
4a43a0
4a43a0
# this is needed to setup SSL if you are not using the
4a43a0
# administration server package
4a43a0
Requires:         nss-tools
4a43a0
Requires:         nss >= 3.34
4a43a0
4a43a0
# these are not found by the auto-dependency method
4a43a0
# they are required to support the mandatory LDAP SASL mechs
4a43a0
Requires:         cyrus-sasl-gssapi
4a43a0
Requires:         cyrus-sasl-md5
4a43a0
Requires:         cyrus-sasl-plain
4a43a0
4a43a0
# this is needed for verify-db.pl
4a43a0
Requires:         libdb-utils
4a43a0
4a43a0
# Needed for password dictionary checks
4a43a0
Requires:         cracklib-dicts
4a43a0
4a43a0
# This picks up libperl.so as a Requires, so we add this versioned one
4a43a0
Requires:         perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
4a43a0
Requires:         perl-Errno >= 1.23-360
4a43a0
4a43a0
# Needed by logconv.pl
4a43a0
Requires:         perl-DB_File
4a43a0
Requires:         perl-Archive-Tar
4a43a0
4a43a0
# Needed for password dictionary checks
4a43a0
Requires:         cracklib-dicts
4a43a0
4a43a0
# Picks up our systemd deps.
4a43a0
%{?systemd_requires}
4a43a0
4a43a0
Obsoletes:        %{name} <= 1.3.5.4
4a43a0
4a43a0
Source0:          https://releases.pagure.org/389-ds-base/%{name}-%{version}.tar.bz2
4a43a0
# 389-ds-git.sh should be used to generate the source tarball from git
4a43a0
Source1:          %{name}-git.sh
4a43a0
Source2:          %{name}-devel.README
4a43a0
%if %{bundle_jemalloc}
4a43a0
Source3:          https://github.com/jemalloc/%{jemalloc_name}/releases/download/%{jemalloc_ver}/%{jemalloc_name}-%{jemalloc_ver}.tar.bz2
4a43a0
%endif
91ce38
%if %{use_rust}
51b5b9
Source4:          vendor-%{version}-1.tar.gz
91ce38
Source5:          Cargo.lock
91ce38
%endif
b8da0b
51b5b9
Patch01:          0001-Issue-4678-RFE-automatique-disable-of-virtual-attrib.patch
51b5b9
Patch02:          0002-Issue-4943-Fix-csn-generator-to-limit-time-skew-drif.patch
51b5b9
Patch03:          0003-Issue-3584-Fix-PBKDF2_SHA256-hashing-in-FIPS-mode-49.patch
51b5b9
Patch04:          0004-Issue-4956-Automember-allows-invalid-regex-and-does-.patch
51b5b9
Patch05:          0005-Issue-4092-systemd-tmpfiles-warnings.patch
51b5b9
Patch06:          0006-Issue-4973-installer-changes-permissions-on-run.patch
51b5b9
Patch07:          0007-Issue-4973-update-snmp-to-use-run-dirsrv-for-PID-fil.patch
51b5b9
Patch08:          0008-Issue-4978-make-installer-robust.patch
51b5b9
Patch09:          0009-Issue-4972-gecos-with-IA5-introduces-a-compatibility.patch
51b5b9
Patch10:          0010-Issue-4997-Function-declaration-compiler-error-on-1..patch
51b5b9
Patch11:          0011-Issue-4978-use-more-portable-python-command-for-chec.patch
51b5b9
Patch12:          0012-Issue-4959-Invalid-etc-hosts-setup-can-cause-isLocal.patch
51b5b9
Patch13:          0013-CVE-2021-4091-BZ-2030367-double-free-of-the-virtual-.patch
51b5b9
Patch14:          0014-Issue-5127-run-restorecon-on-dev-shm-at-server-start.patch
51b5b9
Patch15:          0015-Issue-5127-ds_selinux_restorecon.sh-always-exit-0.patch
51b5b9
Patch16:          0016-Issue-4775-Add-entryuuid-CLI-and-Fixup-4776.patch
51b5b9
Patch17:          0017-Issue-4775-Fix-cherry-pick-error.patch
4a43a0
4a43a0
%description
4a43a0
389 Directory Server is an LDAPv3 compliant server.  The base package includes
4a43a0
the LDAP server and command line utilities for server administration.
4a43a0
%if %{use_asan}
4a43a0
WARNING! This build is linked to Address Sanitisation libraries. This probably
4a43a0
isn't what you want. Please contact support immediately.
4a43a0
Please see http://seclists.org/oss-sec/2016/q1/363 for more information.
4a43a0
%endif
4a43a0
4a43a0
%package          libs
4a43a0
Summary:          Core libraries for 389 Directory Server
4a43a0
Group:            System Environment/Daemons
4a43a0
BuildRequires:    nspr-devel
4a43a0
BuildRequires:    nss-devel >= 3.34
4a43a0
BuildRequires:    openldap-devel
4a43a0
BuildRequires:    libdb-devel
4a43a0
BuildRequires:    cyrus-sasl-devel
4a43a0
BuildRequires:    libicu-devel
4a43a0
BuildRequires:    pcre-devel
4a43a0
BuildRequires:    libtalloc-devel
4a43a0
BuildRequires:    libevent-devel
4a43a0
BuildRequires:    libtevent-devel
4a43a0
Requires:         krb5-libs
4a43a0
Requires:         libevent
4a43a0
BuildRequires:    systemd-devel
4a43a0
Provides:         svrcore = 4.1.4
4a43a0
Conflicts:        svrcore
4a43a0
Obsoletes:        svrcore <= 4.1.3
4a43a0
4a43a0
%description      libs
4a43a0
Core libraries for the 389 Directory Server base package.  These libraries
4a43a0
are used by the main package and the -devel package.  This allows the -devel
4a43a0
package to be installed with just the -libs package and without the main package.
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
%package          legacy-tools
4a43a0
Summary:          Legacy utilities for 389 Directory Server
4a43a0
Group:            System Environment/Daemons
4a43a0
Obsoletes:        %{name} <= 1.4.0.9
4a43a0
Requires:         %{name}-libs = %{version}-%{release}
4a43a0
# for setup-ds.pl to support ipv6
4a43a0
%if %{use_Socket6}
4a43a0
Requires:         perl-Socket6
4a43a0
%else
4a43a0
Requires:         perl-Socket
4a43a0
%endif
4a43a0
Requires:         perl-NetAddr-IP
4a43a0
# use_openldap assumes perl-Mozilla-LDAP is built with openldap support
4a43a0
Requires:         perl-Mozilla-LDAP
4a43a0
# for setup-ds.pl
4a43a0
Requires:         bind-utils
4a43a0
%global __provides_exclude_from %{_libdir}/%{pkgname}/perl
4a43a0
%global __requires_exclude perl\\((DSCreate|DSMigration|DSUpdate|DSUtil|Dialog|DialogManager|FileConn|Inf|Migration|Resource|Setup|SetupLog)
4a43a0
%{?perl_default_filter}
4a43a0
4a43a0
%description      legacy-tools
4a43a0
Legacy (and deprecated) utilities for 389 Directory Server. This includes
4a43a0
the old account management and task scripts. These are deprecated in favour of
4a43a0
the dscreate, dsctl, dsconf and dsidm tools.
4a43a0
%endif
4a43a0
4a43a0
%package          devel
4a43a0
Summary:          Development libraries for 389 Directory Server
4a43a0
Group:            Development/Libraries
4a43a0
Requires:         %{name}-libs = %{version}-%{release}
4a43a0
Requires:         pkgconfig
4a43a0
Requires:         nspr-devel
4a43a0
Requires:         nss-devel >= 3.34
4a43a0
Requires:         openldap-devel
4a43a0
Requires:         libtalloc
4a43a0
Requires:         libevent
4a43a0
Requires:         libtevent
4a43a0
Requires:         systemd-libs
4a43a0
Provides:         svrcore-devel = 4.1.4
4a43a0
Conflicts:        svrcore-devel
4a43a0
Obsoletes:        svrcore-devel <= 4.1.3
4a43a0
4a43a0
%description      devel
4a43a0
Development Libraries and headers for the 389 Directory Server base package.
4a43a0
4a43a0
%package          snmp
4a43a0
Summary:          SNMP Agent for 389 Directory Server
4a43a0
Group:            System Environment/Daemons
4a43a0
Requires:         %{name} = %{version}-%{release}
4a43a0
4a43a0
Obsoletes:        %{name} <= 1.4.0.0
4a43a0
4a43a0
%description      snmp
4a43a0
SNMP Agent for the 389 Directory Server base package.
4a43a0
4a43a0
%package -n python%{python3_pkgversion}-lib389
4a43a0
Summary:  A library for accessing, testing, and configuring the 389 Directory Server
4a43a0
BuildArch:        noarch
4a43a0
Group:            Development/Libraries
4a43a0
Requires: openssl
4a43a0
Requires: iproute
4a43a0
Requires: platform-python
4a43a0
Recommends: bash-completion
4a43a0
Requires: python%{python3_pkgversion}-ldap
4a43a0
Requires: python%{python3_pkgversion}-six
4a43a0
Requires: python%{python3_pkgversion}-pyasn1
4a43a0
Requires: python%{python3_pkgversion}-pyasn1-modules
4a43a0
Requires: python%{python3_pkgversion}-dateutil
4a43a0
Requires: python%{python3_pkgversion}-argcomplete
4a43a0
Requires: python%{python3_pkgversion}-libselinux
4a43a0
Requires: python%{python3_pkgversion}-setuptools
4a43a0
Requires: python%{python3_pkgversion}-distro
4a43a0
%{?python_provide:%python_provide python%{python3_pkgversion}-lib389}
4a43a0
4a43a0
%description -n python%{python3_pkgversion}-lib389
4a43a0
This module contains tools and libraries for accessing, testing,
4a43a0
 and configuring the 389 Directory Server.
4a43a0
4a43a0
%package -n cockpit-389-ds
4a43a0
Summary:          Cockpit UI Plugin for configuring and administering the 389 Directory Server
4a43a0
BuildArch:        noarch
4a43a0
Requires:         cockpit
4a43a0
Requires:         platform-python
4a43a0
Requires:         python%{python3_pkgversion}-lib389
4a43a0
4a43a0
%description -n cockpit-389-ds
4a43a0
A cockpit UI Plugin for configuring and administering the 389 Directory Server
4a43a0
4a43a0
%prep
4a43a0
%autosetup -p1 -v -n %{name}-%{version}%{?prerel}
91ce38
%if %{use_rust}
91ce38
tar xvzf %{SOURCE4}
91ce38
cp %{SOURCE5} src/
91ce38
%endif
4a43a0
%if %{bundle_jemalloc}
4a43a0
%setup -q -n %{name}-%{version}%{?prerel} -T -D -b 3
4a43a0
%endif
4a43a0
cp %{SOURCE2} README.devel
4a43a0
4a43a0
%build
4a43a0
4a43a0
OPENLDAP_FLAG="--with-openldap"
4a43a0
%{?with_tmpfiles_d: TMPFILES_FLAG="--with-tmpfiles-d=%{with_tmpfiles_d}"}
4a43a0
# hack hack hack https://bugzilla.redhat.com/show_bug.cgi?id=833529
4a43a0
NSSARGS="--with-nss-lib=%{_libdir} --with-nss-inc=%{_includedir}/nss3"
4a43a0
4a43a0
%if %{use_asan}
4a43a0
ASAN_FLAGS="--enable-asan --enable-debug"
4a43a0
%endif
4a43a0
4a43a0
%if %{use_rust}
91ce38
RUST_FLAGS="--enable-rust --enable-rust-offline"
4a43a0
%endif
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
LEGACY_FLAGS="--enable-legacy --enable-perl"
4a43a0
%else
4a43a0
LEGACY_FLAGS="--disable-legacy --disable-perl"
4a43a0
%endif
4a43a0
4a43a0
%if %{use_clang}
4a43a0
export CC=clang
4a43a0
export CXX=clang++
4a43a0
CLANG_FLAGS="--enable-clang"
4a43a0
%endif
4a43a0
4a43a0
%if %{bundle_jemalloc}
4a43a0
# Override page size, bz #1545539
4a43a0
# 4K
4a43a0
%ifarch %ix86 %arm x86_64 s390x
4a43a0
%define lg_page --with-lg-page=12
4a43a0
%endif
4a43a0
4a43a0
# 64K
4a43a0
%ifarch ppc64 ppc64le aarch64
4a43a0
%define lg_page --with-lg-page=16
4a43a0
%endif
4a43a0
4a43a0
# Override huge page size on aarch64
4a43a0
# 2M instead of 512M
4a43a0
%ifarch aarch64
4a43a0
%define lg_hugepage --with-lg-hugepage=21
4a43a0
%endif
4a43a0
4a43a0
# Build jemalloc
4a43a0
pushd ../%{jemalloc_name}-%{jemalloc_ver}
4a43a0
%configure \
4a43a0
        --libdir=%{_libdir}/%{pkgname}/lib \
4a43a0
        --bindir=%{_libdir}/%{pkgname}/bin \
4a43a0
        --enable-prof
4a43a0
make %{?_smp_mflags}        
4a43a0
popd
4a43a0
%endif
4a43a0
4a43a0
4a43a0
# Enforce strict linking
4a43a0
%define _strict_symbol_defs_build 1
4a43a0
4a43a0
# Rebuild the autotool artifacts now.
4a43a0
autoreconf -fiv
4a43a0
4a43a0
%configure --enable-autobind --with-selinux $OPENLDAP_FLAG $TMPFILES_FLAG \
4a43a0
           --with-systemd \
4a43a0
           --with-systemdsystemunitdir=%{_unitdir} \
4a43a0
           --with-systemdsystemconfdir=%{_sysconfdir}/systemd/system \
4a43a0
           --with-systemdgroupname=%{groupname}  \
4a43a0
           --libexecdir=%{_libexecdir}/%{pkgname} \
4a43a0
           $NSSARGS $ASAN_FLAGS $RUST_FLAGS $LEGACY_FLAGS $CLANG_FLAGS \
4a43a0
           --enable-cmocka 
4a43a0
4a43a0
# lib389
4a43a0
pushd ./src/lib389
4a43a0
%py3_build
4a43a0
popd
4a43a0
# argparse-manpage dynamic man pages have hardcoded man v1 in header,
4a43a0
# need to change it to v8
4a43a0
sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsconf.8
4a43a0
sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsctl.8
4a43a0
sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsidm.8
4a43a0
sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dscreate.8
4a43a0
4a43a0
# Generate symbolic info for debuggers
4a43a0
export XCFLAGS=$RPM_OPT_FLAGS
4a43a0
4a43a0
#make %{?_smp_mflags}
4a43a0
make
4a43a0
4a43a0
%install
4a43a0
4a43a0
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_sbindir}
4a43a0
mkdir -p %{buildroot}%{_datadir}/cockpit
4a43a0
make DESTDIR="$RPM_BUILD_ROOT" install
4a43a0
4a43a0
# Cockpit file list
4a43a0
find %{buildroot}%{_datadir}/cockpit/389-console -type d | sed -e "s@%{buildroot}@@" | sed -e 's/^/\%dir /' > cockpit.list
4a43a0
find %{buildroot}%{_datadir}/cockpit/389-console -type f | sed -e "s@%{buildroot}@@" >> cockpit.list
4a43a0
4a43a0
# Copy in our docs from doxygen.
4a43a0
cp -r %{_builddir}/%{name}-%{version}%{?prerel}/man/man3 $RPM_BUILD_ROOT/%{_mandir}/man3
4a43a0
4a43a0
# lib389
4a43a0
pushd src/lib389
4a43a0
%py3_install
4a43a0
popd
4a43a0
4a43a0
mkdir -p $RPM_BUILD_ROOT/var/log/%{pkgname}
4a43a0
mkdir -p $RPM_BUILD_ROOT/var/lib/%{pkgname}
5873fa
mkdir -p $RPM_BUILD_ROOT/var/3lock/%{pkgname}
4a43a0
4a43a0
# for systemd
4a43a0
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/%{groupname}.wants
4a43a0
4a43a0
#remove libtool archives and static libs
4a43a0
find %{buildroot} -type f -name "*.la" -delete
4a43a0
find %{buildroot} -type f -name "*.a" -delete
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
# make sure perl scripts have a proper shebang
4a43a0
sed -i -e 's|#{{PERL-EXEC}}|#!/usr/bin/perl|' $RPM_BUILD_ROOT%{_datadir}/%{pkgname}/script-templates/template-*.pl
4a43a0
%endif
4a43a0
4a43a0
%if %{bundle_jemalloc}
4a43a0
pushd ../%{jemalloc_name}-%{jemalloc_ver}
4a43a0
make DESTDIR="$RPM_BUILD_ROOT" install_lib install_bin
4a43a0
cp -pa COPYING ../%{name}-%{version}%{?prerel}/COPYING.jemalloc
4a43a0
cp -pa README ../%{name}-%{version}%{?prerel}/README.jemalloc
4a43a0
popd
4a43a0
%endif
4a43a0
4a43a0
%check
4a43a0
# This checks the code, if it fails it prints why, then re-raises the fail to shortcircuit the rpm build.
4a43a0
if ! make DESTDIR="$RPM_BUILD_ROOT" check; then cat ./test-suite.log && false; fi
4a43a0
4a43a0
%clean
4a43a0
rm -rf $RPM_BUILD_ROOT
4a43a0
4a43a0
%post
4a43a0
if [ -n "$DEBUGPOSTTRANS" ] ; then
4a43a0
    output=$DEBUGPOSTTRANS
4a43a0
    output2=${DEBUGPOSTTRANS}.upgrade
4a43a0
else
4a43a0
    output=/dev/null
4a43a0
    output2=/dev/null
4a43a0
fi
4a43a0
4a43a0
# reload to pick up any changes to systemd files
4a43a0
/bin/systemctl daemon-reload >$output 2>&1 || :
4a43a0
4a43a0
# https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Soft_static_allocation
4a43a0
# Soft static allocation for UID and GID
4a43a0
USERNAME="dirsrv"
4a43a0
ALLOCATED_UID=389
4a43a0
GROUPNAME="dirsrv"
4a43a0
ALLOCATED_GID=389
4a43a0
HOMEDIR="/usr/share/dirsrv"
4a43a0
4a43a0
getent group $GROUPNAME >/dev/null || /usr/sbin/groupadd -f -g $ALLOCATED_GID -r $GROUPNAME
4a43a0
if ! getent passwd $USERNAME >/dev/null ; then
4a43a0
    if ! getent passwd $ALLOCATED_UID >/dev/null ; then
4a43a0
      /usr/sbin/useradd -r -u $ALLOCATED_UID -g $GROUPNAME -d $HOMEDIR -s /sbin/nologin -c "user for 389-ds-base" $USERNAME
4a43a0
    else
4a43a0
      /usr/sbin/useradd -r -g $GROUPNAME -d $HOMEDIR -s /sbin/nologin -c "user for 389-ds-base" $USERNAME
4a43a0
    fi
4a43a0
fi
4a43a0
4a43a0
# Reload our sysctl before we restart (if we can)
4a43a0
sysctl --system &> $output; true
4a43a0
4a43a0
%preun
4a43a0
if [ $1 -eq 0 ]; then # Final removal
4a43a0
    # remove instance specific service files/links
4a43a0
    rm -rf %{_sysconfdir}/systemd/system/%{groupname}.wants/* > /dev/null 2>&1 || :
4a43a0
fi
4a43a0
4a43a0
%postun
4a43a0
if [ $1 = 0 ]; then # Final removal
4a43a0
    rm -rf /var/run/%{pkgname}
4a43a0
fi
4a43a0
4a43a0
%post snmp
4a43a0
%systemd_post %{pkgname}-snmp.service
4a43a0
4a43a0
%preun snmp
4a43a0
%systemd_preun %{pkgname}-snmp.service %{groupname}
4a43a0
4a43a0
%postun snmp
4a43a0
%systemd_postun_with_restart %{pkgname}-snmp.service
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
%post legacy-tools
4a43a0
4a43a0
# START UPGRADE SCRIPT
4a43a0
4a43a0
if [ -n "$DEBUGPOSTTRANS" ] ; then
4a43a0
    output=$DEBUGPOSTTRANS
4a43a0
    output2=${DEBUGPOSTTRANS}.upgrade
4a43a0
else
4a43a0
    output=/dev/null
4a43a0
    output2=/dev/null
4a43a0
fi
4a43a0
4a43a0
# find all instances
4a43a0
instances="" # instances that require a restart after upgrade
4a43a0
ninst=0 # number of instances found in total
4a43a0
4a43a0
echo looking for instances in %{_sysconfdir}/%{pkgname} > $output 2>&1 || :
4a43a0
instbase="%{_sysconfdir}/%{pkgname}"
4a43a0
for dir in $instbase/slapd-* ; do
4a43a0
    echo dir = $dir >> $output 2>&1 || :
4a43a0
    if [ ! -d "$dir" ] ; then continue ; fi
4a43a0
    case "$dir" in *.removed) continue ;; esac
4a43a0
    basename=`basename $dir`
4a43a0
    inst="%{pkgname}@`echo $basename | sed -e 's/slapd-//g'`"
4a43a0
    echo found instance $inst - getting status  >> $output 2>&1 || :
4a43a0
    if /bin/systemctl -q is-active $inst ; then
4a43a0
       echo instance $inst is running >> $output 2>&1 || :
4a43a0
       instances="$instances $inst"
4a43a0
    else
4a43a0
       echo instance $inst is not running >> $output 2>&1 || :
4a43a0
    fi
4a43a0
    ninst=`expr $ninst + 1`
4a43a0
done
4a43a0
if [ $ninst -eq 0 ] ; then
4a43a0
    echo no instances to upgrade >> $output 2>&1 || :
4a43a0
    exit 0 # have no instances to upgrade - just skip the rest
4a43a0
fi
4a43a0
# shutdown all instances
4a43a0
echo shutting down all instances . . . >> $output 2>&1 || :
4a43a0
for inst in $instances ; do
4a43a0
    echo stopping instance $inst >> $output 2>&1 || :
4a43a0
    /bin/systemctl stop $inst >> $output 2>&1 || :
4a43a0
done
4a43a0
echo remove pid files . . . >> $output 2>&1 || :
4a43a0
/bin/rm -f /var/run/%{pkgname}*.pid /var/run/%{pkgname}*.startpid
4a43a0
# do the upgrade
4a43a0
echo upgrading instances . . . >> $output 2>&1 || :
4a43a0
DEBUGPOSTSETUPOPT=`/usr/bin/echo $DEBUGPOSTSETUP | /usr/bin/sed -e "s/[^d]//g"`
4a43a0
if [ -n "$DEBUGPOSTSETUPOPT" ] ; then
4a43a0
    %{_sbindir}/setup-ds.pl -$DEBUGPOSTSETUPOPT -u -s General.UpdateMode=offline >> $output 2>&1 || :
4a43a0
else
4a43a0
    %{_sbindir}/setup-ds.pl -u -s General.UpdateMode=offline >> $output 2>&1 || :
4a43a0
fi
4a43a0
4a43a0
# restart instances that require it
4a43a0
for inst in $instances ; do
4a43a0
    echo restarting instance $inst >> $output 2>&1 || :
4a43a0
    /bin/systemctl start $inst >> $output 2>&1 || :
4a43a0
done
4a43a0
#END UPGRADE
4a43a0
%endif
4a43a0
4a43a0
exit 0
4a43a0
4a43a0
4a43a0
%files
4a43a0
%if %{bundle_jemalloc}
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.jemalloc
4a43a0
%license COPYING.jemalloc
4a43a0
%else
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl
4a43a0
%endif
4a43a0
%dir %{_sysconfdir}/%{pkgname}
4a43a0
%dir %{_sysconfdir}/%{pkgname}/schema
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/schema/*.ldif
4a43a0
%dir %{_sysconfdir}/%{pkgname}/config
4a43a0
%dir %{_sysconfdir}/systemd/system/%{groupname}.wants
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/slapd-collations.conf
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/certmap.conf
4a43a0
%{_datadir}/%{pkgname}
4a43a0
%{_datadir}/gdb/auto-load/*
4a43a0
%{_unitdir}
4a43a0
%{_bindir}/dbscan
4a43a0
%{_mandir}/man1/dbscan.1.gz
4a43a0
%{_bindir}/ds-replcheck
4a43a0
%{_mandir}/man1/ds-replcheck.1.gz
4a43a0
%{_bindir}/ds-logpipe.py
4a43a0
%{_mandir}/man1/ds-logpipe.py.1.gz
4a43a0
%{_bindir}/ldclt
4a43a0
%{_mandir}/man1/ldclt.1.gz
4a43a0
%{_sbindir}/ldif2ldap
4a43a0
%{_mandir}/man8/ldif2ldap.8.gz
4a43a0
%{_bindir}/logconv.pl
4a43a0
%{_mandir}/man1/logconv.pl.1.gz
4a43a0
%{_bindir}/pwdhash
4a43a0
%{_mandir}/man1/pwdhash.1.gz
4a43a0
%{_bindir}/readnsstate
4a43a0
%{_mandir}/man1/readnsstate.1.gz
4a43a0
# Remove for now: %caps(CAP_NET_BIND_SERVICE=pe) {_sbindir}/ns-slapd
4a43a0
%{_sbindir}/ns-slapd
4a43a0
%{_mandir}/man8/ns-slapd.8.gz
4a43a0
%{_libexecdir}/%{pkgname}/ds_systemd_ask_password_acl
51b5b9
%{_libexecdir}/%{pkgname}/ds_selinux_restorecon.sh
4a43a0
%{_mandir}/man5/99user.ldif.5.gz
4a43a0
%{_mandir}/man5/certmap.conf.5.gz
4a43a0
%{_mandir}/man5/slapd-collations.conf.5.gz
4a43a0
%{_mandir}/man5/dirsrv.5.gz
4a43a0
%{_mandir}/man5/dirsrv.systemd.5.gz
4a43a0
%{_libdir}/%{pkgname}/python
4a43a0
%dir %{_libdir}/%{pkgname}/plugins
4a43a0
%{_libdir}/%{pkgname}/plugins/*.so
4a43a0
# This has to be hardcoded to /lib - $libdir changes between lib/lib64, but
4a43a0
# sysctl.d is always in /lib.
4a43a0
%{_prefix}/lib/sysctl.d/*
4a43a0
%dir %{_localstatedir}/lib/%{pkgname}
4a43a0
%dir %{_localstatedir}/log/%{pkgname}
4a43a0
%ghost %dir %{_localstatedir}/lock/%{pkgname}
4a43a0
%exclude %{_sbindir}/ldap-agent*
4a43a0
%exclude %{_mandir}/man1/ldap-agent.1.gz
4a43a0
%exclude %{_unitdir}/%{pkgname}-snmp.service
4a43a0
%if %{bundle_jemalloc}
4a43a0
%{_libdir}/%{pkgname}/lib/
4a43a0
%{_libdir}/%{pkgname}/bin/
4a43a0
%exclude %{_libdir}/%{pkgname}/bin/jemalloc-config
4a43a0
%exclude %{_libdir}/%{pkgname}/bin/jemalloc.sh
4a43a0
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc.a
4a43a0
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc.so
4a43a0
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc_pic.a
4a43a0
%exclude %{_libdir}/%{pkgname}/lib/pkgconfig
4a43a0
%endif
4a43a0
4a43a0
%files devel
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
4a43a0
%{_mandir}/man3/*
4a43a0
%{_includedir}/svrcore.h
4a43a0
%{_includedir}/%{pkgname}
4a43a0
%{_libdir}/libsvrcore.so
4a43a0
%{_libdir}/%{pkgname}/libslapd.so
4a43a0
%{_libdir}/%{pkgname}/libns-dshttpd.so
4a43a0
%{_libdir}/%{pkgname}/libsds.so
4a43a0
%{_libdir}/%{pkgname}/libldaputil.so
4a43a0
%{_libdir}/pkgconfig/svrcore.pc
4a43a0
%{_libdir}/pkgconfig/dirsrv.pc
4a43a0
%{_libdir}/pkgconfig/libsds.pc
4a43a0
4a43a0
%files libs
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
4a43a0
%dir %{_libdir}/%{pkgname}
4a43a0
%{_libdir}/libsvrcore.so.*
4a43a0
%{_libdir}/%{pkgname}/libslapd.so.*
4a43a0
%{_libdir}/%{pkgname}/libns-dshttpd-*.so
4a43a0
%{_libdir}/%{pkgname}/libsds.so.*
4a43a0
%{_libdir}/%{pkgname}/libldaputil.so.*
4a43a0
%{_libdir}/%{pkgname}/librewriters.so*
4a43a0
%if %{bundle_jemalloc}
4a43a0
%{_libdir}/%{pkgname}/lib/libjemalloc.so.2
4a43a0
%endif
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
%files legacy-tools
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
4a43a0
%{_bindir}/infadd
4a43a0
%{_mandir}/man1/infadd.1.gz
4a43a0
%{_bindir}/ldif
4a43a0
%{_mandir}/man1/ldif.1.gz
4a43a0
%{_bindir}/migratecred
4a43a0
%{_mandir}/man1/migratecred.1.gz
4a43a0
%{_bindir}/mmldif
4a43a0
%{_mandir}/man1/mmldif.1.gz
4a43a0
%{_bindir}/rsearch
4a43a0
%{_mandir}/man1/rsearch.1.gz
4a43a0
%{_libexecdir}/%{pkgname}/ds_selinux_enabled
4a43a0
%{_libexecdir}/%{pkgname}/ds_selinux_port_query
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/template-initconfig
4a43a0
%{_mandir}/man5/template-initconfig.5.gz
4a43a0
%{_datadir}/%{pkgname}/properties/*.res
4a43a0
%{_datadir}/%{pkgname}/script-templates
4a43a0
%{_datadir}/%{pkgname}/updates
4a43a0
%{_sbindir}/ldif2ldap
4a43a0
%{_mandir}/man8/ldif2ldap.8.gz
4a43a0
%{_sbindir}/bak2db
4a43a0
%{_mandir}/man8/bak2db.8.gz
4a43a0
%{_sbindir}/db2bak
4a43a0
%{_mandir}/man8/db2bak.8.gz
4a43a0
%{_sbindir}/db2index
4a43a0
%{_mandir}/man8/db2index.8.gz
4a43a0
%{_sbindir}/db2ldif
4a43a0
%{_mandir}/man8/db2ldif.8.gz
4a43a0
%{_sbindir}/dbverify
4a43a0
%{_mandir}/man8/dbverify.8.gz
4a43a0
%{_sbindir}/ldif2db
4a43a0
%{_mandir}/man8/ldif2db.8.gz
4a43a0
%{_sbindir}/restart-dirsrv
4a43a0
%{_mandir}/man8/restart-dirsrv.8.gz
4a43a0
%{_sbindir}/start-dirsrv
4a43a0
%{_mandir}/man8/start-dirsrv.8.gz
4a43a0
%{_sbindir}/status-dirsrv
4a43a0
%{_mandir}/man8/status-dirsrv.8.gz
4a43a0
%{_sbindir}/stop-dirsrv
4a43a0
%{_mandir}/man8/stop-dirsrv.8.gz
4a43a0
%{_sbindir}/upgradedb
4a43a0
%{_mandir}/man8/upgradedb.8.gz
4a43a0
%{_sbindir}/vlvindex
4a43a0
%{_mandir}/man8/vlvindex.8.gz
4a43a0
%{_sbindir}/monitor
4a43a0
%{_mandir}/man8/monitor.8.gz
4a43a0
%{_sbindir}/dbmon.sh
4a43a0
%{_mandir}/man8/dbmon.sh.8.gz
4a43a0
%{_sbindir}/dn2rdn
4a43a0
%{_mandir}/man8/dn2rdn.8.gz
4a43a0
%{_sbindir}/restoreconfig
4a43a0
%{_mandir}/man8/restoreconfig.8.gz
4a43a0
%{_sbindir}/saveconfig
4a43a0
%{_mandir}/man8/saveconfig.8.gz
4a43a0
%{_sbindir}/suffix2instance
4a43a0
%{_mandir}/man8/suffix2instance.8.gz
4a43a0
%{_sbindir}/upgradednformat
4a43a0
%{_mandir}/man8/upgradednformat.8.gz
4a43a0
%{_mandir}/man1/dbgen.pl.1.gz
4a43a0
%{_bindir}/repl-monitor
4a43a0
%{_mandir}/man1/repl-monitor.1.gz
4a43a0
%{_bindir}/repl-monitor.pl
4a43a0
%{_mandir}/man1/repl-monitor.pl.1.gz
4a43a0
%{_bindir}/cl-dump
4a43a0
%{_mandir}/man1/cl-dump.1.gz
4a43a0
%{_bindir}/cl-dump.pl
4a43a0
%{_mandir}/man1/cl-dump.pl.1.gz
4a43a0
%{_bindir}/dbgen.pl
4a43a0
%{_mandir}/man8/bak2db.pl.8.gz
4a43a0
%{_sbindir}/bak2db.pl
4a43a0
%{_sbindir}/cleanallruv.pl
4a43a0
%{_mandir}/man8/cleanallruv.pl.8.gz
4a43a0
%{_sbindir}/db2bak.pl
4a43a0
%{_mandir}/man8/db2bak.pl.8.gz
4a43a0
%{_sbindir}/db2index.pl
4a43a0
%{_mandir}/man8/db2index.pl.8.gz
4a43a0
%{_sbindir}/db2ldif.pl
4a43a0
%{_mandir}/man8/db2ldif.pl.8.gz
4a43a0
%{_sbindir}/fixup-linkedattrs.pl
4a43a0
%{_mandir}/man8/fixup-linkedattrs.pl.8.gz
4a43a0
%{_sbindir}/fixup-memberof.pl
4a43a0
%{_mandir}/man8/fixup-memberof.pl.8.gz
4a43a0
%{_sbindir}/ldif2db.pl
4a43a0
%{_mandir}/man8/ldif2db.pl.8.gz
4a43a0
%{_sbindir}/migrate-ds.pl
4a43a0
%{_mandir}/man8/migrate-ds.pl.8.gz
4a43a0
%{_sbindir}/ns-accountstatus.pl
4a43a0
%{_mandir}/man8/ns-accountstatus.pl.8.gz
4a43a0
%{_sbindir}/ns-activate.pl
4a43a0
%{_mandir}/man8/ns-activate.pl.8.gz
4a43a0
%{_sbindir}/ns-inactivate.pl
4a43a0
%{_mandir}/man8/ns-inactivate.pl.8.gz
4a43a0
%{_sbindir}/ns-newpwpolicy.pl
4a43a0
%{_mandir}/man8/ns-newpwpolicy.pl.8.gz
4a43a0
%{_sbindir}/remove-ds.pl
4a43a0
%{_mandir}/man8/remove-ds.pl.8.gz
4a43a0
%{_sbindir}/schema-reload.pl
4a43a0
%{_mandir}/man8/schema-reload.pl.8.gz
4a43a0
%{_sbindir}/setup-ds.pl
4a43a0
%{_mandir}/man8/setup-ds.pl.8.gz
4a43a0
%{_sbindir}/syntax-validate.pl
4a43a0
%{_mandir}/man8/syntax-validate.pl.8.gz
4a43a0
%{_sbindir}/usn-tombstone-cleanup.pl
4a43a0
%{_mandir}/man8/usn-tombstone-cleanup.pl.8.gz
4a43a0
%{_sbindir}/verify-db.pl
4a43a0
%{_mandir}/man8/verify-db.pl.8.gz
4a43a0
%{_libdir}/%{pkgname}/perl
4a43a0
%endif
4a43a0
4a43a0
%files snmp
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/ldap-agent.conf
4a43a0
%{_sbindir}/ldap-agent*
4a43a0
%{_mandir}/man1/ldap-agent.1.gz
4a43a0
%{_unitdir}/%{pkgname}-snmp.service
4a43a0
4a43a0
%files -n python%{python3_pkgversion}-lib389
4a43a0
%doc LICENSE LICENSE.GPLv3+
4a43a0
%{python3_sitelib}/lib389*
4a43a0
%{_sbindir}/dsconf
4a43a0
%{_mandir}/man8/dsconf.8.gz
4a43a0
%{_sbindir}/dscreate
4a43a0
%{_mandir}/man8/dscreate.8.gz
4a43a0
%{_sbindir}/dsctl
4a43a0
%{_mandir}/man8/dsctl.8.gz
4a43a0
%{_sbindir}/dsidm
4a43a0
%{_mandir}/man8/dsidm.8.gz
4a43a0
%{_libexecdir}/%{pkgname}/dscontainer
4a43a0
4a43a0
%files -n cockpit-389-ds -f cockpit.list
4a43a0
%{_datarootdir}/metainfo/389-console/org.port389.cockpit_console.metainfo.xml
4a43a0
%doc README.md
4a43a0
4a43a0
%changelog
51b5b9
* Thu Feb 3 2022 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.28-6
51b5b9
- Bump version to 1.4.3.28-6
51b5b9
- Resolves: Bug 2047171 - Based on 1944494 (RFC 4530 entryUUID attribute) - plugin entryuuid failing
51b5b9
51b5b9
* Fri Jan 28 2022 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.28-5
51b5b9
- Bump version to 1.4.3.28-5
51b5b9
- Resolves: Bug 2045223 - ipa-restore command is failing when restore after uninstalling the server (aprt 2)
51b5b9
51b5b9
* Tue Jan 25 2022 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.28-4
51b5b9
- Bump version to 1.4.3.28-4
51b5b9
- Resolves: Bug 2045223 - ipa-restore command is failing when restore after uninstalling the server
51b5b9
51b5b9
* Thu Nov 18 2021 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.28-3
51b5b9
- Bump version to 1.4.3.28-3
51b5b9
- Resolves: Bug 2030367 - EMBARGOED CVE-2021-4091 389-ds:1.4/389-ds-base: double-free of the virtual attribute context in persistent search
51b5b9
- Resolves: Bug 2033398 - PBKDF2 hashing does not work in FIPS mode
51b5b9
51b5b9
* Thu Nov 18 2021 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.28-2
51b5b9
- Bump version to 1.4.3.28-2
51b5b9
- Resolves: Bug 2024695 - DB corruption "_entryrdn_insert_key - Same DN (dn: nsuniqueid=ffffffff-ffffffff-ffffffff-ffffffff,<SUFFIX>) is already in the entryrdn file"
51b5b9
- Resolves: Bug 1859210 - systemd-tmpfiles warnings
51b5b9
- Resolves: Bug 1913199 - IPA server (389ds) is very slow in execution of some searches (`&(memberOf=...)(objectClass=ipaHost)` in particular)
51b5b9
- Resolves: Bug 1974236 - automatique disable of virtual attribute checking
51b5b9
- Resolves: Bug 1976882 - logconv.pl -j: Use of uninitialized value $first in numeric gt (>)
51b5b9
- Resolves: Bug 1981281 - ipa user-add fails with "gecos: value invalid per syntax: Invalid syntax"
51b5b9
- Resolves: Bug 2015998 - Log the Auto Member invalid regex rules in the LDAP errors log
51b5b9
51b5b9
* Thu Oct 21 2021 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.28-1
51b5b9
- Bump version to 1.4.3.28-1
51b5b9
- Resolves: Bug 2016014 - rebase RHEL 8.6 with 389-ds-base-1.4.3
51b5b9
- Resolves: Bug 1990002 - monitor displays wrong date for connection
51b5b9
- Resolves: Bug 1950335 - upgrade password hash on bind also causes passwordExpirationtime to be updated
51b5b9
- Resolves: Bug 1916292 - Indexing a single backend actually processes all configured backends
51b5b9
- Resolves: Bug 1780842 - [RFE] set db home directory to /dev/shm by default
51b5b9
- Resolves: Bug 2000975 - Retro Changelog does not trim changes
51b5b9
51b5b9
51b5b9
91ce38