rpms/coreutils/devel .cvsignore, 1.22, 1.23 coreutils-4.5.3-langinfo.patch, 1.2, 1.3 coreutils-4.5.3-sysinfo.patch, 1.6, 1.7 coreutils-5.2.1-runuser.patch, 1.26, 1.27 coreutils-6.10-configuration.patch, 1.22, 1.23 coreutils-6.10-manpages.patch, 1.5, 1.6 coreutils-7.4-sttytcsadrain.patch, 1.1, 1.2 coreutils-i18n.patch, 1.38, 1.39 coreutils-pam.patch, 1.16, 1.17 coreutils-selinux.patch, 1.58, 1.59 coreutils-setsid.patch, 1.3, 1.4 coreutils.spec, 1.273, 1.274 sources, 1.24, 1.25 coreutils-7.5-df-localdevice.patch, 1.1, NONE coreutils-7.5-kojiutimensatskip.patch, 1.3, NONE coreutils-7.5-ls-inode.patch, 1.3, NONE
Ondrej Vasik
ovasik at fedoraproject.org
Sat Sep 12 09:28:51 UTC 2009
Author: ovasik
Update of /cvs/extras/rpms/coreutils/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv16031
Modified Files:
.cvsignore coreutils-4.5.3-langinfo.patch
coreutils-4.5.3-sysinfo.patch coreutils-5.2.1-runuser.patch
coreutils-6.10-configuration.patch
coreutils-6.10-manpages.patch
coreutils-7.4-sttytcsadrain.patch coreutils-i18n.patch
coreutils-pam.patch coreutils-selinux.patch
coreutils-setsid.patch coreutils.spec sources
Removed Files:
coreutils-7.5-df-localdevice.patch
coreutils-7.5-kojiutimensatskip.patch
coreutils-7.5-ls-inode.patch
Log Message:
new upstream bugfix release 7.6, removed applied patches,defuzzed the rest
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/.cvsignore,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -p -r1.22 -r1.23
--- .cvsignore 21 Aug 2009 07:00:58 -0000 1.22
+++ .cvsignore 12 Sep 2009 09:28:48 -0000 1.23
@@ -1 +1 @@
-coreutils-7.5.tar.xz
+coreutils-7.6.tar.xz
coreutils-4.5.3-langinfo.patch:
date.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
Index: coreutils-4.5.3-langinfo.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-4.5.3-langinfo.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- coreutils-4.5.3-langinfo.patch 27 Oct 2005 15:05:07 -0000 1.2
+++ coreutils-4.5.3-langinfo.patch 12 Sep 2009 09:28:48 -0000 1.3
@@ -3,16 +3,16 @@
@@ -451,14 +451,7 @@
format = DATE_FMT_LANGINFO ();
if (! *format)
- {
-- /* Do not wrap the following literal format string with _(...).
-- For example, suppose LC_ALL is unset, LC_TIME="POSIX",
-- and LANG="ko_KR". In that case, POSIX says that LC_TIME
-- determines the format and contents of date and time strings
-- written by date, which means "date" must generate output
-- using the POSIX locale; but adding _() would cause "date"
-- to use a Korean translation of the format. */
-- format = "%a %b %e %H:%M:%S %Z %Y";
-+ format = dcgettext(NULL, N_("%a %b %e %H:%M:%S %Z %Y"), LC_TIME);
- }
+ {
+- /* Do not wrap the following literal format string with _(...).
+- For example, suppose LC_ALL is unset, LC_TIME="POSIX",
+- and LANG="ko_KR". In that case, POSIX says that LC_TIME
+- determines the format and contents of date and time strings
+- written by date, which means "date" must generate output
+- using the POSIX locale; but adding _() would cause "date"
+- to use a Korean translation of the format. */
+- format = "%a %b %e %H:%M:%S %Z %Y";
++ format = dcgettext(NULL, N_("%a %b %e %H:%M:%S %Z %Y"), LC_TIME);
+ }
}
coreutils-4.5.3-sysinfo.patch:
uname.c | 36 +++++++++++++++++++++++++++++++++---
1 file changed, 33 insertions(+), 3 deletions(-)
Index: coreutils-4.5.3-sysinfo.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-4.5.3-sysinfo.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- coreutils-4.5.3-sysinfo.patch 25 Jan 2008 17:48:11 -0000 1.6
+++ coreutils-4.5.3-sysinfo.patch 12 Sep 2009 09:28:48 -0000 1.7
@@ -17,9 +17,9 @@
+ char *element = unknown;
#if HAVE_SYSINFO && defined SI_ARCHITECTURE
{
- static char processor[257];
- if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
- element = processor;
+ static char processor[257];
+ if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
+ element = processor;
}
+#else
+ {
@@ -54,10 +54,10 @@
+ char *element = unknown;
#if HAVE_SYSINFO && defined SI_PLATFORM
{
- static char hardware_platform[257];
+ static char hardware_platform[257];
@@ -356,6 +378,14 @@
- hardware_platform, sizeof hardware_platform))
- element = hardware_platform;
+ hardware_platform, sizeof hardware_platform))
+ element = hardware_platform;
}
+#else
+ {
coreutils-5.2.1-runuser.patch:
coreutils-7.0/AUTHORS | 1
coreutils-7.0/README | 8 -
coreutils-7.0/man/Makefile.am | 1
coreutils-7.0/man/runuser.x | 12 ++
coreutils-7.0/src/Makefile.am | 8 +
coreutils-7.0/src/su.c | 137 +++++++++++++++++++++++++++++++---
coreutils-7.5/tests/misc/help-version | 1
7 files changed, 153 insertions(+), 15 deletions(-)
Index: coreutils-5.2.1-runuser.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-5.2.1-runuser.patch,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -p -r1.26 -r1.27
--- coreutils-5.2.1-runuser.patch 21 Aug 2009 07:00:58 -0000 1.26
+++ coreutils-5.2.1-runuser.patch 12 Sep 2009 09:28:48 -0000 1.27
@@ -121,11 +121,11 @@ diff -urNp coreutils-7.0.orig/src/su.c c
static void run_shell (char const *, char const *, char **, size_t,
- const struct passwd *)
-+ const struct passwd *
++ const struct passwd *
+#ifdef RUNUSER
-+ , gid_t *groups, int num_groups
++ , gid_t *groups, int num_groups
+#endif
-+ )
++ )
#ifdef USE_PAM
;
#else
@@ -180,9 +180,9 @@ diff -urNp coreutils-7.0.orig/src/su.c c
-change_identity (const struct passwd *pw)
+change_identity (const struct passwd *pw
+#ifdef RUNUSER
-+ , gid_t *groups, int num_groups
++ , gid_t *groups, int num_groups
+#endif
-+ )
++ )
{
#ifdef HAVE_INITGROUPS
+ int rc = 0;
@@ -202,12 +202,12 @@ diff -urNp coreutils-7.0.orig/src/su.c c
static void
run_shell (char const *shell, char const *command, char **additional_args,
-- size_t n_additional_args, const struct passwd *pw)
-+ size_t n_additional_args, const struct passwd *pw
+- size_t n_additional_args, const struct passwd *pw)
++ size_t n_additional_args, const struct passwd *pw
+#ifdef RUNUSER
-+ , gid_t *groups, int num_groups
++ , gid_t *groups, int num_groups
+#endif
-+ )
++ )
{
size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1;
char const **args = xnmalloc (n_args, sizeof *args);
@@ -218,9 +218,9 @@ diff -urNp coreutils-7.0.orig/src/su.c c
- change_identity (pw);
+ change_identity (pw
+#ifdef RUNUSER
-+ , groups, num_groups
++ , groups, num_groups
+#endif
-+ );
++ );
pam_end(pamh, 0);
if (!same_session)
setsid ();
@@ -279,43 +279,43 @@ diff -urNp coreutils-7.0.orig/src/su.c c
- while ((optc = getopt_long (argc, argv, "c:flmps:", longopts, NULL)) != -1)
+ while ((optc = getopt_long (argc, argv, "c:flmps:"
+#ifdef RUNUSER
-+ "g:G:"
++ "g:G:"
+#endif
-+ , longopts, NULL)) != -1)
++ , longopts, NULL)) != -1)
{
switch (optc)
- {
+ {
@@ -697,6 +773,28 @@ main (int argc, char **argv)
- shell = optarg;
- break;
+ shell = optarg;
+ break;
+#ifdef RUNUSER
-+ case 'g':
-+ gr = getgrnam(optarg);
-+ if (!gr)
-+ error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
-+ use_gid = 1;
-+ groups[0] = gr->gr_gid;
-+ break;
++ case 'g':
++ gr = getgrnam(optarg);
++ if (!gr)
++ error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
++ use_gid = 1;
++ groups[0] = gr->gr_gid;
++ break;
+
-+ case 'G':
-+ num_supp_groups++;
-+ if (num_supp_groups >= NGROUPS_MAX)
-+ error (EXIT_FAILURE, 0,
-+ _("Can't specify more than %d supplemental groups"),
-+ NGROUPS_MAX - 1);
-+ gr = getgrnam(optarg);
-+ if (!gr)
-+ error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
-+ groups[num_supp_groups] = gr->gr_gid;
-+ break;
++ case 'G':
++ num_supp_groups++;
++ if (num_supp_groups >= NGROUPS_MAX)
++ error (EXIT_FAILURE, 0,
++ _("Can't specify more than %d supplemental groups"),
++ NGROUPS_MAX - 1);
++ gr = getgrnam(optarg);
++ if (!gr)
++ error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
++ groups[num_supp_groups] = gr->gr_gid;
++ break;
+#endif
+
- case_GETOPT_HELP_CHAR;
+ case_GETOPT_HELP_CHAR;
- case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
+ case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
@@ -735,7 +833,20 @@ main (int argc, char **argv)
- : DEFAULT_SHELL);
+ : DEFAULT_SHELL);
endpwent ();
- if (!correct_password (pw))
@@ -343,17 +343,17 @@ diff -urNp coreutils-7.0.orig/src/su.c c
- change_identity (pw);
+ change_identity (pw
+#ifdef RUNUSER
-+ , groups, num_supp_groups
++ , groups, num_supp_groups
+#endif
-+ );
++ );
#endif
- run_shell (shell, command, argv + optind, MAX (0, argc - optind), pw);
+ run_shell (shell, command, argv + optind, MAX (0, argc - optind), pw
+#ifdef RUNUSER
-+ , groups, num_supp_groups
++ , groups, num_supp_groups
+#endif
-+ );
++ );
}
diff -urNp coreutils-7.5.orig/tests/misc/help-version coreutils-7.5/tests/misc/help-version
--- coreutils-7.5.orig/tests/misc/help-version
coreutils-6.10-configuration.patch:
coreutils-6.11/tests/test-lib.sh | 4 ++--
coreutils-7.1/src/ls.c | 8 ++++----
coreutils-7.2/gnulib-tests/gnulib.mk | 12 ++++++------
3 files changed, 12 insertions(+), 12 deletions(-)
Index: coreutils-6.10-configuration.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-6.10-configuration.patch,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -p -r1.22 -r1.23
--- coreutils-6.10-configuration.patch 21 Aug 2009 07:00:58 -0000 1.22
+++ coreutils-6.10-configuration.patch 12 Sep 2009 09:28:48 -0000 1.23
@@ -27,17 +27,6 @@ diff -urNp coreutils-7.2-orig/gnulib-tes
## end gnulib module strverscmp-tests
-diff -urN coreutils-6.11-orig/tests/mkdir/selinux coreutils-6.11/tests/mkdir/selinux
---- coreutils-6.11-orig/tests/mkdir/selinux 2008-04-19 23:34:23.000000000 +0200
-+++ coreutils-6.11/tests/mkdir/selinux 2008-04-22 13:23:50.000000000 +0200
-@@ -38,6 +28,7 @@
- # successfully, in spite of the invalid context string.
-
- . $srcdir/test-lib.sh
-+require_selinux_
-
- c=invalid-selinux-context
- msg="failed to set default file creation context to \`$c':"
diff -urNp coreutils-6.11-orig/tests/test-lib.sh coreutils-6.11/tests/test-lib.sh
--- coreutils-6.11-orig/tests/test-lib.sh 2008-04-19 23:34:23.000000000 +0200
+++ coreutils-6.11/tests/test-lib.sh 2008-04-24 14:18:59.000000000 +0200
coreutils-6.10-manpages.patch:
md5sum.c | 3 +++
1 file changed, 3 insertions(+)
Index: coreutils-6.10-manpages.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-6.10-manpages.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- coreutils-6.10-manpages.patch 24 Feb 2009 11:53:36 -0000 1.5
+++ coreutils-6.10-manpages.patch 12 Sep 2009 09:28:48 -0000 1.6
@@ -2,7 +2,7 @@ diff -urNp coreutils-6.12-orig/src/md5su
--- coreutils-6.12-orig/src/md5sum.c 2008-05-26 08:40:33.000000000 +0200
+++ coreutils-6.12/src/md5sum.c 2008-10-21 16:07:28.000000000 +0200
@@ -175,6 +175,9 @@ With no FILE, or when FILE is -, read st
- fputs (_("\
+ fputs (_("\
-t, --text read in text mode (default)\n\
"), stdout);
+ fputs (_("\
coreutils-7.4-sttytcsadrain.patch:
stty.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: coreutils-7.4-sttytcsadrain.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-7.4-sttytcsadrain.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- coreutils-7.4-sttytcsadrain.patch 11 Jun 2009 08:26:29 -0000 1.1
+++ coreutils-7.4-sttytcsadrain.patch 12 Sep 2009 09:28:49 -0000 1.2
@@ -2,11 +2,11 @@ diff -urNp coreutils-7.4-orig/src/stty.c
--- coreutils-7.4-orig/src/stty.c 2009-04-24 14:41:19.000000000 +0200
+++ coreutils-7.4/src/stty.c 2009-06-11 10:15:41.000000000 +0200
@@ -1001,7 +1001,7 @@ main (int argc, char **argv)
- spurious difference in an uninitialized portion of the structure. */
+ spurious difference in an uninitialized portion of the structure. */
DECLARE_ZEROED_AGGREGATE (struct termios, new_mode);
- if (tcsetattr (STDIN_FILENO, TCSADRAIN, &mode))
+ if (tcsetattr (STDIN_FILENO, TCSANOW, &mode))
- error (EXIT_FAILURE, errno, "%s", device_name);
+ error (EXIT_FAILURE, errno, "%s", device_name);
/* POSIX (according to Zlotnick's book) tcsetattr returns zero if
coreutils-i18n.patch:
coreutils-6.11/src/join.c | 105 +++-
coreutils-6.12-orig/src/join.c | 5
coreutils-6.12/tests/Makefile.am | 5
coreutils-6.12/tests/misc/cut | 6
coreutils-6.8+/lib/linebuffer.h | 8
coreutils-6.8+/src/cut.c | 420 ++++++++++++++++++-
coreutils-6.8+/src/expand.c | 160 +++++++
coreutils-6.8+/src/fold.c | 309 +++++++++++++-
coreutils-6.8+/src/join.c | 233 +++++++++--
coreutils-6.8+/src/pr.c | 431 ++++++++++++++++++--
coreutils-6.8+/src/sort.c | 673 ++++++++++++++++++++++++++++++--
coreutils-6.8+/src/unexpand.c | 226 ++++++++++
coreutils-6.8+/src/uniq.c | 259 +++++++++++-
coreutils-6.8+/tests/misc/mb1.I | 4
coreutils-6.8+/tests/misc/mb1.X | 4
coreutils-6.8+/tests/misc/mb2.I | 4
coreutils-6.8+/tests/misc/mb2.X | 4
coreutils-6.8+/tests/misc/sort-mb-tests | 58 ++
18 files changed, 2736 insertions(+), 178 deletions(-)
View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.38 -r 1.39 coreutils-i18n.patchIndex: coreutils-i18n.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-i18n.patch,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -p -r1.38 -r1.39
--- coreutils-i18n.patch 10 Sep 2009 10:36:58 -0000 1.38
+++ coreutils-i18n.patch 12 Sep 2009 09:28:49 -0000 1.39
@@ -187,14 +187,6 @@ diff -urN coreutils-6.12-orig/tests/Make
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "expand"
-@@ -183,6 +200,7 @@
- stops = num_start + len - 1;
- }
- }
-+
- else
- {
- error (0, 0, _("tab size contains invalid character(s): %s"),
@@ -365,6 +383,142 @@
}
}
@@ -414,7 +406,7 @@ diff -urN coreutils-6.12-orig/tests/Make
char *sep;
- for (; (sep = memchr (ptr, tab, lim - ptr)) != NULL; ptr = sep + 1)
+ for (; (sep = memchr (ptr, t, lim - ptr)) != NULL; ptr = sep + 1)
- extract_field (line, ptr, sep - ptr);
+ extract_field (line, ptr, sep - ptr);
}
else
@@ -229,6 +248,148 @@
@@ -586,115 +578,100 @@ diff -urN coreutils-6.12-orig/tests/Make
outlist = outlist_head.next;
if (outlist)
-@@ -397,12 +628,12 @@
- if (o->file == 0)
- {
- if (line1 == &uni_blank)
-- {
-+ {
- line = line2;
- field = join_field_2;
- }
- else
-- {
-+ {
- line = line1;
- field = join_field_1;
- }
@@ -416,7 +647,7 @@
- o = o->next;
- if (o == NULL)
- break;
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- }
+ o = o->next;
+ if (o == NULL)
+ break;
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ }
putchar ('\n');
}
@@ -434,23 +665,23 @@
prfield (join_field_1, line1);
for (i = 0; i < join_field_1 && i < line1->nfields; ++i)
- {
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- prfield (i, line1);
- }
+ {
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ prfield (i, line1);
+ }
for (i = join_field_1 + 1; i < line1->nfields; ++i)
- {
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- prfield (i, line1);
- }
+ {
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ prfield (i, line1);
+ }
for (i = 0; i < join_field_2 && i < line2->nfields; ++i)
- {
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- prfield (i, line2);
- }
+ {
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ prfield (i, line2);
+ }
for (i = join_field_2 + 1; i < line2->nfields; ++i)
- {
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- prfield (i, line2);
- }
+ {
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ prfield (i, line2);
+ }
putchar ('\n');
@@ -859,20 +1090,41 @@
- case 't':
- {
-- unsigned char newtab = optarg[0];
-- if (! newtab)
-+ char *newtab;
-+ size_t newtablen;
-+ if (! optarg[0])
- error (EXIT_FAILURE, 0, _("empty tab"));
-- if (optarg[1])
-+ newtab = xstrdup (optarg);
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ mbstate_t state;
-+
-+ memset (&state, 0, sizeof (mbstate_t));
-+ newtablen = mbrtowc (NULL, newtab,
-+ strnlen (newtab, MB_LEN_MAX),
-+ &state);
-+ if (newtablen == (size_t) 0
-+ || newtablen == (size_t) -1
-+ || newtablen == (size_t) -2)
-+ newtablen = 1;
-+ }
-+ else
-+#endif
-+ newtablen = 1;
-+
-+ if (newtablen == 1 && newtab[1])
-+ {
-+ if (STREQ (newtab, "\\0"))
-+ newtab[0] = '\0';
-+ }
-+ if (tab != NULL && strcmp (tab, newtab))
- {
-- if (STREQ (optarg, "\\0"))
-- newtab = '\0';
-- else
-- error (EXIT_FAILURE, 0, _("multi-character tab %s"),
-- quote (optarg));
-+ free (newtab);
-+ error (EXIT_FAILURE, 0, _("incompatible tabs"));
- }
-- if (0 <= tab && tab != newtab)
-- error (EXIT_FAILURE, 0, _("incompatible tabs"));
- tab = newtab;
-+ tablen = newtablen;
- }
- break;
-
+ case 't':
+ {
+- unsigned char newtab = optarg[0];
+- if (! newtab)
++ char *newtab;
++ size_t newtablen;
++ if (! optarg[0])
+ error (EXIT_FAILURE, 0, _("empty tab"));
+- if (optarg[1])
++ newtab = xstrdup (optarg);
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ mbstate_t state;
++
++ memset (&state, 0, sizeof (mbstate_t));
++ newtablen = mbrtowc (NULL, newtab,
++ strnlen (newtab, MB_LEN_MAX),
++ &state);
++ if (newtablen == (size_t) 0
++ || newtablen == (size_t) -1
++ || newtablen == (size_t) -2)
++ newtablen = 1;
++ }
++ else
++#endif
++ newtablen = 1;
++
++ if (newtablen == 1 && newtab[1])
++ {
++ if (STREQ (newtab, "\\0"))
++ newtab[0] = '\0';
++ }
++ if (tab != NULL && strcmp (tab, newtab))
[...2648 lines suppressed...]
-+ break;
++ case character_mode:
++ cut_characters_or_cut_bytes_no_split (stream);
++ break;
+
-+ case field_mode:
-+ cut_fields_mb (stream);
-+ break;
++ case field_mode:
++ cut_fields_mb (stream);
++ break;
+
-+ default:
-+ abort ();
-+ }
++ default:
++ abort ();
++ }
+ }
else
- cut_fields (stream);
+#endif
+ {
+ if (operating_mode == field_mode)
-+ cut_fields (stream);
++ cut_fields (stream);
+ else
-+ cut_bytes (stream);
++ cut_bytes (stream);
+ }
}
@@ -3925,75 +3902,75 @@ diff -urNp coreutils-6.11-orig/src/join.
set_program_name (argv[0]);
@@ -770,7 +1090,6 @@
switch (optc)
- {
- case 'b':
-- case 'c':
- /* Build the byte list. */
- if (operating_mode != undefined_mode)
- FATAL_ERROR (_("only one type of list may be specified"));
+ {
+ case 'b':
+- case 'c':
+ /* Build the byte list. */
+ if (operating_mode != undefined_mode)
+ FATAL_ERROR (_("only one type of list may be specified"));
@@ -778,6 +1097,14 @@
- spec_list_string = optarg;
- break;
+ spec_list_string = optarg;
+ break;
-+ case 'c':
-+ /* Build the character list. */
-+ if (operating_mode != undefined_mode)
-+ FATAL_ERROR (_("only one type of list may be specified"));
-+ operating_mode = character_mode;
-+ spec_list_string = optarg;
-+ break;
++ case 'c':
++ /* Build the character list. */
++ if (operating_mode != undefined_mode)
++ FATAL_ERROR (_("only one type of list may be specified"));
++ operating_mode = character_mode;
++ spec_list_string = optarg;
++ break;
+
- case 'f':
- /* Build the field list. */
- if (operating_mode != undefined_mode)
+ case 'f':
+ /* Build the field list. */
+ if (operating_mode != undefined_mode)
@@ -789,10 +1116,35 @@
- case 'd':
- /* New delimiter. */
- /* Interpret -d '' to mean `use the NUL byte as the delimiter.' */
-- if (optarg[0] != '\0' && optarg[1] != '\0')
-- FATAL_ERROR (_("the delimiter must be a single character"));
-- delim = optarg[0];
-- delim_specified = true;
-+ {
+ case 'd':
+ /* New delimiter. */
+ /* Interpret -d '' to mean `use the NUL byte as the delimiter.' */
+- if (optarg[0] != '\0' && optarg[1] != '\0')
+- FATAL_ERROR (_("the delimiter must be a single character"));
+- delim = optarg[0];
+- delim_specified = true;
++ {
+#if HAVE_MBRTOWC
-+ if(MB_CUR_MAX > 1)
-+ {
-+ mbstate_t state;
-+
-+ memset (&state, '\0', sizeof(mbstate_t));
-+ delimlen = mbrtowc (&wcdelim, optarg, strnlen(optarg, MB_LEN_MAX), &state);
-+
-+ if (delimlen == (size_t)-1 || delimlen == (size_t)-2)
-+ ++force_singlebyte_mode;
-+ else
-+ {
-+ delimlen = (delimlen < 1) ? 1 : delimlen;
-+ if (wcdelim != L'\0' && *(optarg + delimlen) != '\0')
-+ FATAL_ERROR (_("the delimiter must be a single character"));
-+ memcpy (mbdelim, optarg, delimlen);
-+ }
-+ }
-+
-+ if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
-+#endif
-+ {
-+ if (optarg[0] != '\0' && optarg[1] != '\0')
-+ FATAL_ERROR (_("the delimiter must be a single character"));
-+ delim = (unsigned char) optarg[0];
-+ }
-+ delim_specified = true;
-+ }
- break;
++ if(MB_CUR_MAX > 1)
++ {
++ mbstate_t state;
++
++ memset (&state, '\0', sizeof(mbstate_t));
++ delimlen = mbrtowc (&wcdelim, optarg, strnlen(optarg, MB_LEN_MAX), &state);
++
++ if (delimlen == (size_t)-1 || delimlen == (size_t)-2)
++ ++force_singlebyte_mode;
++ else
++ {
++ delimlen = (delimlen < 1) ? 1 : delimlen;
++ if (wcdelim != L'\0' && *(optarg + delimlen) != '\0')
++ FATAL_ERROR (_("the delimiter must be a single character"));
++ memcpy (mbdelim, optarg, delimlen);
++ }
++ }
++
++ if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
++#endif
++ {
++ if (optarg[0] != '\0' && optarg[1] != '\0')
++ FATAL_ERROR (_("the delimiter must be a single character"));
++ delim = (unsigned char) optarg[0];
++ }
++ delim_specified = true;
++ }
+ break;
- case OUTPUT_DELIMITER_OPTION:
+ case OUTPUT_DELIMITER_OPTION:
@@ -805,6 +1157,7 @@
- break;
+ break;
- case 'n':
-+ byte_mode_character_aware = 1;
- break;
+ case 'n':
++ byte_mode_character_aware = 1;
+ break;
- case 's':
+ case 's':
@@ -827,7 +1180,7 @@
if (operating_mode == undefined_mode)
FATAL_ERROR (_("you must specify a list of bytes, characters, or fields"));
@@ -4027,20 +4004,20 @@ diff -urNp coreutils-6.11-orig/src/join.
- output_delimiter_length = 1;
+#ifdef HAVE_MBRTOWC
+ if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
-+ {
-+ output_delimiter_string = xstrdup(mbdelim);
-+ output_delimiter_length = delimlen;
-+ }
++ {
++ output_delimiter_string = xstrdup(mbdelim);
++ output_delimiter_length = delimlen;
++ }
+
+ if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
+#endif
-+ {
-+ static char dummy[2];
-+ dummy[0] = delim;
-+ dummy[1] = '\0';
-+ output_delimiter_string = dummy;
-+ output_delimiter_length = 1;
-+ }
++ {
++ static char dummy[2];
++ dummy[0] = delim;
++ dummy[1] = '\0';
++ output_delimiter_string = dummy;
++ output_delimiter_length = 1;
++ }
}
if (optind == argc)
coreutils-pam.patch:
coreutils-6.7/doc/coreutils.texi | 36 +-----
coreutils-6.7/src/Makefile.am | 2
coreutils-6.7/src/su.c | 224 +++++++++++++++++++++++++++++++++++++--
coreutils-7.1/configure.ac | 7 +
4 files changed, 233 insertions(+), 36 deletions(-)
Index: coreutils-pam.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-pam.patch,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -p -r1.16 -r1.17
--- coreutils-pam.patch 1 Apr 2009 11:14:30 -0000 1.16
+++ coreutils-pam.patch 12 Sep 2009 09:28:49 -0000 1.17
@@ -155,15 +155,15 @@
+ char const *display = getenv ("DISPLAY");
+ char const *xauthority = getenv ("XAUTHORITY");
if (term)
- term = xstrdup (term);
+ term = xstrdup (term);
environ = xmalloc ((6 + !!term) * sizeof (char *));
environ[0] = NULL;
if (term)
- xsetenv ("TERM", term);
+ xsetenv ("TERM", term);
+ if (display)
-+ xsetenv ("DISPLAY", display);
++ xsetenv ("DISPLAY", display);
+ if (xauthority)
-+ xsetenv ("XAUTHORITY", xauthority);
++ xsetenv ("XAUTHORITY", xauthority);
xsetenv ("HOME", pw->pw_dir);
xsetenv ("SHELL", shell);
xsetenv ("USER", pw->pw_name);
@@ -218,8 +218,8 @@
static void
run_shell (char const *shell, char const *command, char **additional_args,
-- size_t n_additional_args)
-+ size_t n_additional_args, const struct passwd *pw)
+- size_t n_additional_args)
++ size_t n_additional_args, const struct passwd *pw)
{
size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1;
char const **args = xnmalloc (n_args, sizeof *args);
coreutils-selinux.patch:
configure.ac | 7 ++
man/chcon.x | 2
man/runcon.x | 2
src/chcon.c | 2
src/copy.c | 2
src/copy.h | 3
src/cp.c | 39 ++++++++++++
src/id.c | 2
src/install.c | 13 +++-
src/ls.c | 161 +++++++++++++++++++++++++++++++++++++++++++----------
src/mkdir.c | 1
src/mknod.c | 2
src/mv.c | 1
src/runcon.c | 2
src/stat.c | 85 +++++++++++++++++++--------
tests/misc/selinux | 2
16 files changed, 259 insertions(+), 67 deletions(-)
Index: coreutils-selinux.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-selinux.patch,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -p -r1.58 -r1.59
--- coreutils-selinux.patch 25 May 2009 12:11:34 -0000 1.58
+++ coreutils-selinux.patch 12 Sep 2009 09:28:49 -0000 1.59
@@ -38,14 +38,14 @@ diff -urNp coreutils-7.1-orig/src/copy.c
--- coreutils-7.1-orig/src/copy.c 2009-02-18 15:32:52.000000000 +0100
+++ coreutils-7.1/src/copy.c 2009-02-24 13:47:15.000000000 +0100
@@ -1830,6 +1830,8 @@ copy_internal (char const *src_name, cha
- {
- /* Here, we are crossing a file system boundary and cp's -x option
- is in effect: so don't copy the contents of this directory. */
+ {
+ /* Here, we are crossing a file system boundary and cp's -x option
+ is in effect: so don't copy the contents of this directory. */
+ if (x->preserve_security_context)
-+ restore_default_fscreatecon_or_die ();
- }
++ restore_default_fscreatecon_or_die ();
+ }
else
- {
+ {
diff -urNp coreutils-7.1-orig/src/copy.h coreutils-7.1/src/copy.h
--- coreutils-7.1-orig/src/copy.h 2009-02-18 15:32:52.000000000 +0100
+++ coreutils-7.1/src/copy.h 2009-02-24 13:47:15.000000000 +0100
@@ -102,60 +102,60 @@ diff -urNp coreutils-7.1-orig/src/cp.c c
- while ((c = getopt_long (argc, argv, "abdfHilLnprst:uvxPRS:T",
+ while ((c = getopt_long (argc, argv, "abcdfHilLnprst:uvxPRS:TZ:",
- long_opts, NULL))
- != -1)
+ long_opts, NULL))
+ != -1)
{
@@ -945,6 +951,16 @@ main (int argc, char **argv)
- copy_contents = true;
- break;
+ copy_contents = true;
+ break;
-+ case 'c':
-+ if ( x.set_security_context ) {
-+ (void) fprintf(stderr, "%s: cannot force target context and preserve it\n", argv[0]);
-+ exit( 1 );
-+ }
-+ else if (selinux_enabled) {
-+ x.preserve_security_context = true;
-+ x.require_preserve_context = true;
-+ }
-+ break;
- case 'd':
- x.preserve_links = true;
- x.dereference = DEREF_NEVER;
++ case 'c':
++ if ( x.set_security_context ) {
++ (void) fprintf(stderr, "%s: cannot force target context and preserve it\n", argv[0]);
++ exit( 1 );
++ }
++ else if (selinux_enabled) {
++ x.preserve_security_context = true;
++ x.require_preserve_context = true;
++ }
++ break;
+ case 'd':
+ x.preserve_links = true;
+ x.dereference = DEREF_NEVER;
@@ -1054,6 +1070,27 @@ main (int argc, char **argv)
- x.one_file_system = true;
- break;
+ x.one_file_system = true;
+ break;
+
-+ case 'Z':
-+ /* politely decline if we're not on a selinux-enabled kernel. */
-+ if( !selinux_enabled ) {
-+ fprintf( stderr, "Warning: ignoring --context (-Z). "
-+ "It requires a SELinux enabled kernel.\n" );
-+ break;
-+ }
-+ if ( x.preserve_security_context ) {
-+ (void) fprintf(stderr, "%s: cannot force target context to '%s' and preserve it\n", argv[0], optarg);
-+ exit( 1 );
-+ }
-+ x.set_security_context = true;
-+ /* if there's a security_context given set new path
-+ components to that context, too */
-+ if ( setfscreatecon(optarg) < 0 ) {
-+ (void) fprintf(stderr, _("cannot set default security context %s\n"), optarg);
-+ exit( 1 );
-+ }
-+ break;
-+
- case 'S':
- make_backups = true;
- backup_suffix_string = optarg;
++ case 'Z':
++ /* politely decline if we're not on a selinux-enabled kernel. */
++ if( !selinux_enabled ) {
++ fprintf( stderr, "Warning: ignoring --context (-Z). "
++ "It requires a SELinux enabled kernel.\n" );
++ break;
++ }
++ if ( x.preserve_security_context ) {
++ (void) fprintf(stderr, "%s: cannot force target context to '%s' and preserve it\n", argv[0], optarg);
++ exit( 1 );
++ }
++ x.set_security_context = true;
++ /* if there's a security_context given set new path
++ components to that context, too */
++ if ( setfscreatecon(optarg) < 0 ) {
++ (void) fprintf(stderr, _("cannot set default security context %s\n"), optarg);
++ exit( 1 );
++ }
++ break;
++
+ case 'S':
+ make_backups = true;
+ backup_suffix_string = optarg;
diff -urNp coreutils-7.1-orig/src/chcon.c coreutils-7.1/src/chcon.c
--- coreutils-7.1-orig/src/chcon.c 2008-10-12 16:12:56.000000000 +0200
+++ coreutils-7.1/src/chcon.c 2009-02-24 13:47:15.000000000 +0100
@@ -346,7 +346,7 @@ Usage: %s [OPTION]... CONTEXT FILE...\n\
"),
- program_name, program_name, program_name);
+ program_name, program_name, program_name);
fputs (_("\
-Change the security context of each FILE to CONTEXT.\n\
+Change the SELinux security context of each FILE to CONTEXT.\n\
@@ -191,36 +191,36 @@ diff -urNp coreutils-7.1-orig/src/instal
- while ((optc = getopt_long (argc, argv, "bcCsDdg:m:o:pt:TvS:Z:", long_options,
+ while ((optc = getopt_long (argc, argv, "bcCsDdg:m:o:pPt:TvS:Z:", long_options,
- NULL)) != -1)
+ NULL)) != -1)
{
switch (optc)
@@ -539,6 +540,7 @@ main (int argc, char **argv)
- error (0, 0, _("WARNING: --preserve_context is deprecated; "
- "use --preserve-context instead"));
- /* fall through */
-+ case 'P':
- case PRESERVE_CONTEXT_OPTION:
- if ( ! selinux_enabled)
- {
+ error (0, 0, _("WARNING: --preserve_context is deprecated; "
+ "use --preserve-context instead"));
+ /* fall through */
++ case 'P':
+ case PRESERVE_CONTEXT_OPTION:
+ if ( ! selinux_enabled)
+ {
@@ -546,6 +548,10 @@ main (int argc, char **argv)
- "this kernel is not SELinux-enabled"));
- break;
- }
-+ if ( x.set_security_context ) {
-+ (void) fprintf(stderr, "%s: cannot force target context and preserve it\n", argv[0]);
-+ exit( 1 );
-+ }
- x.preserve_security_context = true;
- use_default_selinux_context = false;
- break;
+ "this kernel is not SELinux-enabled"));
+ break;
+ }
++ if ( x.set_security_context ) {
++ (void) fprintf(stderr, "%s: cannot force target context and preserve it\n", argv[0]);
++ exit( 1 );
++ }
+ x.preserve_security_context = true;
+ use_default_selinux_context = false;
+ break;
@@ -557,6 +563,7 @@ main (int argc, char **argv)
- break;
- }
- scontext = optarg;
-+ x.set_security_context = true;
- use_default_selinux_context = false;
- break;
- case_GETOPT_HELP_CHAR;
+ break;
+ }
+ scontext = optarg;
++ x.set_security_context = true;
+ use_default_selinux_context = false;
+ break;
+ case_GETOPT_HELP_CHAR;
@@ -990,8 +997,8 @@ Mandatory arguments to long options are
-v, --verbose print the name of each directory as it is created\n\
"), stdout);
@@ -312,21 +312,21 @@ diff -urNp coreutils-7.1-orig/src/ls.c c
@@ -1194,7 +1203,8 @@ main (int argc, char **argv)
/* Avoid following symbolic links when possible. */
if (is_colored (C_ORPHAN)
- || (is_colored (C_EXEC) && color_symlink_as_referent)
-- || (is_colored (C_MISSING) && format == long_format))
-+ || (is_colored (C_MISSING) && (format == long_format
-+ || format == security_format)))
- check_symlink_color = true;
+ || (is_colored (C_EXEC) && color_symlink_as_referent)
+- || (is_colored (C_MISSING) && format == long_format))
++ || (is_colored (C_MISSING) && (format == long_format
++ || format == security_format)))
+ check_symlink_color = true;
/* If the standard output is a controlling terminal, watch out
@@ -1241,7 +1251,7 @@ main (int argc, char **argv)
if (dereference == DEREF_UNDEFINED)
dereference = ((immediate_dirs
- || indicator_style == classify
-- || format == long_format)
-+ || format == long_format || format == security_format)
- ? DEREF_NEVER
- : DEREF_COMMAND_LINE_SYMLINK_TO_DIR);
+ || indicator_style == classify
+- || format == long_format)
++ || format == long_format || format == security_format)
+ ? DEREF_NEVER
+ : DEREF_COMMAND_LINE_SYMLINK_TO_DIR);
@@ -1261,7 +1271,7 @@ main (int argc, char **argv)
@@ -336,7 +336,7 @@ diff -urNp coreutils-7.1-orig/src/ls.c c
+ || format == security_format || print_scontext
|| print_block_size;
format_needs_type = (! format_needs_stat
- && (recursive
+ && (recursive
@@ -1292,7 +1302,7 @@ main (int argc, char **argv)
}
else
@@ -356,42 +356,42 @@ diff -urNp coreutils-7.1-orig/src/ls.c c
/* FIXME: put this in a function. */
{
@@ -1837,13 +1847,27 @@ decode_switches (int argc, char **argv)
- break;
+ break;
- case 'Z':
-- print_scontext = true;
-+ print_scontext = 1;
+ case 'Z':
+- print_scontext = true;
++ print_scontext = 1;
+ format = security_format;
- break;
+ break;
- case_GETOPT_HELP_CHAR;
+ case_GETOPT_HELP_CHAR;
- case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
+ case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
+ case CONTEXT_OPTION: /* default security context format */
-+ print_scontext = 1;
-+ format = security_format;
-+ break;
-+ case LCONTEXT_OPTION: /* long format plus security context */
-+ print_scontext = 1;
-+ format = long_format;
-+ break;
-+ case SCONTEXT_OPTION: /* short form of new security format */
-+ print_scontext = 0;
-+ format = security_format;
-+ break;
-+
- default:
- usage (LS_FAILURE);
- }
++ print_scontext = 1;
++ format = security_format;
++ break;
++ case LCONTEXT_OPTION: /* long format plus security context */
++ print_scontext = 1;
++ format = long_format;
++ break;
++ case SCONTEXT_OPTION: /* short form of new security format */
++ print_scontext = 0;
++ format = security_format;
++ break;
++
+ default:
+ usage (LS_FAILURE);
+ }
@@ -2557,8 +2581,10 @@ clear_files (void)
struct fileinfo *f = sorted_file[i];
free (f->name);
free (f->linkname);
- if (f->scontext != UNKNOWN_SECURITY_CONTEXT)
-- freecon (f->scontext);
+- freecon (f->scontext);
+ if (f->scontext != UNKNOWN_SECURITY_CONTEXT) {
-+ freecon (f->scontext);
++ freecon (f->scontext);
+ f->scontext = NULL;
+ }
}
@@ -411,49 +411,49 @@ diff -urNp coreutils-7.1-orig/src/ls.c c
- if (format == long_format || print_scontext)
+ if (format == long_format || format == security_format || print_scontext)
- {
- bool have_selinux = false;
- bool have_acl = false;
+ {
+ bool have_selinux = false;
+ bool have_acl = false;
@@ -2732,7 +2760,7 @@ gobble_file (char const *name, enum file
- err = 0;
- }
+ err = 0;
+ }
-- if (err == 0 && format == long_format)
-+ if (err == 0 && (format == long_format || format == security_format))
- {
- int n = file_has_acl (absolute_name, &f->stat);
- err = (n < 0);
+- if (err == 0 && format == long_format)
++ if (err == 0 && (format == long_format || format == security_format))
+ {
+ int n = file_has_acl (absolute_name, &f->stat);
+ err = (n < 0);
@@ -2751,7 +2779,8 @@ gobble_file (char const *name, enum file
- }
+ }
if (S_ISLNK (f->stat.st_mode)
-- && (format == long_format || check_symlink_color))
-+ && (format == long_format || format == security_format
-+ || check_symlink_color))
- {
- char *linkname;
- struct stat linkstats;
+- && (format == long_format || check_symlink_color))
++ && (format == long_format || format == security_format
++ || check_symlink_color))
+ {
+ char *linkname;
+ struct stat linkstats;
@@ -2771,6 +2800,7 @@ gobble_file (char const *name, enum file
- command line are automatically traced if not being
- listed as files. */
- if (!command_line_arg || format == long_format
-+ || format == security_format
- || !S_ISDIR (linkstats.st_mode))
- {
- /* Get the linked-to file's mode for the filetype indicator
+ command line are automatically traced if not being
+ listed as files. */
+ if (!command_line_arg || format == long_format
++ || format == security_format
+ || !S_ISDIR (linkstats.st_mode))
+ {
+ /* Get the linked-to file's mode for the filetype indicator
@@ -2810,7 +2840,7 @@ gobble_file (char const *name, enum file
- block_size_width = len;
- }
+ block_size_width = len;
+ }
- if (format == long_format)
+ if (format == long_format || format == security_format)
- {
- if (print_owner)
- {
+ {
+ if (print_owner)
+ {
@@ -3312,6 +3341,13 @@ print_current_files (void)
- print_long_format (sorted_file[i]);
- DIRED_PUTCHAR ('\n');
- }
+ print_long_format (sorted_file[i]);
+ DIRED_PUTCHAR ('\n');
+ }
+ break;
+ case security_format:
+ for (i = 0; i < cwd_n_used; i++)
@@ -514,15 +514,15 @@ diff -urNp coreutils-7.1-orig/src/ls.c c
+ DIRED_INDENT ();
+ DIRED_FPUTS (buf, stdout, p - buf);
+ size_t w = print_name_with_quoting (f->name, FILE_OR_LINK_MODE(f), f->linkok,
-+ f->stat_ok, f->filetype, &dired_obstack, f->stat.st_nlink, p - buf);
++ f->stat_ok, f->filetype, &dired_obstack, f->stat.st_nlink, p - buf);
+
+ if (f->filetype == symbolic_link) {
+ if (f->linkname) {
-+ DIRED_FPUTS_LITERAL (" -> ", stdout);
-+ print_name_with_quoting (f->linkname, f->linkmode, f->linkok - 1,
-+ f->stat_ok, f->filetype, NULL, f->stat.st_nlink, (p-buf) + w + 4 );
-+ if (indicator_style != none)
-+ print_type_indicator (f->stat_ok, f->linkmode, f->filetype);
++ DIRED_FPUTS_LITERAL (" -> ", stdout);
++ print_name_with_quoting (f->linkname, f->linkmode, f->linkok - 1,
++ f->stat_ok, f->filetype, NULL, f->stat.st_nlink, (p-buf) + w + 4 );
++ if (indicator_style != none)
++ print_type_indicator (f->stat_ok, f->linkmode, f->filetype);
+ }
+ }
+ else {
@@ -553,27 +553,27 @@ diff -urNp coreutils-7.1-orig/src/ls.c c
@@ -3543,9 +3648,6 @@ print_long_format (const struct fileinfo
if (print_author)
- format_user (f->stat.st_author, author_width, f->stat_ok);
+ format_user (f->stat.st_author, author_width, f->stat_ok);
- if (print_scontext)
-- format_user_or_group (f->scontext, 0, scontext_width);
+- format_user_or_group (f->scontext, 0, scontext_width);
-
p = buf;
}
@@ -3888,9 +3990,6 @@ print_file_name_and_frills (const struct
- human_readable (ST_NBLOCKS (f->stat), buf, human_output_opts,
- ST_NBLOCKSIZE, output_block_size));
+ human_readable (ST_NBLOCKS (f->stat), buf, human_output_opts,
+ ST_NBLOCKSIZE, output_block_size));
- if (print_scontext)
- printf ("%*s ", format == with_commas ? 0 : scontext_width, f->scontext);
-
size_t width = print_name_with_quoting (f->name, FILE_OR_LINK_MODE (f),
- f->linkok, f->stat_ok, f->filetype,
- NULL, f->stat.st_nlink, start_col);
+ f->linkok, f->stat_ok, f->filetype,
+ NULL, f->stat.st_nlink, start_col);
@@ -4105,9 +4204,6 @@ length_of_file_name_and_frills (const st
- output_block_size))
- : block_size_width);
+ output_block_size))
+ : block_size_width);
- if (print_scontext)
- len += 1 + (format == with_commas ? strlen (f->scontext) : scontext_width);
@@ -598,7 +598,7 @@ diff -urNp coreutils-7.1-orig/src/ls.c c
+"), stdout);
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
- fputs (_("\n\
+ emit_size_note ();
diff -urNp coreutils-7.1-orig/src/mkdir.c coreutils-7.1/src/mkdir.c
--- coreutils-7.1-orig/src/mkdir.c 2008-10-19 21:47:57.000000000 +0200
+++ coreutils-7.1/src/mkdir.c 2009-02-24 13:47:15.000000000 +0100
@@ -665,32 +665,32 @@ diff -urNp coreutils-7.1-orig/src/stat.c
+ if (terse)
{
- format = (terse
-- ? "%n %i %l %t %s %S %b %f %a %c %d\n"
-- : " File: \"%n\"\n"
-- " ID: %-8i Namelen: %-7l Type: %T\n"
-- "Block size: %-10s Fundamental block size: %S\n"
-- "Blocks: Total: %-10b Free: %-10f Available: %a\n"
-- "Inodes: Total: %-10c Free: %d\n");
+- ? "%n %i %l %t %s %S %b %f %a %c %d\n"
+- : " File: \"%n\"\n"
+- " ID: %-8i Namelen: %-7l Type: %T\n"
+- "Block size: %-10s Fundamental block size: %S\n"
+- "Blocks: Total: %-10b Free: %-10f Available: %a\n"
+- "Inodes: Total: %-10c Free: %d\n");
+ if (secure)
+ format = "%n %i %l %t %s %S %b %f %a %c %d %C\n";
-+ else
-+ format = "%n %i %l %t %s %S %b %f %a %c %d\n";
++ else
++ format = "%n %i %l %t %s %S %b %f %a %c %d\n";
}
+ else
-+ {
-+ if (secure)
-+ format = " File: \"%n\"\n"
-+ " ID: %-8i Namelen: %-7l Type: %T\n"
-+ "Block size: %-10s Fundamental block size: %S\n"
-+ "Blocks: Total: %-10b Free: %-10f Available: %a\n"
-+ "Inodes: Total: %-10c Free: %d\n"
-+ " S_Context: %C\n";
-+ else
-+ format = " File: \"%n\"\n"
-+ " ID: %-8i Namelen: %-7l Type: %T\n"
-+ "Block size: %-10s Fundamental block size: %S\n"
-+ "Blocks: Total: %-10b Free: %-10f Available: %a\n"
-+ "Inodes: Total: %-10c Free: %d\n";
++ {
++ if (secure)
++ format = " File: \"%n\"\n"
++ " ID: %-8i Namelen: %-7l Type: %T\n"
++ "Block size: %-10s Fundamental block size: %S\n"
++ "Blocks: Total: %-10b Free: %-10f Available: %a\n"
++ "Inodes: Total: %-10c Free: %d\n"
++ " S_Context: %C\n";
++ else
++ format = " File: \"%n\"\n"
++ " ID: %-8i Namelen: %-7l Type: %T\n"
++ "Block size: %-10s Fundamental block size: %S\n"
++ "Blocks: Total: %-10b Free: %-10f Available: %a\n"
++ "Inodes: Total: %-10c Free: %d\n";
+ }
+ }
@@ -709,46 +709,46 @@ diff -urNp coreutils-7.1-orig/src/stat.c
if (format == NULL)
{
if (terse)
-- {
-- format = "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o\n";
-- }
+- {
+- format = "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o\n";
+- }
+ {
+ if (secure)
-+ format = "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o %C\n";
-+ else
-+ format = "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o\n";
++ format = "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o %C\n";
++ else
++ format = "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o\n";
+ }
else
- {
- /* Temporary hack to match original output until conditional
+ {
+ /* Temporary hack to match original output until conditional
@@ -885,12 +904,22 @@ do_stat (char const *filename, bool ters
- }
- else
- {
-- format =
-- " File: %N\n"
-- " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n"
-- "Device: %Dh/%dd\tInode: %-10i Links: %h\n"
-- "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n"
-- "Access: %x\n" "Modify: %y\n" "Change: %z\n";
+ }
+ else
+ {
+- format =
+- " File: %N\n"
+- " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n"
+- "Device: %Dh/%dd\tInode: %-10i Links: %h\n"
+- "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n"
+- "Access: %x\n" "Modify: %y\n" "Change: %z\n";
+ if (secure)
+ format =
-+ " File: %N\n"
-+ " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n"
-+ "Device: %Dh/%dd\tInode: %-10i Links: %-5h"
-+ " Device type: %t,%T\n"
-+ "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n"
-+ " S_Context: %C\n"
-+ "Access: %x\n" "Modify: %y\n" "Change: %z\n";
++ " File: %N\n"
++ " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n"
++ "Device: %Dh/%dd\tInode: %-10i Links: %-5h"
++ " Device type: %t,%T\n"
++ "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n"
++ " S_Context: %C\n"
++ "Access: %x\n" "Modify: %y\n" "Change: %z\n";
+ else
-+ format =
-+ " File: %N\n"
-+ " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n"
-+ "Device: %Dh/%dd\tInode: %-10i Links: %h\n"
-+ "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n"
-+ "Access: %x\n" "Modify: %y\n" "Change: %z\n";
- }
- }
++ format =
++ " File: %N\n"
++ " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n"
++ "Device: %Dh/%dd\tInode: %-10i Links: %h\n"
++ "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n"
++ "Access: %x\n" "Modify: %y\n" "Change: %z\n";
+ }
+ }
}
@@ -911,6 +940,7 @@ usage (int status)
Display file or file system status.\n\
@@ -767,34 +767,34 @@ diff -urNp coreutils-7.1-orig/src/stat.c
bool ok = true;
@@ -1034,13 +1065,13 @@ main (int argc, char *argv[])
- terse = true;
- break;
+ terse = true;
+ break;
-- case 'Z': /* FIXME: remove in 2010 */
-- /* Ignore, for compatibility with distributions
-- that implemented this before upstream.
-- But warn of impending removal. */
-- error (0, 0,
-- _("the --context (-Z) option is obsolete and will be removed\n"
-- "in a future release"));
-+ case 'Z':
+- case 'Z': /* FIXME: remove in 2010 */
+- /* Ignore, for compatibility with distributions
+- that implemented this before upstream.
+- But warn of impending removal. */
+- error (0, 0,
+- _("the --context (-Z) option is obsolete and will be removed\n"
+- "in a future release"));
++ case 'Z':
+ if((is_selinux_enabled()>0))
-+ secure = 1;
-+ else {
-+ error (0, 0, _("Kernel is not SELinux enabled"));
-+ usage (EXIT_FAILURE);
-+ }
- break;
++ secure = 1;
++ else {
++ error (0, 0, _("Kernel is not SELinux enabled"));
++ usage (EXIT_FAILURE);
++ }
+ break;
- case_GETOPT_HELP_CHAR;
+ case_GETOPT_HELP_CHAR;
@@ -1060,8 +1091,8 @@ main (int argc, char *argv[])
for (i = optind; i < argc; i++)
ok &= (fs
-- ? do_statfs (argv[i], terse, format)
-- : do_stat (argv[i], terse, format));
-+ ? do_statfs (argv[i], terse, secure, format)
-+ : do_stat (argv[i], terse, secure, format));
+- ? do_statfs (argv[i], terse, format)
+- : do_stat (argv[i], terse, format));
++ ? do_statfs (argv[i], terse, secure, format)
++ : do_stat (argv[i], terse, secure, format));
exit (ok ? EXIT_SUCCESS : EXIT_FAILURE);
}
coreutils-setsid.patch:
su.c | 39 +++++++++++++++++++++++++++++++++++----
1 file changed, 35 insertions(+), 4 deletions(-)
Index: coreutils-setsid.patch
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils-setsid.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- coreutils-setsid.patch 9 Jan 2007 19:29:30 -0000 1.3
+++ coreutils-setsid.patch 12 Sep 2009 09:28:49 -0000 1.4
@@ -33,24 +33,24 @@
- || sigprocmask(SIG_UNBLOCK, &ourset, NULL)) {
+ if (!same_session)
+ {
-+ if (sigaddset(&ourset, SIGINT) || sigaddset(&ourset, SIGQUIT))
-+ {
-+ fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME);
-+ caught = 1;
-+ }
++ if (sigaddset(&ourset, SIGINT) || sigaddset(&ourset, SIGQUIT))
++ {
++ fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME);
++ caught = 1;
++ }
+ }
+ if (!caught && (sigaddset(&ourset, SIGTERM)
-+ || sigaddset(&ourset, SIGALRM)
-+ || sigaction(SIGTERM, &action, NULL)
-+ || sigprocmask(SIG_UNBLOCK, &ourset, NULL))) {
++ || sigaddset(&ourset, SIGALRM)
++ || sigaction(SIGTERM, &action, NULL)
++ || sigprocmask(SIG_UNBLOCK, &ourset, NULL))) {
fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME);
caught = 1;
}
+ if (!caught && !same_session && (sigaction(SIGINT, &action, NULL)
-+ || sigaction(SIGQUIT, &action, NULL)))
++ || sigaction(SIGQUIT, &action, NULL)))
+ {
-+ fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME);
-+ caught = 1;
++ fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME);
++ caught = 1;
+ }
}
if (!caught) {
@@ -73,17 +73,17 @@
struct passwd *pw;
struct passwd pw_copy;
@@ -656,6 +679,11 @@
- command = optarg;
- break;
+ command = optarg;
+ break;
-+ case 'C':
-+ command = optarg;
-+ request_same_session = 1;
-+ break;
++ case 'C':
++ command = optarg;
++ request_same_session = 1;
++ break;
+
- case 'f':
- fast_startup = true;
- break;
+ case 'f':
+ fast_startup = true;
+ break;
@@ -725,6 +753,9 @@
}
#endif
Index: coreutils.spec
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils.spec,v
retrieving revision 1.273
retrieving revision 1.274
diff -u -p -r1.273 -r1.274
--- coreutils.spec 10 Sep 2009 10:36:58 -0000 1.273
+++ coreutils.spec 12 Sep 2009 09:28:49 -0000 1.274
@@ -1,7 +1,7 @@
Summary: A set of basic GNU tools commonly used in shell scripts
Name: coreutils
-Version: 7.5
-Release: 6%{?dist}
+Version: 7.6
+Release: 1%{?dist}
License: GPLv3+
Group: System Environment/Base
Url: http://www.gnu.org/software/coreutils/
@@ -18,14 +18,11 @@ Source202: coreutils-su-l.pamd
Source203: coreutils-runuser-l.pamd
# From upstream
-Patch1: coreutils-7.5-kojiutimensatskip.patch
-Patch2: coreutils-7.5-ls-inode.patch
# Our patches
Patch100: coreutils-6.10-configuration.patch
Patch101: coreutils-6.10-manpages.patch
Patch102: coreutils-7.4-sttytcsadrain.patch
-Patch103: coreutils-7.5-df-localdevice.patch
# sh-utils
Patch703: sh-utils-2.0.11-dateman.patch
@@ -110,14 +107,11 @@ Libraries for coreutils package.
%setup -q
# From upstream
-%patch1 -p1 -b .kojiutimensat
-%patch2 -p1 -b .inode
# Our patches
%patch100 -p1 -b .configure
%patch101 -p1 -b .manpages
%patch102 -p1 -b .tcsadrain
-%patch103 -p1 -b .localdevice
# sh-utils
%patch703 -p1 -b .dateman
@@ -333,6 +327,10 @@ fi
%{_libdir}/coreutils
%changelog
+* Sat Sep 12 2009 Ondrej Vasik <ovasik at redhat.com> - 7.6-1
+- new upstream bugfix release 7.6, removed applied patches,
+ defuzzed the rest
+
* Thu Sep 10 2009 Ondrej Vasik <ovasik at redhat.com> - 7.5-6
- fix double free error in fold for singlebyte locales
(caused by multibyte patch)
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/sources,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -p -r1.24 -r1.25
--- sources 21 Aug 2009 07:00:59 -0000 1.24
+++ sources 12 Sep 2009 09:28:49 -0000 1.25
@@ -1 +1 @@
-ca9219c5b7efa533d552f61a3880f458 coreutils-7.5.tar.xz
+a9fb9368e40205d70fc37b9fe441e8ec coreutils-7.6.tar.xz
--- coreutils-7.5-df-localdevice.patch DELETED ---
--- coreutils-7.5-kojiutimensatskip.patch DELETED ---
--- coreutils-7.5-ls-inode.patch DELETED ---
More information about the fedora-extras-commits
mailing list