Blob Blame History Raw
%global namedreltag -M21
%global namedversion %{version}%{?namedreltag}

%global jetty_version 8.1.17.v20150415

Name:          apacheds
Version:       2.0.0
Release:       0.8.M21%{?dist}
Summary:       Apache Directory Server
License:       ASL 2.0
Url:           http://directory.apache.org/
Source0:       http://www.apache.org/dist/directory/apacheds/dist/%{namedversion}/%{name}-parent-%{namedversion}-source-release.zip

Patch0:        apacheds-2.0.0-M21-jetty8.patch

BuildRequires: maven-local
BuildRequires: mvn(com.google.code.findbugs:annotations)
BuildRequires: mvn(commons-collections:commons-collections)
BuildRequires: mvn(commons-io:commons-io)
BuildRequires: mvn(commons-lang:commons-lang)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(ldapsdk:ldapsdk)
BuildRequires: mvn(log4j:log4j:1.2.17)
BuildRequires: mvn(net.sf.ehcache:ehcache-core)
BuildRequires: mvn(org.apache.directory.api:api-asn1-api)
BuildRequires: mvn(org.apache.directory.api:api-dsml-engine)
BuildRequires: mvn(org.apache.directory.api:api-i18n)
BuildRequires: mvn(org.apache.directory.api:api-ldap-client-api)
BuildRequires: mvn(org.apache.directory.api:api-ldap-codec-core)
BuildRequires: mvn(org.apache.directory.api:api-ldap-codec-standalone)
BuildRequires: mvn(org.apache.directory.api:api-ldap-extras-aci)
BuildRequires: mvn(org.apache.directory.api:api-ldap-extras-sp)
BuildRequires: mvn(org.apache.directory.api:api-ldap-extras-trigger)
BuildRequires: mvn(org.apache.directory.api:api-ldap-extras-util)
BuildRequires: mvn(org.apache.directory.api:api-ldap-model)
BuildRequires: mvn(org.apache.directory.api:api-ldap-schema-data)
BuildRequires: mvn(org.apache.directory.api:api-util)
BuildRequires: mvn(org.apache.directory.jdbm:apacheds-jdbm1)
BuildRequires: mvn(org.apache.directory.mavibot:mavibot)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.mina:mina-core)
BuildRequires: mvn(org.bouncycastle:bcprov-jdk15on)
BuildRequires: mvn(org.eclipse.jetty:jetty-server:%jetty_version)
BuildRequires: mvn(org.eclipse.jetty:jetty-util:%jetty_version)
BuildRequires: mvn(org.eclipse.jetty:jetty-webapp:%jetty_version)
BuildRequires: mvn(org.eclipse.jetty:jetty-xml:%jetty_version)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.slf4j:slf4j-log4j12)
BuildRequires: mvn(tanukisoft:wrapper)

Obsoletes:     %{name}-jdbm < %{version}
Obsoletes:     %{name}-utils
Obsoletes:     %{name}-xdbm

BuildArch:     noarch

%description
ApacheDS is an extensible and embeddable directory server
entirely written in Java, which has been certified LDAPv3
compatible by the Open Group. Besides LDAP it supports
Kerberos 5 and the Change Password Protocol. It has been
designed to introduce triggers, stored procedures, queues and
views to the world of LDAP which has lacked these rich
constructs.

%package core
Summary:       ApacheDS Core

%description core
Server's core contains the JNDI provider, interceptors,
schema, and database subsystems. The core is the heart
of the server without protocols enabled.
- A linked in memory AVL tree implementation with Cursor.
- Contains classes that store interfaces with various
constants in ApacheDS.
Cursor interfaces used by the server core.
Server side LDAP entry classes.
Integration testing framework for Apache Directory Server.
Contains a JNDI provider implementation which wraps the
core so existing applications based on JNDI can use the
server embedded transparently. Remote and local run-time
operations will appear and feel exactly the same with a
performance boost when local. All operations via this
JNDI provider bypass the LDAP stack to perform operations
directly on the ApacheDS core.
A collection of tools as plugins to manage various tasks
associated with the directory server.
Shared classes between the core plugin and the core to
prevent cyclic dependencies since the core uses the core
plugin.
A linked in memory splay tree implementation with Cursor.
Core unit tests. 

