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