File lsb-setup.spec of Package lsb-setup
%define basedir /opt/lsb
%define version 4.0.0
%define release 2
Summary: LSB setup
Name: lsb-setup
Version: %{version}
Release: %{release}
License: GPL
Group: Development/Tools
URL: http://www.linuxfoundation.org/bzr/unofficial/lsb-setup
BuildRoot: %{_tmppath}/%{name}-root
AutoReqProv: no
BuildArch: noarch
Requires: lsb
%description
Basic LSB /opt/lsb filesystem package
#==================================================
%prep
#==================================================
%build
#==================================================
%install
rm -rf ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}%{basedir}/{bin,doc,include,share,test,man/{man1,man3}}
mkdir ${RPM_BUILD_ROOT}%{basedir}/lib
mkdir ${RPM_BUILD_ROOT}%{basedir}/lib64
#=================================================
# this whole dance is to handle upgrades from 4.0 beta/snapshots
%pre
if [ -d /opt/lsb/lib-4.0 -a -h /opt/lsb/lib ];then
mv /opt/lsb/lib-4.0 /opt/lsb/lib-4.0.old
rm -f /opt/lsb/lib
fi
if [ -d /opt/lsb/lib64-4.0 -a -h /opt/lsb/lib64 ];then
mv /opt/lsb/lib64-4.0 /opt/lsb/lib64-4.0.old
rm -f /opt/lsb/lib64
fi
# since we do not own /opt. and debian/ubuntu pkgs do not either
# it's possible to lose /opt altogether with installs/uninstalls
# and then the perms are all messed up for the next cycle
if [ ! -d /opt ];then
mkdir /opt
chown root:root /opt
chmod 0755 /opt
fi
%post
if [ -d /opt/lsb/lib-4.0.old ];then
cd /opt/lsb/lib-4.0.old
for file in `find .`;do
if [ ! -e /opt/lsb/lib/$file ];then
mv $file /opt/lsb/lib/$file
fi
done
rm -fr /opt/lsb/lib-4.0.old
cd /opt/lsb
if [ ! -e lib-4.0 ];then
ln -s lib lib-4.0
fi
fi
if [ -d /opt/lsb/lib64-4.0.old ];then
cd /opt/lsb/lib64-4.0.old
for file in `find .`;do
if [ ! -e /opt/lsb/lib64/$file ];then
mv $file /opt/lsb/lib64/$file
fi
done
rm -fr /opt/lsb/lib64-4.0.old
cd /opt/lsb
if [ ! -e lib64-4.0 ];then
ln -s lib64 lib64-4.0
fi
fi
#==================================================
%clean
if [ -z "${RPM_BUILD_ROOT}" -a "${RPM_BUILD_ROOT}" != "/" ]; then
rm -rf ${RPM_BUILD_ROOT}
fi
#==================================================
%files
%defattr(0755,root,root)
%dir %{basedir}
%dir %{basedir}/bin
%dir %{basedir}/doc
%dir %{basedir}/include
%dir %{basedir}/share
%dir %{basedir}/test
%dir %{basedir}/man
%dir %{basedir}/man/man1
%dir %{basedir}/man/man3
%dir %{basedir}/lib
%dir %{basedir}/lib64
#==================================================
%changelog
* Fri Nov 21 2008 Stew Benedict <stewb@linux-foundation.org>
- only require "lsb"
* Sat Nov 08 2008 Stew Benedict <stewb@linux-foundation.org>
- own /opt/lsb/include
* Wed Nov 05 2008 Stew Benedict <stewb@linux-foundation.org>
- own /opt/lsb/lib{64}
- manage the updates from beta/snapshots for the lib/lib-4.0 swap
* Fri Sep 26 2008 Stew Benedict <stewb@linux-foundation.org>
- initial package