%package http-integration
Summary:       ApacheDS Jetty HTTP Server Integration

%description http-integration
This package provides Jetty HTTP Server Integration.

%package i18n
Summary:       ApacheDS I18n

%description i18n
Internationalization of errors and other messages.

%package kerberos
Summary:       ApacheDS Kerberos

%description kerberos
This package provides:
- The Kerberos protocol provider for ApacheDS.
- Interceptors used by the ApacheDS kerberos service.

%package osgi
Summary:       ApacheDS OSGi Integration

%description osgi
This package provides:
- ApacheDS OSGi Integration Tests.

%package protocols
Summary:       ApacheDS Protocols

%description protocols
This package provides the following protocols for ApacheDS:
- Change Password
- DHCP
- DNS
- LDAP
- NTP

%package server
Summary:       ApacheDS Server modules

%description server
Integration testing framework for Apache Directory Server.
The JNDI provider which launches the core and associated
network services: Changepw, Kerberos, LDAP, and NTP if
all are configured. By default only LDAP is configured
to start-up.
A multi-master replication service for replicating
information across ApacheDS instances. This service is
modeled as an interceptor.
Various command-line utilities for apacheds.
Unit testing framework for ApacheDS Server JNDI Provider.
A single authoritative server.XML file. 

%package service
Summary:       ApacheDS Services

%description service
This package provides ApacheDS Services. Used for reading the
configuration present in a Partition and instantiate the
necessary objects like DirectoryService, Interceptors etc.

%package wrapper
Summary:       ApacheDS Wrapper

%description wrapper
A Tanuki Wrapper implementation for the ApacheDS service.

%package javadoc
Summary:       Javadoc for %{name}

%description javadoc
This package contains javadoc for %{name}.

%prep
%setup -q -n %{name}-parent-%{namedversion}
# cleanup
find . -name "*.bat" -delete
find . -name "*.class" -delete
find . -name "*.exe" -delete
find . -name "*.jar" -print -delete
rm -r installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/*

chmod 644 README.txt

%patch0 -p1

%pom_xpath_set "pom:properties/pom:jetty.version" %jetty_version

%pom_remove_parent

%pom_remove_plugin -r :maven-site-plugin
%pom_remove_plugin -r :maven-source-plugin
%pom_remove_plugin -r :maven-shade-plugin
%pom_remove_plugin -r :maven-dependency-plugin
%pom_remove_plugin -r :maven-checkstyle-plugin

%pom_disable_module all
%pom_disable_module installers
%pom_disable_module installers-maven-plugin

%pom_remove_dep -r :apacheds-installers
%pom_remove_dep -r :apacheds-installers-maven-plugin
%pom_remove_dep -r org.apache.directory.junit:junit-addons
# Remove the com.mycila.junit.concurrent annotations
sed -i '/Concurrency/d' $(find */src/test/java -name "*.java")
sed -i '/ConcurrentJunitRunner/d' $(find */src/test/java -name "*.java")

%pom_change_dep -r findbugs:annotations com.google.code.findbugs:annotations

%pom_xpath_remove -r "pom:dependency[pom:scope='test']"

