Import libuv1_1.9.1-3.debian.tar.xz
authorMattia Rizzolo <mattia@debian.org>
Sun, 23 Oct 2016 13:36:45 +0000 (14:36 +0100)
committerMattia Rizzolo <mattia@debian.org>
Sun, 23 Oct 2016 13:36:45 +0000 (14:36 +0100)
[dgit import tarball libuv1 1.9.1-3 libuv1_1.9.1-3.debian.tar.xz]

18 files changed:
changelog [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
gbp.conf [new file with mode: 0644]
libuv1-dev.install [new file with mode: 0755]
libuv1.install [new file with mode: 0755]
libuv1.symbols [new file with mode: 0644]
patches/iovec_rw_fix.patch [new file with mode: 0644]
patches/kfreebsd.patch [new file with mode: 0644]
patches/mips-epoll_pwait.diff [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/skip_test_if_no_pty.patch [new file with mode: 0644]
patches/sparc-skip-tcp_oob.diff [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
upstream/signing-key.asc [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..8e2d49e
--- /dev/null
+++ b/changelog
@@ -0,0 +1,296 @@
+libuv1 (1.9.1-3) unstable; urgency=medium
+
+  * Team upload.
+  * Make libuv1-dev libkvm-dev on kfreebsd-any.  (Closes: #834563)
+  * Bump Standards-Version to 3.9.8, no changes needed.
+  * Add patch from upstream to don't fail the build if /dev/pty is not present.
+
+ -- Mattia Rizzolo <mattia@debian.org>  Sun, 23 Oct 2016 13:36:45 +0000
+
+libuv1 (1.9.1-2) unstable; urgency=medium
+
+  * Team upload.
+
+  [ Mattia Rizzolo ]
+  * Fix Vcs-Git
+
+  [ Dominique Dumont ]
+  * fix patch to avoid bogus signal blockers on arm64 (Closes: #841354)
+    Many thanks to Tobias Leich (FROGGS) and Perl6/Moar team for
+    the help fixing this bug
+
+ -- Dominique Dumont <dod@debian.org>  Fri, 21 Oct 2016 13:06:07 +0200
+
+libuv1 (1.9.1-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 29 May 2016 19:29:08 +0200
+
+libuv1 (1.9.0-1) unstable; urgency=medium
+
+  * New upstream release
+    + New symbols introduced
+  * Bump Standards-Version
+  * Move Vcs-* headers to HTTPS endpoints
+
+ -- Luca Bruno <lucab@debian.org>  Thu, 07 Apr 2016 23:55:20 +0200
+
+libuv1 (1.8.0-1) unstable; urgency=medium
+
+  * New upstream release
+    + New symbols introduced
+  * Dropped iovec patch, merged upstream
+
+ -- Luca Bruno <lucab@debian.org>  Mon, 14 Dec 2015 23:29:09 +0100
+
+libuv1 (1.7.5-1) unstable; urgency=medium
+
+  * New upstream release
+  * Updated test patch for iovec testsuite failures
+
+ -- Luca Bruno <lucab@debian.org>  Wed, 23 Sep 2015 00:31:22 +0200
+
+libuv1 (1.7.4-2) unstable; urgency=medium
+
+  * Initial porting to kFreeBSD (Closes: #799446)
+
+ -- Luca Bruno <lucab@debian.org>  Sat, 19 Sep 2015 20:56:54 +0200
+
+libuv1 (1.7.4-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Luca Bruno <lucab@debian.org>  Mon, 14 Sep 2015 17:52:09 +0200
+
+libuv1 (1.7.3-1) unstable; urgency=medium
+
+  * New upstream release
+    + Bugfix for a regression in threadpool work scheduling
+
+ -- Luca Bruno <lucab@debian.org>  Fri, 28 Aug 2015 10:48:40 +0200
+
+libuv1 (1.7.2-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Luca Bruno <lucab@debian.org>  Tue, 25 Aug 2015 19:32:15 +0200
+
+libuv1 (1.7.1-1) unstable; urgency=medium
+
+  * New upstream release
+    + test patch for iovec test failures
+  * symbols: fixes for non-linux ports
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 23 Aug 2015 13:43:59 +0200
+
+libuv1 (1.7.0-1) unstable; urgency=medium
+
+  * New upstream release
+    + upstream tarballs are now signed
+    + skip some tests when network is unreachable
+  * shlibs: add symbols file
+
+ -- Luca Bruno <lucab@debian.org>  Thu, 06 Aug 2015 22:50:41 +0200
+
+libuv1 (1.6.1-3) unstable; urgency=medium
+
+  * testsuite: attempt at fixing test runner on mips/mipsel
+
+ -- Luca Bruno <lucab@debian.org>  Tue, 07 Jul 2015 17:38:16 +0200
+
+libuv1 (1.6.1-2) unstable; urgency=high
+
+  * Fix mips/mipsel FTBFS due to incorrect epoll_pwait call
+    (Closes: #787751)
+  * control: fix git repo location
+
+ -- Luca Bruno <lucab@debian.org>  Mon, 15 Jun 2015 20:49:02 +0200
+
+libuv1 (1.6.1-1) unstable; urgency=medium
+
+  * New upstream release
+    + Memory allocator is now customizable
+    + Many bugfixes
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 07 Jun 2015 18:54:03 +0200
+
+libuv1 (1.4.2-1) unstable; urgency=medium
+
+  * New upstream stable branch (Closes: #758310)
+    + source/soname bump to libuv1
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 12 Apr 2015 16:33:22 +0200
+
+libuv (0.10.28-6) unstable; urgency=high
+
+  * Backported: call setgroups before calling setuid/setgid
+    (Closes: #779173 - CVE-2015-0278)
+
+ -- Luca Bruno <lucab@debian.org>  Wed, 25 Feb 2015 10:50:58 +0100
+
+libuv (0.10.28-5) unstable; urgency=medium
+
+  * Too early for versioned provides, reverted
+    (Closes: #762291, #762300)
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 21 Sep 2014 14:49:26 +0200
+
+libuv (0.10.28-4) unstable; urgency=medium
+
+  * control: provide versioned virtual package
+  * Fix arm64 failures due to missing epoll_wait()
+
+ -- Luca Bruno <lucab@debian.org>  Sat, 20 Sep 2014 11:49:39 +0200
+
+libuv (0.10.28-3) unstable; urgency=medium
+
+  * Rename -dev package, prepare for multiple versions
+  * Add a libuv0.10-dev binary package
+
+ -- Luca Bruno <lucab@debian.org>  Tue, 26 Aug 2014 20:34:31 +0200
+
+libuv (0.10.28-2) unstable; urgency=medium
+
+  * Testsuite is fragile on kfreebsd, ignore transient failures there
+    (Closes: #754756)
+
+ -- Luca Bruno <lucab@debian.org>  Tue, 19 Aug 2014 22:57:23 +0200
+
+libuv (0.10.28-1) unstable; urgency=medium
+
+  * New upstream release
+   + Drop patches applied upstream
+
+ -- Luca Bruno <lucab@debian.org>  Sat, 16 Aug 2014 21:21:55 +0200
+
+libuv (0.10.27-2) unstable; urgency=medium
+
+  * Fix "spawn_closed_process_io" test failure
+    (Closes: #750301)
+
+ -- Luca Bruno <lucab@debian.org>  Tue, 10 Jun 2014 19:59:51 +0200
+
+libuv (0.10.27-1) unstable; urgency=medium
+
+  * Bump Standards-Version
+  * New upstream release
+    + Refreshed quilt patches
+
+ -- Luca Bruno <lucab@debian.org>  Sat, 10 May 2014 18:56:41 +0200
+
+libuv (0.10.25-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 02 Mar 2014 16:38:59 +0100
+
+libuv (0.10.24-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 02 Mar 2014 13:36:07 +0100
+
+libuv (0.10.23-1) unstable; urgency=medium
+
+  * New upstream release
+    + Drop stat parsing patch, merged upstream
+
+ -- Luca Bruno <lucab@debian.org>  Sat, 01 Mar 2014 18:07:52 +0100
+
+libuv (0.10.22-2) unstable; urgency=medium
+
+  * Relax /proc/stat parsing assumptions, prevent FTBFS on sparc
+
+ -- Luca Bruno <lucab@debian.org>  Mon, 20 Jan 2014 10:40:59 +0100
+
+libuv (0.10.22-1) unstable; urgency=medium
+
+  * New upstream version 
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 19 Jan 2014 15:20:49 +0100
+
+libuv (0.10.21-1) unstable; urgency=medium
+
+  * New upstream version
+    + Drop SO_REUSEPORT patch, merged upstream
+
+ -- Luca Bruno <lucab@debian.org>  Mon, 23 Dec 2013 22:58:01 +0100
+
+libuv (0.10.19-2) unstable; urgency=low
+
+  * Upstream backport: fix up SO_REUSEPORT commit
+
+ -- Luca Bruno <lucab@debian.org>  Mon, 25 Nov 2013 21:59:02 +0100
+
+libuv (0.10.19-1) unstable; urgency=low
+
+  * New upstream stable version
+    + Drop SO_REUSEPORT patch, merged upstream
+
+ -- Luca Bruno <lucab@debian.org>  Sun, 24 Nov 2013 17:06:49 +0100
+
+libuv (0.10.18-1) unstable; urgency=low
+
+  * New upstream stable version
+
+ -- Luca Bruno <lucab@debian.org>  Thu, 24 Oct 2013 19:40:55 +0200
+
+libuv (0.10.17-1) unstable; urgency=low
+
+  * Initial upload to unstable
+  * Add proper fields for multiarch support
+
+ -- Luca Bruno <lucab@debian.org>  Tue, 08 Oct 2013 16:15:50 +0200
+
+libuv (0.10.17-0~exp2) experimental; urgency=low
+
+  * Mark tty test as skipped
+  * Relax timing assumptions of timer_again test
+
+ -- Luca Bruno <lucab@debian.org>  Sat, 28 Sep 2013 15:47:41 +0200
+
+libuv (0.10.17-0~exp1) experimental; urgency=low
+
+  * New upstream release
+  * Update watch file to only track stable tags
+  * Relax timing assumptions of loop_stop test
+
+ -- Luca Bruno <lucab@debian.org>  Sat, 28 Sep 2013 09:00:29 +0200
+
+libuv (0.10.16-0~exp1) experimental; urgency=low
+
+  * New upstream version 0.10.16
+    + Refreshed all local patches
+
+ -- Luca Bruno <lucab@debian.org>  Fri, 27 Sep 2013 16:18:12 +0200
+
+libuv (0.10.8-0~exp4) experimental; urgency=low
+
+  * Add pkg-config support file for libuv
+  * Initial port to kfreebsd-any
+    + Add libkvm-dev build-dep for kfreebsd
+    + A couple of tests are sometime failing
+
+ -- Luca Bruno <lucab@debian.org>  Wed, 18 Sep 2013 10:49:27 +0200
+
+libuv (0.10.8-0~exp3) experimental; urgency=low
+
+  * Fix test suite errors (Closes: #722283)
+    + Adjust test runner invocation for missing TTY on buildd
+    + Backport patch: fix setsockopt(SO_REUSEPORT) error handling
+
+ -- Luca Bruno <lucab@debian.org>  Tue, 10 Sep 2013 19:26:24 +0200
+
+libuv (0.10.8-0~exp2) unstable; urgency=low
+
+  * Use canonical URL in Vcs-Git tag
+  * Enable built-time tests
+
+ -- Luca Bruno <lucab@debian.org>  Fri, 06 Sep 2013 23:17:04 +0200
+
+libuv (0.10.8-0~exp1) experimental; urgency=low
+
+  * Initial upload (Closes: #709480)
+
+ -- Luca Bruno <lucab@debian.org>  Sat, 25 May 2013 21:11:26 +0200
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+9
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..b71a2af
--- /dev/null
+++ b/control
@@ -0,0 +1,81 @@
+Source: libuv1
+Priority: optional
+Maintainer: Debian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org>
+Uploaders: Luca Bruno <lucab@debian.org>
+Build-Depends: debhelper (>= 9),
+               dh-autoreconf,
+               dh-exec (>=0.3),
+               libkvm-dev [kfreebsd-any],
+               pkg-config
+Standards-Version: 3.9.8
+Section: libs
+Homepage: https://github.com/libuv/libuv
+Vcs-Browser: https://anonscm.debian.org/git/pkg-javascript/libuv1.git
+Vcs-Git: https://anonscm.debian.org/git/pkg-javascript/libuv1.git
+
+Package: libuv1-dev
+Section: libdevel
+Architecture: any
+Depends: libkvm-dev [kfreebsd-any],
+         libuv1 (= ${binary:Version}),
+         ${misc:Depends}
+Multi-Arch: same
+Replaces: libuv-dev
+Conflicts: libuv-dev, libuv0.10-dev
+Description: asynchronous event notification library - development files
+ Libuv is the asynchronous library behind Node.js. Very similar to libevent or
+ libev, it provides the main elements for event driven systems: watching and
+ waiting for availability in a set of sockets, and some other events like timers
+ or asynchronous messages. However, libuv also comes with some other extras
+ like:
+  * files watchers and asynchronous operations
+  * a portable TCP and UDP API, as well as asynchronous DNS resolution
+  * processes and threads management, and a portable inter-process
+    communications mechanism, with pipes and work queues
+  * a plugins mechanism for loading libraries dynamically
+  * interface with external libraries that also need to access the I/O.
+ .
+ Install this package if you wish to develop your own programs using the
+ libuv engine.
+
+Package: libuv1
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Multi-Arch: same
+Description: asynchronous event notification library - runtime library
+ Libuv is the asynchronous library behind Node.js. Very similar to libevent or
+ libev, it provides the main elements for event driven systems: watching and
+ waiting for availability in a set of sockets, and some other events like timers
+ or asynchronous messages. However, libuv also comes with some other extras
+ like:
+  * files watchers and asynchronous operations
+  * a portable TCP and UDP API, as well as asynchronous DNS resolution
+  * processes and threads management, and a portable inter-process
+    communications mechanism, with pipes and work queues
+  * a plugins mechanism for loading libraries dynamically
+  * interface with external libraries that also need to access the I/O.
+ .
+ This package includes the dynamic library against which you can link
+ your program.
+
+Package: libuv1-dbg
+Priority: extra
+Section: debug
+Architecture: any
+Depends: libuv1 (= ${binary:Version}), ${misc:Depends}
+Multi-Arch: same
+Description: asynchronous event notification library - debugging symbols
+ Libuv is the asynchronous library behind Node.js. Very similar to libevent or
+ libev, it provides the main elements for event driven systems: watching and
+ waiting for availability in a set of sockets, and some other events like timers
+ or asynchronous messages. However, libuv also comes with some other extras
+ like:
+  * files watchers and asynchronous operations
+  * a portable TCP and UDP API, as well as asynchronous DNS resolution
+  * processes and threads management, and a portable inter-process
+    communications mechanism, with pipes and work queues
+  * a plugins mechanism for loading libraries dynamically
+  * interface with external libraries that also need to access the I/O.
+ .
+ This package provides the debugging symbols for the library.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..360323a
--- /dev/null
+++ b/copyright
@@ -0,0 +1,147 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: libuv
+Source: https://github.com/libuv/libuv
+Upstream-Contact: https://github.com/libuv/libuv/issues
+
+Files: *
+Copyright: 2011-2015, Joyent, Inc. and other Node contributors.
+License: Expat
+
+Files: src/inet.c
+Copyright: 2004, Internet Systems Consortium, Inc. ("ISC")
+           1996-1999, Internet Software Consortium.
+License: ISC
+
+Files: include/android-ifaddrs.h
+Copyright: 1995-1999, Berkeley Software Design
+License: BSD-1-clause
+
+Files: src/unix/android-ifaddrs.c
+Copyright: 2013, Kenneth MacKay
+           2014, Emergya (Cloud4all, FP7/2007-2013, grant agreement n° 289016)
+License: BSD-2-clause
+
+Files: include/tree.h
+Copyright: 2002, Niels Provos <provos@citi.umich.edu>
+License: BSD-2-clause
+
+Files: include/stdint-msvc2008.h
+Copyright: 2006-2008, Alexander Chemeris
+License: BSD-3-clause
+
+Files: include/pthread-fixes.h src/unix/pthread-fixes.c
+Copyright: 2012, Google Inc.
+           2013, Sony Mobile Communications AB
+License: BSD-3-clause
+
+Files: autogen.sh checksparse.sh src/heap-inl.h src/queue.h test/test-pipe-set-non-blocking.c test/test-loop-configure.c
+Copyright: 2013-2015, Ben Noordhuis <info@bnoordhuis.nl>
+License: ISC
+
+Files: debian/*
+Copyright: 2013, Luca Bruno <lucab@debian.org>
+License: Expat
+
+License: Expat
+ 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.
+
+License: BSD-1-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ 3. Neither the name of the copyright holder(s) nor the names of any
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/gbp.conf b/gbp.conf
new file mode 100644 (file)
index 0000000..179db31
--- /dev/null
+++ b/gbp.conf
@@ -0,0 +1,6 @@
+[DEFAULT]
+pristine-tar = True
+debian-branch = debian/sid
+
+[git-buildpackage]
+upstream-tag = v%(version)s
diff --git a/libuv1-dev.install b/libuv1-dev.install
new file mode 100755 (executable)
index 0000000..0b0258b
--- /dev/null
@@ -0,0 +1,5 @@
+#!/usr/bin/dh-exec
+usr/include usr/
+usr/lib/*/libuv.a usr/lib/${DEB_HOST_MULTIARCH}/
+usr/lib/*/pkgconfig usr/lib/${DEB_HOST_MULTIARCH}/
+usr/lib/*/libuv.so usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/libuv1.install b/libuv1.install
new file mode 100755 (executable)
index 0000000..2ef2b46
--- /dev/null
@@ -0,0 +1,2 @@
+#!/usr/bin/dh-exec
+usr/lib/*/libuv.so.1* usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/libuv1.symbols b/libuv1.symbols
new file mode 100644 (file)
index 0000000..a2d68a9
--- /dev/null
@@ -0,0 +1,223 @@
+libuv.so.1 libuv1 #MINVER#
+ uv_accept@Base 1.4.2
+ uv_async_init@Base 1.4.2
+ uv_async_send@Base 1.4.2
+ uv_backend_fd@Base 1.4.2
+ uv_backend_timeout@Base 1.4.2
+ uv_barrier_destroy@Base 1.4.2
+ uv_barrier_init@Base 1.4.2
+ uv_barrier_wait@Base 1.4.2
+ uv_buf_init@Base 1.4.2
+ uv_cancel@Base 1.4.2
+ uv_chdir@Base 1.4.2
+ uv_check_init@Base 1.4.2
+ uv_check_start@Base 1.4.2
+ uv_check_stop@Base 1.4.2
+ uv_close@Base 1.4.2
+ uv_cond_broadcast@Base 1.4.2
+ uv_cond_destroy@Base 1.4.2
+ uv_cond_init@Base 1.4.2
+ uv_cond_signal@Base 1.4.2
+ uv_cond_timedwait@Base 1.4.2
+ uv_cond_wait@Base 1.4.2
+ (arch=!hurd-any)uv_cpu_info@Base 1.4.2
+ uv_cwd@Base 1.4.2
+ uv_default_loop@Base 1.4.2
+ uv_disable_stdio_inheritance@Base 1.4.2
+ uv_dlclose@Base 1.4.2
+ uv_dlerror@Base 1.4.2
+ uv_dlopen@Base 1.4.2
+ uv_dlsym@Base 1.4.2
+ uv_err_name@Base 1.4.2
+ (arch=!hurd-any)uv_exepath@Base 1.4.2
+ uv_fileno@Base 1.4.2
+ (arch=!hurd-any)uv_free_cpu_info@Base 1.4.2
+ (arch=!hurd-any)uv_free_interface_addresses@Base 1.4.2
+ uv_freeaddrinfo@Base 1.4.2
+ uv_fs_access@Base 1.4.2
+ uv_fs_chmod@Base 1.4.2
+ uv_fs_chown@Base 1.4.2
+ uv_fs_close@Base 1.4.2
+ uv_fs_event_getpath@Base 1.4.2
+ (arch=!hurd-any)uv_fs_event_init@Base 1.4.2
+ (arch=!hurd-any)uv_fs_event_start@Base 1.4.2
+ (arch=!hurd-any)uv_fs_event_stop@Base 1.4.2
+ uv_fs_fchmod@Base 1.4.2
+ uv_fs_fchown@Base 1.4.2
+ uv_fs_fdatasync@Base 1.4.2
+ uv_fs_fstat@Base 1.4.2
+ uv_fs_fsync@Base 1.4.2
+ uv_fs_ftruncate@Base 1.4.2
+ uv_fs_futime@Base 1.4.2
+ uv_fs_link@Base 1.4.2
+ uv_fs_lstat@Base 1.4.2
+ uv_fs_mkdir@Base 1.4.2
+ uv_fs_mkdtemp@Base 1.4.2
+ uv_fs_open@Base 1.4.2
+ uv_fs_poll_getpath@Base 1.4.2
+ uv_fs_poll_init@Base 1.4.2
+ uv_fs_poll_start@Base 1.4.2
+ uv_fs_poll_stop@Base 1.4.2
+ uv_fs_read@Base 1.4.2
+ uv_fs_readlink@Base 1.4.2
+ uv_fs_realpath@Base 1.8.0
+ uv_fs_rename@Base 1.4.2
+ uv_fs_req_cleanup@Base 1.4.2
+ uv_fs_rmdir@Base 1.4.2
+ uv_fs_scandir@Base 1.4.2
+ uv_fs_scandir_next@Base 1.4.2
+ uv_fs_sendfile@Base 1.4.2
+ uv_fs_stat@Base 1.4.2
+ uv_fs_symlink@Base 1.4.2
+ uv_fs_unlink@Base 1.4.2
+ uv_fs_utime@Base 1.4.2
+ uv_fs_write@Base 1.4.2
+ (arch=!hurd-any)uv_get_free_memory@Base 1.4.2
+ (arch=!hurd-any)uv_get_process_title@Base 1.4.2
+ (arch=!hurd-any)uv_get_total_memory@Base 1.4.2
+ uv_getaddrinfo@Base 1.4.2
+ uv_getnameinfo@Base 1.4.2
+ uv_getrusage@Base 1.4.2
+ uv_guess_handle@Base 1.4.2
+ uv_handle_size@Base 1.4.2
+ uv_has_ref@Base 1.4.2
+ uv_hrtime@Base 1.4.2
+ uv_idle_init@Base 1.4.2
+ uv_idle_start@Base 1.4.2
+ uv_idle_stop@Base 1.4.2
+ uv_inet_ntop@Base 1.4.2
+ uv_inet_pton@Base 1.4.2
+ (arch=!hurd-any)uv_interface_addresses@Base 1.4.2
+ uv_ip4_addr@Base 1.4.2
+ uv_ip4_name@Base 1.4.2
+ uv_ip6_addr@Base 1.4.2
+ uv_ip6_name@Base 1.4.2
+ uv_is_active@Base 1.4.2
+ uv_is_closing@Base 1.4.2
+ uv_is_readable@Base 1.4.2
+ uv_is_writable@Base 1.4.2
+ uv_key_create@Base 1.4.2
+ uv_key_delete@Base 1.4.2
+ uv_key_get@Base 1.4.2
+ uv_key_set@Base 1.4.2
+ uv_kill@Base 1.4.2
+ uv_listen@Base 1.4.2
+ (arch=!hurd-any)uv_loadavg@Base 1.4.2
+ uv_loop_alive@Base 1.4.2
+ uv_loop_close@Base 1.4.2
+ uv_loop_configure@Base 1.4.2
+ uv_loop_delete@Base 1.4.2
+ uv_loop_init@Base 1.4.2
+ uv_loop_new@Base 1.4.2
+ uv_loop_size@Base 1.4.2
+ uv_mutex_destroy@Base 1.4.2
+ uv_mutex_init@Base 1.4.2
+ uv_mutex_lock@Base 1.4.2
+ uv_mutex_trylock@Base 1.4.2
+ uv_mutex_unlock@Base 1.4.2
+ uv_now@Base 1.4.2
+ uv_once@Base 1.4.2
+ uv_os_free_passwd@Base 1.9.0~
+ uv_os_get_passwd@Base 1.9.0~
+ uv_os_homedir@Base 1.6.1
+ uv_os_tmpdir@Base 1.9.0~
+ uv_pipe_bind@Base 1.4.2
+ uv_pipe_connect@Base 1.4.2
+ uv_pipe_getpeername@Base 1.4.2
+ uv_pipe_getsockname@Base 1.4.2
+ uv_pipe_init@Base 1.4.2
+ uv_pipe_open@Base 1.4.2
+ uv_pipe_pending_count@Base 1.4.2
+ uv_pipe_pending_instances@Base 1.4.2
+ uv_pipe_pending_type@Base 1.4.2
+ uv_poll_init@Base 1.4.2
+ uv_poll_init_socket@Base 1.4.2
+ uv_poll_start@Base 1.4.2
+ uv_poll_stop@Base 1.4.2
+ uv_prepare_init@Base 1.4.2
+ uv_prepare_start@Base 1.4.2
+ uv_prepare_stop@Base 1.4.2
+ uv_print_active_handles@Base 1.8.0
+ uv_print_all_handles@Base 1.8.0
+ uv_process_kill@Base 1.4.2
+ uv_queue_work@Base 1.4.2
+ uv_read_start@Base 1.4.2
+ uv_read_stop@Base 1.4.2
+ uv_recv_buffer_size@Base 1.4.2
+ uv_ref@Base 1.4.2
+ uv_replace_allocator@Base 1.6.1
+ uv_req_size@Base 1.4.2
+ (arch=!hurd-any)uv_resident_set_memory@Base 1.4.2
+ uv_run@Base 1.4.2
+ uv_rwlock_destroy@Base 1.4.2
+ uv_rwlock_init@Base 1.4.2
+ uv_rwlock_rdlock@Base 1.4.2
+ uv_rwlock_rdunlock@Base 1.4.2
+ uv_rwlock_tryrdlock@Base 1.4.2
+ uv_rwlock_trywrlock@Base 1.4.2
+ uv_rwlock_wrlock@Base 1.4.2
+ uv_rwlock_wrunlock@Base 1.4.2
+ uv_sem_destroy@Base 1.4.2
+ uv_sem_init@Base 1.4.2
+ uv_sem_post@Base 1.4.2
+ uv_sem_trywait@Base 1.4.2
+ uv_sem_wait@Base 1.4.2
+ uv_send_buffer_size@Base 1.4.2
+ (arch=!hurd-any)uv_set_process_title@Base 1.4.2
+ (arch=!hurd-any)uv_setup_args@Base 1.4.2
+ uv_shutdown@Base 1.4.2
+ uv_signal_init@Base 1.4.2
+ uv_signal_start@Base 1.4.2
+ uv_signal_stop@Base 1.4.2
+ uv_spawn@Base 1.4.2
+ uv_stop@Base 1.4.2
+ uv_stream_set_blocking@Base 1.4.2
+ uv_strerror@Base 1.4.2
+ uv_tcp_bind@Base 1.4.2
+ uv_tcp_connect@Base 1.4.2
+ uv_tcp_getpeername@Base 1.4.2
+ uv_tcp_getsockname@Base 1.4.2
+ uv_tcp_init@Base 1.4.2
+ uv_tcp_init_ex@Base 1.7.0
+ uv_tcp_keepalive@Base 1.4.2
+ uv_tcp_nodelay@Base 1.4.2
+ uv_tcp_open@Base 1.4.2
+ uv_tcp_simultaneous_accepts@Base 1.4.2
+ uv_thread_create@Base 1.4.2
+ uv_thread_equal@Base 1.4.2
+ uv_thread_join@Base 1.4.2
+ uv_thread_self@Base 1.4.2
+ uv_timer_again@Base 1.4.2
+ uv_timer_get_repeat@Base 1.4.2
+ uv_timer_init@Base 1.4.2
+ uv_timer_set_repeat@Base 1.4.2
+ uv_timer_start@Base 1.4.2
+ uv_timer_stop@Base 1.4.2
+ uv_try_write@Base 1.4.2
+ uv_tty_get_winsize@Base 1.4.2
+ uv_tty_init@Base 1.4.2
+ uv_tty_reset_mode@Base 1.4.2
+ uv_tty_set_mode@Base 1.4.2
+ uv_udp_bind@Base 1.4.2
+ uv_udp_getsockname@Base 1.4.2
+ uv_udp_init@Base 1.4.2
+ uv_udp_init_ex@Base 1.7.0
+ uv_udp_open@Base 1.4.2
+ uv_udp_recv_start@Base 1.4.2
+ uv_udp_recv_stop@Base 1.4.2
+ uv_udp_send@Base 1.4.2
+ uv_udp_set_broadcast@Base 1.4.2
+ uv_udp_set_membership@Base 1.4.2
+ uv_udp_set_multicast_interface@Base 1.4.2
+ uv_udp_set_multicast_loop@Base 1.4.2
+ uv_udp_set_multicast_ttl@Base 1.4.2
+ uv_udp_set_ttl@Base 1.4.2
+ uv_udp_try_send@Base 1.4.2
+ uv_unref@Base 1.4.2
+ uv_update_time@Base 1.4.2
+ (arch=!hurd-any)uv_uptime@Base 1.4.2
+ uv_version@Base 1.4.2
+ uv_version_string@Base 1.4.2
+ uv_walk@Base 1.4.2
+ uv_write2@Base 1.4.2
+ uv_write@Base 1.4.2
diff --git a/patches/iovec_rw_fix.patch b/patches/iovec_rw_fix.patch
new file mode 100644 (file)
index 0000000..021e01c
--- /dev/null
@@ -0,0 +1,30 @@
+Description: iovec preadv/pwrite syscall fix
+Author: Luca Bruno <lucab@debian.org.org>
+Last-Update: 2015-09-22
+Forwarded: not yet
+--- a/src/unix/linux-syscalls.c
++++ b/src/unix/linux-syscalls.c
+@@ -439,7 +439,11 @@
+ ssize_t uv__preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset) {
+ #if defined(__NR_preadv)
++# if defined(_BSD_SOURCE) && (defined(__hppa__) || defined(__mips__) || defined(__powerpc__))
++  return preadv(fd, iov, iovcnt, offset);
++# else
+   return syscall(__NR_preadv, fd, iov, iovcnt, offset);
++# endif
+ #else
+   return errno = ENOSYS, -1;
+ #endif
+@@ -448,7 +452,11 @@
+ ssize_t uv__pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset) {
+ #if defined(__NR_pwritev)
++# if defined(_BSD_SOURCE) && (defined(__hppa__) || defined(__mips__) || defined(__powerpc__))
++  return pwritev(fd, iov, iovcnt, offset);
++# else
+   return syscall(__NR_pwritev, fd, iov, iovcnt, offset);
++# endif
+ #else
+   return errno = ENOSYS, -1;
+ #endif
diff --git a/patches/kfreebsd.patch b/patches/kfreebsd.patch
new file mode 100644 (file)
index 0000000..e718203
--- /dev/null
@@ -0,0 +1,93 @@
+Description: kfreebsd port
+Author: Jérémy Lal <kapouer@melix.org>
+Last-Update: 2015-09-19
+Forwarded: not yet
+Index: libuv1/configure.ac
+===================================================================
+--- libuv1.orig/configure.ac   2016-05-29 19:26:19.060785992 +0200
++++ libuv1/configure.ac        2016-05-29 19:26:19.056785952 +0200
+@@ -53,6 +53,7 @@
+ AM_CONDITIONAL([DARWIN],   [AS_CASE([$host_os],[darwin*],       [true], [false])])
+ AM_CONDITIONAL([DRAGONFLY],[AS_CASE([$host_os],[dragonfly*],    [true], [false])])
+ AM_CONDITIONAL([FREEBSD],  [AS_CASE([$host_os],[freebsd*],      [true], [false])])
++AM_CONDITIONAL([FREEBSD],  [AS_CASE([$host_os],[*freebsd*],      [true], [false])])
+ AM_CONDITIONAL([LINUX],    [AS_CASE([$host_os],[linux*],        [true], [false])])
+ AM_CONDITIONAL([NETBSD],   [AS_CASE([$host_os],[netbsd*],       [true], [false])])
+ AM_CONDITIONAL([OPENBSD],  [AS_CASE([$host_os],[openbsd*],      [true], [false])])
+Index: libuv1/src/unix/core.c
+===================================================================
+--- libuv1.orig/src/unix/core.c        2016-05-29 19:26:19.060785992 +0200
++++ libuv1/src/unix/core.c     2016-05-29 19:26:19.056785952 +0200
+@@ -58,7 +58,7 @@
+ # endif
+ #endif
+-#if defined(__FreeBSD__) || defined(__DragonFly__)
++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
+ # include <sys/sysctl.h>
+ # include <sys/filio.h>
+ # include <sys/ioctl.h>
+@@ -524,7 +524,7 @@
+ #if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \
+-    defined(_AIX) || defined(__DragonFly__)
++    defined(_AIX) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
+ int uv__nonblock(int fd, int set) {
+   int r;
+@@ -554,7 +554,7 @@
+ }
+ #else /* !(defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \
+-         defined(_AIX) || defined(__DragonFly__)) */
++         defined(_AIX) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)) */
+ int uv__nonblock(int fd, int set) {
+   int flags;
+@@ -618,7 +618,7 @@
+ }
+ #endif /* defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \
+-        defined(_AIX) || defined(__DragonFly__) */
++        defined(_AIX) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) */
+ /* This function is not execve-safe, there is a race window
+Index: libuv1/include/uv-unix.h
+===================================================================
+--- libuv1.orig/include/uv-unix.h      2016-05-29 19:26:19.060785992 +0200
++++ libuv1/include/uv-unix.h   2016-05-29 19:26:19.056785952 +0200
+@@ -51,7 +51,7 @@
+ #elif defined(__APPLE__)
+ # include "uv-darwin.h"
+ #elif defined(__DragonFly__)  || \
+-      defined(__FreeBSD__)    || \
++      defined(__FreeBSD_kernel__)    || \
+       defined(__OpenBSD__)    || \
+       defined(__NetBSD__)
+ # include "uv-bsd.h"
+Index: libuv1/src/unix/fs.c
+===================================================================
+--- libuv1.orig/src/unix/fs.c  2016-05-29 19:26:19.060785992 +0200
++++ libuv1/src/unix/fs.c       2016-05-29 19:26:19.056785952 +0200
+@@ -193,6 +193,7 @@
+ #elif defined(__APPLE__)                                                      \
+     || defined(__DragonFly__)                                                 \
+     || defined(__FreeBSD__)                                                   \
++    || defined(__FreeBSD_kernel__)                                            \
+     || defined(__NetBSD__)                                                    \
+     || defined(__OpenBSD__)                                                   \
+     || defined(__sun)
+Index: libuv1/test/test-fs-event.c
+===================================================================
+--- libuv1.orig/test/test-fs-event.c   2016-05-29 19:26:19.060785992 +0200
++++ libuv1/test/test-fs-event.c        2016-05-29 19:26:19.056785952 +0200
+@@ -29,6 +29,7 @@
+ # if defined(__APPLE__) ||                                                    \
+      defined(__DragonFly__) ||                                                \
+      defined(__FreeBSD__) ||                                                  \
++     defined(__FreeBSD_kernel__) ||                                           \
+      defined(__OpenBSD__) ||                                                  \
+      defined(__NetBSD__)
+ #  define HAVE_KQUEUE 1
diff --git a/patches/mips-epoll_pwait.diff b/patches/mips-epoll_pwait.diff
new file mode 100644 (file)
index 0000000..599cc23
--- /dev/null
@@ -0,0 +1,143 @@
+Subject: [PATCH] unix: use libc-provided epoll_pwait wrapper
+Bug-Debian: https://bugs.debian.org/841354
+From: Luca Bruno <lucab@debian.org>
+Date: Tue, 12 May 2015 22:04:35 +0200
+
+Signed-off-by: Luca Bruno <lucab@debian.org>
+We now use epoll_pwait() wrapper from libc, which takes care
+of passing proper sigset_t size to kernel.
+
+This is more portable, as some arch have a larger sigmask and
+kernel explicitely checks size parameter to match sizeof(sigset_t).
+Spotted as a uv_loop_configure regression on MIPS.
+
+This fixes #335.
+
+Many thanks to Tobias Leich who amended this
+patch to fix #841354
+
+---
+ src/unix/linux-core.c     | 15 ++++++++-------
+ src/unix/linux-syscalls.c | 21 +++++++--------------
+ src/unix/linux-syscalls.h |  2 +-
+ 3 files changed, 16 insertions(+), 22 deletions(-)
+
+Index: libuv1/src/unix/linux-core.c
+===================================================================
+--- libuv1.orig/src/unix/linux-core.c  2016-05-29 19:25:29.000284791 +0200
++++ libuv1/src/unix/linux-core.c       2016-05-29 19:26:01.036605254 +0200
+@@ -38,6 +38,7 @@
+ #include <sys/prctl.h>
+ #include <sys/sysinfo.h>
+ #include <unistd.h>
++#include <signal.h>
+ #include <fcntl.h>
+ #include <time.h>
+@@ -186,8 +187,8 @@
+   QUEUE* q;
+   uv__io_t* w;
+   sigset_t sigset;
+-  uint64_t sigmask;
+   uint64_t base;
++  int is_sigmasked;
+   int have_signals;
+   int nevents;
+   int count;
+@@ -236,11 +237,11 @@
+     w->events = w->pevents;
+   }
+-  sigmask = 0;
++  is_sigmasked = 0;
++  sigemptyset(&sigset);
+   if (loop->flags & UV_LOOP_BLOCK_SIGPROF) {
+-    sigemptyset(&sigset);
+     sigaddset(&sigset, SIGPROF);
+-    sigmask |= 1 << (SIGPROF - 1);
++    is_sigmasked = 1;
+   }
+   assert(timeout >= -1);
+@@ -255,16 +256,16 @@
+     if (sizeof(int32_t) == sizeof(long) && timeout >= max_safe_timeout)
+       timeout = max_safe_timeout;
+-    if (sigmask != 0 && no_epoll_pwait != 0)
++    if (is_sigmasked != 0 && no_epoll_pwait != 0)
+       if (pthread_sigmask(SIG_BLOCK, &sigset, NULL))
+         abort();
+-    if (no_epoll_wait != 0 || (sigmask != 0 && no_epoll_pwait == 0)) {
++    if (no_epoll_wait != 0 || (is_sigmasked != 0 && no_epoll_pwait == 0)) {
+       nfds = uv__epoll_pwait(loop->backend_fd,
+                              events,
+                              ARRAY_SIZE(events),
+                              timeout,
+-                             sigmask);
++                             &sigset);
+       if (nfds == -1 && errno == ENOSYS)
+         no_epoll_pwait = 1;
+     } else {
+@@ -276,7 +277,7 @@
+         no_epoll_wait = 1;
+     }
+-    if (sigmask != 0 && no_epoll_pwait != 0)
++    if (is_sigmasked != 0 && no_epoll_pwait != 0)
+       if (pthread_sigmask(SIG_UNBLOCK, &sigset, NULL))
+         abort();
+Index: libuv1/src/unix/linux-syscalls.c
+===================================================================
+--- libuv1.orig/src/unix/linux-syscalls.c      2016-05-29 19:25:29.000284791 +0200
++++ libuv1/src/unix/linux-syscalls.c   2016-05-29 19:25:29.000284791 +0200
+@@ -22,6 +22,7 @@
+ #include "linux-syscalls.h"
+ #include <unistd.h>
+ #include <signal.h>
++#include <sys/epoll.h>
+ #include <sys/syscall.h>
+ #include <sys/types.h>
+ #include <errno.h>
+@@ -334,21 +335,13 @@
+                     struct uv__epoll_event* events,
+                     int nevents,
+                     int timeout,
+-                    uint64_t sigmask) {
++                    const sigset_t* sigmask) {
+ #if defined(__NR_epoll_pwait)
+-  int result;
+-  result = syscall(__NR_epoll_pwait,
+-                   epfd,
+-                   events,
+-                   nevents,
+-                   timeout,
+-                   &sigmask,
+-                   sizeof(sigmask));
+-#if MSAN_ACTIVE
+-  if (result > 0)
+-    __msan_unpoison(events, sizeof(events[0]) * result);
+-#endif
+-  return result;
++  return epoll_pwait(epfd,
++                     (struct epoll_event *) events,
++                     nevents,
++                     timeout,
++                     sigmask);
+ #else
+   return errno = ENOSYS, -1;
+ #endif
+Index: libuv1/src/unix/linux-syscalls.h
+===================================================================
+--- libuv1.orig/src/unix/linux-syscalls.h      2016-05-29 19:25:29.000284791 +0200
++++ libuv1/src/unix/linux-syscalls.h   2016-05-29 19:25:29.000284791 +0200
+@@ -124,7 +124,7 @@
+                     struct uv__epoll_event* events,
+                     int nevents,
+                     int timeout,
+-                    uint64_t sigmask);
++                    const sigset_t* sigmask);
+ int uv__eventfd2(unsigned int count, int flags);
+ int uv__inotify_init(void);
+ int uv__inotify_init1(int flags);
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..0cf94c2
--- /dev/null
@@ -0,0 +1,5 @@
+mips-epoll_pwait.diff
+sparc-skip-tcp_oob.diff
+#iovec_rw_fix.patch
+kfreebsd.patch
+skip_test_if_no_pty.patch
diff --git a/patches/skip_test_if_no_pty.patch b/patches/skip_test_if_no_pty.patch
new file mode 100644 (file)
index 0000000..7abe7b9
--- /dev/null
@@ -0,0 +1,33 @@
+Description: test: skip tty_pty test if pty is not available
+ Do not let `tty_pty` test fail if no terminals are available
+ to `openpty()`.
+Author: Luca Bruno <lucab@debian.org>
+Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
+Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
+Forwarded: yes, accepted already: https://github.com/libuv/libuv/pull/919
+Last-Update: Sun, 19 Jun 2016 18:20:53 +0200
+
+diff --git a/test/test-tty.c b/test/test-tty.c
+index 55cc016..5787d1d 100644
+--- a/test/test-tty.c
++++ b/test/test-tty.c
+@@ -262,14 +262,17 @@ TEST_IMPL(tty_file) {
+ TEST_IMPL(tty_pty) {
+ # if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || \
+     defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__)
+-  int master_fd, slave_fd;
++  int master_fd, slave_fd, r;
+   struct winsize w;
+   uv_loop_t loop;
+   uv_tty_t master_tty, slave_tty;
+   ASSERT(0 == uv_loop_init(&loop));
+-  ASSERT(0 == openpty(&master_fd, &slave_fd, NULL, NULL, &w));
++  r = openpty(&master_fd, &slave_fd, NULL, NULL, &w);
++  if (r != 0)
++    RETURN_SKIP("No pty available, skipping.");
++
+   ASSERT(0 == uv_tty_init(&loop, &slave_tty, slave_fd, 0));
+   ASSERT(0 == uv_tty_init(&loop, &master_tty, master_fd, 0));
+   /* Check if the file descriptor was reopened. If it is,
diff --git a/patches/sparc-skip-tcp_oob.diff b/patches/sparc-skip-tcp_oob.diff
new file mode 100644 (file)
index 0000000..e71dd14
--- /dev/null
@@ -0,0 +1,19 @@
+Description: Workaround for test failure on old sparc kernels
+Forwarded: not-needed
+Author: Luca BRUNO <lucab@debian.org>
+
+--- a/test/test-tcp-oob.c
++++ b/test/test-tcp-oob.c
+@@ -101,6 +101,12 @@
+   struct sockaddr_in addr;
+   uv_loop_t* loop;
++#if defined(__sparc__) && defined(__linux__)
++  fprintf(stderr, "Skipping test on Linux-sparc due to instability.\n");
++  fflush(stderr);
++  return TEST_SKIP;
++#endif
++
+   ASSERT(0 == uv_ip4_addr("127.0.0.1", TEST_PORT, &addr));
+   loop = uv_default_loop();
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..51f30a9
--- /dev/null
+++ b/rules
@@ -0,0 +1,34 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+include /usr/share/dpkg/default.mk
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+export SOVER=1
+export SONAME=libuv.so.$(SOVER)
+export SOPKG=libuv$(SOVER)
+
+%:
+       dh $@ --with autoreconf
+
+override_dh_autoreconf:
+       dh_autoreconf ./autogen.sh
+
+override_dh_strip:
+       dh_strip --dbg-package=$(SOPKG)-dbg
+
+override_dh_clean:
+       dh_clean
+       # Clean autoreconf files
+       $(RM) -- ltmain.sh m4/libtool.m4
+       find m4 -name 'lt*.m4' -delete
+
+# Testsuite is not robust enough, ignore errors on non-linux
+override_dh_auto_test:
+ifeq ($(DEB_BUILD_ARCH_OS),linux)
+       dh_auto_test
+else
+       -dh_auto_test
+endif
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc
new file mode 100644 (file)
index 0000000..908ca44
--- /dev/null
@@ -0,0 +1,293 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+
+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
+SuDxJRYyyKHVTuv7XuQ=
+=bS5A
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..bb30561
--- /dev/null
+++ b/watch
@@ -0,0 +1,3 @@
+version=3
+opts=pgpsigurlmangle=s/$/.sign/ \
+ http://dist.libuv.org/dist/v(1\..+)/libuv-v(1\..+)\.tar\.gz