openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2007
- 1 participants
- 858 discussions
Hello community,
here is the log from the commit of package virtualbox
checked in at Fri Nov 30 16:14:15 CET 2007.
--------
--- virtualbox/virtualbox.changes 2007-11-29 16:56:59.000000000 +0100
+++ /mounts/work_src_done/STABLE/virtualbox/virtualbox.changes 2007-11-30 15:26:24.000000000 +0100
@@ -1,0 +2,5 @@
+Fri Nov 30 15:24:43 CET 2007 - anschneider(a)suse.de
+
+- Fix kmp requriement
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virtualbox.spec ++++++
--- /var/tmp/diff_new_pack.NQ7682/_old 2007-11-30 16:14:00.000000000 +0100
+++ /var/tmp/diff_new_pack.NQ7682/_new 2007-11-30 16:14:00.000000000 +0100
@@ -41,7 +41,7 @@
%endif
#
Version: 1.5.2
-Release: 6
+Release: 7
Summary: VirtualBox OSE is an Emulator
License: GPL v2 or later
Group: System/Emulators/PC
@@ -68,7 +68,7 @@
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: pwdutils
-Requires: virtualbox-kmp = %{version}
+Requires: virtualbox-kmp
%description
VirtualBox OSE is an extremely feature rich, high performance product
@@ -301,6 +301,8 @@
%{_sbindir}/mountvboxsf
%changelog
+* Fri Nov 30 2007 - anschneider(a)suse.de
+- Fix kmp requriement
* Thu Nov 29 2007 - anschneider(a)suse.de
- Fixes that virtualbox compiles with gcc 4.3
* virtualbox-gcc43-fixes.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package sysvinit
checked in at Fri Nov 30 16:13:55 CET 2007.
--------
--- sysvinit/sysvinit.changes 2007-10-31 18:38:23.000000000 +0100
+++ /mounts/work_src_done/STABLE/sysvinit/sysvinit.changes 2007-11-30 14:06:12.922666000 +0100
@@ -1,0 +2,9 @@
+Fri Nov 30 14:00:20 CET 2007 - werner(a)suse.de
+
+- New version 2.13 of killproc
+ * Add support for more than one ignore pid file (bug #343227)
+ * Close existing file descriptors on execve even if not a tty
+ * Do not fork if startpar is used as start_daemon
+ * Clean up the manual pages
+
+-------------------------------------------------------------------
Old:
----
killproc-2.12.dif
killproc-2.12.tar.bz2
New:
----
killproc-2.13.tar.bz2
sysvinit-rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sysvinit.spec ++++++
--- /var/tmp/diff_new_pack.lq3620/_old 2007-11-30 16:13:31.000000000 +0100
+++ /var/tmp/diff_new_pack.lq3620/_new 2007-11-30 16:13:31.000000000 +0100
@@ -13,7 +13,7 @@
Name: sysvinit
%define MGVER 0.9.6s
%define PDVER 2.0.2
-%define KPVER 2.12
+%define KPVER 2.13
%define SCVER 1.08
%define SIVER 2.86
%define START 0.50
@@ -22,19 +22,20 @@
PreReq: coreutils
AutoReqProv: on
Version: 2.86
-Release: 106
+Release: 112
Summary: SysV-Style init
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: sysvinit-2.86.tar.bz2
-Source2: killproc-2.12.tar.bz2
+Source2: killproc-2.13.tar.bz2
Source3: powerd-2.0.2.tar.bz2
Source4: showconsole-1.08.tar.bz2
Source5: startpar-0.50.tar.bz2
Source6: rc.powerd
+Source7: sysvinit-rpmlintrc
Patch: sysvinit-2.86.dif
Patch1: sysvinit-2.86-nfs4pidof.patch
Patch2: powerd-2.0.2.dif
-Patch3: killproc-2.12.dif
+#Patch3: killproc-2.13.dif
Patch5: sysvinit-2.86-sulogin.patch
Patch6: sysvinit-2.82-startstop.patch
Patch7: sysvinit-2.85-suse.patch
@@ -86,7 +87,7 @@
%patch -P 2
popd
pushd ../killproc-%{KPVER}
-%patch -P 3
+#%patch -P 3
popd
pushd ../showconsole-%{SCVER}
%patch -P 10
@@ -127,6 +128,7 @@
%install
rm -rf ${RPM_BUILD_ROOT}
+ mkdir ${RPM_BUILD_ROOT}
mkdir -m 755 -p ${RPM_BUILD_ROOT}/bin
mkdir -m 755 -p ${RPM_BUILD_ROOT}/dev
mkdir -m 755 -p ${RPM_BUILD_ROOT}/etc
@@ -280,7 +282,14 @@
%doc %{_mandir}/man8/sulogin.8.gz
%doc %{_mandir}/man8/telinit.8.gz
%doc %{_mandir}/man8/startpar.8.gz
+
%changelog
+* Fri Nov 30 2007 - werner(a)suse.de
+- New version 2.13 of killproc
+ * Add support for more than one ignore pid file (bug #343227)
+ * Close existing file descriptors on execve even if not a tty
+ * Do not fork if startpar is used as start_daemon
+ * Clean up the manual pages
* Wed Oct 31 2007 - werner(a)suse.de
- startpar: make iorate a double
* Wed Oct 31 2007 - werner(a)suse.de
++++++ killproc-2.12.tar.bz2 -> killproc-2.13.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/checkproc.8 new/killproc-2.13/checkproc.8
--- old/killproc-2.12/checkproc.8 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/checkproc.8 2007-11-30 14:01:09.000000000 +0100
@@ -14,23 +14,45 @@
Pidofproc \- Checks for a process by exec base name
.SH SYNOPSIS
.\"
+.HP
.B checkproc
-.RB [ "-v" "] [" "-L" "] [" "-k" "] [" "-N" "] [" -p
-.IR pid_file ]
-.RB [ -i
-.IR ingnore_file ]
-.RB [ -c
-.IR root ]
-.RB [ "-z" ]
+.RB [ \-vLkNz ]
+.RB [ \-p\ \fIpid_file\fP ]
+.RB [ \-i\ \fIingnore_file\fP ]
+.RB [ \-c\ \fIroot\fP ]
.I /full/path/to/executable
-.PP
+.HP
.B checkproc
-.RB [ "-v" "] [" "-k" "] [" "-n" "]"
+.B \-n
+.RB [ \-vk ]
.I name_of_kernel_thread
-.PP
+.HP
+.B checkproc
+.B \ \
+.RB [ \-vk ]
+.I basename_of_executable
+.HP
+.B pidofproc
+.RB [ \-LkNz ]
+.RB [ \-p\ \fIpid_file\fP ]
+.RB [ \-i\ \fIingnore_file\fP ]
+.RB [ \-c\ \fIroot\fP ]
+.I /full/path/to/executable
+.HP
.B pidofproc
+.B \-n
+.RB [ \-k ]
+.I name_of_kernel_thread
+.HP
+.B pidofproc
+.B \ \
.RB [ \-k ]
.I basename_of_executable
+.SH SYNOPSIS LSB 3.1
+.HP
+.B pidofproc
+.RB [ \-p\ \fIpid_file\fP ]
+.I /full/path/to/executable
.\"
.SH DESCRIPTION
.B checkproc
@@ -144,9 +166,7 @@
.BR killproc (8)
which changes the operation mode, e.g. the exit status of the
program will be that of
-.BR killproc (8)
-and
-.BR startproc (8).
+.BR killproc (8).
Without this option,
.B checkproc
works like
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/checkproc.c new/killproc-2.13/checkproc.c
--- old/killproc-2.12/checkproc.c 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/checkproc.c 2007-11-30 14:01:09.000000000 +0100
@@ -14,6 +14,7 @@
* Author: Werner Fink <werner(a)suse.de>
* 1998/05/06 Werner Fink: rework, added "-p" for pid files
* 2000/11/10 Werner Fink: LSB specs, logging
+ * 2007/11/29 Werner Fink: ignore more than one pid
*/
#include "libinit.h"
@@ -33,25 +34,27 @@
PROC * list;
char *fullname = NULL, * basename = NULL;
char *pid_file = NULL, *ignore_file = NULL;
- char *root = NULL;
+ char *root = NULL, *iargv[argc];
char *posixa, *posixb; /* Don't fool me with posix correct */
- int quiet = 1;
+ int quiet = 1, iargc = 0;
unsigned short flags = (DAEMON|PIDOF|NZOMBIE);
boolean pid_forced = false;
we_are = base_name(argv[0]);
+ for (c = 0; c < argc; c++)
+ iargv[c] = (char*)0;
if (!strcmp(we_are, "pidofproc"))
quiet = 0;
openlog (we_are, LOG_OPTIONS, LOG_FACILITY);
-/*
- * We should stat() fullname, because only the path identifies the executable.
- * If there is one hardlink we have only to stat() the orignal executable.
- * If there is more than one hardlink and we have to distinguish the
- * executables by their swapname. Note if the cmdline of some executables
- * will changed by the running process its self the name is not clearly
- * defined ... see libinit.c for more information.
- */
+ /*
+ * We should stat() fullname, because only the path identifies the executable.
+ * If there is one hardlink we have only to stat() the orignal executable.
+ * If there is more than one hardlink and we have to distinguish the
+ * executables by their swapname. Note if the cmdline of some executables
+ * will changed by the running process its self the name is not clearly
+ * defined ... see libinit.c for more information.
+ */
posixa = getenv("_POSIX_OPTION_ORDER"); unsetenv("_POSIX_OPTION_ORDER");
posixb = getenv("POSIXLY_CORRECT"); unsetenv("POSIXLY_CORRECT");
@@ -94,9 +97,9 @@
error(WRGSYNTAX, "Option -p requires pid file to read pid from\n");
break;
case 'i':
- /* Allocate here: address optarg (current *argv) isn't freeable */
+ /* Remember: address optarg (current *argv) */
if (optarg && optarg[0] != '-') {
- ignore_file = xstrdup(optarg);
+ iargv[iargc++] = optarg;
} else
error(LSB_WRGSYN,"Option -i requires pid file to read pid from\n");
break;
@@ -162,8 +165,8 @@
if (remember_pids(pid_file,fullname,root,flags) < 0)
exit(LSB_PROOFX);
- if (!remember && (flags & KILL))
- exit(LSB_NOPROC); /* New LSB: no pid file is no job */
+ if (!remember)
+ exit(LSB_STATUS_NOPROC); /* New LSB: no pid file is no job */
}
/* No pid file means that we have to search in /proc/ */
free(pid_file);
@@ -179,24 +182,18 @@
}
/* Check and verify the ignore file */
- errno = 0;
- if (ignore_file && stat(ignore_file, &st) < 0) {
- if (errno != ENOENT)
- warn("Can not stat %s: %s\n", ignore_file, strerror(errno));
-
- free(ignore_file);
- ignore_file = NULL;
- }
-
- if (ignore_file && !st.st_size) {
- warn("Empty ignore file %s for %s\n", ignore_file, fullname);
-
- /* No pid file means that we have to search in /proc/ */
- free(ignore_file);
- ignore_file = NULL;
- }
-
- if (ignore_file) { /* The case of having a ignore file */
+ for (c = 0; (c < iargc) && (ignore_file = iargv[c]); c++) {
+ errno = 0;
+ if (stat(ignore_file, &st) < 0) {
+ if (errno != ENOENT)
+ warn("Can not stat %s: %s\n", ignore_file, strerror(errno));
+ continue;
+ }
+ if (!st.st_size) {
+ warn("Empty ignore file %s for %s\n", ignore_file, fullname);
+ continue;
+ }
+ /* The case of having a ignore file */
if (verify_pidfile(ignore_file,fullname,root,flags,true) < 0)
exit(LSB_PROOFX);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/fsync.1 new/killproc-2.13/fsync.1
--- old/killproc-2.12/fsync.1 1970-01-01 01:00:00.000000000 +0100
+++ new/killproc-2.13/fsync.1 2007-11-30 14:01:09.000000000 +0100
@@ -0,0 +1,39 @@
+.\"
+.\" Copyright 2007 Werner Fink, 2007 SuSE GmbH Nuernberg, Germany.
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.TH FSYNC 1 "Jun 18, 2007" "Version 1.16" "The SuSE boot concept"
+.UC 1
+.SH NAME
+fsync \- synchronize the specified file with storage device
+.\"
+.SH SYNOPSIS
+.\"
+.B fsync
+.I file
+.\"
+.SH DESCRIPTION
+.B fsync
+synchronize the in-core state of the specified file with the storage device
+.\"
+.SH BUGS
+The
+.B fsync
+program uses the
+.BR fsync (2)
+function and therefore shows the same weaknesses
+by any system activity.
+\."
+.SH SEE ALSO
+.BR fsync (2),
+.BR fdatasync (2).
+\."
+.SH COPYRIGHT
+2007 Werner Fink,
+2007 SuSE GmbH Nuernberg, Germany.
+.SH AUTHOR
+Werner Fink <werner(a)suse.de>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/fsync.c new/killproc-2.13/fsync.c
--- old/killproc-2.12/fsync.c 1970-01-01 01:00:00.000000000 +0100
+++ new/killproc-2.13/fsync.c 2007-11-30 14:01:09.000000000 +0100
@@ -0,0 +1,89 @@
+/*
+ * fsync.c File data sync for the specified file
+ *
+ * Usage: fsync file
+ *
+ * Copyright 2007 Werner Fink, 2007 SUSE LINUX Products GmbH, Germany.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Author: Werner Fink <werner(a)suse.de>
+ */
+
+#ifndef __USE_STRING_INLINES
+# define __USE_STRING_INLINES
+#endif
+#ifdef __NO_STRING_INLINES
+# undef __NO_STRING_INLINES
+#endif
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <string.h>
+#include <libgen.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#define USAGE "Usage:\t%s file\n", we_are
+
+static char *we_are;
+int main(int argc, char **argv)
+{
+ int ret, fd, flags;
+ char *path, *dir = NULL;
+
+ if (argc != 2)
+ goto err;
+
+ if ((path = strdup(argv[1])) == (char*)0)
+ goto err;
+
+ dir = dirname(path);
+ flags = O_RDONLY|O_NOCTTY|O_NONBLOCK;
+
+ if (getuid() == 0)
+ flags |= O_NOATIME;
+
+ if ((fd = open(argv[1], flags)) < 0) {
+ if (errno != ENOENT)
+ goto err;
+ if ((fd = open(dir, flags|O_DIRECTORY)) < 0)
+ goto err;
+ ret = fsync(fd);
+ close(fd);
+ if (ret < 0)
+ goto err;
+ if ((fd = open(argv[1], flags)) < 0)
+ goto err;
+ }
+ ret = fsync(fd);
+ close(fd);
+ if (ret < 0)
+ goto err;
+
+ return 0;
+ /* Do this at the end for speed */
+err:
+ we_are = basename(argv[0]);
+ fprintf(stderr, USAGE);
+
+ if (argc > 1 && *(argv[1]) == '-') {
+ argv[1]++;
+ if (!strcmp(argv[1], "-help") || *(argv[1]) == 'h' || *(argv[1]) == '?') {
+ fprintf(stderr, "Do a fsync(2) on the specified file.\n\n");
+ fprintf(stderr, "Help options:\n");
+ fprintf(stderr, " -h, -?, --help display this help and exit.\n");
+ exit (0);
+ }
+ } else if (errno != 0)
+ fprintf(stderr, "%s: %s\n", argv[1], strerror(errno));
+ exit (1);
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/killproc-2.12.lsm new/killproc-2.13/killproc-2.12.lsm
--- old/killproc-2.12/killproc-2.12.lsm 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/killproc-2.12.lsm 1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-Begin3
-Title: killproc and assorted tools for boot scripts
-Version: 2.12
-Entered-date: 14DEC06
-Description: Some useful programs for a replacment of the shell functions
- daemom and killproc found in the Linux System V init suite.
- killproc(8) for signaling or terminating, checkproc(8) for
- checking and startproc(8) for starting processes.
- Each program has its own manual page.
-Keywords: killproc, startproc, checkproc, process control
-Author: Werner Fink <werner(a)suse.de>
-Maintained-by: Werner Fink <werner(a)suse.de>
-Primary-site: sunsite.unc.edu /pub/Linux/system/daemons/init
- @UNKNOWN killproc-2.12.tar.gz
-Alternate-site: ftp.suse.com /pub/projects/init
-Platforms: Linux with System VR2 or higher boot scheme
-Copying-policy: GPL
-End
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/killproc-2.13.lsm new/killproc-2.13/killproc-2.13.lsm
--- old/killproc-2.12/killproc-2.13.lsm 1970-01-01 01:00:00.000000000 +0100
+++ new/killproc-2.13/killproc-2.13.lsm 2007-11-30 14:01:09.000000000 +0100
@@ -0,0 +1,35 @@
+Begin3
+\
+Title: killproc and assorted tools for boot scripts
+\
+Version: 2.13
+\
+Entered-date: 30NOV07
+\
+Description: Some useful programs for a replacment of the shell functions
+\
+ daemom and killproc found in the Linux System V init suite.
+\
+ killproc(8) for signaling or terminating, checkproc(8) for
+\
+ checking and startproc(8) for starting processes.
+\
+ Each program has its own manual page.
+\
+Keywords: killproc, startproc, checkproc, process control
+\
+Author: Werner Fink <werner(a)suse.de>
+\
+Maintained-by: Werner Fink <werner(a)suse.de>
+\
+Primary-site: sunsite.unc.edu /pub/Linux/system/daemons/init
+\
+ @UNKNOWN killproc-2.13.tar.gz
+\
+Alternate-site: ftp.suse.com /pub/projects/init
+\
+Platforms: Linux with System VR2 or higher boot scheme
+\
+Copying-policy: GPL
+\
+End
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/killproc.8 new/killproc-2.13/killproc.8
--- old/killproc-2.12/killproc.8 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/killproc.8 2007-11-30 14:01:09.000000000 +0100
@@ -12,28 +12,41 @@
Killproc \- Send signals to processes by full path name
.SH SYNOPSIS
.\"
+.HP
.B killproc
-.RB [ "-v" "] [" "-q" "] [" "-L" "] [" "-g" | "-G" "] [" "-N" "] [" "-p
-.IR pid_file ]
-.RB [ -i
-.IR ingnore_file ]
-.RB [ -c
-.IR root ]
-.RB [ "-t<sec>" "] [" "-SIG" ]
+.RB [ \-vqLN ]
+.RB [ \-g | -G ]
+.RB [ \-p\ \fIpid_file\fP ]
+.RB [ \-i\ \fIingnore_file\fP ]
+.RB [ \-c\ \fIroot\fP ]
+.RB [ \-t\ \fI<sec>\fP ]
+.RB [ \-\fI<SIG>\fP ]
.I /full/path/to/executable
-.PP
+.HP
.B killproc
-.RB [ "-v" "] [" "-q" "] [" "-g" | "-G" "] [" "-n" ]
-.RB [ "-t<sec>" "] [" "-SIG" ]
+.B \-n
+.RB [ \-vq ]
+.RB [ \-g | -G ]
+.RB [ \-t\ \fI<sec>\fP ]
+.RB [ \-\fI<SIG>\fP ]
.I name_of_kernel_thread
-.PP
+.HP
.B killproc
-.RB [ "-v" "] [" "-q" "] [" "-g" | "-G" "] [" "-n" ]
-.RB [ "-t<sec>" "] [" "-SIG" ]
+.B \ \
+.RB [ \-vq ]
+.RB [ \-g | -G ]
+.RB [ \-t\ \fI<sec>\fP ]
+.RB [ \-\fI<SIG>\fP ]
.I basename_of_executable
-.PP
+.HP
.B killproc
.B \-l
+.SH SYNOPSIS LSB 3\.1
+.HP
+.B killproc
+.RB [ \-p\ \fIpid_file\fP ]
+.I /full/path/to/executable
+.RB [ \-\fI<SIG>\fP ]
.\"
.SH DESCRIPTION
.B killproc
@@ -218,15 +231,15 @@
symbolic link will be skipped.
.\"
.TP
-.B \-SIG
+.B \-\fI<SIG>\fP
Signals can be specified either by name
.RB (e.g. " -HUP" , " -SIGHUP" )
or by number
.RB (e.g. " -1" ).
.TP
-.B \-t<sec>
+.B \-t\fI<sec>\fP
The number
-.B <sec>
+.I <sec>
specifies the seconds to wait between the sent signal
.B SIGTERM
and the subsequentially signal
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/killproc.c new/killproc-2.13/killproc.c
--- old/killproc-2.12/killproc.c 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/killproc.c 2007-11-30 14:01:09.000000000 +0100
@@ -18,6 +18,7 @@
* 1998/15/09 Werner Fink: exit status for killing not running processes is 0
* 1998/29/09 Werner Fink: Add kernel thread handling.
* 2000/11/10 Werner Fink: LSB specs, logging
+ * 2007/11/29 Werner Fink: ignore more than one pid
*/
#include "libinit.h"
@@ -26,8 +27,9 @@
#define OTHERSIG "HUP"
#define USAGE "Usage:\n"\
- "\t%s [-v] [-t<sec>] [-g|-G] [-SIG] /full/path/to/program\n" \
- "\t%s -l\n", we_are, we_are
+ " %s [-v] [-q] [-L] [-g|-G] [-N] [-p pid_file] [-i ingnore_file] \\\n"\
+ " [-c root] [-t<sec>] [-SIG] /full/path/to/executable\n"\
+ " %s -l\n", we_are, we_are
static int do_kill(const char *name, const pid_t proc, const int sig,
const int group_leader, const int process_group);
@@ -42,14 +44,16 @@
PROC * list;
char *fullname = NULL, *basename = NULL;
char *pid_file = NULL, *ignore_file = NULL;
- char *root = NULL;
+ char *root = NULL, *iargv[argc];
char *posixa, *posixb; /* Don't fool me with posix correct */
- int process_group = 0, group_leader = 0, wait = 5;
+ int process_group = 0, group_leader = 0, wait = 5, iargc = 0;
unsigned short flags = (KILL|PIDOF|KSTOP);
boolean pid_forced = false;
we_are = base_name(argv[0]);
openlog (we_are, LOG_OPTIONS, LOG_FACILITY);
+ for (c = 0; c < argc; c++)
+ iargv[c] = (char*)0;
/* If we are not called as killproc use HUP (e.g. for sigproc) */
if (strcmp(we_are,"killproc") != 0)
@@ -140,9 +144,9 @@
list_signames();
exit(0);
case 'i':
- /* Allocate here: address optarg (current *argv) isn't freeable */
+ /* Remember: address optarg (current *argv) */
if (optarg && optarg[0] != '-') {
- ignore_file = xstrdup(optarg);
+ iargv[iargc++] = optarg;
} else
error(LSB_WRGSYN,"Option -i requires pid file to read pid from\n");
break;
@@ -235,29 +239,25 @@
}
/* Check and verify the ignore file */
- errno = 0;
- if (ignore_file && stat(ignore_file, &st) < 0) {
- if (errno != ENOENT)
- warn("Can not stat %s: %s\n", ignore_file, strerror(errno));
-
- free(ignore_file);
- ignore_file = NULL;
- }
-
- if (ignore_file && !st.st_size) {
- warn("Empty ignore file %s for %s\n", ignore_file, fullname);
-
- /* No pid file means that we have to search in /proc/ */
- free(ignore_file);
- ignore_file = NULL;
- }
-
- if (ignore_file) { /* The case of having a ignore file */
+ for (c = 0; (c < iargc) && (ignore_file = iargv[c]); c++) {
+ errno = 0;
+ if (stat(ignore_file, &st) < 0) {
+ if (errno != ENOENT)
+ warn("Can not stat %s: %s\n", ignore_file, strerror(errno));
+ continue;
+ }
+ if (!st.st_size) {
+ warn("Empty ignore file %s for %s\n", ignore_file, fullname);
+ continue;
+ }
+ /* The case of having a ignore file */
if (verify_pidfile(ignore_file,fullname,root,flags,true) < 0)
exit(LSB_PROOFX);
- clear_pids(); /* Remove all pids which should be ignored */
}
+ if (iargc)
+ clear_pids(); /* Remove all pids which should be ignored */
+
/* Do main work */
if (!remember) {
/* killing a none existing process is already success.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/libinit.c new/killproc-2.13/libinit.c
--- old/killproc-2.12/libinit.c 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/libinit.c 2007-11-30 14:01:09.000000000 +0100
@@ -895,15 +895,7 @@
char *fullname = (char *)inname;
struct stat pid_st, full_st;
- if (ignore) {
- PROC *p, *n;
- n = doignore;
- for (p = doignore; n; p = n) {
- n = p->next;
- free(p);
- }
- doignore = (PROC*)0;
- } else {
+ if (!ignore) {
PROC *p, *n;
n = remember;
for (p = remember; n; p = n) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/Makefile new/killproc-2.13/Makefile
--- old/killproc-2.12/Makefile 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/Makefile 2007-11-30 14:01:09.000000000 +0100
@@ -12,7 +12,7 @@
PREFIX = /usr
DEBUG =
DESTDIR =
-VERSION = 2.12
+VERSION = 2.13
DATE = $(shell date +'%d%b%y' | tr '[:lower:]' '[:upper:]')
ifneq ($(INC),)
@@ -53,6 +53,7 @@
ifeq ($(DISTRO),SuSE)
UBINPRG += usleep
+ UBINPRG += fsync
endif
all: $(SBINPRG) $(UBINPRG)
@@ -72,8 +73,11 @@
usleep: usleep.c
$(CC) $(CFLAGS) -o $@ $^
+fsync: fsync.c
+ $(CC) $(CFLAGS) -o $@ $^
+
clean:
- $(RM) *.o *~ killproc startproc checkproc pidofproc start_daemon usleep
+ $(RM) *.o *~ killproc startproc checkproc pidofproc start_daemon usleep fsync
install: $(TODO)
if test -n "$(SBINPRG)" ; then \
@@ -116,6 +120,8 @@
libinit.h \
usleep.c \
usleep.1 \
+ fsync.c \
+ fsync.1 \
killproc-$(VERSION).lsm
dest:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/startproc.8 new/killproc-2.13/startproc.8
--- old/killproc-2.12/startproc.8 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/startproc.8 2007-11-30 14:01:09.000000000 +0100
@@ -1,12 +1,13 @@
.\"
-.\" Copyright 1994-2000 Werner Fink, 1996-2000 SuSE GmbH Nuernberg, Germany.
+.\" Copyright (c) 1994-2007 Werner Fink, 1996-2000 SuSE GmbH, Nuernberg, Germany.
+.\" Copyright (c) 2007 SuSE LINUX Products GmbH, Nuernberg, Germany.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
-.TH STARTPROC 8 "Nov 10, 2000" "Version 1.16" "The SuSE boot concept"
+.TH STARTPROC 8 "Nov 30, 2007" "Version 1.16" "The SuSE boot concept"
.UC 8
.SH NAME
Startproc \- Start processes identified by path name
@@ -14,31 +15,35 @@
Start_daemon \- Start processes identified by path name
.SH SYNOPSIS
.\"
+.HP
.B startproc
-.RB [ -f ]
-.RB [ -L ]
-.RB [[ "-n "] +/-<prio> ]
-.RB [ -s ]
-.RB [ "-t
-.IR sec ]
-.RB [ "-u"
-.IR user ]
-.RB [ "-g"
-.IR group ]
-.RB [ "-v" "] [" "-e" "] [" -l
-.I log_file
-.RB | -q | -d ]
-.RB [ -p
-.IR pid_file ]
-.RB [ -i
-.IR ignore_file ]
-.RB [ -c
-.IR root ]
+.RB [ \-fLves ]
+.RB [[ \-n\ ] \fI+/\-<prio>\fP ]
+.RB [ \- ( t | T )\ \fI<sec>\fP ]
+.RB [ \-u\ \fIuser\fP ]
+.RB [ \-g\ \fIgroup\fP ]
+.RB [ \-l\ \fIlog_file\fP | \-q | \-d ]
+.RB [ \-p\ \fIpid_file\fP ]
+.RB [ \-i\ \fIignore_file\fP ]
+.RB [ \-c\ \fIroot\fP ]
.IR /path/to/executable " [" "arguments for executable" ]
-.PP
+.\"
+.HP
.B start_daemon
-.RB [ -f ]
-.RB [ "-n " +/-<prio> ]
+.RB [ \-fLve ]
+.RB [ \-n\ \fI+/\-<prio>\fP ]
+.RB [ \-u\ \fIuser\fP ]
+.RB [ \-g\ \fIgroup\fP ]
+.RB [ \-l\ \fIlog_file\fP | \-q | \-d ]
+.RB [ \-p\ \fIpid_file\fP ]
+.RB [ \-i\ \fIignore_file\fP ]
+.RB [ \-c\ \fIroot\fP ]
+.IR /path/to/executable " [" "arguments for executable" ]
+.SH SYNOPSIS LSB 3\.1
+.HP
+.B start_daemon
+.RB [ \-f ]
+.RB [ \-n\ \fI+/\-<prio>\fP ]
.IR /path/to/executable " [" "arguments for executable" ]
.\"
.SH DESCRIPTION
@@ -96,6 +101,15 @@
.B startproc
print out verbose diagnostics.
.PP
+The
+.B start_daemon
+does not support the options
+.BR \- ( t | T )\ \fI<sec>\fP
+for waiting for success and
+the option
+.B \-s
+for a new session as this variant does not fork to start the
+executable.
.\"
.SH REQUIRED
.TP
@@ -106,10 +120,10 @@
obtained from the respective manpage(s).
.SH OPTIONS
.TP
-.RB [ "-n " ] +/-<prio>
+.RB [ "-n " ] \fI+/-<prio>\fP
Set the nice level for the process. If used, this option should
always be the first in the command line. The nice level
-.B <prio>
+.I <prio>
may be specified in the range between -20 and +20.
Only root is allowed to set negative nice values.
.TP
@@ -181,7 +195,7 @@
Starts the process in a new session. The new task is a process group
leader and has no controlling tty.
.TP
-.BI \-t " sec"
+.BI \-t " <sec>"
The number of seconds to wait after the successful start of a
service. This options accepts the number of seconds to wait.
You can specify some units after a given number:
@@ -192,6 +206,12 @@
.B h
for hours to wait.
.TP
+.BI \-T " <sec>"
+The same as for option
+.B \-t
+but wait only on the started process not on childs forked by
+the process.
+.TP
.BI \-u " user"
Sets the user ID of the process to
.IR user .
@@ -271,6 +291,14 @@
state. Zombies are processes which arn't alive but listed in the process
table to have the exit status ready for the corresponding parent processes.
Therefore the parent processes should be check out.
+.PP
+.B Start_daemon
+is not able to check for exit status of an executable daemon because after
+the final
+.BR execve (3)
+the
+.B start_daemon
+as an own process does not exit anymore.
.\"
.SH FILES
.TP
@@ -295,7 +323,8 @@
.BR signal (7),
.BR proc (5).
.SH COPYRIGHT
-1994-2000 Werner Fink,
+1994-2007 Werner Fink,
1996-2000 SuSE GmbH Nuernberg, Germany.
+2007 SuSE LINUX Products GmbH, Nuernberg, Germany.
.SH AUTHOR
Werner Fink <werner(a)suse.de>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.12/startproc.c new/killproc-2.13/startproc.c
--- old/killproc-2.12/startproc.c 2006-12-14 17:18:31.000000000 +0100
+++ new/killproc-2.13/startproc.c 2007-11-30 14:01:09.000000000 +0100
@@ -17,26 +17,33 @@
* 1998/05/06 Werner Fink: rework, added "-p" for pid files
* 1999/08/05 Werner Fink: added "-t" for time to sleep, reenable "-e"
* 2000/11/10 Werner Fink: LSB specs, logging
+ * 2007/11/29 Werner Fink: ignore more than one pid, close existing files on execve,
+ * do not fork in case of start_daemon
*/
#include "libinit.h"
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/ioctl.h>
+#include <argz.h>
#include <grp.h>
#define USAGE "Usage:\n"\
- "\t%s [-f] [+/-<prio>] [-s] [-u uid] [-g gid] [-v] [-l log_file|-q] /full/path/to/program\n"
+ " %s [-f] [-L] [[-n ]+/-<prio>] [-s] [-t sec|-T sec] [-u uid] [-g gid] [-v] [-e] \\\n"\
+ " [-l log|-q|-d] [-p pid_file] [-i ignore_file] [-c root] /path/to/executable [args]\n"
#define USAGE_SD "Usage:\n"\
- "\t%s [-f] [-n +/-<prio>] /full/path/to/program\n"
+ " %s [-f] [-L] [-n +/-<prio>] [-u uid] [-g gid] [-v] [-e] \\\n"\
+ " [-l log|-q|-d] [-p pid_file] [-i ignore_file] [-c root] /path/to/executable [args]\n"
-static int do_fork(const char *name, char *argv[], const char* log_file,
+static int do_start(const char *name, char *argv[], const char* log_file,
const int nicelvl, const int env, const char* root, unsigned short flags);
+static void closefds(FILE *not);
-static int quiet = 1, supprmsg = 0, sess = 0, seconds = 0, force = 0, dialog = 0;
+static int quiet = 1, supprmsg = 0, sess = 0, seconds = 0, sigchld = 0, force = 0, dialog = 0;
static struct passwd *user = NULL;
struct group *grp = NULL;
static int syslogd = 0;
+static int sdaemon = 0;
static volatile sig_atomic_t signaled = 0;
static void (*save_sigquit) = SIG_DFL;
@@ -46,30 +53,40 @@
signaled = 1;
}
+static void sig_chld(int nsig)
+{
+ if (nsig != SIGCHLD)
+ return;
+ (void)signal(nsig, SIG_DFL);
+ seconds = 0;
+}
+
int main(int argc, char **argv)
{
extern char * we_are;
- int c;
struct stat st;
char *fullname = NULL, *basename = NULL;
char *log_file = NULL, *pid_file = NULL, *ignore_file = NULL;
- char *root = NULL;
- int nicelvl = 0, env = 0;
+ char *root = NULL, *iargv[argc];
+ int c, nicelvl = 0, env = 0, iargc = 0;
unsigned short flags = (DAEMON|PIDOF);
we_are = base_name(argv[0]);
+ sdaemon = (strcmp("start_daemon", we_are) == 0) ? 1 : 0;
openlog (we_are, LOG_OPTIONS, LOG_FACILITY);
+ for (c = 0; c < argc; c++)
+ iargv[c] = (char*)0;
-/*
- * We should stat() fullname, because only the path identifies the executable.
- * If there is one hardlink we have only to stat() the orignal executable.
- * If there is more than one hardlink and we have to distinguish the
- * executables by their swapname. Note if the cmdline of some executables
- * will changed by the running process its self the name is not clearly
- * defined ... see libinit.c for more information.
- */
+ /*
+ * We should stat() fullname, because only the path identifies the executable.
+ * If there is one hardlink we have only to stat() the orignal executable.
+ * If there is more than one hardlink and we have to distinguish the
+ * executables by their swapname. Note if the cmdline of some executables
+ * will changed by the running process its self the name is not clearly
+ * defined ... see libinit.c for more information.
+ */
- if (*argv) {
+ if (*argv && !sdaemon) {
char **opt = argv;
if (*(++opt) && (**opt == '-' || **opt == '+') && (nicelvl = atoi(*opt))) {
if (nicelvl > PRIO_MAX)
@@ -81,7 +98,7 @@
}
opterr = 0;
- while ((c = getopt(argc, argv, "+c:edp:l:hqvsu:g:t:n:fLi:")) != -1) { /* `+' is POSIX correct */
+ while ((c = getopt(argc, argv, "+c:edp:l:hqvsu:g:t:n:fLi:T:")) != -1) { /* `+' is POSIX correct */
switch (c) {
case 'v':
quiet = 0;
@@ -139,6 +156,7 @@
supprmsg = 1;
break;
case 's':
+ if (sdaemon) goto fail;
sess = 1;
break;
case 'u':
@@ -169,7 +187,10 @@
} else
error(LSB_WRGSYN,"Option -g requires group id or group name\n");
break;
+ case 'T':
+ sigchld++;
case 't':
+ if (sdaemon) goto fail;
if (optarg && optarg[0] != '/' && optarg[0] != '-') {
char *endptr;
seconds = (int)strtol(optarg, &endptr, 10);
@@ -199,17 +220,18 @@
error(LSB_WRGSYN,"Option -t requires number of seconds\n");
break;
case 'i':
- /* Allocate here: address optarg (current *argv) isn't freeable */
+ /* Remember: address optarg (current *argv) */
if (optarg && optarg[0] != '-') {
- ignore_file = xstrdup(optarg);
+ iargv[iargc++] = optarg;
} else
error(LSB_WRGSYN,"Option -i requires pid file to read pid from\n");
break;
case '?':
- error(LSB_WRGSYN, (strcmp("startproc", we_are) ? USAGE_SD : USAGE), we_are);
+ fail:
+ error(LSB_WRGSYN, (sdaemon ? USAGE_SD : USAGE), we_are);
break;
case 'h':
- error(0, (strcmp("startproc", we_are) ? USAGE_SD : USAGE), we_are);
+ error(0, (sdaemon ? USAGE_SD : USAGE), we_are);
break;
default:
break;
@@ -220,7 +242,7 @@
argc -= optind;
if (!*argv)
- error(LSB_WRGSYN, (strcmp("startproc", we_are) ? USAGE_SD : USAGE), we_are);
+ error(LSB_WRGSYN, (sdaemon ? USAGE_SD : USAGE), we_are);
if (root) {
fullname = (char*) xmalloc(strlen(*argv)+strlen(root)+1);
@@ -275,29 +297,24 @@
}
/* Check and verify the ignore file */
- errno = 0;
- if (ignore_file && stat(ignore_file, &st) < 0) {
- if (errno != ENOENT)
- warn("Can not stat %s: %s\n", ignore_file, strerror(errno));
-
- free(ignore_file);
- ignore_file = NULL;
- }
-
- if (ignore_file && !st.st_size) {
- warn("Empty ignore file %s for %s\n", ignore_file, fullname);
-
- /* No pid file means that we have to search in /proc/ */
- free(ignore_file);
- ignore_file = NULL;
- }
-
- if (ignore_file) { /* The case of having a ignore file */
+ for (c = 0; (c < iargc) && (ignore_file = iargv[c]); c++) {
+ errno = 0;
+ if (stat(ignore_file, &st) < 0) {
+ if (errno != ENOENT)
+ warn("Can not stat %s: %s\n", ignore_file, strerror(errno));
+ continue;
+ }
+ if (!st.st_size) {
+ warn("Empty ignore file %s for %s\n", ignore_file, fullname);
+ continue;
+ }
+ /* The case of having a ignore file */
if (verify_pidfile(ignore_file,fullname,root,flags,true) < 0)
exit(LSB_PROOFX);
- clear_pids(); /* Remove all pids which should be ignored */
}
+ if (iargc)
+ clear_pids(); /* Remove all pids which should be ignored */
/* Do main work */
if (!remember) { /* No process found with pid file */
@@ -310,7 +327,7 @@
exit(LSB_OK); /* Accordingly to LSB we have succeed. */
force:
- (void)do_fork(fullname, argv, log_file, nicelvl, env, root, flags);
+ (void)do_start(fullname, argv, log_file, nicelvl, env, root, flags);
/* Do we have started it? */
@@ -339,7 +356,7 @@
} /* end of main */
/* The core function */
-static int do_fork(const char *inname, char *argv[], const char* log_file,
+static int do_start(const char *inname, char *argv[], const char* log_file,
const int nicelvl, const int env, const char* root, unsigned short flags)
{
extern char * we_are;
@@ -370,18 +387,29 @@
error(LSB_PROOF," cannot open %s: %s\n", log_file, strerror(errno));
}
- (void)signal(SIGQUIT, sig_quit);
- (void)signal(SIGCHLD, SIG_DFL);
-
fflush(stdout);
fflush(stderr); /* flush stdout and especially stderr */
errno = 0;
- switch ((pid = fork())) {
+
+ if (sdaemon)
+ pid = 0;
+ else {
+ save_sigquit = signal(SIGQUIT, sig_quit);
+ if (sigchld)
+ (void)signal(SIGCHLD, sig_chld);
+ else
+ (void)signal(SIGCHLD, SIG_DFL);
+ pid = fork();
+ }
+
+ switch (pid) {
case 0:
- (void)signal(SIGINT, SIG_DFL);
- (void)signal(SIGQUIT, SIG_DFL);
- (void)signal(SIGSEGV, SIG_DFL);
- (void)signal(SIGTERM, SIG_DFL);
+ if (!sdaemon) {
+ (void)signal(SIGINT, SIG_DFL);
+ (void)signal(SIGQUIT, SIG_DFL);
+ (void)signal(SIGSEGV, SIG_DFL);
+ (void)signal(SIGTERM, SIG_DFL);
+ }
if (root) {
if (chroot(root) < 0) {
@@ -402,7 +430,7 @@
if (setpriority(PRIO_PROCESS, getpid(), nicelvl) < 0)
error(LSB_PROOF," cannot set nicelevel: %s\n", strerror(errno));
}
- if (sess) {
+ if (sess && !sdaemon) {
errno = 0;
if (setsid() < 0)
error(LSB_PROOF," cannot create session: %s\n", strerror(errno));
@@ -430,14 +458,9 @@
(unsigned int)user->pw_uid, strerror(errno));
}
/*
- * Close all above stdin, stdout, stderr ...
+ * Close all above stdin, stdout, stderr ... but not fileno(tmp)
*/
- while (--tty > fileno(stderr)) {
- if (tmp && tty == fileno(tmp))
- continue;
- if (isatty(tty))
- close(tty);
- }
+ closefds(tmp);
if (dialog) {
char * redirect;
@@ -521,7 +544,8 @@
close(tty);
}
openlog (we_are, LOG_OPTIONS, LOG_FACILITY);
- kill(getppid(), SIGQUIT);
+ if (!sdaemon)
+ kill(getppid(), SIGQUIT);
error(LSB_PROOFE," cannot execute %s: %s\n", fullname, strerror(olderr));
break;
case -1:
@@ -610,3 +634,37 @@
}
return 0;
}
+
+/*
+ * Close all above stdin, stdout, stderr ... but not fileno(tmp)
+ */
+static void closefds(FILE *not)
+{
+ char dir[128];
+ struct dirent *fdd;
+ int fd, ret;
+ DIR *fds;
+
+ if (((ret = snprintf(dir, sizeof(dir), "/proc/%d/fd", (int)getpid())) < 0) ||
+ (ret == sizeof(dir)))
+ error(100, "error in snprintf: %s\n", strerror(errno));
+ if ((fds = opendir(dir)) == (DIR*)0)
+ error(100, "cannot open dir: %s\n", strerror(errno));
+
+ while ((fdd = readdir(fds))) {
+ if ((fd = atoi(fdd->d_name)) <= fileno(stderr))
+ continue;
+ if (not && (fd == fileno(not)))
+ continue;
+ if (isatty(fd)) {
+ close(fd);
+ continue;
+ }
+ if ((ret = fcntl(fd, F_GETFD)) < 0)
+ continue;
+ fcntl(fd, F_SETFD, ret|FD_CLOEXEC);
+ }
+
+ closedir(fds);
+}
+
++++++ rc.powerd ++++++
--- sysvinit/rc.powerd 2006-02-07 17:31:09.000000000 +0100
+++ /mounts/work_src_done/STABLE/sysvinit/rc.powerd 2007-11-30 13:52:17.372334000 +0100
@@ -10,6 +10,7 @@
# Should-Stop:
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
+# Short-Description: Start the UPS monitoring daemon
# Description: Start the UPS monitoring daemon
### END INIT INFO
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package gcc43
checked in at Fri Nov 30 16:13:38 CET 2007.
--------
--- gcc43/cross-avr-gcc43.changes 2007-11-22 15:52:11.000000000 +0100
+++ /mounts/work_src_done/STABLE/gcc43/cross-avr-gcc43.changes 2007-11-29 12:23:48.000000000 +0100
@@ -1,0 +2,18 @@
+Thu Nov 29 11:31:23 CET 2007 - rguenther(a)suse.de
+
+- Update to SVN trunk head (r130511). [#340981]
+- Add patch for PR33763. [#344524]
+- Add patch for PR34244. [#342603]
+- Add patch for PR34238.
+
+-------------------------------------------------------------------
+Fri Nov 23 14:37:50 CET 2007 - rguenther(a)suse.de
+
+- Build gcc43-java from libgcj43.spec.
+- Shuffle binaries back from gcc43-gij to gcc43-java retaining
+ only classpath tools in gcc43-gij.
+- Add libgcj43-jar package required by libgcj43-devel and only
+ recommended by libgcj43.
+- Fix icecream cross install directory.
+
+-------------------------------------------------------------------
cross-hppa-gcc-icecream-backend.changes: same change
cross-i386-gcc-icecream-backend.changes: same change
cross-ia64-gcc-icecream-backend.changes: same change
cross-ppc64-gcc-icecream-backend.changes: same change
cross-ppc-gcc-icecream-backend.changes: same change
cross-s390-gcc-icecream-backend.changes: same change
cross-s390x-gcc-icecream-backend.changes: same change
cross-spu-gcc.changes: same change
cross-spu-gcc-static.changes: same change
cross-x86_64-gcc-icecream-backend.changes: same change
gcc43.changes: same change
libgcj43.changes: same change
Old:
----
fix-smt-alias
gcc-4.3.0-20071118.tar.bz2
pr34148.diff
pr34176.diff
New:
----
gcc-4.3.0-20071129.tar.bz2
pr33763.diff
pr34238.diff
pr34244.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-avr-gcc43.spec ++++++
--- /var/tmp/diff_new_pack.z29573/_old 2007-11-30 16:12:24.000000000 +0100
+++ /var/tmp/diff_new_pack.z29573/_new 2007-11-30 16:12:24.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package cross-avr-gcc43 (Version 4.3.0_20071118)
+# spec file for package cross-avr-gcc43 (Version 4.3.0_20071129)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -54,8 +54,8 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc
Url: http://gcc.gnu.org/
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT
-Version: 4.3.0_20071118
-Release: 2
+Version: 4.3.0_20071129
+Release: 1
%define gcc_version %(echo %version | sed 's/_.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
@@ -82,9 +82,9 @@
Patch24: tls-no-direct.diff
Patch25: pr27880.diff
Patch27: revert-pr25950.diff
-Patch28: pr34148.diff
-Patch29: pr34176.diff
-Patch30: fix-smt-alias
+Patch28: pr33763.diff
+Patch29: pr34244.diff
+Patch30: pr34238.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -349,6 +349,18 @@
%defattr(-,root,root)
%{_prefix}
%changelog
+* Thu Nov 29 2007 - rguenther(a)suse.de
+- Update to SVN trunk head (r130511). [#340981]
+- Add patch for PR33763. [#344524]
+- Add patch for PR34244. [#342603]
+- Add patch for PR34238.
+* Fri Nov 23 2007 - rguenther(a)suse.de
+- Build gcc43-java from libgcj43.spec.
+- Shuffle binaries back from gcc43-gij to gcc43-java retaining
+ only classpath tools in gcc43-gij.
+- Add libgcj43-jar package required by libgcj43-devel and only
+ recommended by libgcj43.
+- Fix icecream cross install directory.
* Thu Nov 22 2007 - rguenther(a)suse.de
- Simplify biarch rpm-macros.
- Add patch for PR34176. [#342236]
++++++ cross-hppa-gcc-icecream-backend.spec ++++++
--- /var/tmp/diff_new_pack.z29573/_old 2007-11-30 16:12:24.000000000 +0100
+++ /var/tmp/diff_new_pack.z29573/_new 2007-11-30 16:12:24.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package cross-hppa-gcc-icecream-backend (Version 4.3.0_20071118)
+# spec file for package cross-hppa-gcc-icecream-backend (Version 4.3.0_20071129)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -33,8 +33,8 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc
Url: http://gcc.gnu.org/
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT
-Version: 4.3.0_20071118
-Release: 2
+Version: 4.3.0_20071129
+Release: 1
%define gcc_version %(echo %version | sed 's/_.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
@@ -61,9 +61,9 @@
Patch24: tls-no-direct.diff
Patch25: pr27880.diff
Patch27: revert-pr25950.diff
-Patch28: pr34148.diff
-Patch29: pr34176.diff
-Patch30: fix-smt-alias
+Patch28: pr33763.diff
+Patch29: pr34244.diff
+Patch30: pr34238.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -334,8 +334,8 @@
install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
- install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \
- $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back
+ install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \
+ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back
done
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
@@ -365,6 +365,18 @@
/usr/share/icecream-envs
%changelog
+* Thu Nov 29 2007 - rguenther(a)suse.de
+- Update to SVN trunk head (r130511). [#340981]
+- Add patch for PR33763. [#344524]
+- Add patch for PR34244. [#342603]
+- Add patch for PR34238.
+* Fri Nov 23 2007 - rguenther(a)suse.de
+- Build gcc43-java from libgcj43.spec.
+- Shuffle binaries back from gcc43-gij to gcc43-java retaining
+ only classpath tools in gcc43-gij.
+- Add libgcj43-jar package required by libgcj43-devel and only
+ recommended by libgcj43.
+- Fix icecream cross install directory.
* Thu Nov 22 2007 - rguenther(a)suse.de
- Simplify biarch rpm-macros.
- Add patch for PR34176. [#342236]
cross-i386-gcc-icecream-backend.spec: same change
cross-ia64-gcc-icecream-backend.spec: same change
cross-ppc64-gcc-icecream-backend.spec: same change
cross-ppc-gcc-icecream-backend.spec: same change
cross-s390-gcc-icecream-backend.spec: same change
cross-s390x-gcc-icecream-backend.spec: same change
++++++ cross-spu-gcc.spec ++++++
--- /var/tmp/diff_new_pack.z29573/_old 2007-11-30 16:12:25.000000000 +0100
+++ /var/tmp/diff_new_pack.z29573/_new 2007-11-30 16:12:25.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package cross-spu-gcc (Version 4.3.0_20071118)
+# spec file for package cross-spu-gcc (Version 4.3.0_20071129)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -44,8 +44,8 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc
Url: http://gcc.gnu.org/
License: GPL v2 or later
-Version: 4.3.0_20071118
-Release: 2
+Version: 4.3.0_20071129
+Release: 1
%define gcc_version %(echo %version | sed 's/_.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
@@ -72,9 +72,9 @@
Patch24: tls-no-direct.diff
Patch25: pr27880.diff
Patch27: revert-pr25950.diff
-Patch28: pr34148.diff
-Patch29: pr34176.diff
-Patch30: fix-smt-alias
+Patch28: pr33763.diff
+Patch29: pr34244.diff
+Patch30: pr34238.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -334,6 +334,18 @@
%defattr(-,root,root)
%{_prefix}
%changelog
+* Thu Nov 29 2007 - rguenther(a)suse.de
+- Update to SVN trunk head (r130511). [#340981]
+- Add patch for PR33763. [#344524]
+- Add patch for PR34244. [#342603]
+- Add patch for PR34238.
+* Fri Nov 23 2007 - rguenther(a)suse.de
+- Build gcc43-java from libgcj43.spec.
+- Shuffle binaries back from gcc43-gij to gcc43-java retaining
+ only classpath tools in gcc43-gij.
+- Add libgcj43-jar package required by libgcj43-devel and only
+ recommended by libgcj43.
+- Fix icecream cross install directory.
* Thu Nov 22 2007 - rguenther(a)suse.de
- Simplify biarch rpm-macros.
- Add patch for PR34176. [#342236]
cross-spu-gcc-static.spec: same change
++++++ cross-x86_64-gcc-icecream-backend.spec ++++++
--- /var/tmp/diff_new_pack.z29573/_old 2007-11-30 16:12:25.000000000 +0100
+++ /var/tmp/diff_new_pack.z29573/_new 2007-11-30 16:12:25.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package cross-x86_64-gcc-icecream-backend (Version 4.3.0_20071118)
+# spec file for package cross-x86_64-gcc-icecream-backend (Version 4.3.0_20071129)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -33,8 +33,8 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc
Url: http://gcc.gnu.org/
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT
-Version: 4.3.0_20071118
-Release: 2
+Version: 4.3.0_20071129
+Release: 1
%define gcc_version %(echo %version | sed 's/_.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
@@ -61,9 +61,9 @@
Patch24: tls-no-direct.diff
Patch25: pr27880.diff
Patch27: revert-pr25950.diff
-Patch28: pr34148.diff
-Patch29: pr34176.diff
-Patch30: fix-smt-alias
+Patch28: pr33763.diff
+Patch29: pr34244.diff
+Patch30: pr34238.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -334,8 +334,8 @@
install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
- install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \
- $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back
+ install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \
+ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back
done
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
@@ -365,6 +365,18 @@
/usr/share/icecream-envs
%changelog
+* Thu Nov 29 2007 - rguenther(a)suse.de
+- Update to SVN trunk head (r130511). [#340981]
+- Add patch for PR33763. [#344524]
+- Add patch for PR34244. [#342603]
+- Add patch for PR34238.
+* Fri Nov 23 2007 - rguenther(a)suse.de
+- Build gcc43-java from libgcj43.spec.
+- Shuffle binaries back from gcc43-gij to gcc43-java retaining
+ only classpath tools in gcc43-gij.
+- Add libgcj43-jar package required by libgcj43-devel and only
+ recommended by libgcj43.
+- Fix icecream cross install directory.
* Thu Nov 22 2007 - rguenther(a)suse.de
- Simplify biarch rpm-macros.
- Add patch for PR34176. [#342236]
++++++ gcc43.spec ++++++
--- /var/tmp/diff_new_pack.z29573/_old 2007-11-30 16:12:25.000000000 +0100
+++ /var/tmp/diff_new_pack.z29573/_new 2007-11-30 16:12:25.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package gcc43 (Version 4.3.0_20071118)
+# spec file for package gcc43 (Version 4.3.0_20071129)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -101,8 +101,8 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc
Url: http://gcc.gnu.org/
License: GPL v3 or later
-Version: 4.3.0_20071118
-Release: 2
+Version: 4.3.0_20071129
+Release: 1
%define gcc_version %(echo %version | sed 's/_.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
@@ -136,9 +136,9 @@
Patch24: tls-no-direct.diff
Patch25: pr27880.diff
Patch27: revert-pr25950.diff
-Patch28: pr34148.diff
-Patch29: pr34176.diff
-Patch30: fix-smt-alias
+Patch28: pr33763.diff
+Patch29: pr34244.diff
+Patch30: pr34238.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -877,23 +877,12 @@
%run_ldconfig
# PACKAGE-END
-%package java
-Summary: The GNU Java Compiler
-Group: Development/Languages/Java
-AutoReqProv: on
-Requires: gcc43 = %{version}-%{release}
-Requires: libgcj43-devel = %{version}
-
-%description java
-The Java compiler from the GCC-tools-suite.
-
-
-
%package -n libgcj43
# LIBJAVA-DELETE-END
Summary: Java Runtime Library for gcc
Group: System/Libraries
%define gcj_sover 9
+Recommends: libgcj43-jar = %{version}-%{release}
Provides: libgcj%{gcj_sover} = %{version}-%{release}
Obsoletes: libgcj%{gcj_sover} < %{version}-%{release}
AutoReqProv: on
@@ -910,15 +899,27 @@
%postun -n libgcj43
%run_ldconfig
+%package -n gcc43-java
+Summary: The GNU Java Compiler
+Group: Development/Languages/Java
+AutoReqProv: on
+Requires: gcc43 = %{version}
+Requires: libgcj43-devel = %{version}-%{release}
+
+%description -n gcc43-java
+The Java compiler from the GCC-tools-suite.
+
+
+
%package -n libgcj_bc43
Summary: Fake library for BC-ABI compatibility.
Group: System/Libraries
AutoReqProv: on
Provides: libgcj_bc1 = %{version}-%{release}
# make rpm happy
-Obsoletes: libgcj_bc42@variant@
+Obsoletes: libgcj_bc42
# make zypp happy
-Provides: libgcj_bc42@variant@
+Provides: libgcj_bc42
%description -n libgcj_bc43
A fake library that is used at link time only. It ensures that binaries
@@ -933,6 +934,15 @@
%postun -n libgcj_bc43
%run_ldconfig
+%package -n libgcj43-jar
+Summary: Java runtime library (jar files).
+Group: System/Libraries
+
+%description -n libgcj43-jar
+These are the jar files that go along with the gcj front end to gcc.
+
+
+
%package -n libgcj43-devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/Java
@@ -940,6 +950,7 @@
Requires: libstdc++43-devel = %{version}
Requires: libgcj%{gcj_sover} >= %{version}-%{release}
Requires: libgcj_bc1 >= %{version}-%{release}
+Requires: libgcj43-jar = %{version}-%{release}
Requires: gtk2-devel
Requires: libart_lgpl-devel
Requires: glibc-devel
@@ -1439,8 +1450,26 @@
make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
+make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
+make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
+# install-common also installs collect2, gcov and the g++ and gfortran driver
+%if %{build_cp}
+rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
+%endif
+%if %{build_fortran}
+rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
+%endif
+rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
+rm $RPM_BUILD_ROOT%{libsubdir}/collect2
%else
make install DESTDIR=$RPM_BUILD_ROOT
+%if %{build_java}
+make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
+rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
+rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
+rm $RPM_BUILD_ROOT%{libsubdir}/jc1
+rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
+%endif
%endif
# Remove some useless .la files
for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \
@@ -1645,8 +1674,8 @@
rm -r $RPM_BUILD_ROOT%{_libdir}/security
%endif
%if %{build_java}
-rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
%if !%{build_libjava}
+rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
@@ -1668,12 +1697,8 @@
%endif
%endif
%if 0%{?building_libjava:1}
-# For building libjava only we need to delete other manpages
-rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj%{binsuffix}.1
-rm $RPM_BUILD_ROOT%{_mandir}/man1/gcjh%{binsuffix}.1
-rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
+# For building libjava only we need to delete other info docs
rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
-%else
# For building the java frontend we need to copy the ecj jar
mkdir -p $RPM_BUILD_ROOT%{libsubdir}
cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
@@ -2025,19 +2050,30 @@
%{mainlibdir}/libgnarl-*.so
%{mainlibdir}/libgnat-*.so
%endif
+# LIBJAVA-DELETE-END
%if %{build_java}
+%if 0%{?building_libjava:1}
-%files java
+%files -n gcc43-java
%defattr(-,root,root)
%{_prefix}/bin/gcj%{binsuffix}
+%{_prefix}/bin/gcjh%{binsuffix}
+%{_prefix}/bin/gcj-dbtool%{binsuffix}
%{_prefix}/bin/jcf-dump%{binsuffix}
+%{_prefix}/bin/jv-convert%{binsuffix}
+%{_prefix}/bin/gc-analyze%{binsuffix}
%{libsubdir}/jc1
%{libsubdir}/jvgenmain
%{libsubdir}/ecj.jar
+%{libsubdir}/ecj1
%doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
%doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
+%doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
+%endif
%endif
-# LIBJAVA-DELETE-END
%if %{build_java}
%if %{build_libjava}
@@ -2047,8 +2083,6 @@
%dir %{_libdir}/gcc
%dir %{_libdir}/gcc/%{GCCDIST}
%dir %{libsubdir}
-%{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
-%{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
# We usually do not multilib libjava
%if %{biarch_libjava}
@@ -2077,6 +2111,11 @@
%mainlib libgcj_bc.so.*
%endif
+%files -n libgcj43-jar
+%defattr(-,root,root)
+%{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
+%{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
+
%files -n libgcj43-devel
%defattr(-,root,root)
%dir %{_prefix}/include/c++
@@ -2097,7 +2136,6 @@
%{gxxinclude}/org
%{gxxinclude}/sun
%{libsubdir}/include/gcj
-%{libsubdir}/ecj1
%if %{biarch_libjava}
%versbiarchlib libgcj.so
%versbiarchlib libgcj.spec
@@ -2114,33 +2152,27 @@
%files -n gcc43-gij
%defattr(-,root,root)
-%{_prefix}/bin/gappletviewer%{binsuffix}
-%{_prefix}/bin/gjarsigner%{binsuffix}
-%{_prefix}/bin/gkeytool%{binsuffix}
-%{_prefix}/bin/grmic%{binsuffix}
-%{_prefix}/bin/grmiregistry%{binsuffix}
-%{_prefix}/bin/grmid%{binsuffix}
-%{_prefix}/bin/jv-convert%{binsuffix}
-%{_prefix}/bin/gcj-dbtool%{binsuffix}
%{_prefix}/bin/gij%{binsuffix}
+%{_prefix}/bin/gappletviewer%{binsuffix}
%{_prefix}/bin/gjar%{binsuffix}
-%{_prefix}/bin/gc-analyze%{binsuffix}
+%{_prefix}/bin/gjarsigner%{binsuffix}
%{_prefix}/bin/gjavah%{binsuffix}
+%{_prefix}/bin/gkeytool%{binsuffix}
%{_prefix}/bin/gnative2ascii%{binsuffix}
%{_prefix}/bin/gorbd%{binsuffix}
+%{_prefix}/bin/grmic%{binsuffix}
+%{_prefix}/bin/grmid%{binsuffix}
+%{_prefix}/bin/grmiregistry%{binsuffix}
%{_prefix}/bin/gserialver%{binsuffix}
%{_prefix}/bin/gtnameserv%{binsuffix}
-%{_prefix}/bin/gcjh%{binsuffix}
-%doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
%doc %{_mandir}/man1/gij%{binsuffix}.1.gz
-%doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
%doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
-%doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
%doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
%doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
@@ -2181,6 +2213,18 @@
%endif
%changelog
+* Thu Nov 29 2007 - rguenther(a)suse.de
+- Update to SVN trunk head (r130511). [#340981]
+- Add patch for PR33763. [#344524]
+- Add patch for PR34244. [#342603]
+- Add patch for PR34238.
+* Fri Nov 23 2007 - rguenther(a)suse.de
+- Build gcc43-java from libgcj43.spec.
+- Shuffle binaries back from gcc43-gij to gcc43-java retaining
+ only classpath tools in gcc43-gij.
+- Add libgcj43-jar package required by libgcj43-devel and only
+ recommended by libgcj43.
+- Fix icecream cross install directory.
* Thu Nov 22 2007 - rguenther(a)suse.de
- Simplify biarch rpm-macros.
- Add patch for PR34176. [#342236]
++++++ libgcj43.spec ++++++
--- /var/tmp/diff_new_pack.z29573/_old 2007-11-30 16:12:25.000000000 +0100
+++ /var/tmp/diff_new_pack.z29573/_new 2007-11-30 16:12:25.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package libgcj43 (Version 4.3.0_20071118)
+# spec file for package libgcj43 (Version 4.3.0_20071129)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -113,8 +113,8 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc
Url: http://gcc.gnu.org/
License: GPL v2 or later; LGPL v2.1 or later
-Version: 4.3.0_20071118
-Release: 2
+Version: 4.3.0_20071129
+Release: 1
%define gcc_version %(echo %version | sed 's/_.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
@@ -148,9 +148,9 @@
Patch24: tls-no-direct.diff
Patch25: pr27880.diff
Patch27: revert-pr25950.diff
-Patch28: pr34148.diff
-Patch29: pr34176.diff
-Patch30: fix-smt-alias
+Patch28: pr33763.diff
+Patch29: pr34244.diff
+Patch30: pr34238.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -158,6 +158,7 @@
Summary: Java Runtime Library for gcc
Group: System/Libraries
%define gcj_sover 9
+Recommends: libgcj43-jar = %{version}-%{release}
Provides: libgcj%{gcj_sover} = %{version}-%{release}
Obsoletes: libgcj%{gcj_sover} < %{version}-%{release}
AutoReqProv: on
@@ -174,15 +175,27 @@
%postun
%run_ldconfig
+%package -n gcc43-java
+Summary: The GNU Java Compiler
+Group: Development/Languages/Java
+AutoReqProv: on
+Requires: gcc43 = %{version}
+Requires: libgcj43-devel = %{version}-%{release}
+
+%description -n gcc43-java
+The Java compiler from the GCC-tools-suite.
+
+
+
%package -n libgcj_bc43
Summary: Fake library for BC-ABI compatibility.
Group: System/Libraries
AutoReqProv: on
Provides: libgcj_bc1 = %{version}-%{release}
# make rpm happy
-Obsoletes: libgcj_bc42@variant@
+Obsoletes: libgcj_bc42
# make zypp happy
-Provides: libgcj_bc42@variant@
+Provides: libgcj_bc42
%description -n libgcj_bc43
A fake library that is used at link time only. It ensures that binaries
@@ -197,6 +210,15 @@
%postun -n libgcj_bc43
%run_ldconfig
+%package -n libgcj43-jar
+Summary: Java runtime library (jar files).
+Group: System/Libraries
+
+%description -n libgcj43-jar
+These are the jar files that go along with the gcj front end to gcc.
+
+
+
%package -n libgcj43-devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/Java
@@ -204,6 +226,7 @@
Requires: libstdc++43-devel = %{version}
Requires: libgcj%{gcj_sover} >= %{version}-%{release}
Requires: libgcj_bc1 >= %{version}-%{release}
+Requires: libgcj43-jar = %{version}-%{release}
Requires: gtk2-devel
Requires: libart_lgpl-devel
Requires: glibc-devel
@@ -703,8 +726,26 @@
make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
+make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
+make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
+# install-common also installs collect2, gcov and the g++ and gfortran driver
+%if %{build_cp}
+rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
+%endif
+%if %{build_fortran}
+rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
+%endif
+rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
+rm $RPM_BUILD_ROOT%{libsubdir}/collect2
%else
make install DESTDIR=$RPM_BUILD_ROOT
+%if %{build_java}
+make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
+rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
+rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
+rm $RPM_BUILD_ROOT%{libsubdir}/jc1
+rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
+%endif
%endif
# Remove some useless .la files
for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \
@@ -843,8 +884,8 @@
rm -r $RPM_BUILD_ROOT%{_libdir}/security
%endif
%if %{build_java}
-rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
%if !%{build_libjava}
+rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
@@ -866,17 +907,36 @@
%endif
%endif
%if 0%{?building_libjava:1}
-# For building libjava only we need to delete other manpages
-rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj%{binsuffix}.1
-rm $RPM_BUILD_ROOT%{_mandir}/man1/gcjh%{binsuffix}.1
-rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
+# For building libjava only we need to delete other info docs
rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
-%else
# For building the java frontend we need to copy the ecj jar
mkdir -p $RPM_BUILD_ROOT%{libsubdir}
cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
%endif
%if %{build_java}
+%if 0%{?building_libjava:1}
+
+%files -n gcc43-java
+%defattr(-,root,root)
+%{_prefix}/bin/gcj%{binsuffix}
+%{_prefix}/bin/gcjh%{binsuffix}
+%{_prefix}/bin/gcj-dbtool%{binsuffix}
+%{_prefix}/bin/jcf-dump%{binsuffix}
+%{_prefix}/bin/jv-convert%{binsuffix}
+%{_prefix}/bin/gc-analyze%{binsuffix}
+%{libsubdir}/jc1
+%{libsubdir}/jvgenmain
+%{libsubdir}/ecj.jar
+%{libsubdir}/ecj1
+%doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
+%doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
+%doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
+%endif
+%endif
+%if %{build_java}
%if %{build_libjava}
%files
@@ -885,8 +945,6 @@
%dir %{_libdir}/gcc
%dir %{_libdir}/gcc/%{GCCDIST}
%dir %{libsubdir}
-%{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
-%{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
# We usually do not multilib libjava
%if %{biarch_libjava}
@@ -915,6 +973,11 @@
%mainlib libgcj_bc.so.*
%endif
+%files -n libgcj43-jar
+%defattr(-,root,root)
+%{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
+%{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
+
%files -n libgcj43-devel
%defattr(-,root,root)
%dir %{_prefix}/include/c++
@@ -935,7 +998,6 @@
%{gxxinclude}/org
%{gxxinclude}/sun
%{libsubdir}/include/gcj
-%{libsubdir}/ecj1
%if %{biarch_libjava}
%versbiarchlib libgcj.so
%versbiarchlib libgcj.spec
@@ -952,33 +1014,27 @@
%files -n gcc43-gij
%defattr(-,root,root)
-%{_prefix}/bin/gappletviewer%{binsuffix}
-%{_prefix}/bin/gjarsigner%{binsuffix}
-%{_prefix}/bin/gkeytool%{binsuffix}
-%{_prefix}/bin/grmic%{binsuffix}
-%{_prefix}/bin/grmiregistry%{binsuffix}
-%{_prefix}/bin/grmid%{binsuffix}
-%{_prefix}/bin/jv-convert%{binsuffix}
-%{_prefix}/bin/gcj-dbtool%{binsuffix}
%{_prefix}/bin/gij%{binsuffix}
+%{_prefix}/bin/gappletviewer%{binsuffix}
%{_prefix}/bin/gjar%{binsuffix}
-%{_prefix}/bin/gc-analyze%{binsuffix}
+%{_prefix}/bin/gjarsigner%{binsuffix}
%{_prefix}/bin/gjavah%{binsuffix}
+%{_prefix}/bin/gkeytool%{binsuffix}
%{_prefix}/bin/gnative2ascii%{binsuffix}
%{_prefix}/bin/gorbd%{binsuffix}
+%{_prefix}/bin/grmic%{binsuffix}
+%{_prefix}/bin/grmid%{binsuffix}
+%{_prefix}/bin/grmiregistry%{binsuffix}
%{_prefix}/bin/gserialver%{binsuffix}
%{_prefix}/bin/gtnameserv%{binsuffix}
-%{_prefix}/bin/gcjh%{binsuffix}
-%doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
%doc %{_mandir}/man1/gij%{binsuffix}.1.gz
-%doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
%doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
-%doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
%doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
%doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
@@ -1019,6 +1075,18 @@
%endif
%changelog
+* Thu Nov 29 2007 - rguenther(a)suse.de
+- Update to SVN trunk head (r130511). [#340981]
+- Add patch for PR33763. [#344524]
+- Add patch for PR34244. [#342603]
+- Add patch for PR34238.
+* Fri Nov 23 2007 - rguenther(a)suse.de
+- Build gcc43-java from libgcj43.spec.
+- Shuffle binaries back from gcc43-gij to gcc43-java retaining
+ only classpath tools in gcc43-gij.
+- Add libgcj43-jar package required by libgcj43-devel and only
+ recommended by libgcj43.
+- Fix icecream cross install directory.
* Thu Nov 22 2007 - rguenther(a)suse.de
- Simplify biarch rpm-macros.
- Add patch for PR34176. [#342236]
++++++ cross-icecream.spec.in ++++++
--- gcc43/cross-icecream.spec.in 2007-11-22 15:44:54.000000000 +0100
+++ /mounts/work_src_done/STABLE/gcc43/cross-icecream.spec.in 2007-11-24 19:56:21.000000000 +0100
@@ -55,8 +55,8 @@
install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
- install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \
- $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back
+ install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \
+ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back
done
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \
++++++ gcc-4.3.0-20071118.tar.bz2 -> gcc-4.3.0-20071129.tar.bz2 ++++++
gcc43/gcc-4.3.0-20071118.tar.bz2 /mounts/work_src_done/STABLE/gcc43/gcc-4.3.0-20071129.tar.bz2 differ: byte 11, line 1
++++++ gcc.spec.in ++++++
--- gcc43/gcc.spec.in 2007-11-22 15:52:27.000000000 +0100
+++ /mounts/work_src_done/STABLE/gcc43/gcc.spec.in 2007-11-29 15:09:38.000000000 +0100
@@ -117,7 +117,7 @@
URL: http://gcc.gnu.org/
License: GPL
-Version: 4.3.0_20071118
+Version: 4.3.0_20071129
Release: 1
%define gcc_version %(echo %version | sed 's/_.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -154,9 +154,9 @@
Patch24: tls-no-direct.diff
Patch25: pr27880.diff
Patch27: revert-pr25950.diff
-Patch28: pr34148.diff
-Patch29: pr34176.diff
-Patch30: fix-smt-alias
+Patch28: pr33763.diff
+Patch29: pr34244.diff
+Patch30: pr34238.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -479,22 +479,12 @@
# PACKAGE-END
-%package java
-Summary: The GNU Java Compiler
-Group: Development/Languages/Java
-Autoreqprov: on
-Requires: gcc@base_ver@ = %{version}-%{release}
-Requires: libgcj@base_ver@-devel = %{version}
-
-%description java
-The Java compiler from the GCC-tools-suite.
-
-
%package -n libgcj@base_ver@
# LIBJAVA-DELETE-END
Summary: Java Runtime Library for gcc
Group: System/Libraries
%define gcj_sover 9
+Recommends: libgcj@base_ver@-jar = %{version}-%{release}
Provides: libgcj%{gcj_sover} = %{version}-%{release}
Obsoletes: libgcj%{gcj_sover} < %{version}-%{release}
Autoreqprov: on
@@ -510,15 +500,26 @@
%run_ldconfig
+%package -n gcc@base_ver@-java
+Summary: The GNU Java Compiler
+Group: Development/Languages/Java
+Autoreqprov: on
+Requires: gcc@base_ver@ = %{version}
+Requires: libgcj@base_ver@-devel = %{version}-%{release}
+
+%description -n gcc@base_ver@-java
+The Java compiler from the GCC-tools-suite.
+
+
%package -n libgcj_bc@base_ver@
Summary: Fake library for BC-ABI compatibility.
Group: Development/Libraries/Java
Autoreqprov: on
Provides: libgcj_bc1 = %{version}-%{release}
# make rpm happy
-Obsoletes: libgcj_bc42@variant@
+Obsoletes: libgcj_bc42
# make zypp happy
-Provides: libgcj_bc42@variant@
+Provides: libgcj_bc42
%description -n libgcj_bc@base_ver@
@@ -534,6 +535,14 @@
%run_ldconfig
+%package -n libgcj@base_ver@-jar
+Summary: Java runtime library (jar files).
+Group: Development/Libraries/Java
+
+%description -n libgcj@base_ver@-jar
+These are the jar files that go along with the gcj front end to gcc.
+
+
%package -n libgcj@base_ver@-devel
Summary: Include Files and Libraries mandatory for Development.
Group: Development/Libraries/Java
@@ -541,6 +550,7 @@
Requires: libstdc++@base_ver@-devel = %{version}
Requires: libgcj%{gcj_sover} >= %{version}-%{release}
Requires: libgcj_bc1 >= %{version}-%{release}
+Requires: libgcj@base_ver@-jar = %{version}-%{release}
Requires: gtk2-devel
Requires: libart_lgpl-devel
Requires: glibc-devel
@@ -989,8 +999,26 @@
make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
+make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
+make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
+# install-common also installs collect2, gcov and the g++ and gfortran driver
+%if %{build_cp}
+rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
+%endif
+%if %{build_fortran}
+rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
+%endif
+rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
+rm $RPM_BUILD_ROOT%{libsubdir}/collect2
%else
make install DESTDIR=$RPM_BUILD_ROOT
+%if %{build_java}
+make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
+rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
+rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
+rm $RPM_BUILD_ROOT%{libsubdir}/jc1
+rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
+%endif
%endif
# Remove some useless .la files
@@ -1208,8 +1236,8 @@
rm -r $RPM_BUILD_ROOT%{_libdir}/security
%endif
%if %{build_java}
-rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
%if !%{build_libjava}
+rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
@@ -1232,12 +1260,8 @@
%endif
%if 0%{?building_libjava:1}
-# For building libjava only we need to delete other manpages
-rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj%{binsuffix}.1
-rm $RPM_BUILD_ROOT%{_mandir}/man1/gcjh%{binsuffix}.1
-rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
+# For building libjava only we need to delete other info docs
rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
-%else
# For building the java frontend we need to copy the ecj jar
mkdir -p $RPM_BUILD_ROOT%{libsubdir}
cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
@@ -1595,20 +1619,31 @@
%{mainlibdir}/libgnarl-*.so
%{mainlibdir}/libgnat-*.so
%endif
+# LIBJAVA-DELETE-END
%if %{build_java}
-%files java
+%if 0%{?building_libjava:1}
+%files -n gcc@base_ver@-java
%defattr(-,root,root)
%{_prefix}/bin/gcj%{binsuffix}
+%{_prefix}/bin/gcjh%{binsuffix}
+%{_prefix}/bin/gcj-dbtool%{binsuffix}
%{_prefix}/bin/jcf-dump%{binsuffix}
+%{_prefix}/bin/jv-convert%{binsuffix}
+%{_prefix}/bin/gc-analyze%{binsuffix}
%{libsubdir}/jc1
%{libsubdir}/jvgenmain
%{libsubdir}/ecj.jar
+%{libsubdir}/ecj1
%doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
%doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
+%doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
+%endif
%endif
-# LIBJAVA-DELETE-END
%if %{build_java}
%if %{build_libjava}
@@ -1618,8 +1653,6 @@
%dir %{_libdir}/gcc
%dir %{_libdir}/gcc/%{GCCDIST}
%dir %{libsubdir}
-%{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
-%{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
# We usually do not multilib libjava
%if %{biarch_libjava}
@@ -1648,6 +1681,11 @@
%mainlib libgcj_bc.so.*
%endif
+%files -n libgcj@base_ver@-jar
+%defattr(-,root,root)
+%{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
+%{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
+
%files -n libgcj@base_ver@-devel
%defattr(-,root,root)
%dir %{_prefix}/include/c++
@@ -1668,7 +1706,6 @@
%{gxxinclude}/org
%{gxxinclude}/sun
%{libsubdir}/include/gcj
-%{libsubdir}/ecj1
%if %{biarch_libjava}
%versbiarchlib libgcj.so
%versbiarchlib libgcj.spec
@@ -1685,33 +1722,27 @@
%files -n gcc@base_ver@-gij
%defattr(-,root,root)
-%{_prefix}/bin/gappletviewer%{binsuffix}
-%{_prefix}/bin/gjarsigner%{binsuffix}
-%{_prefix}/bin/gkeytool%{binsuffix}
-%{_prefix}/bin/grmic%{binsuffix}
-%{_prefix}/bin/grmiregistry%{binsuffix}
-%{_prefix}/bin/grmid%{binsuffix}
-%{_prefix}/bin/jv-convert%{binsuffix}
-%{_prefix}/bin/gcj-dbtool%{binsuffix}
%{_prefix}/bin/gij%{binsuffix}
+%{_prefix}/bin/gappletviewer%{binsuffix}
%{_prefix}/bin/gjar%{binsuffix}
-%{_prefix}/bin/gc-analyze%{binsuffix}
+%{_prefix}/bin/gjarsigner%{binsuffix}
%{_prefix}/bin/gjavah%{binsuffix}
+%{_prefix}/bin/gkeytool%{binsuffix}
%{_prefix}/bin/gnative2ascii%{binsuffix}
%{_prefix}/bin/gorbd%{binsuffix}
+%{_prefix}/bin/grmic%{binsuffix}
+%{_prefix}/bin/grmid%{binsuffix}
+%{_prefix}/bin/grmiregistry%{binsuffix}
%{_prefix}/bin/gserialver%{binsuffix}
%{_prefix}/bin/gtnameserv%{binsuffix}
-%{_prefix}/bin/gcjh%{binsuffix}
-%doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
%doc %{_mandir}/man1/gij%{binsuffix}.1.gz
-%doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
+%doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
%doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
%doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
-%doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
%doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
%doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
%doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
++++++ pr34148.diff -> pr33763.diff ++++++
--- gcc43/pr34148.diff 2007-11-22 15:45:02.000000000 +0100
+++ /mounts/work_src_done/STABLE/gcc43/pr33763.diff 2007-11-28 14:16:49.000000000 +0100
@@ -1,43 +1,19 @@
-2007-11-20 Richard Guenther <rguenther(a)suse.de>
-
- PR tree-optimization/34148
- * tree-ssa-structalias.c (create_variable_info_for): Do not use
- field-sensitive PTA for single-element structures.
- * tree-ssa-alias.c (create_overlap_variables_for): Do not create
- SFTs for single-element structures.
-
-Index: gcc/tree-ssa-structalias.c
+Index: gcc/tree-inline.c
===================================================================
-*** gcc/tree-ssa-structalias.c (revision 130288)
---- gcc/tree-ssa-structalias.c (working copy)
-*************** create_variable_info_for (tree decl, con
-*** 4441,4446 ****
---- 4441,4447 ----
- && !notokay
- && !vi->is_unknown_size_var
- && var_can_have_subvars (decl)
-+ && VEC_length (fieldoff_s, fieldstack) > 1
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
+*** gcc/tree-inline.c (revision 130489)
+--- gcc/tree-inline.c (working copy)
+*************** expand_call_inline (basic_block bb, tree
+*** 2573,2578 ****
+--- 2573,2584 ----
+ if (!cgraph_inline_p (cg_edge, &reason))
{
- unsigned int newindex = VEC_length (varinfo_t, varmap);
-Index: gcc/tree-ssa-alias.c
-===================================================================
-*** gcc/tree-ssa-alias.c (revision 130288)
---- gcc/tree-ssa-alias.c (working copy)
-*************** create_overlap_variables_for (tree var)
-*** 3837,3843 ****
- TREE_TYPE (var));
- /* Make sure to not create SFTs for structs we won't generate variable
- infos for. See tree-ssa-structalias.c:create_variable_info_for (). */
-! if (VEC_length (fieldoff_s, fieldstack) != 0
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
- {
- subvar_t *subvars;
---- 3837,3843 ----
- TREE_TYPE (var));
- /* Make sure to not create SFTs for structs we won't generate variable
- infos for. See tree-ssa-structalias.c:create_variable_info_for (). */
-! if (VEC_length (fieldoff_s, fieldstack) > 1
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
- {
- subvar_t *subvars;
+ if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))
++ /* For extern inline functions that get redefined we always
++ silently ignored alway_inline flag. Better behaviour would
++ be to be able to keep both bodies and use extern inline body
++ for inlining, but we can't do that because frontends overwrite
++ the body. */
++ && !cg_edge->callee->local.redefined_extern_inline
+ /* Avoid warnings during early inline pass. */
+ && (!flag_unit_at_a_time || cgraph_global_info_ready))
+ {
++++++ pr34148.diff -> pr34238.diff ++++++
--- gcc43/pr34148.diff 2007-11-22 15:45:02.000000000 +0100
+++ /mounts/work_src_done/STABLE/gcc43/pr34238.diff 2007-11-29 12:23:26.000000000 +0100
@@ -1,43 +1,70 @@
-2007-11-20 Richard Guenther <rguenther(a)suse.de>
+Hi!
+
+As shown by the attached testcase (which is probably valid, as
+A<>::a is never used and so it shouldn't be necessary to define
+it), the DECL_INITIAL (decl) == NULL check doesn't work in cases
+where it is actually never needed, only instantiated
+(in that case tsubst_decl clears DECL_INITIAL:
+ /* We do NOT check for matching decls pushed separately at this
+ point, as they may not represent instantiations of this
+ template, and in any case are considered separate under the
+ discrete model. */
+ r = copy_decl (t);
+ DECL_USE_TEMPLATE (r) = 0;
+ TREE_TYPE (r) = type;
+ /* Clear out the mangled name and RTL for the instantiation. */
+ SET_DECL_ASSEMBLER_NAME (r, NULL_TREE);
+ SET_DECL_RTL (r, NULL_RTX);
+ DECL_INITIAL (r) = NULL_TREE;
+ DECL_CONTEXT (r) = ctx;
+). The following patch fixes that. For the const static data members
+with initializers in the class definition we won't issue any diagnostics,
+but IMHO that's far less severe than making up the vars with default
+initializer when there is none. I've also tried (attached patch)
+instead delay this diagnostics after the vars have been output, so we
+know for sure if it was emitted or not. That also fixes this anon9.C
+and anon10.C gives diagnostics while it is without any diagnostics ATM,
+but anon6.C breaks - there is the A<int>::c var actually emitted into
+assembly, even when nobody really needs it :( (with or without the patch),
+so with that alternate patch which checks TREE_ASM_WRITTEN we error on
+anon6.C.
+
+Is the first patch ok for trunk? Bootstrapped/regtested on x86_64-linux.
+
+2007-11-26 Jakub Jelinek <jakub(a)redhat.com>
+
+ PR c++/34238
+ * decl2.c (cp_write_global_declarations): Test
+ !DECL_INITIALIZED_IN_CLASS_P instead of checking NULL
+ DECL_INITIAL.
+
+ * g++.dg/ext/visibility/anon9.C: New test.
+
+--- gcc/cp/decl2.c.jj 2007-11-22 15:03:54.000000000 +0100
++++ gcc/cp/decl2.c 2007-11-26 21:04:38.000000000 +0100
+@@ -3375,7 +3375,7 @@ cp_write_global_declarations (void)
+ namespace { struct A { static const int i = 4; } };
+ decl_needed_p won't reliably detect whether it was
+ really needed. */
+- if (DECL_IN_AGGR_P (decl) && DECL_INITIAL (decl) == NULL_TREE)
++ if (DECL_IN_AGGR_P (decl) && !DECL_INITIALIZED_IN_CLASS_P (decl))
+ error ("%Jstatic data member %qD used, but not defined",
+ decl, decl);
+ DECL_EXTERNAL (decl) = 0;
+--- gcc/testsuite/g++.dg/ext/visibility/anon9.C.jj 2007-11-26 21:37:34.000000000 +0100
++++ gcc/testsuite/g++.dg/ext/visibility/anon9.C 2007-11-26 21:38:01.000000000 +0100
+@@ -0,0 +1,11 @@
++// PR c++/34238
++// { dg-do compile }
++
++namespace
++{
++ template <typename T = int> struct A
++ {
++ static const bool a = true;
++ };
++}
++struct A<> a;
+
+ Jakub
- PR tree-optimization/34148
- * tree-ssa-structalias.c (create_variable_info_for): Do not use
- field-sensitive PTA for single-element structures.
- * tree-ssa-alias.c (create_overlap_variables_for): Do not create
- SFTs for single-element structures.
-
-Index: gcc/tree-ssa-structalias.c
-===================================================================
-*** gcc/tree-ssa-structalias.c (revision 130288)
---- gcc/tree-ssa-structalias.c (working copy)
-*************** create_variable_info_for (tree decl, con
-*** 4441,4446 ****
---- 4441,4447 ----
- && !notokay
- && !vi->is_unknown_size_var
- && var_can_have_subvars (decl)
-+ && VEC_length (fieldoff_s, fieldstack) > 1
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
- {
- unsigned int newindex = VEC_length (varinfo_t, varmap);
-Index: gcc/tree-ssa-alias.c
-===================================================================
-*** gcc/tree-ssa-alias.c (revision 130288)
---- gcc/tree-ssa-alias.c (working copy)
-*************** create_overlap_variables_for (tree var)
-*** 3837,3843 ****
- TREE_TYPE (var));
- /* Make sure to not create SFTs for structs we won't generate variable
- infos for. See tree-ssa-structalias.c:create_variable_info_for (). */
-! if (VEC_length (fieldoff_s, fieldstack) != 0
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
- {
- subvar_t *subvars;
---- 3837,3843 ----
- TREE_TYPE (var));
- /* Make sure to not create SFTs for structs we won't generate variable
- infos for. See tree-ssa-structalias.c:create_variable_info_for (). */
-! if (VEC_length (fieldoff_s, fieldstack) > 1
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
- {
- subvar_t *subvars;
++++++ pr34148.diff -> pr34244.diff ++++++
--- gcc43/pr34148.diff 2007-11-22 15:45:02.000000000 +0100
+++ /mounts/work_src_done/STABLE/gcc43/pr34244.diff 2007-11-29 11:06:45.000000000 +0100
@@ -1,43 +1,241 @@
-2007-11-20 Richard Guenther <rguenther(a)suse.de>
+Hi,
- PR tree-optimization/34148
- * tree-ssa-structalias.c (create_variable_info_for): Do not use
- field-sensitive PTA for single-element structures.
- * tree-ssa-alias.c (create_overlap_variables_for): Do not create
- SFTs for single-element structures.
+we have a code like
-Index: gcc/tree-ssa-structalias.c
+if (something)
+ offset = 100;
+else
+ offset = -100;
+
+while (offset > 0)
+ offset--;
+
+if (offset == 0)
+ launch_nuclear_rockets ();
+
+VRP starts simulating the code, first executing the true branch of the if
+(something) condition, getting offset = 100. It then proceeds with the loop,
+determining that number of iterations is equal to offset (since we just now
+believe that offset==100, this is correct, without any assumptions), thus the
+final value of offset is 0 and launch_nuclear_rockets is considered to be
+always executed.
+
+Later, VRP evaluates the false branch of the if (something) condition, setting
+the value range of offset to [-100,100], and proceeds to re-evaluate the
+effects of the loop. However, scev caches the number of iterations of the
+loop, so it is not re-evaluated, and we keep believing that the final value of
+offset is always zero.
+
+Forcing scev to recompute the number of iterations every time some value range
+changes would probably lead to compile time problems (computing number of iterations
+is fairly expensive, and we used to have compile time problems with that in other
+passes). Instead, the patch forces scev to compute and cache the number of iterations
+of each loop before vrp analysis starts, and cache these values (that do not use
+the partial results of VRP).
+
+Bootstrapped & regtested on amd64-linux.
+
+Zdenek
+
+ PR tree-optimization/34244
+ * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
+ (record_numbers_of_iterations): New function.
+ (execute_vrp): Cache the numbers of iterations of loops.
+ * tree-scalar-evolution.c (scev_reset_except_niters):
+ New function.
+ (scev_reset): Use scev_reset_except_niters.
+ * tree-scalar-evolution.h (scev_reset_except_niters): Declare.
+
+ * gcc.dg/tree-ssa/pr34244.c: New test.
+
+Index: gcc/tree-vrp.c
===================================================================
-*** gcc/tree-ssa-structalias.c (revision 130288)
---- gcc/tree-ssa-structalias.c (working copy)
-*************** create_variable_info_for (tree decl, con
-*** 4441,4446 ****
---- 4441,4447 ----
- && !notokay
- && !vi->is_unknown_size_var
- && var_can_have_subvars (decl)
-+ && VEC_length (fieldoff_s, fieldstack) > 1
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
- {
- unsigned int newindex = VEC_length (varinfo_t, varmap);
-Index: gcc/tree-ssa-alias.c
+*** gcc/tree-vrp.c (revision 130489)
+--- gcc/tree-vrp.c (working copy)
+*************** adjust_range_with_scev (value_range_t *v
+*** 2636,2641 ****
+--- 2636,2648 ----
+ if (vr->type == VR_ANTI_RANGE)
+ return;
+
++ /* Ensure that there are not values in the scev cache based on assumptions
++ on ranges of ssa names that were changed
++ (in set_value_range/set_value_range_to_varying). Preserve cached numbers
++ of iterations, that were computed before the start of VRP (we do not
++ recompute these each time to save the compile time). */
++ scev_reset_except_niters ();
++
+ chrec = instantiate_parameters (loop, analyze_scalar_evolution (loop, var));
+
+ /* Like in PR19590, scev can return a constant function. */
+*************** vrp_finalize (void)
+*** 6047,6052 ****
+--- 6054,6073 ----
+ vr_phi_edge_counts = NULL;
+ }
+
++ /* Calculates number of iterations for all loops, to ensure that they are
++ cached. */
++
++ static void
++ record_numbers_of_iterations (void)
++ {
++ loop_iterator li;
++ struct loop *loop;
++
++ FOR_EACH_LOOP (li, loop, 0)
++ {
++ number_of_latch_executions (loop);
++ }
++ }
+
+ /* Main entry point to VRP (Value Range Propagation). This pass is
+ loosely based on J. R. C. Patterson, ``Accurate Static Branch
+*************** execute_vrp (void)
+*** 6101,6106 ****
+--- 6122,6138 ----
+
+ insert_range_assertions ();
+
++ /* Compute the # of iterations for each loop before we start the VRP
++ analysis. The value ranges determined by VRP are used in expression
++ simplification, that is also used by the # of iterations analysis.
++ However, in the middle of the VRP analysis, the value ranges do not take
++ all the possible paths in CFG into account, so they do not have to be
++ correct, and the # of iterations analysis can obtain wrong results.
++ This is a problem, since the results of the # of iterations analysis
++ are cached, so these mistakes would not be corrected when the value
++ ranges are corrected. */
++ record_numbers_of_iterations ();
++
+ vrp_initialize ();
+ ssa_propagate (vrp_visit_stmt, vrp_visit_phi_node);
+ vrp_finalize ();
+Index: gcc/tree-scalar-evolution.c
===================================================================
-*** gcc/tree-ssa-alias.c (revision 130288)
---- gcc/tree-ssa-alias.c (working copy)
-*************** create_overlap_variables_for (tree var)
-*** 3837,3843 ****
- TREE_TYPE (var));
- /* Make sure to not create SFTs for structs we won't generate variable
- infos for. See tree-ssa-structalias.c:create_variable_info_for (). */
-! if (VEC_length (fieldoff_s, fieldstack) != 0
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
+*** gcc/tree-scalar-evolution.c (revision 130489)
+--- gcc/tree-scalar-evolution.c (working copy)
+*************** scev_initialize (void)
+*** 2608,2613 ****
+--- 2608,2623 ----
+ }
+ }
+
++ /* Clean the scalar evolution analysis cache, but preserve the cached
++ numbers of iterations for the loops. */
++
++ void
++ scev_reset_except_niters (void)
++ {
++ if (scalar_evolution_info)
++ htab_empty (scalar_evolution_info);
++ }
++
+ /* Cleans up the information cached by the scalar evolutions analysis. */
+
+ void
+*************** scev_reset (void)
+*** 2619,2625 ****
+ if (!scalar_evolution_info || !current_loops)
+ return;
+
+! htab_empty (scalar_evolution_info);
+ FOR_EACH_LOOP (li, loop, 0)
{
- subvar_t *subvars;
---- 3837,3843 ----
- TREE_TYPE (var));
- /* Make sure to not create SFTs for structs we won't generate variable
- infos for. See tree-ssa-structalias.c:create_variable_info_for (). */
-! if (VEC_length (fieldoff_s, fieldstack) > 1
- && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
+ loop->nb_iterations = NULL_TREE;
+--- 2629,2636 ----
+ if (!scalar_evolution_info || !current_loops)
+ return;
+
+! scev_reset_except_niters ();
+!
+ FOR_EACH_LOOP (li, loop, 0)
{
- subvar_t *subvars;
+ loop->nb_iterations = NULL_TREE;
+Index: gcc/tree-scalar-evolution.h
+===================================================================
+*** gcc/tree-scalar-evolution.h (revision 130489)
+--- gcc/tree-scalar-evolution.h (working copy)
+*************** extern tree get_loop_exit_condition (con
+*** 27,32 ****
+--- 27,33 ----
+
+ extern void scev_initialize (void);
+ extern void scev_reset (void);
++ extern void scev_reset_except_niters (void);
+ extern void scev_finalize (void);
+ extern tree analyze_scalar_evolution (struct loop *, tree);
+ extern tree instantiate_parameters (struct loop *, tree);
+Index: gcc/testsuite/gcc.dg/tree-ssa/pr34244.c
+===================================================================
+*** gcc/testsuite/gcc.dg/tree-ssa/pr34244.c (revision 0)
+--- gcc/testsuite/gcc.dg/tree-ssa/pr34244.c (revision 0)
+***************
+*** 0 ****
+--- 1,65 ----
++ /* PR tree-optimization/34244 */
++ /* { dg-do run } */
++ /* { dg-options "-O2 " } */
++
++ int __attribute__((noinline)) GetParent(void)
++ {
++ static int count = 0;
++ count++;
++ switch (count)
++ {
++ case 1:
++ case 3:
++ case 4:
++ return 1;
++ default:
++ return 0;
++ }
++ }
++ int __attribute__((noinline)) FindCommonAncestor(int aNode1, int aNode2)
++ {
++ if (aNode1 && aNode2) {
++ int offset = 0;
++ int anc1 = aNode1;
++ for (;;) {
++ ++offset;
++ int parent = GetParent();
++ if (!parent)
++ break;
++ anc1 = parent;
++ }
++ int anc2 = aNode2;
++ for (;;) {
++ --offset;
++ int parent = GetParent();
++ if (!parent)
++ break;
++ anc2 = parent;
++ }
++ if (anc1 == anc2) {
++ anc1 = aNode1;
++ anc2 = aNode2;
++ while (offset > 0) {
++ anc1 = GetParent();
++ --offset;
++ }
++ while (offset < 0) {
++ anc2 = GetParent();
++ ++offset;
++ }
++ while (anc1 != anc2) {
++ anc1 = GetParent();
++ anc2 = GetParent();
++ }
++ return anc1;
++ }
++ }
++ return 0;
++ }
++ extern void abort (void);
++ int main()
++ {
++ if (FindCommonAncestor (1, 1) != 0)
++ abort ();
++ return 0;
++ }
+
++++++ revert-pr25950.diff ++++++
--- /var/tmp/diff_new_pack.z29573/_old 2007-11-30 16:12:26.000000000 +0100
+++ /var/tmp/diff_new_pack.z29573/_new 2007-11-30 16:12:26.000000000 +0100
@@ -1,7 +1,7 @@
Index: gcc/cp/call.c
===================================================================
-*** gcc/cp/call.c (revision 130276)
---- gcc/cp/call.c (working copy)
+*** gcc/cp/call.c.orig 2007-11-27 14:27:45.000000000 +0100
+--- gcc/cp/call.c 2007-11-28 11:57:06.000000000 +0100
*************** struct conversion {
*** 89,94 ****
--- 89,98 ----
@@ -250,19 +250,19 @@
bitwise or of LOOKUP_* values. If any errors are warnings are
generated, set *DIAGNOSTIC_FN to "error" or "warning",
*************** convert_like_real (conversion *convs, tr
-*** 4421,4426 ****
---- 4445,4452 ----
- leave it as an lvalue. */
+*** 4422,4427 ****
+--- 4446,4453 ----
if (inner >= 0)
- expr = decl_constant_value (expr);
-+ if (convs->check_copy_constructor_p)
-+ check_constructor_callable (totype, expr);
- return expr;
- case ck_ambig:
- /* Call build_user_type_conversion again for the error. */
+ {
+ expr = decl_constant_value (expr);
++ if (convs->check_copy_constructor_p)
++ check_constructor_callable (totype, expr);
+ if (expr == null_node && INTEGRAL_TYPE_P (totype))
+ /* If __null has been converted to an integer type, we do not
+ want to warn about uses of EXPR as an integer, rather than
*************** convert_like_real (conversion *convs, tr
-*** 4450,4455 ****
---- 4476,4483 ----
+*** 4457,4462 ****
+--- 4483,4490 ----
{
/* We are going to bind a reference directly to a base-class
subobject of EXPR. */
@@ -272,8 +272,8 @@
expr = build_unary_op (ADDR_EXPR, expr, 0);
expr = convert_to_base (expr, build_pointer_type (totype),
*************** initialize_reference (tree type, tree ex
-*** 6793,6798 ****
---- 6821,6828 ----
+*** 6800,6805 ****
+--- 6828,6835 ----
remember that the conversion was required. */
if (conv->kind == ck_base)
{
@@ -284,8 +284,8 @@
}
Index: gcc/cp/cp-tree.h
===================================================================
-*** gcc/cp/cp-tree.h (revision 130276)
---- gcc/cp/cp-tree.h (working copy)
+*** gcc/cp/cp-tree.h.orig 2007-11-19 11:36:02.000000000 +0100
+--- gcc/cp/cp-tree.h 2007-11-28 11:53:41.000000000 +0100
*************** enum overload_flags { NO_SPECIAL = 0, DT
*** 3698,3707 ****
#define LOOKUP_PREFER_NAMESPACES (1 << 9)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package sqlite
checked in at Fri Nov 30 16:13:21 CET 2007.
--------
--- sqlite/sqlite.changes 2007-11-06 14:41:16.000000000 +0100
+++ /mounts/work_src_done/STABLE/sqlite/sqlite.changes 2007-11-30 08:56:34.000000000 +0100
@@ -1,0 +2,23 @@
+Fri Nov 30 08:51:31 CET 2007 - adrian(a)suse.de
+
+- update to version 3.5.3
+ * documentation has been removed from tar ball.
+
+ From official changelog:
+ * Fix a long-standing bug in INSERT INTO ... SELECT ... statements
+ where the SELECT is compound.
+ * Fix a long-standing bug in RAISE(IGNORE) as used in BEFORE triggers.
+ * Fixed the operator precedence for the ~ operator.
+ * Allow collating sequence names to be quoted.
+ * Modify the TCL interface to use sqlite3_prepare_v2().
+ * Fix multiple bugs that can occur following a malloc() failure.
+ * sqlite3_step() returns SQLITE_MISUSE instead of crashing when
+ called with a NULL parameter.
+ * FTS3 now uses the SQLite memory allocator exclusively. The FTS3
+ amalgamation can now be appended to the SQLite amalgamation to
+ generate a super-amalgamation containing both.
+ * The DISTINCT keyword now will sometimes use an INDEX if an
+ appropriate index is available and the optimizer thinks its use
+ might be advantageous.
+
+-------------------------------------------------------------------
Old:
----
sqlite-3.5.2.tar.bz2
New:
----
sqlite-3.5.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sqlite.spec ++++++
--- /var/tmp/diff_new_pack.F31652/_old 2007-11-30 16:13:06.000000000 +0100
+++ /var/tmp/diff_new_pack.F31652/_new 2007-11-30 16:13:06.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package sqlite (Version 3.5.2)
+# spec file for package sqlite (Version 3.5.3)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -19,7 +19,7 @@
Group: Productivity/Databases/Servers
Summary: Embeddable SQL Database Engine
Url: http://www.sqlite.org/
-Version: 3.5.2
+Version: 3.5.3
Release: 1
Source0: http://www.sqlite.org/%name-%version.tar.bz2
Source1: sqlite.desktop
@@ -120,7 +120,6 @@
--enable-tempstore=yes \
--sysconfdir=/etc/
make
- make doc
#
# check if fsync() on directories works with the current file
# system, and skip the test suite if it doesn't.
@@ -142,14 +141,6 @@
#%if %{?suse_version:1}%{?!suse_version:0}
# sed -i 's,%buildroot,,' %buildroot/%tclscriptdir/sqlite*/pkgIndex.tcl
#%endif
- #
- # install the susehelp meta file
- mkdir -p $RPM_BUILD_ROOT/usr/share/susehelp/meta/Development/Libraries/
- install -m 0644 %SOURCE1 \
- $RPM_BUILD_ROOT/usr/share/susehelp/meta/Development/Libraries/
-%if %{?suse_version:1}%{?!suse_version:0}
- %suse_update_desktop_file $RPM_BUILD_ROOT/usr/share/susehelp/meta/Development/Libraries/%name.desktop
-%endif
%clean
rm -rf $RPM_BUILD_ROOT
@@ -170,14 +161,32 @@
%files devel
%defattr(-,root,root)
-%doc build/doc/*
-%doc /usr/share/susehelp
/usr/include/*.h
%_libdir/libsqlite*.a
%_libdir/libsqlite*.la
%_libdir/libsqlite*.so
%_libdir/pkgconfig/sqlite3.pc
+
%changelog
+* Fri Nov 30 2007 - adrian(a)suse.de
+- update to version 3.5.3
+ * documentation has been removed from tar ball.
+ From official changelog:
+ * Fix a long-standing bug in INSERT INTO ... SELECT ... statements
+ where the SELECT is compound.
+ * Fix a long-standing bug in RAISE(IGNORE) as used in BEFORE triggers.
+ * Fixed the operator precedence for the ~ operator.
+ * Allow collating sequence names to be quoted.
+ * Modify the TCL interface to use sqlite3_prepare_v2().
+ * Fix multiple bugs that can occur following a malloc() failure.
+ * sqlite3_step() returns SQLITE_MISUSE instead of crashing when
+ called with a NULL parameter.
+ * FTS3 now uses the SQLite memory allocator exclusively. The FTS3
+ amalgamation can now be appended to the SQLite amalgamation to
+ generate a super-amalgamation containing both.
+ * The DISTINCT keyword now will sometimes use an INDEX if an
+ appropriate index is available and the optimizer thinks its use
+ might be advantageous.
* Mon Nov 05 2007 - adrian(a)suse.de
- update to version 3.5.2
From the official changelog:
++++++ sqlite-3.5.2.tar.bz2 -> sqlite-3.5.3.tar.bz2 ++++++
++++ 42615 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package m4
checked in at Fri Nov 30 16:12:59 CET 2007.
--------
--- m4/m4.changes 2007-07-10 14:35:44.000000000 +0200
+++ /mounts/work_src_done/STABLE/m4/m4.changes 2007-11-26 13:24:57.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Nov 26 13:24:51 CET 2007 - schwab(a)suse.de
+
+- Remove broken tests.
+
+-------------------------------------------------------------------
New:
----
m4-1.4.10.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ m4.spec ++++++
--- /var/tmp/diff_new_pack.M23628/_old 2007-11-30 16:12:11.000000000 +0100
+++ /var/tmp/diff_new_pack.M23628/_new 2007-11-30 16:12:11.000000000 +0100
@@ -14,13 +14,14 @@
License: GPL v3 or later
Group: Development/Languages/Other
Provides: base:/usr/bin/m4
-Autoreqprov: on
+AutoReqProv: on
PreReq: %{install_info_prereq}
Version: 1.4.10
-Release: 1
+Release: 25
Summary: GNU m4
-URL: http://www.gnu.org/software/m4/
+Url: http://www.gnu.org/software/m4/
Source: ftp://ftp.gnu.org/pub/gnu/m4/m4-%{version}.tar.bz2
+Patch: m4-%{version}.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -34,8 +35,11 @@
%prep
%setup
+%patch
%build
+AUTOPOINT=true autoreconf -fi
+gl_cv_func_printf_directive_n=yes \
./configure CFLAGS="$RPM_OPT_FLAGS" --without-included-regex \
--prefix=/usr --mandir=%{_mandir} --infodir=%{_infodir}
make
@@ -58,6 +62,8 @@
%{_mandir}/*/*
%changelog
+* Mon Nov 26 2007 - schwab(a)suse.de
+- Remove broken tests.
* Tue Jul 10 2007 - schwab(a)suse.de
- Update to m4 1.4.10.
* Upgrade from GPL version 2 to GPL version 3 or later.
++++++ m4-1.4.10.diff ++++++
--- m4/gnulib-comp.m4
+++ m4/gnulib-comp.m4
@@ -105,7 +105,6 @@ AC_DEFUN([M4_INIT],
gl_PATHMAX
gl_FUNC_PRINTF_FREXP
gl_FUNC_PRINTF_FREXPL
- m4_divert_text([INIT_PREPARE], [gl_printf_safe=yes])
gl_QUOTEARG
gl_REGEX
gl_SIGNAL_H
--- tests/Makefile.am
+++ tests/Makefile.am
@@ -256,13 +256,6 @@ check_PROGRAMS += test-unistd
## end gnulib module unistd-tests
-## begin gnulib module vasnprintf-tests
-
-TESTS += test-vasnprintf
-check_PROGRAMS += test-vasnprintf
-
-## end gnulib module vasnprintf-tests
-
## begin gnulib module vasprintf-posix-tests
TESTS += test-vasprintf-posix
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package hdparm
checked in at Fri Nov 30 16:12:04 CET 2007.
--------
--- hdparm/hdparm.changes 2007-08-10 12:30:50.000000000 +0200
+++ /mounts/work_src_done/STABLE/hdparm/hdparm.changes 2007-11-30 15:49:15.168269000 +0100
@@ -1,0 +2,5 @@
+Fri Nov 30 15:48:58 CET 2007 - ro(a)suse.de
+
+- added sd* to udev rule (#340039)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hdparm.spec ++++++
--- /var/tmp/diff_new_pack.T20066/_old 2007-11-30 16:11:53.000000000 +0100
+++ /var/tmp/diff_new_pack.T20066/_new 2007-11-30 16:11:53.000000000 +0100
@@ -15,9 +15,9 @@
Group: Hardware/Other
PreReq: %insserv_prereq %fillup_prereq coreutils
Provides: base:/sbin/hdparm
-Autoreqprov: on
+AutoReqProv: on
Version: 7.7
-Release: 1
+Release: 18
Summary: A Program to Get and Set Hard Disk Parameters
Source: hdparm-%{version}.tar.bz2
Source1: 56-idedma.rules
@@ -26,7 +26,7 @@
Patch: hdparm-7.6-err_return.patch
Patch1: hdparm-5.8-silence.patch
Patch2: nostrip.patch
-URL: http://sourceforge.net/projects/hdparm/
+Url: http://sourceforge.net/projects/hdparm/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -112,6 +112,8 @@
/var/adm/fillup-templates/sysconfig.ide
%changelog
+* Fri Nov 30 2007 - ro(a)suse.de
+- added sd* to udev rule (#340039)
* Fri Aug 10 2007 - ro(a)suse.de
- update to 7.7
- fixed bug whereby old data was shown after settings changed (eg. with -W0)
++++++ 56-idedma.rules ++++++
--- hdparm/56-idedma.rules 2005-11-30 12:32:00.000000000 +0100
+++ /mounts/work_src_done/STABLE/hdparm/56-idedma.rules 2007-11-30 15:48:54.319657000 +0100
@@ -1,2 +1,3 @@
# start idedma script for each added IDE device
KERNEL=="hd*[!0-9]", ACTION=="add", RUN+="/lib/udev/idedma.sh /dev/%k"
+KERNEL=="sd*[!0-9]", ACTION=="add", RUN+="/lib/udev/idedma.sh /dev/%k"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package gcc
checked in at Fri Nov 30 16:11:47 CET 2007.
--------
--- gcc/gcc.changes 2007-11-16 16:17:11.000000000 +0100
+++ /mounts/work_src_done/STABLE/gcc/gcc.changes 2007-11-29 12:12:24.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Nov 23 14:53:40 CET 2007 - rguenther(a)suse.de
+
+- Make gcc-gij dependency of gcc-java a recommendation, all java
+ tools are back to the gcc-java package. Require libgcj-devel
+ from gcc-java.
+- Revert /lib/cpp changes.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gcc.spec ++++++
--- /var/tmp/diff_new_pack.Q15147/_old 2007-11-30 16:11:31.000000000 +0100
+++ /var/tmp/diff_new_pack.Q15147/_new 2007-11-30 16:11:31.000000000 +0100
@@ -24,7 +24,7 @@
%define gcc_suffix 4.3
License: GPL v2 or later
Version: 4.3
-Release: 6
+Release: 9
Group: Development/Languages/C and C++
Summary: The system GNU C Compiler
Provides: c_compiler
@@ -192,7 +192,8 @@
Group: Development/Languages/Java
Summary: The system GNU Java Compiler
Requires: gcc%{gcc_version}-java
-Requires: gcc%{gcc_version}-gij
+Requires: libgcj-devel
+Recommends: gcc-gij
Requires: gcc
%description -n gcc-java
@@ -352,13 +353,13 @@
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/doc/packages/gcc-objc/
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/doc/packages/gcc-obj-c++/
# Link all the binaries
-# XXX gjavah
+# - do not link binaries that conflict with classpath for now
for program in \
gcc gcov \
g++ \
cpp \
- gcj jcf-dump \
- gc-analyze gcj-dbtool gcjh gij jv-convert \
+ gcj gcjh gcj-dbtool jcf-dump jv-convert gc-analyze \
+ gij \
%if 0
gappletviewer \
gjar gjarsigner gjavah gkeytool gnative2ascii gorbd grmic \
@@ -383,13 +384,14 @@
ln -sf $program-%{gcc_suffix} $RPM_BUILD_ROOT%{_prefix}/bin/$program
done
# Link section 1 manpages
-# XXX gjavah
+# - do not link manpages that conflict with classpath for now
for man1 in \
gcc gcov \
g++ \
cpp \
gfortran \
- gcj jcf-dump gc-analyze gcj-dbtool gij \
+ gcj gcjh gcj-dbtool jcf-dump jv-convert gc-analyze \
+ gij \
%if 0
gappletviewer gjar gjarsigner gjavah \
gkeytool gnative2ascii gorbd grmic grmid grmiregistry gserialver \
@@ -437,17 +439,21 @@
%files -n gcc-java
%defattr(-,root,root)
%{_prefix}/bin/gcj
+%{_prefix}/bin/gcjh
+%{_prefix}/bin/gcj-dbtool
%{_prefix}/bin/jcf-dump
+%{_prefix}/bin/jv-convert
+%{_prefix}/bin/gc-analyze
%doc %{_mandir}/man1/gcj.1.gz
+%doc %{_mandir}/man1/gcjh.1.gz
+%doc %{_mandir}/man1/gcj-dbtool.1.gz
%doc %{_mandir}/man1/jcf-dump.1.gz
+%doc %{_mandir}/man1/jv-convert.1.gz
+%doc %{_mandir}/man1/gc-analyze.1.gz
%files -n gcc-gij
%defattr(-,root,root)
-%{_prefix}/bin/gc-analyze
-%{_prefix}/bin/gcj-dbtool
-%{_prefix}/bin/gcjh
%{_prefix}/bin/gij
-%{_prefix}/bin/jv-convert
%if 0
%{_prefix}/bin/gappletviewer
%{_prefix}/bin/gjar
@@ -462,8 +468,6 @@
%{_prefix}/bin/gserialver
%{_prefix}/bin/gtnameserv
%endif
-%doc %{_mandir}/man1/gc-analyze.1.gz
-%doc %{_mandir}/man1/gcj-dbtool.1.gz
%doc %{_mandir}/man1/gij.1.gz
%if 0
%doc %{_mandir}/man1/gappletviewer.1.gz
@@ -591,6 +595,11 @@
%endif
%changelog
+* Fri Nov 23 2007 - rguenther(a)suse.de
+- Make gcc-gij dependency of gcc-java a recommendation, all java
+ tools are back to the gcc-java package. Require libgcj-devel
+ from gcc-java.
+- Revert /lib/cpp changes.
* Fri Nov 16 2007 - rguenther(a)suse.de
- For now disable symlinking of binaries and manpages that
conflict with the classpath package.
++++++ cpp ++++++
--- gcc/cpp 2007-11-13 14:37:26.000000000 +0100
+++ /mounts/work_src_done/STABLE/gcc/cpp 2007-11-29 12:12:07.000000000 +0100
@@ -1,4 +1,3 @@
#!/bin/sh
# Traditionally, /lib/cpp only knew about C.
-# Also supress GCC and target specific defines and be more permissive.
-exec /usr/bin/cpp -xc -traditional-cpp -undef "$@"
+exec /usr/bin/cpp -xc "$@"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package emacs
checked in at Fri Nov 30 16:11:38 CET 2007.
--------
--- emacs/emacs.changes 2007-11-05 13:56:15.000000000 +0100
+++ /mounts/work_src_done/STABLE/emacs/emacs.changes 2007-11-22 17:04:06.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Nov 22 14:23:04 CET 2007 - schwab(a)suse.de
+
+- Fix buffer overflow in format [#342158].
+- Remove obsolete patches.
+
+-------------------------------------------------------------------
New:
----
emacs-22.1-format.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ emacs.spec ++++++
--- /var/tmp/diff_new_pack.f14553/_old 2007-11-30 16:11:23.000000000 +0100
+++ /var/tmp/diff_new_pack.f14553/_new 2007-11-30 16:11:23.000000000 +0100
@@ -20,7 +20,7 @@
Provides: ge_site ge_exec emacs-url Mule-UCS emacs-calc erc
AutoReqProv: on
Version: 22.1
-Release: 56
+Release: 62
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: GNU Emacs Base Package
Source: emacs-22.1.tar.bz2
@@ -45,6 +45,7 @@
Patch13: emacs-22.0.99-s390x.dif
Patch14: emacs-22.1-conf.diff
Patch15: emacs-22.1-CVE-2007-5795.dif
+Patch16: emacs-22.1-format.diff
%{expand: %%global _exec_prefix %(type -p pkg-config &>/dev/null && pkg-config --variable prefix x11 || echo /usr/X11R6)}
%if "%_exec_prefix" == "/usr/X11R6"
%define _x11lib %{_exec_prefix}/%{_lib}
@@ -214,6 +215,7 @@
%patch13 -p0 -b .s390x
%patch14
%patch15 -p0 -b .CVE20075795
+%patch16
%patch
if test ! -e $HOME/.mh_profile && type -p install-mh > /dev/null 2>&1; then
install-mh -auto < /dev/null
@@ -3188,7 +3190,11 @@
/usr/share/emacs/%{version}/lisp/x-dnd.el.gz
/usr/share/emacs/%{version}/lisp/xml.el.gz
/usr/share/emacs/%{version}/lisp/xt-mouse.el.gz
+
%changelog
+* Thu Nov 22 2007 - schwab(a)suse.de
+- Fix buffer overflow in format [#342158].
+- Remove obsolete patches.
* Mon Nov 05 2007 - werner(a)suse.de
- Fix insufficient safe mode checks (bug #339033, CVE-2007-5795)
* Fri Sep 07 2007 - schwab(a)suse.de
++++++ emacs-22.0.99.dif ++++++
--- /var/tmp/diff_new_pack.f14553/_old 2007-11-30 16:11:24.000000000 +0100
+++ /var/tmp/diff_new_pack.f14553/_new 2007-11-30 16:11:24.000000000 +0100
@@ -1147,7 +1147,7 @@
+;; Ende von linux.el
--- site-lisp/term/locale.el
+++ site-lisp/term/locale.el 2007-06-04 15:26:38.703969552 +0200
-@@ -0,0 +1,37 @@
+@@ -0,0 +1,16 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/locale.el for site-lisp path
+;;; Copyright (c) 1996-2003 SuSE Linux AG Nuernberg, Germany.
@@ -1155,27 +1155,6 @@
+;;;
+;;; Author: Werner Fink <werner(a)suse.de>, No warranty of any kind
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-+;;
-+;; Umlaute
-+;; -------
-+
-+(let* ((tmp (shell-command-to-string "locale charmap"))
-+ (tmp (substring tmp 0 (string-match "\[ \t\n\]" tmp)))
-+ (tmp (downcase tmp)))
-+ (when (coding-system-p (intern tmp))
-+ (set-keyboard-coding-system (intern tmp))
-+ (set-terminal-coding-system (intern tmp))
-+ (set-default-coding-systems (intern tmp))))
-+;; Set this only if no default is given
-+(unless (terminal-coding-system)
-+ (set-terminal-coding-system 'iso-latin-9))
-+;; Set input mode
-+(let ((value (current-input-mode)))
-+ (set-input-mode (nth 0 value)
-+ (nth 1 value)
-+ (terminal-coding-system)
-+ ;; This quit value is optional
-+ (nth 3 value)))
+
+(add-hook 'term-setup-hook (function (lambda ()
+ (load "term/func-keys" t t))))
@@ -1280,40 +1259,6 @@
exit (0);
}
---- src/process.c
-+++ src/process.c 2007-05-15 19:29:13.505217000 +0200
-@@ -528,8 +528,22 @@ status_message (p)
- static int
- allocate_pty ()
- {
-- register int c, i;
- int fd;
-+#ifdef UNIX98_PTYS
-+ if ((fd = getpt ()) < 0)
-+ return -1;
-+
-+ if (grantpt (fd) < 0 ||
-+ unlockpt (fd) < 0 ||
-+ ptsname_r (fd, pty_name, sizeof pty_name))
-+ {
-+ close (fd);
-+ return -1;
-+ }
-+ setup_pty (fd);
-+ return fd;
-+#else
-+ register int c, i;
-
- #ifdef PTY_ITERATION
- PTY_ITERATION
-@@ -607,6 +621,7 @@ allocate_pty ()
- }
- }
- return -1;
-+#endif /* !UNIX98_PTYS */
- }
- #endif /* HAVE_PTYS */
-
--- src/m/hp800.h
+++ src/m/hp800.h 2007-05-15 19:33:25.880021000 +0200
@@ -71,7 +71,7 @@ Boston, MA 02110-1301, USA. */
++++++ emacs-22.1-format.diff ++++++
2007-11-15 Andreas Schwab <schwab(a)suse.de>
* editfns.c (Fformat): Correctly format EMACS_INT values.
Also take precision into account when formatting an integer.
Index: src/editfns.c
================================================================================
--- src/editfns.c
+++ src/editfns.c
@@ -3543,8 +3543,10 @@ usage: (format STRING &rest OBJECTS) */
precision[n+1] = 10 * precision[n+1] + *format - '0';
}
- if (format - this_format_start + 1 > longest_format)
- longest_format = format - this_format_start + 1;
+ /* Extra +1 for 'l' that we may need to insert into the
+ format. */
+ if (format - this_format_start + 2 > longest_format)
+ longest_format = format - this_format_start + 2;
if (format == end)
error ("Format string ends in middle of format specifier");
@@ -3605,7 +3607,7 @@ usage: (format STRING &rest OBJECTS) */
&& *format != 'i' && *format != 'X' && *format != 'c')
error ("Invalid format operation %%%c", *format);
- thissize = 30;
+ thissize = 30 + (precision[n] > 0 ? precision[n] : 0);
if (*format == 'c')
{
if (! SINGLE_BYTE_CHAR_P (XINT (args[n]))
@@ -3803,23 +3805,40 @@ usage: (format STRING &rest OBJECTS) */
format - this_format_start);
this_format[format - this_format_start] = 0;
- if (INTEGERP (args[n]))
+ if (format[-1] == 'e' || format[-1] == 'f' || format[-1] == 'g')
+ sprintf (p, this_format, XFLOAT_DATA (args[n]));
+ else
{
- if (format[-1] == 'd')
- sprintf (p, this_format, XINT (args[n]));
- /* Don't sign-extend for octal or hex printing. */
+ if (sizeof (EMACS_INT) > sizeof (int)
+ && format[-1] != 'c')
+ {
+ /* Insert 'l' before format spec. */
+ this_format[format - this_format_start]
+ = this_format[format - this_format_start - 1];
+ this_format[format - this_format_start - 1] = 'l';
+ this_format[format - this_format_start + 1] = 0;
+ }
+
+ if (INTEGERP (args[n]))
+ {
+ if (format[-1] == 'c')
+ sprintf (p, this_format, (int) XINT (args[n]));
+ else if (format[-1] == 'd')
+ sprintf (p, this_format, XINT (args[n]));
+ /* Don't sign-extend for octal or hex printing. */
+ else
+ sprintf (p, this_format, XUINT (args[n]));
+ }
+ else if (format[-1] == 'c')
+ sprintf (p, this_format, (int) XFLOAT_DATA (args[n]));
+ else if (format[-1] == 'd')
+ /* Maybe we should use "%1.0f" instead so it also works
+ for values larger than MAXINT. */
+ sprintf (p, this_format, (EMACS_INT) XFLOAT_DATA (args[n]));
else
- sprintf (p, this_format, XUINT (args[n]));
+ /* Don't sign-extend for octal or hex printing. */
+ sprintf (p, this_format, (EMACS_UINT) XFLOAT_DATA (args[n]));
}
- else if (format[-1] == 'e' || format[-1] == 'f' || format[-1] == 'g')
- sprintf (p, this_format, XFLOAT_DATA (args[n]));
- else if (format[-1] == 'd')
- /* Maybe we should use "%1.0f" instead so it also works
- for values larger than MAXINT. */
- sprintf (p, this_format, (EMACS_INT) XFLOAT_DATA (args[n]));
- else
- /* Don't sign-extend for octal or hex printing. */
- sprintf (p, this_format, (EMACS_UINT) XFLOAT_DATA (args[n]));
if (p > buf
&& multibyte
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package coreutils
checked in at Fri Nov 30 16:07:09 CET 2007.
--------
--- coreutils/coreutils.changes 2007-07-23 15:15:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/coreutils/coreutils.changes 2007-11-29 14:30:01.000000000 +0100
@@ -1,0 +2,124 @@
+Thu Nov 29 14:28:26 CET 2007 - schwab(a)suse.de
+
+- Update to coreutils-6.9.89.48 snapshot.
+ ** New programs
+ arch: equivalent to uname -m, not installed by default
+ But don't install this program on Solaris systems.
+ mktemp: create a temporary file or directory (or names)
+ ** Programs no longer installed by default
+ hostname, su
+ ** Changes in behavior
+ cp, by default, refuses to copy through a dangling destination symlink
+ Set POSIXLY_CORRECT if you require the old, risk-prone behavior.
+ pr -F no longer suppresses the footer or the first two blank lines in
+ the header. This is for compatibility with BSD and POSIX.
+ tr now warns about an unescaped backslash at end of string.
+ The tr from coreutils-5.2.1 and earlier would fail for such usage,
+ and Solaris' tr ignores that final byte.
+ ** New features
+ Add SELinux support (FIXME: add details here)
+ cp -p tries to preserve the GID of a file even if preserving the UID
+ is not possible.
+ uniq accepts a new option: --zero-terminated (-z). As with the sort
+ option of the same name, this makes uniq consume and produce
+ NUL-terminated lines rather than newline-terminated lines.
+ wc no longer warns about character decoding errors in multibyte locales.
+ This means for example that "wc /bin/sh" now produces normal output
+ (though the word count will have no real meaning) rather than many
+ error messages.
+ ** New build options
+ By default, "make install" no longer attempts to install (or even build) su.
+ To change that, use ./configure --enable-install-program=su.
+ If you also want to install the new "arch" program, do this:
+ ./configure --enable-install-program=arch,su.
+ You can inhibit the compilation and installation of selected programs
+ at configure time. For example, to avoid installing "hostname" and
+ "uptime", use ./configure --enable-no-install-program=hostname,uptime
+ Note: currently, "make check" passes, even when arch and su are not
+ built (that's the new default). However, if you inhibit the building
+ and installation of other programs, don't be surprised if some parts
+ of "make check" fail.
+ ** Remove deprecated options
+ df no longer accepts the --kilobytes option.
+ du no longer accepts the --kilobytes or --megabytes options.
+ ls no longer accepts the --kilobytes option.
+ ptx longer accepts the --copyright option.
+ who no longer accepts -i or --idle.
+ ** Improved robustness
+ ln -f can no longer silently clobber a just-created hard link.
+ In some cases, ln could be seen as being responsible for data loss.
+ For example, given directories a, b, c, and files a/f and b/f, we
+ should be able to do this safely: ln -f a/f b/f c && rm -f a/f b/f
+ However, before this change, ln would succeed, and thus cause the
+ loss of the contents of a/f.
+ stty no longer silently accepts certain invalid hex values
+ in its 35-colon commmand-line argument
+ ** Bug fixes
+ chmod no longer ignores a dangling symlink. Now, chmod fails
+ with a diagnostic saying that it cannot operate on such a file.
+ [bug introduced in coreutils-5.1.0]
+ cp attempts to read a regular file, even if stat says it is empty.
+ Before, "cp /proc/cpuinfo c" would create an empty file when the kernel
+ reports stat.st_size == 0, while "cat /proc/cpuinfo > c" would "work",
+ and create a nonempty one. [bug introduced in coreutils-6.0]
+ cp no longer fails to write through a dangling symlink
+ [bug introduced in coreutils-6.7]. cp --parents no
+ longer mishandles symlinks to directories in file name
+ components in the source, e.g., "cp --parents symlink/a/b
+ d" no longer fails. Also, 'cp' no longer considers a
+ destination symlink to be the same as the referenced file when
+ copying links or making backups. For example, if SYM is a symlink
+ to FILE, "cp -l FILE SYM" now reports an error instead of silently
+ doing nothing. The behavior of 'cp' is now better documented when
+ the destination is a symlink.
+ "cp -i --update older newer" no longer prompts; same for mv
+ "cp -i" now detects read errors on standard input, and no longer consumes
+ too much seekable input; same for ln, install, mv, and rm.
+ cut now diagnoses a range starting with zero (e.g., -f 0-2) as invalid;
+ before, it would treat it as if it started with 1 (-f 1-2).
+ "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-"
+ cut now diagnoses the '-' in "cut -f -" as an invalid range, rather
+ than interpreting it as the unlimited range, "1-".
+ date -d now accepts strings of the form e.g., 'YYYYMMDD +N days',
+ in addition to the usual 'YYYYMMDD N days'.
+ du -s now includes the size of any stat'able-but-inaccessible directory
+ in the total size.
+ du (without -s) prints whatever it knows of the size of an inaccessible
+ directory. Before, du would print nothing for such a directory.
+ ls -x DIR would sometimes output the wrong string in place of the
+ first entry. [introduced in coreutils-6.8]
+ ls --color would mistakenly color a dangling symlink as if it were
+ a regular symlink. This would happen only when the dangling symlink
+ was not a command-line argument and in a directory with d_type support.
+ [introduced in coreutils-6.0]
+ ls --color, (with a custom LS_COLORS envvar value including the
+ ln=target attribute) would mistakenly output the string "target"
+ before the name of each symlink. [introduced in coreutils-6.0]
+ od's --skip (-j) option now works even when the kernel says that a
+ nonempty regular file has stat.st_size = 0. This happens at least
+ with files in /proc and linux-2.6.22.
+ "od -j L FILE" had a bug: when the number of bytes to skip, L, is exactly
+ the same as the length of FILE, od would skip *no* bytes. When the number
+ of bytes to skip is exactly the sum of the lengths of the first N files,
+ od would skip only the first N-1 files. [introduced in textutils-2.0.9]
+ ./printf %.10000000f 1 could get an internal ENOMEM error and generate
+ no output, yet erroneously exit with status 0. Now it diagnoses the error
+ and exits with nonzero status. [present in initial implementation]
+ seq no longer mishandles obvious cases like "seq 0 0.000001 0.000003",
+ so workarounds like "seq 0 0.000001 0.0000031" are no longer needed.
+ seq would mistakenly reject some valid format strings containing %%,
+ and would mistakenly accept some invalid ones. e.g., %g%% and %%g, resp.
+ "seq .1 .1" would mistakenly generate no output on some systems
+ Obsolete sort usage with an invalid ordering-option character, e.g.,
+ "env _POSIX2_VERSION=199209 sort +1x" no longer makes sort free an
+ invalid pointer [introduced in coreutils-6.5]
+ sorting very long lines (relative to the amount of available memory)
+ no longer provokes unaligned memory access
+ split --line-bytes=N (-C N) no longer creates an empty file
+ [this bug is present at least as far back as textutils-1.22 (Jan, 1997)]
+ tr -c no longer aborts when translating with Set2 larger than the
+ complement of Set1. [present in the original version, in 1992]
+ tr no longer rejects an unmatched [:lower:] or [:upper:] in SET1.
+ [present in the original version]
+
+-------------------------------------------------------------------
Old:
----
coreutils-6.9.diff
coreutils-6.9.tar.bz2
fchownat.diff
futimens.diff
ls-x.diff
misalign.diff
no-no.diff
New:
----
coreutils-6.9.89.48-96961.tar.lzma
coreutils-6.9.89.48.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ coreutils.spec ++++++
--- /var/tmp/diff_new_pack.my4549/_old 2007-11-30 16:06:24.000000000 +0100
+++ /var/tmp/diff_new_pack.my4549/_new 2007-11-30 16:06:24.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package coreutils (Version 6.9)
+# spec file for package coreutils (Version 6.9.89.48)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -8,22 +8,22 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
Name: coreutils
-BuildRequires: help2man libacl-devel pam-devel
-URL: http://www.gnu.org/software/coreutils/
+BuildRequires: help2man libacl-devel lzma pam-devel
+Url: http://www.gnu.org/software/coreutils/
License: GPL v2 or later
Group: System/Base
-Provides: fileutils sh-utils stat textutils
-Obsoletes: fileutils sh-utils stat textutils
+Provides: fileutils sh-utils stat textutils mktemp
+Obsoletes: fileutils sh-utils stat textutils mktemp
Obsoletes: libselinux <= 1.23.11-3 libselinux-32bit >= 9 libselinux-64bit = 9 libselinux-x86 = 9
-Autoreqprov: on
+AutoReqProv: on
PreReq: %{install_info_prereq}
-Version: 6.9
-Release: 30
+Version: 6.9.89.48
+Release: 1
Summary: GNU Core Utilities
-Source: coreutils-%{version}.tar.bz2
+%define treeish 96961
+Source: coreutils-%{version}-%treeish.tar.lzma
Source1: su.pamd
Source2: su.default
Patch: coreutils-%{version}.diff
@@ -32,15 +32,10 @@
Patch4: coreutils-5.3.0-i18n-0.1.patch
Patch5: i18n-uninit.diff
Patch6: i18n-infloop.diff
-Patch7: fchownat.diff
Patch8: coreutils-sysinfo.diff
-Patch9: ls-x.diff
-Patch10: futimens.diff
Patch11: i18n-monthsort.diff
Patch12: i18n-random.diff
-Patch13: misalign.diff
Patch16: invalid-ids.diff
-Patch17: no-no.diff
Patch20: coreutils-6.8-su.diff
Patch21: coreutils-6.8.0-pie.diff
Patch22: coreutils-5.3.0-sbin4su.diff
@@ -50,12 +45,13 @@
Basic file, shell, and text manipulation utilities. The package
contains the following programs:
-basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd
-df dir dircolors dirname du echo env expand expr factor false fmt fold
-install groups head id join kill link ln logname ls md5sum mkdir mkfifo
-mknod mv nice nl nohup od paste pathchk pinky pr printenv printf ptx
-pwd readlink rm rmdir seq sha1sum shred sleep sort split stat stty su
-sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq
+[ base64 basename cat chgrp chmod chown chroot cksum comm cp csplit cut
+date dd df dir dircolors dirname du echo env expand expr factor false
+fmt fold groups head id install join kill link ln logname ls md5sum
+mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
+printf ptx pwd readlink rm rmdir seq sha1sum sha224sum sha256sum
+sha384sum sha512sum shred shuf sleep sort split stat stty su sum sux
+sync tac tail tee test touch tr true tsort tty uname unexpand uniq
unlink uptime users vdir wc who whoami yes
@@ -97,33 +93,29 @@
Ulrich Drepper <drepper(a)redhat.com>
%prep
-%setup -q
+%setup -q -n %name-%version-%treeish
%patch1 -p1
%patch4 -p1
%patch5
%patch6
%patch
-%patch7
%patch8 -p1
-%patch9 -p1
-chmod +x tests/ls/x-option
-%patch10
%patch11
%patch12
-%patch13 -p1
%patch16 -p1
-%patch17
%patch20
%patch21
%patch22
-rm -f po/no.*
%build
AUTOPOINT=true autoreconf -fi
+gl_cv_func_printf_directive_n=yes \
./configure CFLAGS="$RPM_OPT_FLAGS -Wall" \
- DEFAULT_POSIX2_VERSION=199209 \
--prefix=%{_prefix} --mandir=%{_mandir} \
- --infodir=%{_infodir} --without-included-regex
+ --infodir=%{_infodir} --without-included-regex \
+ --enable-install-program=arch,su \
+ --enable-no-install-program=hostid \
+ DEFAULT_POSIX2_VERSION=199209
make %{?jobs:-j%jobs} PAMLIBS="-lpam -ldl"
if test $EUID -eq 0; then
su nobody -c make check
@@ -141,7 +133,7 @@
test -f $RPM_BUILD_ROOT%{_bindir}/su || \
install src/su $RPM_BUILD_ROOT%{_bindir}/su
install -d $RPM_BUILD_ROOT/bin
-for i in basename cat chgrp chmod chown cp date dd df echo false kill ln ls mkdir mknod mv pwd rm rmdir sleep sort stty su sync touch true uname
+for i in arch basename cat chgrp chmod chown cp date dd df echo false kill ln ls mkdir mknod mktemp mv pwd rm rmdir sleep sort stty su sync touch true uname
do
mv $RPM_BUILD_ROOT%{_bindir}/$i $RPM_BUILD_ROOT/bin/$i
test $i = su && echo -n '%%attr(4755,root,root) '
@@ -154,10 +146,6 @@
install -d -m 755 $RPM_BUILD_ROOT/etc/default
install -m 644 $RPM_SOURCE_DIR/su.default $RPM_BUILD_ROOT/etc/default/su
ln -sf /bin/su $RPM_BUILD_ROOT%{_bindir}/sux
-rm -f $RPM_BUILD_ROOT%{_bindir}/hostid
-rm -f $RPM_BUILD_ROOT%{_bindir}/hostname
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/hostid.1
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/hostname.1
%find_lang %name
cat bin.files %name.lang > extra-files
@@ -182,6 +170,127 @@
%dir %{_prefix}/share/locale/*/LC_TIME
%changelog
+* Thu Nov 29 2007 - schwab(a)suse.de
+- Update to coreutils-6.9.89.48 snapshot.
+ ** New programs
+ arch: equivalent to uname -m, not installed by default
+ But don't install this program on Solaris systems.
+ mktemp: create a temporary file or directory (or names)
+ ** Programs no longer installed by default
+ hostname, su
+ ** Changes in behavior
+ cp, by default, refuses to copy through a dangling destination symlink
+ Set POSIXLY_CORRECT if you require the old, risk-prone behavior.
+ pr -F no longer suppresses the footer or the first two blank lines in
+ the header. This is for compatibility with BSD and POSIX.
+ tr now warns about an unescaped backslash at end of string.
+ The tr from coreutils-5.2.1 and earlier would fail for such usage,
+ and Solaris' tr ignores that final byte.
+ ** New features
+ Add SELinux support (FIXME: add details here)
+ cp -p tries to preserve the GID of a file even if preserving the UID
+ is not possible.
+ uniq accepts a new option: --zero-terminated (-z). As with the sort
+ option of the same name, this makes uniq consume and produce
+ NUL-terminated lines rather than newline-terminated lines.
+ wc no longer warns about character decoding errors in multibyte locales.
+ This means for example that "wc /bin/sh" now produces normal output
+ (though the word count will have no real meaning) rather than many
+ error messages.
+ ** New build options
+ By default, "make install" no longer attempts to install (or even build) su.
+ To change that, use ./configure --enable-install-program=su.
+ If you also want to install the new "arch" program, do this:
+ ./configure --enable-install-program=arch,su.
+ You can inhibit the compilation and installation of selected programs
+ at configure time. For example, to avoid installing "hostname" and
+ "uptime", use ./configure --enable-no-install-program=hostname,uptime
+ Note: currently, "make check" passes, even when arch and su are not
+ built (that's the new default). However, if you inhibit the building
+ and installation of other programs, don't be surprised if some parts
+ of "make check" fail.
+ ** Remove deprecated options
+ df no longer accepts the --kilobytes option.
+ du no longer accepts the --kilobytes or --megabytes options.
+ ls no longer accepts the --kilobytes option.
+ ptx longer accepts the --copyright option.
+ who no longer accepts -i or --idle.
+ ** Improved robustness
+ ln -f can no longer silently clobber a just-created hard link.
+ In some cases, ln could be seen as being responsible for data loss.
+ For example, given directories a, b, c, and files a/f and b/f, we
+ should be able to do this safely: ln -f a/f b/f c && rm -f a/f b/f
+ However, before this change, ln would succeed, and thus cause the
+ loss of the contents of a/f.
+ stty no longer silently accepts certain invalid hex values
+ in its 35-colon commmand-line argument
+ ** Bug fixes
+ chmod no longer ignores a dangling symlink. Now, chmod fails
+ with a diagnostic saying that it cannot operate on such a file.
+ [bug introduced in coreutils-5.1.0]
+ cp attempts to read a regular file, even if stat says it is empty.
+ Before, "cp /proc/cpuinfo c" would create an empty file when the kernel
+ reports stat.st_size == 0, while "cat /proc/cpuinfo > c" would "work",
+ and create a nonempty one. [bug introduced in coreutils-6.0]
+ cp no longer fails to write through a dangling symlink
+ [bug introduced in coreutils-6.7]. cp --parents no
+ longer mishandles symlinks to directories in file name
+ components in the source, e.g., "cp --parents symlink/a/b
+ d" no longer fails. Also, 'cp' no longer considers a
+ destination symlink to be the same as the referenced file when
+ copying links or making backups. For example, if SYM is a symlink
+ to FILE, "cp -l FILE SYM" now reports an error instead of silently
+ doing nothing. The behavior of 'cp' is now better documented when
+ the destination is a symlink.
+ "cp -i --update older newer" no longer prompts; same for mv
+ "cp -i" now detects read errors on standard input, and no longer consumes
+ too much seekable input; same for ln, install, mv, and rm.
+ cut now diagnoses a range starting with zero (e.g., -f 0-2) as invalid;
+ before, it would treat it as if it started with 1 (-f 1-2).
+ "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-"
+ cut now diagnoses the '-' in "cut -f -" as an invalid range, rather
+ than interpreting it as the unlimited range, "1-".
+ date -d now accepts strings of the form e.g., 'YYYYMMDD +N days',
+ in addition to the usual 'YYYYMMDD N days'.
+ du -s now includes the size of any stat'able-but-inaccessible directory
+ in the total size.
+ du (without -s) prints whatever it knows of the size of an inaccessible
+ directory. Before, du would print nothing for such a directory.
+ ls -x DIR would sometimes output the wrong string in place of the
+ first entry. [introduced in coreutils-6.8]
+ ls --color would mistakenly color a dangling symlink as if it were
+ a regular symlink. This would happen only when the dangling symlink
+ was not a command-line argument and in a directory with d_type support.
+ [introduced in coreutils-6.0]
+ ls --color, (with a custom LS_COLORS envvar value including the
+ ln=target attribute) would mistakenly output the string "target"
+ before the name of each symlink. [introduced in coreutils-6.0]
+ od's --skip (-j) option now works even when the kernel says that a
+ nonempty regular file has stat.st_size = 0. This happens at least
+ with files in /proc and linux-2.6.22.
+ "od -j L FILE" had a bug: when the number of bytes to skip, L, is exactly
+ the same as the length of FILE, od would skip *no* bytes. When the number
+ of bytes to skip is exactly the sum of the lengths of the first N files,
+ od would skip only the first N-1 files. [introduced in textutils-2.0.9]
+ ./printf %%.10000000f 1 could get an internal ENOMEM error and generate
+ no output, yet erroneously exit with status 0. Now it diagnoses the error
+ and exits with nonzero status. [present in initial implementation]
+ seq no longer mishandles obvious cases like "seq 0 0.000001 0.000003",
+ so workarounds like "seq 0 0.000001 0.0000031" are no longer needed.
+ seq would mistakenly reject some valid format strings containing %%,
+ and would mistakenly accept some invalid ones. e.g., %%g%% and %%g, resp.
+ "seq .1 .1" would mistakenly generate no output on some systems
+ Obsolete sort usage with an invalid ordering-option character, e.g.,
+ "env _POSIX2_VERSION=199209 sort +1x" no longer makes sort free an
+ invalid pointer [introduced in coreutils-6.5]
+ sorting very long lines (relative to the amount of available memory)
+ no longer provokes unaligned memory access
+ split --line-bytes=N (-C N) no longer creates an empty file
+ [this bug is present at least as far back as textutils-1.22 (Jan, 1997)]
+ tr -c no longer aborts when translating with Set2 larger than the
+ complement of Set1. [present in the original version, in 1992]
+ tr no longer rejects an unmatched [:lower:] or [:upper:] in SET1.
+ [present in the original version]
* Mon Jul 23 2007 - schwab(a)suse.de
- Fix random sort.
- Fix invalid free.
++++++ coreutils-5.3.0-i18n-0.1.patch ++++++
++++ 1202 lines (skipped)
++++ between coreutils/coreutils-5.3.0-i18n-0.1.patch
++++ and /mounts/work_src_done/STABLE/coreutils/coreutils-5.3.0-i18n-0.1.patch
++++++ coreutils-6.8-su.diff ++++++
--- /var/tmp/diff_new_pack.my4549/_old 2007-11-30 16:06:24.000000000 +0100
+++ /var/tmp/diff_new_pack.my4549/_new 2007-11-30 16:06:24.000000000 +0100
@@ -1,8 +1,31 @@
Index: src/Makefile.am
-===================================================================
---- src/Makefile.am.orig
+================================================================================
+--- configure.ac
++++ configure.ac
+@@ -46,6 +46,20 @@ coreutils_MACROS
+
+ AC_FUNC_FORK
+
++AC_ARG_ENABLE(pam, AS_HELP_STRING([--disable-pam],
++ [Enable PAM support in su (default=auto)]), , [enable_pam=yes])
++if test "x$enable_pam" != xno; then
++ AC_CHECK_LIB([pam], [pam_start], [enable_pam=yes], [enable_pam=no])
++ AC_CHECK_LIB([pam_misc], [misc_conv], [:], [enable_pam=no])
++ if test "x$enable_pam" != xno; then
++ AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM])
++ PAM_LIBS="-lpam -lpam_misc"
++ AC_SUBST(PAM_LIBS)
++ fi
++fi
++AC_MSG_CHECKING([whether to enable PAM support in su])
++AC_MSG_RESULT([$enable_pam])
++
+ optional_bin_progs=
+ AC_CHECK_FUNCS(uname,
+ gl_ADD_PROG([optional_bin_progs], [uname]))
+--- src/Makefile.am
+++ src/Makefile.am
-@@ -102,7 +102,8 @@ tail_LDADD = $(nanosec_libs)
+@@ -124,7 +124,8 @@ tail_LDADD = $(nanosec_libs)
# If necessary, add -lm to resolve use of pow in lib/strtod.c.
uptime_LDADD = $(LDADD) $(POW_LIB) $(GETLOADAVG_LIBS)
@@ -10,11 +33,9 @@
+su_SOURCES = su.c getdef.c
+su_LDADD = $(LDADD) $(LIB_CRYPT) $(PAM_LIBS)
- dir_LDADD += $(LIB_ACL)
- ls_LDADD += $(LIB_ACL)
-Index: src/getdef.c
-===================================================================
---- /dev/null
+ dir_LDADD += $(LIB_ACL_TRIVIAL) $(LIB_ACL)
+ ls_LDADD += $(LIB_ACL_TRIVIAL) $(LIB_ACL)
+--- src/getdef.c
+++ src/getdef.c
@@ -0,0 +1,257 @@
+/* Copyright (C) 2003, 2004, 2005 Thorsten Kukuk
@@ -274,9 +295,7 @@
+}
+
+#endif
-Index: src/getdef.h
-===================================================================
---- /dev/null
+--- src/getdef.h
+++ src/getdef.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2003, 2005 Thorsten Kukuk
@@ -308,11 +327,9 @@
+extern void free_getdef_data (void);
+
+#endif /* _GETDEF_H_ */
-Index: src/su.c
-===================================================================
---- src/su.c.orig
+--- src/su.c
+++ src/su.c
-@@ -38,6 +38,16 @@
+@@ -37,6 +37,16 @@
restricts who can su to UID 0 accounts. RMS considers that to
be fascist.
@@ -329,7 +346,7 @@
Compile-time options:
-DSYSLOG_SUCCESS Log successful su's (by default, to root) with syslog.
-DSYSLOG_FAILURE Log failed su's (by default, to root) with syslog.
-@@ -53,6 +63,13 @@
+@@ -52,6 +62,13 @@
#include <sys/types.h>
#include <pwd.h>
#include <grp.h>
@@ -343,7 +360,7 @@
/* Hide any system prototype for getusershell.
This is necessary because some Cray systems have a conflicting
-@@ -66,6 +83,9 @@
+@@ -65,6 +82,9 @@
#if HAVE_SYSLOG_H && HAVE_SYSLOG
# include <syslog.h>
@@ -353,7 +370,7 @@
#else
# undef SYSLOG_SUCCESS
# undef SYSLOG_FAILURE
-@@ -99,19 +119,13 @@
+@@ -98,19 +118,13 @@
# include <paths.h>
#endif
@@ -377,7 +394,7 @@
/* The shell to run if none is given in the user's passwd entry. */
#define DEFAULT_SHELL "/bin/sh"
-@@ -119,13 +133,22 @@
+@@ -118,13 +132,22 @@
/* The user to become if none is specified. */
#define DEFAULT_USER "root"
@@ -400,7 +417,7 @@
static void run_shell (char const *, char const *, char **, size_t)
ATTRIBUTE_NORETURN;
-@@ -216,7 +239,163 @@ log_su (struct passwd const *pw, bool su
+@@ -215,7 +238,163 @@ log_su (struct passwd const *pw, bool su
}
#endif
@@ -470,7 +487,7 @@
+ if (retval != PAM_SUCCESS)
+ {
+ cleanup_pam(retval);
-+ error (EXIT_FAIL, 0, _("cannot not open session: %s"),
++ error (EXIT_FAILURE, 0, _("cannot not open session: %s"),
+ pam_strerror (pamh, retval));
+ }
+ else
@@ -564,7 +581,7 @@
Return true if the user gives the correct password for entry PW,
false if not. Return true without asking for a password if run by UID 0
or if PW has an empty password. */
-@@ -224,10 +403,52 @@ log_su (struct passwd const *pw, bool su
+@@ -223,10 +402,52 @@ log_su (struct passwd const *pw, bool su
static bool
correct_password (const struct passwd *pw)
{
@@ -618,7 +635,7 @@
endspent ();
if (sp)
-@@ -248,6 +469,7 @@ correct_password (const struct passwd *p
+@@ -247,6 +468,7 @@ correct_password (const struct passwd *p
encrypted = crypt (unencrypted, correct);
memset (unencrypted, 0, strlen (unencrypted));
return STREQ (encrypted, correct);
@@ -626,7 +643,7 @@
}
/* Update `environ' for the new shell based on PW, with SHELL being
-@@ -272,8 +494,8 @@ modify_environment (const struct passwd
+@@ -271,8 +493,8 @@ modify_environment (const struct passwd
xsetenv ("USER", pw->pw_name);
xsetenv ("LOGNAME", pw->pw_name);
xsetenv ("PATH", (pw->pw_uid
@@ -637,7 +654,7 @@
}
else
{
-@@ -283,6 +505,12 @@ modify_environment (const struct passwd
+@@ -282,6 +504,12 @@ modify_environment (const struct passwd
{
xsetenv ("HOME", pw->pw_dir);
xsetenv ("SHELL", shell);
@@ -650,13 +667,13 @@
if (pw->pw_uid)
{
xsetenv ("USER", pw->pw_name);
-@@ -290,19 +518,41 @@ modify_environment (const struct passwd
+@@ -289,19 +517,41 @@ modify_environment (const struct passwd
}
}
}
+
+#ifdef USE_PAM
-+ export_pamenv();
++ export_pamenv ();
+#endif
}
@@ -669,12 +686,12 @@
#ifdef HAVE_INITGROUPS
errno = 0;
if (initgroups (pw->pw_name, pw->pw_gid) == -1)
-- error (EXIT_FAIL, errno, _("cannot set groups"));
+- error (EXIT_FAILURE, errno, _("cannot set groups"));
+ {
+#ifdef USE_PAM
+ cleanup_pam(PAM_ABORT);
+#endif
-+ error (EXIT_FAIL, errno, _("cannot set groups"));
++ error (EXIT_FAILURE, errno, _("cannot set groups"));
+ }
endgrent ();
#endif
@@ -682,7 +699,7 @@
+#ifdef USE_PAM
+ retval = pam_setcred (pamh, PAM_ESTABLISH_CRED);
+ if (retval != PAM_SUCCESS)
-+ error (EXIT_FAIL, 0, "%s", pam_strerror (pamh, retval));
++ error (EXIT_FAILURE, 0, "%s", pam_strerror (pamh, retval));
+ else
+ _pam_cred_established = 1;
+#endif
@@ -692,17 +709,17 @@
+change_identity (const struct passwd *pw)
+{
if (setgid (pw->pw_gid))
- error (EXIT_FAIL, errno, _("cannot set group id"));
+ error (EXIT_FAILURE, errno, _("cannot set group id"));
if (setuid (pw->pw_uid))
-@@ -495,6 +745,7 @@ main (int argc, char **argv)
+@@ -494,6 +744,7 @@ main (int argc, char **argv)
#ifdef SYSLOG_FAILURE
log_su (pw, false);
#endif
+ sleep (getdef_num ("FAIL_DELAY", 1));
- error (EXIT_FAIL, 0, _("incorrect password"));
+ error (EXIT_FAILURE, 0, _("incorrect password"));
}
#ifdef SYSLOG_SUCCESS
-@@ -516,9 +767,21 @@ main (int argc, char **argv)
+@@ -515,9 +766,21 @@ main (int argc, char **argv)
shell = NULL;
}
shell = xstrdup (shell ? shell : pw->pw_shell);
@@ -725,28 +742,3 @@
if (simulate_login && chdir (pw->pw_dir) != 0)
error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
-Index: configure.ac
-===================================================================
---- configure.ac.orig
-+++ configure.ac
-@@ -41,6 +41,20 @@ coreutils_MACROS
-
- AC_FUNC_FORK
-
-+AC_ARG_ENABLE(pam, AS_HELP_STRING([--disable-pam],dnl
-+ [Enable PAM support in su (default=auto)]),,[enable_pam=yes])
-+if test "x$enable_pam" != xno; then
-+ AC_CHECK_LIB([pam], [pam_start], [enable_pam=yes], [enable_pam=no])
-+ AC_CHECK_LIB([pam_misc], [misc_conv], [:], [enable_pam=no])
-+ if test "x$enable_pam" != xno; then
-+ AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM])
-+ PAM_LIBS="-lpam -lpam_misc"
-+ AC_SUBST(PAM_LIBS)
-+ fi
-+fi
-+AC_MSG_CHECKING([whether to enable PAM support in su])
-+AC_MSG_RESULT([$enable_pam])
-+
- AC_CHECK_FUNCS(uname,
- OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname\$(EXEEXT)"
- MAN="$MAN uname.1")
++++++ coreutils-6.9.diff -> coreutils-6.9.89.48.diff ++++++
--- coreutils/coreutils-6.9.diff 2007-07-23 12:36:37.000000000 +0200
+++ /mounts/work_src_done/STABLE/coreutils/coreutils-6.9.89.48.diff 2007-11-15 15:11:23.000000000 +0100
@@ -2,7 +2,7 @@
================================================================================
--- doc/coreutils.texi
+++ doc/coreutils.texi
-@@ -64,8 +64,6 @@
+@@ -65,8 +65,6 @@
* fold: (coreutils)fold invocation. Wrap long input lines.
* groups: (coreutils)groups invocation. Print group names a user is in.
* head: (coreutils)head invocation. Output the first part of files.
@@ -11,8 +11,8 @@
* id: (coreutils)id invocation. Print user identity.
* install: (coreutils)install invocation. Copy and change attributes.
* join: (coreutils)join invocation. Join lines on a common field.
-@@ -399,8 +397,6 @@ System context
-
+@@ -400,8 +398,6 @@ System context
+ * arch invocation:: Print machine hardware name
* date invocation:: Print or set system date and time
* uname invocation:: Print system information
-* hostname invocation:: Print or set system name
@@ -20,8 +20,8 @@
@command{date}: Print or set system date and time
-@@ -12306,8 +12302,6 @@ information.
- @menu
+@@ -12452,8 +12448,6 @@ information.
+ * arch invocation:: Print machine hardware name.
* date invocation:: Print or set system date and time.
* uname invocation:: Print system information.
-* hostname invocation:: Print or set system name.
@@ -29,7 +29,7 @@
@end menu
-@@ -13065,55 +13059,6 @@ Print the kernel version.
+@@ -13234,55 +13228,6 @@ Print the kernel version.
@exitstatus
@@ -85,20 +85,27 @@
@node Modified command invocation
@chapter Modified command invocation
---- src/sort.c
-+++ src/sort.c
-@@ -3517,10 +3517,7 @@ main (int argc, char **argv)
- if (! (key->sword | key->schar))
- key->sword = SIZE_MAX;
- if (! s || *set_ordering (s, key, bl_start))
-- {
-- free (key);
-- key = NULL;
-- }
-+ key = NULL;
- else
- {
- if (minus_pos_usage)
+--- m4/gnulib-comp.m4
++++ m4/gnulib-comp.m4
+@@ -235,7 +235,6 @@ AC_DEFUN([gl_INIT],
+ gl_POSIXVER
+ gl_FUNC_PRINTF_FREXP
+ gl_FUNC_PRINTF_FREXPL
+- m4_divert_text([INIT_PREPARE], [gl_printf_safe=yes])
+ gl_FUNC_PUTENV
+ gl_STDLIB_MODULE_INDICATOR([putenv])
+ gl_QUOTE
+--- man/Makefile.am
++++ man/Makefile.am
+@@ -179,7 +179,7 @@ check-x-vs-1:
+ PATH=../src$(PATH_SEPARATOR)$$PATH; export PATH; \
+ t=ls-files.$$$$; \
+ (cd $(srcdir) && ls -1 *.x) | sed 's/\.x$$//' | $(ASSORT) > $$t;\
+- (echo $(dist_man_MANS) $(NO_INSTALL_PROGS_DEFAULT) \
++ (echo $(dist_man_MANS) $(NO_INSTALL_PROGS_DEFAULT) hostid \
+ | tr -s ' ' '\n' | sed 's/\.1$$//') \
+ | $(ASSORT) -u | diff - $$t || { rm $$t; exit 1; }; \
+ rm $$t
--- src/system.h
+++ src/system.h
@@ -168,7 +168,7 @@ enum
@@ -110,20 +117,19 @@
#endif
/* Extract or fake data from a `struct stat'.
---- tests/help-version
-+++ tests/help-version
-@@ -197,7 +197,7 @@ lbracket_args=": ]"
-
- for i in $all_programs; do
+--- tests/misc/help-version
++++ tests/misc/help-version
+@@ -205,6 +205,7 @@ lbracket_args=": ]"
+ for i in $built_programs; do
# Skip these.
-- case $i in chroot|stty|tty|false) continue;; esac
-+ case $i in chroot|stty|tty|false|df) continue;; esac
+ case $i in chroot|stty|tty|false|chcon|runcon) continue;; esac
++ case $i in df) continue;; esac
rm -rf $tmp_in $tmp_in2 $tmp_dir $tmp_out
echo > $tmp_in
--- tests/other-fs-tmpdir
+++ tests/other-fs-tmpdir
-@@ -44,6 +44,8 @@ for d in $CANDIDATE_TMP_DIRS; do
+@@ -42,6 +42,8 @@ for d in $CANDIDATE_TMP_DIRS; do
fi
done
++++++ coreutils-xattr.diff ++++++
--- /var/tmp/diff_new_pack.my4549/_old 2007-11-30 16:06:24.000000000 +0100
+++ /var/tmp/diff_new_pack.my4549/_new 2007-11-30 16:06:24.000000000 +0100
@@ -1,10 +1,10 @@
Index: coreutils-6.2/configure.ac
-===================================================================
---- coreutils-6.2.orig/configure.ac
-+++ coreutils-6.2/configure.ac
-@@ -246,6 +246,9 @@ AC_CHECK_DECLS([strtoimax, strtoumax])
-
- cu_LIB_CHECK
+================================================================================
+--- coreutils-6.9.89.48-96961/configure.ac
++++ coreutils-6.9.89.48-96961/configure.ac
+@@ -325,6 +325,9 @@ CONFIG_STATUS_DEPENDENCIES='$(top_srcdir
+ AC_SUBST([CONFIG_STATUS_DEPENDENCIES])
+ ############################################################################
+# Extended attribute copying.
+AC_FUNC_XATTR
@@ -12,10 +12,19 @@
AM_GNU_GETTEXT([external], [need-formatstring-macros])
AM_GNU_GETTEXT_VERSION([0.15])
-Index: coreutils-6.2/m4/xattr.m4
-===================================================================
---- /dev/null
-+++ coreutils-6.2/m4/xattr.m4
+--- coreutils-6.9.89.48-96961/doc/coreutils.texi
++++ coreutils-6.9.89.48-96961/doc/coreutils.texi
+@@ -7087,6 +7087,8 @@ Preserve in the destination files
+ any links between corresponding source files.
+ @c Give examples illustrating how hard links are preserved.
+ @c Also, show how soft links map to hard links with -L and -H.
++@itemx xattrs
++Preserve extended attributes. (See /etc/xattr.conf.)
+ @itemx all
+ Preserve all file attributes.
+ Equivalent to specifying all of the above.
+--- coreutils-6.9.89.48-96961/m4/xattr.m4
++++ coreutils-6.9.89.48-96961/m4/xattr.m4
@@ -0,0 +1,38 @@
+# xattr.m4 - check for Extended Attributes (Linux)
+
@@ -55,13 +64,11 @@
+ AC_CHECK_FUNCS(attr_copy_file)
+ LIBS=$xattr_saved_LIBS
+])
-Index: coreutils-6.2/src/Makefile.am
-===================================================================
---- coreutils-6.2.orig/src/Makefile.am
-+++ coreutils-6.2/src/Makefile.am
-@@ -112,6 +112,10 @@ cp_LDADD += $(LIB_ACL)
- mv_LDADD += $(LIB_ACL)
- ginstall_LDADD += $(LIB_ACL)
+--- coreutils-6.9.89.48-96961/src/Makefile.am
++++ coreutils-6.9.89.48-96961/src/Makefile.am
+@@ -135,6 +135,10 @@ ginstall_LDADD += $(LIB_ACL)
+
+ stat_LDADD = $(LDADD) $(LIB_SELINUX)
+cp_LDADD += $(LIB_XATTR)
+mv_LDADD += $(LIB_XATTR)
@@ -69,13 +76,11 @@
+
$(PROGRAMS): ../lib/libcoreutils.a
- SUFFIXES = .sh
-Index: coreutils-6.2/src/copy.c
-===================================================================
---- coreutils-6.2.orig/src/copy.c
-+++ coreutils-6.2/src/copy.c
-@@ -53,6 +53,12 @@
- #include "xreadlink.h"
+ # Get the release year from ../lib/version-etc.c.
+--- coreutils-6.9.89.48-96961/src/copy.c
++++ coreutils-6.9.89.48-96961/src/copy.c
+@@ -56,6 +56,12 @@
+ #include "areadlink.h"
#include "yesno.h"
+#if USE_XATTR
@@ -87,7 +92,7 @@
#ifndef HAVE_FCHOWN
# define HAVE_FCHOWN false
# define fchown(fd, uid, gid) (-1)
-@@ -118,6 +124,98 @@ is_ancestor (const struct stat *sb, cons
+@@ -113,6 +119,98 @@ is_ancestor (const struct stat *sb, cons
return false;
}
@@ -186,7 +191,7 @@
/* Read the contents of the directory SRC_NAME_IN, and recursively
copy the contents to DST_NAME_IN. NEW_DST is true if
DST_NAME_IN is a directory that was created previously in the
-@@ -509,6 +607,9 @@ copy_reg (char const *src_name, char con
+@@ -640,6 +738,9 @@ copy_reg (char const *src_name, char con
}
}
@@ -196,8 +201,8 @@
set_author (dst_name, dest_desc, src_sb);
if (x->preserve_mode || x->move_mode)
-@@ -1755,6 +1856,9 @@ copy_internal (char const *src_name, cha
- return false;
+@@ -1939,6 +2040,9 @@ copy_internal (char const *src_name, cha
+ }
}
+ if (!copy_xattrs (src_name, -1, dst_name, -1, x))
@@ -206,11 +211,9 @@
set_author (dst_name, -1, &src_sb);
if (x->preserve_mode || x->move_mode)
-Index: coreutils-6.2/src/copy.h
-===================================================================
---- coreutils-6.2.orig/src/copy.h
-+++ coreutils-6.2/src/copy.h
-@@ -128,6 +128,9 @@ struct cp_options
+--- coreutils-6.9.89.48-96961/src/copy.h
++++ coreutils-6.9.89.48-96961/src/copy.h
+@@ -134,6 +134,9 @@ struct cp_options
bool preserve_mode;
bool preserve_timestamps;
@@ -220,52 +223,51 @@
/* Enabled for mv, and for cp by the --preserve=links option.
If true, attempt to preserve in the destination files any
logical hard links between the source files. If used with cp's
-Index: coreutils-6.2/src/cp.c
-===================================================================
---- coreutils-6.2.orig/src/cp.c
-+++ coreutils-6.2/src/cp.c
-@@ -191,7 +191,7 @@ Mandatory arguments to long options are
+--- coreutils-6.9.89.48-96961/src/cp.c
++++ coreutils-6.9.89.48-96961/src/cp.c
+@@ -197,7 +197,8 @@ Mandatory arguments to long options are
-p same as --preserve=mode,ownership,timestamps\n\
--preserve[=ATTR_LIST] preserve the specified attributes (default:\n\
mode,ownership,timestamps), if possible\n\
-- additional attributes: links, all\n\
-+ additional attributes: links, xattrs, all\n\
+- additional attributes: context, links, all\n\
++ additional attributes: context, links,\n\
++ xattrs, all\n\
"), stdout);
fputs (_("\
--no-preserve=ATTR_LIST don't preserve the specified attributes\n\
-@@ -724,6 +724,7 @@ cp_option_init (struct cp_options *x)
+@@ -751,6 +752,7 @@ cp_option_init (struct cp_options *x)
x->preserve_links = false;
x->preserve_mode = false;
x->preserve_timestamps = false;
+ x->preserve_xattrs = false;
+ x->preserve_security_context = false;
+ x->require_preserve_context = false;
- x->require_preserve = false;
- x->recursive = false;
-@@ -752,18 +753,21 @@ decode_preserve_arg (char const *arg, st
+@@ -788,19 +790,21 @@ decode_preserve_arg (char const *arg, st
PRESERVE_TIMESTAMPS,
PRESERVE_OWNERSHIP,
PRESERVE_LINK,
+ PRESERVE_XATTRS,
+ PRESERVE_CONTEXT,
PRESERVE_ALL
};
static enum File_attribute const preserve_vals[] =
{
PRESERVE_MODE, PRESERVE_TIMESTAMPS,
-- PRESERVE_OWNERSHIP, PRESERVE_LINK, PRESERVE_ALL
-+ PRESERVE_OWNERSHIP, PRESERVE_LINK,
-+ PRESERVE_XATTRS, PRESERVE_ALL
+- PRESERVE_OWNERSHIP, PRESERVE_LINK, PRESERVE_CONTEXT, PRESERVE_ALL
++ PRESERVE_OWNERSHIP, PRESERVE_LINK, PRESERVE_XATTRS, PRESERVE_CONTEXT,
++ PRESERVE_ALL
};
/* Valid arguments to the `--preserve' option. */
static char const* const preserve_args[] =
{
"mode", "timestamps",
-- "ownership", "links", "all", NULL
-+ "ownership", "links",
-+ "xattrs", "all", NULL
+- "ownership", "links", "context", "all", NULL
++ "ownership", "links", "xattrs", "context", "all", NULL
};
ARGMATCH_VERIFY (preserve_args, preserve_vals);
-@@ -799,11 +803,16 @@ decode_preserve_arg (char const *arg, st
+@@ -836,6 +840,10 @@ decode_preserve_arg (char const *arg, st
x->preserve_links = on_off;
break;
@@ -273,49 +275,34 @@
+ x->preserve_xattrs = on_off;
+ break;
+
- case PRESERVE_ALL:
- x->preserve_mode = on_off;
+ case PRESERVE_CONTEXT:
+ x->preserve_security_context = on_off;
+ x->require_preserve_context = on_off;
+@@ -846,6 +854,7 @@ decode_preserve_arg (char const *arg, st
x->preserve_timestamps = on_off;
x->preserve_ownership = on_off;
x->preserve_links = on_off;
+ x->preserve_xattrs = on_off;
+ if (selinux_enabled)
+ x->preserve_security_context = on_off;
break;
-
- default:
-Index: coreutils-6.2/src/install.c
-===================================================================
---- coreutils-6.2.orig/src/install.c
-+++ coreutils-6.2/src/install.c
-@@ -154,6 +154,7 @@ cp_option_init (struct cp_options *x)
+--- coreutils-6.9.89.48-96961/src/install.c
++++ coreutils-6.9.89.48-96961/src/install.c
+@@ -176,6 +176,7 @@ cp_option_init (struct cp_options *x)
x->preserve_links = false;
x->preserve_mode = false;
x->preserve_timestamps = false;
+ x->preserve_xattrs = false;
x->require_preserve = false;
+ x->require_preserve_context = false;
x->recursive = false;
- x->sparse_mode = SPARSE_AUTO;
-Index: coreutils-6.2/src/mv.c
-===================================================================
---- coreutils-6.2.orig/src/mv.c
-+++ coreutils-6.2/src/mv.c
-@@ -125,6 +125,7 @@ cp_option_init (struct cp_options *x)
+--- coreutils-6.9.89.48-96961/src/mv.c
++++ coreutils-6.9.89.48-96961/src/mv.c
+@@ -136,6 +136,7 @@ cp_option_init (struct cp_options *x)
x->preserve_links = true;
x->preserve_mode = true;
x->preserve_timestamps = true;
+ x->preserve_xattrs = true;
+ x->preserve_security_context = selinux_enabled;
x->require_preserve = false; /* FIXME: maybe make this an option */
- x->recursive = true;
- x->sparse_mode = SPARSE_AUTO; /* FIXME: maybe make this an option */
-Index: coreutils-6.2/doc/coreutils.texi
-===================================================================
---- coreutils-6.2.orig/doc/coreutils.texi
-+++ coreutils-6.2/doc/coreutils.texi
-@@ -6948,6 +6948,8 @@ Preserve in the destination files
- any links between corresponding source files.
- @c Give examples illustrating how hard links are preserved.
- @c Also, show how soft links map to hard links with -L and -H.
-+@itemx xattrs
-+Preserve extended attributes. (See /etc/xattr.conf.)
- @itemx all
- Preserve all file attributes.
- Equivalent to specifying all of the above.
+ x->require_preserve_context = false;
++++++ invalid-ids.diff ++++++
--- /var/tmp/diff_new_pack.my4549/_old 2007-11-30 16:06:25.000000000 +0100
+++ /var/tmp/diff_new_pack.my4549/_new 2007-11-30 16:06:25.000000000 +0100
@@ -13,9 +13,9 @@
Index: coreutils-5.2.1/lib/userspec.c
================================================================================
---- coreutils-5.3.0/lib/userspec.c
-+++ coreutils-5.3.0/lib/userspec.c
-@@ -184,7 +184,7 @@
+--- coreutils-6.9-316-e6f4b/lib/userspec.c
++++ coreutils-6.9-316-e6f4b/lib/userspec.c
+@@ -169,7 +169,7 @@ parse_with_separator (char const *spec,
{
unsigned long int tmp;
if (xstrtoul (u, NULL, 10, &tmp, "") == LONGINT_OK
@@ -24,7 +24,7 @@
unum = tmp;
else
error_msg = E_invalid_user;
-@@ -214,7 +214,8 @@
+@@ -200,7 +200,8 @@ parse_with_separator (char const *spec,
if (grp == NULL)
{
unsigned long int tmp;
@@ -34,14 +34,14 @@
gnum = tmp;
else
error_msg = E_invalid_group;
---- coreutils-5.3.0/src/chgrp.c
-+++ coreutils-5.3.0/src/chgrp.c
-@@ -91,7 +91,7 @@
+--- coreutils-6.9-316-e6f4b/src/chgrp.c
++++ coreutils-6.9-316-e6f4b/src/chgrp.c
+@@ -90,7 +90,7 @@ parse_group (const char *name)
{
unsigned long int tmp;
if (! (xstrtoul (name, NULL, 10, &tmp, "") == LONGINT_OK
- && tmp <= GID_T_MAX))
+ && tmp <= GID_T_MAX && tmp != (gid_t) -1))
- error (EXIT_FAILURE, 0, _("invalid group %s"), quote (name));
+ error (EXIT_FAILURE, 0, _("invalid group: %s"), quote (name));
gid = tmp;
}
++++++ su.default ++++++
--- coreutils/su.default 2006-02-13 01:54:42.000000000 +0100
+++ /mounts/work_src_done/STABLE/coreutils/su.default 2007-10-09 15:46:28.000000000 +0200
@@ -4,8 +4,8 @@
ALWAYS_SET_PATH=no
# Default path.
-PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
+PATH=/usr/local/bin:/bin:/usr/bin
# Default path for a user invoking su to root.
-SUPATH=/usr/sbin:/bin:/usr/bin:/sbin:/usr/X11R6/bin
+SUPATH=/usr/sbin:/bin:/usr/bin:/sbin
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package update-desktop-files
checked in at Fri Nov 30 16:06:57 CET 2007.
--------
--- update-desktop-files/update-desktop-files.changes 2007-09-19 18:05:05.000000000 +0200
+++ /mounts/work_src_done/NOARCH/update-desktop-files/update-desktop-files.changes 2007-11-27 13:43:28.000000000 +0100
@@ -1,0 +2,5 @@
+Tue Nov 27 13:43:09 CET 2007 - ke(a)suse.de
+
+- Update translations.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ update-desktop-files.spec ++++++
--- /var/tmp/diff_new_pack.rv5431/_old 2007-11-30 16:06:31.000000000 +0100
+++ /var/tmp/diff_new_pack.rv5431/_new 2007-11-30 16:06:31.000000000 +0100
@@ -12,7 +12,7 @@
Name: update-desktop-files
Version: 10.3
-Release: 62
+Release: 72
Summary: A Build Tool to Update Desktop Files
License: GPL v2 or later
Group: Development/Tools/Building
@@ -121,6 +121,8 @@
%endif
%changelog
+* Tue Nov 27 2007 - ke(a)suse.de
+- Update translations.
* Wed Sep 19 2007 - ke(a)suse.de
- Provide locale info; reported by Stephan Binner [#326424].
* Thu Sep 13 2007 - ke(a)suse.de
++++++ desktop-translations.tar.bz2 ++++++
update-desktop-files/desktop-translations.tar.bz2 /mounts/work_src_done/NOARCH/update-desktop-files/desktop-translations.tar.bz2 differ: byte 11, line 1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0