diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..52b077b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/jss-4.6.0.tar.gz
diff --git a/.jss.metadata b/.jss.metadata
new file mode 100644
index 0000000..cb4e805
--- /dev/null
+++ b/.jss.metadata
@@ -0,0 +1 @@
+3d6d2d885129e0d7d8ebac5dfe9055c693a7a9b1 SOURCES/jss-4.6.0.tar.gz
diff --git a/SOURCES/jss-disable-buffer-based-tests.patch b/SOURCES/jss-disable-buffer-based-tests.patch
new file mode 100644
index 0000000..f39763a
--- /dev/null
+++ b/SOURCES/jss-disable-buffer-based-tests.patch
@@ -0,0 +1,71 @@
+From d7d6d769b510118e40d9c0919317665c4c9feb8d Mon Sep 17 00:00:00 2001
+From: Alexander Scheel <alexander.m.scheel@gmail.com>
+Date: Wed, 12 Jun 2019 17:17:45 -0400
+Subject: [PATCH] Disable buffer-based tests
+
+Signed-off-by: Alexander Scheel <alexander.m.scheel@gmail.com>
+---
+ cmake/JSSTests.cmake | 33 ---------------------------------
+ 1 file changed, 33 deletions(-)
+
+diff --git a/cmake/JSSTests.cmake b/cmake/JSSTests.cmake
+index b389be5c..473d7d4d 100644
+--- a/cmake/JSSTests.cmake
++++ b/cmake/JSSTests.cmake
+@@ -78,24 +78,6 @@ macro(jss_tests)
+         NAME "BigObjectIdentifier"
+         COMMAND "org.mozilla.jss.tests.BigObjectIdentifier"
+     )
+-    jss_test_java(
+-        NAME "JSS_Test_PR_FileDesc"
+-        COMMAND "org.mozilla.jss.tests.TestPRFD"
+-    )
+-    jss_test_java(
+-        NAME "JSS_Test_Raw_SSL"
+-        COMMAND "org.mozilla.jss.tests.TestRawSSL" "${RESULTS_NSSDB_OUTPUT_DIR}"
+-        DEPENDS "Setup_DBs"
+-    )
+-    jss_test_java(
+-        NAME "JSS_Test_Buffer"
+-        COMMAND "org.mozilla.jss.tests.TestBuffer"
+-    )
+-    jss_test_java(
+-        NAME "JSS_Test_BufferPRFD"
+-        COMMAND "org.mozilla.jss.tests.TestBufferPRFD" "${RESULTS_NSSDB_OUTPUT_DIR}" "${DB_PWD}"
+-        DEPENDS "List_CA_certs"
+-    )
+     if ((${Java_VERSION_MAJOR} EQUAL 1) AND (${Java_VERSION_MINOR} LESS 9))
+         jss_test_java(
+             NAME "Test_PKCS11Constants.java_for_Sun_compatibility"
+@@ -126,16 +108,6 @@ macro(jss_tests)
+         NAME "JUnit_UTF8StringTest"
+         COMMAND "org.junit.runner.JUnitCore" "org.mozilla.jss.tests.UTF8StringTest"
+     )
+-    jss_test_exec(
+-        NAME "buffer_size_1"
+-        COMMAND "${BIN_OUTPUT_DIR}/buffer_size_1"
+-        DEPENDS "generate_c_buffer_size_1"
+-    )
+-    jss_test_exec(
+-        NAME "buffer_size_4"
+-        COMMAND "${BIN_OUTPUT_DIR}/buffer_size_4"
+-        DEPENDS "generate_c_buffer_size_4"
+-    )
+     jss_test_java(
+         NAME "JUnit_ChainSortingTest"
+         COMMAND "org.junit.runner.JUnitCore" "org.mozilla.jss.tests.ChainSortingTest"
+@@ -180,11 +152,6 @@ macro(jss_tests)
+         COMMAND "org.mozilla.jss.tests.SSLClientAuth" "${RESULTS_NSSDB_OUTPUT_DIR}" "${PASSWORD_FILE}" "${JSS_TEST_PORT_CLIENTAUTH}" "50"
+         DEPENDS "List_CA_certs"
+     )
+-    jss_test_exec(
+-        NAME "TestBufferPRFD"
+-        COMMAND "${BIN_OUTPUT_DIR}/TestBufferPRFD" "${RESULTS_NSSDB_OUTPUT_DIR}" "${DB_PWD}"
+-        DEPENDS "List_CA_certs" "generate_c_TestBufferPRFD"
+-    )
+     jss_test_java(
+         NAME "Key_Generation"
+         COMMAND "org.mozilla.jss.tests.TestKeyGen" "${RESULTS_NSSDB_OUTPUT_DIR}" "${PASSWORD_FILE}"
+-- 
+2.21.0
+
diff --git a/SPECS/jss.spec b/SPECS/jss.spec
new file mode 100644
index 0000000..8b0964b
--- /dev/null
+++ b/SPECS/jss.spec
@@ -0,0 +1,189 @@
+################################################################################
+Name:           jss
+################################################################################
+
+Summary:        Java Security Services (JSS)
+URL:            http://www.dogtagpki.org/wiki/JSS
+License:        MPLv1.1 or GPLv2+ or LGPLv2+
+
+Version:        4.6.0
+Release:        2%{?_timestamp}%{?_commit_id}%{?dist}
+# global         _phase -a1
+
+# To generate the source tarball:
+# $ git clone https://github.com/dogtagpki/jss.git
+# $ cd jss
+# $ git tag v4.5.<z>
+# $ git push origin v4.5.<z>
+# Then go to https://github.com/dogtagpki/jss/releases and download the source
+# tarball.
+Source:         https://github.com/dogtagpki/%{name}/archive/v%{version}%{?_phase}/%{name}-%{version}%{?_phase}.tar.gz
+
+# To create a patch for all changes since a version tag:
+# $ git format-patch \
+#     --stdout \
+#     <version tag> \
+#     > jss-VERSION-RELEASE.patch
+Patch: jss-disable-buffer-based-tests.patch
+
+################################################################################
+# Build Dependencies
+################################################################################
+
+# autosetup
+BuildRequires:  git
+BuildRequires:  make
+BuildRequires:  cmake
+
+BuildRequires:  gcc-c++
+BuildRequires:  nspr-devel >= 4.13.1
+BuildRequires:  nss-devel >= 3.30
+BuildRequires:  nss-tools >= 3.30
+BuildRequires:  java-devel
+BuildRequires:  jpackage-utils
+BuildRequires:  slf4j
+BuildRequires:  glassfish-jaxb-api
+%if 0%{?rhel} && 0%{?rhel} <= 7
+# no slf4j-jdk14
+%else
+BuildRequires:  slf4j-jdk14
+%endif
+BuildRequires:  apache-commons-lang
+BuildRequires:  apache-commons-codec
+
+BuildRequires:  junit
+
+Requires:       nss >= 3.30
+Requires:       java-headless
+Requires:       jpackage-utils
+Requires:       slf4j
+Requires:       glassfish-jaxb-api
+%if 0%{?rhel} && 0%{?rhel} <= 7
+# no slf4j-jdk14
+%else
+Requires:       slf4j-jdk14
+%endif
+Requires:       apache-commons-lang
+Requires:       apache-commons-codec
+
+Conflicts:      ldapjdk < 4.20
+Conflicts:      idm-console-framework < 1.2
+Conflicts:      tomcatjss < 7.3.4
+Conflicts:      pki-base < 10.6.5
+
+%description
+Java Security Services (JSS) is a java native interface which provides a bridge
+for java-based applications to use native Network Security Services (NSS).
+This only works with gcj. Other JREs require that JCE providers be signed.
+
+################################################################################
+%package javadoc
+################################################################################
+
+Summary:        Java Security Services (JSS) Javadocs
+Group:          Documentation
+Requires:       jss = %{version}-%{release}
+
+%description javadoc
+This package contains the API documentation for JSS.
+
+################################################################################
+%prep
+
+%autosetup -n %{name}-%{version}%{?_phase} -p 1 -S git
+
+################################################################################
+%build
+
+%set_build_flags
+
+[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java
+
+# Enable compiler optimizations
+export BUILD_OPT=1
+
+# Generate symbolic info for debuggers
+CFLAGS="-g $RPM_OPT_FLAGS"
+export CFLAGS
+
+# The Makefile is not thread-safe
+rm -rf build && mkdir -p build && cd build
+%cmake \
+    -DJAVA_HOME=%{java_home} \
+    -DJAVA_LIB_INSTALL_DIR=%{_jnidir} \
+    ..
+
+%{__make} all
+%{__make} javadoc || true
+ctest --output-on-failure
+
+################################################################################
+%install
+
+# There is no install target so we'll do it by hand
+
+# jars
+install -d -m 0755 $RPM_BUILD_ROOT%{_jnidir}
+install -m 644 build/jss4.jar ${RPM_BUILD_ROOT}%{_jnidir}/jss4.jar
+
+# We have to use the name libjss4.so because this is dynamically
+# loaded by the jar file.
+install -d -m 0755 $RPM_BUILD_ROOT%{_libdir}/jss
+install -m 0755 build/libjss4.so ${RPM_BUILD_ROOT}%{_libdir}/jss/
+pushd  ${RPM_BUILD_ROOT}%{_libdir}/jss
+    ln -fs %{_jnidir}/jss4.jar jss4.jar
+popd
+
+# javadoc
+install -d -m 0755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+cp -rp build/docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+cp -p jss.html $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+cp -p *.txt $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+
+# No ldconfig is required since this library is loaded by Java itself.
+################################################################################
+%files
+
+%defattr(-,root,root,-)
+%doc jss.html MPL-1.1.txt gpl.txt lgpl.txt
+%{_libdir}/*
+%{_jnidir}/*
+
+################################################################################
+%files javadoc
+
+%defattr(-,root,root,-)
+%{_javadocdir}/%{name}-%{version}/
+
+################################################################################
+%changelog
+* Wed Jun 12 2019 Dogtag PKI Team <pki-devel@redhat.com> 4.6.0-2
+- Minor updates to release
+
+* Wed Jun 12 2019 Dogtag PKI Team <pki-devel@redhat.com> 4.6.0-1
+- Rebased to JSS 4.6.0
+
+* Thu Apr 25 2019 Dogtag PKI Team <pki-devel@redhat.com> 4.5.3-1
+- Rebased to JSS 4.5.3
+
+* Fri Aug 10 2018 Dogtag PKI Team <pki-devel@redhat.com> 4.5.0-1
+- Rebased to JSS 4.5.0
+
+* Tue Aug 07 2018 Dogtag PKI Team <pki-devel@redhat.com> 4.5.0-0.6
+- Rebased to JSS 4.5.0-b1
+
+* Tue Aug 07 2018 Dogtag PKI Team <pki-devel@redhat.com> 4.5.0-0.5
+- Red Hat Bugzilla #1612063 - Do not override system crypto policy (support TLS 1.3)
+
+* Fri Jul 20 2018 Dogtag PKI Team <pki-devel@redhat.com> 4.5.0-0.4
+- Rebased to JSS 4.5.0-a4
+- Red Hat Bugzilla #1604462 - jss: FTBFS in Fedora rawhide
+
+* Thu Jul 05 2018 Dogtag PKI Team <pki-devel@redhat.com> 4.5.0-0.3
+- Rebased to JSS 4.5.0-a3
+
+* Fri Jun 22 2018 Dogtag PKI Team <pki-devel@redhat.com> 4.5.0-0.2
+- Rebased to JSS 4.5.0-a2
+
+* Fri Jun 15 2018 Dogtag PKI Team <pki-devel@redhat.com> 4.5.0-0.1
+- Rebased to JSS 4.5.0-a1