%define with_maven 0 %define c_version 1.5.1 %define s_version %(echo %version | tr . _) Name: apache-xml-security Version: 1.4.3 Release: 2mamba Summary: Implementation of W3C security standards for XML Group: Development/Libraries/Java Vendor: openmamba Distribution: openmamba Packager: gil URL: http://santuario.apache.org/Java/index.html # svn co https://svn.apache.org/repos/asf/xml/security/tags/J_1_4_3/ xml-security-1.4.3 # tar czf xml-security-1.4.3-src-svn.tar.gz xml-security-1.4.3 Source0: xml-security-%{version}-src-svn.tar.gz Source1: http://santuario.apache.org/dist/c-library/xml-security-c-%{c_version}.tar.gz Source2: maven2-2.2.0-settings.xml Source3: apache-xml-security-1.4.3-OSGi-MANIFEST.tar.gz Source4: apache-xml-security-1.4.3-documentation.tar.gz License: Apache Software License 2.0 BuildRequires: apache-ant BuildRequires: apache-batik %if %with_maven BuildRequires: apache-maven BuildRequires: apache-maven-ant-plugin BuildRequires: apache-maven-antrun-plugin BuildRequires: apache-maven-assembly-plugin BuildRequires: apache-maven-compiler-plugin BuildRequires: apache-maven-jar-plugin BuildRequires: apache-maven-javadoc-plugin BuildRequires: apache-maven-site-plugin BuildRequires: apache-maven-source-plugin #BuildRequires: maven-surefire-plugin # felix maven-bundle-plugin %endif BuildRequires: java-servletapi4 BuildRequires: java-excalibur-avalon-logkit BuildRequires: java-excalibur-avalon-framework BuildRequires: sun-java ## AUTOBUILDREQ-BEGIN BuildRequires: apache-log4j BuildRequires: glibc-devel BuildRequires: jakarta-commons-logging BuildRequires: libgcc BuildRequires: libopenssl-devel BuildRequires: libstdc++6-devel BuildRequires: libxalan-c-devel BuildRequires: libxerces-c-devel BuildRequires: xalan-j2 BuildRequires: xerces-j2 BuildRequires: xml-commons-apis ## AUTOBUILDREQ-END Requires: apache-log4j Requires: jakarta-commons-logging Requires: xalan-j2 Requires: xerces-j2 Requires: xml-commons-apis BuildRoot: %{_tmppath}/%{name}-%{version}-root %description The XML Security project is aimed at providing implementation of security standards for XML. Currently the focus is on the W3C standards : - XML-Signature Syntax and Processing; and - XML Encryption Syntax and Processing. Once these are implemented, XML Key Management is likely to be the next focus for the project. Two libraries are currently available. A Java library, which includes a mature Digital Signature implementation. Encryption is currently under development. A C++ library is also now available. Functionality is currently more basic than that provided by the Java library. %package javadoc Summary: Javadoc for %{name} Group: Documentation %description javadoc Java Implementation of W3C security standards for XML. This package contains javadoc for %{name}. %package demo Summary: Samples for %{name} Group: Documentation %description demo Java Implementation of W3C security standards for XML. This package contains samples for %{name}. %package source Group: Development/Languages Summary: %{name} source %description source Java Implementation of W3C security standards for XML. This package contains %{name} source. %package c Summary: C++ Implementation of W3C security standards for XML Group: System/Libraries BuildRequires: libopenssl-devel BuildRequires: libxalan-c-devel BuildRequires: libxerces-c-devel %description c The %{name}-c library is a C++ implementation of the XML Digital Signature specification. The library makes use of the Apache XML project's Xerces-C XML Parser and Xalan-C XSLT processor. The latter is used for processing XPath and XSLT transforms. %package c-devel Summary: Devel package for %{name}-c Group: Development/Libraries Requires: %{name}-c = %{?epoch:%epoch:}%{version}-%{release} Requires: libopenssl-devel Requires: libxalan-c-devel Requires: libxerces-c-devel %description c-devel C++ Implementation of W3C security standards for XML. This package contains libraries and header files for %{name}-c. %package c-static Summary: Static package for %{name}-c Group: Development/Libraries Requires: %{name}-c-devel = %{?epoch:%epoch:}%{version}-%{release} %description c-static C++ Implementation of W3C security standards for XML. This package contains static libraries for %{name}-c. %prep %setup -q -n xml-security-%{version} -a 1 rm -rf c mv xml-security-c-%{c_version} c chmod -R go=u-w * for j in $(find . -name "*.jar"); do rm -rf $j done %if %with_maven for j in $(find . -name "build.xml"); do mv $j ${j}-old done cp %{SOURCE2} settings.xml mkdir -p .m2/repository/JPP/maven2/default_poms sed -i -e "s|__INTERNAL_REPO_PLACEHOLDER__|file://`pwd`/external_repo|g" settings.xml sed -i -e "s|__EXTERNAL_REPO_PLACEHOLDER__|file://`pwd`/.m2/repository|g" settings.xml %else tar xf %{SOURCE3} pushd libs ln -sf $(build-classpath xml-commons-apis) xml-apis.jar ln -sf $(build-classpath xercesImpl) xercesImpl.jar ln -sf $(build-classpath xalan-j2) xalan.jar ln -sf $(build-classpath xalan-j2-serializer) serializer.jar ln -sf $(build-classpath jakarta-commons-logging) commons-logging.jar ln -sf $(build-classpath jakarta-commons-logging-api) commons-logging-api.jar ln -sf $(build-classpath log4j) . ln -sf $(build-classpath junit-3.8.2) junit.jar popd mkdir -p doc/site/build/site # require apache forrest cd doc/site/build/site tar xf %{SOURCE4} %endif %build export JAVA_HOME=/usr/lib/jvm/jdk-sun export MAVEN_REPO_LOCAL=$PWD/.m2/repository export MAVEN_SETTINGS=$PWD/settings.xml mkdir -p $MAVEN_REPO_LOCAL %if %with_maven mkdir external_repo ln -s %{_javadir} external_repo/JPP mvn-jpp \ -e \ -s $MAVEN_SETTINGS \ -Dmaven.test.failure.ignore=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dpackaging=bundle \ ant:ant install javadoc:javadoc %else export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath log4j junit-3.8.2 commons-logging-api commons-logging batik-all) CLASSPATH=$CLASSPATH:$(build-classpath xalan-j2 xalan-j2-serializer xercesImpl xml-commons-apis) CLASSPATH=$CLASSPATH:$(build-classpath ant excalibur/avalon-logkit excalibur/avalon-framework servletapi4) ant \ -Dlib.jce=$JAVA_HOME/jre/lib/jce.jar \ build.bindist #test ( cd target/classes touch META-INF/MANIFEST.MF zip -u ../../build/xmlsec-%{version}.jar META-INF/MANIFEST.MF touch META-INF/maven/org.apache.santuario/xmlsec/pom.properties zip -u ../../build/xmlsec-%{version}.jar META-INF/maven/org.apache.santuario/xmlsec/pom.properties touch META-INF/maven/org.apache.santuario/xmlsec/pom.xml zip -u ../../build/xmlsec-%{version}.jar META-INF/maven/org.apache.santuario/xmlsec/pom.xml ) cd c sed -i -e 's/-O2 -DNDEBUG/%{optflags}/g' configure* %configure %make %check ./c/bin/xtest cd .. %endif %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" mkdir -p %{buildroot}%{_javadir} install -m 644 build/xmlsec-%{version}.jar \ %{buildroot}%{_javadir}/xml-security-%{version}.jar mkdir -p %{buildroot}%{_datadir}/maven2/poms install -m 644 pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP-xml-security.pom %add_to_maven_depmap org.apache.santuario xmlsec %{version} JPP xml-security ( cd %{buildroot}%{_javadir} for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/} done ) mkdir -p %{buildroot}%{_javadocdir}/xml-security-%{version} cp -pr build/docs/html/javadoc/* %{buildroot}%{_javadocdir}/xml-security-%{version} ln -s xml-security-%{version} %{buildroot}%{_javadocdir}/xml-security mkdir -p %{buildroot}%{_datadir}/xml-security-%{version} cp -pr src_samples/* %{buildroot}%{_datadir}/xml-security-%{version} install -m 644 build/xmlsecSamples-%{version}.jar \ %{buildroot}%{_datadir}/xml-security-%{version} install -m 644 build/xmlsecTests-%{version}.jar \ %{buildroot}%{_datadir}/xml-security-%{version} # apache harmony buildrequire mkdir -p %{buildroot}%{_sourcedir} cp -pr build/xml-security-bin-%{s_version}.zip %{buildroot}%{_sourcedir} cd c make install DESTDIR=%{buildroot} CPPROG="cp -p" cd .. # these are only needed for apache xml-security-c developers rm -rf %{buildroot}%{_bindir} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root) %{_javadir}/xml-security-%{version}.jar %{_javadir}/xml-security.jar %{_datadir}/maven2/poms %{_mavendepmapfragdir} %doc LICENSE TODO %files javadoc %defattr(-,root,root) %{_javadocdir}/xml-security-%{version} %{_javadocdir}/xml-security %files demo %defattr(-,root,root) %{_datadir}/xml-security-%{version} %files source %defattr(-,root,root) %{_sourcedir}/xml-security-bin-%{s_version}.zip %post c -p /sbin/ldconfig %postun c -p /sbin/ldconfig %files c %defattr(-,root,root) %{_libdir}/libxml-security-c.so.* %files c-devel %defattr(-,root,root) %dir %{_includedir}/xsec %{_includedir}/xsec/canon %{_includedir}/xsec/dsig %{_includedir}/xsec/enc %{_includedir}/xsec/framework %{_includedir}/xsec/transformers %{_includedir}/xsec/utils %{_includedir}/xsec/xenc %{_includedir}/xsec/xkms %{_libdir}/libxml-security-c.so %files c-static %defattr(-,root,root) %{_libdir}/libxml-security-c.*a %changelog * Thu Nov 25 2010 gil 1.4.3-2mamba - rebuilt devel * Sat Jul 10 2010 gil 1.4.3-1mamba - update to 1.4.3 - added new sub package: apache-xml-security-c{,-devel,-static}; apache-xml-security-source * Thu Mar 19 2009 gil 1.4.2-1mamba - package created by autospec