David Brown 84cf368
%if 0%{?rhel} <= 5
David Brown 84cf368
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
David Brown 84cf368
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
David Brown 84cf368
%endif
David Brown 84cf368
David Brown 84cf368
Name:    genders
David Brown 84cf368
Group: Development/Tools
David Brown 84cf368
Version: 1.18
David Brown 84cf368
Release: 5%{?dist}
David Brown 84cf368
Summary: Static cluster configuration database
David Brown 84cf368
License: GPLv2
David Brown 84cf368
URL: http://%{name}.sf.net
David Brown 84cf368
Source: http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}-1/%{name}-%{version}.tar.gz
David Brown 84cf368
Patch0: %{name}-%{version}-shebang.patch
David Brown 84cf368
BuildRequires: bison, flex
David Brown 84cf368
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
David Brown 84cf368
David Brown 84cf368
%description
David Brown 84cf368
Genders is a static cluster configuration database used for cluster
David Brown 84cf368
configuration management.  It is used by a variety of tools and
David Brown 84cf368
scripts for management of large clusters.  The genders database is
David Brown 84cf368
typically replicated on every node of the cluster. It describes the
David Brown 84cf368
layout and configuration of the cluster so that tools and scripts can
David Brown 84cf368
sense the variations of cluster nodes. By abstracting this information
David Brown 84cf368
into a plain text file, it becomes possible to change the
David Brown 84cf368
configuration of a cluster by modifying only one file.
David Brown 84cf368
David Brown 84cf368
%package compat
David Brown 84cf368
Summary: Compatibility library 
David Brown 84cf368
Group: Development/Tools
David Brown 84cf368
BuildRequires: perl(ExtUtils::MakeMaker)
David Brown 84cf368
%if 0%{?rhel} >= 6 || 0%{?fedora} > 0
David Brown 84cf368
BuildArch: noarch
David Brown 84cf368
%endif
David Brown 84cf368
%description compat
David Brown 84cf368
Genders API that is compatible with earlier releases of genders.
David Brown 84cf368
David Brown 84cf368
%package perl
David Brown 84cf368
Summary: Perl libraries
David Brown 84cf368
Group: Development/Tools
David Brown 84cf368
BuildRequires: perl(ExtUtils::MakeMaker)
David Brown 84cf368
%description perl
David Brown 84cf368
Genders API bindings for perl.
David Brown 84cf368
David Brown 84cf368
%package python
David Brown 84cf368
Summary: Python libraries
David Brown 84cf368
Group: Development/Tools
David Brown 84cf368
BuildRequires: python, python-devel
David Brown 84cf368
%description python
David Brown 84cf368
Genders API bindings for python.
David Brown 84cf368
David Brown 84cf368
%{?filter_setup:
David Brown 84cf368
%filter_provides_in %{python_sitearch}/.*\.so$
David Brown 84cf368
%filter_provides_in %{perl_vendorarch}/.*\.so$
David Brown 84cf368
%filter_setup
David Brown 84cf368
}
David Brown 84cf368
David Brown 84cf368
%package -n libgenders
David Brown 84cf368
Summary: Genders libraries
David Brown 84cf368
Group: Development/Libraries
David Brown 84cf368
%description -n libgenders
David Brown 84cf368
Genders API for C.
David Brown 84cf368
David Brown 84cf368
%package -n libgenders-devel
David Brown 84cf368
Summary: Genders development libraries
David Brown 84cf368
Group: Development/Libraries
David Brown 84cf368
Requires: libgenders%{?_isa} = %{version}-%{release}
David Brown 84cf368
%description -n libgenders-devel
David Brown 84cf368
Genders development headers and libraries for C.
David Brown 84cf368
David Brown 84cf368
%package -n libgendersplusplus
David Brown 84cf368
Summary: Genders libraries for C++
David Brown 84cf368
Group: Development/Libraries
David Brown 84cf368
Requires: libgenders%{?_isa} = %{version}-%{release}
David Brown 84cf368
%description -n libgendersplusplus
David Brown 84cf368
Genders API for C++.
David Brown 84cf368
David Brown 84cf368
%package -n libgendersplusplus-devel
David Brown 84cf368
Summary: Genders development libraries
David Brown 84cf368
Group: Development/Libraries
David Brown 84cf368
Requires: libgenders-devel%{?_isa} = %{version}-%{release}
David Brown 84cf368
Requires: libgendersplusplus%{?_isa} = %{version}-%{release}
David Brown 84cf368
%description -n libgendersplusplus-devel
David Brown 84cf368
Genders development headers and libraries for C++.
David Brown 84cf368
David Brown 84cf368
%prep
David Brown 84cf368
%setup  -q -n %{name}-%{version}
David Brown 84cf368
%patch0 -p1
David Brown 84cf368
David Brown 84cf368
%if 0%{?rhel} <= 6
David Brown 84cf368
cat << \EOF > %{name}-python-prov
David Brown 84cf368
#!/bin/sh
David Brown 84cf368
%{__python_provides} $* |\
David Brown 84cf368
sed -e '/.*Lib%{name}.so.*/d'
David Brown 84cf368
EOF
David Brown 84cf368
David Brown 84cf368
%global __python_provides %{_builddir}/%{name}-%{version}/%{name}-python-prov
David Brown 84cf368
chmod +x %{__python_provides}
David Brown 84cf368
David Brown 84cf368
cat << \EOF > %{name}-perl-prov
David Brown 84cf368
#!/bin/sh
David Brown 84cf368
%{__perl_provides} $* |\
David Brown 84cf368
sed -e '/.*Lib%{name}.so.*/d'
David Brown 84cf368
EOF
David Brown 84cf368
David Brown 84cf368
%global __perl_provides %{_builddir}/%{name}-%{version}/%{name}-perl-prov
David Brown 84cf368
chmod +x %{__perl_provides}
David Brown 84cf368
%endif
David Brown 84cf368
David Brown 84cf368
%build
David Brown 84cf368
%configure \
David Brown 84cf368
    --with-perl-extensions \
