Hello community, here is the log from the commit of package soprano for openSUSE:Factory checked in at 2011-12-06 18:00:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/soprano (Old) and /work/SRC/openSUSE:Factory/.soprano.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "soprano", Maintainer is "kde-maintainers@suse.de" Changes: -------- --- /work/SRC/openSUSE:Factory/soprano/soprano-backend-sesame.changes 2011-11-16 17:22:47.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.soprano.new/soprano-backend-sesame.changes 2011-12-06 18:02:59.000000000 +0100 @@ -1,0 +2,10 @@ +Sun Dec 4 17:34:08 UTC 2011 - asterios.dramis@gmail.com + +- Update to 2.7.4: + * Enabled large file support (_FILE_OFFSET_BITS=64) to fix large DB file + locking on 32bit machines. + * Do not use an event loop when waiting for Virtuoso to initialize. + * In the socket client: simply close the connection in case of a timeout. We + cannot recover from it anyway. + +------------------------------------------------------------------- soprano-backend-virtuoso.changes: same change soprano.changes: same change Old: ---- soprano-2.7.3.tar.bz2 New: ---- soprano-2.7.4.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ soprano-backend-sesame.spec ++++++ --- /var/tmp/diff_new_pack.HLrqtX/_old 2011-12-06 18:03:01.000000000 +0100 +++ /var/tmp/diff_new_pack.HLrqtX/_new 2011-12-06 18:03:01.000000000 +0100 @@ -22,7 +22,7 @@ License: LGPL-2.1+ # COMMON1-BEGIN # COMMON1-BEGIN -Version: 2.7.3 +Version: 2.7.4 Release: 1 Url: http://soprano.sourceforge.net/ Group: System/Libraries ++++++ soprano-backend-virtuoso.spec ++++++ --- /var/tmp/diff_new_pack.HLrqtX/_old 2011-12-06 18:03:01.000000000 +0100 +++ /var/tmp/diff_new_pack.HLrqtX/_new 2011-12-06 18:03:01.000000000 +0100 @@ -22,7 +22,7 @@ License: GPL-2.0+ # COMMON1-BEGIN # COMMON1-BEGIN -Version: 2.7.3 +Version: 2.7.4 Release: 1 Url: http://soprano.sourceforge.net/ Group: System/Libraries ++++++ soprano.spec ++++++ --- /var/tmp/diff_new_pack.HLrqtX/_old 2011-12-06 18:03:01.000000000 +0100 +++ /var/tmp/diff_new_pack.HLrqtX/_new 2011-12-06 18:03:01.000000000 +0100 @@ -21,7 +21,7 @@ Summary: C++/Qt based interface library for RDF License: LGPL-2.1+ and GPL-2.0+ # COMMON1-BEGIN -Version: 2.7.3 +Version: 2.7.4 Release: 1 Url: http://soprano.sourceforge.net/ Group: System/Libraries ++++++ soprano-2.7.3.tar.bz2 -> soprano-2.7.4.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.7.3/CMakeLists.txt new/soprano-2.7.4/CMakeLists.txt --- old/soprano-2.7.3/CMakeLists.txt 2011-10-31 11:04:01.000000000 +0100 +++ new/soprano-2.7.4/CMakeLists.txt 2011-12-02 16:27:49.000000000 +0100 @@ -7,7 +7,7 @@ ################## Soprano version ################################ set(CMAKE_SOPRANO_VERSION_MAJOR 2) set(CMAKE_SOPRANO_VERSION_MINOR 7) -set(CMAKE_SOPRANO_VERSION_RELEASE 3) +set(CMAKE_SOPRANO_VERSION_RELEASE 4) set(CMAKE_SOPRANO_VERSION_STRING "${CMAKE_SOPRANO_VERSION_MAJOR}.${CMAKE_SOPRANO_VERSION_MINOR}.${CMAKE_SOPRANO_VERSION_RELEASE}") @@ -170,6 +170,9 @@ set(LIBRARY_TYPE SHARED) endif(WINCE) +# Soprano will handle large files in LockFile (Virtuoso DB files) +add_definitions(-D_FILE_OFFSET_BITS=64) + ################## add subdirectories ################################ if(BUILD_CLUCENE_INDEX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.7.3/ChangeLog new/soprano-2.7.4/ChangeLog --- old/soprano-2.7.3/ChangeLog 2011-10-31 11:04:01.000000000 +0100 +++ new/soprano-2.7.4/ChangeLog 2011-12-02 16:27:49.000000000 +0100 @@ -1,3 +1,9 @@ +2.7.4 + * Enabled large file support (_FILE_OFFSET_BITS=64) to fix large DB file locking on 32bit machines. + * Do not use an event loop when waiting for Virtuoso to initialize. + * In the socket client: simply close the connection in case of a timeout. We cannot recover from it + anyway. + 2.7.3 * Added new signal in the Virtuoso backend which signals when the server goes down. * Soprano can be built with cmake 2.6.4 again. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.7.3/backends/virtuoso/virtuosocontroller.cpp new/soprano-2.7.4/backends/virtuoso/virtuosocontroller.cpp --- old/soprano-2.7.3/backends/virtuoso/virtuosocontroller.cpp 2011-10-31 11:04:01.000000000 +0100 +++ new/soprano-2.7.4/backends/virtuoso/virtuosocontroller.cpp 2011-12-02 16:27:49.000000000 +0100 @@ -72,13 +72,10 @@ : QObject( 0 ), m_port( 0 ), m_status( NotRunning ), - m_lastExitStatus( NormalExit ), - m_initializationLoop( 0 ) + m_lastExitStatus( NormalExit ) { connect( &m_virtuosoProcess, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(slotProcessFinished(int,QProcess::ExitStatus)) ); - connect( &m_virtuosoProcess, SIGNAL(readyReadStandardError()), - this, SLOT(slotProcessReadyRead()) ); // necessary in case we are started from a thread != the main thread qRegisterMetaTypeQProcess::ExitStatus(); @@ -191,10 +188,17 @@ { // FIXME: timeout if ( m_virtuosoProcess.waitForStarted() ) { - QEventLoop loop; - m_initializationLoop = &loop; - loop.exec(); - m_initializationLoop = 0; + while( m_virtuosoProcess.waitForReadyRead(-1) ) { + while( m_virtuosoProcess.canReadLine() ) { + QString line = QString::fromLatin1( m_virtuosoProcess.readLine() ); + qDebug() << line; + if ( line.contains( "Server online at" ) ) { + m_virtuosoProcess.closeReadChannel( QProcess::StandardError ); + m_status = Running; + return true; + } + } + } return( m_status == Running ); } else { @@ -203,21 +207,6 @@ } -void Soprano::VirtuosoController::slotProcessReadyRead() -{ - // we only wait for the server to tell us that it is ready - while ( m_virtuosoProcess.canReadLine() ) { - QString line = QString::fromLatin1( m_virtuosoProcess.readLine() ); - qDebug() << line; - if ( line.contains( "Server online at" ) ) { - m_virtuosoProcess.closeReadChannel( QProcess::StandardError ); - m_status = Running; - m_initializationLoop->exit(); - } - } -} - - int Soprano::VirtuosoController::usedPort() const { return m_port; @@ -287,9 +276,6 @@ qDebug() << "Virtuoso server stopped:" << m_lastExitStatus; emit stopped( m_lastExitStatus ); - - if ( m_initializationLoop ) - m_initializationLoop->exit(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.7.3/backends/virtuoso/virtuosocontroller.h new/soprano-2.7.4/backends/virtuoso/virtuosocontroller.h --- old/soprano-2.7.3/backends/virtuoso/virtuosocontroller.h 2011-10-31 11:04:01.000000000 +0100 +++ new/soprano-2.7.4/backends/virtuoso/virtuosocontroller.h 2011-12-02 16:27:49.000000000 +0100 @@ -78,7 +78,6 @@ private Q_SLOTS: void slotProcessFinished( int exitCode, QProcess::ExitStatus exitStatus ); - void slotProcessReadyRead(); private: void writeConfigFile( const QString& path, const BackendSettings& settings ); @@ -92,8 +91,6 @@ Status m_status; ExitStatus m_lastExitStatus; - QEventLoop* m_initializationLoop; - LockFile m_virtuosoLock; }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.7.3/client/clientconnection.cpp new/soprano-2.7.4/client/clientconnection.cpp --- old/soprano-2.7.3/client/clientconnection.cpp 2011-10-31 11:04:01.000000000 +0100 +++ new/soprano-2.7.4/client/clientconnection.cpp 2011-12-02 16:27:49.000000000 +0100 @@ -114,7 +114,9 @@ Q_UNUSED( settings ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return 0; } @@ -143,7 +145,9 @@ stream.writeString( name ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return; } @@ -168,7 +172,9 @@ stream.writeUnsignedInt16( COMMAND_SUPPORTED_FEATURES ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return 0; } @@ -198,7 +204,9 @@ stream.writeStatement( statement ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return Error::ErrorUnknown; } @@ -226,7 +234,9 @@ stream.writeUnsignedInt32( ( quint32 )modelId ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return 0; } @@ -257,7 +267,9 @@ stream.writeString( userQueryLanguage ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return 0; } @@ -286,7 +298,9 @@ stream.writeStatement( partial ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return 0; } @@ -315,7 +329,9 @@ stream.writeStatement( statement ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return Error::ErrorUnknown; } @@ -344,7 +360,9 @@ stream.writeStatement( statement ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return Error::ErrorUnknown; } @@ -372,7 +390,9 @@ stream.writeUnsignedInt32( ( quint32 )modelId ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return -1; } @@ -401,7 +421,9 @@ stream.writeStatement( statement ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return false; } @@ -430,7 +452,9 @@ stream.writeStatement( statement ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return false; } @@ -458,7 +482,9 @@ stream.writeUnsignedInt32( ( quint32 )modelId ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return false; } @@ -486,7 +512,9 @@ stream.writeUnsignedInt32( ( quint32 )modelId ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return Node(); } @@ -514,7 +542,9 @@ stream.writeUnsignedInt32( ( quint32 )id ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return false; } @@ -542,7 +572,9 @@ stream.writeUnsignedInt32( ( quint32 )id ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return Node(); } @@ -570,7 +602,9 @@ stream.writeUnsignedInt32( ( quint32 )id ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return Statement(); } @@ -598,7 +632,9 @@ stream.writeUnsignedInt32( ( quint32 )id ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return BindingSet(); } @@ -626,7 +662,9 @@ stream.writeUnsignedInt32( ( quint32 )id ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return Statement(); } @@ -653,7 +691,9 @@ stream.writeUnsignedInt32( ( quint32 )id ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return 0; } @@ -681,7 +721,9 @@ stream.writeUnsignedInt32( ( quint32 )id ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return false; } @@ -708,7 +750,9 @@ stream.writeUnsignedInt32( ( quint32 )id ); if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return; } @@ -732,7 +776,9 @@ // wait for a reply, but not forever, in case we are connected to something unknown if ( !socket->waitForReadyRead(s_defaultTimeout) ) { - setError( "Command timed out." ); + setError( "Command timed out.", Soprano::Error::ErrorTimeout ); + // We cannot recover from a timeout, thus we force a reconnect + socket->close(); return false; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.7.3/soprano/error.cpp new/soprano-2.7.4/soprano/error.cpp --- old/soprano-2.7.3/soprano/error.cpp 2011-10-31 11:04:01.000000000 +0100 +++ new/soprano-2.7.4/soprano/error.cpp 2011-12-02 16:27:49.000000000 +0100 @@ -242,13 +242,14 @@ namespace { - const int s_maxErr = 4; + const int s_maxErr = 5; const char* s_errorMessages[] = { "Success", "Invalid argument", "Unsupported operation", "Parsing failed", "Permission denied", + "Timeout", 0 }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.7.3/soprano/error.h new/soprano-2.7.4/soprano/error.h --- old/soprano-2.7.3/soprano/error.h 2011-10-31 11:04:01.000000000 +0100 +++ new/soprano-2.7.4/soprano/error.h 2011-12-02 16:27:49.000000000 +0100 @@ -44,6 +44,7 @@ ErrorNotSupported = 0x2, /**< Error indicating that a certain functionality is not supported. */ ErrorParsingFailed = 0x3, /**< Parsing a query or an RDF serialization failed. */ ErrorPermissionDenied = 0x4, /**< Permission is denied. \since 2.1 */ + ErrorTimeout = 0x5, /**< The command timed out. \since 2.7.4 */ ErrorUnknown = 0x1000 /**< An unknown error occured. */ }; -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org