diff --git a/apache-tuscany-sdo-1.1.1-src.tar.gz b/apache-tuscany-sdo-1.1.1-src.tar.gz
new file mode 100644
index 0000000..1f2b456
Binary files /dev/null and b/apache-tuscany-sdo-1.1.1-src.tar.gz differ
diff --git a/tuscany-sdo-java.spec b/tuscany-sdo-java.spec
new file mode 100644
index 0000000..4eabd86
--- /dev/null
+++ b/tuscany-sdo-java.spec
@@ -0,0 +1,79 @@
+%global namedreltag %{nil}
+%global namedversion %{version}%{?namedreltag}
+%global api_version 2.1
+%global api_name tuscany-sdo-api-r%{api_version}
+
+Name: tuscany-sdo-java
+Version: 1.1.1
+Release: 1
+Summary: Service Data Objects 2.1 Java API spec
+License: ASL 2.0
+Url: http://tuscany.apache.org/sdo-java.html
+Source0: http://archive.apache.org/dist/tuscany/java/sdo/%{version}/apache-tuscany-sdo-%{version}-src.tar.gz
+BuildRequires: mvn(junit:junit) maven-local maven-assembly-plugin maven-plugin-bundle
+BuildRequires: mvn(org.apache.maven.shared:maven-shared-components:pom:)
+BuildArch: noarch
+
+%description
+SDO is a framework for data application development, which
+includes an architecture and API. SDO does the following:
+- Simplifies the J2EE data programming model
+- Abstracts data in a service oriented architecture (SOA)
+- Unifies data application development
+- Supports and integrates XML
+- Incorporates J2EE patterns and best practices
+With SDO, you do not need to be familiar with a
+technology-specific API in order to access and utilize data.
+You need to know only one API, the SDO API, which lets you
+work with data from multiple data sources, including
+relational databases, entity EJB components, XML pages, Web
+services, the Java Connector Architecture, JavaServer Pages
+pages, and more.
+This package contains only a Java API of SDO 2.1 spec.
+EclipseLink is a implementation of this spec.
+
+%package javadoc
+Summary: Javadoc for %{name}
+
+%description javadoc
+This package contains the API documentation for %{name}.
+
+%prep
+%setup -q -n tuscany-sdo-%{version}-src
+%pom_disable_module lib
+%pom_disable_module impl
+%pom_disable_module tools
+%pom_disable_module plugin
+%pom_disable_module sample
+%pom_disable_module distribution
+%pom_disable_module java5tools
+%pom_remove_plugin :maven-javadoc-plugin
+%pom_remove_plugin :maven-javadoc-plugin sdo-api
+sed -i 's|tuscany-sdo-api-r${specVersion}|%{api_name}|' $( find . -iname "pom.xml")
+sed -i 's|pom.name|project.name|' sdo-api/pom.xml
+sed -i 's|pom.description|project.description|' sdo-api/pom.xml
+sed -i 's|pom.organization.name|project.organization.name|' sdo-api/pom.xml
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='tuscany-sdo-api-r2.1']/pom:version" '
+${project.version}'
+sed -i 's/\r//' LICENSE NOTICE README RELEASE_NOTES
+sed -i 's#1.4#1.5#' pom.xml sdo-api/pom.xml
+sed -i 's#1.4#1.5#' pom.xml sdo-api/pom.xml
+%mvn_file :%{api_name} %{name}
+%mvn_file :%{api_name} tuscany-sdo-api
+
+%build
+%mvn_build
+
+%install
+%mvn_install
+
+%files -f .mfiles
+%doc README RELEASE_NOTES
+%license LICENSE NOTICE
+
+%files javadoc -f .mfiles-javadoc
+%license LICENSE NOTICE
+
+%changelog
+* Tue Jul 28 2020 leiju - 1.1.1-1
+- Package init
diff --git a/tuscany-sdo-java.yaml b/tuscany-sdo-java.yaml
new file mode 100644
index 0000000..eae570a
--- /dev/null
+++ b/tuscany-sdo-java.yaml
@@ -0,0 +1,4 @@
+version_control: svn
+src_repo: http://svn.apache.org/repos/asf/tuscany/sdo-java/
+tag_prefix: "^"
+seperator: "."