diff --git a/slurm.spec b/slurm.spec
index e34d24f..94a7c3c 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -27,15 +27,16 @@ Source3:        slurm-sview.desktop
 Source4:        slurm-128x128.png
 Source5:        slurm-setuser.in
 
-# Upstream bug #4449: release-style versioning of libslurmfull
-Patch0:         slurm_libslurmfull_version.patch
+# Release-style versioning of libslurmfull/libslurm_pmi
+Patch0:         slurm_release_version.patch
 
 # Build-related patches
 Patch10:        slurm_perlapi_rpaths.patch
 Patch11:        slurm_html_doc_path.patch
 Patch12:        slurm_without_cray.patch
+Patch13:        slurm_check_version.patch
 
-# Fedora-related patches
+# Other patches
 Patch20:        slurm_pmix_soname.patch
 Patch21:        slurm_to_python3.patch
 
@@ -395,62 +396,12 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
 %dir %{_var}/spool/%{name}/d
 %config(noreplace) %{_sysconfdir}/%{name}/cgroup.conf
 %config(noreplace) %{_sysconfdir}/%{name}/slurm.conf
-%{_bindir}/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast}
-%{_bindir}/{scancel,scontrol,scrontab,sdiag,sh5util,sinfo,sprio}
-%{_bindir}/{squeue,sreport,srun,sshare,sstat,strigger}
+%{_bindir}/s*
 %{_bindir}/%{name}-setuser
