Hello community, here is the log from the commit of package yast2-core for openSUSE:Factory checked in at Mon Apr 4 12:42:02 CEST 2011.
-------- --- yast2-core/yast2-core.changes 2011-03-15 16:52:11.000000000 +0100 +++ /mounts/work_src_done/STABLE/yast2-core/yast2-core.changes 2011-04-04 09:17:19.000000000 +0200 @@ -1,0 +2,6 @@ +Thu Mar 31 11:11:36 CEST 2011 - [email protected] + +- added sha256 and sha516 password encryption (fate #309705) +- 2.21.0 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- gcc46.diff yast2-core-2.20.0.tar.bz2 New: ---- yast2-core-2.21.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-core.spec ++++++ --- /var/tmp/diff_new_pack.nQXmkt/_old 2011-04-04 12:39:59.000000000 +0200 +++ /var/tmp/diff_new_pack.nQXmkt/_new 2011-04-04 12:39:59.000000000 +0200 @@ -19,12 +19,11 @@ Name: yast2-core -Version: 2.20.0 -Release: 6 +Version: 2.21.0 +Release: 1 BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-core-2.20.0.tar.bz2 -Patch0: gcc46.diff +Source0: yast2-core-2.21.0.tar.bz2 Prefix: /usr @@ -78,8 +77,7 @@ applications using the YaST2 YCP interpreter. %prep -%setup -n yast2-core-2.20.0 -%patch0 +%setup -n yast2-core-2.21.0 %build @@ -182,5 +180,4 @@ %doc %{prefix}/share/doc/packages/yast2-core %doc %{_datadir}/doc/yastdoc /usr/share/YaST2/data/devtools/bin/generateYCPWrappers - %changelog ++++++ yast2-core-2.20.0.tar.bz2 -> yast2-core-2.21.0.tar.bz2 ++++++ ++++ 3708 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/VERSION new/yast2-core-2.21.0/VERSION --- old/yast2-core-2.20.0/VERSION 2011-01-03 21:54:03.000000000 +0100 +++ new/yast2-core-2.21.0/VERSION 2011-04-01 08:10:18.000000000 +0200 @@ -1 +1 @@ -2.20.0 +2.21.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/agent-process/src/Makefile.am new/yast2-core-2.21.0/agent-process/src/Makefile.am --- old/yast2-core-2.20.0/agent-process/src/Makefile.am 2009-04-10 09:49:56.000000000 +0200 +++ new/yast2-core-2.21.0/agent-process/src/Makefile.am 2011-03-07 15:09:50.000000000 +0100 @@ -9,9 +9,7 @@ liby2ag_process_la_SOURCES = \ ProcessAgent.cc \ - ProcessAgent.h \ - Process.cc \ - Process.h + ProcessAgent.h liby2ag_process_la_LDFLAGS = -version-info 2:0 liby2ag_process_la_LIBADD = @AGENT_LIBADD@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/agent-process/src/Process.cc new/yast2-core-2.21.0/agent-process/src/Process.cc --- old/yast2-core-2.20.0/agent-process/src/Process.cc 2009-06-15 18:04:17.000000000 +0200 +++ new/yast2-core-2.21.0/agent-process/src/Process.cc 1970-01-01 01:00:00.000000000 +0100 @@ -1,249 +0,0 @@ -/* ProcessAgent.cc - * - * ------------------------------------------------------------------------------ - * Copyright (c) 2008 Novell, Inc. All Rights Reserved. - * - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of version 2 of the GNU General Public License as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, contact Novell, Inc. - * - * To contact Novell about this file by physical or electronic mail, you may find - * current contact information at www.novell.com. - * ------------------------------------------------------------------------------ - * - * Implementation of class Process. - * - * Authors: Ladislav Slezák <[email protected]> - * - * $Id: ProcessAgent.cc 27914 2006-02-13 14:32:08Z locilka $ - */ - -#include "Process.h" - -#include <signal.h> -#include <fcntl.h> -#include <errno.h> -#include <cstring> -#include <y2util/Y2SLog.h> - - -/** - * Destructor - */ -Process::~Process() -{ - if (running()) - { - MIL << "Terminating running process '" << getpid() << "'..." << std::endl; - kill(); - } -} - -// send a signal -bool Process::kill(int sig) -{ - if (getpid() > 0) - { - return ::kill(getpid(), sig) == 0; - } - - return false; -} - -// send SIGKILL -bool Process::kill() -{ - return ExternalProgram::kill(); -} - -void Process::BufferNewStdoutLines () -{ - const std::string new_output = receiveUpto('\n'); - stdout_buffer += new_output; -} - -// read a line from stdout -std::string Process::readLine() -{ - BufferNewStdoutLines(); - - return GetLineFromBuffer(stdout_buffer); -} - -// return whether stdout buffer contains any (finished) line -bool Process::anyLineInStdout() -{ - BufferNewStdoutLines(); - - return IsAnyLineInBuffer(stdout_buffer); -} - -void Process::readStdoutToBuffer() -{ - const size_t b_size = 4096; - char buffer[b_size]; - size_t read; - - do - { - read = receive(buffer, b_size); - stdout_buffer.append(buffer, read); - } - while(read == b_size); -} - -// read stdout and return the data -std::string Process::read() -{ - readStdoutToBuffer(); - - std::string ret(stdout_buffer); - - stdout_buffer.clear(); - - return ret; -} - -// read data from a fd to a buffer -void Process::readStderrToBuffer() -{ - if (!stderr_output) - { - ERR << "stderr output is not open!" << std::endl; - return; - } - - const int b_size = 4096; - char buffer[b_size]; - int len; - - do - { - len = ::fread(buffer, 1, b_size, stderr_output); - - if (len > 0) - { - stderr_buffer.append(buffer, len); - } - } - while(len == b_size); -} - -// cut off the first line from a buffer and return it -std::string Process::GetLineFromBuffer(std::string &buffer) -{ - // find end of the first line - std::string::size_type line_pos = buffer.find("\n"); - - // a line found? - if (line_pos != std::string::npos) - { - // remove the line from bufer and return it - std::string ret(buffer, 0, line_pos + 1); - buffer.erase(0, line_pos + 1); - - return ret; - } - - // no new line, return empty string - return std::string(); -} - -// returns whether the buffer is empty -bool Process::IsAnyLineInBuffer(const std::string &buffer) -{ - return buffer.empty(); -} - -// read a line from stderr -std::string Process::readErrLine() -{ - readStderrToBuffer(); - - return GetLineFromBuffer(stderr_buffer); -} - -// read data from stderr -std::string Process::readErr() -{ - // read from stderr to the buffer - readStderrToBuffer(); - - // return the buffer and clear it - std::string ret(stderr_buffer); - - stderr_buffer.clear(); - - return ret; -} - -// set the filedscriptor to unblocked mode -void UnblockFD(int fd) -{ - // get the current flags - int flags = ::fcntl(fd,F_GETFL); - - if (flags == -1) - { - ERR << strerror(errno) << std::endl; return; - } - - // set the non-blocking flag - flags = flags | O_NONBLOCK; - - // set the updated flags - flags = ::fcntl(fd,F_SETFL,flags); - - if (flags == -1) - { - ERR << strerror(errno) << std::endl; return; - } -} - -// create a pipe for stderr output -int Process::create_stderr_pipes() -{ - int stderr_pipes[2]; - - // create a pair of pipes - if (pipe(stderr_pipes) != 0) - { - // return current stderr - return 2; - } - - // set the stderr pipe to non-blocking mode - UnblockFD(stderr_pipes[0]); - - stderr_output = ::fdopen(stderr_pipes[0], "r"); - - // return fd for writing - return stderr_pipes[1]; -} - -int Process::closeAll() -{ - if (!stderr_output) - { - // close stderr pipe - ::fclose(stderr_output); - - stderr_output = NULL; - } - - return ExternalProgram::close(); -} - -FILE* Process::errorFile() -{ - return stderr_output; -} - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/agent-process/src/Process.h new/yast2-core-2.21.0/agent-process/src/Process.h --- old/yast2-core-2.20.0/agent-process/src/Process.h 2009-04-29 13:04:20.000000000 +0200 +++ new/yast2-core-2.21.0/agent-process/src/Process.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,156 +0,0 @@ -/* Process.h - * - * ------------------------------------------------------------------------------ - * Copyright (c) 2008 Novell, Inc. All Rights Reserved. - * - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of version 2 of the GNU General Public License as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, contact Novell, Inc. - * - * To contact Novell about this file by physical or electronic mail, you may find - * current contact information at www.novell.com. - * ------------------------------------------------------------------------------ - * - * Class Process - * - * Authors: Ladislav Slezák <[email protected]> - * - * $Id: Process.h 57029 2009-04-29 11:04:19Z lslezak $ - */ - -#ifndef Process_h -#define Process_h - -#include <y2util/ExternalProgram.h> - -/** - * @short Execute a program and give access to its io - * An object of this class encapsulates the execution of - * an external program. It starts the program using fork - * and some exec.. call, gives you access to the program's - * stdio/stderr and closes the program after use. - */ -class Process: public ExternalProgram -{ - -private: - - std::string stdout_buffer; // buffer for stdout - std::string stderr_buffer; // buffer for stderr - - FILE *stderr_output; - -private: - - // disable copy ctor and operator= - Process(const Process&); - Process& operator=(const Process&); - - // create a pipe for stderr, return the end for writing - int create_stderr_pipes(); - - // a helper function - std::string GetLineFromBuffer(std::string &buffer); - - // a helper function - // reads the new stdout lines and adds them to stdout buffer - void BufferNewStdoutLines(); - - // checks emptines of the stdout buffer - bool IsAnyLineInBuffer(const std::string &buffer); - -public: - - /** - * Start the external program by using the shell <tt>/bin/sh<tt> - * with the option <tt>-c</tt>. You can use io direction symbols < and >. - * @param commandline a shell commandline that is appended to - * <tt>/bin/sh -c</tt>. - * @param default_locale whether to set LC_ALL=C before starting - * @param use_pty start the process in a terminal - */ - Process(const std::string &commandline, bool use_pty = false, bool default_locale = false, bool pty_trans = true) - : ExternalProgram(commandline, Stderr_To_FileDesc, - use_pty, create_stderr_pipes(), default_locale, "", pty_trans), stderr_output(NULL) - {} - - /** - * Start an external program by giving the arguments as an arry of char *pointers. - * If environment is provided, variables will be added to the childs environment, - * overwriting existing ones. - */ - - Process(const char *const *argv, const Environment &environment, bool use_pty = false, bool default_locale = false, bool pty_trans = true) - : ExternalProgram(argv, environment, Stderr_To_FileDesc, - use_pty, create_stderr_pipes(), default_locale, "", pty_trans) - {} - - - ~Process(); - - /** - * Send a signal - */ - bool kill(int sig); - - /** - * Send SIGKILL - */ - bool kill(); - - /** - * Read a line from stdout - */ - std::string readLine(); - - /** - * Read characters from stdout (not line oriented) - */ - std::string read(); - - /** - * Read a line from stderr - */ - std::string readErrLine(); - - /** - * Read characters from stderr (not line oriented) - */ - std::string readErr(); - - /** - * Close all input/output filedescriptors - */ - int closeAll(); - - /** - * Read stdout to the internal buffer (can unblock the process) - */ - void readStdoutToBuffer(); - - /** - * Read stderr to the internal buffer (can unblock the process) - */ - void readStderrToBuffer(); - - /** - * Read whether there are some buffered lines - */ - bool anyLineInStdout(); - - /** - * Return the stderror stream - */ - FILE* errorFile(); - -}; - -#endif // Process_h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/agent-process/src/ProcessAgent.cc new/yast2-core-2.21.0/agent-process/src/ProcessAgent.cc --- old/yast2-core-2.20.0/agent-process/src/ProcessAgent.cc 2009-04-10 09:50:45.000000000 +0200 +++ new/yast2-core-2.21.0/agent-process/src/ProcessAgent.cc 2011-03-07 15:09:50.000000000 +0100 @@ -27,7 +27,7 @@ */ #include "ProcessAgent.h" -#include "Process.h" +#include <y2util/Process.h> #include <y2util/ExternalProgram.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/agents-perl/doc/ycp-pm-pod.html new/yast2-core-2.21.0/agents-perl/doc/ycp-pm-pod.html --- old/yast2-core-2.20.0/agents-perl/doc/ycp-pm-pod.html 2009-08-14 17:47:25.000000000 +0200 +++ new/yast2-core-2.21.0/agents-perl/doc/ycp-pm-pod.html 2011-04-04 09:16:20.000000000 +0200 @@ -104,36 +104,31 @@ <p>A PerlYCPValue cannot represent a term but only a term is allowed to initialize an agent in a .scr file. Therefore <a href="#parseterm">ParseTerm</a> is provided.</p> <dl> -<dt><strong><a name="string_integer_boolean" class="item">string, integer, boolean</a></strong> +<dt><strong><a name="string_integer_boolean" class="item">string, integer, boolean</a></strong></dt> <dd> <p>Stored as a scalar.</p> </dd> -</li> -<dt><strong><a name="list" class="item">list</a></strong> +<dt><strong><a name="list" class="item">list</a></strong></dt> <dd> <p>Stored as a reference to a list of PerlYCPValues.</p> </dd> -</li> -<dt><strong><a name="map" class="item">map</a></strong> +<dt><strong><a name="map" class="item">map</a></strong></dt> <dd> <p>Stored as a reference to a map of PerlYCPValues.</p> </dd> -</li> -<dt><strong><a name="path" class="item">path</a></strong> +<dt><strong><a name="path" class="item">path</a></strong></dt> <dd> <p>Stored as a reference to a string (starting with a "." as expected).</p> </dd> -</li> -<dt><strong><a name="nil" class="item">nil (void)</a></strong> +<dt><strong><a name="nil" class="item">nil (void)</a></strong></dt> <dd> <p>Stored as an undef.</p> </dd> -</li> </dl> <p> </p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/base/tools/tty_wrapper/Makefile.am new/yast2-core-2.21.0/base/tools/tty_wrapper/Makefile.am --- old/yast2-core-2.20.0/base/tools/tty_wrapper/Makefile.am 2009-04-10 09:49:56.000000000 +0200 +++ new/yast2-core-2.21.0/base/tools/tty_wrapper/Makefile.am 2011-03-07 15:09:50.000000000 +0100 @@ -8,7 +8,8 @@ tty_wrapper_SOURCES = tty_wrapper.cc -tty_wrapper_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)/agent-process/src +tty_wrapper_CPPFLAGS = $(AM_CPPFLAGS) -tty_wrapper_LDADD = $(top_builddir)/agent-process/src/libpy2ag_process.la +tty_wrapper_LDADD = -ly2util +tty_wrapper_LDFLAGS = -L$(srcdir)/../../../liby2util-r/src -L$(libdir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/base/tools/tty_wrapper/tty_wrapper.cc new/yast2-core-2.21.0/base/tools/tty_wrapper/tty_wrapper.cc --- old/yast2-core-2.20.0/base/tools/tty_wrapper/tty_wrapper.cc 2009-04-29 13:04:20.000000000 +0200 +++ new/yast2-core-2.21.0/base/tools/tty_wrapper/tty_wrapper.cc 2011-03-07 15:09:50.000000000 +0100 @@ -20,7 +20,7 @@ */ /* - File: $Id: tty_wrapper.cc 57029 2009-04-29 11:04:19Z lslezak $ + File: $Id: tty_wrapper.cc 63488 2011-02-25 16:15:43Z mvidner $ Author: Ladislav Slezák <[email protected]> Summary: This is a generic tty wrapper Description: Starts a subprocess with a new internal tty input/output @@ -30,7 +30,7 @@ */ -#include "Process.h" +#include <y2util/Process.h> #include <iostream> extern "C" @@ -40,7 +40,6 @@ #include <errno.h> } - // use atomic type in signal handler static sig_atomic_t finish = false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/config.h.in new/yast2-core-2.21.0/config.h.in --- old/yast2-core-2.20.0/config.h.in 2011-01-03 22:17:05.000000000 +0100 +++ new/yast2-core-2.21.0/config.h.in 2011-04-04 09:14:56.000000000 +0200 @@ -93,3 +93,6 @@ /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES + +/* Define to `unsigned int' if <sys/types.h> does not define. */ +#undef size_t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/configure.in new/yast2-core-2.21.0/configure.in --- old/yast2-core-2.20.0/configure.in 2011-01-03 22:16:49.000000000 +0100 +++ new/yast2-core-2.21.0/configure.in 2011-04-04 09:14:46.000000000 +0200 @@ -3,7 +3,7 @@ dnl -- This file is generated by y2autoconf 2.18.11 - DO NOT EDIT! -- dnl (edit configure.in.in instead) -AC_INIT(yast2-core, 2.20.0, http://bugs.opensuse.org/, yast2-core) +AC_INIT(yast2-core, 2.21.0, http://bugs.opensuse.org/, yast2-core) dnl Check for presence of file 'RPMNAME' AC_CONFIG_SRCDIR([RPMNAME]) @@ -18,7 +18,7 @@ AM_INIT_AUTOMAKE(tar-ustar -Wno-portability) dnl Important YaST2 variables -VERSION="2.20.0" +VERSION="2.21.0" RPMNAME="yast2-core" MAINTAINER="Martin Vidner <[email protected]>" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/libtool.m4 new/yast2-core-2.21.0/libtool.m4 --- old/yast2-core-2.20.0/libtool.m4 2011-01-03 22:16:56.000000000 +0100 +++ new/yast2-core-2.21.0/libtool.m4 2011-04-04 09:14:52.000000000 +0200 @@ -1020,7 +1020,7 @@ # to the aix ld manual. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { @@ -4825,9 +4825,18 @@ # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE(int foo(void) {}, + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], [ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - ) + ]) LDFLAGS="$save_LDFLAGS" else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/liby2util-r/src/Makefile.am new/yast2-core-2.21.0/liby2util-r/src/Makefile.am --- old/yast2-core-2.20.0/liby2util-r/src/Makefile.am 2009-04-10 09:50:02.000000000 +0200 +++ new/yast2-core-2.21.0/liby2util-r/src/Makefile.am 2011-03-07 15:09:50.000000000 +0100 @@ -23,7 +23,8 @@ miniini.cc \ stringutil.cc \ y2log.cc \ - y2changes.cc + y2changes.cc \ + Process.cc liby2util_la_LDFLAGS = -version-info 4:0:0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/liby2util-r/src/Process.cc new/yast2-core-2.21.0/liby2util-r/src/Process.cc --- old/yast2-core-2.20.0/liby2util-r/src/Process.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-core-2.21.0/liby2util-r/src/Process.cc 2011-03-07 15:09:50.000000000 +0100 @@ -0,0 +1,249 @@ +/* ProcessAgent.cc + * + * ------------------------------------------------------------------------------ + * Copyright (c) 2008 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + * + * Implementation of class Process. + * + * Authors: Ladislav Slezák <[email protected]> + * + * $Id: ProcessAgent.cc 27914 2006-02-13 14:32:08Z locilka $ + */ + +#include "y2util/Process.h" + +#include <signal.h> +#include <fcntl.h> +#include <errno.h> +#include <cstring> +#include <y2util/Y2SLog.h> + + +/** + * Destructor + */ +Process::~Process() +{ + if (running()) + { + MIL << "Terminating running process '" << getpid() << "'..." << std::endl; + kill(); + } +} + +// send a signal +bool Process::kill(int sig) +{ + if (getpid() > 0) + { + return ::kill(getpid(), sig) == 0; + } + + return false; +} + +// send SIGKILL +bool Process::kill() +{ + return ExternalProgram::kill(); +} + +void Process::BufferNewStdoutLines () +{ + const std::string new_output = receiveUpto('\n'); + stdout_buffer += new_output; +} + +// read a line from stdout +std::string Process::readLine() +{ + BufferNewStdoutLines(); + + return GetLineFromBuffer(stdout_buffer); +} + +// return whether stdout buffer contains any (finished) line +bool Process::anyLineInStdout() +{ + BufferNewStdoutLines(); + + return IsAnyLineInBuffer(stdout_buffer); +} + +void Process::readStdoutToBuffer() +{ + const size_t b_size = 4096; + char buffer[b_size]; + size_t read; + + do + { + read = receive(buffer, b_size); + stdout_buffer.append(buffer, read); + } + while(read == b_size); +} + +// read stdout and return the data +std::string Process::read() +{ + readStdoutToBuffer(); + + std::string ret(stdout_buffer); + + stdout_buffer.clear(); + + return ret; +} + +// read data from a fd to a buffer +void Process::readStderrToBuffer() +{ + if (!stderr_output) + { + ERR << "stderr output is not open!" << std::endl; + return; + } + + const int b_size = 4096; + char buffer[b_size]; + int len; + + do + { + len = ::fread(buffer, 1, b_size, stderr_output); + + if (len > 0) + { + stderr_buffer.append(buffer, len); + } + } + while(len == b_size); +} + +// cut off the first line from a buffer and return it +std::string Process::GetLineFromBuffer(std::string &buffer) +{ + // find end of the first line + std::string::size_type line_pos = buffer.find("\n"); + + // a line found? + if (line_pos != std::string::npos) + { + // remove the line from bufer and return it + std::string ret(buffer, 0, line_pos + 1); + buffer.erase(0, line_pos + 1); + + return ret; + } + + // no new line, return empty string + return std::string(); +} + +// returns whether the buffer is empty +bool Process::IsAnyLineInBuffer(const std::string &buffer) +{ + return buffer.empty(); +} + +// read a line from stderr +std::string Process::readErrLine() +{ + readStderrToBuffer(); + + return GetLineFromBuffer(stderr_buffer); +} + +// read data from stderr +std::string Process::readErr() +{ + // read from stderr to the buffer + readStderrToBuffer(); + + // return the buffer and clear it + std::string ret(stderr_buffer); + + stderr_buffer.clear(); + + return ret; +} + +// set the filedscriptor to unblocked mode +void UnblockFD(int fd) +{ + // get the current flags + int flags = ::fcntl(fd,F_GETFL); + + if (flags == -1) + { + ERR << strerror(errno) << std::endl; return; + } + + // set the non-blocking flag + flags = flags | O_NONBLOCK; + + // set the updated flags + flags = ::fcntl(fd,F_SETFL,flags); + + if (flags == -1) + { + ERR << strerror(errno) << std::endl; return; + } +} + +// create a pipe for stderr output +int Process::create_stderr_pipes() +{ + int stderr_pipes[2]; + + // create a pair of pipes + if (pipe(stderr_pipes) != 0) + { + // return current stderr + return 2; + } + + // set the stderr pipe to non-blocking mode + UnblockFD(stderr_pipes[0]); + + stderr_output = ::fdopen(stderr_pipes[0], "r"); + + // return fd for writing + return stderr_pipes[1]; +} + +int Process::closeAll() +{ + if (!stderr_output) + { + // close stderr pipe + ::fclose(stderr_output); + + stderr_output = NULL; + } + + return ExternalProgram::close(); +} + +FILE* Process::errorFile() +{ + return stderr_output; +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/liby2util-r/src/include/y2util/Makefile.am new/yast2-core-2.21.0/liby2util-r/src/include/y2util/Makefile.am --- old/yast2-core-2.20.0/liby2util-r/src/include/y2util/Makefile.am 2009-04-10 09:50:01.000000000 +0200 +++ new/yast2-core-2.21.0/liby2util-r/src/include/y2util/Makefile.am 2011-04-01 08:10:18.000000000 +0200 @@ -12,6 +12,7 @@ MemUsage.h \ PathInfo.h \ Pathname.h \ + Process.h \ Rep.h \ RepDef.h \ TreeItem.h \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/liby2util-r/src/include/y2util/MemUsage.h new/yast2-core-2.21.0/liby2util-r/src/include/y2util/MemUsage.h --- old/yast2-core-2.20.0/liby2util-r/src/include/y2util/MemUsage.h 2009-04-10 09:50:01.000000000 +0200 +++ new/yast2-core-2.21.0/liby2util-r/src/include/y2util/MemUsage.h 2011-03-23 09:08:04.000000000 +0100 @@ -13,7 +13,7 @@ File: MemUsage.h Author: Martin Vidner <[email protected]> -$Id: MemUsage.h 41993 2007-11-13 09:45:16Z mvidner $ +$Id: MemUsage.h 63595 2011-03-18 12:56:42Z mvidner $ /-*/ @@ -58,7 +58,7 @@ // ready to be printed in gdb static void MuDumpVal (const char *name); - virtual size_t mem_size () const { return sizeof (*this); } + virtual std::size_t mem_size () const { return sizeof (*this); } }; // this makes it easier for gdb. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/liby2util-r/src/include/y2util/Process.h new/yast2-core-2.21.0/liby2util-r/src/include/y2util/Process.h --- old/yast2-core-2.20.0/liby2util-r/src/include/y2util/Process.h 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-core-2.21.0/liby2util-r/src/include/y2util/Process.h 2011-03-07 15:09:50.000000000 +0100 @@ -0,0 +1,156 @@ +/* Process.h + * + * ------------------------------------------------------------------------------ + * Copyright (c) 2008 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + * + * Class Process + * + * Authors: Ladislav Slezák <[email protected]> + * + * $Id: Process.h 57029 2009-04-29 11:04:19Z lslezak $ + */ + +#ifndef Process_h +#define Process_h + +#include <y2util/ExternalProgram.h> + +/** + * @short Execute a program and give access to its io + * An object of this class encapsulates the execution of + * an external program. It starts the program using fork + * and some exec.. call, gives you access to the program's + * stdio/stderr and closes the program after use. + */ +class Process: public ExternalProgram +{ + +private: + + std::string stdout_buffer; // buffer for stdout + std::string stderr_buffer; // buffer for stderr + + FILE *stderr_output; + +private: + + // disable copy ctor and operator= + Process(const Process&); + Process& operator=(const Process&); + + // create a pipe for stderr, return the end for writing + int create_stderr_pipes(); + + // a helper function + std::string GetLineFromBuffer(std::string &buffer); + + // a helper function + // reads the new stdout lines and adds them to stdout buffer + void BufferNewStdoutLines(); + + // checks emptines of the stdout buffer + bool IsAnyLineInBuffer(const std::string &buffer); + +public: + + /** + * Start the external program by using the shell <tt>/bin/sh<tt> + * with the option <tt>-c</tt>. You can use io direction symbols < and >. + * @param commandline a shell commandline that is appended to + * <tt>/bin/sh -c</tt>. + * @param default_locale whether to set LC_ALL=C before starting + * @param use_pty start the process in a terminal + */ + Process(const std::string &commandline, bool use_pty = false, bool default_locale = false, bool pty_trans = true) + : ExternalProgram(commandline, Stderr_To_FileDesc, + use_pty, create_stderr_pipes(), default_locale, "", pty_trans), stderr_output(NULL) + {} + + /** + * Start an external program by giving the arguments as an arry of char *pointers. + * If environment is provided, variables will be added to the childs environment, + * overwriting existing ones. + */ + + Process(const char *const *argv, const Environment &environment, bool use_pty = false, bool default_locale = false, bool pty_trans = true) + : ExternalProgram(argv, environment, Stderr_To_FileDesc, + use_pty, create_stderr_pipes(), default_locale, "", pty_trans) + {} + + + ~Process(); + + /** + * Send a signal + */ + bool kill(int sig); + + /** + * Send SIGKILL + */ + bool kill(); + + /** + * Read a line from stdout + */ + std::string readLine(); + + /** + * Read characters from stdout (not line oriented) + */ + std::string read(); + + /** + * Read a line from stderr + */ + std::string readErrLine(); + + /** + * Read characters from stderr (not line oriented) + */ + std::string readErr(); + + /** + * Close all input/output filedescriptors + */ + int closeAll(); + + /** + * Read stdout to the internal buffer (can unblock the process) + */ + void readStdoutToBuffer(); + + /** + * Read stderr to the internal buffer (can unblock the process) + */ + void readStderrToBuffer(); + + /** + * Read whether there are some buffered lines + */ + bool anyLineInStdout(); + + /** + * Return the stderror stream + */ + FILE* errorFile(); + +}; + +#endif // Process_h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/libycp/src/YCPBuiltinString.cc new/yast2-core-2.21.0/libycp/src/YCPBuiltinString.cc --- old/yast2-core-2.20.0/libycp/src/YCPBuiltinString.cc 2010-03-24 08:23:34.000000000 +0100 +++ new/yast2-core-2.21.0/libycp/src/YCPBuiltinString.cc 2011-04-01 08:10:18.000000000 +0200 @@ -1356,6 +1356,68 @@ static YCPValue +s_cryptsha256(const YCPString& original) +{ + /** + * @builtin cryptsha256 + * @short Encrypts a string with sha256 + * @description + * Encrypts the string <tt>UNENCRYPTED</tt> using sha256 + * password encryption. The password is not truncated. + * + * @param string UNENCRYPTED + * @return string + * @usage cryptsha256 ("readable") -> "$5$keev8D8I$kZdbw1WYM7XJtn4cpl1S3QtoKXnxIIFVSqwadMAGLE3" + */ + + if (original.isNull ()) + return YCPNull (); + + string unencrypted = original->value(); + string encrypted; + + if (crypt_pass (unencrypted, SHA256, &encrypted)) + return YCPString (encrypted); + else + { + ycp2error ("Encryption using sha256 failed"); + return YCPNull (); + } +} + + +static YCPValue +s_cryptsha512(const YCPString& original) +{ + /** + * @builtin cryptsha512 + * @short Encrypts a string with sha512 + * @description + * Encrypts the string <tt>UNENCRYPTED</tt> using sha512 + * password encryption. The password is not truncated. + * + * @param string UNENCRYPTED + * @return string + * @usage cryptsha512 ("readable") -> "$6$QskPAFTK$R40N1UI047Bg.nD96ZYSGnx71mgbBgb.UEtKuR8bGGxuzYgXjCTxKIQmqXrgftBzA20m2P9ayrUKQQ2pnWzm70" + */ + + if (original.isNull ()) + return YCPNull (); + + string unencrypted = original->value(); + string encrypted; + + if (crypt_pass (unencrypted, SHA512, &encrypted)) + return YCPString (encrypted); + else + { + ycp2error ("Encryption using sha512 failed"); + return YCPNull (); + } +} + + +static YCPValue s_dgettext (const YCPString& domain, const YCPString& text) { /** @@ -1542,6 +1604,8 @@ { "cryptmd5", "string (string)", (void *)s_cryptmd5, ETC }, { "cryptbigcrypt", "string (string)", (void *)s_cryptbigcrypt, ETC }, { "cryptblowfish", "string (string)", (void *)s_cryptblowfish, ETC }, + { "cryptsha256", "string (string)", (void *)s_cryptsha256, ETC }, + { "cryptsha512", "string (string)", (void *)s_cryptsha512, ETC }, { "regexpmatch", "boolean (string, string)", (void *)s_regexpmatch, ETC }, { "regexppos", "list<integer> (string, string)", (void *)s_regexppos, ETC }, { "regexpsub", "string (string, string, string)", (void *)s_regexpsub, ETC }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/libycp/src/y2crypt.cc new/yast2-core-2.21.0/libycp/src/y2crypt.cc --- old/yast2-core-2.20.0/libycp/src/y2crypt.cc 2009-04-10 09:49:52.000000000 +0200 +++ new/yast2-core-2.21.0/libycp/src/y2crypt.cc 2011-04-01 08:10:18.000000000 +0200 @@ -151,6 +151,28 @@ free (salt); break; + case SHA256: + salt = make_crypt_salt ("$5$", 0); + if (!salt) + { + y2error ("Cannot create salt for sha256 crypt"); + return false; + } + newencrypted = xcrypt_r (unencrypted.c_str (), salt, &output); + free (salt); + break; + + case SHA512: + salt = make_crypt_salt ("$6$", 0); + if (!salt) + { + y2error ("Cannot create salt for sha512 crypt"); + return false; + } + newencrypted = xcrypt_r (unencrypted.c_str (), salt, &output); + free (salt); + break; + default: y2error ("Don't know crypt type %d", use_crypt); return false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/libycp/src/y2crypt.h new/yast2-core-2.21.0/libycp/src/y2crypt.h --- old/yast2-core-2.20.0/libycp/src/y2crypt.h 2009-04-10 09:49:52.000000000 +0200 +++ new/yast2-core-2.21.0/libycp/src/y2crypt.h 2011-04-01 08:10:18.000000000 +0200 @@ -14,7 +14,7 @@ using std::string; -enum crypt_t { CRYPT, MD5, BIGCRYPT, BLOWFISH }; +enum crypt_t { CRYPT, MD5, BIGCRYPT, BLOWFISH, SHA256, SHA512 }; bool crypt_pass (string unencrypted, crypt_t use_crypt, string* encrypted); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/ltversion.m4 new/yast2-core-2.21.0/ltversion.m4 --- old/yast2-core-2.20.0/ltversion.m4 2011-01-03 22:16:57.000000000 +0100 +++ new/yast2-core-2.21.0/ltversion.m4 2011-04-04 09:14:52.000000000 +0200 @@ -9,15 +9,15 @@ # Generated from ltversion.in. -# serial 3017 ltversion.m4 +# serial 3018 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.2.6b]) -m4_define([LT_PACKAGE_REVISION], [1.3017]) +m4_define([LT_PACKAGE_REVISION], [1.3018]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.6b' -macro_revision='1.3017' +macro_revision='1.3018' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/scr/src/Makefile.am new/yast2-core-2.21.0/scr/src/Makefile.am --- old/yast2-core-2.20.0/scr/src/Makefile.am 2009-08-03 09:50:08.000000000 +0200 +++ new/yast2-core-2.21.0/scr/src/Makefile.am 2011-03-07 15:09:48.000000000 +0100 @@ -5,20 +5,6 @@ AM_CXXFLAGS = -DY2LOG=\"scr\" -DSUSEVERSION=\"${SUSEVERSION}\" serversdir = $(execcompdir)/servers -servers_PROGRAMS = scr - -scr_SOURCES = \ - scr.cc - -scr_LDADD = ${AGENT_LIBADD} \ - $(top_builddir)/liby2/src/liby2.la - -scr_DEPENDENCIES = libpy2scr.la - -scr_LDFLAGS = \ - -Xlinker --whole-archive \ - libpy2scr.la \ - -Xlinker --no-whole-archive plugin_LTLIBRARIES = libpy2scr.la diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/scr/src/scr.cc new/yast2-core-2.21.0/scr/src/scr.cc --- old/yast2-core-2.20.0/scr/src/scr.cc 2009-04-10 09:49:54.000000000 +0200 +++ new/yast2-core-2.21.0/scr/src/scr.cc 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -/* - * Basic setup for the standalone "scr" binary. - * - * Author: Stanislav Visnovsky <[email protected]> - */ - -#include "scr/SCR.h" -#include "ScriptingAgent.h" - -// register builtins -SCR scr_builtins; - -// create agent for SCR calls -ScriptingAgent agent; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/scr/testsuite/Makefile.am new/yast2-core-2.21.0/scr/testsuite/Makefile.am --- old/yast2-core-2.20.0/scr/testsuite/Makefile.am 2009-04-10 09:49:54.000000000 +0200 +++ new/yast2-core-2.21.0/scr/testsuite/Makefile.am 2011-03-07 15:09:49.000000000 +0100 @@ -11,7 +11,7 @@ INCLUDES = ${AGENT_INCLUDES} -noinst_PROGRAMS = runscr y2scr +noinst_PROGRAMS = runscr runscr_SOURCES = runscr.cc runscr_LDADD = ${AGENT_LIBADD} @@ -21,10 +21,3 @@ ../src/libpy2scr.la \ -Xlinker --no-whole-archive -y2scr_SOURCES = y2scr.cc -y2scr_LDADD = ${AGENT_LIBADD} -y2scr_LDFLAGS = \ - -Xlinker --whole-archive \ - $(top_builddir)/agent-dummy/src/libpy2ag_dummy.la \ - ../src/libpy2scr.la \ - -Xlinker --no-whole-archive diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.20.0/wfm/testsuite/tests/runtest.sh new/yast2-core-2.21.0/wfm/testsuite/tests/runtest.sh --- old/yast2-core-2.20.0/wfm/testsuite/tests/runtest.sh 2009-04-10 09:49:54.000000000 +0200 +++ new/yast2-core-2.21.0/wfm/testsuite/tests/runtest.sh 2011-03-07 15:09:49.000000000 +0100 @@ -1,7 +1,9 @@ #!/bin/bash unset LANG +unset LC_MESSAGES unset LC_ALL +unset LANGUAGE unset Y2DEBUG unset Y2DEBUGGER ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
