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
openSUSE Build Service is sponsored by