diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index ae88073..0000000
--- a/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-xmlgraphics-commons-1.3-src.tar.gz
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..eb74f1f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/xmlgraphics-commons-*-src.tar.gz
+/*.src.rpm
diff --git a/Makefile b/Makefile
deleted file mode 100644
index ee16775..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: xmlgraphics-commons
-# $Id$
-NAME := xmlgraphics-commons
-SPECFILE = $(firstword $(wildcard *.spec))
-
-define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
-endef
-
-MAKEFILE_COMMON := $(shell $(find-makefile-common))
-
-ifeq ($(MAKEFILE_COMMON),)
-# attept a checkout
-define checkout-makefile-common
-test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
-endef
-
-MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
-endif
-
-include $(MAKEFILE_COMMON)
diff --git a/jdk25.patch b/jdk25.patch
new file mode 100644
index 0000000..2b6713a
--- /dev/null
+++ b/jdk25.patch
@@ -0,0 +1,12 @@
+--- xmlgraphics-commons-2.11/src/main/java/org/apache/xmlgraphics/image/loader/impl/ImageLoaderRawJPEG.java
++++ xmlgraphics-commons-2.11/src/main/java/org/apache/xmlgraphics/image/loader/impl/ImageLoaderRawJPEG.java
+@@ -228,7 +228,7 @@
+ if (padding != 0) {
+ try {
+ iccStream.write(new byte[padding]);
+- } catch (IOException ioe) {
++ } catch (Exception ioe) {
+ throw new IOException("Error while aligning ICC stream: " + ioe.getMessage());
+ }
+ }
+
diff --git a/sources b/sources
index f93362e..1bba186 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-cf2af2e250af4422d48cdaf53aeffaf4 xmlgraphics-commons-1.3-src.tar.gz
+SHA512 (xmlgraphics-commons-2.11-src.tar.gz) = 2249a1ca0ee26522d0a8f34af96791611dfe849278ad98b2f5a571fde662a8eef7f2594f6929f2414f57e0bcd286ed14192471556fb29c9355cb046e9c806e0c
diff --git a/xmlgraphics-commons.spec b/xmlgraphics-commons.spec
index 944018a..8f86f5c 100644
--- a/xmlgraphics-commons.spec
+++ b/xmlgraphics-commons.spec
@@ -1,82 +1,243 @@
Name: xmlgraphics-commons
-Version: 1.3
-Release: 3
+Version: 2.11
+Release: 7%{?dist}
Epoch: 0
Summary: XML Graphics Commons
-Group: Development/Libraries
-License: ASL 2.0
+License: Apache-2.0
URL: http://xmlgraphics.apache.org/
-Source0: xmlgraphics-commons-1.3-src.tar.gz
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Source0: http://archive.apache.org/dist/xmlgraphics/commons/source/xmlgraphics-commons-%{version}-src.tar.gz
+Patch1: jdk25.patch
BuildArch: noarch
-BuildRequires: java-1.6.0-openjdk-devel >= 1:1.6.0.0-0.7
-BuildRequires: jpackage-utils >= 0:1.6
-BuildRequires: ant >= 0:1.6
-BuildRequires: ant-junit >= 0:1.6
-BuildRequires: junit
-BuildRequires: jakarta-commons-io >= 0:1.1
-BuildRequires: jakarta-commons-logging >= 0:1.0.4
-Requires: jakarta-commons-logging >= 0:1.0.4
-Requires: jakarta-commons-io >= 0:1.1
+ExclusiveArch: %{java_arches} noarch
+
+BuildRequires: maven-local-openjdk25
+BuildRequires: mvn(commons-io:commons-io)
+BuildRequires: mvn(commons-logging:commons-logging)
+BuildRequires: mvn(junit:junit)
+BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
+BuildRequires: mvn(org.mockito:mockito-core)
+BuildRequires: mvn(xml-resolver:xml-resolver)
%description
-Apache XML Graphics Commons is a library that consists of
-several reusable components used by Apache Batik and
-Apache FOP. Many of these components can easily be used
-separately outside the domains of SVG and XSL-FO. You will
-find components such as a PDF library, an RTF library,
-Graphics2D implementations that let you generate PDF &
+Apache XML Graphics Commons is a library that consists of
+several reusable components used by Apache Batik and
+Apache FOP. Many of these components can easily be used
+separately outside the domains of SVG and XSL-FO. You will
+find components such as a PDF library, an RTF library,
+Graphics2D implementations that let you generate PDF &
PostScript files, and much more.
-%package javadoc
-Summary: Javadoc for %{name}
-Group: Documentation
-
-%description javadoc
-%{summary}.
+%package javadoc
+Summary: Javadoc for %{name}
+%description javadoc
+This package contains API documentation for %{name}.
%prep
%setup -q %{name}-%{version}
-rm -f `find . -name "*.jar"`
+patch -p1 < %{PATCH1}
+find -name "*.jar" -delete
+# Disable plugins not needed for RPM build
+%pom_remove_plugin :maven-checkstyle-plugin
+
+# Make into OSGi bundle
+%pom_xpath_inject pom:project 'bundle'
+%pom_add_plugin org.apache.felix:maven-bundle-plugin . \
+" true
+
+
+ org.apache.xmlgraphics
+
+ "
%build
-export ANT_HOME=/usr/share/ant
-export JAVA_HOME=/usr/lib/jvm/java-openjdk
-export CLASSPATH=$CLASSPATH:/usr/share/java/commons-logging.jar
-export OPT_JAR_LIST="ant/ant-junit junit"
-pushd lib
-ln -sf $(build-classpath commons-io) .
-popd
-ant package javadocs
+%mvn_file : %{name}
+%mvn_build
%install
-rm -rf $RPM_BUILD_ROOT
-install -Dpm 0644 build/%{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
-ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
-install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-cp -pr build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
+%mvn_install
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(-,root,root,-)
-%doc LICENSE NOTICE README
-%{_javadir}/*.jar
-
-%files javadoc
-%defattr(-,root,root,-)
-%doc %{_javadocdir}/%{name}-%{version}
-%doc %{_javadocdir}/%{name}
+%files -f .mfiles
+%license LICENSE NOTICE
+%doc README
+%files javadoc -f .mfiles-javadoc
+%license LICENSE NOTICE
%changelog
+* Fri Jul 17 2026 Fedora Release Engineering - 0:2.11-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
+
+* Sat Jan 17 2026 Fedora Release Engineering - 0:2.11-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
+
+* Wed Jul 30 2025 jiri vanek - 0:2.11-4
+- Rrevert to jdk21
+
+* Tue Jul 29 2025 jiri vanek - 0:2.11-3
+- Rebuilt for java-25-openjdk as preffered jdk
+
+* Fri Jul 25 2025 Fedora Release Engineering - 0:2.11-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
+
+* Tue May 06 2025 Gwyn Ciesla - 0:2.11-1
+- 2.11
+
+* Sun Jan 19 2025 Fedora Release Engineering - 0:2.10-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
+
+* Wed Oct 09 2024 Gwyn Ciesla - 0:2.10-1
+- 2.10
+
+* Sat Jul 20 2024 Fedora Release Engineering - 0:2.9-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Tue Feb 27 2024 Jiri Vanek - 0:2.9-3
+- Rebuilt for java-21-openjdk as system jdk
+
+* Sat Jan 27 2024 Fedora Release Engineering - 0:2.9-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Wed Aug 23 2023 Gwyn Ciesla - 0:2.9-1
+- 2.9
+
+* Sat Jul 22 2023 Fedora Release Engineering - 0:2.8-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Thu Mar 02 2023 Gwyn Ciesla - 0:2.8-3
+- migrated to SPDX license
+
+* Sat Jan 21 2023 Fedora Release Engineering - 0:2.8-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Wed Nov 09 2022 Gwyn Ciesla - 0:2.8-1
+- 2.8
+
+* Sat Jul 23 2022 Fedora Release Engineering - 0:2.7-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jul 08 2022 Jiri Vanek - 0:2.7-3
+- Rebuilt for Drop i686 JDKs
+
+* Sat Feb 05 2022 Jiri Vanek - 0:2.7-2
+- Rebuilt for java-17-openjdk as system jdk
+
+* Mon Jan 24 2022 Gwyn Ciesla - 0:2.7-1
+- 2.7
+
+* Sat Jan 22 2022 Fedora Release Engineering - 0:2.6-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jul 23 2021 Fedora Release Engineering - 0:2.6-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon Mar 01 2021 Jie Kang - 0:2.6-1
+- Update to latest upstream release
+
+* Thu Jan 28 2021 Fedora Release Engineering - 0:2.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Sun Nov 01 2020 Mat Booth - 0:2.4-1
+- Update to latest upstream release
+
+* Wed Jul 29 2020 Fedora Release Engineering - 0:2.3-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Sat Jul 11 2020 Jiri Vanek - 0:2.3-4
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Fri Jan 31 2020 Fedora Release Engineering - 0:2.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sat Jul 27 2019 Fedora Release Engineering - 0:2.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Wed May 15 2019 Mat Booth - 0:2.3-1
+- Update to latest upstream release
+
+* Sun Feb 03 2019 Fedora Release Engineering - 0:2.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Sat Jul 14 2018 Fedora Release Engineering - 0:2.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Thu Apr 26 2018 Mat Booth - 0:2.2-1
+- Update to latest release
+- Switch to maven-based build
+- Add OSGi metadata
+
+* Fri Feb 09 2018 Fedora Release Engineering - 0:2.0.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Tue Jan 16 2018 Michael Simacek - 0:2.0.1-5
+- Install with XMvn
+
+* Thu Jul 27 2017 Fedora Release Engineering - 0:2.0.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sat Feb 11 2017 Fedora Release Engineering - 0:2.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Feb 05 2016 Fedora Release Engineering - 0:2.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Tue Jul 14 2015 Michael Simacek - 0:2.0.1-1
+- Update to upstream version 2.0.1
+
+* Fri Jun 19 2015 Fedora Release Engineering - 0:2.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Fri Jan 30 2015 RĂ¼diger Landmann - 0:2.0-1
+- Rebase on new upstream
+
+* Mon Aug 4 2014 Mikolaj Izdebski - 0:1.5-4
+- Update to current packaging guidelines
+- Resolves: rhbz#1107290
+
+* Sun Jun 08 2014 Fedora Release Engineering - 0:1.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sun Aug 04 2013 Fedora Release Engineering - 0:1.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Tue Mar 19 2013 Mat Booth - 0:1.5-1
+- Update to 1.5, rhbz #895934
+- Drop unneeded patch
+
+* Fri Feb 15 2013 Fedora Release Engineering - 0:1.4-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sun Jul 22 2012 Fedora Release Engineering - 0:1.4-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Mar 06 2012 Deepak Bhole 1.4-5
+- Added dist to the release tag
+
+* Thu Mar 01 2012 Jiri Vanek - 0:1.4-5
+- Resolves: rhbz#796341
+- Added xmlgraphics-commons-java-7-fix.patch to fix build with Java 7
+
+* Sat Jan 14 2012 Fedora Release Engineering - 0:1.4-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue May 3 2011 Stanislav Ochotnicky - 0:1.4-3
+- Install maven metadata
+- Versionless jars & javadocs
+- Fixes according to new guidelines
+
+* Mon Feb 07 2011 Fedora Release Engineering - 0:1.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Fri Oct 1 2010 Alexander Kurtakov 0:1.4-1
+- Updte to 1.4.
+
+* Sat Jan 9 2010 Alexander Kurtakov 0:1.3.1-1
+- Update to 1.3.1.
+- Fix Source0 url.
+
* Mon Jul 27 2009 Fedora Release Engineering - 0:1.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild