diff --git a/.txw2.metadata b/.txw2.metadata
new file mode 100644
index 0000000..7b69c2a
--- /dev/null
+++ b/.txw2.metadata
@@ -0,0 +1 @@
+bc9578d34b862350648015dc4b19137f26035695 SOURCES/txw2-20110809.tar.gz
diff --git a/README.md b/README.md
deleted file mode 100644
index 0e7897f..0000000
--- a/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-The master branch has no content
- 
-Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6
- 
-If you find this file in a distro specific branch, it means that no content has been checked in yet
diff --git a/SOURCES/txw2-20110809-args4j.patch b/SOURCES/txw2-20110809-args4j.patch
new file mode 100644
index 0000000..c9cf730
--- /dev/null
+++ b/SOURCES/txw2-20110809-args4j.patch
@@ -0,0 +1,146 @@
+diff -Naur txw2-20110809/compiler/src/main/java/com/sun/tools/txw2/Main.java txw2-20110809-work/compiler/src/main/java/com/sun/tools/txw2/Main.java
+--- txw2-20110809/compiler/src/main/java/com/sun/tools/txw2/Main.java	2011-03-29 02:59:19.000000000 -0400
++++ txw2-20110809-work/compiler/src/main/java/com/sun/tools/txw2/Main.java	2012-01-19 13:06:40.049998255 -0500
+@@ -43,10 +43,10 @@
+ import com.sun.codemodel.writer.FileCodeWriter;
+ import com.sun.codemodel.writer.SingleStreamCodeWriter;
+ import com.sun.tools.txw2.model.NodeSet;
++import org.kohsuke.args4j.Argument;
++import org.kohsuke.args4j.Option;
+ import org.kohsuke.args4j.CmdLineException;
+ import org.kohsuke.args4j.CmdLineParser;
+-import org.kohsuke.args4j.opts.BooleanOption;
+-import org.kohsuke.args4j.opts.StringOption;
+ import org.kohsuke.rngom.parse.IllegalSchemaException;
+ import org.kohsuke.rngom.parse.Parseable;
+ import org.kohsuke.rngom.parse.compact.CompactParseable;
+@@ -60,6 +60,8 @@
+ import java.io.IOException;
+ import java.net.MalformedURLException;
+ import java.util.Properties;
++import java.util.List;
++import java.util.ArrayList;
+ 
+ /**
+  * Programatic entry point to the TXW compiler.
+@@ -73,26 +75,39 @@
+         this.opts = opts;
+     }
+ 
+-    public static void main(String[] args) {
+-        System.exit(run(args));
++    public static class Options {
++        @Argument
++        public List<String> arguments = new ArrayList<String>();
++
++        @Option(name="-o")
++        public String output;
++
++        @Option(name="-p")
++        public String pkg;
++
++        @Option(name="-c")
++        public boolean compact;
++
++        @Option(name="-x")
++        public boolean xml;
++
++        @Option(name="-xsd")
++        public boolean xsd;
++
++        @Option(name="-h")
++        public boolean chain;
+     }
+ 
+-    public static class Options {
+-        public StringOption output = new StringOption("-o");
+-        public StringOption pkg = new StringOption("-p");
+-        public BooleanOption compact = new BooleanOption("-c");
+-        public BooleanOption xml = new BooleanOption("-x");
+-        public BooleanOption xsd = new BooleanOption("-xsd");
+-        public BooleanOption chain = new BooleanOption("-h");
++    public static void main(String[] args) {
++        System.exit(run(args));
+     }
+ 
+     public static int run(String[] args) {
+         Options opts = new Options();
+-        CmdLineParser parser = new CmdLineParser();
+-        parser.addOptionClass(opts);
++        CmdLineParser parser = new CmdLineParser(opts);
+ 
+         try {
+-            parser.parse(args);
++            parser.parseArgument(args);
+         } catch (CmdLineException e) {
+             System.out.println(e.getMessage());
+             printUsage();
+@@ -102,9 +117,9 @@
+         TxwOptions topts = new TxwOptions();
+         topts.errorListener = new ConsoleErrorReporter(System.out);
+ 
+-        if(opts.output.value!=null) {
++        if(opts.output != null) {
+             try {
+-                topts.codeWriter = new FileCodeWriter(new File(opts.output.value));
++                topts.codeWriter = new FileCodeWriter(new File(opts.output));
+             } catch( IOException e ) {
+                 System.out.println(e.getMessage());
+                 printUsage();
+@@ -114,12 +129,12 @@
+             topts.codeWriter = new SingleStreamCodeWriter(System.out);
+         }
+ 
+-        if(opts.chain.isOn()) {
++        if(opts.chain) {
+             topts.chainMethod = true;
+         }
+ 
+-        if(opts.pkg.value!=null) {
+-            topts._package = topts.codeModel._package(opts.pkg.value);
++        if(opts.pkg != null) {
++            topts._package = topts.codeModel._package(opts.pkg);
+         } else {
+             topts._package = topts.codeModel.rootPackage();
+         }
+@@ -146,21 +161,21 @@
+      * out of the specified schema file.
+      */
+     private static SchemaBuilder makeSourceSchema(CmdLineParser parser, Options opts, ErrorHandler eh) throws MalformedURLException {
+-        File f = new File((String)parser.getArguments().get(0));
++        File f = new File(opts.arguments.get(0));
+         final InputSource in = new InputSource(f.toURL().toExternalForm());
+ 
+-        if(opts.xsd.isOff() && opts.xml.isOff() && opts.compact.isOff()) {
++        if(!opts.xsd && !opts.xml && !opts.compact) {
+             // auto detect
+             if(in.getSystemId().endsWith(".rnc"))
+-                opts.compact.value=true;
++                opts.compact = true;
+             else
+             if(in.getSystemId().endsWith(".rng"))
+-                opts.xml.value=true;
++                opts.xml = true;
+             else
+-                opts.xsd.value=true;
++                opts.xsd = true;
+         }
+ 
+-        if(opts.xsd.isOn())
++        if(opts.xsd)
+             return new XmlSchemaLoader(in);
+ 
+         final Parseable parseable = makeRELAXNGSource(opts, in, eh, f);
+@@ -169,10 +184,10 @@
+     }
+ 
+     private static Parseable makeRELAXNGSource(Options opts, final InputSource in, ErrorHandler eh, File f) {
+-        if(opts.compact.isOn())
++        if(opts.compact)
+             return new CompactParseable(in,eh);
+ 
+-        if(opts.xml.isOn())
++        if(opts.xml)
+             return new SAXParseable(in,eh);
+ 
+         // otherwise sniff from the file extension
diff --git a/SOURCES/txw2-20110809-pom.patch b/SOURCES/txw2-20110809-pom.patch
new file mode 100644
index 0000000..b8c9e22
--- /dev/null
+++ b/SOURCES/txw2-20110809-pom.patch
@@ -0,0 +1,16 @@
+diff -Naur txw2-20110809/pom.xml txw2-20110809-work/pom.xml
+--- txw2-20110809/pom.xml	2011-08-09 10:31:55.000000000 -0400
++++ txw2-20110809-work/pom.xml	2012-01-19 10:00:37.965002334 -0500
+@@ -49,12 +49,6 @@
+     <version>20110809</version>
+     <packaging>pom</packaging>
+ 
+-    <parent>
+-        <groupId>net.java</groupId>
+-        <artifactId>jvnet-parent</artifactId>
+-        <version>1</version>
+-    </parent>
+-
+     <modules>
+         <module>compiler</module>
+         <module>runtime</module>
diff --git a/SPECS/txw2.spec b/SPECS/txw2.spec
new file mode 100644
index 0000000..c282f3d
--- /dev/null
+++ b/SPECS/txw2.spec
@@ -0,0 +1,132 @@
+Name: txw2
+Version: 20110809
+Release: 7%{?dist}
+Summary: Typed XML writer for Java
+Group: Development/Libraries
+License: CDDL and GPLv2 with exceptions
+URL: https://txw.dev.java.net
+
+# svn export https://svn.java.net/svn/jaxb~version2/tags/txw2-project-20110809/ txw2-20110809
+# tar -zcvf txw2-20110809.tar.gz txw2-20110809
+Source0: %{name}-%{version}.tar.gz
+
+# Remove the reference to the parent net.java:jvnet-parent, as no package
+# contains that artifact:
+Patch0: %{name}-%{version}-pom.patch
+
+# Update to use the version of args4j available in the distribution:
+Patch1: %{name}-%{version}-args4j.patch
+
+BuildArch: noarch
+
+BuildRequires: jpackage-utils
+BuildRequires: java-devel
+BuildRequires: maven-local
+
+BuildRequires: maven-compiler-plugin
+BuildRequires: maven-install-plugin
+BuildRequires: maven-jar-plugin
+BuildRequires: maven-javadoc-plugin
+BuildRequires: maven-release-plugin
+BuildRequires: maven-resources-plugin
+BuildRequires: maven-surefire-plugin
+BuildRequires: maven-surefire-provider-junit4
+BuildRequires: maven-shared
+BuildRequires: args4j
+BuildRequires: xsom
+BuildRequires: rngom
+BuildRequires: codemodel
+
+Requires: jpackage-utils
+Requires: java
+Requires: args4j
+Requires: xsom
+Requires: rngom
+Requires: codemodel
+
+
+%description
+Typed XML writer for Java.
+
+
+%package javadoc
+Summary: Javadocs for %{name}
+Group: Documentation
+Requires: jpackage-utils
+
+
+%description javadoc
+This package contains the API documentation for %{name}.
+
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+
+
+%build
+mvn-rpmbuild \
+  -Dproject.build.sourceEncoding=UTF-8 \
+  install \
+  javadoc:aggregate
+
+
+%install
+
+# Jar files:
+install -d -m 755 %{buildroot}%{_javadir}
+cp -p runtime/target/txw2-%{version}.jar %{buildroot}%{_javadir}/txw2.jar
+cp -p compiler/target/txwc2-%{version}.jar %{buildroot}%{_javadir}/txwc2.jar
+
+# POM files:
+install -d -m 755 %{buildroot}%{_mavenpomdir}
+cp -p pom.xml %{buildroot}%{_mavenpomdir}/JPP-txw2-project.pom
+cp -p runtime/pom.xml %{buildroot}%{_mavenpomdir}/JPP-txw2.pom
+cp -p compiler/pom.xml %{buildroot}%{_mavenpomdir}/JPP-txwc2.pom
+
+# Dependencies map:
+%add_maven_depmap JPP-txw2-project.pom
+%add_maven_depmap JPP-txw2.pom txw2.jar
+%add_maven_depmap JPP-txwc2.pom txwc2.jar
+
+# Javadoc files:
+install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
+cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
+
+
+%files
+%{_mavenpomdir}/*
+%{_mavendepmapfragdir}/*
+%{_javadir}/*
+%doc license.txt
+
+
+%files javadoc
+%{_javadocdir}/%{name}
+%doc license.txt
+
+
+%changelog
+* Fri Feb 22 2013 Juan Hernandez <juan.hernandez@redhat.com> - 20110809-7
+- Add build dependency on maven-shared (rhbz 914555)
+
+* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20110809-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 20110809-5
+- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
+- Replace maven BuildRequires with maven-local
+
+* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20110809-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Mar 2 2012 Juan Hernandez <juan.hernandez@redhat.com> 20110809-3
+- Use the jar names from upstream
+- Add comments describing the patches
+
+* Fri Feb 17 2012 Juan Hernandez <juan.hernandez@redhat.com> 20110809-2
+- Cleanup of the spec file
+
+* Mon Jan 16 2012 Marek Goldmann <mgoldman@redhat.com> 20110809-1
+- Initial packaging