%global reldate 20170915 Name: apache-poi Version: 3.17 Release: 3 Summary: The Java API for Microsoft Documents License: ASL 2.0 and (CC-BY and CC-BY-SA and W3C) and GPLv3 URL: http://poi.apache.org/ Source0: http://archive.apache.org/dist/poi/release/src/poi-src-%{version}-%{reldate}.tar.gz # These two zip files renamed after download #Source1: http://www.ecma-international.org/publications/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%204%20%28PDF%29.zip #Source2: http://www.ecma-international.org/publications/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%202%20%28PDF%29.zip Source1: Office_Open_XML_1st_edition_Part_4__PDF_.zip Source2: Office_Open_XML_1st_edition_Part_2__PDF_.zip Source3: http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd Source4: http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd Source5: http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcmitype.xsd Source6: http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd Source7: http://uri.etsi.org/01903/v1.3.2/XAdES.xsd Source8: http://uri.etsi.org/01903/v1.4.1/XAdESv141.xsd Patch1: apache-poi-3.14-compile-xsds.patch Patch2: apache-poi-3.14-build.patch Patch3: Adjust-handling-of-SchemaFactory.patch BuildArch: noarch BuildRequires: jacoco javapackages-local jmh jmh-generator-annprocess BuildRequires: apache-commons-collections4 >= 4.1 apache-commons-codec apache-commons-logging BuildRequires: mvn(com.github.virtuald:curvesapi) mvn(dom4j:dom4j) mvn(junit:junit) BuildRequires: mvn(log4j:log4j:1.2.17) mvn(org.apache.ant:ant-junit) BuildRequires: mvn(org.apache.santuario:xmlsec) >= 2.0.1 mvn(org.apache.xmlbeans:xmlbeans) BuildRequires: mvn(org.bouncycastle:bcpkix-jdk15on) mvn(org.bouncycastle:bcprov-jdk15on) BuildRequires: mvn(org.hamcrest:hamcrest-core) mvn(org.ow2.asm:asm-all) BuildRequires: mvn(org.slf4j:slf4j-api) mvn(rhino:js) BuildRequires: fontconfig liberation-sans-fonts liberation-serif-fonts %description The Apache POI Project's mission is to create and maintain Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft's OLE 2 Compound Document format (OLE2). In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. Apache POI is your Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and OLE2 formats and welcome others to participate. OLE2 files include most Microsoft Office files such as XLS, DOC, and PPT as well as MFC serialization API based file formats. The project provides APIs for the OLE2 Filesystem (POIFS) and OLE2 Document Properties (HPSF). Office OpenXML Format is the new standards based XML file format found in Microsoft Office 2007 and 2008. This includes XLSX, DOCX and PPTX. The project provides a low level API to support the Open Packaging Conventions using openxml4j. For each MS Office application there exists a component module that attempts to provide a common high level Java API to both OLE2 and OOXML document formats. This is most developed for Excel workbooks (SS=HSSF+XSSF). Work is progressing for Word documents (HWPF+XWPF) and PowerPoint presentations (HSLF+XSLF). The project has recently added support for Outlook (HSMF). Microsoft opened the specifications to this format in October 2007. We would welcome contributions. There are also projects for Visio (HDGF) and Publisher (HPBF). %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains the API documentation for %{name}. %prep %setup -q -n poi-%{version} %patch1 %patch2 %patch3 -p1 find -name '*.class' -delete find -name '*.jar' -delete mkdir lib ooxml-lib build-jar-repository -s -p lib \ ant commons-collections4 commons-codec commons-logging bcprov bcpkix xmlsec slf4j/slf4j-api log4j-1.2.17 \ junit hamcrest/core jmh/jmh-core jmh/jmh-generator-annprocess build-jar-repository -s -p ooxml-lib dom4j xmlbeans/xbean curvesapi pushd ooxml-lib unzip "%SOURCE1" OfficeOpenXML-XMLSchema.zip unzip "%SOURCE2" OpenPackagingConventions-XMLSchema.zip cp -p %SOURCE3 . cp -p %SOURCE4 . cp -p %SOURCE5 . cp -p %SOURCE6 . cp -p %SOURCE7 . cp -p %SOURCE8 . popd %pom_xpath_inject "pom:dependencies/pom:dependency[pom:artifactId ='ant']" \ "provided" maven/poi-excelant.pom for m in poi poi-excelant poi-examples poi-ooxml poi-ooxml-schemas poi-scratchpad ; do %mvn_file org.apache.poi:${m} poi/apache-${m} poi/${m} done rm src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java \ src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java sed -i '/TestXSSFSheet/d' src/ooxml/testcases/org/apache/poi/xssf/usermodel/AllXSSFUsermodelTests.java rm src/ooxml/testcases/org/apache/poi/sl/TestFonts.java rm -f src/ooxml/testcases/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java rm -f src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java rm -f src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java sed -i '/testPPTX/,+15d;:go;1,1!{P;N;D};N;bgo' src/ooxml/testcases/org/apache/poi/TestPOIXMLDocument.java sed -i '$d' src/ooxml/testcases/org/apache/poi/TestPOIXMLDocument.java %build cat > build.properties <<'EOF' main.ant.jar=lib/ant.jar main.commons-collections4.jar=lib/commons-collections4.jar main.commons-codec.jar=lib/commons-codec.jar main.commons-logging.jar=lib/commons-logging.jar main.log4j.jar=lib/log4j-1.2.17.jar main.junit.jar=lib/junit.jar main.jmh.jar=lib/jmh_jmh-core.jar main.jmhAnnotation.jar=lib/jmh_jmh-generator-annprocess.jar main.hamcrest.jar=lib/hamcrest_core.jar ooxml.dom4j.jar=ooxml-lib/dom4j.jar ooxml.curvesapi.jar=ooxml-lib/curvesapi.jar ooxml.xmlbeans23.jar=ooxml-lib/xmlbeans_xbean.jar ooxml.xmlbeans26.jar=ooxml-lib/xmlbeans_xbean.jar dsig.xmlsec.jar=lib/xmlsec.jar dsig.bouncycastle-prov.jar=lib/bcprov.jar dsig.bouncycastle-pkix.jar=lib/bcpkix.jar dsig.sl4j-api.jar=lib/slf4j_slf4j-api.jar disconnected=1 DSTAMP=%{reldate} EOF export ANT_OPTS="-Xmx768m" ant -propertyfile build.properties compile-ooxml-xsds jar maven-poms javadocs %install for m in poi poi-excelant poi-examples poi-ooxml poi-ooxml-schemas poi-scratchpad ; do %mvn_artifact build/dist/maven/$m/${m}-%{version}.pom build/dist/maven/$m/${m}-%{version}.jar done %mvn_install -J build/tmp/site/build/site/apidocs %files -f .mfiles %doc KEYS %license LICENSE NOTICE %files javadoc -f .mfiles-javadoc %license LICENSE NOTICE %changelog * Mon Dec 18 2023 Ge Wang - 3.17-3 - Fix build failure due to openjdk introduced a incomplete patch * Tue Dec 1 2020 huanghaitao - 3.17-2 - Fix CVE-2019-12415 * Thu Aug 13 2020 chengzihan - 3.17-1 - Package init