From e03ce551be8720e57d9a8eec74b7d65aa8afbc67 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 19:38:32 +0000 Subject: [PATCH 01/19] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- libuv.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libuv.spec b/libuv.spec index 47dfc58..51c2b62 100644 --- a/libuv.spec +++ b/libuv.spec @@ -2,7 +2,7 @@ Name: libuv Epoch: 1 Version: 1.10.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -69,6 +69,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 1:1.10.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Thu Jan 19 2017 Stephen Gallagher - 1.10.2-1 - Update to 1.10.2 - Resolves: RHBZ#1395927 From 7afe8b28f9097e59b858c6beb532959958ea1b9e Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Tue, 28 Feb 2017 08:56:07 -0500 Subject: [PATCH 02/19] Update to 1.11.0 https://github.com/libuv/libuv/blob/v1.11.0/ChangeLog --- .gitignore | 1 + libuv.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2079cd4..322b70c 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ /libuv-v1.10.0.tar.gz /libuv-v1.10.1.tar.gz /libuv-v1.10.2.tar.gz +/libuv-v1.11.0.tar.gz diff --git a/libuv.spec b/libuv.spec index 51c2b62..e04bf2c 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,8 +1,8 @@ Name: libuv Epoch: 1 -Version: 1.10.2 -Release: 2%{?dist} +Version: 1.11.0 +Release: 1%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -69,6 +69,10 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Tue Feb 28 2017 Stephen Gallagher - 1.11.0-1 +- Update to 1.11.0 +- https://github.com/libuv/libuv/blob/v1.11.0/ChangeLog + * Fri Feb 10 2017 Fedora Release Engineering - 1:1.10.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index 026151e..4e1a98b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.10.2.tar.gz) = fd1f77109d97101facd9ea57416fd9a5dce05f954e99a795253e6a4204b8c32b446c781c90949f77cb109aa5ef7d2bb7c44f2b75684e4f04793e3a0360c96035 +SHA512 (libuv-v1.11.0.tar.gz) = 5b56e4c337093c6ddc12f8353b011fba9e57fd84565e279bfc13a7d16d3b6dc01f02fee52a32f38ef630a0f5200fc63f3cc04137af21942422c3dcf535212f02 From 74f2f1d1f21f41d00d82d920c0e8ead677bf688d Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Thu, 1 Jun 2017 20:25:01 -0400 Subject: [PATCH 03/19] Update to 1.12.0 https://github.com/libuv/libuv/blob/v1.12.0/ChangeLog Signed-off-by: Stephen Gallagher --- .gitignore | 1 + libuv.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 322b70c..aa1baa2 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ /libuv-v1.10.1.tar.gz /libuv-v1.10.2.tar.gz /libuv-v1.11.0.tar.gz +/libuv-v1.12.0.tar.gz diff --git a/libuv.spec b/libuv.spec index e04bf2c..c0c34a3 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,7 @@ Name: libuv Epoch: 1 -Version: 1.11.0 +Version: 1.12.0 Release: 1%{?dist} Summary: Platform layer for node.js @@ -69,6 +69,10 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Thu Jun 01 2017 Stephen Gallagher - 1.12.0-1 +- Update to 1.12.0 +- https://github.com/libuv/libuv/blob/v1.12.0/ChangeLog + * Tue Feb 28 2017 Stephen Gallagher - 1.11.0-1 - Update to 1.11.0 - https://github.com/libuv/libuv/blob/v1.11.0/ChangeLog diff --git a/sources b/sources index 4e1a98b..67929a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.11.0.tar.gz) = 5b56e4c337093c6ddc12f8353b011fba9e57fd84565e279bfc13a7d16d3b6dc01f02fee52a32f38ef630a0f5200fc63f3cc04137af21942422c3dcf535212f02 +SHA512 (libuv-v1.12.0.tar.gz) = 42a360f94aa00fa8be2c1ee68708ce947e26dc1e866f8053e2f3f719418bb27a84285ed2ebd1290d34b56ba78b9c921d2379407f5c52c4653d00e3f5f176afee From a5609aa75bbce9d66eefabcbe6d26e290c5801c9 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Mon, 10 Jul 2017 09:52:26 -0400 Subject: [PATCH 04/19] Update to 1.13.1 https://github.com/libuv/libuv/blob/v1.13.1/ChangeLog Signed-off-by: Stephen Gallagher --- .gitignore | 1 + libuv.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index aa1baa2..e42541f 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ /libuv-v1.10.2.tar.gz /libuv-v1.11.0.tar.gz /libuv-v1.12.0.tar.gz +/libuv-v1.13.1.tar.gz diff --git a/libuv.spec b/libuv.spec index c0c34a3..f2b452f 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,7 @@ Name: libuv Epoch: 1 -Version: 1.12.0 +Version: 1.13.1 Release: 1%{?dist} Summary: Platform layer for node.js @@ -69,6 +69,10 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Mon Jul 10 2017 Stephen Gallagher - 1.12.0-1 +- Update to 1.13.1 +- https://github.com/libuv/libuv/blob/v1.13.1/ChangeLog + * Thu Jun 01 2017 Stephen Gallagher - 1.12.0-1 - Update to 1.12.0 - https://github.com/libuv/libuv/blob/v1.12.0/ChangeLog diff --git a/sources b/sources index 67929a1..42ee649 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.12.0.tar.gz) = 42a360f94aa00fa8be2c1ee68708ce947e26dc1e866f8053e2f3f719418bb27a84285ed2ebd1290d34b56ba78b9c921d2379407f5c52c4653d00e3f5f176afee +SHA512 (libuv-v1.13.1.tar.gz) = 1b6e0c24d17c3beb61558fb66f8c6d082758a4fd41c7638c5512c2d31a34d5df1c47ee4afeccae4265879d25ae6b1f351379976e326ffb93cecfec1d30387af3 From 53e3d173135031d48ad39f5bc2609ad0560d3a3f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 19:55:23 +0000 Subject: [PATCH 05/19] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- libuv.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libuv.spec b/libuv.spec index f2b452f..b24f528 100644 --- a/libuv.spec +++ b/libuv.spec @@ -2,7 +2,7 @@ Name: libuv Epoch: 1 Version: 1.13.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -69,6 +69,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 1:1.13.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Mon Jul 10 2017 Stephen Gallagher - 1.12.0-1 - Update to 1.13.1 - https://github.com/libuv/libuv/blob/v1.13.1/ChangeLog From 60f775a4ad9aee3dd2f741878eb7d26c55918a45 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 02:27:51 +0000 Subject: [PATCH 06/19] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- libuv.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libuv.spec b/libuv.spec index b24f528..59d5c56 100644 --- a/libuv.spec +++ b/libuv.spec @@ -2,7 +2,7 @@ Name: libuv Epoch: 1 Version: 1.13.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -69,6 +69,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 1:1.13.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 1:1.13.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 75195c53dec9df34015db0fd916566f99605b204 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Thu, 17 Aug 2017 08:52:43 -0400 Subject: [PATCH 07/19] Update to 1.14.0 https://github.com/libuv/libuv/blob/v1.14.0/ChangeLog Signed-off-by: Stephen Gallagher --- .gitignore | 1 + libuv.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e42541f..129f1ab 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ /libuv-v1.11.0.tar.gz /libuv-v1.12.0.tar.gz /libuv-v1.13.1.tar.gz +/libuv-v1.14.0.tar.gz diff --git a/libuv.spec b/libuv.spec index 59d5c56..139f20b 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,8 +1,8 @@ Name: libuv Epoch: 1 -Version: 1.13.1 -Release: 3%{?dist} +Version: 1.14.0 +Release: 1%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -69,6 +69,10 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Thu Aug 17 2017 Stephen Gallagher - 1.14.0-1 +- Update to 1.14.0 +- https://github.com/libuv/libuv/blob/v1.14.0/ChangeLog + * Thu Aug 03 2017 Fedora Release Engineering - 1:1.13.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 42ee649..8ab4a10 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.13.1.tar.gz) = 1b6e0c24d17c3beb61558fb66f8c6d082758a4fd41c7638c5512c2d31a34d5df1c47ee4afeccae4265879d25ae6b1f351379976e326ffb93cecfec1d30387af3 +SHA512 (libuv-v1.14.0.tar.gz) = a84c62021d50bf5a6024d05580243b21850f09123ff1865fc43fb7f2aabf1f65e5a7d9b33e446ca9a75c1b82d5cdad11b35f18cdc26e7323d0f957ac9af4623f From 6f5fa858c2210e33a8344d828c2b197282aabe87 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Fri, 8 Sep 2017 09:44:06 -0400 Subject: [PATCH 08/19] Update to 1.14.1 https://github.com/libuv/libuv/blob/v1.14.1/ChangeLog Signed-off-by: Stephen Gallagher --- .gitignore | 1 + libuv.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 129f1ab..bab2c98 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ /libuv-v1.12.0.tar.gz /libuv-v1.13.1.tar.gz /libuv-v1.14.0.tar.gz +/libuv-v1.14.1.tar.gz diff --git a/libuv.spec b/libuv.spec index 139f20b..9457148 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,7 @@ Name: libuv Epoch: 1 -Version: 1.14.0 +Version: 1.14.1 Release: 1%{?dist} Summary: Platform layer for node.js @@ -69,6 +69,10 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Fri Sep 08 2017 Stephen Gallagher - 1.14.1-1 +- Update to 1.14.1 +- https://github.com/libuv/libuv/blob/v1.14.1/ChangeLog + * Thu Aug 17 2017 Stephen Gallagher - 1.14.0-1 - Update to 1.14.0 - https://github.com/libuv/libuv/blob/v1.14.0/ChangeLog diff --git a/sources b/sources index 8ab4a10..e76a8bb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.14.0.tar.gz) = a84c62021d50bf5a6024d05580243b21850f09123ff1865fc43fb7f2aabf1f65e5a7d9b33e446ca9a75c1b82d5cdad11b35f18cdc26e7323d0f957ac9af4623f +SHA512 (libuv-v1.14.1.tar.gz) = 1c3db7633dcf1c05fb2340aa3f4fbbcc057b05e75a86996eefe83689290b5e48550af5c0cdada62f9d4644e4c5768dc94ad3e1c35a82e1f7ce630323f89f8d88 From f55356b5b54ac8a1c048f653b435ecbe88595178 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 3 Oct 2017 14:43:33 +0200 Subject: [PATCH 09/19] add forgotten %_isa in Requires for -static subpkg Signed-off-by: Igor Gnatenko --- libuv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libuv.spec b/libuv.spec index 9457148..21ac250 100644 --- a/libuv.spec +++ b/libuv.spec @@ -28,7 +28,7 @@ Development libraries for libuv %package static Summary: Platform layer for node.js - static library -Requires: %{name}-devel = %{epoch}:%{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} %description static Static library (.a) version of libuv. From f4721ef82e92912b42be425875dd6f2008dec86d Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 3 Oct 2017 14:44:34 +0200 Subject: [PATCH 10/19] make build verbose Signed-off-by: Igor Gnatenko --- libuv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libuv.spec b/libuv.spec index 21ac250..e4ea04d 100644 --- a/libuv.spec +++ b/libuv.spec @@ -38,7 +38,7 @@ Static library (.a) version of libuv. %build ./autogen.sh -%configure +%configure --disable-silent-rules %make_build %install From b2afb203cb5cf57c334fa9fd49ef2474a35cf1ff Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 3 Oct 2017 14:43:06 +0200 Subject: [PATCH 11/19] Update to 1.15.0 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + libuv.spec | 6 ++++-- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index bab2c98..c98ad2a 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ /libuv-v1.13.1.tar.gz /libuv-v1.14.0.tar.gz /libuv-v1.14.1.tar.gz +/libuv-v1.15.0.tar.gz diff --git a/libuv.spec b/libuv.spec index e4ea04d..835f6bc 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,6 @@ - Name: libuv Epoch: 1 -Version: 1.14.1 +Version: 1.15.0 Release: 1%{?dist} Summary: Platform layer for node.js @@ -69,6 +68,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Tue Oct 03 2017 Igor Gnatenko - 1.15.0-1 +- Update to 1.15.0 + * Fri Sep 08 2017 Stephen Gallagher - 1.14.1-1 - Update to 1.14.1 - https://github.com/libuv/libuv/blob/v1.14.1/ChangeLog diff --git a/sources b/sources index e76a8bb..da502c9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.14.1.tar.gz) = 1c3db7633dcf1c05fb2340aa3f4fbbcc057b05e75a86996eefe83689290b5e48550af5c0cdada62f9d4644e4c5768dc94ad3e1c35a82e1f7ce630323f89f8d88 +SHA512 (libuv-v1.15.0.tar.gz) = bef12f96a61b9df714a7b46261deebfadd430d6e7941226a129acc009fb592c0ed5b7af6efc31f838c567926e3373f507644e7320c54a2ef86f76e51ccf93d9b From 707d42137e46ee617d416c655fa2d426271044d8 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 7 Nov 2017 18:56:04 +0100 Subject: [PATCH 12/19] Update to 1.16.0 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + libuv.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c98ad2a..42b8f2b 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ /libuv-v1.14.0.tar.gz /libuv-v1.14.1.tar.gz /libuv-v1.15.0.tar.gz +/libuv-v1.16.0.tar.gz diff --git a/libuv.spec b/libuv.spec index 835f6bc..c0d45bc 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,6 +1,6 @@ Name: libuv Epoch: 1 -Version: 1.15.0 +Version: 1.16.0 Release: 1%{?dist} Summary: Platform layer for node.js @@ -68,6 +68,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Tue Nov 07 2017 Igor Gnatenko - 1.16.0-1 +- Update to 1.16.0 + * Tue Oct 03 2017 Igor Gnatenko - 1.15.0-1 - Update to 1.15.0 diff --git a/sources b/sources index da502c9..e57bf0a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.15.0.tar.gz) = bef12f96a61b9df714a7b46261deebfadd430d6e7941226a129acc009fb592c0ed5b7af6efc31f838c567926e3373f507644e7320c54a2ef86f76e51ccf93d9b +SHA512 (libuv-v1.16.0.tar.gz) = 488ac1a194820f823cfa3ec75905aa28476b0e07f6973328c1f933bd41f243d03d62bc4feee66111759572224d351832ac2fd81ae9555d609f7eda9fefe1882f From 2775b2c3e99b66ed29c72e35c3b4614ccaceaf71 Mon Sep 17 00:00:00 2001 From: Athmane Madjoudj Date: Sat, 11 Nov 2017 18:17:00 +0100 Subject: [PATCH 13/19] Update to 1.16.1 (rhbz #1512184) --- .gitignore | 1 + libuv.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 42b8f2b..ed668ad 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ /libuv-v1.14.1.tar.gz /libuv-v1.15.0.tar.gz /libuv-v1.16.0.tar.gz +/libuv-v1.16.1.tar.gz diff --git a/libuv.spec b/libuv.spec index c0d45bc..618c585 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,6 +1,6 @@ Name: libuv Epoch: 1 -Version: 1.16.0 +Version: 1.16.1 Release: 1%{?dist} Summary: Platform layer for node.js @@ -68,6 +68,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Sat Nov 11 2017 Athmane Madjoudj - 1:1.16.1-1 +- Update to 1.16.1 (rhbz #1512184) + * Tue Nov 07 2017 Igor Gnatenko - 1.16.0-1 - Update to 1.16.0 diff --git a/sources b/sources index e57bf0a..80b727d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.16.0.tar.gz) = 488ac1a194820f823cfa3ec75905aa28476b0e07f6973328c1f933bd41f243d03d62bc4feee66111759572224d351832ac2fd81ae9555d609f7eda9fefe1882f +SHA512 (libuv-v1.16.1.tar.gz) = 6055a70b5a29e4dc00bef84caa8bf375cbf388fb8a2932ef6f4073f1a7f0d1d9d404032bc6c04bc902c6392d22df1f7fef8ea2f422a3e112c6db9314220998dc From 5df94d415f80522fd14e3ec92481d73a6a72d245 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 18 Jan 2018 19:28:25 +0100 Subject: [PATCH 14/19] Update to 1.19.0 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + libuv.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ed668ad..fd5f962 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ /libuv-v1.15.0.tar.gz /libuv-v1.16.0.tar.gz /libuv-v1.16.1.tar.gz +/libuv-v1.19.0.tar.gz diff --git a/libuv.spec b/libuv.spec index 618c585..7dd7009 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,6 +1,6 @@ Name: libuv Epoch: 1 -Version: 1.16.1 +Version: 1.19.0 Release: 1%{?dist} Summary: Platform layer for node.js @@ -68,6 +68,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Thu Jan 18 2018 Igor Gnatenko - 1:1.19.0-1 +- Update to 1.19.0 + * Sat Nov 11 2017 Athmane Madjoudj - 1:1.16.1-1 - Update to 1.16.1 (rhbz #1512184) diff --git a/sources b/sources index 80b727d..bb3008f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.16.1.tar.gz) = 6055a70b5a29e4dc00bef84caa8bf375cbf388fb8a2932ef6f4073f1a7f0d1d9d404032bc6c04bc902c6392d22df1f7fef8ea2f422a3e112c6db9314220998dc +SHA512 (libuv-v1.19.0.tar.gz) = 189f76e7808b8f228a91f1b1722d2325652358aab838f78c1ded44e44158fea68b77a981cbb6e2a385d5915a6db59d433bd4c9232170976139145bece1482cdb From a3ad2a8dc58da6699528eb69786d735dd56b88bd Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 19 Jan 2018 14:37:45 +0100 Subject: [PATCH 15/19] Revert few commits which cause regression for nodejs Signed-off-by: Igor Gnatenko --- ...avoid-marking-server-sockets-connect.patch | 151 ++++++ ...ix-for-potential-partial-reads-write.patch | 442 ++++++++++++++++++ ...RemoveDirectoryW-instead-of-_wmrmdir.patch | 99 ++++ libuv.spec | 11 +- 4 files changed, 701 insertions(+), 2 deletions(-) create mode 100644 0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch create mode 100644 0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch create mode 100644 0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch diff --git a/0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch b/0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch new file mode 100644 index 0000000..4ee5f16 --- /dev/null +++ b/0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch @@ -0,0 +1,151 @@ +From 783d19a534bf7f245d5099717666c8f7a7953caa Mon Sep 17 00:00:00 2001 +From: Ben Noordhuis +Date: Fri, 19 Jan 2018 01:24:43 +0100 +Subject: [PATCH 1/3] Revert "unix,tcp: avoid marking server sockets connected" + +Reverted for breaking Node.js in rather spectacular fashion. + +The bug is arguably on the Node.js side. It looks like Node.js starts +reading before the socket is actually connected to something. +Until that is fixed downstream, let's revert the change. + +This reverts commit fd049399aa4ed8495928e375466970d98cb42e17. + +Fixes: https://github.com/libuv/libuv/issues/1716 +Fixes: https://github.com/nodejs/node/issues/18225 +--- + src/unix/stream.c | 6 ------ + src/unix/tcp.c | 8 +++++--- + test/test-list.h | 2 -- + test/test-tcp-bind-error.c | 42 ------------------------------------------ + 4 files changed, 5 insertions(+), 53 deletions(-) + +diff --git a/src/unix/stream.c b/src/unix/stream.c +index bccfd20f..6fc0a01f 100644 +--- a/src/unix/stream.c ++++ b/src/unix/stream.c +@@ -1411,9 +1411,6 @@ int uv_write2(uv_write_t* req, + if (uv__stream_fd(stream) < 0) + return -EBADF; + +- if (!(stream->flags & UV_STREAM_WRITABLE)) +- return -EPIPE; +- + if (send_handle) { + if (stream->type != UV_NAMED_PIPE || !((uv_pipe_t*)stream)->ipc) + return -EINVAL; +@@ -1565,9 +1562,6 @@ int uv_read_start(uv_stream_t* stream, + if (stream->flags & UV_CLOSING) + return -EINVAL; + +- if (!(stream->flags & UV_STREAM_READABLE)) +- return -ENOTCONN; +- + /* The UV_STREAM_READING flag is irrelevant of the state of the tcp - it just + * expresses the desired state of the user. + */ +diff --git a/src/unix/tcp.c b/src/unix/tcp.c +index a4037851..c7c8d21c 100644 +--- a/src/unix/tcp.c ++++ b/src/unix/tcp.c +@@ -158,7 +158,9 @@ int uv__tcp_bind(uv_tcp_t* tcp, + if ((flags & UV_TCP_IPV6ONLY) && addr->sa_family != AF_INET6) + return -EINVAL; + +- err = maybe_new_socket(tcp, addr->sa_family, 0); ++ err = maybe_new_socket(tcp, ++ addr->sa_family, ++ UV_STREAM_READABLE | UV_STREAM_WRITABLE); + if (err) + return err; + +@@ -333,14 +335,14 @@ int uv_tcp_listen(uv_tcp_t* tcp, int backlog, uv_connection_cb cb) { + if (single_accept) + tcp->flags |= UV_TCP_SINGLE_ACCEPT; + +- flags = 0; ++ flags = UV_STREAM_READABLE; + #if defined(__MVS__) + /* on zOS the listen call does not bind automatically + if the socket is unbound. Hence the manual binding to + an arbitrary port is required to be done manually + */ + flags |= UV_HANDLE_BOUND; +-#endif ++#endif + err = maybe_new_socket(tcp, AF_INET, flags); + if (err) + return err; +diff --git a/test/test-list.h b/test/test-list.h +index d23cf866..8e4f2025 100644 +--- a/test/test-list.h ++++ b/test/test-list.h +@@ -94,7 +94,6 @@ TEST_DECLARE (tcp_bind_error_fault) + TEST_DECLARE (tcp_bind_error_inval) + TEST_DECLARE (tcp_bind_localhost_ok) + TEST_DECLARE (tcp_bind_invalid_flags) +-TEST_DECLARE (tcp_bind_writable_flags) + TEST_DECLARE (tcp_listen_without_bind) + TEST_DECLARE (tcp_connect_error_fault) + TEST_DECLARE (tcp_connect_timeout) +@@ -535,7 +534,6 @@ TASK_LIST_START + TEST_ENTRY (tcp_bind_error_inval) + TEST_ENTRY (tcp_bind_localhost_ok) + TEST_ENTRY (tcp_bind_invalid_flags) +- TEST_ENTRY (tcp_bind_writable_flags) + TEST_ENTRY (tcp_listen_without_bind) + TEST_ENTRY (tcp_connect_error_fault) + TEST_ENTRY (tcp_connect_timeout) +diff --git a/test/test-tcp-bind-error.c b/test/test-tcp-bind-error.c +index 1456d081..10ed68e1 100644 +--- a/test/test-tcp-bind-error.c ++++ b/test/test-tcp-bind-error.c +@@ -214,45 +214,3 @@ TEST_IMPL(tcp_listen_without_bind) { + MAKE_VALGRIND_HAPPY(); + return 0; + } +- +- +-TEST_IMPL(tcp_bind_writable_flags) { +- struct sockaddr_in addr; +- uv_tcp_t server; +- uv_buf_t buf; +- uv_write_t write_req; +- uv_shutdown_t shutdown_req; +- int r; +- +- ASSERT(0 == uv_ip4_addr("0.0.0.0", TEST_PORT, &addr)); +- r = uv_tcp_init(uv_default_loop(), &server); +- ASSERT(r == 0); +- r = uv_tcp_bind(&server, (const struct sockaddr*) &addr, 0); +- ASSERT(r == 0); +- r = uv_listen((uv_stream_t*)&server, 128, NULL); +- ASSERT(r == 0); +- +- ASSERT(0 == uv_is_writable((uv_stream_t*) &server)); +- ASSERT(0 == uv_is_readable((uv_stream_t*) &server)); +- +- buf = uv_buf_init("PING", 4); +- r = uv_write(&write_req, (uv_stream_t*) &server, &buf, 1, NULL); +- ASSERT(r == UV_EPIPE); +- r = uv_shutdown(&shutdown_req, (uv_stream_t*) &server, NULL); +-#ifdef _WIN32 +- ASSERT(r == UV_EPIPE); +-#else +- ASSERT(r == UV_ENOTCONN); +-#endif +- r = uv_read_start((uv_stream_t*) &server, NULL, NULL); +- ASSERT(r == UV_ENOTCONN); +- +- uv_close((uv_handle_t*)&server, close_cb); +- +- uv_run(uv_default_loop(), UV_RUN_DEFAULT); +- +- ASSERT(close_cb_called == 1); +- +- MAKE_VALGRIND_HAPPY(); +- return 0; +-} +-- +2.15.1 + diff --git a/0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch b/0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch new file mode 100644 index 0000000..82fafd9 --- /dev/null +++ b/0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch @@ -0,0 +1,442 @@ +From a37559fdde9d08aad081a28f3118273f61f5a360 Mon Sep 17 00:00:00 2001 +From: Ben Noordhuis +Date: Fri, 19 Jan 2018 01:24:43 +0100 +Subject: [PATCH 2/3] Revert "unix,fs: fix for potential partial reads/writes" + +This commit has been reported as introducing a backwards-incompatible +change in reading from stdin and is independently suspected of breaking +the Node.js test suite on MacOS and maybe other platforms, possibly in +combination with commit fd049399 ("unix,tcp: avoid marking server +sockets connected".) + +This reverts commit 14bfc27e641aff178c431083c0c0eada4d6f02dd. + +Fixes: https://github.com/libuv/libuv/issues/1716 +Fixes: https://github.com/libuv/libuv/issues/1720 +Fixes: https://github.com/nodejs/node/issues/18225 +--- + Makefile.am | 1 + + src/unix/fs.c | 62 +++++++++++++++------- + test/test-eintr-handling.c | 94 +++++++++++++++++++++++++++++++++ + test/test-fs.c | 127 +-------------------------------------------- + test/test-list.h | 6 +-- + uv.gyp | 1 + + 6 files changed, 141 insertions(+), 150 deletions(-) + create mode 100644 test/test-eintr-handling.c + +diff --git a/Makefile.am b/Makefile.am +index c49802f7..ae9d96bc 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -165,6 +165,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \ + test/test-default-loop-close.c \ + test/test-delayed-accept.c \ + test/test-dlerror.c \ ++ test/test-eintr-handling.c \ + test/test-embed.c \ + test/test-emfile.c \ + test/test-env-vars.c \ +diff --git a/src/unix/fs.c b/src/unix/fs.c +index 79864638..e0969a4c 100644 +--- a/src/unix/fs.c ++++ b/src/unix/fs.c +@@ -334,7 +334,25 @@ static ssize_t uv__fs_read(uv_fs_t* req) { + if (no_preadv) retry: + # endif + { +- result = pread(req->file, req->bufs[0].base, req->bufs[0].len, req->off); ++ off_t nread; ++ size_t index; ++ ++ nread = 0; ++ index = 0; ++ result = 1; ++ do { ++ if (req->bufs[index].len > 0) { ++ result = pread(req->file, ++ req->bufs[index].base, ++ req->bufs[index].len, ++ req->off + nread); ++ if (result > 0) ++ nread += result; ++ } ++ index++; ++ } while (index < req->nbufs && result > 0); ++ if (nread > 0) ++ result = nread; + } + # if defined(__linux__) + else { +@@ -722,7 +740,25 @@ static ssize_t uv__fs_write(uv_fs_t* req) { + if (no_pwritev) retry: + # endif + { +- r = pwrite(req->file, req->bufs[0].base, req->bufs[0].len, req->off); ++ off_t written; ++ size_t index; ++ ++ written = 0; ++ index = 0; ++ r = 0; ++ do { ++ if (req->bufs[index].len > 0) { ++ r = pwrite(req->file, ++ req->bufs[index].base, ++ req->bufs[index].len, ++ req->off + written); ++ if (r > 0) ++ written += r; ++ } ++ index++; ++ } while (index < req->nbufs && r >= 0); ++ if (written > 0) ++ r = written; + } + # if defined(__linux__) + else { +@@ -972,19 +1008,6 @@ static int uv__fs_fstat(int fd, uv_stat_t *buf) { + return ret; + } + +-static size_t uv__fs_buf_offset(uv_buf_t* bufs, size_t size) { +- size_t offset; +- /* Figure out which bufs are done */ +- for (offset = 0; size > 0 && bufs[offset].len <= size; ++offset) +- size -= bufs[offset].len; +- +- /* Fix a partial read/write */ +- if (size > 0) { +- bufs[offset].base += size; +- bufs[offset].len -= size; +- } +- return offset; +-} + + typedef ssize_t (*uv__fs_buf_iter_processor)(uv_fs_t* req); + static ssize_t uv__fs_buf_iter(uv_fs_t* req, uv__fs_buf_iter_processor process) { +@@ -1004,10 +1027,7 @@ static ssize_t uv__fs_buf_iter(uv_fs_t* req, uv__fs_buf_iter_processor process) + if (req->nbufs > iovmax) + req->nbufs = iovmax; + +- do +- result = process(req); +- while (result < 0 && errno == EINTR); +- ++ result = process(req); + if (result <= 0) { + if (total == 0) + total = result; +@@ -1017,12 +1037,14 @@ static ssize_t uv__fs_buf_iter(uv_fs_t* req, uv__fs_buf_iter_processor process) + if (req->off >= 0) + req->off += result; + +- req->nbufs = uv__fs_buf_offset(req->bufs, result); + req->bufs += req->nbufs; + nbufs -= req->nbufs; + total += result; + } + ++ if (errno == EINTR && total == -1) ++ return total; ++ + if (bufs != req->bufsml) + uv__free(bufs); + +diff --git a/test/test-eintr-handling.c b/test/test-eintr-handling.c +new file mode 100644 +index 00000000..1aaf623b +--- /dev/null ++++ b/test/test-eintr-handling.c +@@ -0,0 +1,94 @@ ++/* Copyright libuv project contributors. All rights reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to ++ * deal in the Software without restriction, including without limitation the ++ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ++ * IN THE SOFTWARE. ++ */ ++ ++#include "uv.h" ++#include "task.h" ++ ++#ifdef _WIN32 ++ ++TEST_IMPL(eintr_handling) { ++ RETURN_SKIP("Test not implemented on Windows."); ++} ++ ++#else /* !_WIN32 */ ++ ++#include ++#include ++ ++static uv_loop_t* loop; ++static uv_fs_t read_req; ++static uv_buf_t iov; ++ ++static char buf[32]; ++static char test_buf[] = "test-buffer\n"; ++int pipe_fds[2]; ++ ++struct thread_ctx { ++ uv_barrier_t barrier; ++ int fd; ++}; ++ ++static void thread_main(void* arg) { ++ int nwritten; ++ ASSERT(0 == kill(getpid(), SIGUSR1)); ++ ++ do ++ nwritten = write(pipe_fds[1], test_buf, sizeof(test_buf)); ++ while (nwritten == -1 && errno == EINTR); ++ ++ ASSERT(nwritten == sizeof(test_buf)); ++} ++ ++static void sig_func(uv_signal_t* handle, int signum) { ++ uv_signal_stop(handle); ++} ++ ++TEST_IMPL(eintr_handling) { ++ struct thread_ctx ctx; ++ uv_thread_t thread; ++ uv_signal_t signal; ++ int nread; ++ ++ iov = uv_buf_init(buf, sizeof(buf)); ++ loop = uv_default_loop(); ++ ++ ASSERT(0 == uv_signal_init(loop, &signal)); ++ ASSERT(0 == uv_signal_start(&signal, sig_func, SIGUSR1)); ++ ++ ASSERT(0 == pipe(pipe_fds)); ++ ASSERT(0 == uv_thread_create(&thread, thread_main, &ctx)); ++ ++ nread = uv_fs_read(loop, &read_req, pipe_fds[0], &iov, 1, -1, NULL); ++ ++ ASSERT(nread == sizeof(test_buf)); ++ ASSERT(0 == strcmp(buf, test_buf)); ++ ++ ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ++ ++ ASSERT(0 == close(pipe_fds[0])); ++ ASSERT(0 == close(pipe_fds[1])); ++ uv_close((uv_handle_t*) &signal, NULL); ++ ++ MAKE_VALGRIND_HAPPY(); ++ return 0; ++} ++ ++#endif /* !_WIN32 */ +diff --git a/test/test-fs.c b/test/test-fs.c +index d43d6e61..241416bc 100644 +--- a/test/test-fs.c ++++ b/test/test-fs.c +@@ -2890,131 +2890,6 @@ TEST_IMPL(fs_write_alotof_bufs_with_offset) { + } + + +-#ifdef _WIN32 +- +-TEST_IMPL(fs_partial_read) { +- RETURN_SKIP("Test not implemented on Windows."); +-} +- +-TEST_IMPL(fs_partial_write) { +- RETURN_SKIP("Test not implemented on Windows."); +-} +- +-#else /* !_WIN32 */ +- +-static void thread_exec(int fd, char* data, int size, int interval, int doread) { +- pid_t pid; +- ssize_t result; +- +- pid = getpid(); +- result = 1; +- +- while (size > 0 && result > 0) { +- do { +- if (doread) +- result = write(fd, data, size < interval ? size : interval); +- else +- result = read(fd, data, size < interval ? size : interval); +- } while (result == -1 && errno == EINTR); +- +- kill(pid, SIGUSR1); +- size -= result; +- data += result; +- } +- +- ASSERT(size == 0); +- ASSERT(result > 0); +-} +- +-struct thread_ctx { +- int fd; +- char *data; +- int size; +- int interval; +- int doread; +-}; +- +-static void thread_main(void* arg) { +- struct thread_ctx *ctx; +- ctx = (struct thread_ctx*)arg; +- thread_exec(ctx->fd, ctx->data, ctx->size, ctx->interval, ctx->doread); +-} +- +-static void sig_func(uv_signal_t* handle, int signum) { +- uv_signal_stop(handle); +-} +- +-static void test_fs_partial(int doread) { +- struct thread_ctx ctx; +- uv_thread_t thread; +- uv_signal_t signal; +- int pipe_fds[2]; +- size_t iovcount; +- uv_buf_t* iovs; +- char* buffer; +- size_t index; +- int result; +- +- iovcount = 54321; +- +- iovs = malloc(sizeof(*iovs) * iovcount); +- ASSERT(iovs != NULL); +- +- ctx.doread = doread; +- ctx.interval = 1000; +- ctx.size = sizeof(test_buf) * iovcount; +- ctx.data = malloc(ctx.size); +- ASSERT(ctx.data != NULL); +- buffer = malloc(ctx.size); +- ASSERT(buffer != NULL); +- +- for (index = 0; index < iovcount; ++index) +- iovs[index] = uv_buf_init(buffer + index * sizeof(test_buf), sizeof(test_buf)); +- +- loop = uv_default_loop(); +- +- ASSERT(0 == uv_signal_init(loop, &signal)); +- ASSERT(0 == uv_signal_start(&signal, sig_func, SIGUSR1)); +- +- ASSERT(0 == pipe(pipe_fds)); +- +- ctx.fd = pipe_fds[doread]; +- ASSERT(0 == uv_thread_create(&thread, thread_main, &ctx)); +- +- if (doread) +- result = uv_fs_read(loop, &read_req, pipe_fds[0], iovs, iovcount, -1, NULL); +- else +- result = uv_fs_write(loop, &write_req, pipe_fds[1], iovs, iovcount, -1, NULL); +- +- ASSERT(result == ctx.size); +- ASSERT(0 == memcmp(buffer, ctx.data, result)); +- +- ASSERT(0 == uv_thread_join(&thread)); +- ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); +- +- ASSERT(0 == close(pipe_fds[0])); +- ASSERT(0 == close(pipe_fds[1])); +- uv_close((uv_handle_t*) &signal, NULL); +- +- free(iovs); +- free(buffer); +- free(ctx.data); +- +- MAKE_VALGRIND_HAPPY(); +-} +- +-TEST_IMPL(fs_partial_read) { +- test_fs_partial(1); +- return 0; +-} +- +-TEST_IMPL(fs_partial_write) { +- test_fs_partial(0); +- return 0; +-} +- +-#endif/* _WIN32 */ +- + TEST_IMPL(fs_read_write_null_arguments) { + int r; + +@@ -3223,7 +3098,7 @@ TEST_IMPL(fs_exclusive_sharing_mode) { + unlink("test_file"); + + ASSERT(UV_FS_O_EXLOCK > 0); +- ++ + r = uv_fs_open(NULL, + &open_req1, + "test_file", +diff --git a/test/test-list.h b/test/test-list.h +index 8e4f2025..5a50ec67 100644 +--- a/test/test-list.h ++++ b/test/test-list.h +@@ -213,6 +213,7 @@ TEST_DECLARE (active) + TEST_DECLARE (embed) + TEST_DECLARE (async) + TEST_DECLARE (async_null_cb) ++TEST_DECLARE (eintr_handling) + TEST_DECLARE (get_currentexe) + TEST_DECLARE (process_title) + TEST_DECLARE (process_title_threadsafe) +@@ -324,8 +325,6 @@ TEST_DECLARE (fs_read_write_null_arguments) + TEST_DECLARE (get_osfhandle_valid_handle) + TEST_DECLARE (fs_write_alotof_bufs) + TEST_DECLARE (fs_write_alotof_bufs_with_offset) +-TEST_DECLARE (fs_partial_read) +-TEST_DECLARE (fs_partial_write) + TEST_DECLARE (fs_file_pos_after_op_with_offset) + TEST_DECLARE (fs_null_req) + #ifdef _WIN32 +@@ -675,6 +674,7 @@ TASK_LIST_START + + TEST_ENTRY (async) + TEST_ENTRY (async_null_cb) ++ TEST_ENTRY (eintr_handling) + + TEST_ENTRY (get_currentexe) + +@@ -848,8 +848,6 @@ TASK_LIST_START + TEST_ENTRY (fs_write_multiple_bufs) + TEST_ENTRY (fs_write_alotof_bufs) + TEST_ENTRY (fs_write_alotof_bufs_with_offset) +- TEST_ENTRY (fs_partial_read) +- TEST_ENTRY (fs_partial_write) + TEST_ENTRY (fs_read_write_null_arguments) + TEST_ENTRY (fs_file_pos_after_op_with_offset) + TEST_ENTRY (fs_null_req) +diff --git a/uv.gyp b/uv.gyp +index 19008dfa..46606c5b 100644 +--- a/uv.gyp ++++ b/uv.gyp +@@ -371,6 +371,7 @@ + 'test/test-cwd-and-chdir.c', + 'test/test-default-loop-close.c', + 'test/test-delayed-accept.c', ++ 'test/test-eintr-handling.c', + 'test/test-error.c', + 'test/test-embed.c', + 'test/test-emfile.c', +-- +2.15.1 + diff --git a/0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch b/0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch new file mode 100644 index 0000000..9073766 --- /dev/null +++ b/0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch @@ -0,0 +1,99 @@ +From c9ebff2c73a6130587534527386a7d398be94d58 Mon Sep 17 00:00:00 2001 +From: Ben Noordhuis +Date: Fri, 19 Jan 2018 01:24:43 +0100 +Subject: [PATCH 3/3] Revert "win: use RemoveDirectoryW() instead of + _wmrmdir()" + +Reverted for breaking `test/parallel/test-child-process-cwd.js` from the +Node.js test suite. Instead of ENOENT when trying to remove a directory +that does not exist, it started failing with ENOTDIR. + +This reverts commit 15f29dc08fe72cd189002f1b8ae22fd82264deef. +--- + src/win/error.c | 2 +- + src/win/fs.c | 7 ++----- + test/test-fs.c | 22 ++++------------------ + 3 files changed, 7 insertions(+), 24 deletions(-) + +diff --git a/src/win/error.c b/src/win/error.c +index 1ec3d6e2..9b03bfef 100644 +--- a/src/win/error.c ++++ b/src/win/error.c +@@ -131,7 +131,7 @@ int uv_translate_sys_error(int sys_errno) { + case WSAENETUNREACH: return UV_ENETUNREACH; + case WSAENOBUFS: return UV_ENOBUFS; + case ERROR_BAD_PATHNAME: return UV_ENOENT; +- case ERROR_DIRECTORY: return UV_ENOTDIR; ++ case ERROR_DIRECTORY: return UV_ENOENT; + case ERROR_FILE_NOT_FOUND: return UV_ENOENT; + case ERROR_INVALID_NAME: return UV_ENOENT; + case ERROR_INVALID_DRIVE: return UV_ENOENT; +diff --git a/src/win/fs.c b/src/win/fs.c +index 0905a24e..097b00e0 100644 +--- a/src/win/fs.c ++++ b/src/win/fs.c +@@ -723,11 +723,8 @@ void fs__write(uv_fs_t* req) { + + + void fs__rmdir(uv_fs_t* req) { +- if (RemoveDirectoryW(req->file.pathw)) { +- SET_REQ_SUCCESS(req); +- } else { +- SET_REQ_WIN32_ERROR(req, GetLastError()); +- } ++ int result = _wrmdir(req->file.pathw); ++ SET_REQ_RESULT(req, result); + } + + +diff --git a/test/test-fs.c b/test/test-fs.c +index 241416bc..7c481f07 100644 +--- a/test/test-fs.c ++++ b/test/test-fs.c +@@ -469,19 +469,10 @@ static void mkdtemp_cb(uv_fs_t* req) { + static void rmdir_cb(uv_fs_t* req) { + ASSERT(req == &rmdir_req); + ASSERT(req->fs_type == UV_FS_RMDIR); ++ ASSERT(req->result == 0); ++ rmdir_cb_count++; + ASSERT(req->path); +- switch (rmdir_cb_count++) { +- default: +- ASSERT(0); +- case 0: +- ASSERT(req->result == UV_ENOTDIR); +- ASSERT(memcmp(req->path, "test_dir/file1\0", 15) == 0); +- break; +- case 1: +- ASSERT(req->result == 0); +- ASSERT(memcmp(req->path, "test_dir\0", 9) == 0); +- break; +- } ++ ASSERT(memcmp(req->path, "test_dir\0", 9) == 0); + uv_fs_req_cleanup(req); + } + +@@ -995,11 +986,6 @@ TEST_IMPL(fs_async_dir) { + + ASSERT(stat_cb_count == 4); + +- r = uv_fs_rmdir(loop, &rmdir_req, "test_dir/file1", rmdir_cb); +- ASSERT(r == 0); +- uv_run(loop, UV_RUN_DEFAULT); +- ASSERT(rmdir_cb_count == 1); +- + r = uv_fs_unlink(loop, &unlink_req, "test_dir/file1", unlink_cb); + ASSERT(r == 0); + uv_run(loop, UV_RUN_DEFAULT); +@@ -1013,7 +999,7 @@ TEST_IMPL(fs_async_dir) { + r = uv_fs_rmdir(loop, &rmdir_req, "test_dir", rmdir_cb); + ASSERT(r == 0); + uv_run(loop, UV_RUN_DEFAULT); +- ASSERT(rmdir_cb_count == 2); ++ ASSERT(rmdir_cb_count == 1); + + /* Cleanup */ + unlink("test_dir/file1"); +-- +2.15.1 + diff --git a/libuv.spec b/libuv.spec index 7dd7009..1440b57 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,7 @@ Name: libuv Epoch: 1 Version: 1.19.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -9,6 +9,10 @@ License: MIT and BSD and ISC URL: http://libuv.org/ Source0: http://dist.libuv.org/dist/v%{version}/libuv-v%{version}.tar.gz Source2: %{name}.pc.in +# https://github.com/libuv/libuv/pull/1717 +Patch0001: 0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch +Patch0002: 0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch +Patch0003: 0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch BuildRequires: autoconf automake libtool BuildRequires: gcc @@ -33,7 +37,7 @@ Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} Static library (.a) version of libuv. %prep -%setup -q -n %{name}-v%{version} +%autosetup -n %{name}-v%{version} -p1 %build ./autogen.sh @@ -68,6 +72,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Fri Jan 19 2018 Igor Gnatenko - 1:1.19.0-2 +- Revert few commits which cause regression for nodejs + * Thu Jan 18 2018 Igor Gnatenko - 1:1.19.0-1 - Update to 1.19.0 From 16d423efa519a3f67b4a8b69bf20ffa08fbb8732 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sat, 20 Jan 2018 09:52:38 +0100 Subject: [PATCH 16/19] Update to 1.19.1 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + ...avoid-marking-server-sockets-connect.patch | 151 ------ ...ix-for-potential-partial-reads-write.patch | 442 ------------------ ...RemoveDirectoryW-instead-of-_wmrmdir.patch | 99 ---- libuv.spec | 11 +- sources | 2 +- 6 files changed, 7 insertions(+), 699 deletions(-) delete mode 100644 0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch delete mode 100644 0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch delete mode 100644 0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch diff --git a/.gitignore b/.gitignore index fd5f962..99bdfc7 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ /libuv-v1.16.0.tar.gz /libuv-v1.16.1.tar.gz /libuv-v1.19.0.tar.gz +/libuv-v1.19.1.tar.gz diff --git a/0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch b/0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch deleted file mode 100644 index 4ee5f16..0000000 --- a/0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 783d19a534bf7f245d5099717666c8f7a7953caa Mon Sep 17 00:00:00 2001 -From: Ben Noordhuis -Date: Fri, 19 Jan 2018 01:24:43 +0100 -Subject: [PATCH 1/3] Revert "unix,tcp: avoid marking server sockets connected" - -Reverted for breaking Node.js in rather spectacular fashion. - -The bug is arguably on the Node.js side. It looks like Node.js starts -reading before the socket is actually connected to something. -Until that is fixed downstream, let's revert the change. - -This reverts commit fd049399aa4ed8495928e375466970d98cb42e17. - -Fixes: https://github.com/libuv/libuv/issues/1716 -Fixes: https://github.com/nodejs/node/issues/18225 ---- - src/unix/stream.c | 6 ------ - src/unix/tcp.c | 8 +++++--- - test/test-list.h | 2 -- - test/test-tcp-bind-error.c | 42 ------------------------------------------ - 4 files changed, 5 insertions(+), 53 deletions(-) - -diff --git a/src/unix/stream.c b/src/unix/stream.c -index bccfd20f..6fc0a01f 100644 ---- a/src/unix/stream.c -+++ b/src/unix/stream.c -@@ -1411,9 +1411,6 @@ int uv_write2(uv_write_t* req, - if (uv__stream_fd(stream) < 0) - return -EBADF; - -- if (!(stream->flags & UV_STREAM_WRITABLE)) -- return -EPIPE; -- - if (send_handle) { - if (stream->type != UV_NAMED_PIPE || !((uv_pipe_t*)stream)->ipc) - return -EINVAL; -@@ -1565,9 +1562,6 @@ int uv_read_start(uv_stream_t* stream, - if (stream->flags & UV_CLOSING) - return -EINVAL; - -- if (!(stream->flags & UV_STREAM_READABLE)) -- return -ENOTCONN; -- - /* The UV_STREAM_READING flag is irrelevant of the state of the tcp - it just - * expresses the desired state of the user. - */ -diff --git a/src/unix/tcp.c b/src/unix/tcp.c -index a4037851..c7c8d21c 100644 ---- a/src/unix/tcp.c -+++ b/src/unix/tcp.c -@@ -158,7 +158,9 @@ int uv__tcp_bind(uv_tcp_t* tcp, - if ((flags & UV_TCP_IPV6ONLY) && addr->sa_family != AF_INET6) - return -EINVAL; - -- err = maybe_new_socket(tcp, addr->sa_family, 0); -+ err = maybe_new_socket(tcp, -+ addr->sa_family, -+ UV_STREAM_READABLE | UV_STREAM_WRITABLE); - if (err) - return err; - -@@ -333,14 +335,14 @@ int uv_tcp_listen(uv_tcp_t* tcp, int backlog, uv_connection_cb cb) { - if (single_accept) - tcp->flags |= UV_TCP_SINGLE_ACCEPT; - -- flags = 0; -+ flags = UV_STREAM_READABLE; - #if defined(__MVS__) - /* on zOS the listen call does not bind automatically - if the socket is unbound. Hence the manual binding to - an arbitrary port is required to be done manually - */ - flags |= UV_HANDLE_BOUND; --#endif -+#endif - err = maybe_new_socket(tcp, AF_INET, flags); - if (err) - return err; -diff --git a/test/test-list.h b/test/test-list.h -index d23cf866..8e4f2025 100644 ---- a/test/test-list.h -+++ b/test/test-list.h -@@ -94,7 +94,6 @@ TEST_DECLARE (tcp_bind_error_fault) - TEST_DECLARE (tcp_bind_error_inval) - TEST_DECLARE (tcp_bind_localhost_ok) - TEST_DECLARE (tcp_bind_invalid_flags) --TEST_DECLARE (tcp_bind_writable_flags) - TEST_DECLARE (tcp_listen_without_bind) - TEST_DECLARE (tcp_connect_error_fault) - TEST_DECLARE (tcp_connect_timeout) -@@ -535,7 +534,6 @@ TASK_LIST_START - TEST_ENTRY (tcp_bind_error_inval) - TEST_ENTRY (tcp_bind_localhost_ok) - TEST_ENTRY (tcp_bind_invalid_flags) -- TEST_ENTRY (tcp_bind_writable_flags) - TEST_ENTRY (tcp_listen_without_bind) - TEST_ENTRY (tcp_connect_error_fault) - TEST_ENTRY (tcp_connect_timeout) -diff --git a/test/test-tcp-bind-error.c b/test/test-tcp-bind-error.c -index 1456d081..10ed68e1 100644 ---- a/test/test-tcp-bind-error.c -+++ b/test/test-tcp-bind-error.c -@@ -214,45 +214,3 @@ TEST_IMPL(tcp_listen_without_bind) { - MAKE_VALGRIND_HAPPY(); - return 0; - } -- -- --TEST_IMPL(tcp_bind_writable_flags) { -- struct sockaddr_in addr; -- uv_tcp_t server; -- uv_buf_t buf; -- uv_write_t write_req; -- uv_shutdown_t shutdown_req; -- int r; -- -- ASSERT(0 == uv_ip4_addr("0.0.0.0", TEST_PORT, &addr)); -- r = uv_tcp_init(uv_default_loop(), &server); -- ASSERT(r == 0); -- r = uv_tcp_bind(&server, (const struct sockaddr*) &addr, 0); -- ASSERT(r == 0); -- r = uv_listen((uv_stream_t*)&server, 128, NULL); -- ASSERT(r == 0); -- -- ASSERT(0 == uv_is_writable((uv_stream_t*) &server)); -- ASSERT(0 == uv_is_readable((uv_stream_t*) &server)); -- -- buf = uv_buf_init("PING", 4); -- r = uv_write(&write_req, (uv_stream_t*) &server, &buf, 1, NULL); -- ASSERT(r == UV_EPIPE); -- r = uv_shutdown(&shutdown_req, (uv_stream_t*) &server, NULL); --#ifdef _WIN32 -- ASSERT(r == UV_EPIPE); --#else -- ASSERT(r == UV_ENOTCONN); --#endif -- r = uv_read_start((uv_stream_t*) &server, NULL, NULL); -- ASSERT(r == UV_ENOTCONN); -- -- uv_close((uv_handle_t*)&server, close_cb); -- -- uv_run(uv_default_loop(), UV_RUN_DEFAULT); -- -- ASSERT(close_cb_called == 1); -- -- MAKE_VALGRIND_HAPPY(); -- return 0; --} --- -2.15.1 - diff --git a/0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch b/0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch deleted file mode 100644 index 82fafd9..0000000 --- a/0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch +++ /dev/null @@ -1,442 +0,0 @@ -From a37559fdde9d08aad081a28f3118273f61f5a360 Mon Sep 17 00:00:00 2001 -From: Ben Noordhuis -Date: Fri, 19 Jan 2018 01:24:43 +0100 -Subject: [PATCH 2/3] Revert "unix,fs: fix for potential partial reads/writes" - -This commit has been reported as introducing a backwards-incompatible -change in reading from stdin and is independently suspected of breaking -the Node.js test suite on MacOS and maybe other platforms, possibly in -combination with commit fd049399 ("unix,tcp: avoid marking server -sockets connected".) - -This reverts commit 14bfc27e641aff178c431083c0c0eada4d6f02dd. - -Fixes: https://github.com/libuv/libuv/issues/1716 -Fixes: https://github.com/libuv/libuv/issues/1720 -Fixes: https://github.com/nodejs/node/issues/18225 ---- - Makefile.am | 1 + - src/unix/fs.c | 62 +++++++++++++++------- - test/test-eintr-handling.c | 94 +++++++++++++++++++++++++++++++++ - test/test-fs.c | 127 +-------------------------------------------- - test/test-list.h | 6 +-- - uv.gyp | 1 + - 6 files changed, 141 insertions(+), 150 deletions(-) - create mode 100644 test/test-eintr-handling.c - -diff --git a/Makefile.am b/Makefile.am -index c49802f7..ae9d96bc 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -165,6 +165,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \ - test/test-default-loop-close.c \ - test/test-delayed-accept.c \ - test/test-dlerror.c \ -+ test/test-eintr-handling.c \ - test/test-embed.c \ - test/test-emfile.c \ - test/test-env-vars.c \ -diff --git a/src/unix/fs.c b/src/unix/fs.c -index 79864638..e0969a4c 100644 ---- a/src/unix/fs.c -+++ b/src/unix/fs.c -@@ -334,7 +334,25 @@ static ssize_t uv__fs_read(uv_fs_t* req) { - if (no_preadv) retry: - # endif - { -- result = pread(req->file, req->bufs[0].base, req->bufs[0].len, req->off); -+ off_t nread; -+ size_t index; -+ -+ nread = 0; -+ index = 0; -+ result = 1; -+ do { -+ if (req->bufs[index].len > 0) { -+ result = pread(req->file, -+ req->bufs[index].base, -+ req->bufs[index].len, -+ req->off + nread); -+ if (result > 0) -+ nread += result; -+ } -+ index++; -+ } while (index < req->nbufs && result > 0); -+ if (nread > 0) -+ result = nread; - } - # if defined(__linux__) - else { -@@ -722,7 +740,25 @@ static ssize_t uv__fs_write(uv_fs_t* req) { - if (no_pwritev) retry: - # endif - { -- r = pwrite(req->file, req->bufs[0].base, req->bufs[0].len, req->off); -+ off_t written; -+ size_t index; -+ -+ written = 0; -+ index = 0; -+ r = 0; -+ do { -+ if (req->bufs[index].len > 0) { -+ r = pwrite(req->file, -+ req->bufs[index].base, -+ req->bufs[index].len, -+ req->off + written); -+ if (r > 0) -+ written += r; -+ } -+ index++; -+ } while (index < req->nbufs && r >= 0); -+ if (written > 0) -+ r = written; - } - # if defined(__linux__) - else { -@@ -972,19 +1008,6 @@ static int uv__fs_fstat(int fd, uv_stat_t *buf) { - return ret; - } - --static size_t uv__fs_buf_offset(uv_buf_t* bufs, size_t size) { -- size_t offset; -- /* Figure out which bufs are done */ -- for (offset = 0; size > 0 && bufs[offset].len <= size; ++offset) -- size -= bufs[offset].len; -- -- /* Fix a partial read/write */ -- if (size > 0) { -- bufs[offset].base += size; -- bufs[offset].len -= size; -- } -- return offset; --} - - typedef ssize_t (*uv__fs_buf_iter_processor)(uv_fs_t* req); - static ssize_t uv__fs_buf_iter(uv_fs_t* req, uv__fs_buf_iter_processor process) { -@@ -1004,10 +1027,7 @@ static ssize_t uv__fs_buf_iter(uv_fs_t* req, uv__fs_buf_iter_processor process) - if (req->nbufs > iovmax) - req->nbufs = iovmax; - -- do -- result = process(req); -- while (result < 0 && errno == EINTR); -- -+ result = process(req); - if (result <= 0) { - if (total == 0) - total = result; -@@ -1017,12 +1037,14 @@ static ssize_t uv__fs_buf_iter(uv_fs_t* req, uv__fs_buf_iter_processor process) - if (req->off >= 0) - req->off += result; - -- req->nbufs = uv__fs_buf_offset(req->bufs, result); - req->bufs += req->nbufs; - nbufs -= req->nbufs; - total += result; - } - -+ if (errno == EINTR && total == -1) -+ return total; -+ - if (bufs != req->bufsml) - uv__free(bufs); - -diff --git a/test/test-eintr-handling.c b/test/test-eintr-handling.c -new file mode 100644 -index 00000000..1aaf623b ---- /dev/null -+++ b/test/test-eintr-handling.c -@@ -0,0 +1,94 @@ -+/* Copyright libuv project contributors. All rights reserved. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a copy -+ * of this software and associated documentation files (the "Software"), to -+ * deal in the Software without restriction, including without limitation the -+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the Software is -+ * furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -+ * IN THE SOFTWARE. -+ */ -+ -+#include "uv.h" -+#include "task.h" -+ -+#ifdef _WIN32 -+ -+TEST_IMPL(eintr_handling) { -+ RETURN_SKIP("Test not implemented on Windows."); -+} -+ -+#else /* !_WIN32 */ -+ -+#include -+#include -+ -+static uv_loop_t* loop; -+static uv_fs_t read_req; -+static uv_buf_t iov; -+ -+static char buf[32]; -+static char test_buf[] = "test-buffer\n"; -+int pipe_fds[2]; -+ -+struct thread_ctx { -+ uv_barrier_t barrier; -+ int fd; -+}; -+ -+static void thread_main(void* arg) { -+ int nwritten; -+ ASSERT(0 == kill(getpid(), SIGUSR1)); -+ -+ do -+ nwritten = write(pipe_fds[1], test_buf, sizeof(test_buf)); -+ while (nwritten == -1 && errno == EINTR); -+ -+ ASSERT(nwritten == sizeof(test_buf)); -+} -+ -+static void sig_func(uv_signal_t* handle, int signum) { -+ uv_signal_stop(handle); -+} -+ -+TEST_IMPL(eintr_handling) { -+ struct thread_ctx ctx; -+ uv_thread_t thread; -+ uv_signal_t signal; -+ int nread; -+ -+ iov = uv_buf_init(buf, sizeof(buf)); -+ loop = uv_default_loop(); -+ -+ ASSERT(0 == uv_signal_init(loop, &signal)); -+ ASSERT(0 == uv_signal_start(&signal, sig_func, SIGUSR1)); -+ -+ ASSERT(0 == pipe(pipe_fds)); -+ ASSERT(0 == uv_thread_create(&thread, thread_main, &ctx)); -+ -+ nread = uv_fs_read(loop, &read_req, pipe_fds[0], &iov, 1, -1, NULL); -+ -+ ASSERT(nread == sizeof(test_buf)); -+ ASSERT(0 == strcmp(buf, test_buf)); -+ -+ ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); -+ -+ ASSERT(0 == close(pipe_fds[0])); -+ ASSERT(0 == close(pipe_fds[1])); -+ uv_close((uv_handle_t*) &signal, NULL); -+ -+ MAKE_VALGRIND_HAPPY(); -+ return 0; -+} -+ -+#endif /* !_WIN32 */ -diff --git a/test/test-fs.c b/test/test-fs.c -index d43d6e61..241416bc 100644 ---- a/test/test-fs.c -+++ b/test/test-fs.c -@@ -2890,131 +2890,6 @@ TEST_IMPL(fs_write_alotof_bufs_with_offset) { - } - - --#ifdef _WIN32 -- --TEST_IMPL(fs_partial_read) { -- RETURN_SKIP("Test not implemented on Windows."); --} -- --TEST_IMPL(fs_partial_write) { -- RETURN_SKIP("Test not implemented on Windows."); --} -- --#else /* !_WIN32 */ -- --static void thread_exec(int fd, char* data, int size, int interval, int doread) { -- pid_t pid; -- ssize_t result; -- -- pid = getpid(); -- result = 1; -- -- while (size > 0 && result > 0) { -- do { -- if (doread) -- result = write(fd, data, size < interval ? size : interval); -- else -- result = read(fd, data, size < interval ? size : interval); -- } while (result == -1 && errno == EINTR); -- -- kill(pid, SIGUSR1); -- size -= result; -- data += result; -- } -- -- ASSERT(size == 0); -- ASSERT(result > 0); --} -- --struct thread_ctx { -- int fd; -- char *data; -- int size; -- int interval; -- int doread; --}; -- --static void thread_main(void* arg) { -- struct thread_ctx *ctx; -- ctx = (struct thread_ctx*)arg; -- thread_exec(ctx->fd, ctx->data, ctx->size, ctx->interval, ctx->doread); --} -- --static void sig_func(uv_signal_t* handle, int signum) { -- uv_signal_stop(handle); --} -- --static void test_fs_partial(int doread) { -- struct thread_ctx ctx; -- uv_thread_t thread; -- uv_signal_t signal; -- int pipe_fds[2]; -- size_t iovcount; -- uv_buf_t* iovs; -- char* buffer; -- size_t index; -- int result; -- -- iovcount = 54321; -- -- iovs = malloc(sizeof(*iovs) * iovcount); -- ASSERT(iovs != NULL); -- -- ctx.doread = doread; -- ctx.interval = 1000; -- ctx.size = sizeof(test_buf) * iovcount; -- ctx.data = malloc(ctx.size); -- ASSERT(ctx.data != NULL); -- buffer = malloc(ctx.size); -- ASSERT(buffer != NULL); -- -- for (index = 0; index < iovcount; ++index) -- iovs[index] = uv_buf_init(buffer + index * sizeof(test_buf), sizeof(test_buf)); -- -- loop = uv_default_loop(); -- -- ASSERT(0 == uv_signal_init(loop, &signal)); -- ASSERT(0 == uv_signal_start(&signal, sig_func, SIGUSR1)); -- -- ASSERT(0 == pipe(pipe_fds)); -- -- ctx.fd = pipe_fds[doread]; -- ASSERT(0 == uv_thread_create(&thread, thread_main, &ctx)); -- -- if (doread) -- result = uv_fs_read(loop, &read_req, pipe_fds[0], iovs, iovcount, -1, NULL); -- else -- result = uv_fs_write(loop, &write_req, pipe_fds[1], iovs, iovcount, -1, NULL); -- -- ASSERT(result == ctx.size); -- ASSERT(0 == memcmp(buffer, ctx.data, result)); -- -- ASSERT(0 == uv_thread_join(&thread)); -- ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); -- -- ASSERT(0 == close(pipe_fds[0])); -- ASSERT(0 == close(pipe_fds[1])); -- uv_close((uv_handle_t*) &signal, NULL); -- -- free(iovs); -- free(buffer); -- free(ctx.data); -- -- MAKE_VALGRIND_HAPPY(); --} -- --TEST_IMPL(fs_partial_read) { -- test_fs_partial(1); -- return 0; --} -- --TEST_IMPL(fs_partial_write) { -- test_fs_partial(0); -- return 0; --} -- --#endif/* _WIN32 */ -- - TEST_IMPL(fs_read_write_null_arguments) { - int r; - -@@ -3223,7 +3098,7 @@ TEST_IMPL(fs_exclusive_sharing_mode) { - unlink("test_file"); - - ASSERT(UV_FS_O_EXLOCK > 0); -- -+ - r = uv_fs_open(NULL, - &open_req1, - "test_file", -diff --git a/test/test-list.h b/test/test-list.h -index 8e4f2025..5a50ec67 100644 ---- a/test/test-list.h -+++ b/test/test-list.h -@@ -213,6 +213,7 @@ TEST_DECLARE (active) - TEST_DECLARE (embed) - TEST_DECLARE (async) - TEST_DECLARE (async_null_cb) -+TEST_DECLARE (eintr_handling) - TEST_DECLARE (get_currentexe) - TEST_DECLARE (process_title) - TEST_DECLARE (process_title_threadsafe) -@@ -324,8 +325,6 @@ TEST_DECLARE (fs_read_write_null_arguments) - TEST_DECLARE (get_osfhandle_valid_handle) - TEST_DECLARE (fs_write_alotof_bufs) - TEST_DECLARE (fs_write_alotof_bufs_with_offset) --TEST_DECLARE (fs_partial_read) --TEST_DECLARE (fs_partial_write) - TEST_DECLARE (fs_file_pos_after_op_with_offset) - TEST_DECLARE (fs_null_req) - #ifdef _WIN32 -@@ -675,6 +674,7 @@ TASK_LIST_START - - TEST_ENTRY (async) - TEST_ENTRY (async_null_cb) -+ TEST_ENTRY (eintr_handling) - - TEST_ENTRY (get_currentexe) - -@@ -848,8 +848,6 @@ TASK_LIST_START - TEST_ENTRY (fs_write_multiple_bufs) - TEST_ENTRY (fs_write_alotof_bufs) - TEST_ENTRY (fs_write_alotof_bufs_with_offset) -- TEST_ENTRY (fs_partial_read) -- TEST_ENTRY (fs_partial_write) - TEST_ENTRY (fs_read_write_null_arguments) - TEST_ENTRY (fs_file_pos_after_op_with_offset) - TEST_ENTRY (fs_null_req) -diff --git a/uv.gyp b/uv.gyp -index 19008dfa..46606c5b 100644 ---- a/uv.gyp -+++ b/uv.gyp -@@ -371,6 +371,7 @@ - 'test/test-cwd-and-chdir.c', - 'test/test-default-loop-close.c', - 'test/test-delayed-accept.c', -+ 'test/test-eintr-handling.c', - 'test/test-error.c', - 'test/test-embed.c', - 'test/test-emfile.c', --- -2.15.1 - diff --git a/0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch b/0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch deleted file mode 100644 index 9073766..0000000 --- a/0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch +++ /dev/null @@ -1,99 +0,0 @@ -From c9ebff2c73a6130587534527386a7d398be94d58 Mon Sep 17 00:00:00 2001 -From: Ben Noordhuis -Date: Fri, 19 Jan 2018 01:24:43 +0100 -Subject: [PATCH 3/3] Revert "win: use RemoveDirectoryW() instead of - _wmrmdir()" - -Reverted for breaking `test/parallel/test-child-process-cwd.js` from the -Node.js test suite. Instead of ENOENT when trying to remove a directory -that does not exist, it started failing with ENOTDIR. - -This reverts commit 15f29dc08fe72cd189002f1b8ae22fd82264deef. ---- - src/win/error.c | 2 +- - src/win/fs.c | 7 ++----- - test/test-fs.c | 22 ++++------------------ - 3 files changed, 7 insertions(+), 24 deletions(-) - -diff --git a/src/win/error.c b/src/win/error.c -index 1ec3d6e2..9b03bfef 100644 ---- a/src/win/error.c -+++ b/src/win/error.c -@@ -131,7 +131,7 @@ int uv_translate_sys_error(int sys_errno) { - case WSAENETUNREACH: return UV_ENETUNREACH; - case WSAENOBUFS: return UV_ENOBUFS; - case ERROR_BAD_PATHNAME: return UV_ENOENT; -- case ERROR_DIRECTORY: return UV_ENOTDIR; -+ case ERROR_DIRECTORY: return UV_ENOENT; - case ERROR_FILE_NOT_FOUND: return UV_ENOENT; - case ERROR_INVALID_NAME: return UV_ENOENT; - case ERROR_INVALID_DRIVE: return UV_ENOENT; -diff --git a/src/win/fs.c b/src/win/fs.c -index 0905a24e..097b00e0 100644 ---- a/src/win/fs.c -+++ b/src/win/fs.c -@@ -723,11 +723,8 @@ void fs__write(uv_fs_t* req) { - - - void fs__rmdir(uv_fs_t* req) { -- if (RemoveDirectoryW(req->file.pathw)) { -- SET_REQ_SUCCESS(req); -- } else { -- SET_REQ_WIN32_ERROR(req, GetLastError()); -- } -+ int result = _wrmdir(req->file.pathw); -+ SET_REQ_RESULT(req, result); - } - - -diff --git a/test/test-fs.c b/test/test-fs.c -index 241416bc..7c481f07 100644 ---- a/test/test-fs.c -+++ b/test/test-fs.c -@@ -469,19 +469,10 @@ static void mkdtemp_cb(uv_fs_t* req) { - static void rmdir_cb(uv_fs_t* req) { - ASSERT(req == &rmdir_req); - ASSERT(req->fs_type == UV_FS_RMDIR); -+ ASSERT(req->result == 0); -+ rmdir_cb_count++; - ASSERT(req->path); -- switch (rmdir_cb_count++) { -- default: -- ASSERT(0); -- case 0: -- ASSERT(req->result == UV_ENOTDIR); -- ASSERT(memcmp(req->path, "test_dir/file1\0", 15) == 0); -- break; -- case 1: -- ASSERT(req->result == 0); -- ASSERT(memcmp(req->path, "test_dir\0", 9) == 0); -- break; -- } -+ ASSERT(memcmp(req->path, "test_dir\0", 9) == 0); - uv_fs_req_cleanup(req); - } - -@@ -995,11 +986,6 @@ TEST_IMPL(fs_async_dir) { - - ASSERT(stat_cb_count == 4); - -- r = uv_fs_rmdir(loop, &rmdir_req, "test_dir/file1", rmdir_cb); -- ASSERT(r == 0); -- uv_run(loop, UV_RUN_DEFAULT); -- ASSERT(rmdir_cb_count == 1); -- - r = uv_fs_unlink(loop, &unlink_req, "test_dir/file1", unlink_cb); - ASSERT(r == 0); - uv_run(loop, UV_RUN_DEFAULT); -@@ -1013,7 +999,7 @@ TEST_IMPL(fs_async_dir) { - r = uv_fs_rmdir(loop, &rmdir_req, "test_dir", rmdir_cb); - ASSERT(r == 0); - uv_run(loop, UV_RUN_DEFAULT); -- ASSERT(rmdir_cb_count == 2); -+ ASSERT(rmdir_cb_count == 1); - - /* Cleanup */ - unlink("test_dir/file1"); --- -2.15.1 - diff --git a/libuv.spec b/libuv.spec index 1440b57..43de64b 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,7 @@ Name: libuv Epoch: 1 -Version: 1.19.0 -Release: 2%{?dist} +Version: 1.19.1 +Release: 1%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -9,10 +9,6 @@ License: MIT and BSD and ISC URL: http://libuv.org/ Source0: http://dist.libuv.org/dist/v%{version}/libuv-v%{version}.tar.gz Source2: %{name}.pc.in -# https://github.com/libuv/libuv/pull/1717 -Patch0001: 0001-Revert-unix-tcp-avoid-marking-server-sockets-connect.patch -Patch0002: 0002-Revert-unix-fs-fix-for-potential-partial-reads-write.patch -Patch0003: 0003-Revert-win-use-RemoveDirectoryW-instead-of-_wmrmdir.patch BuildRequires: autoconf automake libtool BuildRequires: gcc @@ -72,6 +68,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Sat Jan 20 2018 Igor Gnatenko - 1:1.19.1-1 +- Update to 1.19.1 + * Fri Jan 19 2018 Igor Gnatenko - 1:1.19.0-2 - Revert few commits which cause regression for nodejs diff --git a/sources b/sources index bb3008f..32b4f4c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.19.0.tar.gz) = 189f76e7808b8f228a91f1b1722d2325652358aab838f78c1ded44e44158fea68b77a981cbb6e2a385d5915a6db59d433bd4c9232170976139145bece1482cdb +SHA512 (libuv-v1.19.1.tar.gz) = 516b17afe5ea12f5c53abe68ea5fac9853f20c89fff754c054c041bb9d88a55e5a691842e509348617444f6080311c963707dd272c91c7ff7baf2c4d516b2d7f From e66322d227698c3985afbb284433e296ebc499ca Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 31 Jan 2018 17:18:17 +0100 Subject: [PATCH 17/19] Switch to %ldconfig_scriptlets Signed-off-by: Igor Gnatenko --- libuv.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libuv.spec b/libuv.spec index 43de64b..6372501 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,7 @@ Name: libuv Epoch: 1 Version: 1.19.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -50,8 +50,7 @@ rm -f %{buildroot}%{_libdir}/libuv.la #./run-tests #./run-benchmarks -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%ldconfig_scriptlets %files %doc README.md AUTHORS CONTRIBUTING.md MAINTAINERS.md SUPPORTED_PLATFORMS.md @@ -68,6 +67,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Wed Jan 31 2018 Igor Gnatenko - 1:1.19.1-2 +- Switch to %%ldconfig_scriptlets + * Sat Jan 20 2018 Igor Gnatenko - 1:1.19.1-1 - Update to 1.19.1 From f1286fa2cfa816a7a58b741beb8ed0165f3209f8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 23:36:59 +0000 Subject: [PATCH 18/19] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libuv.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libuv.spec b/libuv.spec index 6372501..e1b3a77 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,7 @@ Name: libuv Epoch: 1 Version: 1.19.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -67,6 +67,9 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 1:1.19.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Wed Jan 31 2018 Igor Gnatenko - 1:1.19.1-2 - Switch to %%ldconfig_scriptlets From 13cd0999dabc6987a0b21c8fa54035cd627799b2 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Mon, 26 Feb 2018 12:41:18 -0500 Subject: [PATCH 19/19] Update to 1.19.2 https://github.com/libuv/libuv/blob/v1.19.2/ChangeLog Signed-off-by: Stephen Gallagher --- .gitignore | 1 + libuv.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 99bdfc7..927313d 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /libuv-v1.16.1.tar.gz /libuv-v1.19.0.tar.gz /libuv-v1.19.1.tar.gz +/libuv-v1.19.2.tar.gz diff --git a/libuv.spec b/libuv.spec index e1b3a77..5367d4a 100644 --- a/libuv.spec +++ b/libuv.spec @@ -1,7 +1,7 @@ Name: libuv Epoch: 1 -Version: 1.19.1 -Release: 3%{?dist} +Version: 1.19.2 +Release: 1%{?dist} Summary: Platform layer for node.js # the licensing breakdown is described in detail in the LICENSE file @@ -67,6 +67,10 @@ rm -f %{buildroot}%{_libdir}/libuv.la %{_libdir}/%{name}.a %changelog +* Mon Feb 26 2018 Stephen Gallagher - 1.19.2-1 +- Update to 1.19.2 +- https://github.com/libuv/libuv/blob/v1.19.2/ChangeLog + * Wed Feb 07 2018 Fedora Release Engineering - 1:1.19.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/sources b/sources index 32b4f4c..0c539f3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libuv-v1.19.1.tar.gz) = 516b17afe5ea12f5c53abe68ea5fac9853f20c89fff754c054c041bb9d88a55e5a691842e509348617444f6080311c963707dd272c91c7ff7baf2c4d516b2d7f +SHA512 (libuv-v1.19.2.tar.gz) = 8f317bb9c173af32d19e8f9f5c64e2cb50178166a109e84218ea630667a5cbd8c6c700c53baf89d2754e615b8526c22d5514bf3c2fe123913b297fbe5727be5e