|
|
|
@ -1,16 +1,13 @@
|
|
|
|
|
Name: Judy
|
|
|
|
|
Version: 1.0.5
|
|
|
|
|
Release: 18%{?dist}
|
|
|
|
|
Release: 28%{?dist}
|
|
|
|
|
Summary: General purpose dynamic array
|
|
|
|
|
License: LGPLv2+
|
|
|
|
|
URL: http://sourceforge.net/projects/judy/
|
|
|
|
|
Source0: http://downloads.sf.net/judy/Judy-%{version}.tar.gz
|
|
|
|
|
# Make tests use shared instead of static libJudy
|
|
|
|
|
Source1: README.Fedora
|
|
|
|
|
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
|
|
|
|
@ -19,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
|
|
|
|
@ -40,20 +36,35 @@ 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
|
|
|
|
|
export CFLAGS="%{optflags} -fno-strict-aliasing -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-copy-prop -fno-tree-vrp"
|
|
|
|
|
%set_build_flags
|
|
|
|
|
case "%{__cc}" in
|
|
|
|
|
gcc) COMPILER_SPECIFIC_FLAGS="-fno-strict-aliasing -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-copy-prop -fno-tree-vrp";;
|
|
|
|
|
*) COMPILER_SPECIFIC_FLAGS="-fno-strict-aliasing";;
|
|
|
|
|
esac
|
|
|
|
|
export CFLAGS="%{optflags} $COMPILER_SPECIFIC_FLAGS"
|
|
|
|
|
%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 DESTDIR=%{buildroot} INSTALL="install -p"
|
|
|
|
|
%make_install
|
|
|
|
|
# get rid of static libs and libtool archives
|
|
|
|
|
rm -f %{buildroot}%{_libdir}/*.{a,la}
|
|
|
|
|
# clean out zero length and generated files from doc tree
|
|
|
|
@ -62,25 +73,19 @@ rm -f doc/Makefile* doc/ext/README_deliver
|
|
|
|
|
[ -s doc/ext/COPYRIGHT ] || rm -f doc/ext/COPYRIGHT
|
|
|
|
|
[ -s doc/ext/LICENSE ] || rm -f doc/ext/LICENSE
|
|
|
|
|
|
|
|
|
|
# multi-lib trick - remove the timestamp from the man page comment
|
|
|
|
|
sed -i -e 's|\(Auto-translated to nroff.*\.\./tool/jhton at\).*$|\1 <timestamp removed>|' %{buildroot}%{_mandir}/man3/J*.3*
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
cd test
|
|
|
|
|
./Checkit
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
|
|
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 27)
|
|
|
|
|
# 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
|
|
|
|
|
%else
|
|
|
|
|
%doc COPYING
|
|
|
|
|
%endif
|
|
|
|
|
%license COPYING README.Fedora
|
|
|
|
|
%doc AUTHORS ChangeLog README examples/
|
|
|
|
|
%{_libdir}/libJudy.so.*
|
|
|
|
|
%{_libdir}/libJudy.so.1
|
|
|
|
|
%{_libdir}/libJudy.so.1.*
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
|
%doc doc
|
|
|
|
@ -89,14 +94,49 @@ cd -
|
|
|
|
|
%{_mandir}/man3/J*.3*
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Sun Dec 10 2023 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.0.5-18
|
|
|
|
|
- Rebuilt for MSVSphere 8.8
|
|
|
|
|
* Mon Aug 09 2021 Honza Horak <hhorak@redhat.com> - 1.0.5-28
|
|
|
|
|
- Remove timestamp to make the man pages non-conflicting
|
|
|
|
|
Resolves: #1915251
|
|
|
|
|
|
|
|
|
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.5-27
|
|
|
|
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
|
|
|
|
Related: rhbz#1991688
|
|
|
|
|
|
|
|
|
|
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.5-26
|
|
|
|
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
|
|
|
|
|
|
|
|
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-25
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-24
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Wed Mar 25 2020 Paul Howarth <paul@city-fan.org> - 1.0.5-23
|
|
|
|
|
- Don't pass gcc-only compiler flags to other compilers, e.g. clang
|
|
|
|
|
(based on https://src.fedoraproject.org/rpms/Judy/pull-request/3 from
|
|
|
|
|
Timm Baeder)
|
|
|
|
|
|
|
|
|
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-22
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-21
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
|
|
|
|
|
* Thu Oct 11 2018 Michal Schorm <mschorm@redhat.com> - 1.0.5-18
|
|
|
|
|
- Remove README.Fedora; no longer needed since 1.0.5 version
|
|
|
|
|
- Resolves: #1638717
|
|
|
|
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-18
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Thu Feb 08 2018 Paul Howarth <paul@city-fan.org> - 1.0.5-17
|
|
|
|
|
* Thu Feb 8 2018 Paul Howarth <paul@city-fan.org> - 1.0.5-17
|
|
|
|
|
- ldconfig scriptlets replaced by RPM File Triggers from Fedora 28
|
|
|
|
|
- Drop legacy BuildRoot: and Group: tags
|
|
|
|
|
- Drop redundant explicit buildroot cleaning
|
|
|
|
|