From adcf9aea897f22d920b851fbc47d26259eacbf90 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Mon, 17 Mar 2008 23:29:58 +0000
Subject: [PATCH] create two news RPMs: slurmdbd and slurm-plugins

---
 RELEASE_NOTES |   9 ++++
 slurm.spec    | 147 +++++++++++++++++++++++++++++++-------------------
 2 files changed, 102 insertions(+), 54 deletions(-)

diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index e8b5f6fa50b..f2d46a0a65b 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -27,6 +27,15 @@ now supports gang scheduling (time-slicing of parallel jobs for
 improved responsiveness and system utilization). Many related 
 scheduling changes have also been made. 
 
+There are changes in SLURM's RPMs. There is a new RPM called 
+slurmdbd (SLURM DataBase Daemon) used to provide a secure 
+SLURM database interface for accounting purposes (more information 
+about that below). The SLURM plugins have been moved to a new
+RPM called slurm-plugins. If the slurmdbd is installed it 
+requires the slurm-plugins, but not the other slurm components.
+The base SLURM plugin requires the plugins, which used to be
+within that RPM. 
+
 Many enhancements have been made for better Slurm integration with 
 Moab and Maui schedulers. Moab development work is still underway 
 to support Slurm v1.3. Moab users should not upgrade to Slurm v1.3
diff --git a/slurm.spec b/slurm.spec
index 4ec52a2f565..125090eab79 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -97,6 +97,8 @@ BuildRequires: readline-devel
 BuildRequires: openssl-devel >= 0.9.6 openssl >= 0.9.6
 %endif
 
+Requires: slurm-plugins
+
 #  Allow override of sysconfdir via _slurm_sysconfdir.
 #  Note 'global' instead of 'define' needed here to work around apparent
 #   bug in rpm macro scoping (or something...)
@@ -188,6 +190,19 @@ BuildRequires: qsnetlibs
 SLURM switch plugin for Quadrics Elan3 or Elan4.
 %endif
 
+%package slurmdbd
+Summary: SLURM database daemon
+Group: System Environment/Base
+Requires: slurm-plugins
+%description slurmdbd
+SLURM database daemon
+
+%package slurm-plugins
+Summary: SLURM plugins (loadable shared objects)
+Group: System Environment/Base
+%description slurm-plugins
+SLURM plugins (loadable shared objects)
+
 %package torque
 Summary: Torque/PBS wrappers for transitition from Torque/PBS to SLURM.
 Group: Development/System
@@ -259,20 +274,7 @@ LIST=./slurm.files
 touch $LIST
 if [ -d /etc/init.d ]; then
    echo "/etc/init.d/slurm"    >> $LIST
-   echo "/etc/init.d/slurmdbd" >> $LIST
 fi
-test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/task_affinity.so &&
-   echo %{_libdir}/slurm/task_affinity.so >> $LIST
-test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/crypto_openssl.so &&
-   echo %{_libdir}/slurm/crypto_openssl.so >> $LIST
-
-# Build file lists for optional plugin packages
-for plugin in auth_authd; do
-   LIST=./${plugin}.files
-   touch $LIST
-   test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/${plugin}.so &&
-     echo %{_libdir}/slurm/${plugin}.so > $LIST
-done
 
 LIST=./munge.files
 touch $LIST
@@ -314,6 +316,31 @@ test -f $RPM_BUILD_ROOT/%{_perldir}/auto/Slurm/Slurm.bs &&
 test -f $RPM_BUILD_ROOT/%{_perldir}/auto/Slurm/autosplit.ix &&
   echo "%{_perldir}/auto/Slurm/autosplit.ix"      >> $LIST
 
+LIST=./slurmdbd.files
+touch $LIST
+if [ -d /etc/init.d ]; then
+   echo "/etc/init.d/slurmdbd" >> $LIST
+fi
+
+LIST=./slurm_plugins.files
+test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/task_affinity.so &&
+   echo %{_libdir}/slurm/task_affinity.so >> $LIST
+test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/crypto_openssl.so &&
+   echo %{_libdir}/slurm/crypto_openssl.so >> $LIST
+
+# Build file lists for optional plugin packages
+for plugin in auth_authd; do
+   LIST=./${plugin}.files
+   touch $LIST
+   test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/${plugin}.so &&
+     echo %{_libdir}/slurm/${plugin}.so > $LIST
+done
+
+
+
+
+
+
 LIST=./torque.files
 touch $LIST
 echo "%{_bindir}/pbsnodes"                    >> $LIST
@@ -365,7 +392,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_bindir}/s*
 %{_sbindir}/slurmctld
 %{_sbindir}/slurmd
-%{_sbindir}/slurmdbd
 %{_sbindir}/slurmstepd
 %ifos aix5.3
 %{_sbindir}/srun
