Something at least approching package guidelines.

This commit is contained in:
stevetraylen 2010-07-14 21:11:28 +00:00
parent a7e63a0384
commit 34762c2c8f
5 changed files with 576 additions and 341 deletions

View File

@ -1 +1 @@
torque-2.1.10.tar.gz
torque-2.4.8.tar.gz

View File

@ -1,20 +0,0 @@
To setup a basic single-node localhost-only batch system, install the
torque-server, torque-mom, and torque-scheduler packages, and do something like
this:
/sbin/chkconfig pbs_mom on
/sbin/chkconfig pbs_server on
/sbin/chkconfig pbs_sched on
/bin/hostname --long > %{torquehomedir}/server_priv/nodes
/bin/hostname --long > %{torquehomedir}/server_name
service pbs_server start
qmgr -c "s s scheduling=true"
qmgr -c "c q batch queue_type=execution"
qmgr -c "s q batch started=true"
qmgr -c "s q batch enabled=true"
qmgr -c "s q batch resources_default.nodes=1"
qmgr -c "s q batch resources_default.walltime=3600"
qmgr -c "s s default_queue=batch"
service pbs_mom restart
service pbs_sched restart

71
README.Fedora Normal file
View File

@ -0,0 +1,71 @@
This README describes how to get the most basic working
torque service on a single host.
To setup a basic single-node localhost-only batch system, install the
torque-server, torque-mom, and torque-scheduler packages, and do something like
this:
1) Get your full hostname with
# /bin/hostname --long
e.g myhost.example.org
2) Edit /etc/torque/server_name
to contain the single line
myhost.example.org
3) Edit /etc/torque/mom/config
to contain the single line
$pbsserver myhost.example.org
4) Create a torque serverdb file.
# /usr/sbin/pbs_server -D -t create
Warning this will remove any existing serverdb
file located at /var/lib/torque/server_priv/serverdb
You will have to Ctrl^C the pbs_server command, it will
only take a moment to create this file.
5) Start the pbs_server and configure it.
service pbs_server start
# qmgr -c "s s scheduling=true"
# qmgr -c "c q batch queue_type=execution"
# qmgr -c "s q batch started=true"
# qmgr -c "s q batch enabled=true"
# qmgr -c "s q batch resources_default.nodes=1"
# qmgr -c "s q batch resources_default.walltime=3600"
# qmgr -c "s s default_queue=batch"
6) Add one batch worker to your pbs_server.
# qmgr -c "c n myhost.example.org"
7) Start the pbs_mom and pbs_sched deamons.
# service pbs_mom start
# service pbs_sched start
8) Use chkconfig to start the services at boot time.
# /sbin/chkconfig pbs_mom on
# /sbin/chkconfig pbs_server on
# /sbin/chkconfig pbs_sched on
9) Submit a test job.
As a user not as root run the following
$ qsub <<EOF
hostname
echo "Hi I am a batch job running in torque"
EOF

View File

@ -1 +1 @@
30d3366432ad3506278f884ba797e2b2 torque-2.3.10.tar.gz
56170b7fce63fed9ed0cc83ee5bd3e3a torque-2.4.8.tar.gz

View File

