diff --git a/download b/download index 8a7639dd2706fe278b6cf0a2db55d35c9a6f652c..de85bfda445811e7a5b885fda3e0526e8f78151f 100644 --- a/download +++ b/download @@ -1 +1 @@ -5b9a9e40b579b768ff4bb887344d0ef6 nspr-4.34.tar.gz +5e0acf9fbdde85181bddd510f4624841 nspr-4.35.tar.gz diff --git a/nspr-4.35.tar.gz.5e0acf9fbdde85181bddd510f4624841 b/nspr-4.35.tar.gz.5e0acf9fbdde85181bddd510f4624841 new file mode 100644 index 0000000000000000000000000000000000000000..8fec1f8bc0bf736fa5c8793755bd03f3da5b34b3 Binary files /dev/null and b/nspr-4.35.tar.gz.5e0acf9fbdde85181bddd510f4624841 differ diff --git a/nspr-561901.patch b/nspr-561901.patch deleted file mode 100644 index 45dfc58ba908ff717ccd619f17d9e002b21fd0cf..0000000000000000000000000000000000000000 --- a/nspr-561901.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up ./nspr/pr/src/pthreads/ptthread.c.s390x ./nspr/pr/src/pthreads/ptthread.c ---- ./nspr/pr/src/pthreads/ptthread.c.s390x 2012-03-01 18:25:40.922241580 -0800 -+++ ./nspr/pr/src/pthreads/ptthread.c 2012-03-01 18:27:12.759116440 -0800 -@@ -836,6 +836,9 @@ static void _pt_thread_death_internal(vo - #if defined(DEBUG) - memset(thred, 0xaf, sizeof(PRThread)); - #endif /* defined(DEBUG) */ -+#if defined(__s390x__) -+ if (callDestructors) -+#endif - PR_Free(thred); - } /* _pt_thread_death */ - diff --git a/nspr-gcc-atomics.patch b/nspr-gcc-atomics.patch new file mode 100644 index 0000000000000000000000000000000000000000..20eaefa5ba7d5ef433b44d52b7a3a32b502f69d9 --- /dev/null +++ b/nspr-gcc-atomics.patch @@ -0,0 +1,51 @@ +diff -up ./pr/include/md/_linux.h.gcc-atomics ./pr/include/md/_linux.h +--- ./pr/include/md/_linux.h.gcc-atomics 2022-09-20 11:23:22.008942926 -0700 ++++ ./pr/include/md/_linux.h 2022-09-20 11:34:45.536751340 -0700 +@@ -105,6 +105,15 @@ + #endif + + #if defined(__i386__) ++#if defined(__GNUC__) ++/* Use GCC built-in functions */ ++#define _PR_HAVE_ATOMIC_OPS ++#define _MD_INIT_ATOMIC() ++#define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1) ++#define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1) ++#define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i) ++#define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv) ++#else + #define _PR_HAVE_ATOMIC_OPS + #define _MD_INIT_ATOMIC() + extern PRInt32 _PR_x86_AtomicIncrement(PRInt32 *val); +@@ -116,6 +125,7 @@ extern PRInt32 _PR_x86_AtomicAdd(PRInt32 + extern PRInt32 _PR_x86_AtomicSet(PRInt32 *val, PRInt32 newval); + #define _MD_ATOMIC_SET _PR_x86_AtomicSet + #endif ++#endif + + #if defined(__ia64__) + #define _PR_HAVE_ATOMIC_OPS +@@ -131,6 +141,15 @@ extern PRInt32 _PR_ia64_AtomicSet(PRInt3 + #endif + + #if defined(__x86_64__) ++#if defined(__GNUC__) ++/* Use GCC built-in functions */ ++#define _PR_HAVE_ATOMIC_OPS ++#define _MD_INIT_ATOMIC() ++#define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1) ++#define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1) ++#define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i) ++#define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv) ++#else + #define _PR_HAVE_ATOMIC_OPS + #define _MD_INIT_ATOMIC() + extern PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val); +@@ -142,6 +161,7 @@ extern PRInt32 _PR_x86_64_AtomicAdd(PRIn + extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval); + #define _MD_ATOMIC_SET _PR_x86_64_AtomicSet + #endif ++#endif + + #if defined(__loongarch__) + #if defined(__GNUC__) diff --git a/nspr.spec b/nspr.spec index 27249a40241d5e0fbaee38641831967a5a901acd..f9e75ecfd6b0fe070eecb52a98c6823d48f074f4 100644 --- a/nspr.spec +++ b/nspr.spec @@ -1,4 +1,4 @@ -%global nspr_version 4.34.0 +%global nspr_version 4.35.0 # The upstream omits the trailing ".0", while we need it for # consistency with the pkg-config version: @@ -11,22 +11,21 @@ rpm.define(string.format("nspr_archive_version %s", Summary: Netscape Portable Runtime Name: nspr Version: %{nspr_version} -Release: 3.1%{?dist} +Release: 1%{?dist} License: MPLv2.0 URL: http://ftp.mozilla.org/pub/nspr/releases/v${nspr_archive_version}/src Group: System Environment/Libraries -BuildRoot: %{_tmppath}/%{name}-%{version}-root Conflicts: filesystem < 3 +BuildRequires: gcc -# Sources available at https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/ -# When hg tag based snapshots are being used, refer to documentation at -# https://wiki.mozilla.org/NSS:UsingHG and check out https://hg.mozilla.org/projects/nspr +# Sources available at ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/ +# When hg tag based snapshots are being used, refer to hg documentation on +# mozilla.org and check out subdirectory mozilla/nsprpub. Source0: %{name}-%{nspr_archive_version}.tar.gz Source1: nspr-config.xml Patch1: nspr-config-pc.patch -# Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=853902 -Patch2: nspr-561901.patch +Patch2: nspr-gcc-atomics.patch Patch10: nspr-4.34-fix-coverity-loop-issue.patch Patch11: nspr-4.34-server-passive.patch @@ -61,18 +60,13 @@ Header files for doing development with the Netscape Portable Runtime. cp ./nspr/config/nspr-config.in ./nspr/config/nspr-config-pc.in %patch1 -p0 -b .flags -%patch2 -p0 pushd nspr +%patch2 -p1 -b .gcc-atomics %patch10 -p1 -b .coverity %patch11 -p1 -b .passive popd %build - -# partial RELRO support as a security enhancement -LDFLAGS+=-Wl,-z,relro -export LDFLAGS - %define _configure ./nspr/configure %configure \ --prefix=%{_prefix} \ @@ -89,6 +83,10 @@ export LDFLAGS --enable-optimize="$RPM_OPT_FLAGS" \ --disable-debug +# The assembly files are only for legacy atomics, to which we prefer GCC atomics +%ifarch i686 x86_64 +sed -i '/^PR_MD_ASFILES/d' config/autoconf.mk +%endif make date +"%e %B %Y" | tr -d '\n' > date.xml @@ -141,117 +139,173 @@ for f in nspr-config; do install -c -m 644 ${f}.1 $RPM_BUILD_ROOT%{_mandir}/man1/${f}.1 done -%clean -%{__rm} -Rf $RPM_BUILD_ROOT - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files -%defattr(-,root,root) +%{!?_licensedir:%global license %%doc} +%license nspr/LICENSE %{_libdir}/libnspr4.so %{_libdir}/libplc4.so %{_libdir}/libplds4.so %files devel -%defattr(-, root, root) %{_includedir}/nspr4 %{_libdir}/pkgconfig/nspr.pc %{_bindir}/nspr-config %{_mandir}/man*/* %changelog -* Wed Aug 3 2022 Bob Relyea - 4.34.0-3.1 -- Actually apply the patch in -3 +* Wed Jun 14 2023 Bob Relyea - 4.34.0-1 +- Upste to NSPR 4.35 -* Thu Jun 16 2022 Bob Relyea - 4.34.0-3 -- return the AI_PASSIVE result so servers can connect to all - clients +* Wed Jun 15 2022 Bob Relyea - 4.34.0-3 +- Coverity fix changed selfserv from passive to active, change it back -* Wed Jun 8 2022 Bob Relyea - 4.34.0-2 -- Fix coverity issue +* Mon Jun 6 2022 Bob Relyea - 4.34.0-2 +- Fix coverify issue in NSPR 4.34 * Thu Jun 2 2022 Bob Relyea - 4.34.0-1 -- Rebase to NSPR 4.34 for firefox 102 +- Update to NSPR 4.34 -* Mon Aug 23 2021 Bob Relyea - 4.32.0-1 -- Rebase to NSPR 4.32 for firefox 91 +* Thu Jun 17 2021 Bob Relyea - 4.32.0-1 +- Update to NSPR 4.32 * Thu Jun 17 2021 Bob Relyea - 4.31.0-1 -- Rebase to NSPR 4.31 +- Update to NSPR 4.31 + +* Tue Jun 1 2021 Bob Relyea - 4.30.0-1 +- Update to NSPR 4.30 + +* Mon Jun 29 2020 Daiki Ueno - 4.25.0-2 +- Rebuild + +* Fri Jun 5 2020 Daiki Ueno - 4.25.0-1 +- Update to NSPR 4.25 + +* Fri May 24 2019 Daiki Ueno - 4.21.0-2 +- Rebuild + +* Fri May 24 2019 Daiki Ueno - 4.21.0-1 +- Update to NSPR 4.21 + +* Wed Oct 3 2018 Daiki Ueno - 4.20.0-2 +- Prefer GCC atomics on i686 and x86_64 + +* Mon Sep 3 2018 Daiki Ueno - 4.20.0-1 +- Update to NSPR 4.20 +- Use the upstream tarball as it is (rhbz#1578106) + +* Thu Mar 8 2018 Daiki Ueno - 4.19.0-1 +- Update to NSPR 4.19 +- Add gcc to BuildRequires -* Thu Jun 3 2021 Bob Relyea - 4.30.0-1 -- Rebase to NSPR 4.30 +* Sat Feb 24 2018 Florian Weimer - 4.18.0-4 +- Use LDFLAGS from redhat-rpm-config -* Mon Jul 20 2020 Daiki Ueno - 4.25.0-2 -- Rebuild to fix wrong dist tag +* Thu Feb 08 2018 Fedora Release Engineering - 4.18.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild -* Thu Jun 11 2020 Daiki Ueno - 4.25.0-1 -- Rebase to NSPR 4.25 +* Tue Jan 30 2018 Daiki Ueno - 4.18.0-2 +- Rebuild -* Wed Mar 20 2019 Daiki Ueno - 4.21.0-1 -- Rebase to NSPR 4.21 +* Mon Jan 22 2018 Daiki Ueno - 4.18.0-1 +- Update to NSPR 4.18 -* Mon Mar 5 2018 Daiki Ueno - 4.19.0-1 -- Rebase to NSPR 4.19 +* Wed Sep 20 2017 Daiki Ueno - 4.17.0-1 +- Update to NSPR 4.17 -* Thu Mar 1 2018 Daiki Ueno - 4.19.0-0.1.beta -- Rebase to NSPR 4.19 BETA +* Thu Aug 3 2017 Daiki Ueno - 4.16.0-1 +- Update to NSPR 4.16 -* Fri Oct 6 2017 Daiki Ueno - 4.17.0-1 -- Rebase to NSPR 4.17 +* Thu Aug 03 2017 Fedora Release Engineering - 4.15.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild -* Wed Aug 23 2017 Daiki Ueno - 4.16.0-1 -- Rebase to NSPR 4.16 +* Thu Jul 27 2017 Fedora Release Engineering - 4.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild -* Fri Feb 10 2017 Daiki Ueno - 4.13.1-1.0 +* Wed Jun 21 2017 Daiki Ueno - 4.15.0-1 +- Update to NSPR 4.15 + +* Fri Apr 21 2017 Daiki Ueno - 4.14.0-2 +- Rebase to NSPR 4.14 + +* Sat Feb 11 2017 Fedora Release Engineering - 4.13.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Oct 21 2016 Daiki Ueno - 4.13.1-1 - Rebase to NSPR 4.13.1 +* Thu Sep 29 2016 Daiki Ueno - 4.13.0-1 +- Rebase to NSPR 4.13 + +* Sun Feb 21 2016 Elio Maldonado - 4.12.0-1 +- Rebase to NSPR 4.12 + * Mon Jan 18 2016 Elio Maldonado - 4.11.0-1 - Rebase to NSPR 4.11 -- Resolves: Bug 1297941 - Rebase RHEL 7.3 to NSS 3.21 in preparation for Firefox 45 -* Fri Oct 16 2015 Elio Maldonado - 4.10.8-2 -- Resolves: Bug 1269363 - CVE-2015-7183 -- nspr: heap-buffer overflow in PL_ARENA_ALLOCATE can lead to crash (under ASAN), potential memory corruption +* Sat Nov 14 2015 Elio Maldonado - 4.10.10-2 +- Use __isa_bits macro instead of list of 64-bit architectures +- Patch contributed by Marcin Juszkiewicz +- Resolves: Bug 1258425 + +* Thu Oct 29 2015 Elio Maldonado - 4.10.10-1 +- Update to NSPR_4_10_10_RTM + +* Wed Jun 17 2015 Fedora Release Engineering - 4.10.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild -* Mon Mar 30 2015 Elio Maldonado - 4.10.8-1 -- Resolves: Bug 1200917 - Rebase nspr to 4.10.8 for Firefox 38 ESR +* Thu Jan 29 2015 Elio Maldonado - 4.10.8-1 +- Update to NSPR_4_10_8_RTM -* Mon Dec 01 2014 Elio Maldonado - 4.10.6-3 -- Restore s390x related patch as it hasn't been applied upstream yet -- Resolves: Bug 1103250 - Rebase RHEL 7.1 to NSPR 4.10.6 (for FF 31) +* Tue Aug 19 2014 Elio Maldonado - 4.10.7-1 +- Update to NSPR_4_10_7_RTM -* Tue Aug 05 2014 Elio Maldonado 4.10.6-2 -- Generic 32/64 bit platform detection (fix ppc64le build) -- Resolves: Bug 1126243 - Ensure nspr is built for 64 bit on ppc64le +* Sun Aug 17 2014 Fedora Release Engineering - 4.10.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild -* Tue Jul 08 2014 Elio Maldonado - 4.10.6-1 -- Rebase to nspr-4.10.6 -- Resolves: Bug 1103250 - Rebase RHEL 7.1 to NSPR 4.10.6 (for FF 31) +* Fri Jul 18 2014 Tom Callaway - 4.10.6-2 +- fix license handling -* Fri Jan 24 2014 Daniel Mach - 4.10.2-4 -- Mass rebuild 2014-01-24 +* Tue Jun 10 2014 Elio Maldonado - 4.10.6-1 +- Update to NSPR_4_10_6_RTM -* Fri Dec 27 2013 Daniel Mach - 4.10.2-3 -- Mass rebuild 2013-12-27 +* Sat Jun 07 2014 Fedora Release Engineering - 4.10.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild -* Fri Nov 29 2013 Elio Maldonado - 4.10.2-2 -- Restore previously used s390x patch as it isn't upstream yet -- Related: rhbz#1031465 - CVE-2013-5607 +* Tue May 06 2014 Elio Maldonado - 4.10.5-1 +- Update to NSPR_4_10_5_RTM +- Remove patch no longer needed due to the rebase + +* Wed Apr 02 2014 Elio Maldonado - 4.10.4-2 +- Resolves: Bug 1083725 - Add ppc64le support to nspr +- Use a patch by Ulrich Weigand already applied upstream + +* Sat Mar 15 2014 Elio Maldonado - 4.10.4-1 +- Update to NSPR_4_10_4_RTM + +* Thu Dec 05 2013 Dennis Gilmore - 4.10.2-3 +- escape the rpm macro in the previous commit + +* Tue Dec 3 2013 Peter Robinson 4.10.2-2 +- Fix running %%configure to ensure appropriate config options and fix aarch64 builds * Sat Nov 23 2013 Elio Maldonado - 4.10.2-1 - Update to NSPR_4_10_2_RTM - Avoid unsigned integer wrapping in PL_ArenaAllocate - Resolves: rhbz#1031465 - CVE-2013-5607 -* Fri Nov 22 2013 Elio Maldonado - 4.10-4 -- Avoid unsigned integer wrapping in PL_ArenaAllocate -- Resolves: rhbz#1031465 +* Thu Sep 26 2013 Elio Maldonado - 4.10.1-1 +- Update to NSPR_4_10_1_RTM + +* Sat Aug 03 2013 Fedora Release Engineering - 4.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild -* Fri Aug 02 2013 Elio Maldonado - 4.10-3 -- Update information on the provenance of the upstream sources +* Thu Jun 27 2013 Elio Maldonado - 4.10.0-3 +- Repackage the source tar ball as nspr-4.10.0.tar.bz2 +- Ensure client packages dependency resolution succeeds * Tue Jun 18 2013 Elio Maldonado - 4.10-2 - Install man page for the nspr-config script