- new upstream bugfix release
- big cleanup in patches
This commit is contained in:
parent
96784aaa72
commit
2f25943749
@ -1 +1 @@
|
|||||||
acl_2.2.47-1.tar.gz
|
acl-2.2.49.src.tar.gz
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
--- acl-2.2.3/include/buildmacros.multilib 2003-01-28 19:00:05.000000000 -0500
|
diff --git a/include/buildmacros b/include/buildmacros
|
||||||
+++ acl-2.2.3/include/buildmacros 2003-01-28 19:04:13.000000000 -0500
|
index ab89182..17423c0 100644
|
||||||
@@ -103,8 +103,6 @@
|
--- a/include/buildmacros
|
||||||
../$(INSTALL) -m 644 $(LIBNAME).lai $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \
|
+++ b/include/buildmacros
|
||||||
|
@@ -88,8 +88,6 @@ INSTALL_LTLIB_DEV = \
|
||||||
../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
|
../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
|
||||||
../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
|
../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
|
||||||
|
if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
|
||||||
- ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
|
- ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
|
||||||
- ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
|
- ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
|
||||||
../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so
|
../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
|
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
--- acl-2.2.32/include/buildmacros.build 2005-12-06 15:33:03.000000000 +0100
|
|
||||||
+++ acl-2.2.32/include/buildmacros 2005-12-06 15:33:06.000000000 +0100
|
|
||||||
@@ -54,7 +54,7 @@
|
|
||||||
$(LFILES:.l=.o) \
|
|
||||||
$(YFILES:%.y=%.tab.o)
|
|
||||||
|
|
||||||
-INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
|
|
||||||
+INSTALL = $(TOPDIR)/install-sh
|
|
||||||
|
|
||||||
SHELL = /bin/sh
|
|
||||||
IMAGES_DIR = $(TOPDIR)/all-images
|
|
||||||
--- acl-2.2.32/include/builddefs.in.build 2005-10-07 18:51:14.000000000 +0200
|
|
||||||
+++ acl-2.2.32/include/builddefs.in 2005-12-06 15:34:20.000000000 +0100
|
|
||||||
@@ -53,14 +53,14 @@
|
|
||||||
PKG_VERSION = @pkg_version@
|
|
||||||
PKG_PLATFORM = @pkg_platform@
|
|
||||||
PKG_DISTRIBUTION= @pkg_distribution@
|
|
||||||
-PKG_BIN_DIR = @bindir@
|
|
||||||
-PKG_SBIN_DIR = @sbindir@
|
|
||||||
-PKG_LIB_DIR = @libdir@
|
|
||||||
-PKG_DEVLIB_DIR = @libexecdir@
|
|
||||||
-PKG_INC_DIR = @includedir@
|
|
||||||
-PKG_MAN_DIR = @mandir@
|
|
||||||
-PKG_DOC_DIR = @datadir@/doc/@pkg_name@
|
|
||||||
-PKG_LOCALE_DIR = @datadir@/locale
|
|
||||||
+PKG_BIN_DIR = $(DESTDIR)@bindir@
|
|
||||||
+PKG_SBIN_DIR = $(DESTDIR)@sbindir@
|
|
||||||
+PKG_LIB_DIR = $(DESTDIR)@libdir@
|
|
||||||
+PKG_DEVLIB_DIR = $(DESTDIR)@libexecdir@
|
|
||||||
+PKG_INC_DIR = $(DESTDIR)@includedir@
|
|
||||||
+PKG_MAN_DIR = $(DESTDIR)@mandir@
|
|
||||||
+PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@-@pkg_version@
|
|
||||||
+PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale
|
|
||||||
|
|
||||||
CC = @cc@
|
|
||||||
AWK = @awk@
|
|
@ -1,6 +1,8 @@
|
|||||||
--- acl-2.2.39/include/builddefs.in.build 2006-06-20 02:51:25.000000000 -0400
|
diff --git a/include/builddefs.in b/include/builddefs.in
|
||||||
+++ acl-2.2.39/include/builddefs.in 2006-07-05 12:34:05.000000000 -0400
|
index d054a56..10b0cd4 100644
|
||||||
@@ -26,14 +26,14 @@
|
--- a/include/builddefs.in
|
||||||
|
+++ b/include/builddefs.in
|
||||||
|
@@ -28,14 +28,14 @@ PKG_RELEASE = @pkg_release@
|
||||||
PKG_VERSION = @pkg_version@
|
PKG_VERSION = @pkg_version@
|
||||||
PKG_PLATFORM = @pkg_platform@
|
PKG_PLATFORM = @pkg_platform@
|
||||||
PKG_DISTRIBUTION= @pkg_distribution@
|
PKG_DISTRIBUTION= @pkg_distribution@
|
||||||
@ -23,14 +25,16 @@
|
|||||||
|
|
||||||
CC = @cc@
|
CC = @cc@
|
||||||
AWK = @awk@
|
AWK = @awk@
|
||||||
--- acl-2.2.39/include/buildmacros.build 2006-07-05 12:32:07.000000000 -0400
|
diff --git a/include/buildmacros b/include/buildmacros
|
||||||
+++ acl-2.2.39/include/buildmacros 2006-07-05 12:32:07.000000000 -0400
|
index 17423c0..3118a17 100644
|
||||||
@@ -26,7 +26,7 @@
|
--- a/include/buildmacros
|
||||||
|
+++ b/include/buildmacros
|
||||||
|
@@ -40,7 +40,7 @@ OBJECTS = $(ASFILES:.s=.o) \
|
||||||
$(LFILES:.l=.o) \
|
$(LFILES:.l=.o) \
|
||||||
$(YFILES:%.y=%.tab.o)
|
$(YFILES:%.y=%.tab.o)
|
||||||
|
|
||||||
-INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
|
-INSTALL = $(TOPDIR)/include/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
|
||||||
+INSTALL = $(TOPDIR)/install-sh
|
+INSTALL = $(TOPDIR)/include/install-sh
|
||||||
|
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
IMAGES_DIR = $(TOPDIR)/all-images
|
IMAGES_DIR = $(TOPDIR)/all-images
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
--- acl-2.2.39/man/man1/getfacl.1 2007-07-26 15:40:16.000000000 +0200
|
|
||||||
+++ acl-2.2.39mzk/man/man1/getfacl.1 2007-07-26 15:42:24.000000000 +0200
|
|
||||||
@@ -115,6 +115,9 @@ Use an alternative tabular output format
|
|
||||||
Do not strip leading slash characters (`/'). The default behavior is to
|
|
||||||
strip leading slash characters.
|
|
||||||
.TP
|
|
||||||
+.I \-n, \-\-numeric
|
|
||||||
+List numeric user and group IDs
|
|
||||||
+.TP
|
|
||||||
.I \-v, \-\-version
|
|
||||||
Print the version of getfacl and exit.
|
|
||||||
.TP
|
|
@ -1,3 +1,5 @@
|
|||||||
|
NOTE: This patch is not being used any more since 2.2.39-8.
|
||||||
|
|
||||||
--- /dev/null 2007-08-22 11:21:03.626521839 -0400
|
--- /dev/null 2007-08-22 11:21:03.626521839 -0400
|
||||||
+++ acl-2.2.39/libacl/acl_nfs4_get_who.c 2007-08-22 12:02:13.000000000 -0400
|
+++ acl-2.2.39/libacl/acl_nfs4_get_who.c 2007-08-22 12:02:13.000000000 -0400
|
||||||
@@ -0,0 +1,103 @@
|
@@ -0,0 +1,103 @@
|
||||||
|
@ -1,121 +0,0 @@
|
|||||||
diff -urp acl-2.2.39/getfacl/getfacl.c acl-2.2.39mzk/getfacl/getfacl.c
|
|
||||||
--- acl-2.2.39/getfacl/getfacl.c 2007-07-25 13:12:13.000000000 +0200
|
|
||||||
+++ acl-2.2.39mzk/getfacl/getfacl.c 2007-07-25 12:51:14.000000000 +0200
|
|
||||||
@@ -42,7 +42,7 @@
|
|
||||||
#define POSIXLY_CORRECT_STR "POSIXLY_CORRECT"
|
|
||||||
|
|
||||||
#if !POSIXLY_CORRECT
|
|
||||||
-# define CMD_LINE_OPTIONS "dRLP"
|
|
||||||
+# define CMD_LINE_OPTIONS "aceEsRLPtpndvh"
|
|
||||||
#endif
|
|
||||||
#define POSIXLY_CMD_LINE_OPTIONS "d"
|
|
||||||
|
|
||||||
@@ -554,18 +554,18 @@ void help(void)
|
|
||||||
#if !POSIXLY_CORRECT
|
|
||||||
} else {
|
|
||||||
printf(_(
|
|
||||||
-" --access display the file access control list only\n"
|
|
||||||
+" -a, --access display the file access control list only\n"
|
|
||||||
" -d, --default display the default access control list only\n"
|
|
||||||
-" --omit-header do not display the comment header\n"
|
|
||||||
-" --all-effective print all effective rights\n"
|
|
||||||
-" --no-effective print no effective rights\n"
|
|
||||||
-" --skip-base skip files that only have the base entries\n"
|
|
||||||
+" -c, --omit-header do not display the comment header\n"
|
|
||||||
+" -e, --all-effective print all effective rights\n"
|
|
||||||
+" -E, --no-effective print no effective rights\n"
|
|
||||||
+" -s, --skip-base skip files that only have the base entries\n"
|
|
||||||
" -R, --recursive recurse into subdirectories\n"
|
|
||||||
" -L, --logical logical walk, follow symbolic links\n"
|
|
||||||
-" -P, --physical physical walk, do not follow symbolic links\n"
|
|
||||||
-" --tabular use tabular output format\n"
|
|
||||||
-" --numeric print numeric user/group identifiers\n"
|
|
||||||
-" --absolute-names don't strip leading '/' in pathnames\n"));
|
|
||||||
+" -P, --physical physical walk, do not follow symbolic links\n"
|
|
||||||
+" -t, --tabular use tabular output format\n"
|
|
||||||
+" -n, --numeric print numeric user/group identifiers\n"
|
|
||||||
+" -p, --absolute-names don't strip leading '/' in pathnames\n"));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
printf(_(
|
|
||||||
diff -urp acl-2.2.39/man/man1/getfacl.1 acl-2.2.39mzk/man/man1/getfacl.1
|
|
||||||
--- acl-2.2.39/man/man1/getfacl.1 2006-06-20 08:51:25.000000000 +0200
|
|
||||||
+++ acl-2.2.39mzk/man/man1/getfacl.1 2007-07-25 13:17:17.000000000 +0200
|
|
||||||
@@ -12,10 +12,10 @@ getfacl \- get file access control lists
|
|
||||||
.SH SYNOPSIS
|
|
||||||
|
|
||||||
.B getfacl
|
|
||||||
-[\-dRLPvh] file ...
|
|
||||||
+[\-aceEsRLPrpndvh] file ...
|
|
||||||
|
|
||||||
.B getfacl
|
|
||||||
-[\-dRLPvh] \-
|
|
||||||
+[\-aceEsRLPrpndvh] \-
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
For each file, getfacl displays the file name, owner, the group,
|
|
||||||
@@ -78,22 +78,22 @@ accessing the file mode.
|
|
||||||
|
|
||||||
.SS OPTIONS
|
|
||||||
.TP 4
|
|
||||||
-.I \-\-access
|
|
||||||
+.I \-a, \-\-access
|
|
||||||
Display the file access control list.
|
|
||||||
.TP
|
|
||||||
.I \-d, \-\-default
|
|
||||||
Display the default access control list.
|
|
||||||
.TP
|
|
||||||
-.I \-\-omit-header
|
|
||||||
+.I \-c, \-\-omit-header
|
|
||||||
Do not display the comment header (the first three lines of each file's output).
|
|
||||||
.TP
|
|
||||||
-.I \-\-all-effective
|
|
||||||
+.I \-e, \-\-all-effective
|
|
||||||
Print all effective rights comments, even if identical to the rights defined by the ACL entry.
|
|
||||||
.TP
|
|
||||||
-.I \-\-no-effective
|
|
||||||
+.I \-E, \-\-no-effective
|
|
||||||
Do not print effective rights comments.
|
|
||||||
.TP
|
|
||||||
-.I \-\-skip-base
|
|
||||||
+.I \-s, \-\-skip-base
|
|
||||||
Skip files that only have the base ACL entries (owner, group, others).
|
|
||||||
.TP
|
|
||||||
.I \-R, \-\-recursive
|
|
||||||
@@ -108,17 +108,17 @@ subdirectories.
|
|
||||||
Physical walk, skip all symbolic links. This also skips symbolic link
|
|
||||||
arguments.
|
|
||||||
.TP
|
|
||||||
-.I \-\-tabular
|
|
||||||
+.I \-t, \-\-tabular
|
|
||||||
Use an alternative tabular output format. The ACL and the default ACL are displayed side by side. Permissions that are ineffective due to the ACL mask entry are displayed capitalized. The entry tag names for the ACL_USER_OBJ and ACL_GROUP_OBJ entries are also displayed in capital letters, which helps in spotting those entries.
|
|
||||||
.TP
|
|
||||||
-.I \-\-absolute-names
|
|
||||||
+.I \-p, \-\-absolute-names
|
|
||||||
Do not strip leading slash characters (`/'). The default behavior is to
|
|
||||||
strip leading slash characters.
|
|
||||||
.TP
|
|
||||||
-.I \-\-version
|
|
||||||
+.I \-v, \-\-version
|
|
||||||
Print the version of getfacl and exit.
|
|
||||||
.TP
|
|
||||||
-.I \-\-help
|
|
||||||
+.I \-h, \-\-help
|
|
||||||
Print help explaining the command line options.
|
|
||||||
.TP
|
|
||||||
.I \-\-
|
|
||||||
Only in acl-2.2.39/getfacl: getfacl.c.params
|
|
||||||
diff -urp acl-2.2.39/man/man1/getfacl.1 acl-2.2.39mzk/man/man1/getfacl.1
|
|
||||||
--- acl-2.2.39/man/man1/getfacl.1 2007-07-26 15:40:16.000000000 +0200
|
|
||||||
+++ acl-2.2.39mzk/man/man1/getfacl.1 2007-07-26 15:42:24.000000000 +0200
|
|
||||||
@@ -115,6 +115,9 @@ Use an alternative tabular output format
|
|
||||||
Do not strip leading slash characters (`/'). The default behavior is to
|
|
||||||
strip leading slash characters.
|
|
||||||
.TP
|
|
||||||
+.I \-n, \-\-numeric
|
|
||||||
+List numeric user and group IDs
|
|
||||||
+.TP
|
|
||||||
.I \-v, \-\-version
|
|
||||||
Print the version of getfacl and exit.
|
|
||||||
.TP
|
|
||||||
Only in acl-2.2.39/man/man1: getfacl.1.params
|
|
@ -1,24 +0,0 @@
|
|||||||
--- acl-2.2.39/setfacl/parse.c.path_max 2006-06-20 02:51:25.000000000 -0400
|
|
||||||
+++ acl-2.2.39/setfacl/parse.c 2006-07-05 15:27:21.000000000 -0400
|
|
||||||
@@ -24,6 +24,7 @@
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <errno.h>
|
|
||||||
+#include <limits.h>
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
@@ -412,7 +413,12 @@
|
|
||||||
gid_t *gid_p)
|
|
||||||
{
|
|
||||||
int c;
|
|
||||||
- char linebuf[1024];
|
|
||||||
+ /*
|
|
||||||
+ Max PATH_MAX bytes even for UTF-8 path names and additional 9
|
|
||||||
+ bytes for "# file: ".Not a good solution but for now it is the
|
|
||||||
+ best I can do without too much impact on the code. [tw]
|
|
||||||
+ */
|
|
||||||
+ char linebuf[(4*PATH_MAX)+9];
|
|
||||||
char *cp;
|
|
||||||
char *p;
|
|
||||||
int comments_read = 0;
|
|
@ -1,11 +0,0 @@
|
|||||||
--- acl-2.2.45/setfacl/setfacl.c.segfault 2008-01-28 13:56:36.000000000 +0100
|
|
||||||
+++ acl-2.2.45/setfacl/setfacl.c 2008-01-28 13:58:08.000000000 +0100
|
|
||||||
@@ -679,6 +679,8 @@ int main(int argc, char *argv[])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while (optind < argc) {
|
|
||||||
+ if(!seq)
|
|
||||||
+ goto synopsis;
|
|
||||||
if (seq_empty(seq))
|
|
||||||
goto synopsis;
|
|
||||||
saw_files = 1;
|
|
@ -1,235 +0,0 @@
|
|||||||
--- acl-2.2.39/getfacl/getfacl.c.walk 2006-06-20 08:51:25.000000000 +0200
|
|
||||||
+++ acl-2.2.39/getfacl/getfacl.c 2007-03-21 10:52:07.000000000 +0100
|
|
||||||
@@ -34,7 +34,6 @@
|
|
||||||
#include <dirent.h>
|
|
||||||
#include <libgen.h>
|
|
||||||
#include <getopt.h>
|
|
||||||
-#include <ftw.h>
|
|
||||||
#include <locale.h>
|
|
||||||
#include "config.h"
|
|
||||||
#include "user_group.h"
|
|
||||||
@@ -70,9 +69,9 @@
|
|
||||||
const char *progname;
|
|
||||||
const char *cmd_line_options;
|
|
||||||
|
|
||||||
-int opt_recursive; /* recurse into sub-directories? */
|
|
||||||
-int opt_walk_logical; /* always follow symbolic links */
|
|
||||||
-int opt_walk_physical; /* never follow symbolic links */
|
|
||||||
+int opt_recursive = 0; /* recurse into sub-directories? */
|
|
||||||
+int opt_walk_logical = 0; /* always follow symbolic links */
|
|
||||||
+int opt_walk_physical = 0; /* never follow symbolic links */
|
|
||||||
int opt_print_acl = 0;
|
|
||||||
int opt_print_default_acl = 0;
|
|
||||||
int opt_strip_leading_slash = 1;
|
|
||||||
@@ -562,71 +561,140 @@
|
|
||||||
|
|
||||||
|
|
||||||
static int __errors;
|
|
||||||
-int __do_print(const char *file, const struct stat *stat,
|
|
||||||
- int flag, struct FTW *ftw)
|
|
||||||
+
|
|
||||||
+int walk_tree(const char *file)
|
|
||||||
{
|
|
||||||
- int saved_errno = errno;
|
|
||||||
+ static int level = 0;
|
|
||||||
+ static int link_count = 0;
|
|
||||||
+ DIR *dir;
|
|
||||||
+ struct dirent *entry;
|
|
||||||
+ struct stat buf;
|
|
||||||
+ char path[FILENAME_MAX];
|
|
||||||
+ char path2[FILENAME_MAX];
|
|
||||||
+ char path3[FILENAME_MAX];
|
|
||||||
+ char *dir_name;
|
|
||||||
+ size_t len;
|
|
||||||
+ ssize_t slen;
|
|
||||||
+ int res;
|
|
||||||
|
|
||||||
/* Process the target of a symbolic link, and traverse the link,
|
|
||||||
only if doing a logical walk, or if the symbolic link was
|
|
||||||
specified on the command line. Always skip symbolic links if
|
|
||||||
doing a physical walk. */
|
|
||||||
|
|
||||||
- if (S_ISLNK(stat->st_mode) &&
|
|
||||||
- (opt_walk_physical || (ftw->level > 0 && !opt_walk_logical)))
|
|
||||||
+ len = strlen(file);
|
|
||||||
+ /* check for FILENAME_MAX */
|
|
||||||
+ if (len >= FILENAME_MAX) {
|
|
||||||
+ fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
|
|
||||||
+ strerror(ENAMETOOLONG));
|
|
||||||
+ __errors++;
|
|
||||||
return 0;
|
|
||||||
+ }
|
|
||||||
+ /* string ends with '/', remove it and restart */
|
|
||||||
+ if (len > 1 && file[len-1] == '/') {
|
|
||||||
+ strncpy(path, file, len);
|
|
||||||
+ path[len-1] = '\0'; /* overwrite slash */
|
|
||||||
+ return walk_tree(path);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- if (do_print(file, stat))
|
|
||||||
- __errors++;
|
|
||||||
+ if (level > 0 && !opt_recursive)
|
|
||||||
+ return 0;
|
|
||||||
|
|
||||||
- if (flag == FTW_DNR && opt_recursive) {
|
|
||||||
- /* Item is a directory which can't be read. */
|
|
||||||
- fprintf(stderr, "%s: %s: %s\n",
|
|
||||||
- progname, file, strerror(saved_errno));
|
|
||||||
+ if (lstat(file, &buf) != 0) {
|
|
||||||
+ fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
|
|
||||||
+ strerror(errno));
|
|
||||||
+ __errors++;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* We also get here in non-recursive mode. In that case,
|
|
||||||
- return something != 0 to abort nftw. */
|
|
||||||
+ if (S_ISLNK(buf.st_mode)) {
|
|
||||||
+ /* physical means: no links at all */
|
|
||||||
+ if (opt_walk_physical)
|
|
||||||
+ return 1;
|
|
||||||
+
|
|
||||||
+ /* logical: show information or walk if points to directory
|
|
||||||
+ * also for symbolic link arguments on level 0 */
|
|
||||||
+ if (opt_walk_logical || level == 0) {
|
|
||||||
+ /* copy and append terminating '\0' */
|
|
||||||
+ strncpy(path2, file, len+1);
|
|
||||||
+
|
|
||||||
+ /* get directory name */
|
|
||||||
+ dir_name = dirname(path2);
|
|
||||||
+
|
|
||||||
+ /* get link target */
|
|
||||||
+ slen = readlink(file, path, FILENAME_MAX-1);
|
|
||||||
+ if (slen < 0) {
|
|
||||||
+ fprintf(stderr, "%s: %s: %s\n", progname,
|
|
||||||
+ xquote(file), strerror(errno));
|
|
||||||
+ __errors++;
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ path[slen] = '\0';
|
|
||||||
|
|
||||||
- if (!opt_recursive)
|
|
||||||
- return 1;
|
|
||||||
+ if (slen == 0 || path[0] == '/') {
|
|
||||||
+ /* absolute:
|
|
||||||
+ * copy and append terminating '\0' */
|
|
||||||
+ strncpy(path3, path, slen+1);
|
|
||||||
+ } else
|
|
||||||
+ /* relative */
|
|
||||||
+ snprintf(path3, FILENAME_MAX, "%s/%s",
|
|
||||||
+ dir_name, path);
|
|
||||||
+
|
|
||||||
+ if (lstat(path3, &buf) != 0) {
|
|
||||||
+ fprintf(stderr, "%s: %s: %s\n", progname,
|
|
||||||
+ xquote(path), strerror(errno));
|
|
||||||
+ __errors++;
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- return 0;
|
|
||||||
-}
|
|
||||||
+ if ((S_ISDIR(buf.st_mode) && opt_recursive &&
|
|
||||||
+ link_count < 1) || S_ISLNK(buf.st_mode)) {
|
|
||||||
+ /* walk directory or follow symlink on level
|
|
||||||
+ * 0 */
|
|
||||||
+ link_count++;
|
|
||||||
+ res = walk_tree(path3);
|
|
||||||
+ link_count--;
|
|
||||||
+ if (res != 1)
|
|
||||||
+ return 0;
|
|
||||||
+ } else
|
|
||||||
+ if (do_print(path3, &buf))
|
|
||||||
+ __errors++;
|
|
||||||
|
|
||||||
-char *resolve_symlinks(const char *file)
|
|
||||||
-{
|
|
||||||
- static char buffer[4096];
|
|
||||||
- char *path = NULL;
|
|
||||||
- ssize_t len;
|
|
||||||
-
|
|
||||||
- len = readlink(file, buffer, sizeof(buffer)-1);
|
|
||||||
- if (len < 0) {
|
|
||||||
- if (errno == EINVAL) /* not a symlink, use given path */
|
|
||||||
- path = (char *)file;
|
|
||||||
- } else {
|
|
||||||
- buffer[len+1] = '\0';
|
|
||||||
- path = buffer;
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
- return path;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-int walk_tree(const char *file)
|
|
||||||
-{
|
|
||||||
- const char *p;
|
|
||||||
|
|
||||||
- __errors = 0;
|
|
||||||
- if ((p = resolve_symlinks(file)) == NULL) {
|
|
||||||
- fprintf(stderr, "%s: %s: %s\n", progname,
|
|
||||||
- xquote(file), strerror(errno));
|
|
||||||
- __errors++;
|
|
||||||
- } else if (nftw(p, __do_print, 0, opt_walk_logical? 0 : FTW_PHYS) < 0) {
|
|
||||||
- fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
|
|
||||||
- strerror(errno));
|
|
||||||
+ if (do_print(file, &buf))
|
|
||||||
__errors++;
|
|
||||||
+
|
|
||||||
+ /* it is a directory, walk */
|
|
||||||
+ if (S_ISDIR(buf.st_mode)) {
|
|
||||||
+ dir = opendir(file);
|
|
||||||
+ if (!dir) {
|
|
||||||
+ fprintf(stderr, "%s: %s: %s\n", progname,
|
|
||||||
+ xquote(file), strerror(errno));
|
|
||||||
+ __errors++;
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ level++;
|
|
||||||
+ while ((entry = readdir(dir)) != NULL) {
|
|
||||||
+ if (! strcmp(entry->d_name, ".") ||
|
|
||||||
+ ! strcmp(entry->d_name, ".."))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ snprintf(path, FILENAME_MAX, "%s/%s", file,
|
|
||||||
+ entry->d_name);
|
|
||||||
+
|
|
||||||
+ /* ignore result, walk every entry */
|
|
||||||
+ res = walk_tree(path);
|
|
||||||
+ }
|
|
||||||
+ level--;
|
|
||||||
+
|
|
||||||
+ closedir(dir);
|
|
||||||
}
|
|
||||||
- return __errors;
|
|
||||||
+
|
|
||||||
+ return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
@@ -762,15 +830,22 @@
|
|
||||||
if (*line == '\0')
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- had_errors += walk_tree(line);
|
|
||||||
+ /* ignore result of walk_tree, use __errors */
|
|
||||||
+ __errors = 0;
|
|
||||||
+ walk_tree(line);
|
|
||||||
+ had_errors += __errors;
|
|
||||||
}
|
|
||||||
if (!feof(stdin)) {
|
|
||||||
fprintf(stderr, _("%s: Standard input: %s\n"),
|
|
||||||
progname, strerror(errno));
|
|
||||||
had_errors++;
|
|
||||||
}
|
|
||||||
- } else
|
|
||||||
- had_errors += walk_tree(argv[optind]);
|
|
||||||
+ } else {
|
|
||||||
+ /* ignore result of walk_tree, use __errors */
|
|
||||||
+ __errors = 0;
|
|
||||||
+ walk_tree(argv[optind]);
|
|
||||||
+ had_errors += __errors;
|
|
||||||
+ }
|
|
||||||
optind++;
|
|
||||||
} while (optind < argc);
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
--- acl-2.2.45/setfacl/setfacl.c.old 2007-11-08 14:04:42.000000000 +0100
|
|
||||||
+++ acl-2.2.45/setfacl/setfacl.c 2007-11-08 14:05:43.000000000 +0100
|
|
||||||
@@ -144,7 +144,7 @@ restore(
|
|
||||||
if (error < 0)
|
|
||||||
goto fail;
|
|
||||||
if (error == 0)
|
|
||||||
- return 0;
|
|
||||||
+ return status;
|
|
||||||
|
|
||||||
if (path_p == NULL) {
|
|
||||||
if (filename) {
|
|
||||||
@@ -158,6 +158,7 @@ restore(
|
|
||||||
"aborting\n"),
|
|
||||||
progname, backup_line);
|
|
||||||
}
|
|
||||||
+ status = 1;
|
|
||||||
goto getout;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -176,6 +177,7 @@ restore(
|
|
||||||
fprintf(stderr, _("%s: %s: %s in line %d\n"),
|
|
||||||
progname, xquote(filename), strerror(errno),
|
|
||||||
line);
|
|
||||||
+ status = 1;
|
|
||||||
goto getout;
|
|
||||||
}
|
|
||||||
|
|
@ -1,154 +0,0 @@
|
|||||||
--- acl-2.2.47_old/getfacl/getfacl.c 2008-02-07 04:39:57.000000000 +0100
|
|
||||||
+++ acl-2.2.47/getfacl/getfacl.c 2008-07-31 12:23:10.000000000 +0200
|
|
||||||
@@ -43,7 +43,7 @@
|
|
||||||
#define POSIXLY_CORRECT_STR "POSIXLY_CORRECT"
|
|
||||||
|
|
||||||
#if !POSIXLY_CORRECT
|
|
||||||
-# define CMD_LINE_OPTIONS "dRLP"
|
|
||||||
+# define CMD_LINE_OPTIONS "aceEsRLPtpndvh"
|
|
||||||
#endif
|
|
||||||
#define POSIXLY_CMD_LINE_OPTIONS "d"
|
|
||||||
|
|
||||||
@@ -555,23 +555,23 @@ void help(void)
|
|
||||||
#if !POSIXLY_CORRECT
|
|
||||||
} else {
|
|
||||||
printf(_(
|
|
||||||
-" --access display the file access control list only\n"
|
|
||||||
+" -a, --access display the file access control list only\n"
|
|
||||||
" -d, --default display the default access control list only\n"
|
|
||||||
-" --omit-header do not display the comment header\n"
|
|
||||||
-" --all-effective print all effective rights\n"
|
|
||||||
-" --no-effective print no effective rights\n"
|
|
||||||
-" --skip-base skip files that only have the base entries\n"
|
|
||||||
+" -c, --omit-header do not display the comment header\n"
|
|
||||||
+" -e, --all-effective print all effective rights\n"
|
|
||||||
+" -E, --no-effective print no effective rights\n"
|
|
||||||
+" -s, --skip-base skip files that only have the base entries\n"
|
|
||||||
" -R, --recursive recurse into subdirectories\n"
|
|
||||||
" -L, --logical logical walk, follow symbolic links\n"
|
|
||||||
" -P, --physical physical walk, do not follow symbolic links\n"
|
|
||||||
-" --tabular use tabular output format\n"
|
|
||||||
-" --numeric print numeric user/group identifiers\n"
|
|
||||||
-" --absolute-names don't strip leading '/' in pathnames\n"));
|
|
||||||
+" -t, --tabular use tabular output format\n"
|
|
||||||
+" -n, --numeric print numeric user/group identifiers\n"
|
|
||||||
+" -p, --absolute-names don't strip leading '/' in pathnames\n"));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
printf(_(
|
|
||||||
-" --version print version and exit\n"
|
|
||||||
-" --help this help text\n"));
|
|
||||||
+" -v, --version print version and exit\n"
|
|
||||||
+" -h, --help this help text\n"));
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
--- acl-2.2.47_old/man/man1/getfacl.1 2008-02-07 04:39:57.000000000 +0100
|
|
||||||
+++ acl-2.2.47/man/man1/getfacl.1 2008-07-31 11:23:45.000000000 +0200
|
|
||||||
@@ -12,10 +12,10 @@ getfacl \- get file access control lists
|
|
||||||
.SH SYNOPSIS
|
|
||||||
|
|
||||||
.B getfacl
|
|
||||||
-[\-dRLPvh] file ...
|
|
||||||
+[\-aceEsRLPrpndvh] file ...
|
|
||||||
|
|
||||||
.B getfacl
|
|
||||||
-[\-dRLPvh] \-
|
|
||||||
+[\-aceEsRLPrpndvh] \-
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
For each file, getfacl displays the file name, owner, the group,
|
|
||||||
@@ -78,22 +78,22 @@ accessing the file mode.
|
|
||||||
|
|
||||||
.SS OPTIONS
|
|
||||||
.TP 4
|
|
||||||
-.I \-\-access
|
|
||||||
+.I \-a, \-\-access
|
|
||||||
Display the file access control list.
|
|
||||||
.TP
|
|
||||||
.I \-d, \-\-default
|
|
||||||
Display the default access control list.
|
|
||||||
.TP
|
|
||||||
-.I \-\-omit-header
|
|
||||||
+.I \-c, \-\-omit-header
|
|
||||||
Do not display the comment header (the first three lines of each file's output).
|
|
||||||
.TP
|
|
||||||
-.I \-\-all-effective
|
|
||||||
+.I \-e, \-\-all-effective
|
|
||||||
Print all effective rights comments, even if identical to the rights defined by the ACL entry.
|
|
||||||
.TP
|
|
||||||
-.I \-\-no-effective
|
|
||||||
+.I \-E, \-\-no-effective
|
|
||||||
Do not print effective rights comments.
|
|
||||||
.TP
|
|
||||||
-.I \-\-skip-base
|
|
||||||
+.I \-s, \-\-skip-base
|
|
||||||
Skip files that only have the base ACL entries (owner, group, others).
|
|
||||||
.TP
|
|
||||||
.I \-R, \-\-recursive
|
|
||||||
@@ -109,17 +109,20 @@ Physical walk, do not follow symbolic li
|
|
||||||
link arguments.
|
|
||||||
Only effective in combination with \-R.
|
|
||||||
.TP
|
|
||||||
-.I \-\-tabular
|
|
||||||
+.I \-t, \-\-tabular
|
|
||||||
Use an alternative tabular output format. The ACL and the default ACL are displayed side by side. Permissions that are ineffective due to the ACL mask entry are displayed capitalized. The entry tag names for the ACL_USER_OBJ and ACL_GROUP_OBJ entries are also displayed in capital letters, which helps in spotting those entries.
|
|
||||||
.TP
|
|
||||||
-.I \-\-absolute-names
|
|
||||||
+.I \-p, \-\-absolute-names
|
|
||||||
Do not strip leading slash characters (`/'). The default behavior is to
|
|
||||||
strip leading slash characters.
|
|
||||||
.TP
|
|
||||||
-.I \-\-version
|
|
||||||
+.I \-n, \-\-numeric
|
|
||||||
+List numeric user and group IDs
|
|
||||||
+.TP
|
|
||||||
+.I \-v, \-\-version
|
|
||||||
Print the version of getfacl and exit.
|
|
||||||
.TP
|
|
||||||
-.I \-\-help
|
|
||||||
+.I \-h, \-\-help
|
|
||||||
Print help explaining the command line options.
|
|
||||||
.TP
|
|
||||||
.I \-\-
|
|
||||||
--- acl-2.2.47_old/man/man1/setfacl.1 2008-02-07 04:39:57.000000000 +0100
|
|
||||||
+++ acl-2.2.47/man/man1/setfacl.1 2008-07-31 13:53:29.000000000 +0200
|
|
||||||
@@ -115,10 +115,10 @@ This also skips symbolic link arguments.
|
|
||||||
Only effective in combination with \-R.
|
|
||||||
This option cannot be mixed with `\-\-restore'.
|
|
||||||
.TP 4
|
|
||||||
-.I \-\-version
|
|
||||||
+.I \-v, \-\-version
|
|
||||||
Print the version of setfacl and exit.
|
|
||||||
.TP 4
|
|
||||||
-.I \-\-help
|
|
||||||
+.I \-h, \-\-help
|
|
||||||
Print help explaining the command line options.
|
|
||||||
.TP 4
|
|
||||||
.I \-\-
|
|
||||||
--- acl-2.2.47_old/setfacl/setfacl.c 2008-07-31 11:23:18.000000000 +0200
|
|
||||||
+++ acl-2.2.47/setfacl/setfacl.c 2008-07-31 12:23:13.000000000 +0200
|
|
||||||
@@ -42,10 +42,10 @@ extern int do_set(const char *path_p, co
|
|
||||||
|
|
||||||
/* '-' stands for `process non-option arguments in loop' */
|
|
||||||
#if !POSIXLY_CORRECT
|
|
||||||
-# define CMD_LINE_OPTIONS "-:bkndm:M:x:X:RLP"
|
|
||||||
+# define CMD_LINE_OPTIONS "-:bkndvhm:M:x:X:RLP"
|
|
||||||
# define CMD_LINE_SPEC "[-bkndRLP] { -m|-M|-x|-X ... } file ..."
|
|
||||||
#endif
|
|
||||||
-#define POSIXLY_CMD_LINE_OPTIONS "-:bkndm:M:x:X:"
|
|
||||||
+#define POSIXLY_CMD_LINE_OPTIONS "-:bkndvhm:M:x:X:"
|
|
||||||
#define POSIXLY_CMD_LINE_SPEC "[-bknd] {-m|-M|-x|-X ... } file ..."
|
|
||||||
|
|
||||||
struct option long_options[] = {
|
|
||||||
@@ -265,8 +265,8 @@ void help(void)
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
printf(_(
|
|
||||||
-" --version print version and exit\n"
|
|
||||||
-" --help this help text\n"));
|
|
||||||
+" -v, --version print version and exit\n"
|
|
||||||
+" -h, --help this help text\n"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
28
acl.spec
28
acl.spec
@ -1,17 +1,13 @@
|
|||||||
Summary: Access control list utilities
|
Summary: Access control list utilities
|
||||||
Name: acl
|
Name: acl
|
||||||
Version: 2.2.47
|
Version: 2.2.49
|
||||||
Release: 5%{?dist}
|
Release: 1%{?dist}
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: libattr-devel >= 2.4.1
|
BuildRequires: libattr-devel >= 2.4.1
|
||||||
BuildRequires: autoconf, libtool >= 1.5, gettext, gawk
|
BuildRequires: autoconf, libtool >= 1.5, gettext, gawk
|
||||||
Source: ftp://oss.sgi.com/projects/xfs/cmd_tars/acl_%{version}-1.tar.gz
|
Source: http://download.savannah.gnu.org/releases-noredirect/acl/acl-%{version}.src.tar.gz
|
||||||
Patch0: acl-2.2.3-multilib.patch
|
Patch0: acl-2.2.3-multilib.patch
|
||||||
Patch1: acl-2.2.39-build.patch
|
Patch1: acl-2.2.39-build.patch
|
||||||
Patch2: acl-2.2.39-path_max.patch
|
|
||||||
Patch3: acl-2.2.47-params.patch
|
|
||||||
Patch4: acl-2.2.45-exitcode.patch
|
|
||||||
Patch5: acl-2.2.39-segfault.patch
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
URL: http://oss.sgi.com/projects/xfs/
|
URL: http://oss.sgi.com/projects/xfs/
|
||||||
@ -46,12 +42,8 @@ defined in POSIX 1003.1e draft standard 17.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .multilib
|
%patch0 -p1
|
||||||
%patch1 -p1 -b .build
|
%patch1 -p1
|
||||||
%patch2 -p1 -b .path_max
|
|
||||||
%patch3 -p1 -b .params
|
|
||||||
%patch4 -p1 -b .exitcode
|
|
||||||
%patch5 -p1 -b .segfault
|
|
||||||
autoconf
|
autoconf
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -84,7 +76,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%postun -n libacl -p /sbin/ldconfig
|
%postun -n libacl -p /sbin/ldconfig
|
||||||
|
|
||||||
%files -f %{name}.lang
|
%files -f %{name}.lang
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_bindir}/chacl
|
%{_bindir}/chacl
|
||||||
%{_bindir}/getfacl
|
%{_bindir}/getfacl
|
||||||
%{_bindir}/setfacl
|
%{_bindir}/setfacl
|
||||||
@ -95,7 +87,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_mandir}/man5/acl.5*
|
%{_mandir}/man5/acl.5*
|
||||||
|
|
||||||
%files -n libacl-devel
|
%files -n libacl-devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
/%{_lib}/libacl.so
|
/%{_lib}/libacl.so
|
||||||
%{_includedir}/acl
|
%{_includedir}/acl
|
||||||
%{_includedir}/sys/acl.h
|
%{_includedir}/sys/acl.h
|
||||||
@ -103,10 +95,14 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_mandir}/man3/acl_*
|
%{_mandir}/man3/acl_*
|
||||||
|
|
||||||
%files -n libacl
|
%files -n libacl
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
/%{_lib}/libacl.so.*
|
/%{_lib}/libacl.so.*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Dec 20 2009 Kamil Dudka <kdudka@redhat.com> 2.2.49-1
|
||||||
|
- new upstream bugfix release
|
||||||
|
- big cleanup in patches
|
||||||
|
|
||||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.47-5
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.47-5
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user