aboutsummaryrefslogtreecommitdiff
path: root/misc/findutils
diff options
context:
space:
mode:
authorRuslan Makhmatkhanov <rm@FreeBSD.org>2013-02-17 05:33:16 +0000
committerRuslan Makhmatkhanov <rm@FreeBSD.org>2013-02-17 05:33:16 +0000
commit284e2d97a1e4f7e237886317b38912860872e113 (patch)
tree7a5894e2f3f4f409b5acbf04553e3bc01754ce2a /misc/findutils
parentf1ca6e4a169b54f644036a11f6de4130d43d4e37 (diff)
downloadports-284e2d97a1e4f7e237886317b38912860872e113.tar.gz
ports-284e2d97a1e4f7e237886317b38912860872e113.zip
- update to 4.5.11, see changelog [1]
- add upstream bug-fix that preventing some segfaults [2] while here: - trim Makefile header - remove indefinite article from COMMENT - convert to optionsng (NLS case) [1] http://lists.gnu.org/archive/html/bug-findutils/2013-02/msg00000.html [2] http://savannah.gnu.org/bugs/?38239 PR: 175812 Submitted by: Klaus Aehlig <aehlig@linta.de> (maintainer)
Notes
Notes: svn path=/head/; revision=312401
Diffstat (limited to 'misc/findutils')
-rw-r--r--misc/findutils/Makefile17
-rw-r--r--misc/findutils/distinfo8
-rw-r--r--misc/findutils/files/patch-gnulib-lib-fdopendir.c5
-rw-r--r--misc/findutils/files/patch-locate__locate.c154
4 files changed, 167 insertions, 17 deletions
diff --git a/misc/findutils/Makefile b/misc/findutils/Makefile
index 54b833f4fc77..630e213efdde 100644
--- a/misc/findutils/Makefile
+++ b/misc/findutils/Makefile
@@ -1,13 +1,8 @@
-# New ports collection makefile for: findutils
-# Date created: 29 March 2000
-# Whom: Robert Withrow <witr@rwwa.com>
-#
+# Created by: Robert Withrow <witr@rwwa.com>
# $FreeBSD$
-#
PORTNAME= findutils
-PORTVERSION= 4.5.10
-PORTREVISION= 2
+PORTVERSION= 4.5.11
CATEGORIES= misc
MASTER_SITES= ${MASTER_SITE_GNU_ALPHA}
MASTER_SITE_SUBDIR= findutils
@@ -15,7 +10,7 @@ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${DISTNAME}${EXTRACT_SUFX}.sig
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= aehlig@linta.de
-COMMENT= The GNU find utilities
+COMMENT= GNU find utilities
SIG_FILES= ${DISTNAME}${EXTRACT_SUFX}.sig
GNU_CONFIGURE= yes
@@ -24,7 +19,9 @@ LDFLAGS+= -L${LOCALBASE}/lib
USE_GMAKE= yes
-.if !defined(WITHOUT_NLS)
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MNLS}
USE_GETTEXT= yes
PLIST_SUB+= NLS=""
.else
@@ -37,7 +34,7 @@ MAKE_ARGS= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
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 --git a/misc/findutils/distinfo b/misc/findutils/distinfo
index ab8d8d3daffc..93e2929bf848 100644
--- a/misc/findutils/distinfo
+++ b/misc/findutils/distinfo
@@ -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 --git a/misc/findutils/files/patch-gnulib-lib-fdopendir.c b/misc/findutils/files/patch-gnulib-lib-fdopendir.c
index 4d9811dd7a54..fbbd57d4b0df 100644
--- a/misc/findutils/files/patch-gnulib-lib-fdopendir.c
+++ b/misc/findutils/files/patch-gnulib-lib-fdopendir.c
@@ -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 --git a/misc/findutils/files/patch-locate__locate.c b/misc/findutils/files/patch-locate__locate.c
new file mode 100644
index 000000000000..a914d1bb11d1
--- /dev/null
+++ b/misc/findutils/files/patch-locate__locate.c
@@ -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) \ No newline at end of file