Date: Mon, 4 Feb 2013 05:35:28 +0100 (CET) From: Klaus Aehlig <aehlig@linta.de> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/175812: [patch] misc/findutils update to 4.5.11 Message-ID: <20130204043528.11ECC385557@howard.linta.de> Resent-Message-ID: <201302040450.r144o1sQ053536@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 175812 >Category: ports >Synopsis: [patch] misc/findutils update to 4.5.11 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Mon Feb 04 04:50:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Klaus Aehlig >Release: FreeBSD 9.1-STABLE amd64 >Organization: >Environment: System: FreeBSD howard.linta.de 9.1-STABLE FreeBSD 9.1-STABLE #8 r245129: Mon Jan 7 20:23:56 CET 2013 root@howard.linta.de:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Update to Version 4.5.11 [1] plus fix for Bug #38239 [2] [1] http://lists.gnu.org/archive/html/bug-findutils/2013-02/msg00013.html [2] http://savannah.gnu.org/bugs/?38239 >How-To-Repeat: >Fix: Apply the following patch. The file files/patch-locate__locate.c is newly added. --- findutils.diff begins here --- diff -ruN findutils.orig/Makefile findutils/Makefile --- findutils.orig/Makefile 2013-02-04 05:20:12.000000000 +0100 +++ findutils/Makefile 2013-02-04 05:24:02.000000000 +0100 @@ -6,8 +6,7 @@ # PORTNAME= findutils -PORTVERSION= 4.5.10 -PORTREVISION= 2 +PORTVERSION= 4.5.11 CATEGORIES= misc MASTER_SITES= ${MASTER_SITE_GNU_ALPHA} MASTER_SITE_SUBDIR= findutils @@ -37,7 +36,7 @@ MAKE_JOBS_SAFE= yes INFO= find find-maint -MAN1= gfind.1 gxargs.1 glocate.1 gupdatedb.1 +MAN1= gfind.1 gxargs.1 glocate.1 gupdatedb.1 goldfind.1 MAN5= glocatedb.5 LOCALSTATEDIR?= /var/db diff -ruN findutils.orig/distinfo findutils/distinfo --- findutils.orig/distinfo 2013-02-04 05:20:12.000000000 +0100 +++ findutils/distinfo 2013-02-04 05:24:02.000000000 +0100 @@ -1,4 +1,4 @@ -SHA256 (findutils-4.5.10.tar.gz) = fe24bbce55ac8f136080e01c03e7ae8b5ab395550625c25860efcbbe0641af76 -SIZE (findutils-4.5.10.tar.gz) = 2745375 -SHA256 (findutils-4.5.10.tar.gz.sig) = 072d3b0dee701cddba58088fc271c09d964410054562d666440f187bef47be8b -SIZE (findutils-4.5.10.tar.gz.sig) = 152 +SHA256 (findutils-4.5.11.tar.gz) = 75e823592d917f1ac853a35cf46d6deeeb3b984240331ad1723f60da1a725d22 +SIZE (findutils-4.5.11.tar.gz) = 3116431 +SHA256 (findutils-4.5.11.tar.gz.sig) = 4fd79ba6ab6acd7e340ad8878ae82112a503ef1f708fd5ba02cb94fe4a66d27f +SIZE (findutils-4.5.11.tar.gz.sig) = 152 diff -ruN findutils.orig/files/patch-gnulib-lib-fdopendir.c findutils/files/patch-gnulib-lib-fdopendir.c --- findutils.orig/files/patch-gnulib-lib-fdopendir.c 2013-02-04 05:20:12.000000000 +0100 +++ findutils/files/patch-gnulib-lib-fdopendir.c 2013-02-04 05:24:02.000000000 +0100 @@ -1,5 +1,5 @@ ---- gnulib/lib/fdopendir.c.orig 2011-04-02 15:37:38.000000000 +0000 -+++ gnulib/lib/fdopendir.c 2011-05-30 21:05:02.000000000 +0000 +--- gl/lib/fdopendir.c.orig 2012-12-15 14:42:45.000000000 +0100 ++++ gl/lib/fdopendir.c 2013-02-02 17:11:52.000000000 +0100 @@ -182,9 +182,11 @@ # include <errno.h> @@ -12,4 +12,3 @@ /* Like fdopendir, but work around GNU/Hurd bug by validating FD. */ DIR * - diff -ruN findutils.orig/files/patch-locate__locate.c findutils/files/patch-locate__locate.c --- findutils.orig/files/patch-locate__locate.c 1970-01-01 01:00:00.000000000 +0100 +++ findutils/files/patch-locate__locate.c 2013-02-04 05:24:02.000000000 +0100 @@ -0,0 +1,154 @@ +diff locate/locate.c.orig locate/locate.c +--- locate/locate.c.orig ++++ locate/locate.c +@@ -1546,12 +1546,19 @@ opendb (const char *name) + return fd; + } + ++static void ++cleanup_quote_opts (void) ++{ ++ free (quote_opts); ++} ++ ++ + int + dolocate (int argc, char **argv, int secure_db_fd) + { +- char *path_element; ++ char *path_element = NULL; + size_t path_element_pos, path_element_len; +- const char *locate_path; ++ const char *user_selected_locate_path; + const char *db_name; + const char *path_separators = ":"; + unsigned long int found = 0uL; +@@ -1565,7 +1572,6 @@ dolocate (int argc, char **argv, int secure_db_fd) + int stats = 0; + int op_and = 0; + FILE *fp; +- int they_chose_db = 0; + bool did_stdin = false; /* Set to prevent rereading stdin. */ + + if (argv[0]) +@@ -1580,19 +1586,19 @@ dolocate (int argc, char **argv, int secure_db_fd) + textdomain (PACKAGE); + atexit (close_stdout); + ++ quote_opts = clone_quoting_options (NULL); ++ atexit (cleanup_quote_opts); ++ + limits.limit = 0; + limits.items_accepted = 0; + +- quote_opts = clone_quoting_options (NULL); + print_quoted_filename = true; + + /* We cannot simultaneously trust $LOCATE_PATH and use the + * setuid-access-controlled database,, since that could cause a leak + * of private data. + */ +- locate_path = getenv ("LOCATE_PATH"); +- if (locate_path) +- they_chose_db = 1; ++ user_selected_locate_path = getenv ("LOCATE_PATH"); + + check_existence = ACCEPT_EITHER; + +@@ -1624,8 +1630,8 @@ dolocate (int argc, char **argv, int secure_db_fd) + break; + + case 'd': +- locate_path = optarg; +- they_chose_db = 1; ++ user_selected_locate_path = optarg; ++ assert (optarg != NULL); + break; + + case 'e': +@@ -1715,7 +1721,7 @@ dolocate (int argc, char **argv, int secure_db_fd) + /* If the user gave the -d option or set LOCATE_PATH, + * relinquish access to the secure database. + */ +- if (they_chose_db) ++ if (user_selected_locate_path) + { + if (secure_db_fd >= 0) + { +@@ -1741,15 +1747,16 @@ dolocate (int argc, char **argv, int secure_db_fd) + } + } + +- + if (1 == isatty (STDOUT_FILENO)) + stdout_is_a_tty = true; + else + stdout_is_a_tty = false; + +- if (they_chose_db) +- splitstring (locate_path, path_separators, true, +- &path_element_pos, &path_element_len); ++ if (user_selected_locate_path) ++ { ++ splitstring (user_selected_locate_path, path_separators, true, ++ &path_element_pos, &path_element_len); ++ } + + /* Bail out early if limit already reached. */ + while (!use_limit || limits.limit > limits.items_accepted) +@@ -1765,10 +1772,11 @@ dolocate (int argc, char **argv, int secure_db_fd) + statistics.newline_count = + statistics.highbit_filename_count = 0u; + +- if (they_chose_db) ++ if (user_selected_locate_path) + { + /* Take the next element from the list of databases */ +- if (1 == path_element_len && '-' == locate_path[path_element_pos]) ++ if (1 == path_element_len ++ && '-' == user_selected_locate_path[path_element_pos]) + { + if (did_stdin) + { +@@ -1787,13 +1795,13 @@ dolocate (int argc, char **argv, int secure_db_fd) + { + if (0 == path_element_len + || (1 == path_element_len +- && '.' == locate_path[path_element_pos])) ++ && '.' == user_selected_locate_path[path_element_pos])) + { + db_name = LOCATE_DB; + } + else + { +- path_element = strndup (&locate_path[path_element_pos], ++ path_element = strndup (&user_selected_locate_path[path_element_pos], + path_element_len); + db_name = path_element; + } +@@ -1889,11 +1897,20 @@ dolocate (int argc, char **argv, int secure_db_fd) + free (path_element); + path_element = NULL; + } +- if (!splitstring (locate_path, path_separators, false, +- &path_element_pos, &path_element_len)) +- { +- break; +- } ++ ++ if (!user_selected_locate_path) ++ { ++ /* We're not actually iterating through the values in ++ $LOCATE_PATH so we don't want to check for the next ++ element in user_selected_locate_path (since we manually set db_name = ++ LOCATE_DB without using user_selected_locate_path). */ ++ break; ++ } ++ else if (!splitstring (user_selected_locate_path, path_separators, false, ++ &path_element_pos, &path_element_len)) ++ { ++ break; ++ } + } + + if (just_count) --- findutils.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130204043528.11ECC385557>