Hello community,
here is the log from the commit of package kdesdk4
checked in at Fri Nov 2 12:05:42 CET 2007.
--------
--- KDE/kdesdk4/kdesdk4.changes 2007-10-31 23:39:31.000000000 +0100
+++ /mounts/work_src_done/STABLE/kdesdk4/kdesdk4.changes 2007-11-01 12:21:39.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Nov 1 12:21:39 CET 2007 - dmueller@suse.de
+
+- update to 3.95.1
+
+-------------------------------------------------------------------
Old:
----
kdesdk-3.95.0.tar.bz2
New:
----
kdesdk-3.95.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdesdk4.spec ++++++
--- /var/tmp/diff_new_pack.Q19789/_old 2007-11-02 12:05:22.000000000 +0100
+++ /var/tmp/diff_new_pack.Q19789/_new 2007-11-02 12:05:22.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kdesdk4 (Version 3.95.0)
+# spec file for package kdesdk4 (Version 3.95.1)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -15,9 +15,9 @@
Group: System/GUI/KDE
Summary: kdesdk Package
Url: http://www.kde.org/
-Version: 3.95.0
+Version: 3.95.1
Release: 1
-%define rversion 3.95.0
+%define rversion 3.95.1
Source0: kdesdk-%rversion.tar.bz2
Source1: _upstream
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -594,6 +594,8 @@
%doc %lang(en) /usr/share/doc/kde/HTML/en/kapptemplate
/usr/include/kprofilemethod.h
%changelog
+* Thu Nov 01 2007 - dmueller@suse.de
+- update to 3.95.1
* Wed Oct 31 2007 - dmueller@suse.de
- update to KDE 4.0 Beta4
* Sat Oct 20 2007 - dmueller@suse.de
++++++ kdesdk-3.95.0.tar.bz2 -> kdesdk-3.95.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/cervisia/cervisia.notifyrc new/kdesdk-3.95.1/cervisia/cervisia.notifyrc
--- old/kdesdk-3.95.0/cervisia/cervisia.notifyrc 2007-10-03 13:46:59.000000000 +0200
+++ new/kdesdk-3.95.1/cervisia/cervisia.notifyrc 2007-10-31 21:44:22.000000000 +0100
@@ -32,6 +32,7 @@
Name[tr]=CVS teslim etme işi tamamlandı
Name[uk]=Завдання передачі CVS виконане
Name[x-test]=xxCVS commit job donexx
+Name[zh_CN]=CVS 提交任务已完成
Name[zh_TW]=CVS 提交完成
Comment=A CVS commit job is done
Comment[ca]=S'ha completat una entrega al CVS
@@ -61,5 +62,6 @@
Comment[tr]=Bir CVS teslim etme işi tamamlandı
Comment[uk]=Завдання передачі CVS виконане
Comment[x-test]=xxA CVS commit job is donexx
+Comment[zh_CN]=一次 CVS 提交任务已完成
Comment[zh_TW]=CVS 提交完成
Action=None
Files old/kdesdk-3.95.0/doc/cervisia/index.cache.bz2 and new/kdesdk-3.95.1/doc/cervisia/index.cache.bz2 differ
Files old/kdesdk-3.95.0/doc/kapptemplate/index.cache.bz2 and new/kdesdk-3.95.1/doc/kapptemplate/index.cache.bz2 differ
Files old/kdesdk-3.95.0/doc/kate/index.cache.bz2 and new/kdesdk-3.95.1/doc/kate/index.cache.bz2 differ
Files old/kdesdk-3.95.0/doc/kate-plugins/index.cache.bz2 and new/kdesdk-3.95.1/doc/kate-plugins/index.cache.bz2 differ
Files old/kdesdk-3.95.0/doc/kbugbuster/index.cache.bz2 and new/kdesdk-3.95.1/doc/kbugbuster/index.cache.bz2 differ
Files old/kdesdk-3.95.0/doc/kcachegrind/index.cache.bz2 and new/kdesdk-3.95.1/doc/kcachegrind/index.cache.bz2 differ
Files old/kdesdk-3.95.0/doc/kompare/index.cache.bz2 and new/kdesdk-3.95.1/doc/kompare/index.cache.bz2 differ
Files old/kdesdk-3.95.0/doc/scripts/kdesvn-build/index.cache.bz2 and new/kdesdk-3.95.1/doc/scripts/kdesvn-build/index.cache.bz2 differ
Files old/kdesdk-3.95.0/doc/umbrello/index.cache.bz2 and new/kdesdk-3.95.1/doc/umbrello/index.cache.bz2 differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/kate/app/katemdi.cpp new/kdesdk-3.95.1/kate/app/katemdi.cpp
--- old/kdesdk-3.95.0/kate/app/katemdi.cpp 2007-10-24 14:17:39.000000000 +0200
+++ new/kdesdk-3.95.1/kate/app/katemdi.cpp 2007-10-31 21:44:21.000000000 +0100
@@ -137,7 +137,7 @@
actionCollection()->setConfigGroup( "Shortcuts" );
actionCollection()->readSettings();
- actionCollection()->setAssociatedWidget(m_mw);
+ actionCollection()->associateWidget(m_mw);
}
GUIClient::~GUIClient()
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/kate/kicker/sessionmenu/katesessionmenu.cpp new/kdesdk-3.95.1/kate/kicker/sessionmenu/katesessionmenu.cpp
--- old/kdesdk-3.95.0/kate/kicker/sessionmenu/katesessionmenu.cpp 2007-10-25 11:33:04.000000000 +0200
+++ new/kdesdk-3.95.1/kate/kicker/sessionmenu/katesessionmenu.cpp 2007-10-31 21:44:22.000000000 +0100
@@ -31,7 +31,7 @@
#include
#include
#include
-#include
+#include
#include <QValidator>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/kate/plugins/filebrowser/katefileselector.cpp new/kdesdk-3.95.1/kate/plugins/filebrowser/katefileselector.cpp
--- old/kdesdk-3.95.0/kate/plugins/filebrowser/katefileselector.cpp 2007-10-25 11:33:04.000000000 +0200
+++ new/kdesdk-3.95.1/kate/plugins/filebrowser/katefileselector.cpp 2007-10-31 21:44:21.000000000 +0100
@@ -264,6 +264,8 @@
connect(dir, SIGNAL(fileSelected(const KFileItem&)), this, SLOT(fileSelected(const KFileItem&)));
readConfig();
+
+ mActionCollection->associateWidget(this);
}
KateFileSelector::~KateFileSelector()
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/kate/plugins/findinfiles/kategrepdialog.cpp new/kdesdk-3.95.1/kate/plugins/findinfiles/kategrepdialog.cpp
--- old/kdesdk-3.95.0/kate/plugins/findinfiles/kategrepdialog.cpp 2007-10-23 10:38:26.000000000 +0200
+++ new/kdesdk-3.95.1/kate/plugins/findinfiles/kategrepdialog.cpp 2007-10-31 21:44:21.000000000 +0100
@@ -299,7 +299,7 @@
addItems();
- delete m_grepThread;
+ m_grepThread->deleteLater();
m_grepThread = 0;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/kate/plugins/findinfiles/kategrepthread.cpp new/kdesdk-3.95.1/kate/plugins/findinfiles/kategrepthread.cpp
--- old/kdesdk-3.95.0/kate/plugins/findinfiles/kategrepthread.cpp 2007-08-29 11:55:06.000000000 +0200
+++ new/kdesdk-3.95.1/kate/plugins/findinfiles/kategrepthread.cpp 2007-10-31 21:44:21.000000000 +0100
@@ -64,8 +64,6 @@
for (int i = 0; !m_cancel && i < currentFiles.size(); ++i)
grepInFile (currentFiles.at(i).absoluteFilePath (), currentFiles.at(i).fileName());
}
-
- emit finished ();
}
void KateGrepThread::grepInFile (const QString &fileName, const QString &baseName)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/kate/plugins/findinfiles/kategrepthread.h new/kdesdk-3.95.1/kate/plugins/findinfiles/kategrepthread.h
--- old/kdesdk-3.95.0/kate/plugins/findinfiles/kategrepthread.h 2007-06-27 12:47:58.000000000 +0200
+++ new/kdesdk-3.95.1/kate/plugins/findinfiles/kategrepthread.h 2007-10-31 21:44:21.000000000 +0100
@@ -46,7 +46,6 @@
Q_SIGNALS:
void foundMatch (const QString &filename, int line, int column, const QString &basename, const QString &lineContent);
- void finished ();
private:
bool m_cancel;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/kate/plugins/konsole/katekonsoleplugin.desktop new/kdesdk-3.95.1/kate/plugins/konsole/katekonsoleplugin.desktop
--- old/kdesdk-3.95.0/kate/plugins/konsole/katekonsoleplugin.desktop 2007-10-23 10:38:26.000000000 +0200
+++ new/kdesdk-3.95.1/kate/plugins/konsole/katekonsoleplugin.desktop 2007-10-31 21:44:21.000000000 +0100
@@ -6,6 +6,7 @@
X-Kate-Version=2.8
Name=Terminal tool view
Name[de]=Werkzeugansicht für Terminal
+Name[el]=Προβολή εργαλείου τερματικού
Name[it]=Strumento visivo per terminale
Name[ja]=ターミナルツールビュー
Name[nl]=Terminalweergave
@@ -13,9 +14,11 @@
Name[pt_BR]=Área de ferramentas do terminal
Name[sv]=Terminalverktygsvy
Name[x-test]=xxTerminal tool viewxx
+Name[zh_CN]=终端工具视图
Name[zh_TW]=終端機工具檢視
Comment=Toolview embedding a terminal widget
Comment[de]=Werkzeugansicht, die ein Terminalelement einbettet
+Comment[el]=Προβολή εργαλείου που ενσωματώνει ένα συστατικό τερματικού
Comment[it]=Strumento visivo per incorporare un terminale
Comment[ja]=ターミナルウィジェットを埋め込んだツールビュー
Comment[nl]=Weergave met ingebedde terminal
@@ -23,6 +26,7 @@
Comment[pt_BR]=Área de ferramentas que incorpora um console
Comment[sv]=Verktygsvy med en inbäddad grafisk terminalkomponent
Comment[x-test]=xxToolview embedding a terminal widgetxx
+Comment[zh_CN]=嵌入一个终端构件的工具视图
Comment[zh_TW]=嵌入終端機元件的工具檢視
X-Kate-MajorProfiles=Kate
X-Kate-MinorProfiles=*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/scripts/kdekillall new/kdesdk-3.95.1/scripts/kdekillall
--- old/kdesdk-3.95.0/scripts/kdekillall 2006-10-26 04:18:09.000000000 +0200
+++ new/kdesdk-3.95.1/scripts/kdekillall 2007-10-31 21:44:22.000000000 +0100
@@ -5,19 +5,19 @@
esac
if [ $# = 0 ]; then
echo "Usage: $0 [-<signal>] <process>"
- echo 'Kills the process "kdeinit: <process> with signal <signal>"'
+ echo 'Kills the process "kdeinit4: <process> with signal <signal>"'
echo "if <signal> is not specified, it defaults to SIGTERM,"
echo "see kill -l for a list of possible signals"
else
- list=$(ps auwx | grep $USER | awk "/[k]deinit: $1/ {print \$2}")
+ list=$(ps auwx | grep $USER | awk "/[k]deinit[4|]: $1/ {print \$2}")
if test -z "$list"; then
# on newer Linux kernels (>= 2.6.10) KDE is able to use
# prctl(PR_SET_NAME) to change the process name...
- list=$(ps auwx | grep $USER | awk "/\[kdeinit\] $1/ {print \$2}")
+ list=$(ps auwx | grep $USER | awk "/\[kdeinit[4|]\] $1/ {print \$2}")
fi
if test -z "$list"; then
# with KDE 3.4 we changed the view again...
- list=$(ps auwx | grep $USER | awk "/$1 \[kdeinit\]/ {print \$2}")
+ list=$(ps auwx | grep $USER | awk "/$1 \[kdeinit[4|]\]/ {print \$2}")
fi
if test -n "$list"; then
kill $signal $list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/scripts/kdesvn-build new/kdesdk-3.95.1/scripts/kdesvn-build
--- old/kdesdk-3.95.0/scripts/kdesvn-build 2007-10-23 10:38:26.000000000 +0200
+++ new/kdesdk-3.95.1/scripts/kdesvn-build 2007-10-31 21:44:22.000000000 +0100
@@ -256,7 +256,7 @@
use strict;
use warnings;
use Fcntl; # For sysopen constants
-use POSIX 'strftime';
+use POSIX qw(strftime :sys_wait_h);
use File::Find; # For our lndir reimplementation.
use File::Basename;
use Sys::Hostname;
@@ -272,7 +272,19 @@
ERROR => 5,
};
-my $versionNum = '1.5';
+# IPC message types
+use constant {
+ IPC_MODULE_SUCCESS => 1, # Used for a successful svn checkout
+ IPC_MODULE_FAILURE => 2, # Used for a failed svn checkout
+ IPC_MODULE_SKIPPED => 3, # Used for a skipped svn checkout (i.e. build anyways)
+
+ # One of these messages should be the first message placed on the queue.
+ IPC_ALL_SKIPPED => 4, # Used to indicate a skipped update process (i.e. build anyways)
+ IPC_ALL_FAILURE => 5, # Used to indicate a major update failure (don't build)
+ IPC_ALL_UPDATING => 6, # Informational message, feel free to start the build.
+};
+
+my $versionNum = '1.6-pre1';
# Some global variables
# Remember kids, global variables are evil! I only get to do this
@@ -338,6 +350,124 @@
}
);
+# Define class for IPC object so that we can also make a simulated IPC object
+# and fallback to queued update and building.
+{
+ # Use SysV IPC protocols as it is built in to Perl.
+ package SysVIPC;
+
+ # Once again Perl's non-declaration of required constants proves awesome.
+ # NOTE: This is hopefully the same across all UNIXy libc's but I can make
+ # no guarantees. Unfortunately the required Perl module (IPC::SysV) was
+ # not installed by default until apparently very recently so instead these
+ # are hardcoded.
+ use constant IPC_PRIVATE => 0;
+ use constant IPC_RMID => 0;
+
+ sub new
+ {
+ my ($class, $key) = @_;
+
+ my $id = msgget(IPC_PRIVATE, 0644); # Permissions...
+
+ my $data = { 'id' => $id, 'rmMsgQueue' => 0 };
+
+ return bless $data, $class; # OOP in Perl is so completely retarded
+ # (although I suppose better than OOP in C)
+ }
+
+ # dtor
+ sub DESTROY
+ {
+ my $self = shift;
+
+ if($self->{'rmMsgQueue'})
+ {
+ msgctl($self->{'id'}, IPC_RMID, 0);
+ }
+ }
+
+ # Pass true if this object should deallocate the shared memory. False
+ # by default.
+ sub releaseOnExit
+ {
+ my $self = shift;
+ my $rmMem = shift;
+
+ $self->{'rmMsgQueue'} = $rmMem;
+ }
+
+ sub sendMessage
+ {
+ my $self = shift;
+ my ($ipcType, $msg, $flags) = @_;
+
+ $flags = 0 unless defined $flags;
+
+ return msgsnd($self->{'id'}, pack("l! a*", $ipcType, $msg), $flags);
+ }
+
+ sub receiveMessage
+ {
+ my $self = shift;
+ my ($outBuffer, $length, $flags) = @_;
+
+ $flags = 0 unless defined $flags;
+ my $buffer = ""; # Define this to something to force allocation.
+
+ my $result = msgrcv($self->{'id'}, $buffer, $length, 0, $flags);
+
+ return $result if not $result;
+
+ my $returnType;
+ ($returnType, $$outBuffer) = unpack("l! a*", $buffer);
+
+ return $returnType;
+ }
+}
+
+# Dummy IPC module in case SysVIPC doesn't work.
+{
+ package NullIPC;
+
+ sub new
+ {
+ my $class = shift;
+ my @msgQueue;
+
+ return bless \@msgQueue, $class; # OOP in Perl is so completely retarded
+ }
+
+ # Defined for compatibility
+ sub releaseOnExit
+ {
+ }
+
+ sub sendMessage
+ {
+ my $self = shift;
+ my ($ipcType, $msg) = @_;
+
+ push @{$self}, pack("l! a*", $ipcType, $msg);
+ return 1;
+ }
+
+ sub receiveMessage
+ {
+ my $self = shift;
+ my ($outBuffer, $length) = @_;
+
+ return undef unless scalar @{$self} > 0;
+
+ my $msg = shift @{$self};
+ my $returnType;
+
+ ($returnType, $$outBuffer) = unpack("l! a*", $msg);
+
+ return $returnType;
+ }
+}
+
# This is a hash since Perl doesn't have a "in" keyword.
my %ignore_list; # List of packages to refuse to include in the build list.
@@ -2766,7 +2896,8 @@
$logfile = "No log file" unless $logfile;
$logfile =~ s|$homedir|~|;
- warning "r[$_] - g[$logfile]";
+ warning "r[$_]" if pretending;
+ warning "r[$_] - g[$logfile]" if not pretending;
}
}
}
@@ -2776,8 +2907,6 @@
# call.
sub output_failed_module_lists()
{
- return if pretending;
-
for my $type (@fail_display_order)
{
my @failures = @{$fail_lists{$type}};
@@ -3306,7 +3435,7 @@
warning " WARNING: Can't open or create lockfile r[$lockfile]";
return 1;
};
-
+
my $pid = <PIDFILE>;
close PIDFILE;
@@ -3651,11 +3780,19 @@
sub dont_build
{
my $module = shift;
+ my $ipc = shift;
whisper "Not building $module";
- # Weed out matches of the module name
- @build_list = grep (!/^$module$/, @build_list);
+ if ($ipc)
+ {
+ $ipc->sendMessage(IPC_MODULE_FAILURE, $module);
+ }
+ else
+ {
+ # Weed out matches of the module name
+ @build_list = grep (!/^$module$/, @build_list);
+ }
push @{$fail_lists{'update'}}, $module;
}
@@ -3730,19 +3867,36 @@
# If the module has not already been checkout out, this subroutine
# will do so for you.
#
+# The $ipc variable contains an object that is responsible for communicating
+# the status of building the modules. This function must account for every
+# module in @{$update_ref} to $ipc before returning.
+#
# Returns 0 on success, non-zero on error.
sub handle_updates
{
my $update_ref = shift;
+ my $ipc = shift;
my $kdesvn = get_kdesvn_dir();
- my $result = 0;
- my $module;
+ my $hadError = 0;
# No reason to print out the text if we're not doing anything.
- return 0 if get_option ('global', 'no-svn');
- return 0 if scalar @$update_ref == 0;
+ if (scalar @$update_ref == 0)
+ {
+ $ipc->sendMessage(IPC_ALL_UPDATING, "update-list-empty");
+ return 0;
+ }
- return 1 if (not check_for_ssh_agent());
+ if (get_option ('global', 'no-svn'))
+ {
+ $ipc->sendMessage(IPC_ALL_SKIPPED, "no-svn");
+ return 0;
+ }
+
+ if (not check_for_ssh_agent())
+ {
+ $ipc->sendMessage(IPC_ALL_FAILURE, "ssh-failure");
+ return 1;
+ }
note "<<< Updating Subversion Directories >>>";
info " "; # Add newline for aesthetics unless in quiet mode.
@@ -3753,12 +3907,16 @@
if (not super_mkdir ($kdesvn))
{
error "Unable to make directory r[$kdesvn]!";
- @build_list = (); # Clear out the build list, since we can't build.
- $install_flag = 0; # Can't install either.
+ $ipc->sendMessage(IPC_ALL_FAILURE, "no-source-dir");
+
return 1;
}
}
+ # Once at this point, any errors we get should be limited to a module,
+ # which means we can tell the build thread to start.
+ $ipc->sendMessage(IPC_ALL_UPDATING, "starting-updates");
+
# Make sure KDE's SSL signature is present since --non-interactive is
# passed to svn.
install_missing_ssl_signature();
@@ -3767,11 +3925,15 @@
my $l10n = 'l10n-kde4';
$l10n = 'l10n-kde3' if get_option('global', 'use-stable-kde');
- foreach $module (@{$update_ref})
+ foreach my $module (@{$update_ref})
{
check_for_module_config ($module);
- next if get_option($module, 'no-svn');
+ if(get_option($module, 'no-svn'))
+ {
+ $ipc->sendMessage(IPC_MODULE_SKIPPED, $module);
+ next;
+ }
my @options = split(' ', get_option($module, 'checkout-only'));
$module = $l10n if $module eq 'l10n'; # Correct internal name.
@@ -3796,6 +3958,8 @@
}
my $fullpath = get_fullpath($module, 'source');
+ my $result;
+
if (-e "$fullpath/.svn")
{
# Warn user if the current repo URL is different than expected.
@@ -3810,14 +3974,19 @@
if ($result)
{
error "Error updating r[$module], removing from list of packages to build.";
- dont_build ($module);
+ dont_build ($module); # Sends IPC message.
+ $hadError = 1;
+ }
+ else
+ {
+ $ipc->sendMessage(IPC_MODULE_SUCCESS, $module);
}
print "\n";
}
info "<<< Update Complete >>>\n";
- return $result;
+ return $hadError;
}
# Subroutine to run the qt-copy apply_patches script.
@@ -4997,6 +5166,7 @@
{
my @build_done;
my $build_ref = shift;
+ my $ipc = shift;
my $kdesvn = get_kdesvn_dir();
my $module;
my @modules = grep (!/^(KDE\/)?kde-common$/, @{$build_ref});
@@ -5011,6 +5181,32 @@
note "<<< Build Process >>>";
+ # Keeps track of svn status of the modules.
+ my %svn_status = ();
+
+ # IPC queue should have a message saying whether or not to bother with the
+ # build.
+ {
+ my $buffer = "";
+ my $ipcType = $ipc->receiveMessage(\$buffer, 256);
+
+ if ($ipcType == IPC_ALL_FAILURE)
+ {
+ error " b[r[*] Unable to perform the source update (y[$buffer]), therefore";
+ error " b[r[*] unable to build.";
+ return 1;
+ }
+ elsif ($ipcType == IPC_ALL_SKIPPED)
+ {
+ $svn_status{$_} = 'skipped' foreach @update_list;
+ }
+ elsif ($ipcType != IPC_ALL_UPDATING)
+ {
+ error " b[r[***] IPC failure while expecting svn update status, wrong type: r[$ipcType]";
+ return 1;
+ }
+ }
+
# Save the environment to keep module's env changes from affecting other
# modules.
my %env_backup = %ENV;
@@ -5037,6 +5233,41 @@
{
my $start_time = time;
+ # If using IPC, read in the contents of the message buffer, and wait
+ # for completion of the svn update if necessary.
+
+ if (not defined $svn_status{$module})
+ {
+ $svn_status{$module} = 0;
+ }
+
+ while(list_has(@update_list, $module) and not $svn_status{$module})
+ {
+ my $buffer;
+ my $ipcType = $ipc->receiveMessage(\$buffer, 512);
+
+ if (not defined $ipcType or not $ipcType)
+ {
+ error " b[r[***] $module: IPC failure during Subversion update: r[b[$!]";
+ return 1;
+ }
+
+ whisper "\tReceived IPC status message for $buffer: $ipcType";
+
+ if($ipcType == IPC_MODULE_SUCCESS or $ipcType == IPC_MODULE_SKIPPED)
+ {
+ $svn_status{$buffer} = 'success';
+ }
+ elsif($ipcType == IPC_MODULE_FAILURE)
+ {
+ $svn_status{$buffer} = 'failed';
+ push @{$fail_lists{'update'}}, $buffer;
+ }
+ }
+
+ next if $svn_status{$module} eq 'failed';
+ whisper "\tBuilding g[$module]";
+
if (build_module ($module, $i, $num_modules))
{
my $elapsed = prettify_seconds(time - $start_time);
@@ -5098,7 +5329,7 @@
}
info " "; # Add newline for aesthetics if not in quiet mode.
- return scalar @{$fail_lists{'build'}};
+ return scalar @{$fail_lists{'build'}} or grep (/failed/, values %svn_status);
}
# Subroutine checks to see if a module is present in the config file, and
@@ -5335,14 +5566,14 @@
# actually belongs with the module name.
if (has_base_module($modulename))
{
- $modulename .= "/" . shift @dirs unless scalar @dirs == 0;
-
# extragear and playground both have support now for building
# the entire cluster of modules with one make command.
if (scalar @dirs == 0)
{
whisper "Building all of g[$modulename]."
}
+
+ $modulename .= "/" . shift @dirs unless scalar @dirs == 0;
}
if (scalar @dirs > 0)
@@ -5696,8 +5927,50 @@
if (not $install_flag)
{
# No packages to install, we're in build mode
- $result = handle_updates (\@update_list);
- $result = handle_build (\@build_list) || $result;
+
+ # What we're going to do is fork another child to perform the svn
+ # updates while we build. Setup for this first by initializing some
+ # shared memory.
+ #
+ my $ipc = exists $ENV{'COVERITY_RUN'} ? 0 : new SysVIPC;
+
+ if (not $ipc)
+ {
+ $ipc = new NullIPC;
+ whisper "Using no IPC mechanism\n";
+
+ $result = handle_updates (\@update_list, $ipc);
+ $result = handle_build (\@build_list, $ipc) || $result;
+ }
+ else
+ {
+ my $childPid = fork();
+ if ($childPid == 0)
+ {
+ # Child, do svn after reseting signal handlers;
+ $SIG{'HUP'} = sub { exit 6; };
+ $SIG{'INT'} = sub { exit 6; };
+ $SIG{'QUIT'} = sub { exit 6; };
+ $SIG{'ABRT'} = sub { exit 6; };
+ $SIG{'TERM'} = sub { exit 6; };
+ $SIG{'PIPE'} = sub { exit 6; };
+
+ exit handle_updates (\@update_list, $ipc);
+ }
+ else
+ {
+ # We should release shm resources.
+ $ipc->releaseOnExit(1);
+
+ # Parent, do build
+ $result = handle_build (\@build_list, $ipc);
+
+ waitpid ($childPid, 0);
+
+ # Exit code is in $?.
+ $result = 1 if $? != 0;
+ }
+ }
}
else
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdesdk-3.95.0/scripts/qt4/adapt-to-kde4-api.pl new/kdesdk-3.95.1/scripts/qt4/adapt-to-kde4-api.pl
--- old/kdesdk-3.95.0/scripts/qt4/adapt-to-kde4-api.pl 2007-10-16 16:49:47.000000000 +0200
+++ new/kdesdk-3.95.1/scripts/qt4/adapt-to-kde4-api.pl 2007-10-31 21:44:22.000000000 +0100
@@ -573,6 +573,17 @@
s/KApplication::SETTINGS_/KGlobalSettings::SETTINGS_/;
s/KApplication::createApplicationPalette/KGlobalSettings::createApplicationPalette/;
+ #KConfig changes
+ s/\bentryIsImmutable\b/isEntryImmutable/g;
+ s/\bgroupIsImmutable\b/isGroupImmutable/g;
+ s/\bgetConfigState\b/accessMode/g;
+ s/\bConfigState\b/AccessMode/g;
+ s/\b(KConfigGroup|KConfig|KConfigBase)::NLS\b/\1::Localized/g;
+ s/\bKConfig::OnlyLocal\b/KConfig::SimpleConfig/g;
+ s/\breadPathEntry(\s*)\(([^,)]+?)(\s*)\)/readPathEntry\1(\2, QString()\3)/g;
+ s/\breadPathListEntry(\s*)\(([^,)]+,[^,)]+)\)/readPathEntry\1(\2)/g;
+ s/\breadPathListEntry(\s*)\(([^,)]+?)(\s*)\)/readPathEntry\1(\2, QStringList()\3)/g;
+
$modified ||= $orig ne $_;
$_;
} <$FILE>;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org