diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-01-22 10:09:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-01-22 10:09:44 +0000 |
commit | 09351e78166b5e864197c4456ebae3f89dd0bed9 (patch) | |
tree | 41a96399f56ed3aa399006871bfce4430db84aa2 /net-libs/liboping | |
parent | c8a77dfe4d3d307c1d5dd2650b7297447d8b609d (diff) |
gentoo resync : 22.01.2019
Diffstat (limited to 'net-libs/liboping')
5 files changed, 180 insertions, 0 deletions
diff --git a/net-libs/liboping/Manifest b/net-libs/liboping/Manifest index 11a3a50b53b0..49a9d8ffbcb4 100644 --- a/net-libs/liboping/Manifest +++ b/net-libs/liboping/Manifest @@ -1,5 +1,9 @@ +AUX liboping-1.10.0-do-not-quit-when-ping_send-fail.patch 1408 BLAKE2B d589a184ca80421c7d64fde5f2912ac8d85aab4e65626cdbb510414de2e8c701cbbe6f05a2ef156ed9d0cb86d55afa2992fbae6832b52f9cb91ec1a9e46d8b93 SHA512 61fb689791b3a69d99c8d2811fba3a47eeeec12fb19ce2e71485d428895321bd4824e6b94f7bfd215d185f3d948a7525b27a04b6b32a30e3968e7c8297aaa37e AUX liboping-1.10.0-gcc8-fix.patch 887 BLAKE2B c40500b5183eabe352e4a8b15c06f051de0240f1aadc43848e4f2b82c6e4feec44eed993d579ff04a1295eddf39bc312280396cfe3e1517c359f81f1a25f5230 SHA512 073ba6c52cf2c9f414e79a1411b7d7d4250c06dc32975bb96fba5df35ecf863e50bc3f8dd2c8b965e77890740b5414511bef2007f831d778c8527f27da87e834 +AUX liboping-1.10.0-no-werror.patch 240 BLAKE2B dc51e4dbaa3259d9e751d00be4d61f637b4f47a13c6223c648982aa771f03faff0d3969bb6f8508b20f30878a9af98fb2d9d26dccb4bca3f3c5b7786c577e113 SHA512 3babdd13fb89757002e415150d9ab4c679cde1982edecac67cb7fd3ad28e69bd796e705aab4f1e765fd6519ffa8746662bdb22c790ca609f80f3eb742cf1dc9b +AUX liboping-1.10.0-report-right-error-msg-when-select-fails.patch 963 BLAKE2B 94ae49152a81164aeb73a3498a9c2a1b2c901b578387cd8c4a376e0f2583d63aded21d9d22552d5804b332faaf9770c961e7e9f2a7312406aed3de68c5afddfc SHA512 506e28def5b7337fd6f883041ee4b69b1bfd4151b30fce5dc330d4d08fed4333c951e5a58791b5fe5d5f65a2126a4268e7bd902715bfdb663f54814cdaa13348 AUX liboping-1.6.2-nouidmagic.patch 741 BLAKE2B c8ee54176ded65740d5b035a4f572b45b42f8c4f6f99b723eef7c73d459c4b38907570c3da3dc54c2b71a360164ed1d84dce44a2053050c7ef13f72a13b36ba7 SHA512 d991b2871091c3e92d6b194bfdaa77db34455aec3c32087fff0a02ccee0e1f6fa0e0453a61d28a0fc9549644359f91425efef0b94e37c033d4d43b12bbd7b07d DIST liboping-1.10.0.tar.bz2 318150 BLAKE2B 2fa8719df251116c51aa93262697751df72b93368d543e5bb34668eb1bb07d7c0be143c943b32b23ee8d02e94ac2cc66f46f923ee4ab672b414ef16ce2f75acf SHA512 f1e9984cf0c1df89b29f7bc657c19a5439019db7643680744d8f353664b6a53070581f40b51e72f896c7df88799c6868257f6308e1a9d84b4d2a0666491214d8 EBUILD liboping-1.10.0-r1.ebuild 1359 BLAKE2B b07c09f90235e14eaf13c68d2df9e6dddc79177d22f5d672867dea40c13608a71c032bb7e26b8f02c854eaeb4b91f3dbfd576ffe0134b66600050fa75f642627 SHA512 9180bae51161c65b53769a32af2212ecb92188f5509a666a520a0febdca44f1821ed2a88309e0aa12dd0c1fc44196fab1891b2e73a7cb12e39b154041c000733 +EBUILD liboping-1.10.0-r2.ebuild 1529 BLAKE2B 4aacb2f0bf3824ff7791723657231e477b099302f90489f1d47e5db709a707821ae983287d6241a553b87196098632f6c77a8ae2afaf2cb4d1b06ca47c7564b5 SHA512 b48d0773d0f409dfb676957d7a5fe6d84154bb6bc2beba7a84c5e8cc77f3ccf5898d3e52c76aef2c4cc8234b86b84be84b336af032a122541c8ab20f4f32840a MISC metadata.xml 717 BLAKE2B dfa3179582723dc5deb92ec7a8c0bdb39151f99ef68cd5033dc867811574c3b46b1390813caaf65aa18d5e3fea13762b7f5d38069a775c703ee6e849275fe00e SHA512 ef68e308920311969fc83de9e82e6e97648b5376819a5a122e1aa4c68ef3f6ae0bad6dc95a28eb4629f8915c4658facbeabc7740df090cff2598b5ebbd049edd diff --git a/net-libs/liboping/files/liboping-1.10.0-do-not-quit-when-ping_send-fail.patch b/net-libs/liboping/files/liboping-1.10.0-do-not-quit-when-ping_send-fail.patch new file mode 100644 index 000000000000..ba0b13eeab9f --- /dev/null +++ b/net-libs/liboping/files/liboping-1.10.0-do-not-quit-when-ping_send-fail.patch @@ -0,0 +1,53 @@ +From c768cc2270d49247357aa6c527f4c8fe2f81d493 Mon Sep 17 00:00:00 2001 +From: Florian Forster <ff@octo.it> +Date: Thu, 14 Sep 2017 08:35:27 +0200 +Subject: [PATCH] src/oping.c: Don't quit when ping_send() fails. + +It appears that sendto(2) sometimes returns ENOBUFS when the upstream link +is saturated, causing [n]oping to quit. + +Fixes: #28 +--- + src/oping.c | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/src/oping.c b/src/oping.c +index 36cdf16..c087c80 100644 +--- a/src/oping.c ++++ b/src/oping.c +@@ -2042,7 +2042,6 @@ int main (int argc, char **argv) /* {{{ */ + while (opt_count != 0) + { + int index; +- int status; + + if (gettimeofday (&tv_begin, NULL) < 0) + { +@@ -2050,16 +2049,11 @@ int main (int argc, char **argv) /* {{{ */ + return (1); + } + +- status = ping_send (ping); +- if (status == -EINTR) +- { +- continue; +- } +- else if (status < 0) ++ if (ping_send (ping) < 0) + { + fprintf (stderr, "ping_send failed: %s\n", + ping_get_error (ping)); +- return (1); ++ continue; + } + + index = 0; +@@ -2086,7 +2080,7 @@ int main (int argc, char **argv) /* {{{ */ + time_calc (&ts_wait, &ts_int, &tv_begin, &tv_end); + + /* printf ("Sleeping for %i.%09li seconds\n", (int) ts_wait.tv_sec, ts_wait.tv_nsec); */ +- while ((status = nanosleep (&ts_wait, &ts_wait)) != 0) ++ while (nanosleep (&ts_wait, &ts_wait) != 0) + { + if (errno == EINTR) + { diff --git a/net-libs/liboping/files/liboping-1.10.0-no-werror.patch b/net-libs/liboping/files/liboping-1.10.0-no-werror.patch new file mode 100644 index 000000000000..3682622cf10d --- /dev/null +++ b/net-libs/liboping/files/liboping-1.10.0-no-werror.patch @@ -0,0 +1,13 @@ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -2,10 +2,6 @@ AUTOMAKE_OPTIONS = foreign no-dependencies + + SUBDIRS = mans + +-if COMPILER_IS_GCC +-AM_CFLAGS = -Wall -Werror +-endif +- + include_HEADERS = oping.h + lib_LTLIBRARIES = liboping.la + diff --git a/net-libs/liboping/files/liboping-1.10.0-report-right-error-msg-when-select-fails.patch b/net-libs/liboping/files/liboping-1.10.0-report-right-error-msg-when-select-fails.patch new file mode 100644 index 000000000000..ce1eea036b33 --- /dev/null +++ b/net-libs/liboping/files/liboping-1.10.0-report-right-error-msg-when-select-fails.patch @@ -0,0 +1,33 @@ +From f9115d65b561adeb6d36ded952949f065ad0a572 Mon Sep 17 00:00:00 2001 +From: Florian Forster <ff@octo.it> +Date: Thu, 14 Sep 2017 08:37:23 +0200 +Subject: [PATCH] src/liboping.c: Report right error message when select() + fails. + +After a successful call to gettimeofday(), the value of errno is +unspecified. +--- + src/liboping.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/liboping.c b/src/liboping.c +index eca5c16..5253e8c 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -1465,6 +1465,7 @@ int ping_send (pingobj_t *obj) + (unsigned) timeout.tv_usec); + + int status = select (max_fd + 1, &read_fds, &write_fds, NULL, &timeout); ++ int select_errno = errno; + + if (gettimeofday (&nowtime, NULL) == -1) + { +@@ -1474,7 +1475,7 @@ int ping_send (pingobj_t *obj) + + if (status == -1) + { +- ping_set_errno (obj, errno); ++ ping_set_errno (obj, select_errno); + dprintf ("select: %s\n", obj->errmsg); + return (-1); + } diff --git a/net-libs/liboping/liboping-1.10.0-r2.ebuild b/net-libs/liboping/liboping-1.10.0-r2.ebuild new file mode 100644 index 000000000000..e9ae55f7b8d6 --- /dev/null +++ b/net-libs/liboping/liboping-1.10.0-r2.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit autotools fcaps perl-module + +DESCRIPTION="Protocol independent ANSI-C ping library and command line utility" +HOMEPAGE="https://noping.cc/" +SRC_URI="https://noping.cc/files/${P}.tar.bz2" + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/0.3" +KEYWORDS="~alpha ~amd64 ~arm ~x86" +IUSE="+filecaps ncurses perl" + +DEPEND="ncurses? ( sys-libs/ncurses:0= )" +RDEPEND=${DEPEND} + +PATCHES=( + "${FILESDIR}"/${PN}-1.10.0-no-werror.patch + "${FILESDIR}/${PN}-1.6.2-nouidmagic.patch" + "${FILESDIR}"/${P}-gcc8-fix.patch + "${FILESDIR}"/${P}-do-not-quit-when-ping_send-fail.patch + "${FILESDIR}"/${P}-report-right-error-msg-when-select-fails.patch +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + econf \ + $(use_with perl perl-bindings INSTALLDIRS=vendor) \ + $(use_with ncurses) +} + +src_test() { + if use perl; then + pushd bindings/perl >/dev/null || die + perl-module_src_test + popd >/dev/null || die + fi +} + +src_install() { + default + + find "${ED}"usr/lib* -name '*.la' -o -name '*.a' -delete || die +} + +pkg_postinst() { + if use filecaps; then + local _caps_str="CAP_NET_RAW" + _files=( "${EROOT%/}/usr/bin/oping") + + if use ncurses; then + _files+=( "${EROOT%/}/usr/bin/noping") + fi + + fcaps "${_caps_str}" "${_files[@]}" + + elog "Capabilities for" + elog "" + + local _file= + for _file in "${_files[@]}"; do + elog " ${_file}" + done + + elog "" + elog "set to ${_caps_str}+EP due to set 'filecaps' USE flag." + elog + fi +} |