%mvn_package :%{name}-core* core
%mvn_package :%{name}-interceptors* core
%mvn_package ":%{name}-http-directory-bridge" core
%mvn_package :%{name}-jdbm* core
%mvn_package ":%{name}-ldif-partition" core
%mvn_package ":%{name}-mavibot-partition" core
%mvn_package ":%{name}-server-annotations" core
%mvn_package ":%{name}-server-config" core
%mvn_package ":%{name}-test-framework" core
%mvn_package ":%{name}-xdbm-partition" core
%mvn_package ":%{name}-i18n" i18n
%mvn_package ":%{name}-interceptor-kerberos" kerberos
%mvn_package :%{name}-kerberos-* kerberos
%mvn_package ":kerberos-client" kerberos
%mvn_package ":%{name}-protocol-kerberos" kerberos
%mvn_package ":%{name}-protocol-changepw" protocols
%mvn_package ":%{name}-protocol-dhcp" protocols
%mvn_package ":%{name}-protocol-dns" protocols
%mvn_package ":%{name}-protocol-ldap" protocols
%mvn_package ":%{name}-protocol-ntp" protocols
%mvn_package ":%{name}-protocol-shared" protocols
%mvn_package ":ldap-client-test" protocols
%mvn_package ":%{name}-osgi-integ" osgi
%mvn_package ":%{name}-server-integ" server
%mvn_package ":%{name}-server-jndi" server
%mvn_package ":%{name}-server-replication" server
%mvn_package ":%{name}-service" service
%mvn_package ":%{name}-service-builder" service

%build

# No test dep org.apache.directory.junit:junit-addons:0.1
%mvn_build -s -f -- -Dproject.build.sourceEncoding=UTF-8

%install
%mvn_install

%files -f .mfiles-%{name}-parent
%doc README.txt
%license LICENSE NOTICE

%files core -f .mfiles-core
%license LICENSE NOTICE

%files http-integration -f .mfiles-%{name}-http-integration
%license LICENSE NOTICE

%files i18n -f .mfiles-i18n
%license LICENSE NOTICE

%files kerberos -f .mfiles-kerberos
%license LICENSE NOTICE

%files osgi -f .mfiles-osgi
%license LICENSE NOTICE

%files protocols -f .mfiles-protocols
%license LICENSE NOTICE

%files server -f .mfiles-server
%license LICENSE NOTICE

%files service -f .mfiles-service
%license LICENSE NOTICE

%files wrapper -f .mfiles-%{name}-wrapper
%license LICENSE NOTICE

%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE

%changelog
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.8.M21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.7.M21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.6.M21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.5.M21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.4.M21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Fri Apr 08 2016 gil cattaneo <puntogil@libero.it> - 2.0.0-0.3.M21
- rebuilt

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.2.M21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Sat Dec 26 2015 gil cattaneo <puntogil@libero.it> 2.0.0-0.1.M21
- update to 2.0.0-M21

* Sat Nov 28 2015 gil cattaneo <puntogil@libero.it> 2.0.0-0.2.M20
- rebuilt with apacheds-ldap-api 1.0.0-M32 support

* Wed Aug 19 2015 gil cattaneo <puntogil@libero.it> 2.0.0-0.1.M20
- update to 2.0.0-M20

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.7-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Thu Jan 29 2015 gil cattaneo <puntogil@libero.it> 1.5.7-11
- introduce license macro

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.7-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Tue May 13 2014 Michael Simacek <msimacek@redhat.com> - 1.5.7-9
- Disable tests requiring old log4j api

* Fri Mar 28 2014 Michael Simacek <msimacek@redhat.com> - 1.5.7-8
- Use Requires: java-headless rebuild (#1067528)

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.7-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Fri Jul 05 2013 gil cattaneo <puntogil@libero.it> 1.5.7-6
- fix unowned directories

* Fri Jul 05 2013 gil cattaneo <puntogil@libero.it> 1.5.7-5
- switch to XMvn
- minor changes to adapt to current guideline

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 1.5.7-3
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local

* Wed Aug 22 2012 gil cattaneo <puntogil@libero.it> 1.5.7-2
- Added missing deps: bouncycastle

* Sun May 20 2012 gil cattaneo <puntogil@libero.it> 1.5.7-1
- initial rpm