@ -1,10 +1,3 @@
# comment out snap if building a real release
%define name torque
%define version 2.3.10
#%%define snap 200604251602
%define release 1
# The following options are supported:
# --with server_name=hostname
# --with homedir=directory
@ -12,26 +5,22 @@
# --with[out] gui
# --with[out] tcl
# Hrm, should we default to the name of the buildhost? That seems only
# slightly better than picking a hostname at random. This is exactly the kind
# of compile-time default that doesn't work well with distributable packages.
# Let's force the issue with the non-sensical "localhost".
#
#
# Note that "localhost" doesn't actually work. You must either define the
# correct hostname here, pass '--with server_name=foo' to rpmbuild, or be sure
# that $PBS_SERVER_HOME/server_name contains the correct hostname.
%define server_name localhost
%global server_name localhost
# change as you wish
%define use_rcp 0
%define use_tcl 1
%define build_gui 1
%global use_rcp 0
%global use_tcl 1
%global build_gui 1
# these are non-defaults, but fit better into most RPM-based systems
%define torquehomedir %_localstatedir/torque
%global torquehomedir %{_localstatedir}/lib/torque
# --with/--without processing
# first, error if conflicting options are used
@ -40,161 +29,352 @@
%{?_with_gui: %{?_without_gui: %{error: both _with_gui and _without_gui}}}
# did we find any --with options?
%{?_with_rcp: %define use_rcp 1}
%{?_with_tcl: %define use_tcl 1}
%{?_with_gui: %define build_gui 1}
%{?_with_rcp: %global use_rcp 1}
%{?_with_tcl: %global use_tcl 1}
%{?_with_gui: %global build_gui 1}
%{?_with_server_name:%define server_name %(set -- %{_with_server_name}; echo $1 | grep -v with | sed 's/=//')}
%{?_with_homedir:%define torquehomedir %(set -- %{_with_homedir}; echo $1 | grep -v with | sed 's/=//')}
%{?_with_server_name:%global server_name %(set -- %{_with_server_name}; echo $1 | grep -v with | sed 's/=//')}
%{?_with_homedir:%global torquehomedir %(set -- %{_with_homedir}; echo $1 | grep -v with | sed 's/=//')}
# did we find any --without options?
%{?_without_rcp: %define use_rcp 0}
%{?_without_tcl: %define use_tcl 0}
%{?_without_gui: %define build_gui 0}
%{?_without_rcp: %global use_rcp 0}
%{?_without_tcl: %global use_tcl 0}
%{?_without_gui: %global build_gui 0}
# Set up all options as disabled
%define rcpflags --with-rcp=/usr/bin/scp
%define tclflags --without-tcl
%define guiflags --disable-gui
%global rcpflags --with-rcp=/usr/bin/scp
%global tclflags --without-tcl
%global guiflags --disable-gui
# Enable options that we want
%if %use_rcp
%define rcpflags --with-rcp=mom_rcp
%if %{use_rcp}
%global rcpflags --with-rcp=mom_rcp
%endif
%if %build_gui
%define guiflags --enable-gui
%if %{build_gui}
%global guiflags --enable-gui
%endif
%if %use_tcl
%if %build_gui
%define tclflags --with-tcl --with-tk
%if %{use_tcl}
%if %{build_gui}
%global tclflags --with-tcl --with-tk
%else
%define tclflags --with-tcl --without-tk
%global tclflags --with-tcl --without-tk
%endif
%endif
# finish up the configs...
%define server_nameflags --with-default-server=%{server_name}
%global server_nameflags --with-default-server=%{server_name}
%define shared_description %(echo -e "TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource \\nmanager providing control over batch jobs and distributed compute nodes. \\nTORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, \\nfault tolerance, and feature extension patches provided by USC, NCSA, OSC, \\nthe U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many \\nother leading edge HPC organizations.\\n\\nThis build was configured with:\\n %{server_nameflags}\\n %{tclflags}\\n %{guiflags}\\n %{rcpflags}\\n")
Summary: Tera-scale Open-source Resource and QUEue manager
Name: %{name}
Version: %{version}
Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}
Source: torque-%{version}%{?snap:-snap.%snap}.tar.gz
Source2: xpbs.desktop
Source3: xpbsmon.desktop
Source4: xpbs.png
Source5: xpbsmon.png
Source6: README-localhost
Source7: pbs-config-multilib
License: OpenPBS
Group: System Environment/Daemons
URL: http://www.clusterresources.com/products/torque/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Provides: pbs
BuildRequires: desktop-file-utils, pam-devel, xauth, readline-devel, ncurses-devel
Requires(posttrans): /usr/sbin/alternatives
Requires(preun): /usr/sbin/alternatives
Conflicts: pbspro, openpbs, openpbs-oscar
Obsoletes: torque-localhost
%if %use_tcl
Name: torque
Version: 2.4.8
Release: 2%{?dist}
Summary: Tera-scale Open-source Resource and QUEue manager
Source0: http://www.clusterresources.com/downloads/%{name}/%{name}-%{version}.tar.gz
Source2: xpbs.desktop
Source3: xpbsmon.desktop
Source4: xpbs.png
Source5: xpbsmon.png
Source6: README.Fedora
Source7: pbs-config-multilib
Source8: config
License: OpenPBS
Group: System Environment/Daemons
URL: http://www.clusterresources.com/products/torque/
BuildRequires: desktop-file-utils
BuildRequires: pam-devel
BuildRequires: xauth
BuildRequires: readline-devel
BuildRequires: ncurses-devel
%if %{use_tcl}
BuildRequires: tcl-devel
%endif
%if %build_gui
%if %{build_gui}
BuildRequires: tk-devel
%else
Obsoletes: torque-gui
%endif
%if ! %use_rcp
Requires: openssh-clients
%endif
%description
%shared_description
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package holds just a few shared files and directories.
%package client
Group: Applications/System
Summary: Client part of TORQUE
Requires: %{name}-libs = %{version}-%{release}
Requires(posttrans): chkconfig
Requires(preun): chkconfig
%description client
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package holds the command-line client programs.
%package docs
Group: Documentation
Summary: Documentation files for TORQUE
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description docs
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package holds the documentation files.
%package gui
Group: Applications/System
Summary: Graphical clients for TORQUE
Requires: torque-client = %{version}-%{release}
%description gui
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package holds the graphical clients.
%package libs
Summary: Run-time libs for programs which will use the %{name} library
Group: Development/Libraries
Requires: torque = %{version}-%{release}
Obsoletes: libtorque < 2.4.8-2
Provides: libtorque = %{version}-%{release}
%description libs
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package includes the shared libraries necessary for running TORQUE
programs.
%package devel
Summary: Development tools for programs which will use the %{name} library
Group: Development/Libraries
Requires: torque-libs = %{version}-%{release}
Obsoletes: libtorque-devel < 2.4.8-2
Provides: libtorque-devel = %{version}-%{release}
%description devel
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package includes the header files and static libraries
necessary for developing programs which will use %{name}.
%package mom
Group: System Environment/Daemons
Summary: Node execution daemon for TORQUE
Requires: torque-libs = %{version}-%{release}
%if ! %{use_rcp}
Requires: openssh-clients
%endif
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
%description mom
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package holds the execute daemon required on every node.
%package pam
Summary: PAM module for TORQUE MOM nodes
Group: System Environment/Base
%description pam
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
A simple PAM module to authorize users on PBS MOM nodes with a running job.
%package scheduler
Group: System Environment/Daemons
Summary: Simple fifo scheduler for TORQUE
Requires: torque-libs = %{version}-%{release}
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
%description scheduler
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package holds the fifo C scheduler.
%package server
Group: System Environment/Daemons
Summary: The main part of TORQUE
Requires: torque-libs = %{version}-%{release}
%if ! %{use_rcp}
Requires: openssh-server
%endif
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
%description server
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
manager providing control over batch jobs and distributed compute nodes.
TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability,
fault tolerance, and feature extension patches provided by USC, NCSA, OSC,
the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many
other leading edge HPC organizations.
This package holds the server.
%prep
%setup -q -n torque-%{version}%{?snap:-snap.%snap}
%__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} .
%setup -q
install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} \
%{SOURCE6} %{SOURCE7} %{SOURCE8} .
# rm x bit on some documentation.
chmod 644 torque.setup
%build
%configure --disable-gcc-warnings \
--includedir=%{_includedir}/torque \
CFLAGS="%{optflags} -Wno-overlength-strings"
%configure --includedir=%{_includedir}/torque \
--with-server-home=%{torquehomedir} --with-pam=/%{_lib}/security \
--with-sendmail=/usr/sbin/sendmail \
--with-sendmail=%{_sbindir}/sendmail --disable-static \
%{server_nameflags} %{guiflags} %{tclflags} %{rcpflags}
%__cp -vf pbs-config-multilib pbs-config
%__make %{?_smp_mflags}
cp -vf pbs-config-multilib pbs-config
make %{?_smp_mflags}
for daemon in pbs_mom pbs_sched pbs_server
do
sed -i -e 's|^PBS_HOME=.*|PBS_HOME=%{torquehomedir}|' \
-e 's|^PBS_DAEMON=.*|PBS_DAEMON=%{_sbindir}/'$daemon'|' \
-e 's|chkconfig: 345|chkconfig: -|' \
contrib/init.d/$daemon
done
%install
%__rm -rf "$RPM_BUILD_ROOT"
%__make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p"
make DESTDIR=%{buildroot} INSTALL="install -p" install
# remove files we don't need
%__rm -f $RPM_BUILD_ROOT/%_libdir/*.la
%__rm -f $RPM_BUILD_ROOT/%_libdir/*/buildindex
%__rm -f $RPM_BUILD_ROOT/%{_lib}/security/pam_pbssimpleauth.{a,la}
touch -r pbs-config-multilib $RPM_BUILD_ROOT/%{_bindir}/pbs-config
rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}%{_libdir}/*/buildindex
rm -f %{buildroot}/%{_lib}/security/pam_pbssimpleauth.{a,la}
mkdir -p %{buildroot}%{_bindir}
touch -r pbs-config-multilib %{buildroot}%{_bindir}/pbs-config
# install initscripts
%__mkdir_p $RPM_BUILD_ROOT%{_initrddir}
for daemon in pbs_mom pbs_sched pbs_server; do
%__sed -e 's|^PBS_HOME=.*|PBS_HOME=%{torquehomedir}|' \
-e 's|^PBS_DAEMON=.*|PBS_DAEMON=%{_sbindir}/'$daemon'|' \
-e 's|chkconfig: 345|chkconfig: -|' \
< contrib/init.d/$daemon > $RPM_BUILD_ROOT%{_initrddir}/$daemon
%__chmod 755 $RPM_BUILD_ROOT%{_initrddir}/$daemon
done
mkdir -p %{buildroot}%{_initrddir}
install -p -m 755 contrib/init.d/pbs_mom %{buildroot}%{_initrddir}/pbs_mom
install -p -m 755 contrib/init.d/pbs_sched %{buildroot}%{_initrddir}/pbs_sched
install -p -m 755 contrib/init.d/pbs_server %{buildroot}%{_initrddir}/pbs_server
%if %{build_gui}
# This is really trivial, but cleans up an rpmlint warning
%__sed -i -e 's|%_lib/../||' $RPM_BUILD_ROOT%{_bindir}/xpbs
# install .desktop files and my ugly icons
desktop-file-install --vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
--add-category X-Fedora \
xpbs.desktop
desktop-file-install --vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
--add-category X-Fedora \
xpbsmon.desktop
%__install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps
%__install -p -m0644 xpbs.png xpbsmon.png $RPM_BUILD_ROOT%{_datadir}/pixmaps
sed -i -e 's|%{_lib}/../||' %{buildroot}%{_bindir}/xpbs
desktop-file-install --dir %{buildroot}%{_datadir}/applications xpbs.desktop
desktop-file-install --dir %{buildroot}%{_datadir}/applications xpbsmon.desktop
install -d %{buildroot}%{_datadir}/pixmaps
install -p -m0644 xpbs.png xpbsmon.png %{buildroot}%{_datadir}/pixmaps
%endif
# alternatives stuff
for bin in qalter qdel qhold qrls qselect qstat qsub
do
mv $RPM_BUILD_ROOT%{_bindir}/$bin $RPM_BUILD_ROOT%{_bindir}/${bin}-torque
mv $RPM_BUILD_ROOT%{_mandir}/man1/${bin}.1 \
$RPM_BUILD_ROOT%{_mandir}/man1/${bin}-torque.1
mv %{buildroot}%{_bindir}/$bin %{buildroot}%{_bindir}/${bin}-torque
mv %{buildroot}%{_mandir}/man1/${bin}.1 \
%{buildroot}%{_mandir}/man1/${bin}-torque.1
done
# Relocate configuration files.
mkdir -p %{buildroot}%{_sysconfdir}/torque
pushd %{buildroot}%{torquehomedir}
mv pbs_environment %{buildroot}%{_sysconfdir}/torque
mv server_name %{buildroot}%{_sysconfdir}/torque
ln -s %{_sysconfdir}/torque/pbs_environment .
ln -s %{_sysconfdir}/torque/server_name .
popd
# Relocate mom_logs to /var/log
mkdir -p %{buildroot}%{_var}/log/torque
pushd %{buildroot}%{torquehomedir}
mv mom_logs %{buildroot}%{_var}/log/torque
ln -s %{_var}/log/torque/mom_logs .
popd
# Install mom_priv/config file to /etc/torque/mom
mkdir -p %{buildroot}%{_sysconfdir}/torque/mom
install -p -m 644 config %{buildroot}%{_sysconfdir}/torque/mom/config
pushd %{buildroot}%{torquehomedir}/mom_priv
ln -s %{_sysconfdir}/torque/mom/config .
popd
# Install sched_config files to /etc/torque/sched
mkdir -p %{buildroot}%{_sysconfdir}/torque/sched
pushd %{buildroot}%{torquehomedir}/sched_priv
for CONFIG in dedicated_time holidays resource_group sched_config ; do
mv $CONFIG %{buildroot}%{_sysconfdir}/torque/sched/.
ln -s %{_sysconfdir}/torque/sched/$CONFIG .
done
popd
# Relocate sched_logs to /var/log
pushd %{buildroot}%{torquehomedir}
mv sched_logs %{buildroot}%{_var}/log/torque
ln -s %{_var}/log/torque/sched_logs .
popd
# Relocate server_logs to /var/log
pushd %{buildroot}%{torquehomedir}
mv server_logs %{buildroot}%{_var}/log/torque
ln -s %{_var}/log/torque/server_logs .
popd
%clean
%__rm -rf "$RPM_BUILD_ROOT"
rm -rf %{buildroot}
%post
if %__grep -q "PBS services" /etc/services;then
if grep -q "PBS services" /etc/services;then
: PBS services already installed
else
cat<<-__EOF__>>/etc/services
cat<<__EOF__>>/etc/services
# Standard PBS services
pbs 15001/tcp # pbs server (pbs_server)
pbs 15001/udp # pbs server (pbs_server)
@ -207,137 +387,6 @@ pbs_sched 15004/udp # scheduler
__EOF__
fi
%files
%defattr(-, root, root)
%doc README.torque torque.setup Release_Notes CHANGELOG PBS_License.txt README-localhost
%config(noreplace) %{torquehomedir}/pbs_environment
%config(noreplace) %{torquehomedir}/server_name
%dir %{torquehomedir}
%{torquehomedir}/aux
%{torquehomedir}/spool
%package docs
Group: Documentation
Summary: Documentation files for TORQUE
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: pbs-docs
%description docs
%shared_description
This package holds the documentation files.
%files docs
%defattr(-, root, root)
%doc doc/admin_guide.ps
%{_mandir}/man*/*
%exclude %{_mandir}/man1/qsub-torque.1.gz
%exclude %{_mandir}/man1/qalter-torque.1.gz
%exclude %{_mandir}/man1/qdel-torque.1.gz
%exclude %{_mandir}/man1/qhold-torque.1.gz
%exclude %{_mandir}/man1/qrls-torque.1.gz
%exclude %{_mandir}/man1/qselect-torque.1.gz
%exclude %{_mandir}/man1/qstat-torque.1.gz
%package scheduler
Group: System Environment/Daemons
Summary: Simple fifo scheduler for TORQUE
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: pbs-scheduler
%description scheduler
%shared_description
This package holds the fifo C scheduler.
%files scheduler
%defattr(-, root, root)
%attr(0755, root, root) %{_sbindir}/pbs_sched
%attr(0755, root, root) %{_sbindir}/qschedd
%{_initrddir}/pbs_sched
%dir %{torquehomedir}/sched_priv
%config(noreplace) %{torquehomedir}/sched_priv/*
%{torquehomedir}/sched_logs
%post scheduler
/sbin/chkconfig --add pbs_sched
%preun scheduler
if [ $1 -eq 0 ]; then
/sbin/service pbs_sched stop
/sbin/chkconfig --del pbs_sched
fi
%package server
Group: System Environment/Daemons
Summary: The main part of TORQUE
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: pbs-server
%description server
%shared_description
This package holds the server.
%files server
%defattr(-, root, root)
%attr(0755, root, root) %{_sbindir}/pbs_server
%attr(0755, root, root) %{_sbindir}/qserverd
%attr(0755, root, root) %{_sbindir}/momctl
%{_initrddir}/pbs_server
%{torquehomedir}/server_logs
%{torquehomedir}/server_priv
%post server
/sbin/chkconfig --add pbs_server
%preun server
if [ $1 -eq 0 ]; then
/sbin/service pbs_server stop
/sbin/chkconfig --del pbs_server
fi
%package mom
Group: System Environment/Daemons
Summary: Node execution daemon for TORQUE
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: pbs-mom
%description mom
%shared_description
This package holds the execute daemon required on every node.
%files mom
%defattr(-, root, root)
%attr(0755, root, root) %{_sbindir}/pbs_mom
%attr(0755, root, root) %{_sbindir}/qnoded
%attr(0755, root, root) %{_bindir}/pbs_track
%{_initrddir}/pbs_mom
%if %{use_rcp}
%attr(4755 root root) %{_sbindir}/pbs_rcp
%endif
%{torquehomedir}/mom_priv
%{torquehomedir}/mom_logs
%{torquehomedir}/checkpoint
%{torquehomedir}/undelivered
%post mom
/sbin/chkconfig --add pbs_mom
%preun mom
if [ $1 -eq 0 ]; then
/sbin/service pbs_mom stop
/sbin/chkconfig --del pbs_mom
fi
%package client
Group: Applications/System
Summary: Client part of TORQUE
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: pbs-client
%description client
%shared_description
This package holds the command-line client programs.
%posttrans client
/usr/sbin/alternatives --install %{_bindir}/qsub qsub %{_bindir}/qsub-torque 10 \
--slave %{_mandir}/man1/qsub.1.gz qsub-man \
@ -366,8 +415,52 @@ if [ $1 -eq 0 ]; then
/usr/sbin/alternatives --remove qsub %{_bindir}/qsub-torque
fi
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%post mom
/sbin/chkconfig --add pbs_mom
%preun mom
if [ $1 -eq 0 ]; then
/sbin/service pbs_mom stop >/dev/null 2>&1
/sbin/chkconfig --del pbs_mom
fi
%post scheduler
/sbin/chkconfig --add pbs_sched
%preun scheduler
if [ $1 -eq 0 ]; then
/sbin/service pbs_sched stop >/dev/null 2>&1
/sbin/chkconfig --del pbs_sched
fi
%post server
/sbin/chkconfig --add pbs_server
%preun server
if [ $1 -eq 0 ]; then
/sbin/service pbs_server stop >/dev/null 2>&1
/sbin/chkconfig --del pbs_server
fi
%files
%defattr(-, root, root, -)
%doc README.torque torque.setup Release_Notes
%doc CHANGELOG PBS_License.txt README.Fedora
%dir %{torquehomedir}
%dir %{torquehomedir}/aux
%dir %{torquehomedir}/spool
%dir %{torquehomedir}/undelivered
%{torquehomedir}/pbs_environment
%{torquehomedir}/server_name
%config(noreplace) %{_sysconfdir}/torque/pbs_environment
%config(noreplace) %{_sysconfdir}/torque/server_name
%files client
%defattr(-, root, root)
%defattr(-, root, root, -)
%{_bindir}/q*
%{_bindir}/chk_tree
%{_bindir}/hostn
@ -375,37 +468,110 @@ fi
%{_bindir}/pbsdsh
%{_bindir}/pbsnodes
%{_bindir}/printjob
%{_bindir}/printtracking
%{_bindir}/printserverdb
%{_bindir}/printtracking
%{_bindir}/tracejob
%attr(4755 root root) %{_sbindir}/pbs_iff
%{_sbindir}/momctl
%attr(4755, root, root) %{_sbindir}/pbs_iff
%{_sbindir}/pbs_demux
%if %use_tcl
%if %{use_tcl}
%{_bindir}/pbs_tclsh
%endif
%{_mandir}/man1/qsub-torque.1.gz
%{_mandir}/man1/qalter-torque.1.gz
%{_mandir}/man1/qdel-torque.1.gz
%{_mandir}/man1/qhold-torque.1.gz
%{_mandir}/man1/qrls-torque.1.gz
%{_mandir}/man1/qselect-torque.1.gz
%{_mandir}/man1/qstat-torque.1.gz
%{_mandir}/man1/qsub-torque.1.*
%{_mandir}/man1/qalter-torque.1.*
%{_mandir}/man1/qdel-torque.1.*
%{_mandir}/man1/qhold-torque.1.*
%{_mandir}/man1/qrls-torque.1.*
%{_mandir}/man1/qselect-torque.1.*
%{_mandir}/man1/qstat-torque.1.*
%package gui
Group: Applications/System
Summary: Graphical clients for TORQUE
Requires: %{name}-client = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: xpbs xpbsmon
Provides: %{name}-x11tools
%description gui
%shared_description
This package holds the graphical clients.
%files docs
%defattr(-, root, root, -)
%doc doc/admin_guide.ps
%{_mandir}/man1/basl2c.1.*
%{_mandir}/man1/nqs2pbs.1.*
%{_mandir}/man1/pbs.1.*
%{_mandir}/man1/pbsdsh.1.*
%{_mandir}/man1/qchkpt.1.*
%{_mandir}/man1/qmgr.1.*
%{_mandir}/man1/qmove.1.*
%{_mandir}/man1/qmsg.1.*
%{_mandir}/man1/qorder.1.*
%{_mandir}/man1/qrerun.1.*
%{_mandir}/man1/qsig.1.*
%{_mandir}/man1/xpbs.1.*
%{_mandir}/man1/xpbsmon.1.*
%{_mandir}/man3/pbs_alterjob.3.*
%{_mandir}/man3/pbs_connect.3.*
%{_mandir}/man3/pbs_default.3.*
%{_mandir}/man3/pbs_deljob.3.*
%{_mandir}/man3/pbs_disconnect.3.*
%{_mandir}/man3/pbs_geterrmsg.3.*
%{_mandir}/man3/pbs_holdjob.3.*
%{_mandir}/man3/pbs_locate.3.*
%{_mandir}/man3/pbs_manager.3.*
%{_mandir}/man3/pbs_movejob.3.*
%{_mandir}/man3/pbs_msgjob.3.*
%{_mandir}/man3/pbs_orderjob.3.*
%{_mandir}/man3/pbs_rerunjob.3.*
%{_mandir}/man3/pbs_rescquery.3.*
%{_mandir}/man3/pbs_rescreserve.3.*
%{_mandir}/man3/pbs_rlsjob.3.*
%{_mandir}/man3/pbs_runjob.3.*
%{_mandir}/man3/pbs_selectjob.3.*
%{_mandir}/man3/pbs_selstat.3.*
%{_mandir}/man3/pbs_sigjob.3.*
%{_mandir}/man3/pbs_stagein.3.*
%{_mandir}/man3/pbs_statjob.3.*
%{_mandir}/man3/pbs_statnode.3.*
%{_mandir}/man3/pbs_statque.3.*
%{_mandir}/man3/pbs_statserver.3.*
%{_mandir}/man3/pbs_submit.3.*
%{_mandir}/man3/pbs_terminate.3.*
%{_mandir}/man3/rpp.3.*
%{_mandir}/man3/tm.3.*
%{_mandir}/man7/pbs_job_attributes.7.*
%{_mandir}/man7/pbs_queue_attributes.7.*
%{_mandir}/man7/pbs_resources.7.*
%{_mandir}/man7/pbs_resources_aix4.7.*
%{_mandir}/man7/pbs_resources_aix5.7.*
%{_mandir}/man7/pbs_resources_darwin.7.*
%{_mandir}/man7/pbs_resources_digitalunix.7.*
%{_mandir}/man7/pbs_resources_freebsd.7.*
%{_mandir}/man7/pbs_resources_fujitsu.7.*
%{_mandir}/man7/pbs_resources_hpux10.7.*
%{_mandir}/man7/pbs_resources_hpux11.7.*
%{_mandir}/man7/pbs_resources_irix5.7.*
%{_mandir}/man7/pbs_resources_irix6.7.*
%{_mandir}/man7/pbs_resources_irix6array.7.*
%{_mandir}/man7/pbs_resources_linux.7.*
%{_mandir}/man7/pbs_resources_netbsd.7.*
%{_mandir}/man7/pbs_resources_solaris5.7.*
%{_mandir}/man7/pbs_resources_solaris7.7.*
%{_mandir}/man7/pbs_resources_sp2.7.*
%{_mandir}/man7/pbs_resources_sunos4.7.*
%{_mandir}/man7/pbs_resources_unicos8.7.*
%{_mandir}/man7/pbs_resources_unicosmk2.7.*
%{_mandir}/man7/pbs_server_attributes.7.*
%{_mandir}/man8/pbs_mom.8.*
%{_mandir}/man8/pbs_sched.8.*
%{_mandir}/man8/pbs_sched_basl.8.*
%{_mandir}/man8/pbs_sched_cc.8.*
%{_mandir}/man8/pbs_sched_tcl.8.*
%{_mandir}/man8/pbs_server.8.*
%{_mandir}/man8/pbsnodes.8.*
%{_mandir}/man8/qdisable.8.*
%{_mandir}/man8/qenable.8.*
%{_mandir}/man8/qrun.8.*
%{_mandir}/man8/qstart.8.*
%{_mandir}/man8/qstop.8.*
%{_mandir}/man8/qterm.8.*
%if %{build_gui}
%files gui
%defattr(-, root, root)
%defattr(-, root, root, -)
%{_bindir}/pbs_wish
%{_bindir}/xpbs
%{_bindir}/xpbsmon
@ -415,71 +581,89 @@ This package holds the graphical clients.
%{_datadir}/pixmaps/*.png
%endif
%package -n lib%{name}
Summary: Run-time libs for programs which will use the %{name} library
Group: Development/Libraries
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%description -n lib%{name}
%shared_description
This package includes the shared libraries
necessary for running TORQUE programs.
%files -n lib%{name}
%defattr(-, root, root)
%files libs
%defattr(-, root, root, -)
%{_libdir}/*.so.*
%post -n lib%{name} -p /sbin/ldconfig
%postun -n lib%{name} -p /sbin/ldconfig
%package -n lib%{name}-devel
Summary: Development tools for programs which will use the %{name} library
Group: Development/Libraries
Requires: lib%{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%description -n lib%{name}-devel
%shared_description
This package includes the header files and static libraries
necessary for developing programs which will use %{name}.
%files -n lib%{name}-devel
%defattr(-, root, root)
%{_libdir}/*.a
%files devel
%defattr(-, root, root, -)
%{_libdir}/*.so
%{_includedir}/torque
%{_bindir}/pbs-config
%package pam
Summary: PAM module for TORQUE MOM nodes
Group: System Environment/Base
%description pam
%shared_description
A simple PAM module to authorize users on PBS MOM nodes with a running job.
%files mom
%defattr(-, root, root, -)
%{_sbindir}/pbs_mom
%{_sbindir}/qnoded
%{_sbindir}/pbs_demux
%{_bindir}/pbs_track
%{_initrddir}/pbs_mom
%if %{use_rcp}
%attr(4755, root, root) %{_sbindir}/pbs_rcp
%endif
%{torquehomedir}/mom_priv
%{torquehomedir}/mom_logs
%{torquehomedir}/checkpoint
%{torquehomedir}/undelivered
%dir %{_var}/log/torque
%dir %{_var}/log/torque/mom_logs
%dir %{_sysconfdir}/torque/mom
%config(noreplace) %{_sysconfdir}/torque/mom/config
%files pam
%defattr(-, root, root)
%defattr(-, root, root, -)
%doc src/pam/README.pam
/%{_lib}/security/pam_pbssimpleauth.so
%files scheduler
%defattr(-, root, root, -)
%attr(0755, root, root) %{_sbindir}/pbs_sched
%{_sbindir}/qschedd
%{_initrddir}/pbs_sched
%dir %{torquehomedir}/sched_priv
%config(noreplace) %{torquehomedir}/sched_priv/*
%{torquehomedir}/sched_logs
%dir %{_var}/log/torque/sched_logs
%dir %{_sysconfdir}/torque/sched
%config(noreplace) %{_sysconfdir}/torque/sched/dedicated_time
%config(noreplace) %{_sysconfdir}/torque/sched/holidays
%config(noreplace) %{_sysconfdir}/torque/sched/resource_group
%config(noreplace) %{_sysconfdir}/torque/sched/sched_config
%files server
%defattr(-, root, root, -)
%attr(0755, root, root) %{_sbindir}/pbs_server
%attr(0755, root, root) %{_sbindir}/momctl
%{_sbindir}/qserverd
%{_initrddir}/pbs_server
%dir %{_var}/log/torque/server_logs
%{torquehomedir}/server_logs
%{torquehomedir}/server_priv
%changelog
* Fri Feb 12 2010 Steve Traylen <steve.traylen@cern.ch> - 2.3.10-1
- New upstream 2.3.10
* Thu Jul 1 2010 Steve Traylen <steve.traylen@cern.ch> - 2.4.8-2
- Set torquehome to /var/lib/torque rather than /var/torque
- Drop provides and obsoletes since never present in Fedora/EPEL.
- Don't use a variable for the description.
- Split install of init.d scripts to build and install sections
as appropriate.
- Mark docs subpackage as noarch.
- Rename libtorque package to more normal torque-libs package.
- Rename libtorque-devel package to more normal torque-devel package.
- Remove the unused epoch and snapshot variables.
- Have mom requires openssh-clients and server openssh-server
- Have mom, sched and server log to /var/log/torque and symlinks
- Move configurtion files to /etc/torque and symlink in expected.
- Be more explicit about man page in the files section.
- Rename README-localhost to README.Fedora to make it more obvious
it's related to this package.
* Wed Jun 2 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 2.4.8-1
- update to 2.4.8
- drop static libs
- cleanup spec file
* Tue Jan 19 2010 Steve Traylen <steve.traylen@cern.ch> - 2.3.9-1
- New upstream 2.3.9
* Thu Dec 3 2009 Steve Traylen <steve.traylen@cern.ch> - 2.3.8-1
- Updated to upstream 2.3.8
- First EPEL build.
- Add new commands to package.
/usr/bin/pbs_track
/usr/bin/printserverdb
/usr/sbin/qnoded
/usr/sbin/qschedd
/usr/sbin/qserverd
- Remove torque-2.1.10-NI_MAXSERV.patch as not needed any more.
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.10-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild