xcat-core/perl-xCAT/perl-xCAT.spec
jbjohnso 199e0bca0c Further fixes for 2.1 builds
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@1570 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2008-06-03 17:50:32 +00:00

127 lines
4.2 KiB
RPMSpec

Summary: xCAT perl libraries
Name: perl-xCAT
Version: 2.1
Release: snap%(date +"%Y%m%d%H%M")
License: EPL
Group: System Environment/Libraries
Source: perl-xCAT-2.1.tar.gz
Packager: IBM Corp.
Vendor: IBM Corp.
Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
Prefix: /opt/xcat
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-root
%ifos linux
BuildArch: noarch
%endif
Provides: perl(xCAT) = %{version}
%description
Provides perl xCAT libraries for core functionality. Required for all xCAT installations.
Includes xCAT::Table, xCAT::NodeRange, among others.
%prep
%setup -q
%build
# This phase is done in (for RH): /usr/src/redhat/BUILD/perl-xCAT-2.0
# All of the tarball source has been unpacked there and is in the same file structure
# as it is in svn.
# Build the pod version of the man pages for each DB table. It puts them in the man5 subdir.
# The convert the pods to man pages and html pages.
./db2man
# Convert pods to man pages, e.g.: pod2man pods/man5/chain.5.pod share/man/man5/chain.1
# for i in pods/*/*.pod; do
# man="share/man${i#pods}" # the substitute form is not supported on aix: ${i/pods/share\/man}
# mkdir -p ${man%/*}
# pod2man $i ${man%.pod}
# done
%install
# The install phase puts all of the files in the paths they should be in when the rpm is
# installed on a system. The RPM_BUILD_ROOT is a simulated root file system and usually
# has a value like: /var/tmp/perl-xCAT-2.0-snap200802270932-root
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT/data
mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/doc/packages/perl-xCAT
mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/man/man5
mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/doc/man5
cp -r xCAT/* $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT/
chmod 644 $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT/*
chmod 644 $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT/data/*
cp LICENSE.html $RPM_BUILD_ROOT/%{prefix}/share/doc/packages/perl-xCAT
chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/doc/packages/perl-xCAT/*
cp README $RPM_BUILD_ROOT/%{prefix}
chmod 644 $RPM_BUILD_ROOT/%{prefix}/README
# These were built dynamically in the build phase
cp share/man/man5/* $RPM_BUILD_ROOT/%{prefix}/share/man/man5
chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/man/man5/*
cp share/doc/man5/* $RPM_BUILD_ROOT/%{prefix}/share/doc/man5
chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/doc/man5/*
%clean
# This step does not happen until *after* the %files packaging below
rm -rf $RPM_BUILD_ROOT
#find $RPM_BUILD_ROOT -type f | sed -e "s@$RPM_BUILD_ROOT@/@" > files.list
%files
%defattr(-, root, root)
#%doc LICENSE.html
#%doc README
# Just package everything that has been copied into RPM_BUILD_ROOT
%{prefix}
%post
%ifos linux
if [ "$1" -gt 1 ]; then #Ugrade only, restart daemon and migrate settings
if [ -x /etc/init.d/xcatd ] && [ -f "/proc/cmdline" ]; then
. /etc/profile.d/xcat.sh
/etc/init.d/xcatd restart
#THE NEXT BIT SHOULD NOT BE RELEVANT TO RELEASE, IT SHOULD HELP A BETA INSTALL UPDATE GRACEFULLY
BOOTPCHECK=`tabdump bootparams|grep -v '^#node'`
if [ -z "$BOOTPCHECK" ]; then
echo -n "Old schema use detected, migrating settings, may take a while..."
for node in `nodels`; do
MIGSETTING=`nodels $node noderes.serialport|sed -e 's/^.*:.*:\s*//'`
nodech $node noderes.serialport=
if [ ! -z "$MIGSETTING" ]; then
nodech $node "nodehm.serialport=$MIGSETTING"
fi
MIGSETTING=`nodels $node noderes.kernel|sed -e 's/^.*:.*:\s*//'`
nodech $node noderes.kernel=
if [ ! -z "$MIGSETTING" ]; then
nodech $node "bootparams.kernel=$MIGSETTING"
fi
MIGSETTING=`nodels $node noderes.initrd|sed -e 's/^.*:.*:\s*//'`
nodech $node noderes.initrd=
if [ ! -z "$MIGSETTING" ]; then
nodech $node "bootparams.initrd=$MIGSETTING"
fi
MIGSETTING=`nodels $node noderes.kcmdline|sed -e 's/^.*:.*:\s*//'`
nodech $node noderes.kcmdline=
if [ ! -z "$MIGSETTING" ]; then
nodech $node "bootparams.kcmdline=$MIGSETTING"
fi
done
echo "Done"
fi
fi
fi
%endif
%changelog
* Wed May 2 2007 - Norm Nott nott@us.ibm.com
- Made changes to make this work on AIX
* Wed Jan 24 2007 Jarrod Johnson <jbjohnso@us.ibm.com>
-It begins