libuv1 (1.9.1-3) unstable; urgency=medium
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)
  * 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.

[dgit import unpatched libuv1 1.9.1-3]

18 files changed:
1  2 
debian/changelog
debian/compat
debian/control
debian/copyright
debian/gbp.conf
debian/libuv1-dev.install
debian/libuv1.install
debian/libuv1.symbols
debian/patches/iovec_rw_fix.patch
debian/patches/kfreebsd.patch
debian/patches/mips-epoll_pwait.diff
debian/patches/series
debian/patches/skip_test_if_no_pty.patch
debian/patches/sparc-skip-tcp_oob.diff
debian/rules
debian/source/format
debian/upstream/signing-key.asc
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8e2d49e7fc89b958969dff410619737352afc843
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 --cc debian/compat
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ec635144f60048986bc560c5576355344005e6e7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++9
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b71a2afa91d19227eb081597642fba51e78a2261
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..360323aa4a0f24583945d7f2a3a95d13a7f7ec0c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 --cc debian/gbp.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..179db319af91705007b9fa02e94c5d6178e06fc3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++[DEFAULT]
++pristine-tar = True
++debian-branch = debian/sid
++
++[git-buildpackage]
++upstream-tag = v%(version)s
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0b0258bdb8ba76f1a1efbf494c2fbfa79e7298ad
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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}/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2ef2b46e61f42b38a1768eb012589e67172594cd
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++#!/usr/bin/dh-exec
++usr/lib/*/libuv.so.1* usr/lib/${DEB_HOST_MULTIARCH}/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a2d68a9eeb6ac3e899ee19e10800fe4d590d47c5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..021e01c3558249b1d99367864c1a0455c5576287
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e71820391c748144bd451b6b6893c6c029f4037a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..599cc23d17b91631ebcba236817dbcc915673198
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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);
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0cf94c27704edab2a9cb7f6ebcf482bbb1eaa8d4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++mips-epoll_pwait.diff
++sparc-skip-tcp_oob.diff
++#iovec_rw_fix.patch
++kfreebsd.patch
++skip_test_if_no_pty.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7abe7b9cf6173a374330a20533b09e7da1c152a5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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,
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e71dd14c4a1818beacb9bc99b427327829e09e84
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..51f30a95969e5ce81b9b83247f1a12e028e61c5e
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..908ca4435b951253eddb9ca1853f45933cf13293
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,293 @@@
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++Version: GnuPG v2
++
++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
++SuDxJRYyyKHVTuv7XuQ=
++=bS5A
++-----END PGP PUBLIC KEY BLOCK-----
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bb305618cef460318fc5922e33fb9067cdfe2e62
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++version=3
++opts=pgpsigurlmangle=s/$/.sign/ \
++ http://dist.libuv.org/dist/v(1\..+)/libuv-v(1\..+)\.tar\.gz