Compare commits

...

No commits in common. "c9-beta" and "c8" have entirely different histories.
c9-beta ... c8

5 changed files with 2245 additions and 189 deletions

View File

@ -1 +1 @@
ddfefdf2593b3f03eec221a7f4ceaa710e5a2e6b SOURCES/brotli-1.0.9.tar.gz aa08a912bb560aa6def7b29d91ac6198a6b077f3 SOURCES/v1.0.6.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/brotli-1.0.9.tar.gz SOURCES/v1.0.6.tar.gz

View File

@ -1,48 +0,0 @@
From 09b0992b6acb7faa6fd3b23f9bc036ea117230fc Mon Sep 17 00:00:00 2001
From: Eugene Kliuchnikov <eustas.ru@gmail.com>
Date: Wed, 2 Sep 2020 11:38:26 +0200
Subject: [PATCH] Revert "Add runtime linker path to pkg-config files (#740)"
(#838)
This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1.
---
scripts/libbrotlicommon.pc.in | 2 +-
scripts/libbrotlidec.pc.in | 2 +-
scripts/libbrotlienc.pc.in | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts/libbrotlicommon.pc.in b/scripts/libbrotlicommon.pc.in
index 10ca969e..2a8cf7a3 100644
--- a/scripts/libbrotlicommon.pc.in
+++ b/scripts/libbrotlicommon.pc.in
@@ -7,5 +7,5 @@ Name: libbrotlicommon
URL: https://github.com/google/brotli
Description: Brotli common dictionary library
Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -R${libdir} -lbrotlicommon
+Libs: -L${libdir} -lbrotlicommon
Cflags: -I${includedir}
diff --git a/scripts/libbrotlidec.pc.in b/scripts/libbrotlidec.pc.in
index e7c3124f..6f8ef2e4 100644
--- a/scripts/libbrotlidec.pc.in
+++ b/scripts/libbrotlidec.pc.in
@@ -7,6 +7,6 @@ Name: libbrotlidec
URL: https://github.com/google/brotli
Description: Brotli decoder library
Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -R${libdir} -lbrotlidec
+Libs: -L${libdir} -lbrotlidec
Requires.private: libbrotlicommon >= 1.0.2
Cflags: -I${includedir}
diff --git a/scripts/libbrotlienc.pc.in b/scripts/libbrotlienc.pc.in
index 4dd0811b..2098afe2 100644
--- a/scripts/libbrotlienc.pc.in
+++ b/scripts/libbrotlienc.pc.in
@@ -7,6 +7,6 @@ Name: libbrotlienc
URL: https://github.com/google/brotli
Description: Brotli encoder library
Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -R${libdir} -lbrotlienc
+Libs: -L${libdir} -lbrotlienc
Requires.private: libbrotlicommon >= 1.0.2
Cflags: -I${includedir}

2152
SOURCES/rhbz1881156.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +1,26 @@
%if 0%{?rhel} > 7
# Disable python2 build by default
%bcond_with python2
%else
%bcond_without python2
%endif
Name: brotli Name: brotli
Version: 1.0.9 Version: 1.0.6
Release: 6%{?dist} Release: 3%{?dist}
Summary: Lossless compression algorithm Summary: Lossless compression algorithm
License: MIT License: MIT
URL: https://github.com/google/brotli URL: https://github.com/google/brotli
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz Source0: https://github.com/google/brotli/archive/v%{version}.tar.gz
Patch0: 09b0992b6acb7faa6fd3b23f9bc036ea117230fc.patch Patch1: rhbz1881156.patch
%if 0%{?rhel} == 7 %if %{with python2}
BuildRequires: devtoolset-7-toolchain, devtoolset-7-libatomic-devel BuildRequires: python2-devel
%endif %endif
BuildRequires: gcc BuildRequires: python3-devel
BuildRequires: gcc-c++ BuildRequires: gcc-c++ gcc cmake
BuildRequires: cmake
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
Requires: lib%{name}%{?_isa} = %{version}-%{release}
%description %description
Brotli is a generic-purpose lossless compression algorithm that compresses Brotli is a generic-purpose lossless compression algorithm that compresses
@ -26,22 +29,27 @@ coding and 2nd order context modeling, with a compression ratio comparable
to the best currently available general-purpose compression methods. to the best currently available general-purpose compression methods.
It is similar in speed with deflate but offers more dense compression. It is similar in speed with deflate but offers more dense compression.
%package -n libbrotli %if %{with python2}
Summary: Library for brotli lossless compression algorithm %package -n python2-%{name}
Summary: Lossless compression algorithm (python 2)
Requires: python2
%{?python_provide:%python_provide python2-%{name}}
%description -n libbrotli %description -n python2-%{name}
Brotli is a generic-purpose lossless compression algorithm that compresses Brotli is a generic-purpose lossless compression algorithm that compresses
data using a combination of a modern variant of the LZ77 algorithm, Huffman data using a combination of a modern variant of the LZ77 algorithm, Huffman
coding and 2nd order context modeling, with a compression ratio comparable coding and 2nd order context modeling, with a compression ratio comparable
to the best currently available general-purpose compression methods. to the best currently available general-purpose compression methods.
It is similar in speed with deflate but offers more dense compression. It is similar in speed with deflate but offers more dense compression.
This package installs a Python 2 module.
%endif
%package -n python3-%{name}
%package -n python%{python3_pkgversion}-%{name} Requires: %{__python3}
Summary: Lossless compression algorithm (python 3) Summary: Lossless compression algorithm (python 3)
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}} %{?python_provide:%python_provide python3-%{name}}
%description -n python%{python3_pkgversion}-%{name} %description -n python3-%{name}
Brotli is a generic-purpose lossless compression algorithm that compresses Brotli is a generic-purpose lossless compression algorithm that compresses
data using a combination of a modern variant of the LZ77 algorithm, Huffman data using a combination of a modern variant of the LZ77 algorithm, Huffman
coding and 2nd order context modeling, with a compression ratio comparable coding and 2nd order context modeling, with a compression ratio comparable
@ -50,12 +58,11 @@ It is similar in speed with deflate but offers more dense compression.
This package installs a Python 3 module. This package installs a Python 3 module.
%package devel %package -n %{name}-devel
Summary: Lossless compression algorithm (development files) Summary: Lossless compression algorithm (development files)
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: lib%{name}%{?_isa} = %{version}-%{release}
%description devel %description -n %{name}-devel
Brotli is a generic-purpose lossless compression algorithm that compresses Brotli is a generic-purpose lossless compression algorithm that compresses
data using a combination of a modern variant of the LZ77 algorithm, Huffman data using a combination of a modern variant of the LZ77 algorithm, Huffman
coding and 2nd order context modeling, with a compression ratio comparable coding and 2nd order context modeling, with a compression ratio comparable
@ -64,160 +71,105 @@ It is similar in speed with deflate but offers more dense compression.
This package installs the development files This package installs the development files
%prep %prep
%autosetup -p1 %autosetup -p1 -S git
# fix permissions for -debuginfo # fix permissions for -debuginfo
# rpmlint will complain if I create an extra %%files section for # rpmlint will complain if I create an extra %%files section for
# -debuginfo for this so we'll put it here instead # -debuginfo for this so we'll put it here instead
chmod 644 c/enc/*.[ch] %{__chmod} 644 c/enc/*.[ch]
chmod 644 c/include/brotli/*.h %{__chmod} 644 c/include/brotli/*.h
chmod 644 c/tools/brotli.c %{__chmod} 644 c/tools/brotli.c
%build %build
%if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable mkdir -p build
%endif cd build
%cmake \ %cmake .. -DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DCMAKE_INSTALL_LIBDIR="%{_libdir}" -DCMAKE_INSTALL_LIBDIR="%{_libdir}"
%cmake_build %make_build
cd ..
%if %{with python2}
%py2_build
%endif
%py3_build %py3_build
%install %install
%if 0%{?rhel} == 7 cd build
. /opt/rh/devtoolset-7/enable %make_install
%endif
%cmake_install
# I couldn't find the option to not build the static libraries # I couldn't find the option to not build the static libraries
rm "%{buildroot}%{_libdir}/"*.a %__rm "%{buildroot}%{_libdir}/"*.a
cd ..
# Must do the python2 install first because the scripts in /usr/bin are
# overwritten with every setup.py install, and in general we want the
# python3 version to be the default. If, however, we're installing separate
# executables for python2 and python3, the order needs to be reversed so
# the unversioned executable is the python2 one.
%if %{with python2}
%py2_install
%endif
%py3_install %py3_install
install -dm755 "%{buildroot}%{_mandir}/man3" %{__install} -dm755 "%{buildroot}%{_mandir}/man3"
cd docs cd docs
for i in *.3;do for i in *.3;do
install -m644 "$i" "%{buildroot}%{_mandir}/man3/${i}brotli" %{__install} -m644 "$i" "%{buildroot}%{_mandir}/man3/${i}brotli"
done done
%ldconfig_scriptlets %ldconfig_scriptlets
%check %check
%if 0%{?rhel} == 7 cd build
. /opt/rh/devtoolset-7/enable ctest -V
cd ..
%if %{with python2}
%{__python2} setup.py test
%endif %endif
%ctest %{__python3} setup.py test
%files %files
%{_bindir}/brotli %{_bindir}/brotli
%{_libdir}/*.so.*
%files -n libbrotli
%license LICENSE %license LICENSE
%{_libdir}/libbrotlicommon.so.1*
%{_libdir}/libbrotlidec.so.1*
%{_libdir}/libbrotlienc.so.1*
# Note that there is no %%files section for the unversioned python module # Note that there is no %%files section for the unversioned python module
# if we are building for several python runtimes # if we are building for several python runtimes
%files -n python%{python3_pkgversion}-%{name} %if %{with python2}
%files -n python2-%{name}
%{python2_sitearch}/*
%license LICENSE %license LICENSE
%{python3_sitearch}/brotli.py %endif
%{python3_sitearch}/_brotli.cpython-%{python3_version_nodots}*.so
%{python3_sitearch}/__pycache__/brotli.cpython-%{python3_version_nodots}*.py*
%{python3_sitearch}/Brotli-%{version}-py%{python3_version}.egg-info
%files devel %files -n python3-%{name}
%{_includedir}/brotli %{python3_sitearch}/*
%{_libdir}/libbrotlicommon.so %license LICENSE
%{_libdir}/libbrotlidec.so
%{_libdir}/libbrotlienc.so %files -n %{name}-devel
%{_libdir}/pkgconfig/libbrotlicommon.pc %{_includedir}/*
%{_libdir}/pkgconfig/libbrotlidec.pc %{_libdir}/*.so
%{_libdir}/pkgconfig/libbrotlienc.pc %{_libdir}/pkgconfig/*
%{_mandir}/man3/constants.h.3brotli* %{_mandir}/man3/*
%{_mandir}/man3/decode.h.3brotli*
%{_mandir}/man3/encode.h.3brotli*
%{_mandir}/man3/types.h.3brotli*
%changelog %changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.9-6 * Thu Oct 01 2020 Eike Rathke <erack@redhat.com> - 1.0.6-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Resolves: CVE-2020-8927
Related: rhbz#1991688
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.9-5 * Wed Jun 17 2020 Eike Rathke <erack@redhat.com> - 1.0.6-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Resolves: rhbz#1737412 bump NRV for build to compose
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.9-4 * Wed Oct 10 2018 Tomas Popela <tpopela@redhat.com> - 1.0.6-1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - Update to 1.0.6
- Resolves: rhbz#1637408
* Thu Oct 01 2020 Travis Kendrick <pouar@pouar.net> - 1.0.9-3 * Wed Sep 19 2018 Tomas Orsava <torsava@redhat.com> - 1.0.5-2
- Apparently %%autosetup calls %%patch on its own - Require the Python interpreter directly instead of using the package name
- Related: rhbz#1619153
* Thu Oct 01 2020 Travis Kendrick <pouar@pouar.net> - 1.0.9-2 * Mon Jul 16 2018 Tomas Popela <tpopela@redhat.com> - 1.0.5-1
- Fix pc file (#1884364) - Update to 1.0.5
* Wed Sep 30 2020 Travis Kendrick <pouar@pouar.net> - 1.0.9-1 * Tue Jun 19 2018 Lumír Balhar <lbalhar@redhat.com> - 1.0.1-4
- Update to 1.0.9 (#1872932) - Python 2 subpackage disabled
* Wed Aug 12 2020 Carl George <carl@george.computer> - 1.0.7-14
- Update cmake invocation rhbz#1863298
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-13
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 1.0.7-11
- Rebuilt for Python 3.9
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Dec 7 2019 Peter Robinson <pbrobinson@fedoraproject.org> 1.0.7-9
- Splil out the libs to a separate package
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.0.7-8
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Sat Aug 17 2019 Miro Hrončok <mhroncok@redhat.com> - 1.0.7-7
- Rebuilt for Python 3.8
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Apr 20 2019 Orion Poplawski <orion@nwra.com> - 1.0.7-5
- Build with devtoolset-7 on EPEL7 to fix aarch64 builds
* Thu Mar 28 2019 Carl George <carl@george.computer> - 1.0.7-4
- EPEL compatibility
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Dec 09 2018 Miro Hrončok <mhroncok@redhat.com> - 1.0.7-2
- Remove last python2 bits
* Wed Nov 28 2018 Travis Kendrick pouar@pouar.net> - 1.0.7-1
- Update to 1.0.7
* Wed Nov 28 2018 Travis Kendrick pouar@pouar.net> - 1.0.5-2
- remove Python 2 support https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
* Fri Jul 13 2018 Travis Kendrick pouar@pouar.net> - 1.0.5-1
- update to 1.0.5
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 1.0.4-3
- Rebuilt for Python 3.7
* Wed Apr 18 2018 Travis Kendrick pouar@pouar.net> - 1.0.4-2
- update to 1.0.4
* Sat Mar 03 2018 Travis Kendrick <pouar@pouar.net> - 1.0.3-1
- update to 1.0.3
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3 * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild