diff --git a/389-ds-base.spec b/389-ds-base.spec index 90457cc..b9d66bc 100644 --- a/389-ds-base.spec +++ b/389-ds-base.spec @@ -1,5 +1,6 @@ %global pkgname dirsrv +%global srcname 389-ds-base # for a pre-release, define the prerel field e.g. .a1 .rc2 - comment out for official release # also remove the space between % and global - this space is needed because # fedpkg verrel stupidly ignores comment lines @@ -11,15 +12,8 @@ %global use_db4 0 # If perl-Socket-2.000 or newer is available, set 0 to use_Socket6. %global use_Socket6 0 -# nunc-stans only builds on x86_64 for now -%ifarch x86_64 -# To build without nunc-stans, set use_nunc_stans to 0. %global use_nunc_stans 1 -%else -%global use_nunc_stans 0 -%endif - -%global nunc_stans_ver 0.2.0 +%global use_tcmalloc 0 # fedora 15 and later uses tmpfiles.d # otherwise, comment this out @@ -34,16 +28,15 @@ Summary: 389 Directory Server (base) Name: 389-ds-base Version: 1.3.6.1 -Release: %{?relprefix}1%{?prerel}%{?dist}.1 +Release: %{?relprefix}2%{?prerel}%{?dist} License: GPLv3+ -URL: https://www.port389.org +URL: http://www.port389.org Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Obsoletes: %{name}-selinux Conflicts: selinux-policy-base < 3.9.8 Conflicts: freeipa-server < 4.0.3 Requires: %{name}-libs = %{version}-%{release} -Provides: ldif2ldbm +Provides: ldif2ldbm >= 0 BuildRequires: nspr-devel BuildRequires: nss-devel @@ -79,10 +72,24 @@ BuildRequires: systemd-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool +# For our documentation +BuildRequires: doxygen +# For tests! +BuildRequires: libcmocka-devel +%if %{use_nunc_stans} +BuildRequires: libevent-devel +%endif +%if %{use_tcmalloc} +BuildRequires: gperftools-devel +%endif # for python3 macros BuildRequires: python3-devel +%if %{use_tcmalloc} +Requires: gperftools-libs +%endif + # this is needed for using semanage from our setup scripts Requires: policycoreutils-python-utils Requires: /usr/sbin/semanage @@ -138,11 +145,10 @@ Requires: svrcore >= 4.1.2 # upgrade path from monolithic %{name} (including -libs & -devel) to %{name} + %{name}-snmp Obsoletes: %{name} <= 1.3.5.4 -Source0: https://www.port389.org/binaries/%{name}-%{version}%{?prerel}.tar.bz2 +Source0: http://www.port389.org/binaries/%{name}-%{version}%{?prerel}.tar.bz2 # 389-ds-git.sh should be used to generate the source tarball from git Source1: %{name}-git.sh Source2: %{name}-devel.README -Source3: https://git.fedorahosted.org/cgit/nunc-stans.git/snapshot/nunc-stans-%{nunc_stans_ver}.tar.bz2 %description 389 Directory Server is an LDAPv3 compliant server. The base package includes @@ -171,6 +177,7 @@ BuildRequires: pcre-devel BuildRequires: libtalloc-devel BuildRequires: libevent-devel BuildRequires: libtevent-devel +Requires: libevent %endif BuildRequires: systemd-devel @@ -213,20 +220,19 @@ Obsoletes: %{name} <= 1.3.5.4 %description snmp SNMP Agent for the 389 Directory Server base package. -%package tests +%package -n python%{python3_pkgversion}-%{srcname}-tests Summary: The lib389 Continuous Integration Tests Group: Development/Libraries -Requires: python-lib389 BuildArch: noarch +Requires: python%{python3_pkgversion}-lib389 +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools -%description tests +%description -n python%{python3_pkgversion}-%{srcname}-tests The lib389 CI tests that can be run against the Directory Server. %prep %setup -q -n %{name}-%{version}%{?prerel} -%if %{use_nunc_stans} -%setup -q -n %{name}-%{version}%{?prerel} -T -D -b 3 -%endif cp %{SOURCE2} README.devel # Make sure python3 is used in shebangs @@ -234,20 +240,6 @@ cp %{SOURCE2} README.devel sed -r -i '1s|^#!\s*/usr/bin.*python.*|#!%{__python3}|' ldap/admin/src/scripts/*.py %build -%if %{use_nunc_stans} -pushd ../nunc-stans-%{nunc_stans_ver} -%configure --with-fhs --libdir=%{_libdir}/%{pkgname} -# We install into our build dir first, then later we install to the correct build root. -# This is to make it possible for directory server to use us, else we can't resolve -# liblfds during link time. -# Frankly, this is horrible, but until we can make nunc-stans a package, it'll -# have to do... :( -# Can't use SMP flags here -make DESTDIR=`pwd` install -# Remove these else it breaks libtool -rm ./%{_libdir}/%{pkgname}/*.{a,la} -popd -%endif %if %{use_openldap} OPENLDAP_FLAG="--with-openldap" @@ -257,7 +249,11 @@ OPENLDAP_FLAG="--with-openldap" NSSARGS="--with-svrcore-inc=%{_includedir} --with-svrcore-lib=%{_libdir} --with-nss-lib=%{_libdir} --with-nss-inc=%{_includedir}/nss3" %if %{use_nunc_stans} -NUNC_STANS_FLAGS="--enable-nunc-stans --with-nunc-stans=../nunc-stans-%{nunc_stans_ver}/usr --with-nunc-stans-inc=../nunc-stans-%{nunc_stans_ver}/%{_includedir} --with-nunc-stans-lib=../nunc-stans-%{nunc_stans_ver}/%{_libdir}/%{pkgname}" +NUNC_STANS_FLAGS="--enable-nunc-stans" +%endif + +%if %{use_tcmalloc} +TCMALLOC_FLAGS="--enable-tcmalloc" %endif # Rebuild the autotool artifacts now. @@ -268,24 +264,28 @@ autoreconf -fiv --with-systemdsystemconfdir=%{_sysconfdir}/systemd/system \ --with-perldir=/usr/bin \ --with-systemdgroupname=%{groupname} $NSSARGS $NUNC_STANS_FLAGS \ - --with-systemd + --with-systemd $TCMALLOC_FLAGS # Generate symbolic info for debuggers export XCFLAGS=$RPM_OPT_FLAGS make %{?_smp_mflags} +make setup.py + +#%py2_build +%py3_build %install -%if %{use_nunc_stans} -pushd ../nunc-stans-%{nunc_stans_ver} -# This is the *actual* install of nunc-stans. -make DESTDIR="$RPM_BUILD_ROOT" install -popd -%endif make DESTDIR="$RPM_BUILD_ROOT" install +# Copy in our docs from doxygen. +cp -r %{_builddir}/%{name}-%{version}%{?prerel}/man/man3 $RPM_BUILD_ROOT/%{_mandir}/man3 + +#%py2_install +%py3_install + mkdir -p $RPM_BUILD_ROOT/var/log/%{pkgname} mkdir -p $RPM_BUILD_ROOT/var/lib/%{pkgname} mkdir -p $RPM_BUILD_ROOT/var/lock/%{pkgname} @@ -300,14 +300,6 @@ find %{buildroot} -type f -name "*.a" -delete # make sure perl scripts have a proper shebang sed -i -e 's|#{{PERL-EXEC}}|#!/usr/bin/perl|' $RPM_BUILD_ROOT%{_datadir}/%{pkgname}/script-templates/template-*.pl -# Why are we not making this a proper python package? -pushd ../%{name}-%{version}%{?prerel} -cp -r dirsrvtests $RPM_BUILD_ROOT/%{_sysconfdir}/%{pkgname} -find $RPM_BUILD_ROOT/%{_sysconfdir}/%{pkgname}/dirsrvtests -type f -name '*.pyc' -delete -find $RPM_BUILD_ROOT/%{_sysconfdir}/%{pkgname}/dirsrvtests -type f -name '*.pyo' -delete -find $RPM_BUILD_ROOT/%{_sysconfdir}/%{pkgname}/dirsrvtests -type d -name '__pycache__' -delete -popd - %clean rm -rf $RPM_BUILD_ROOT @@ -324,7 +316,7 @@ if [ -n "$DEBUGPOSTTRANS" ] ; then output=$DEBUGPOSTTRANS fi -has_dirsrv=`/usr/bin/egrep -i "^dirsrv\>" /etc/passwd` || : +has_dirsrv=`/usr/bin/grep -Ei "^dirsrv\>" /etc/passwd` || : if [ "$has_dirsrv" = "" ]; then dirsrv_uid=389 while [ "`getent passwd | awk -F: '{print $3}' | grep $dirsrv_uid`" != "" ]; do @@ -334,7 +326,7 @@ if [ "$has_dirsrv" = "" ]; then /usr/sbin/useradd -c "389-ds-base" -u $dirsrv_uid \ -s /sbin/nologin -r -d /usr/share/dirsrv dirsrv 2> /dev/null || : fi -has_dirsrv=`/usr/bin/egrep -i "^dirsrv\>" /etc/group` || : +has_dirsrv=`/usr/bin/grep -iE "^dirsrv\>" /etc/group` || : if [ "$has_dirsrv" = "" ]; then dirsrv_gid=389 while [ "`getent group | grep $dirsrv_gid`" != "" ]; do @@ -434,9 +426,6 @@ fi %{_mandir}/man8/* %exclude %{_sbindir}/ldap-agent* %exclude %{_mandir}/man1/ldap-agent.1.gz -# Don't rm these files, just exclude them! -%exclude %{_libdir}/%{pkgname}/pkgconfig/nunc-stans.pc -%exclude %{_includedir}/nunc-stans/nunc-stans.h %files devel %defattr(-,root,root,-) @@ -444,9 +433,10 @@ fi %{_includedir}/%{pkgname} %{_libdir}/%{pkgname}/libslapd.so %{_libdir}/%{pkgname}/libns-dshttpd.so +%{_mandir}/man3/* %if %{use_nunc_stans} %{_libdir}/%{pkgname}/libnunc-stans.so -%{_libdir}/%{pkgname}/liblfds710.so +%{_libdir}/%{pkgname}/libsds.so %endif %{_libdir}/pkgconfig/* @@ -455,10 +445,10 @@ fi %doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel %dir %{_libdir}/%{pkgname} %{_libdir}/%{pkgname}/libslapd.so.* -%{_libdir}/%{pkgname}/libns-dshttpd.so.* +%{_libdir}/%{pkgname}/libns-dshttpd-*.so %if %{use_nunc_stans} %{_libdir}/%{pkgname}/libnunc-stans.so.* -%{_libdir}/%{pkgname}/liblfds710.so.* +%{_libdir}/%{pkgname}/libsds.so.* %endif %files snmp @@ -468,12 +458,139 @@ fi %{_sbindir}/ldap-agent* %{_mandir}/man1/ldap-agent.1.gz -%files tests +%files -n python%{python3_pkgversion}-%{srcname}-tests %defattr(-,root,root,-) %doc LICENSE LICENSE.GPLv3+ -%{_sysconfdir}/%{pkgname}/dirsrvtests +%{python3_sitelib}/* %changelog +* Fri Mar 10 2017 Mark Reynolds - 1.3.6.1-2 +- Bump version to 1.3.6.1-2 +- Issue 49162 - Only check event.m4 if nunc-stans is enabled +- Issue 49156 - Add more IDs and fix docstrings +- Issue 49156 - Fix typo in the import +- Ticket 49160 - Fix sds benchmark and copyright +- Issue 47536 - Fix CI testcase +- Issue 49159 - test_schema_comparewithfiles fails with python-ldap>=2.4.26 +- Issue 49156 - Clean up test suites dir structure and docstrings +- Issue 49158 - fix latest coverity issues +- Ticket 49155 - Fix db2ldif path in test +- Issue 49122 - Fix rpm build +- Issue 49044 - Fix script usage and man pages +- Ticket 48707 - Update rfc to accomodate that authid is mandatory +- Ticket 49141 - Enable tcmalloc +- Ticket 49142 - bytes vs unicode in plugin tests +- Ticket 49139 - Update makefile and rpm for import +- Ticket 49139 - Import libsds and nunc-stans for bundling +- Issue 49122 - Filtered nsrole that uses nsrole crashes the server +- Issue 49147 - Fix tests compatibility with older versions +- Issue 49141 - Fix spec file for tcmalloc +- Issue 49141 - Use tcmalloc by default +- Ticket 49086 - SDN premangaling broken after SASL change +- Ticket 49137 - Add sasl plain test - ds +- Ticket 49138 - Increase systemd timout +- Issue 48226 - Fix CI test +- Ticket 49140 - Remove legacy inst reference in test +- Ticket 49134 Remove hardcoded elements from db lock test +- Fix compiler warning +- Ticket 47925 - Move add and delete operation aci checks to be before plugins. +- Ticket 49086 - public api compatability test for SDN changes. +- Ticket 49116 - Pblock usage analytics +- Ticket 49020 - Add CI test +- Revise README for pagure +- Ticket #49121 - ns-slapd crashes in ldif_sput due to the output buf size is less than the real size. +- Ticket 48085 - Add replica acceptance test suite +- Ticket 49008 - Fix regression in check if ruv element exists +- Ticket 49108 - ds_selinux_port_query doesn't detect ports labeled with range +- Ticket 49057 - Fix tests failures on older versions of DS +- Ticket 49111 - Integrate cmocka skeleton to Directory Server +- Ticket 49016 - (un)register/migration/remove may fail if there is no suffix on 'userRoot' backend +- Ticket 48085 - Add single master replication test suite +- Ticket #49104 - Add CI test +- Ticket #49104 - dbscan-bin crashing due to a segmentation fault +- Ticket 49105 - Sig FPE when ns-slapd has 0 backends. +- Ticket 49075 - Adjust log severity levels +- Ticket 49008 - Add CI test +- Ticket 49008 v2: aborted operation can leave RUV in incorrect state +- Ticket 47973 - CI Test case (test_ticket47973_case) +- Ticket 47973 - CI Test case (test_ticket47973_case) +- Ticket 47973 - custom schema is registered in small caps after schema reload +- Ticket 49089 - List library build deps +- Ticket 49085 - Make a short topology fixture alias +- Ticket #49088 - 389-ds-base rpm postinstall script bugs +- Ticket 49028 - Autosize database cache by default. +- Ticket 49089 - Fix invalid cxxlink statement from hpux +- Ticket 49087 - ds resolve jenkins issues. +- Ticket #49082 - Adjusted the CI test case to the fix. +- Ticket #49082 - Fix password expiration related shadow attributes +- Ticket #49080 - shadowExpire should not be a calculated value +- Ticket 49027 - on secfailure do not store cleartext password content +- Ticket 49031 - Improve memberof with a cache of ancestors for groups +- Ticket 49079: deadlock on cos cache rebuild +- Ticket 48665 - Fix RHEL6 test compatibility issues +- Ticket 49055 - Fix create_test.py issues +- Ticket 48797 - Add freebsd support to ns-slapd: main +- Ticket 49055 - Refactor create_test.py +- Ticket 49060 - Increase number of masters, hubs and consumers in topology +- Ticket 49055 - Clean up test tickets and suites +- Ticket 48964 - should not free repl name after purging changelog +- Ticket 48050 - Refactor acctpolicy_plugin suite +- Ticket 48964 - cleanallruv changelog purging removes wrong rid +- Ticket 49073: nsDS5ReplicatedAttributeListTotal fails when excluding no attribute +- Ticket 49074 - incompatible nsEncryptionConfig object definition prevents RHEL 7->6 schema replication +- Ticket 48835 - package tests into python site packages - fix rpm +- Ticket 49066 - Memory leaks in server - part 2 +- Ticket 49072 - validate memberof fixup task args +- Ticket 49071 - Import with duplicate DNs throws unexpected errors +- Ticket 47858 - Add test case for nsTombstone +- Ticket 48835 - Tests with setup.py.in +- Ticket 49066 - Memory leaks in server +- Ticket 47982 - Add CI test suite ds_logs +- Ticket 49052 - Environment quoting on fedora causes ds to fail to start. +- Ticket 47662 - Better input argument validation and error messages for cli tools +- Ticket 48681 - logconv.pl lists sasl binds with no dn as anonymous +- Ticket 48861: memberof plugin tests suite +- Ticket 48861: Memberof plugins can update several times the same entry to set the same values +- Ticket 48163 - Re-space schema.c +- Ticket 48163 - Read schema from multiple locations +- Ticket 48894 - improve entrywsi delete +- Ticket 49051 - Enable SASL LOGIN/PLAIN support as a precursor to LDAPSSOTOKEN +- Ticket 49020 - do not treat missing csn as fatal +- Ticket 48133 v2 Non tombstone entry which dn starting with "nsuniqueid=...," cannot be delete +- Ticket 49055 - Clean up test suites +- Ticket 48797 - Add freebsd support to ns-slapd: Configure and makefile. +- Ticket 48797 - Add freebsd support to ns-slapd: Add freebsd support for ldaputil +- Ticket 48797 - Add freebsd support to ns-slapd: Add support for dsktune +- Ticket 48797 - Add freebsd support to ns-slapd: Add support for cpp in Fbsd +- Ticket 48797 - Add freebsd support to ns-slapd: Header files +- Ticket 48978 - Fix implicit function declaration +- Ticket 49002 - Remove memset on allocation +- Ticket 49021 - Automatic thread tuning +- Ticket 48894 - Issues with delete of entrywsi with large entries. +- Ticket 49054 - Fix sasl_map unused paramater compiler warnings. +- Ticket 48050 - Add test suite to acctpolicy_plugin +- Ticket 49048 - Fix rpm build failure +- Ticket 49042 - Test failure that expects old default +- Ticket 49042 - Increase cache defaults slightly +- Ticket 48894 - Issue with high number of entry state objects. +- Ticket 48978 - Fix more log refactoring issues +- Ticket 48707 - Draft Ldap SSO Token proposal +- Ticket 49024 - Fix the rest of the CI failures +- Ticket #48987 - Heap use after free in dblayer_close_indexes +- Ticket 48945 - Improve db2ldif error message. +- Ticket 49024 - Fix inst_dir parameter in defaults.inf +- Ticket 49024 - Fix dbdir paths and adjust test cases +- Ticket 48961 - Allow reset of configuration values to defaults. +- Ticket #47911 - Move dirsrv-snmp.service to 389-ds-base-snmp package +- Ticket bz1358565 - Fix compiler warning about unused variable +- Ticket bz1358565 - clear and unsalted password types are vulnerable to timing attack +- Ticket 49016 - (un)register/migration/remove may fail if there is no suffix on 'userRoot' backend +- Ticket 397 - Add PBKDF2 to Directory Server password storage. +- Ticket 49024 - Fix CI test failures and defaults.inf +- Ticket 49026 - Support nunc-stans pkgconfig +- Ticket 49025 - Upgrade nunc-stans to 0.2.1 +- Ticket 48978 - error log refactoring error + * Fri Feb 10 2017 Fedora Release Engineering - 1.3.6.1-1.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild @@ -786,7 +903,7 @@ fi * Mon Apr 11 2016 Noriko Hosoi - 1.3.5.1-3 - Release 1.3.5.1-3 - Fixed the %if expression for use_nunc_stans. -- Removed %if %{use_nunc_stans} from Source3 as well as from nunc_stans_ver. +- Removed %if % {use_nunc_stans} from Source3 as well as from nunc_stans_ver. * Mon Mar 28 2016 Noriko Hosoi - 1.3.5.1-2 - Release 1.3.5.1-2 @@ -2055,26 +2172,26 @@ Ticket 47577 - crash when removing entries from cache - Ticket #446 - anonymous limits are being applied to directory manager * Tue Oct 9 2012 Mark Reynolds - 1.3.0.a1-1 -Ticket #28 MOD operations with chained delete/add get back error 53 on backend config -Ticket #173 ds-logpipe.py script's man page and script help should be updated for -t option. -Ticket #196 RFE: Interpret IPV6 addresses for ACIs, replication, and chaining -Ticket #218 RFE - Make RIP working with Replicated Entries -Ticket #328 make sure all internal search filters are properly escaped -Ticket #329 389-admin build fails on F-18 with new apache -Ticket #344 deadlock in replica_write_ruv -Ticket #351 use betxn plugins by default -Ticket #352 make cos, roles, views betxn aware -Ticket #356 logconv.pl - RFE - track bind info -Ticket #365 Audit log - clear text password in user changes -Ticket #370 Opening merge qualifier CoS entry using RHDS console changes the entry. -Ticket #372 Setting nsslapd-listenhost or nsslapd-securelistenhost breaks ACI processing -Ticket #386 Overconsumption of memory with large cachememsize and heavy use of ldapmodify -Ticket #402 unhashedTicket #userTicket #password in entry extension -Ticket #408 Create a normalized dn cache -Ticket #453 db2index with -tattrname:type,type fails -Ticket #461 fix build problem with mozldap c sdk -Ticket #462 add test for include file mntent.h -Ticket #463 different parameters of getmntent in Solaris +- Ticket #28 - MOD operations with chained delete/add get back error 53 on backend config +- Ticket #173 - ds-logpipe.py script's man page and script help should be updated for -t option. +- Ticket #196 - RFE: Interpret IPV6 addresses for ACIs, replication, and chaining +- Ticket #218 - RFE - Make RIP working with Replicated Entries +- Ticket #328 - make sure all internal search filters are properly escaped +- Ticket #329 - 389-admin build fails on F-18 with new apache +- Ticket #344 - deadlock in replica_write_ruv +- Ticket #351 - use betxn plugins by default +- Ticket #352 - make cos, roles, views betxn aware +- Ticket #356 - logconv.pl - RFE - track bind info +- Ticket #365 - Audit log - clear text password in user changes +- Ticket #370 - Opening merge qualifier CoS entry using RHDS console changes the entry. +- Ticket #372 - Setting nsslapd-listenhost or nsslapd-securelistenhost breaks ACI processing +- Ticket #386 - Overconsumption of memory with large cachememsize and heavy use of ldapmodify +- Ticket #402 - unhashedTicket #userTicket #password in entry extension +- Ticket #408 - Create a normalized dn cache +- Ticket #453 - db2index with -tattrname:type,type fails +- Ticket #461 - fix build problem with mozldap c sdk +- Ticket #462 - add test for include file mntent.h +- Ticket #463 - different parameters of getmntent in Solaris * Tue Sep 25 2012 Rich Megginson - 1.2.11.15-1 - Trac Ticket #470 - 389 prevents from adding a posixaccount with userpassword after schema reload diff --git a/sources b/sources index 4b6e168..adb5070 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -cf6c4698fca2d4a3214f07276f70b121 nunc-stans-0.2.0.tar.bz2 -615eaea5306dd22c4407352ebaf95eb1 389-ds-base-1.3.6.1.tar.bz2 +SHA512 (389-ds-base-1.3.6.1.tar.bz2) = aaccea52d95d0a6b453c04a4dccb7347312963d50b8ba72a32765ca6b86337c3038ed7481bb3cac2476471912789863f513f71ce6b88b9b58e51832df4117085