diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..70eca51
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/maven-shared-utils-0.4-source-release.zip
diff --git a/.maven-shared-utils.metadata b/.maven-shared-utils.metadata
new file mode 100644
index 0000000..935ca63
--- /dev/null
+++ b/.maven-shared-utils.metadata
@@ -0,0 +1 @@
+4b298412e66e26b53a43700be4e76589124336e3 SOURCES/maven-shared-utils-0.4-source-release.zip
diff --git a/SOURCES/maven-shared-utils-tests.patch b/SOURCES/maven-shared-utils-tests.patch
new file mode 100644
index 0000000..214108d
--- /dev/null
+++ b/SOURCES/maven-shared-utils-tests.patch
@@ -0,0 +1,94 @@
+diff --git a/pom.xml b/pom.xml
+index e12f7e6..bb0745f 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -56,7 +56,7 @@
+
+ junit
+ junit
+- 4.9
++ 4.11
+ test
+
+
+diff --git a/src/test/java/org/apache/maven/shared/utils/ExpandTest.java b/src/test/java/org/apache/maven/shared/utils/ExpandTest.java
+index 298cb70..b032da9 100644
+--- a/src/test/java/org/apache/maven/shared/utils/ExpandTest.java
++++ b/src/test/java/org/apache/maven/shared/utils/ExpandTest.java
+@@ -73,6 +73,7 @@ public class ExpandTest
+ * @return
+ */
+ private File getTestTargetDir()
++ throws Exception
+ {
+ return tempFolder.newFolder( TEST_ZIP_TARGET_FOLDER );
+ }
+diff --git a/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java b/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java
+index 6d8cca3..e9e2ca5 100644
+--- a/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java
++++ b/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java
+@@ -25,6 +25,7 @@ import java.lang.reflect.Constructor;
+
+ import static org.hamcrest.CoreMatchers.*;
+ import static org.junit.Assert.assertThat;
++import static org.junit.Assert.assertTrue;
+ import static org.junit.Assert.fail;
+
+ import static org.apache.maven.shared.utils.testhelpers.ExceptionHelper.*;
+@@ -116,8 +117,8 @@ public class ReflectorTest
+ public void newInstancePublicConstructor()
+ throws Exception
+ {
+- assertThat( reflector.newInstance( ReflectorTestHelper.class, new Object[]{ "" } ),
+- is( ReflectorTestHelper.class ) );
++ assertTrue( reflector.newInstance( ReflectorTestHelper.class, new Object[]{ "" } )
++ instanceof ReflectorTestHelper );
+ }
+
+ @Test( expected = NullPointerException.class )
+@@ -222,8 +223,8 @@ public class ReflectorTest
+ public void getSingletonPublicMethod()
+ throws Exception
+ {
+- assertThat( reflector.getSingleton( ReflectorTestHelper.class, new Object[]{ "" } ),
+- is( ReflectorTestHelper.class ) );
++ assertTrue( reflector.getSingleton( ReflectorTestHelper.class, new Object[]{ "" } )
++ instanceof ReflectorTestHelper );
+ }
+
+ @Test( expected = NullPointerException.class )
+@@ -252,8 +253,8 @@ public class ReflectorTest
+ public void getSingletonNonStaticMethod()
+ throws Exception
+ {
+- assertThat( reflector.getSingleton( ReflectorTestHelper.class, new Object[]{ "", Boolean.FALSE } ),
+- is( ReflectorTestHelper.class ) );
++ assertTrue( reflector.getSingleton( ReflectorTestHelper.class, new Object[]{ "", Boolean.FALSE } )
++ instanceof ReflectorTestHelper );
+ }
+
+ //// invoke( Object, String, Object[] )
+@@ -866,8 +867,8 @@ public class ReflectorTest
+ public void invokeStaticPublicMethod()
+ throws Exception
+ {
+- assertThat( reflector.invokeStatic( ReflectorTestHelper.class, "getInstance", new Object[]{ "" } ),
+- is( ReflectorTestHelper.class ) );
++ assertTrue( reflector.invokeStatic( ReflectorTestHelper.class, "getInstance", new Object[]{ "" } )
++ instanceof ReflectorTestHelper );
+ }
+
+ @Test( expected = NullPointerException.class )
+@@ -896,9 +897,9 @@ public class ReflectorTest
+ public void invokeStaticNonStaticMethod()
+ throws Exception
+ {
+- assertThat(
+- reflector.invokeStatic( ReflectorTestHelper.class, "getInstance", new Object[]{ "", Boolean.FALSE } ),
+- is( ReflectorTestHelper.class ) );
++ assertTrue(
++ reflector.invokeStatic( ReflectorTestHelper.class, "getInstance", new Object[]{ "", Boolean.FALSE } )
++ instanceof ReflectorTestHelper );
+ }
+
+ //// getConstructor( Class, Class[] )
diff --git a/SPECS/maven-shared-utils.spec b/SPECS/maven-shared-utils.spec
new file mode 100644
index 0000000..290733a
--- /dev/null
+++ b/SPECS/maven-shared-utils.spec
@@ -0,0 +1,80 @@
+Name: maven-shared-utils
+Version: 0.4
+Release: 3%{?dist}
+Summary: Maven shared utility classes
+License: ASL 2.0
+URL: http://maven.apache.org/shared/maven-shared-utils
+Source0: http://repo1.maven.org/maven2/org/apache/maven/shared/%{name}/%{version}/%{name}-%{version}-source-release.zip
+# Patching tests so that they are compatible with JUnit 4.11
+# (upstream bug http://jira.codehaus.org/browse/MSHARED-285)
+Patch0: %{name}-tests.patch
+
+BuildArch: noarch
+
+BuildRequires: maven-local
+BuildRequires: apache-commons-lang3
+BuildRequires: apache-rat
+BuildRequires: maven-shared
+BuildRequires: maven-shade-plugin
+
+%description
+This project aims to be a functional replacement for plexus-utils in Maven.
+
+It is not a 100% API compatible replacement though but a replacement with
+improvements: lots of methods got cleaned up, generics got added and we dropped
+a lot of unused code.
+
+%package javadoc
+Summary: Javadoc for %{name}
+
+%description javadoc
+API documentation for %{name}.
+
+%prep
+%setup -q
+%pom_remove_plugin org.codehaus.mojo:findbugs-maven-plugin
+%patch0 -p1
+
+%build
+%mvn_build
+
+%install
+%mvn_install
+
+%files -f .mfiles
+%doc LICENSE NOTICE
+
+%files javadoc -f .mfiles-javadoc
+%doc LICENSE NOTICE
+
+%changelog
+* Fri Dec 27 2013 Daniel Mach - 0.4-3
+- Mass rebuild 2013-12-27
+
+* Fri Jun 28 2013 Mikolaj Izdebski - 0.4-2
+- Rebuild to regenerate API documentation
+- Resolves: CVE-2013-1571
+
+* Mon Apr 22 2013 Tomas Radej - 0.4-1
+- Updated to latest upstream version
+- Fixed and reenabled tests
+
+* Mon Apr 08 2013 Michal Srb - 0.3-2
+- Disable tests (they don't work with junit >= 4.11)
+
+* Fri Mar 15 2013 Michal Srb - 0.3-1
+- Update to upstream version 0.3
+
+* Tue Feb 19 2013 Mikolaj Izdebski - 0.2-4
+- Build with xmvn
+
+* Thu Feb 14 2013 Fedora Release Engineering - 0.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Wed Feb 06 2013 Java SIG - 0.2-2
+- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
+- Replace maven BuildRequires with maven-local
+
+* Wed Jan 16 2013 Tomas Radej - 0.2-1
+- Initial version
+