@@ -374,48 +400,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/slurm/src/*
 %{_mandir}/man1/*
 %{_mandir}/man5/slurm.*
-%{_mandir}/man5/slurmdbd.*
 %{_mandir}/man5/wiki.*
-%{_mandir}/man8/*
+%{_mandir}/man8/slurmctld.*
+%{_mandir}/man8/slurmd.*
+%{_mandir}/man8/slurmstepd*
+%{_mandir}/man8/spank*
 %dir %{_sysconfdir}
-%dir %{_libdir}/slurm
-%{_libdir}/slurm/accounting_storage_filetxt.so
-%{_libdir}/slurm/accounting_storage_gold.so
-%{_libdir}/slurm/accounting_storage_mysql.so
-%{_libdir}/slurm/accounting_storage_none.so
-%{_libdir}/slurm/accounting_storage_pgsql.so
-%{_libdir}/slurm/accounting_storage_slurmdbd.so
-%{_libdir}/slurm/checkpoint_none.so
-%{_libdir}/slurm/checkpoint_ompi.so
-%{_libdir}/slurm/checkpoint_xlch.so
-%{_libdir}/slurm/jobacct_gather_aix.so
-%{_libdir}/slurm/jobacct_gather_linux.so
-%{_libdir}/slurm/jobacct_gather_none.so
-%{_libdir}/slurm/jobcomp_none.so
-%{_libdir}/slurm/jobcomp_filetxt.so
-%{_libdir}/slurm/jobcomp_mysql.so
-%{_libdir}/slurm/jobcomp_pgsql.so
-%{_libdir}/slurm/jobcomp_script.so
-%{_libdir}/slurm/jobcomp_slurmdbd.so
-%{_libdir}/slurm/proctrack_pgid.so
-%{_libdir}/slurm/proctrack_linuxproc.so
-%{_libdir}/slurm/sched_backfill.so
-%{_libdir}/slurm/sched_builtin.so
-%{_libdir}/slurm/sched_hold.so
-%{_libdir}/slurm/sched_gang.so
-%{_libdir}/slurm/sched_wiki.so
-%{_libdir}/slurm/sched_wiki2.so
-%{_libdir}/slurm/select_cons_res.so
-%{_libdir}/slurm/select_linear.so
-%{_libdir}/slurm/switch_none.so
-%{_libdir}/slurm/mpi_none.so
-%{_libdir}/slurm/mpi_mpich1_p4.so
-%{_libdir}/slurm/mpi_mpich1_shmem.so
-%{_libdir}/slurm/mpi_mpichgm.so
-%{_libdir}/slurm/mpi_mpichmx.so
-%{_libdir}/slurm/mpi_mvapich.so
-%{_libdir}/slurm/mpi_lam.so
-%{_libdir}/slurm/task_none.so
 %dir %{_libdir}/slurm/src
 %config %{_sysconfdir}/slurm.conf.example
 %config %{_sysconfdir}/slurm.epilog.clean
@@ -467,6 +457,55 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 #############################################################################
 
+%files -f slurmdbd.files slurmdbd
+%defattr(-,root,root)
+%{_sbindir}/slurmdbd
+%{_mandir}/man5/slurmdbd.*
+%{_mandir}/man8/slurmdbd.*
+#############################################################################
+
+%files -f slurm_plugins.files slurm-plugins
+%defattr(-,root,root)
+%dir %{_libdir}/slurm
+%{_libdir}/slurm/accounting_storage_filetxt.so
+%{_libdir}/slurm/accounting_storage_gold.so
+%{_libdir}/slurm/accounting_storage_mysql.so
+%{_libdir}/slurm/accounting_storage_none.so
+%{_libdir}/slurm/accounting_storage_pgsql.so
+%{_libdir}/slurm/accounting_storage_slurmdbd.so
+%{_libdir}/slurm/checkpoint_none.so
+%{_libdir}/slurm/checkpoint_ompi.so
+%{_libdir}/slurm/checkpoint_xlch.so
+%{_libdir}/slurm/jobacct_gather_aix.so
+%{_libdir}/slurm/jobacct_gather_linux.so
+%{_libdir}/slurm/jobacct_gather_none.so
+%{_libdir}/slurm/jobcomp_none.so
+%{_libdir}/slurm/jobcomp_filetxt.so
+%{_libdir}/slurm/jobcomp_mysql.so
+%{_libdir}/slurm/jobcomp_pgsql.so
+%{_libdir}/slurm/jobcomp_script.so
+%{_libdir}/slurm/jobcomp_slurmdbd.so
+%{_libdir}/slurm/proctrack_pgid.so
+%{_libdir}/slurm/proctrack_linuxproc.so
+%{_libdir}/slurm/sched_backfill.so
+%{_libdir}/slurm/sched_builtin.so
+%{_libdir}/slurm/sched_hold.so
+%{_libdir}/slurm/sched_gang.so
+%{_libdir}/slurm/sched_wiki.so
+%{_libdir}/slurm/sched_wiki2.so
+%{_libdir}/slurm/select_cons_res.so
+%{_libdir}/slurm/select_linear.so
+%{_libdir}/slurm/switch_none.so
+%{_libdir}/slurm/mpi_none.so
+%{_libdir}/slurm/mpi_mpich1_p4.so
+%{_libdir}/slurm/mpi_mpich1_shmem.so
+%{_libdir}/slurm/mpi_mpichgm.so
+%{_libdir}/slurm/mpi_mpichmx.so
+%{_libdir}/slurm/mpi_mvapich.so
+%{_libdir}/slurm/mpi_lam.so
+%{_libdir}/slurm/task_none.so
+#############################################################################
+
 %files -f torque.files torque
 %defattr(-,root,root)
 #############################################################################
-- 
GitLab