David Brown 84cf368
    --with-perl-vendor-arch \
David Brown 84cf368
    --with-python-extensions \
David Brown 84cf368
    --with-cplusplus-extensions \
David Brown 84cf368
    --with-extension-destdir="%{buildroot}"
David Brown 84cf368
%{__make}
David Brown 84cf368
David Brown 84cf368
%install
David Brown 84cf368
rm -rf %{buildroot}
David Brown 84cf368
DESTDIR=%{buildroot} make install
David Brown 84cf368
rm -f %{buildroot}/%{_libdir}/*.la
David Brown 84cf368
rm -f %{buildroot}/%{_libdir}/*.a
David Brown 84cf368
chmod +w %{buildroot}/%{perl_vendorarch}/auto/Lib%{name}/Lib%{name}.so
David Brown 84cf368
%if 0%{?rhel} > 0
David Brown 84cf368
chmod g-w %{buildroot}/%{python_sitearch}/lib%{name}.so
David Brown 84cf368
%endif
David Brown 84cf368
rm -f %{buildroot}/%{perl_vendorarch}/auto/Lib%{name}/Lib%{name}.bs
David Brown 84cf368
rm -f %{buildroot}/%{perl_vendorarch}/auto/Lib%{name}/.packlist
David Brown 84cf368
mkdir -p %{buildroot}/%{_libexecdir}
David Brown 84cf368
chmod 0755 %{buildroot}/%{python_sitearch}/lib%{name}.so
David Brown 84cf368
David Brown 84cf368
%postun -n libgenders -p /sbin/ldconfig
David Brown 84cf368
%postun -n libgendersplusplus -p /sbin/ldconfig
David Brown 84cf368
%post -n libgenders -p /sbin/ldconfig
David Brown 84cf368
%post -n libgendersplusplus -p /sbin/ldconfig
David Brown 84cf368
David Brown 84cf368
%if 0%{?rhel} <= 6
David Brown 84cf368
%clean
David Brown 84cf368
rm -rf %{buildroot}
David Brown 84cf368
%endif
David Brown 84cf368
David Brown 84cf368
%files
David Brown 84cf368
%defattr(-,root,root,-)
David Brown 84cf368
%doc README NEWS ChangeLog DISCLAIMER DISCLAIMER.UC COPYING TUTORIAL genders.sample
David Brown 84cf368
%{_mandir}/man1/*
David Brown 84cf368
%{_mandir}/man3/genders.3*
David Brown 84cf368
%{_bindir}/*
David Brown 84cf368
David Brown 84cf368
%files -n libgenders
David Brown 84cf368
%defattr(-,root,root,-)
David Brown 84cf368
%doc DISCLAIMER DISCLAIMER.UC COPYING 
David Brown 84cf368
%{_libdir}/libgenders.so.0*
David Brown 84cf368
David Brown 84cf368
%files -n libgenders-devel
David Brown 84cf368
%defattr(-,root,root,-)
David Brown 84cf368
%doc DISCLAIMER DISCLAIMER.UC COPYING 
David Brown 84cf368
%{_mandir}/man3/genders_*
David Brown 84cf368
%{_mandir}/man3/libgenders* 
David Brown 84cf368
%{_includedir}/genders.h
David Brown 84cf368
%{_libdir}/libgenders.so
David Brown 84cf368
David Brown 84cf368
%files -n libgendersplusplus
David Brown 84cf368
%defattr(-,root,root,-)
David Brown 84cf368
%doc DISCLAIMER DISCLAIMER.UC COPYING 
David Brown 84cf368
%{_libdir}/libgendersplusplus.so.1*
David Brown 84cf368
David Brown 84cf368
%files -n libgendersplusplus-devel
David Brown 84cf368
%defattr(-,root,root,-)
David Brown 84cf368
%doc DISCLAIMER DISCLAIMER.UC COPYING 
David Brown 84cf368
%{_libdir}/libgendersplusplus.so
David Brown 84cf368
%{_includedir}/gendersplusplus*
David Brown 84cf368
David Brown 84cf368
%files perl
David Brown 84cf368
%defattr(-,root,root,-)
David Brown 84cf368
%doc DISCLAIMER DISCLAIMER.UC COPYING 
David Brown 84cf368
%{_mandir}/man3/Libgenders*
David Brown 84cf368
%{_mandir}/man3/Genders*
David Brown 84cf368
%{perl_vendorarch}/*
David Brown 84cf368
David Brown 84cf368
%files python
David Brown 84cf368
%defattr(-,root,root,-)
David Brown 84cf368
%doc DISCLAIMER DISCLAIMER.UC COPYING 
David Brown 84cf368
%{python_sitearch}/%{name}.py*
David Brown 84cf368
%{python_sitearch}/lib%{name}.so
David Brown 84cf368
%{python_sitearch}/lib%{name}-*egg-info
David Brown 84cf368
David Brown 84cf368
%files compat
David Brown 84cf368
%defattr(-,root,root,-)
David Brown 84cf368
%doc DISCLAIMER DISCLAIMER.UC COPYING 
David Brown 84cf368
%{_mandir}/man3/gendlib*
David Brown 84cf368
%{_usr}/lib/genders/*
David Brown 84cf368
David Brown 84cf368
%changelog
David Brown 84cf368
* Fri Jul 5 2012 David Brown <david.brown@pnnl.gov> - 1.18-5
David Brown 84cf368
- change mode on python shared objects
David Brown 84cf368
David Brown 84cf368
* Thu Jul 5 2012 David Brown <david.brown@pnnl.gov> - 1.18-4
David Brown 84cf368
- move compat stuff back to hard coded lib directory
David Brown 84cf368
- remove parallel build doesn't work with yacc deps
David Brown 84cf368
David Brown 84cf368
* Thu Apr 12 2012 David Brown <david.brown@pnnl.gov> - 1.18-3
David Brown 84cf368
- Add some Groups for EPEL 5/6 repos
David Brown 84cf368
- Fix up Changelogs to add spaces
David Brown 84cf368
David Brown 84cf368
* Wed Apr 11 2012 David Brown <david.brown@pnnl.gov> - 1.18-2
David Brown 84cf368
- Followed advice from bugzilla
David Brown 84cf368
- Used proper BuildRoot tag
David Brown 84cf368
- Removed superfluous '.' from end of descriptions
David Brown 84cf368
- Fixed Requires by adding release and _isa
David Brown 84cf368
- Changed out RPM_BUILD_ROOT for %{buildroot}
David Brown 84cf368
- Added four argument defattr lines in files sections
David Brown 84cf368
David Brown 84cf368
* Mon Apr 9 2012 David Brown <david.brown@pnnl.gov> - 1.18-1
David Brown 84cf368
- initial packaging
David Brown 84cf368