-%{_libdir}/%{name}/accounting_storage_{filetxt,none,slurmdbd}.so
-%{_libdir}/%{name}/acct_gather_energy_{ibmaem,ipmi,none,pm_counters,rapl,xcc}.so
-%{_libdir}/%{name}/acct_gather_filesystem_{lustre,none}.so
-%{_libdir}/%{name}/acct_gather_interconnect_{none,ofed}.so
-%{_libdir}/%{name}/acct_gather_profile_{hdf5,influxdb,none}.so
-%{_libdir}/%{name}/auth_munge.so
-%{_libdir}/%{name}/burst_buffer_generic.so
-%{_libdir}/%{name}/cli_filter_{lua,none,syslog,user_defaults}.so
-%{_libdir}/%{name}/core_spec_none.so
-%{_libdir}/%{name}/cred_{munge,none}.so
-%{_libdir}/%{name}/ext_sensors_none.so
-%{_libdir}/%{name}/gres_{gpu,mic,mps,nic}.so
-%{_libdir}/%{name}/gpu_generic.so
-%{_libdir}/%{name}/job_container_{cncu,none}.so
-%{_libdir}/%{name}/job_submit_all_partitions.so
-%{_libdir}/%{name}/job_submit_lua.so
-%{_libdir}/%{name}/job_submit_require_timelimit.so
-%{_libdir}/%{name}/job_submit_throttle.so
-%{_libdir}/%{name}/jobacct_gather_{cgroup,linux,none}.so
-%{_libdir}/%{name}/jobcomp_{elasticsearch,filetxt,lua,mysql,none,script}.so
-%{_libdir}/%{name}/launch_slurm.so
-%{_libdir}/%{name}/mcs_{account,group,none,user}.so
-%{_libdir}/%{name}/mpi_{none,openmpi,pmi2,pmix*}.so
-%{_libdir}/%{name}/node_features_knl_generic.so
-%{_libdir}/%{name}/power_none.so
-%{_libdir}/%{name}/preempt_{job_prio,none,partition_prio,qos}.so
-%{_libdir}/%{name}/prep_script.so
-%{_libdir}/%{name}/priority_{basic,multifactor}.so
-%{_libdir}/%{name}/proctrack_{cgroup,linuxproc,lua,pgid}.so
-%{_libdir}/%{name}/route_{default,topology}.so
-%{_libdir}/%{name}/sched_{backfill,builtin,hold}.so
-%{_libdir}/%{name}/select_{cons_res,cons_tres,linear,serial}.so
-%{_libdir}/%{name}/site_factor_none.so
-%{_libdir}/%{name}/slurmctld_nonstop.so
-%{_libdir}/%{name}/switch_{generic,none}.so
-%{_libdir}/%{name}/task_{affinity,cgroup,none}.so
-%{_libdir}/%{name}/topology_{3d_torus,hypercube,node_rank,none,tree}.so
-%{_mandir}/man1/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast}.1*
-%{_mandir}/man1/{scancel,scontrol,scrontab,sdiag,sh5util,sinfo,sprio}.1*
-%{_mandir}/man1/{squeue,sreport,srun,sshare,sstat,strigger}.1*
-%{_mandir}/man1/slurm.1*
-%{_mandir}/man5/acct_gather.conf.5*
-%{_mandir}/man5/burst_buffer.conf.5*
-%{_mandir}/man5/cgroup.conf.5*
-%{_mandir}/man5/ext_sensors.conf.5*
-%{_mandir}/man5/gres.conf.5*
-%{_mandir}/man5/knl.conf.5*
-%{_mandir}/man5/nonstop.conf.5*
-%{_mandir}/man5/slurm.conf.5*
-%{_mandir}/man5/topology.conf.5*
-%{_mandir}/man8/slurmrestd.8*
-%{_mandir}/man8/spank.8*
+%{_libdir}/%{name}/*.so
+%{_mandir}/man1/*.1*
+%{_mandir}/man5/*.5*
+%{_mandir}/man8/*.8*
 %{_sysconfdir}/logrotate.d/%{name}
 %{_sysconfdir}/%{name}/cgroup*.conf.example
 %{_sysconfdir}/%{name}/slurm.conf.example
@@ -470,7 +421,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
 %{_includedir}/%{name}/slurmdb.h
 %{_includedir}/%{name}/smd_ns.h
 %{_includedir}/%{name}/spank.h
-%{_libdir}/lib{slurm,slurmdb}.so
+%{_libdir}/libslurm*.so
 %{_libdir}/%{name}/src/sattach/sattach.wrapper.c
 %{_libdir}/%{name}/src/srun/srun.wrapper.c
 %{_mandir}/man3/*.3.*
diff --git a/slurm_check_version.patch b/slurm_check_version.patch
new file mode 100644
index 0000000..5b13045
--- /dev/null
+++ b/slurm_check_version.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index d69d47348a..90f82536ce 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -240,7 +240,7 @@ X_AC_CGROUP
+ #  Tests for Check
+ #
+ 
+-PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"])
++PKG_CHECK_MODULES([CHECK], [check >= 0.9.10], [ac_have_check="yes"], [ac_have_check="no"])
+ AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes")
+ 
+ #
diff --git a/slurm_libslurmfull_version.patch b/slurm_libslurmfull_version.patch
deleted file mode 100644
index a51e4c6..0000000
--- a/slurm_libslurmfull_version.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/src/api/Makefile.am b/src/api/Makefile.am
-index 53af7f8d7f..81d41c1161 100644
---- a/src/api/Makefile.am
-+++ b/src/api/Makefile.am
-@@ -46,14 +46,7 @@ current = $(SLURM_API_CURRENT)
- age     = $(SLURM_API_AGE)
- rev     = $(SLURM_API_REVISION)
- 
--lib_LTLIBRARIES = libslurm.la
--
--# The ABI of libslurmfull can easily change from 1 micro version to another.
--# To avoid issue we will install this lib alongside the plugins to protect
--# from version issues.
--#
--# The unversioned libslurm_pmi is hidden there as well.
--pkglib_LTLIBRARIES = libslurmfull.la libslurm_pmi.la
-+lib_LTLIBRARIES = libslurm.la libslurmfull.la libslurm_pmi.la
- 
- # BUILT_SOURCES tells automake that when "make" is called, these targets
- # need to be built before anything else.
-@@ -158,14 +151,14 @@ libslurmfull_la_SOURCES =
- libslurmfull_la_LIBADD = $(convenience_libs)
- libslurmfull_la_LDFLAGS        = \
-         $(LIB_LDFLAGS) \
--	-avoid-version \
-+	-release $(SLURM_VERSION_STRING) \
-         $(FULL_OTHER_FLAGS)
- 
- libslurm_pmi_la_SOURCES =
- libslurm_pmi_la_LIBADD = $(convenience_libs)
- libslurm_pmi_la_LDFLAGS        = \
-         $(LIB_LDFLAGS) \
--	-avoid-version \
-+	-release $(SLURM_VERSION_STRING) \
-         $(SLURM_PMI_OTHER_FLAGS)
- 
- # This was made so we could export all symbols from libcommon
diff --git a/slurm_release_version.patch b/slurm_release_version.patch
new file mode 100644
index 0000000..a51e4c6
--- /dev/null
+++ b/slurm_release_version.patch
@@ -0,0 +1,37 @@
+diff --git a/src/api/Makefile.am b/src/api/Makefile.am
+index 53af7f8d7f..81d41c1161 100644
+--- a/src/api/Makefile.am
++++ b/src/api/Makefile.am
+@@ -46,14 +46,7 @@ current = $(SLURM_API_CURRENT)
+ age     = $(SLURM_API_AGE)
+ rev     = $(SLURM_API_REVISION)
+ 
+-lib_LTLIBRARIES = libslurm.la
+-
+-# The ABI of libslurmfull can easily change from 1 micro version to another.
+-# To avoid issue we will install this lib alongside the plugins to protect
+-# from version issues.
+-#
+-# The unversioned libslurm_pmi is hidden there as well.
+-pkglib_LTLIBRARIES = libslurmfull.la libslurm_pmi.la
++lib_LTLIBRARIES = libslurm.la libslurmfull.la libslurm_pmi.la
+ 
+ # BUILT_SOURCES tells automake that when "make" is called, these targets
+ # need to be built before anything else.
+@@ -158,14 +151,14 @@ libslurmfull_la_SOURCES =
+ libslurmfull_la_LIBADD = $(convenience_libs)
+ libslurmfull_la_LDFLAGS        = \
+         $(LIB_LDFLAGS) \
+-	-avoid-version \
++	-release $(SLURM_VERSION_STRING) \
+         $(FULL_OTHER_FLAGS)
+ 
+ libslurm_pmi_la_SOURCES =
+ libslurm_pmi_la_LIBADD = $(convenience_libs)
+ libslurm_pmi_la_LDFLAGS        = \
+         $(LIB_LDFLAGS) \
+-	-avoid-version \
++	-release $(SLURM_VERSION_STRING) \
+         $(SLURM_PMI_OTHER_FLAGS)
+ 
+ # This was made so we could export all symbols from libcommon