Hello community,
here is the log from the commit of package icecream for openSUSE:Factory
checked in at Fri May 1 02:04:36 CEST 2009.
--------
--- icecream/icecream.changes 2009-02-15 14:59:22.000000000 +0100
+++ icecream/icecream.changes 2009-04-30 14:50:19.000000000 +0200
@@ -1,0 +2,9 @@
+Thu Apr 30 14:49:13 CEST 2009 - coolo@suse.de
+
+- Update to 0.9.4
+ - don't leak file descriptor to create-env
+ - don't use the shell to call simple commands
+ - make a special exception for - in rest args (bnc#495786)
+ - Fix way icecream changes permissions of /var/cache/icecream
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
icecc-0.9.3.tar.bz2
New:
----
icecc-0.9.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icecream.spec ++++++
--- /var/tmp/diff_new_pack.e12338/_old 2009-05-01 01:59:29.000000000 +0200
+++ /var/tmp/diff_new_pack.e12338/_new 2009-05-01 01:59:29.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package icecream (Version 0.9.3)
+# spec file for package icecream (Version 0.9.4)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -31,7 +31,7 @@
%endif
PreReq: /usr/sbin/useradd /usr/sbin/groupadd
Requires: gcc-c++
-Version: 0.9.3
+Version: 0.9.4
Release: 1
Source0: ftp://ftp.suse.com/pub/projects/icecream/icecc-%{version}.tar.bz2
Source1: %name-manpages.tar.bz2
@@ -148,6 +148,12 @@
%_libdir/pkgconfig/icecc.pc
%changelog
+* Thu Apr 30 2009 coolo@suse.de
+- Update to 0.9.4
+ - don't leak file descriptor to create-env
+ - don't use the shell to call simple commands
+ - make a special exception for - in rest args (bnc#495786)
+ - Fix way icecream changes permissions of /var/cache/icecream
* Sun Feb 15 2009 coolo@suse.de
- update to 0.9.3 to fix compilation with gcc 4.4
* Sun Nov 02 2008 coolo@suse.de
++++++ icecc-0.9.3.tar.bz2 -> icecc-0.9.4.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/icecc-0.9.3/client/arg.cpp new/icecc-0.9.4/client/arg.cpp
--- old/icecc-0.9.3/client/arg.cpp 2008-10-21 12:40:13.000000000 +0200
+++ new/icecc-0.9.4/client/arg.cpp 2009-04-30 14:35:23.000000000 +0200
@@ -300,6 +300,10 @@
string ifile;
for ( ArgumentsList::iterator it = args.begin();
it != args.end(); ) {
+ if ( it->first == "-") {
+ always_local = true;
+ break;
+ }
if ( it->second != Arg_Rest || it->first.at( 0 ) == '-' )
++it;
else if ( ifile.empty() ) {
@@ -364,7 +368,7 @@
}
struct stat st;
- if ( ofile.empty() || (!stat( ofile.c_str(), &st ) && !S_ISREG( st.st_mode)))
+ if ( ofile.empty() || (!stat( ofile.c_str(), &st ) && !S_ISREG( st.st_mode )))
always_local = true;
job.setFlags( args );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/icecc-0.9.3/client/local.cpp new/icecc-0.9.4/client/local.cpp
--- old/icecc-0.9.3/client/local.cpp 2009-02-15 14:31:00.000000000 +0100
+++ new/icecc-0.9.4/client/local.cpp 2009-04-30 11:48:35.000000000 +0200
@@ -244,7 +244,7 @@
}
if (r == 0)
break;
- if ( r < 0 && errno != EINTR)
+ if ( r < 0 && errno != EINTR && errno != EAGAIN )
break;
}
colorify_output(s_ccout);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/icecc-0.9.3/client/main.cpp new/icecc-0.9.4/client/main.cpp
--- old/icecc-0.9.3/client/main.cpp 2008-10-21 12:40:13.000000000 +0200
+++ new/icecc-0.9.4/client/main.cpp 2009-04-30 11:48:35.000000000 +0200
@@ -81,6 +81,7 @@
" ICECC_VERSION use a specific icecc environment, see create-env\n"
" ICECC_DEBUG [info | warnings | debug]\n"
" sets verboseness of icecream client.\n"
+" ICECC_LOGFILE if set, additional debug information is logged to the specified file\n"
" ICECC_REPEAT_RATE the number of jobs out of 1000 that should be\n"
" compiled on multiple hosts to ensure that they're\n"
" producing the same output. The default is 10.\n"
@@ -182,7 +183,10 @@
debug_level |= Info|Debug|Warning;
}
- setup_debug(debug_level, string(), "ICECC");
+ std::string logfile;
+ if (const char* logfileEnv = getenv("ICECC_LOGFILE"))
+ logfile = logfileEnv;
+ setup_debug(debug_level, logfile, "ICECC");
CompileJob job;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/icecc-0.9.3/client/remote.cpp new/icecc-0.9.4/client/remote.cpp
--- old/icecc-0.9.3/client/remote.cpp 2008-05-12 19:52:37.000000000 +0200
+++ new/icecc-0.9.4/client/remote.cpp 2009-04-30 11:48:35.000000000 +0200
@@ -672,7 +672,7 @@
dcc_make_tmpnam( "icecc", ".o", buffer, 0 );
jobs[i].setOutputFile( buffer );
} else
- sprintf( buffer, job.outputFile().c_str() );
+ sprintf( buffer, "%s", job.outputFile().c_str() );
umsgs[i] = get_server( local_daemon );
remote_daemon = umsgs[i]->hostname;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/icecc-0.9.3/client/util.cpp new/icecc-0.9.4/client/util.cpp
--- old/icecc-0.9.3/client/util.cpp 2008-05-12 19:52:37.000000000 +0200
+++ new/icecc-0.9.4/client/util.cpp 2009-04-30 11:48:35.000000000 +0200
@@ -225,7 +225,7 @@
else
fprintf(stderr, "%s\n", cline.c_str());
}
- fprintf(stderr, s_ccout.c_str());
+ fprintf(stderr, "%s", s_ccout.c_str());
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/icecc-0.9.3/configure new/icecc-0.9.4/configure
--- old/icecc-0.9.3/configure 2009-02-15 14:43:53.000000000 +0100
+++ new/icecc-0.9.4/configure 2009-04-30 14:43:40.000000000 +0200
@@ -2370,7 +2370,7 @@
# Define the identity of the package.
PACKAGE=icecc
- VERSION="0.9.3"
+ VERSION="0.9.4"
cat >>confdefs.h <<_ACEOF
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/icecc-0.9.3/configure.in new/icecc-0.9.4/configure.in
--- old/icecc-0.9.3/configure.in 2009-02-15 14:39:38.000000000 +0100
+++ new/icecc-0.9.4/configure.in 2009-04-30 14:43:07.000000000 +0200
@@ -4,7 +4,7 @@
AC_INIT(client/main.cpp)
-AM_INIT_AUTOMAKE(icecc, "0.9.3")
+AM_INIT_AUTOMAKE(icecc, "0.9.4")
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/icecc-0.9.3/daemon/environment.cpp new/icecc-0.9.4/daemon/environment.cpp
--- old/icecc-0.9.3/daemon/environment.cpp 2009-02-15 14:31:00.000000000 +0100
+++ new/icecc-0.9.4/daemon/environment.cpp 2009-04-30 14:39:28.000000000 +0200
@@ -142,40 +142,46 @@
closedir( envdir );
}
-bool cleanup_cache( const string &basedir )
+/* Returns true if the child exited with success */
+static bool exec_and_wait( const char *const argv[] )
{
- flush_debug();
pid_t pid = fork();
- if ( pid )
- {
- int status = 0;
+ if ( pid == -1 ) {
+ log_perror("fork");
+ return false;
+ }
+ if ( pid ) {
+ // parent
+ int status;
while ( waitpid( pid, &status, 0 ) < 0 && errno == EINTR )
;
+ return WIFEXITED(status) && WEXITSTATUS(status) == 0;
+ }
+ // child
+ _exit(execv(argv[0], const_cast