diff --git a/README.md b/README.md
index 016ca4b..4134275 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,6 @@
# java-jfree-librepository
LibRepository provides a simple abstraction layer to access bulk content that is organized in a hierarchical layer.
-
Unlike the JSR-000170, this library does not aim to solve all problems associated with content storages. The main purpose of LibRepository is to give users an astract view over an filesystem like structure so that content generator and content consumer do no longer have to make assumptions about where to store the generated content.
-
The repositories described here should not be used to store other things than BLOBs.
diff --git a/java-jfree-librepository-1.1.3-build.patch b/java-jfree-librepository-1.1.3-build.patch
new file mode 100644
index 0000000..a102d3c
--- /dev/null
+++ b/java-jfree-librepository-1.1.3-build.patch
@@ -0,0 +1,40 @@
+--- librepository-1.1.3/build.properties 2009-11-17 16:41:36.000000000 +0000
++++ librepository-1.1.3/build.properties 2009-11-17 16:41:56.000000000 +0000
+@@ -1,7 +1,9 @@
+-project.revision=TRUNK-SNAPSHOT
++project.revision=1.1.3
+ ivy.artifact.group=pentaho-library
+ ivy.artifact.id=librepository
+ impl.title=LibRepository
+ impl.productID=librepository
+ src.dir=${basedir}/source
+ dependency.libbase.revision=1.1.3
++antcontrib.available=true
++build.cache.dir=lib
+--- librepository-1.1.3/common_build.xml 2009-11-17 20:34:29.000000000 +0000
++++ librepository-1.1.3/common_build.xml 2009-11-17 20:36:51.000000000 +0000
+@@ -1071,6 +1071,7 @@
+
+
+
++
+
+
+
+@@ -1356,6 +1357,9 @@
+ doctitle="${impl.title} documentation">
+
+
++
++
++
+
+
+
+@@ -1648,4 +1652,4 @@
+
+
+
+-
+\ No hay ningún carácter de nueva línea al final del fichero
++
diff --git a/java-jfree-librepository-1.1.3-build_properties.patch b/java-jfree-librepository-1.1.3-build_properties.patch
deleted file mode 100644
index f6e55b2..0000000
--- a/java-jfree-librepository-1.1.3-build_properties.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- build.properties 2009-11-16 10:24:36.000000000 +0100
-+++ build.properties-gil 2011-01-22 16:29:14.000000000 +0100
-@@ -1,7 +1,9 @@
--project.revision=TRUNK-SNAPSHOT
-+project.revision=1.1.3
- ivy.artifact.group=pentaho-library
- ivy.artifact.id=librepository
- impl.title=LibRepository
- impl.productID=librepository
- src.dir=${basedir}/source
- dependency.libbase.revision=1.1.3
-+antcontrib.available=true
-+build.cache.dir=lib
diff --git a/java-jfree-librepository-1.1.3-java11.patch b/java-jfree-librepository-1.1.3-java11.patch
new file mode 100644
index 0000000..f68f2a9
--- /dev/null
+++ b/java-jfree-librepository-1.1.3-java11.patch
@@ -0,0 +1,79 @@
+--- librepository-1.1.3/common_build.xml 2020-05-05 20:00:37.191243154 +0100
++++ librepository-1.1.3/common_build.xml 2020-05-05 20:00:44.344299905 +0100
+@@ -136,8 +136,8 @@
+
+-
+-
++
++
+
+
+
+
+
+-
+-
+-
+
+
+
+--- librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/ContentItem.java 2020-06-10 14:13:04.904250346 +0100
++++ librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/ContentItem.java 2020-06-10 14:12:10.686769515 +0100
+@@ -43,7 +43,7 @@
+ * Tries to open and return a output stream for writing into the content item. This call will fail if the
+ * item is not writeable. Whether opening multiple output streams at the same time is possible is implementation
+ * dependent, but it is generally not recommended to try this.
+- *
++ *
+ * Having both an input and output stream open at the same time is not guaranteed to work. Generally if you need
+ * to append data, first open the inputstream and copy the content to a temporary location and then write the
+ * content along with the appended content to the new output stream.
+@@ -58,7 +58,7 @@
+ * Tries to open and return a input stream for reading from the content item. This call will fail if the
+ * item is not readable. Whether opening multiple input streams at the same time is possible is implementation
+ * dependent.
+- *
++ *
+ * Having both an input and output stream open at the same time is not guaranteed to work. Generally if you need
+ * to append data, first open the inputstream and copy the content to a temporary location and then write the
+ * content along with the appended content to the new output stream.
+--- librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/LibRepositoryBoot.java 2020-06-10 14:13:14.599336328 +0100
++++ librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/LibRepositoryBoot.java 2020-06-10 14:12:10.690769550 +0100
+@@ -27,7 +27,7 @@
+ /**
+ * The LibRepositoryBoot class is used to initialize the library before it is
+ * first used. This loads all configurations and initializes all factories.
+- *
++ *
+ * Without booting, basic services like logging and the global configuration
+ * will not be availble.
+ *
+--- librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/stream/StreamContentItem.java 2020-06-10 14:13:28.417458875 +0100
++++ librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/stream/StreamContentItem.java 2020-06-10 14:12:10.693769577 +0100
+@@ -114,7 +114,7 @@
+ * Tries to open and return a output stream for writing into the content item. This call will fail if the
+ * item is not writeable. Whether opening multiple output streams at the same time is possible is implementation
+ * dependent, but it is generally not recommended to try this.
+- *
++ *
+ * Having both an input and output stream open at the same time is not guaranteed to work. Generally if you need
+ * to append data, first open the inputstream and copy the content to a temporary location and then write the
+ * content along with the appended content to the new output stream.
+@@ -132,7 +132,7 @@
+ * Tries to open and return a input stream for reading from the content item. This call will fail if the
+ * item is not readable. Whether opening multiple input streams at the same time is possible is implementation
+ * dependent.
+- *
++ *
+ * Having both an input and output stream open at the same time is not guaranteed to work. Generally if you need
+ * to append data, first open the inputstream and copy the content to a temporary location and then write the
+ * content along with the appended content to the new output stream.
diff --git a/java-jfree-librepository-1.1.3-remove-ant-contrib-support.patch b/java-jfree-librepository-1.1.3-remove-ant-contrib-support.patch
new file mode 100644
index 0000000..f1abd39
--- /dev/null
+++ b/java-jfree-librepository-1.1.3-remove-ant-contrib-support.patch
@@ -0,0 +1,240 @@
+diff --git a/common_build.xml b/common_build.xml
+index acdfad2..7ce88d9 100644
+--- a/common_build.xml
++++ b/common_build.xml
+@@ -152,9 +152,6 @@ TYPICAL TARGET SEQUENCE
+
+-
+
+@@ -325,68 +322,6 @@ TYPICAL TARGET SEQUENCE
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+
++ depends="svnant.download-check">
+
+
+
+@@ -491,58 +426,13 @@ TYPICAL TARGET SEQUENCE
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+
++ depends="ivy.download-check">
+
+
+
+@@ -602,7 +492,7 @@ TYPICAL TARGET SEQUENCE
+ Verifies that there are no SNAPSHOT dependencies defined in the ivy xml.
+ If there are SNAPSHOTS, fail the release build.
+ ====================================================================-->
+-
++
+
+
+
+@@ -769,7 +659,7 @@ TYPICAL TARGET SEQUENCE
+ Publishes the jar file for this project to a Maven2 repository.
+ ====================================================================-->
+
++ depends="create-pom,ivy.deliver">
+
+
+
+@@ -1038,12 +928,11 @@ TYPICAL TARGET SEQUENCE
+ - compile.pre : anything needed to prep for compile
+ - compile.compile : the actual compilation step
+ - compile.src_copy : copying the source into the bin directory
+- - compile.res_copy : copying the resources into the bin directory
+ - compile.lic_copy : copying the license information into the bin directory
+ - compile.post : anything needed after the compile is done
+ ====================================================================-->
+
+
+
+@@ -1075,37 +964,6 @@ TYPICAL TARGET SEQUENCE
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+-
++
+
+
+
+@@ -1165,7 +1023,7 @@ TYPICAL TARGET SEQUENCE
+ Creates a new manifest file if one is not specified, or updates
+ an existing manifest file if one is specified.
+ ====================================================================-->
+-
++
+
+
+
diff --git a/java-jfree-librepository-1.1.3-remove-commons-logging.patch b/java-jfree-librepository-1.1.3-remove-commons-logging.patch
new file mode 100644
index 0000000..29acd60
--- /dev/null
+++ b/java-jfree-librepository-1.1.3-remove-commons-logging.patch
@@ -0,0 +1,117 @@
+diff -ru librepository-1.1.3.orig/source/org/pentaho/reporting/libraries/repository/zip/ZipContentLocation.java librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/zip/ZipContentLocation.java
+--- librepository-1.1.3.orig/source/org/pentaho/reporting/libraries/repository/zip/ZipContentLocation.java 2021-04-07 11:16:05.369984495 +0100
++++ librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/zip/ZipContentLocation.java 2021-04-07 11:17:30.417035353 +0100
+@@ -21,8 +21,7 @@
+ import java.util.HashMap;
+ import java.util.zip.ZipEntry;
+
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.repository.ContentCreationException;
+ import org.pentaho.reporting.libraries.repository.ContentEntity;
+ import org.pentaho.reporting.libraries.repository.ContentIOException;
+@@ -35,7 +34,7 @@
+
+ public class ZipContentLocation implements ContentLocation
+ {
+- private static final Log logger = LogFactory.getLog(ZipContentLocation.class);
++ private static final Logger logger = Logger.getLogger(ZipContentLocation.class.getName());
+ private ZipRepository repository;
+ private ZipContentLocation parent;
+ private String comment;
+@@ -114,7 +113,7 @@
+ final Object entry = entries.get(path);
+ if (entry instanceof ContentItem)
+ {
+- logger.warn("Directory-Entry with the same name as a Content-Entry encountered: " + path);
++ logger.warning("Directory-Entry with the same name as a Content-Entry encountered: " + path);
+ return;
+ }
+ final ZipContentLocation location;
+@@ -164,7 +163,7 @@
+ {
+ if (entry instanceof ContentItem)
+ {
+- logger.warn("Directory-Entry with the same name as a Content-Entry encountered: " + path);
++ logger.warning("Directory-Entry with the same name as a Content-Entry encountered: " + path);
+ return;
+ }
+
+@@ -188,12 +187,12 @@
+ {
+ if (entry instanceof ContentItem)
+ {
+- logger.warn("Duplicate Content-Entry encountered: " + path);
++ logger.warning("Duplicate Content-Entry encountered: " + path);
+ return;
+ }
+ else if (entry != null)
+ {
+- logger.warn("Replacing Directory-Entry with the same name as a Content-Entry: " + path);
++ logger.warning("Replacing Directory-Entry with the same name as a Content-Entry: " + path);
+ }
+ final ZipContentItem contentItem = new ZipContentItem(repository, this, zipEntry, data);
+ entries.put(path, contentItem);
+@@ -352,4 +351,4 @@
+ {
+ return (entries.remove(entity.getName()) != null);
+ }
+-}
+\ No newline at end of file
++}
+diff -ru librepository-1.1.3.orig/source/org/pentaho/reporting/libraries/repository/zipreader/ZipReadContentLocation.java librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/zipreader/ZipReadContentLocation.java
+--- librepository-1.1.3.orig/source/org/pentaho/reporting/libraries/repository/zipreader/ZipReadContentLocation.java 2021-04-07 11:16:05.365984446 +0100
++++ librepository-1.1.3/source/org/pentaho/reporting/libraries/repository/zipreader/ZipReadContentLocation.java 2021-04-07 11:17:22.342935587 +0100
+@@ -21,8 +21,7 @@
+ import java.util.HashMap;
+ import java.util.zip.ZipEntry;
+
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.repository.ContentCreationException;
+ import org.pentaho.reporting.libraries.repository.ContentEntity;
+ import org.pentaho.reporting.libraries.repository.ContentIOException;
+@@ -39,7 +38,7 @@
+ */
+ public class ZipReadContentLocation implements ContentLocation
+ {
+- private static final Log logger = LogFactory.getLog(ZipReadContentLocation.class);
++ private static final Logger logger = Logger.getLogger(ZipReadContentLocation.class.getName());
+ private ZipReadRepository repository;
+ private ZipReadContentLocation parent;
+ private String comment;
+@@ -117,7 +116,7 @@
+ final Object entry = entries.get(path);
+ if (entry instanceof ContentItem)
+ {
+- logger.warn("Directory-Entry with the same name as a Content-Entry encountered: " + path);
++ logger.warning("Directory-Entry with the same name as a Content-Entry encountered: " + path);
+ return;
+ }
+ final ZipReadContentLocation location;
+@@ -164,7 +163,7 @@
+ {
+ if (entry instanceof ContentItem)
+ {
+- logger.warn("Directory-Entry with the same name as a Content-Entry encountered: " + path);
++ logger.warning("Directory-Entry with the same name as a Content-Entry encountered: " + path);
+ return;
+ }
+
+@@ -188,12 +187,12 @@
+ {
+ if (entry instanceof ContentItem)
+ {
+- logger.warn("Duplicate Content-Entry encountered: " + path);
++ logger.warning("Duplicate Content-Entry encountered: " + path);
+ return;
+ }
+ else if (entry != null)
+ {
+- logger.warn("Replacing Directory-Entry with the same name as a Content-Entry: " + path);
++ logger.warning("Replacing Directory-Entry with the same name as a Content-Entry: " + path);
+ }
+ final ZipReadContentItem contentItem = new ZipReadContentItem(repository, this, zipEntry, data);
+ entries.put(path, contentItem);
diff --git a/java-jfree-librepository.spec b/java-jfree-librepository.spec
index 87e0e8a..2dfb4a0 100644
--- a/java-jfree-librepository.spec
+++ b/java-jfree-librepository.spec
@@ -1,102 +1,56 @@
-%define with_gcj 1
-%define javahome %{_jvmdir}/jdk
-
Name: java-jfree-librepository
Version: 1.1.3
-Release: 1mamba
+Release: 2mamba
Summary: a simple abstraction layer to access bulk content that is organized in a hierarchical layer
Group: Development/Libraries/Java
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco
-URL: http://reporting.pentaho.org/
-# http://sourceforge.net/projects/jfreereport/
-# cvs -d:pserver:anonymous@jfreereport.cvs.sourceforge.net:/cvsroot/jfreereport login
-# cvs -z3 -d:pserver:anonymous@jfreereport.cvs.sourceforge.net:/cvsroot/jfreereport co -P librepository
-Source0: http://sourceforge.net/projects/jfreereport/files/02.%20Libraries/1.1.3-stable/librepository-1.1.3.zip
-Patch0: java-jfree-librepository-1.1.3-build_properties.patch
+URL: https://community.hitachivantara.com/home
+Source0: http://sourceforge.net/projects/jfreereport/files/02.%20Libraries/%{version}-stable/librepository-%{version}.zip
+Patch0: java-jfree-librepository-1.1.3-build.patch
+Patch1: java-jfree-librepository-1.1.3-java11.patch
+Patch2: java-jfree-librepository-1.1.3-remove-ant-contrib-support.patch
+Patch3: java-jfree-librepository-1.1.3-remove-commons-logging.patch
License: LGPL
-BuildRequires: ant-contribb3
+## AUTOBUILDREQ-BEGIN
+## AUTOBUILDREQ-END
+BuildRequires: javapackages
BuildRequires: apache-ant
-BuildRequires: jakarta-commons-logging
-BuildRequires: java-glassfish-jaf
-BuildRequires: java-glassfish-javamail
-BuildRequires: java-jfree-libbase
-BuildRequires: java-junit3
-BuildRequires: jpackage-utils
Requires: java-jfree-libbase
-Requires: jpackage-utils
-BuildRoot: %{_tmppath}/%{name}-%{version}-root
+Requires: javapackages
%description
LibRepository provides a simple abstraction layer to access bulk content that is organized in a hierarchical layer.
-
Unlike the JSR-000170, this library does not aim to solve all problems associated with content storages. The main purpose of LibRepository is to give users an astract view over an filesystem like structure so that content generator and content consumer do no longer have to make assumptions about where to store the generated content.
-
The repositories described here should not be used to store other things than BLOBs.
-%if %with_gcj
-%package gcj
-Group: System/Libraries/Java
-Summary: GCJ support for %{name}
-## AUTOBUILDREQ-BEGIN
-BuildRequires: glibc-devel
-BuildRequires: java-gcj-compat
-BuildRequires: libgcc
-BuildRequires: libgcj4-devel
-BuildRequires: libz-devel
-## AUTOBUILDREQ-END
-Requires: java-gcj-compat
-
-%description gcj
-JFree Base Services.
-
-This package contains GCJ support for %{name}.
-%endif
-
%package javadoc
Group: Documentation
Summary: Javadoc for %{name}
%description javadoc
LibRepository provides a simple abstraction layer to access bulk content that is organized in a hierarchical layer.
-
This package contains documentation for %{name}.
%prep
+%setup -q -c
+%patch0 -p1 -b .build
+%patch1 -p1 -b .java11
+%patch2 -p1 -b .remove-ant-contrib-support
+%patch3 -p1 -b .remove-commons-logging
-%setup -q -c -n librepository
-%patch0
-
-for j in $(find . -name "*.jar"); do
- rm -rf $j
-done
-
-for txt in ChangeLog.txt licence-LGPL.txt README.txt; do
- %{__perl} -pi -e 's/\r$//g' $txt
-done
-
-mkdir -p lib/ant-contrib
-ln -sf $(build-classpath libbase) lib/libbase-%{version}.jar
-ln -sf $(build-classpath commons-logging-api) lib/commons-logging-api-1.0.4.jar
-ln -sf $(build-classpath junit-3.8.2) lib/junit.jar
-ln -sf $(build-classpath glassfish-jaf) lib/activation-1.1.1.jar
-ln -sf $(build-classpath glassfish-javamail-monolithic) lib/mail-1.4.1.jar
-ln -s %{_javadir}/ant/* lib/ant-contrib
+find . -name "*.jar" -exec rm -f {} \;
+mkdir -p lib
+build-jar-repository -s -p lib libbase
%build
-
-unset JAVA_HOME
-export JAVA_HOME=%{javahome}
-export CLASSPATH=$(build-classpath ant-contribb3 commons-logging-api libbase junit-3.8.2 glassfish-jaf glassfish-javamail)
-ant \
- jar javadoc
+ant jar javadoc
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
mkdir -p %{buildroot}%{_javadir}
-
install -pm 644 dist/librepository-%{version}.jar %{buildroot}%{_javadir}/librepository-%{version}.jar
(
@@ -109,10 +63,6 @@ install -pm 644 dist/librepository-%{version}.jar %{buildroot}%{_javadir}/librep
mkdir -p %{buildroot}%{_javadocdir}/librepository
cp -pr bin/javadoc/docs/api/* %{buildroot}%{_javadocdir}/librepository
-%if %with_gcj
-%{_bindir}/aot-compile-rpm
-%endif
-
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
@@ -120,30 +70,16 @@ cp -pr bin/javadoc/docs/api/* %{buildroot}%{_javadocdir}/librepository
%defattr(-,root,root)
%{_javadir}/librepository-%{version}.jar
%{_javadir}/librepository.jar
-%doc ChangeLog.txt licence-LGPL.txt README.txt
-
-%if %with_gcj
-%post gcj
-if [ -x %{_bindir}/rebuild-gcj-db ] ; then
- %{_bindir}/rebuild-gcj-db
-fi
-
-%postun gcj
-if [ -x %{_bindir}/rebuild-gcj-db ] ; then
- %{_bindir}/rebuild-gcj-db
-fi
-
-%files gcj
-%defattr(-,root,root)
-%{_libdir}/gcj/java-jfree-librepository/librepository-%{version}.jar.db
-%{_libdir}/gcj/java-jfree-librepository/librepository-%{version}.jar.so
-%endif
+%doc licence-LGPL.txt
%files javadoc
%defattr(-,root,root)
%{_javadocdir}/librepository
%changelog
+* Fri Dec 10 2021 Silvan Calarco 1.1.3-2mamba
+- rebuilt without gcj and with java 11
+
* Sat Jan 22 2011 gil 1.1.3-1mamba
- update to 1.1.3