Modernize spec

- Drop conditionals for building with old distributions
- Re-format %description to 80 columns
- Comment patch applications in %prep section
This commit is contained in:
Paul Howarth 2019-07-22 12:21:01 +01:00
parent e9f150ae27
commit 87c59a8f15
2 changed files with 31 additions and 28 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
Judy-1.0.5.tar.gz
/Judy-1.0.4.tar.gz
/Judy-1.0.5.tar.gz

View File

@ -1,17 +1,13 @@
Name: Judy
Version: 1.0.5
Release: 19%{?dist}
Release: 20%{?dist}
Summary: General purpose dynamic array
License: LGPLv2+
URL: http://sourceforge.net/projects/judy/
Source0: http://downloads.sf.net/judy/Judy-%{version}.tar.gz
Source1: README.Fedora
# Make tests use shared instead of static libJudy
Patch0: Judy-1.0.4-test-shared.patch
# The J1* man pages were incorrectly being symlinked to Judy, rather than Judy1
# This patch corrects that; submitted upstream 2008/11/27
Patch1: Judy-1.0.4-fix-Judy1-mans.patch
# Fix some code with undefined behavior, commented on and removed by gcc
Patch2: Judy-1.0.5-undefined-behavior.patch
BuildRequires: coreutils
BuildRequires: gawk
@ -20,16 +16,15 @@ BuildRequires: make
BuildRequires: sed
%description
Judy is a C library that provides a state-of-the-art core technology
that implements a sparse dynamic array. Judy arrays are declared
simply with a null pointer. A Judy array consumes memory only when it
is populated, yet can grow to take advantage of all available memory
if desired. Judy's key benefits are scalability, high performance, and
memory efficiency. A Judy array is extensible and can scale up to a
very large number of elements, bounded only by machine memory. Since
Judy is designed as an unbounded array, the size of a Judy array is
not pre-allocated but grows and shrinks dynamically with the array
population.
Judy is a C library that provides a state-of-the-art core technology that
implements a sparse dynamic array. Judy arrays are declared simply with a null
pointer. A Judy array consumes memory only when it is populated, yet can grow
to take advantage of all available memory if desired. Judy's key benefits are
scalability, high performance, and memory efficiency. A Judy array is
extensible and can scale up to a very large number of elements, bounded only by
machine memory. Since Judy is designed as an unbounded array, the size of a
Judy array is not pre-allocated but grows and shrinks dynamically with the
array population.
%package devel
Summary: Development libraries and headers for Judy
@ -41,19 +36,28 @@ for developing applications that use the Judy library.
%prep
%setup -q -n judy-%{version}
# Make tests use shared instead of static libJudy
%patch0 -p1 -b .test-shared
# The J1* man pages were incorrectly being symlinked to Judy, rather than Judy1
# This patch corrects that; submitted upstream 2008/11/27
%patch1 -p1 -b .fix-Judy1-mans
# Fix some code with undefined behavior, commented on and removed by gcc
%patch2 -p1 -b .behavior
# README.Fedora
cp -p %{SOURCE1} .
%build
%{set_build_flags}
%set_build_flags
export CFLAGS="$CFLAGS -fno-strict-aliasing -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-copy-prop -fno-tree-vrp"
%configure --disable-static
make
#%{?_smp_mflags}
# fails to compile properly with parallel make:
# http://sourceforge.net/tracker/index.php?func=detail&aid=2129019&group_id=55753&atid=478138
# https://sourceforge.net/p/judy/bugs/22/
%install
%make_install
@ -70,18 +74,8 @@ cd test
./Checkit
cd -
%if (0%{?rhel} && 0%{?rhel} <= 7)
# ldconfig scriptlets replaced by RPM File Triggers from Fedora 28
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%endif
%files
%if 0%{?_licensedir:1}
%license COPYING README.Fedora
%else
%doc COPYING README.Fedora
%endif
%doc AUTHORS ChangeLog README examples/
%{_libdir}/libJudy.so.*
@ -92,6 +86,14 @@ cd -
%{_mandir}/man3/J*.3*
%changelog
* Mon Jul 22 2019 Paul Howarth <paul@city-fan.org> - 1.0.5-20
- Modernize spec
- Use %%make_install
- Use %%set_build_flags
- Drop conditionals for building with old distributions
- Re-format %%description to 80 columns
- Comment patch applications in %%prep section
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild