better late than never, hm...

pull/3/head
Robert Xu 13 years ago
parent c141f0bc29
commit 59dd46ef98

@ -0,0 +1,14 @@
Index: kdecore/klocale.cpp
===================================================================
--- kdecore/klocale.cpp.orig
+++ kdecore/klocale.cpp
@@ -131,6 +131,9 @@ void KLocale::initMainCatalogues(const Q
d->catalogNames.append( mainCatalogue ); // application catalog
d->catalogNames.append( SYSTEM_MESSAGES ); // always include kdelibs.mo
d->catalogNames.append( "kio" ); // always include kio.mo
+ KGlobal::dirs()->addResourceDir("locale", "/usr/share/locale");
+ d->catalogNames.append( "desktop_translations" );
+ d->catalogNames.append( "susetranslations" );
updateCatalogues(); // evaluate this for all languages
}
}

@ -0,0 +1,36 @@
arts:KDE bindings for arts including knotify
dcop:The DCOP communications library
interfaces:Defines interfaces for common components so that new implementations can be dropped in
kabc:Access to the KDE address book
kate:Interfaces for the standard text editor KPart
kdecore: Core KDE classes that are not related to the user interface
kded:The KDE daemon interface, to observe your file system
kdejava:The KDE Java enviroment
kdeprint:High level printer control functionality
kdeui:KDE User interface classes such as widgets
kfile:High level access to the KDE network aware file abstraction
khtml:The KDE HTML component
kio:Low level access to network files. Also provides access to facilities such as KDirWatcher which monitors directories for changes
kjs:Javascript (aka. ECMAScript and JScript) support
kparts:Support for re-usable, embeddable, extendable applications
kspell:Easy access to the spell checker
kspell2:Easy access to the spell checker
kdefx:A library with pixmap effects
kssl:KDE secure socket layer interface
kutils:High-level utils, like search/replace support
kmdi:MultiDocument Interface library
kresources:The KDE resources system
kwallet:KDE password manager classes
kdeprint:High level printer control functionality
libkmid:Midi library
knewstuff:Upload and download of application data
dnssd:mDNS support library to request and register network services
kdemm:KDE Multimedia Framework
kcmshell:KControl module shell
kdesu:Change user helper framework
kdoctools:Documentation support
kimgio:Image Handlers
kinit:KDEinit support
kioslave:Basic IO slaves
kunittest:Support for unit tests
libkscreensaver:KDE screensavers

@ -0,0 +1,19 @@
Index: kded/kbuildsycoca.cpp
===================================================================
--- kded/kbuildsycoca.cpp.orig
+++ kded/kbuildsycoca.cpp
@@ -378,8 +378,12 @@ bool KBuildSycoca::build()
connect(g_vfolder, SIGNAL(newService(const QString &, KService **)),
this, SLOT(slotCreateEntry(const QString &, KService **)));
-
- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true);
+
+ VFolderMenu::SubMenu *kdeMenu;
+ if ( QFile::exists( "/etc/xdg/menus/applications.menu" ) )
+ kdeMenu = g_vfolder->parseMenu("applications.menu", true);
+ else
+ kdeMenu = g_vfolder->parseMenu("applications.menu.kde", true);
KServiceGroup *entry = g_bsgf->addNew("/", kdeMenu->directoryFile, 0, false);
entry->setLayoutInfo(kdeMenu->layoutList);

@ -0,0 +1,66 @@
2009-12-10 Stepan Kasal <skasal@redhat.com>
The change of implementation of AC_REQUIRE in 2.64 caused a regression
in the arts project.
This can be fixed by shuffling some macro calls.
I suppose that most of this patch will not be needed with a future
release of Autoconf.
But the last chunk of this patch is a real bug in this source and
should go upstream.
--- arts-1.5.10/admin/acinclude.m4.in 2008-08-20 18:07:05.000000000 +0200
+++ arts-1.5.10/admin/acinclude.m4.in 2009-12-09 17:30:57.000000000 +0100
@@ -3081,8 +3081,18 @@
fi
])
+AC_DEFUN([AC_CHECK_COMPILERS_CC],
+[
+ dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
+ CFLAGS=" $CFLAGS"
+ AC_PROG_CC
+ CXXFLAGS=" $CXXFLAGS"
+ AC_PROG_CXX
+])
+
AC_DEFUN([AC_CHECK_COMPILERS],
[
+ AC_REQUIRE([AC_CHECK_COMPILERS_CC])
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]),
[
@@ -3141,11 +3151,6 @@
[kde_use_profiling="no"]
)
- dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
- CFLAGS=" $CFLAGS"
-
- AC_PROG_CC
-
AC_PROG_CPP
if test "$GCC" = "yes"; then
@@ -3174,10 +3179,6 @@
LDFLAGS=""
fi
- CXXFLAGS=" $CXXFLAGS"
-
- AC_PROG_CXX
-
KDE_CHECK_FOR_BAD_COMPILER
if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
@@ -3503,8 +3504,8 @@
AC_REQUIRE([AC_LIBTOOL_DLOPEN])
AC_REQUIRE([KDE_CHECK_LIB64])
-AC_OBJEXT
-AC_EXEEXT
+AC_REQUIRE([AC_OBJEXT])
+AC_REQUIRE([AC_EXEEXT])
AM_PROG_LIBTOOL
AC_LIBTOOL_CXX

@ -0,0 +1,3 @@
tdelibs
tdelibs-arts
tdelibs-default-style

@ -0,0 +1,562 @@
Index: kabc/vcardconverter.cpp
===================================================================
--- kabc/vcardconverter.cpp.orig
+++ kabc/vcardconverter.cpp
@@ -51,6 +51,14 @@ QString VCardConverter::createVCard( con
return createVCards( list, version );
}
+QCString VCardConverter::createVCardRaw( const Addressee &addr, Version version )
+{
+ Addressee::List list;
+ list.append( addr );
+
+ return createVCardsRaw( list, version );
+}
+
QString VCardConverter::createVCards( Addressee::List list, Version version )
{
VCardTool tool;
@@ -58,6 +66,13 @@ QString VCardConverter::createVCards( Ad
return tool.createVCards( list, ( version == v3_0 ? VCard::v3_0 : VCard::v2_1 ) );
}
+QCString VCardConverter::createVCardsRaw( Addressee::List list, Version version )
+{
+ VCardTool tool;
+
+ return tool.createVCardsRaw( list, ( version == v3_0 ? VCard::v3_0 : VCard::v2_1 ) );
+}
+
Addressee VCardConverter::parseVCard( const QString& vcard )
{
Addressee::List list = parseVCards( vcard );
@@ -65,6 +80,13 @@ Addressee VCardConverter::parseVCard( co
return list[ 0 ];
}
+Addressee VCardConverter::parseVCardRaw( const QCString& vcard )
+{
+ Addressee::List list = parseVCardsRaw( vcard );
+
+ return list[ 0 ];
+}
+
Addressee::List VCardConverter::parseVCards( const QString& vcard )
{
VCardTool tool;
@@ -72,6 +94,13 @@ Addressee::List VCardConverter::parseVCa
return tool.parseVCards( vcard );
}
+Addressee::List VCardConverter::parseVCardsRaw( const QCString& vcard )
+{
+ VCardTool tool;
+
+ return tool.parseVCardsRaw( vcard );
+}
+
// ---------------------------- deprecated stuff ---------------------------- //
bool VCardConverter::vCardToAddressee( const QString &str, Addressee &addr, Version version )
Index: kabc/vcardconverter.h
===================================================================
--- kabc/vcardconverter.h.orig
+++ kabc/vcardconverter.h
@@ -82,6 +82,7 @@ class KABC_EXPORT VCardConverter
@param version The version of the generated vCard format
*/
QString createVCard( const Addressee &addr, Version version = v3_0 );
+ QCString createVCardRaw( const Addressee &addr, Version version = v3_0 );
/**
Creates a string in vCard format which contains the given
@@ -92,6 +93,7 @@ class KABC_EXPORT VCardConverter
*/
// FIXME: Add error handling
QString createVCards( Addressee::List list, Version version = v3_0 );
+ QCString createVCardsRaw( Addressee::List list, Version version = v3_0 );
// FIXME: Add "createVCards( AddressBook * )"
@@ -99,12 +101,14 @@ class KABC_EXPORT VCardConverter
Parses a string in vCard format and returns the first contact.
*/
Addressee parseVCard( const QString& vcard );
+ Addressee parseVCardRaw( const QCString& vcard );
/**
Parses a string in vCard format and returns a list of contact objects.
*/
// FIXME: Add error handling
Addressee::List parseVCards( const QString& vcard );
+ Addressee::List parseVCardsRaw( const QCString& vcard );
// FIXME: Add "bool parseVCards( AddressBook *, const QString &vcard )"
Index: kabc/vcardformatplugin.cpp
===================================================================
--- kabc/vcardformatplugin.cpp.orig
+++ kabc/vcardformatplugin.cpp
@@ -38,14 +38,11 @@ VCardFormatPlugin::~VCardFormatPlugin()
bool VCardFormatPlugin::load( Addressee &addressee, QFile *file )
{
- QString data;
-
- QTextStream t( file );
- t.setEncoding( QTextStream::Latin1 );
- data = t.read();
+ const QByteArray rawData = file->readAll();
+ const QCString data( rawData.data(), rawData.size() );
VCardConverter converter;
- Addressee::List l = converter.parseVCards( data );
+ Addressee::List l = converter.parseVCardsRaw( data );
if ( ! l.first().isEmpty() ) {
addressee = l.first();
@@ -57,15 +54,11 @@ bool VCardFormatPlugin::load( Addressee
bool VCardFormatPlugin::loadAll( AddressBook*, Resource *resource, QFile *file )
{
- QString data;
-
- QTextStream t( file );
- t.setEncoding( QTextStream::Latin1 );
- data = t.read();
+ const QByteArray rawData = file->readAll();
+ const QCString data( rawData.data(), rawData.size() );
VCardConverter converter;
-
- Addressee::List l = converter.parseVCards( data );
+ Addressee::List l = converter.parseVCardsRaw( data );
Addressee::List::iterator itr;
for ( itr = l.begin(); itr != l.end(); ++itr) {
@@ -86,9 +79,8 @@ void VCardFormatPlugin::save( const Addr
vcardlist.append( addressee );
- QTextStream t( file );
- t.setEncoding( QTextStream::UnicodeUTF8 );
- t << converter.createVCards( vcardlist );
+ const QCString data = converter.createVCardsRaw( vcardlist );
+ file->writeBlock( data, data.length() );
}
void VCardFormatPlugin::saveAll( AddressBook*, Resource *resource, QFile *file )
@@ -102,9 +94,8 @@ void VCardFormatPlugin::saveAll( Address
vcardlist.append( *it );
}
- QTextStream t( file );
- t.setEncoding( QTextStream::UnicodeUTF8 );
- t << converter.createVCards( vcardlist );
+ const QCString data = converter.createVCardsRaw( vcardlist );
+ file->writeBlock( data, data.length() );
}
bool VCardFormatPlugin::checkFormat( QFile *file ) const
Index: kabc/vcardparser/vcardparser.cpp
===================================================================
--- kabc/vcardparser/vcardparser.cpp.orig
+++ kabc/vcardparser/vcardparser.cpp
@@ -18,10 +18,13 @@
Boston, MA 02110-1301, USA.
*/
+#include <qcstring.h>
#include <qregexp.h>
#include <qtextcodec.h>
+#include <qvaluelist.h>
#include <kmdcodec.h>
+#include <kdebug.h>
#include "vcardparser.h"
@@ -29,25 +32,60 @@
using namespace KABC;
-static QString backslash( "\\\\" );
-static QString comma( "\\," );
-static QString newline( "\\n" );
-static QString cr( "\\r" );
+typedef QValueList<QCString> QCStringList;
-static void addEscapes( QString &str )
+QValueList<QCString> splitCString( const QCString &str, char sep )
{
- str.replace( '\\', backslash );
- str.replace( ',', comma );
- str.replace( '\r', cr );
- str.replace( '\n', newline );
+ QValueList<QCString> list;
+ int start = 0;
+ int end;
+ while ((end = str.find(sep, start)) != -1) {
+ list.append(str.mid(start, end - start));
+ start = end + 1;
+ }
+ list.append(str.mid(start));
+
+ return list;
+}
+
+QValueList<QCString> splitCString( const QCString &str, const QRegExp &exp )
+{
+ QValueList<QCString> list;
+ int start = 0;
+ int end;
+ while ((end = str.find(exp, start)) != -1) {
+ list.append(str.mid(start, end - start));
+ start = end + 1;
+ }
+ list.append(str.mid(start));
+
+ return list;
+}
+
+bool cStringStartsWith( const QCString &str, const QCString &pattern )
+{
+ const int length = pattern.length();
+ if ( length == 0 )
+ return true;
+
+ const QCString part = str.left( length );
+ return (pattern == part);
}
-static void removeEscapes( QString &str )
+static void addEscapes( QCString &str )
{
- str.replace( cr, "\\r" );
- str.replace( newline, "\n" );
- str.replace( comma, "," );
- str.replace( backslash, "\\" );
+ str.replace( '\\', "\\\\" );
+ str.replace( ',', "\\," );
+ str.replace( '\r', "\\r" );
+ str.replace( '\n', "\\n" );
+}
+
+static void removeEscapes( QCString &str )
+{
+ str.replace( "\\r", "\r" );
+ str.replace( "\\n", "\n" );
+ str.replace( "\\,", "," );
+ str.replace( "\\\\", "\\" );
}
VCardParser::VCardParser()
@@ -60,24 +98,29 @@ VCardParser::~VCardParser()
VCard::List VCardParser::parseVCards( const QString& text )
{
+ return parseVCardsRaw( text.utf8() );
+}
+
+VCard::List VCardParser::parseVCardsRaw( const QCString& text )
+{
static QRegExp sep( "[\x0d\x0a]" );
VCard currentVCard;
VCard::List vCardList;
- QString currentLine;
+ QCString currentLine;
- const QStringList lines = QStringList::split( sep, text );
- QStringList::ConstIterator it;
+ const QCStringList lines = splitCString( text, sep );
+ QCStringList::ConstIterator it;
bool inVCard = false;
- QStringList::ConstIterator linesEnd( lines.end() );
+ QCStringList::ConstIterator linesEnd( lines.end() );
for ( it = lines.begin(); it != linesEnd; ++it ) {
if ( (*it).isEmpty() ) // empty line
continue;
if ( (*it)[ 0 ] == ' ' || (*it)[ 0 ] == '\t' ) { // folded line => append to previous
- currentLine += QString( *it ).remove( 0, 1 );
+ currentLine.append( (*it).mid( 1 ) );
continue;
} else {
if ( inVCard && !currentLine.isEmpty() ) { // now parse the line
@@ -88,23 +131,23 @@ VCard::List VCardParser::parseVCards( co
}
VCardLine vCardLine;
- const QString key = currentLine.left( colon ).stripWhiteSpace();
- QString value = currentLine.mid( colon + 1 );
+ const QCString key = currentLine.left( colon ).stripWhiteSpace();
+ QCString value = currentLine.mid( colon + 1 );
- QStringList params = QStringList::split( ';', key );
+ QCStringList params = splitCString( key, ';' );
// check for group
if ( params[0].find( '.' ) != -1 ) {
- const QStringList groupList = QStringList::split( '.', params[0] );
- vCardLine.setGroup( groupList[0] );
- vCardLine.setIdentifier( groupList[1] );
+ const QCStringList groupList = splitCString( params[0], '.' );
+ vCardLine.setGroup( QString::fromLatin1( groupList[0] ) );
+ vCardLine.setIdentifier( QString::fromLatin1( groupList[1] ) );
} else
- vCardLine.setIdentifier( params[0] );
+ vCardLine.setIdentifier( QString::fromLatin1( params[0] ) );
if ( params.count() > 1 ) { // find all parameters
- QStringList::ConstIterator paramIt = params.begin();
+ QCStringList::ConstIterator paramIt = params.begin();
for ( ++paramIt; paramIt != params.end(); ++paramIt ) {
- QStringList pair = QStringList::split( '=', *paramIt );
+ QCStringList pair = splitCString( *paramIt, '=' );
if ( pair.size() == 1 ) {
// correct the fucking 2.1 'standard'
if ( pair[0].lower() == "quoted-printable" ) {
@@ -119,12 +162,12 @@ VCard::List VCardParser::parseVCards( co
}
// This is pretty much a faster pair[1].contains( ',' )...
if ( pair[1].find( ',' ) != -1 ) { // parameter in type=x,y,z format
- const QStringList args = QStringList::split( ',', pair[ 1 ] );
- QStringList::ConstIterator argIt;
+ const QCStringList args = splitCString( pair[ 1 ], ',' );
+ QCStringList::ConstIterator argIt;
for ( argIt = args.begin(); argIt != args.end(); ++argIt )
- vCardLine.addParameter( pair[0].lower(), *argIt );
+ vCardLine.addParameter( QString::fromLatin1( pair[0].lower() ), QString::fromLatin1( *argIt ) );
} else
- vCardLine.addParameter( pair[0].lower(), pair[1] );
+ vCardLine.addParameter( QString::fromLatin1( pair[0].lower() ), QString::fromLatin1( pair[1] ) );
}
}
@@ -133,10 +176,8 @@ VCard::List VCardParser::parseVCards( co
QByteArray output;
bool wasBase64Encoded = false;
- params = vCardLine.parameterList();
- if ( params.findIndex( "encoding" ) != -1 ) { // have to decode the data
- QByteArray input;
- input = QCString(value.latin1());
+ if ( vCardLine.parameterList().findIndex( "encoding" ) != -1 ) { // have to decode the data
+ QByteArray input = value;
if ( vCardLine.parameter( "encoding" ).lower() == "b" ||
vCardLine.parameter( "encoding" ).lower() == "base64" ) {
KCodecs::base64Decode( input, output );
@@ -148,14 +189,14 @@ VCard::List VCardParser::parseVCards( co
value = value.remove( value.length() - 1, 1 ) + (*it);
++it;
}
- input = QCString(value.latin1());
+ input = value;
KCodecs::quotedPrintableDecode( input, output );
}
} else {
- output = QCString(value.latin1());
+ output = value;
}
- if ( params.findIndex( "charset" ) != -1 ) { // have to convert the data
+ if ( vCardLine.parameterList().findIndex( "charset" ) != -1 ) { // have to convert the data
QTextCodec *codec =
QTextCodec::codecForName( vCardLine.parameter( "charset" ).latin1() );
if ( codec ) {
@@ -173,17 +214,17 @@ VCard::List VCardParser::parseVCards( co
}
// we do not save the start and end tag as vcardline
- if ( (*it).lower().startsWith( "begin:vcard" ) ) {
+ if ( cStringStartsWith( (*it).lower(), QCString( "begin:vcard" ) ) ) {
inVCard = true;
- currentLine.setLength( 0 );
+ currentLine = QCString();
currentVCard.clear(); // flush vcard
continue;
}
- if ( (*it).lower().startsWith( "end:vcard" ) ) {
+ if ( cStringStartsWith( (*it).lower(), QCString( "end:vcard" ) ) ) {
inVCard = false;
vCardList.append( currentVCard );
- currentLine.setLength( 0 );
+ currentLine = QCString();
currentVCard.clear(); // flush vcard
continue;
}
@@ -197,8 +238,13 @@ VCard::List VCardParser::parseVCards( co
QString VCardParser::createVCards( const VCard::List& list )
{
- QString text;
- QString textLine;
+ return QString::fromUtf8( createVCardsRaw( list ) );
+}
+
+QCString VCardParser::createVCardsRaw( const VCard::List& list )
+{
+ QCString text;
+ QCString textLine;
QString encodingType;
QStringList idents;
QStringList params;
@@ -213,7 +259,7 @@ QString VCardParser::createVCards( const
bool hasEncoding;
- text.reserve( list.size() * 300 ); // reserve memory to be more efficient
+// text.reserve( list.size() * 300 ); // reserve memory to be more efficient
// iterate over the cards
VCard::List::ConstIterator listEnd( list.end() );
@@ -228,9 +274,9 @@ QString VCardParser::createVCards( const
for ( lineIt = lines.constBegin(); lineIt != lines.constEnd(); ++lineIt ) {
if ( !(*lineIt).value().asString().isEmpty() ) {
if ( (*lineIt).hasGroup() )
- textLine = (*lineIt).group() + "." + (*lineIt).identifier();
+ textLine = (*lineIt).group().latin1() + QCString( "." ) + (*lineIt).identifier().latin1();
else
- textLine = (*lineIt).identifier();
+ textLine = (*lineIt).identifier().latin1();
params = (*lineIt).parameterList();
hasEncoding = false;
@@ -243,9 +289,9 @@ QString VCardParser::createVCards( const
values = (*lineIt).parameters( *paramIt );
for ( valueIt = values.constBegin(); valueIt != values.constEnd(); ++valueIt ) {
- textLine.append( ";" + (*paramIt).upper() );
+ textLine.append( QCString( ";" ) + (*paramIt).upper().latin1() );
if ( !(*valueIt).isEmpty() )
- textLine.append( "=" + (*valueIt) );
+ textLine.append( QCString( "=" ) + (*valueIt).latin1() );
}
}
}
@@ -261,11 +307,11 @@ QString VCardParser::createVCards( const
KCodecs::quotedPrintableEncode( input, output, false );
}
- QString value( output );
+ QCString value( output );
addEscapes( value );
textLine.append( ":" + value );
} else {
- QString value( (*lineIt).value().asString() );
+ QCString value( (*lineIt).value().toString().utf8() );
addEscapes( value );
textLine.append( ":" + value );
}
Index: kabc/vcardparser/vcardparser.h
===================================================================
--- kabc/vcardparser/vcardparser.h.orig
+++ kabc/vcardparser/vcardparser.h
@@ -34,6 +34,9 @@ class VCardParser
static VCard::List parseVCards( const QString& text );
static QString createVCards( const VCard::List& list );
+ static VCard::List parseVCardsRaw( const QCString& text );
+ static QCString createVCardsRaw( const VCard::List& list );
+
private:
class VCardParserPrivate;
VCardParserPrivate *d;
Index: kabc/vcardtool.cpp
===================================================================
--- kabc/vcardtool.cpp.orig
+++ kabc/vcardtool.cpp
@@ -74,15 +74,28 @@ VCardTool::~VCardTool()
{
}
-// TODO: make list a const&
+QCString VCardTool::createVCardsRaw( Addressee::List list, VCard::Version version )
+{
+ const VCard::List vCardList = createVCardsInternal( list, version );
+
+ return VCardParser::createVCardsRaw( vCardList );
+}
+
QString VCardTool::createVCards( Addressee::List list, VCard::Version version )
{
- VCard::List vCardList;
+ const VCard::List vCardList = createVCardsInternal( list, version );
+
+ return VCardParser::createVCards( vCardList );
+}
+
+KABC::VCard::List VCardTool::createVCardsInternal( Addressee::List list, KABC::VCard::Version version )
+{
+ KABC::VCard::List vCardList;
Addressee::List::ConstIterator addrIt;
Addressee::List::ConstIterator listEnd( list.constEnd() );
for ( addrIt = list.constBegin(); addrIt != listEnd; ++addrIt ) {
- VCard card;
+ KABC::VCard card;
QStringList::ConstIterator strIt;
// ADR + LABEL
@@ -348,17 +361,30 @@ QString VCardTool::createVCards( Address
vCardList.append( card );
}
- return VCardParser::createVCards( vCardList );
+ return vCardList;
+}
+
+Addressee::List VCardTool::parseVCardsRaw( const QCString& vcard )
+{
+ const VCard::List vCardList = VCardParser::parseVCardsRaw( vcard );
+
+ return parseVCardsInternal( vCardList );
}
Addressee::List VCardTool::parseVCards( const QString& vcard )
{
+ const VCard::List vCardList = VCardParser::parseVCards( vcard );
+
+ return parseVCardsInternal( vCardList );
+}
+
+Addressee::List VCardTool::parseVCardsInternal( const VCard::List &vCardList )
+{
static const QChar semicolonSep( ';' );
static const QChar commaSep( ',' );
QString identifier;
Addressee::List addrList;
- const VCard::List vCardList = VCardParser::parseVCards( vcard );
VCard::List::ConstIterator cardIt;
VCard::List::ConstIterator listEnd( vCardList.end() );
Index: kabc/vcardtool.h
===================================================================
--- kabc/vcardtool.h.orig
+++ kabc/vcardtool.h
@@ -46,12 +46,19 @@ class KABC_EXPORT VCardTool
*/
QString createVCards( Addressee::List list, VCard::Version version = VCard::v3_0 );
+ QCString createVCardsRaw( Addressee::List list, VCard::Version version = VCard::v3_0 );
+
/**
Parses the string and returns a list of addressee objects.
*/
Addressee::List parseVCards( const QString& vcard );
+ Addressee::List parseVCardsRaw( const QCString& vcard );
+
private:
+ VCard::List createVCardsInternal( Addressee::List list, VCard::Version version );
+ Addressee::List parseVCardsInternal( const VCard::List &vCardList );
+
/**
Split a string and replaces escaped separators on the fly with
unescaped ones.

@ -0,0 +1,156 @@
export prefix="/opt/kde3"
export includedir="$prefix/include"
export kde_prefix="$prefix"
export kde_confdir="$prefix/share/config"
export kde_bindir="$kde_prefix/bin"
export kde_libdir="$kde_prefix/@_lib@"
export kde_includes="$kde_prefix/include"
export kde_includedir="$kde_prefix/include"
export kde_htmldir="$kde_prefix/share/doc/HTML"
export kde_icondir="$kde_prefix/share/icons"
export kde_sounddir="$kde_prefix/share/sounds"
export kde_datadir="$kde_prefix/share/apps"
export kde_locale="$kde_prefix/share/locale"
export kde_mimedir="$kde_prefix/share/mimelnk"
export kde_wallpaperdir="$kde_prefix/share/wallpapers"
export kde_appsdir="$kde_prefix/share/applnk"
export kde_servicesdir="$kde_prefix/share/services"
export kde_servicetypesdir="$kde_prefix/share/servicetypes"
export kde_styledir="$kde_libdir/kde3/plugins/styles"
export kde_widgetdir="$kde_libdir/kde3/plugins/designer"
export PATH=$PWD/admin/:$PATH
if test -x $PWD/admin/do_make; then
alias make=do_make
else
alias make=/opt/kde3/share/apps/kdelibs/admin/do_make
fi
export configkde="@configkde@"
unset KDEDIR || :
unset KDEDIRS || :
unset QTDIR || :
#export INSTALL_TARGET=install-strip
export INSTALL_TARGET=install
Debug=0
if test "$Debug" = 1; then
export configkde="$configkde --enable-debug=full"
export NO_BRP_STRIP_DEBUG=true
else
export configkde="$configkde --disable-debug"
fi
CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS"
LDFLAGS=
if ld -Bsymbolic-functions -v &> /dev/null; then
LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions"
fi
export CFLAGS CXXFLAGS LDFLAGS
update_admin()
{
set +x
if [ ! -d /opt/kde3/share/apps/kdelibs/admin ]; then
echo "ERROR: kde2-compat-devel isn't installed."
exit 1
fi
if [ ! -d admin ]; then
echo "WARNING: there is no admin directory."
fi
rm -rf admin autom4te.cache
cp -a /opt/kde3/share/apps/kdelibs/admin .
arg=$1
# if [ "$arg" != "--no-unsermake" ] && \
# [ -f /.buildenv ] && grep -q BUILD_BASENAME=beta- /.buildenv; then
# arg="--unsermake"
# fi
if [ "$arg" = "--no-unsermake" ]; then
touch $RPM_BUILD_DIR/.no_unsermake
else
export UNSERMAKE=yes
fi
make -f admin/Makefile.common cvs
test -f /.buildenv && . /.buildenv
find . -name \*.ui | while read i; do
for j in ${i%.ui}.cpp ${i%.ui}.h ${i%.ui}.moc;do
if [ -e "$j" ] && grep -q "by: The User Interface Compiler" "$j"; then
echo WARNING: pregenerated files from $i exist, deleting ...
rm -f "$j"
fi
done
if [ "${BUILD_BASENAME:0:4}" != "beta" ]; then
if grep -q "<includehints>" "$i"; then
echo WARNING: removing include hints from $i
sed -i -e 's,<includehint>.*</includehint>,,' "$i"
fi
fi
done
}
kde_post_install()
{
# remove not needed development files
rm -f $RPM_BUILD_ROOT/opt/kde3/@_lib@/libkdeinit_*.la
# not worth the hassle
rm -rf $RPM_BUILD_ROOT/opt/kde3/share/icons/locolor
# move icons in one theme - prefering hicolor
d="$RPM_BUILD_ROOT/opt/kde3/share/icons/crystalsvg"
if [ -d "$d" -a ! -e "$d/index.theme" ]; then
find "$d" -type f | while read src; do
dest="${src/\/crystalsvg\///hicolor/}"
dir="${dest%/*}"
mkdir -p "$dir"
mv "$src" "$dest"
done
fi
# we do this 3 times as there is a 3 fold hierarchy
if [ -d $RPM_BUILD_ROOT/opt/kde3/share/icons ]; then
for i in `seq 1 3`; do
find $RPM_BUILD_ROOT/opt/kde3/share/icons -type d -exec rmdir -v --ignore-fail-on-non-empty -- {} \; || true
done
fi
if [ -d $RPM_BUILD_ROOT/opt/kde3/share/locale/sr@Latn ]; then
mv $RPM_BUILD_ROOT/opt/kde3/share/locale/sr@Latn $RPM_BUILD_ROOT/opt/kde3/share/locale/sr@latin
fi
if test -e /usr/lib/rpm/suse_update_desktop_file.sh; then
distribution=''
if test -f $HOME/.rpmmacros && test -d /usr/src/packages/SRPMS; then
distribution=`grep ^%distribution $HOME/.rpmmacros | cut '-d ' -f2`
fi
find $RPM_BUILD_ROOT/opt/kde3/share \
-name '*.desktop' 2> /dev/null | while read file; do
test -r "$file" || continue
grep -q "^X-SuSE-translate=" "$file" && continue
case "$file" in
*/.hidden/*)
/usr/lib/rpm/suse_update_desktop_file.sh -n "$file"
;;
*)
if test -n "$distribution"; then
/usr/lib/rpm/suse_update_desktop_file.sh --project "$distribution" --basedir /usr/src/packages/SRPMS "$file"
else
/usr/lib/rpm/suse_update_desktop_file.sh "$file"
fi
;;
esac
done
fi
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

@ -0,0 +1,107 @@
#! /bin/sh
# Copyright (c) 2001 SuSE GmbH Nuernberg, Germany. All rights reserved.
#
# Author: Adrian Schroeter <adrian@suse.de>
#
# This module generates a index.html page for all KDE main api index.html pages
# SuSEhelp will use this index.html page as start point
r=`pwd`
while test ! -x usr/share/doc/TDE-API/ && test "$r" != "/"; do
r=`dirname $root`
cd ..
done
kdeapi=/usr/share/doc/TDE-API/
if test ! -w $r/${kdeapi} ; then
echo "The KDE API directory $kdeapi is not writeable. Exit..."
exit 1
fi
#
# write html header
#
cat > $r/${kdeapi}/index.html <<EOF
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="kde-maintainers@suse.de">
<meta name="GENERATOR" content="create-kdeapi">
<title>KDE API Reference</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
<CENTER><H1>KDE 3.x API Reference</H1></CENTER>
EOF
#
# list all the api start pages
#
cat >> $r/${kdeapi}/index.html <<EOF
<TABLE WIDTH="100%" BORDER="0">
<TR bgcolor="b0b0b0">
<TH>&nbsp;</TH><TH>Description</TH><TH>from package</TH></TR>
<TR bgcolor="ffffff"><TD><A HREF="/usr/share/doc/packages/qt3/html/classes.html">
Qt </A></TD> <TD>all Qt classes</TD> <TD>qt</TD></TR>
EOF
dark=1
mods=
list=`ls -1 $r/${kdeapi}/*/index.html 2> /dev/null`
for page in $list; do
mainapi=`echo $page | sed -n -e "s@$r/$kdeapi/\([^/]*\)/index.html@\1@p"`
mods="$mods $mainapi"
eval "page_$mainapi=$page"
eval "path_$mainapi=/$kdeapi/$mainapi"
done
list=`ls -1 $r/opt/tde/share/doc/HTML/en/*-apidocs/*/html/index.html 2> /dev/null`
for page in $list; do
mainapi=`echo $page | sed -n -e "s@$r/opt/tde/share/doc/HTML/en/.*-apidocs/\([^/]*\)/html/index.html@\1@p"`
mods="$mods $mainapi"
path=`echo $page | sed -e "s,$r/opt,/opt,"`
eval "page_$mainapi=$path"
path=`echo $page | sed -n -e "s@$r\(/opt/tde/share/doc/HTML/en/.*-apidocs/[^/]*\)/html/index.html@\1@p"`
eval "path_$mainapi=$path"
done
mods=`(for i in $mods; do echo $i; done ) | sort`
for mod in $mods; do
eval "apipath=$""page_$mod"
eval "basepath=$""path_$mod"
description="`cat $r/$basepath/description.SuSE`"
package="`cat $r/$basepath/package.SuSE`"
if [ "$dark" == "1" ]; then
dark=0
echo "<TR bgcolor=\"eeeeee\">" >> $r/${kdeapi}/index.html
else
dark=1
echo "<TR bgcolor=\"ffffff\">" >> $r/${kdeapi}/index.html
fi
echo "<TD><A HREF=\"${apipath}\"> ${mod} </A></TD>" >> $r/${kdeapi}/index.html
echo "<TD>${description}</TD>" >> $r/${kdeapi}/index.html
echo "<TD>${package}</TD>" >> $r/${kdeapi}/index.html
echo "</TR>" >> $r/${kdeapi}/index.html
done
#
# finish it ...
#
cat >> $r/${kdeapi}/index.html <<EOF
</TABLE>
<hr>
<table>
<tr><td><small> generated by create-kdeapi on `date` </td></tr>
</table>
</body>
</html>
EOF

@ -0,0 +1,13 @@
Index: kio/kio/kprotocolmanager.cpp
===================================================================
--- kio/kio/kprotocolmanager.cpp.orig
+++ kio/kio/kprotocolmanager.cpp
@@ -72,7 +72,7 @@ KProtocolManagerPrivate::~KProtocolManag
// DEFAULT USERAGENT STRING
#define CFG_DEFAULT_UAGENT(X) \
-QString("Mozilla/5.0 (compatible; Konqueror/%1.%2%3) KHTML/%4.%5.%6 (like Gecko)") \
+QString("Mozilla/5.0 (compatible; Konqueror/%1.%2%3) KHTML/%4.%5.%6 (like Gecko) SUSE") \
.arg(KDE_VERSION_MAJOR).arg(KDE_VERSION_MINOR).arg(X).arg(KDE_VERSION_MAJOR).arg(KDE_VERSION_MINOR).arg(KDE_VERSION_RELEASE)
void KProtocolManager::reparseConfiguration()

@ -0,0 +1,34 @@
Index: kdecore/network/kresolver.cpp
===================================================================
--- kdecore/network/kresolver.cpp.orig
+++ kdecore/network/kresolver.cpp
@@ -50,6 +50,7 @@
// IDN
#ifdef HAVE_IDNA_H
+# include <stdlib.h>
# include <idna.h>
#endif
@@ -1084,6 +1085,10 @@ static QStringList splitLabels(const QSt
static QCString ToASCII(const QString& label)
{
#ifdef HAVE_IDNA_H
+ // We do disable it by default for security reasons for now.
+ if ( getenv("KDE_NO_IPV6") && strcmp( getenv("KDE_NO_IPV6"), "no" ) )
+ return label.latin1();
+
// We have idna.h, so we can use the idna_to_ascii
// function :)
@@ -1118,6 +1123,10 @@ static QCString ToASCII(const QString& l
static QString ToUnicode(const QString& label)
{
#ifdef HAVE_IDNA_H
+ // We do disable it by default for security reasons for now.
+ if ( getenv("KDE_NO_IPV6") && strcmp( getenv("KDE_NO_IPV6"), "no" ) )
+ return label;
+
// We have idna.h, so we can use the idna_to_unicode
// function :)

@ -0,0 +1,96 @@
#!/bin/bash
# this is a script around make which basicly checks
# if it's in srcdir or in builddir and changes to
# the right directory for calling /usr/bin/make
# (C) Stephan Kulow
# You may need to set OBJ_REPLACEMENT variable to get it to work.
# In the variable use the sed syntax to switch directories, for example
# export OBJ_REPLACEMENT="s:/home/zack/cvs/kde:/home/zack/build:"
# will assure that the builds are performed under /home/zack/build
# directory, when the cvs is held under /home/zack/cvs/kde.
file=Makefile
dir=.
args=()
jobs=
while test $# -gt 0 ; do
case "${1}" in
-f)
shift
file="${1}"
shift
args=("${args[@]}" -f $file)
;;
-C)
shift
dir="${1}"
shift ;;
-j)
shift
jobs="${1}"
shift ;;
-j*)
jobs="${1/-j/}"
shift ;;
*)
args=("${args[@]}" "$1")
shift
;;
esac
done
if test ! -f $dir/$file; then
if test -n "$OBJ_SUBDIR"; then
dir=$PWD
subdir=.
while test ! -f $dir/$OBJ_SUBDIR/$file; do
subdir=`basename $dir`"/$subdir"
dir=`dirname $dir`
if test "$dir" = "/"; then
# the case that someone puts the compile dir in /
# is very unlikely, so we better skip here ;)
echo "can't find $OBJ_SUBDIR above current dir"
exit 1
fi
done
cd $dir/$OBJ_SUBDIR/$subdir
else
if test -n "$OBJ_REPLACEMENT"; then
pwd=`echo $PWD | sed -e "$OBJ_REPLACEMENT"`
if test ! -f $pwd/$dir/$file; then
echo "no objdir found. Tried $pwd"
exit 1
fi
cd $pwd/$dir
fi
fi
else
cd $dir
fi
echo "makeobj[0]: Entering directory \`$PWD'"
if test -z "$MAKE"; then
if head -n 1 $file | grep unsermake >/dev/null; then
MAKE=`type -p unsermake`
if test ! -x "$MAKE"; then
echo 'Makefile was created with unsermake, but there'
echo 'is no unsermake in $PATH'
exit 1
fi
MAKE="$MAKE --no-real-compare VERBOSE=1"
if test -n "$jobs"; then args=("${args[@]}" --compile-jobs=$jobs); fi
else
MAKE=/usr/bin/make
if test -n "$jobs"; then args=("${args[@]}" -j $jobs); fi
fi
fi
echo "Calling $MAKE ${args[@]}"
LANGUAGE=C $MAKE "${args[@]}"
retval=$?
echo "makeobj[0]: Leaving directory \`$PWD'"
exit $retval

@ -0,0 +1,16 @@
Index: dcop/dcopidlng/dcopidlng
===================================================================
--- dcop/dcopidlng/dcopidlng.orig
+++ dcop/dcopidlng/dcopidlng
@@ -5,7 +5,11 @@ trap "rm -f dcopidlng.stderr.$$" 0 1 2 1
if test -z "$KDECONFIG"; then
KDECONFIG=kde-config
fi
+if type kde-config > /dev/null; then
LIBDIR="`$KDECONFIG --install data --expandvars`/dcopidlng"
+else
+LIBDIR="${0%/*}"
+fi
perl -I"$LIBDIR" "$LIBDIR/kalyptus" --allow_k_dcop_accessors -f dcopidl $1 2> dcopidlng.stderr.$$
RET=$?
if [ $RET -ne 0 ]

@ -0,0 +1,130 @@
Index: kdoctools/kio_help.cpp
===================================================================
--- kdoctools/kio_help.cpp.orig
+++ kdoctools/kio_help.cpp
@@ -44,7 +44,27 @@ QString HelpProtocol::langLookup(const Q
// assemble the local search paths
const QStringList localDoc = KGlobal::dirs()->resourceDirs("html");
+ kdDebug( 7119 ) << "Looking up help for: " << fname << endl;
+ QString _fname = fname;
+
+ QString path;
+ int slash = _fname.findRev ('/');
+ if (slash == -1 || slash == 0) {
+ path = _fname;
+ _fname = "";
+ } else {
+ path = _fname.left (slash);
+ _fname = _fname.right (_fname.length() - slash);
+ }
+
QStringList langs = KGlobal::locale()->languageList();
+ QStringList::ConstIterator lang;
+ for (lang = langs.begin(); lang != langs.end(); ++lang)
+ if ((*lang).left(2) == "en")
+ search.append(QString("/usr/share/gnome/help/%1/C%2").arg(path).arg(_fname));
+ else
+ search.append(QString("/usr/share/gnome/help/%1/%2%3").arg(path).arg(*lang).arg(_fname));
+
langs.append( "en" );
langs.remove( "C" );
@@ -60,7 +80,7 @@ QString HelpProtocol::langLookup(const Q
{
QStringList::ConstIterator lang;
for (lang = langs.begin(); lang != langs.end(); ++lang)
- search.append(QString("%1%2/%3").arg(localDoc[id], *lang, fname));
+ search.append(QString("%1%2/%3").arg(localDoc[id], *lang, path + _fname));
}
// try to locate the file
@@ -81,6 +101,15 @@ QString HelpProtocol::langLookup(const Q
if (info.exists() && info.isFile() && info.isReadable())
return *it;
}
+
+ if ( ( *it ).right( 5 ) == ".html" )
+ {
+ QString file = (*it).left((*it).findRev('/')) + "/" + path + ".xml";
+ kdDebug( 7119 ) << "Looking for help in: " << file << endl;
+ info.setFile(file);
+ if (info.exists() && info.isFile() && info.isReadable())
+ return *it;
+ }
}
@@ -100,7 +129,7 @@ QString HelpProtocol::lookupFile(const Q
result = langLookup(path);
if (result.isEmpty())
{
- result = langLookup(path+"/index.html");
+ result = langLookup(path + "/index.html");
if (!result.isEmpty())
{
KURL red( "help:/" );
@@ -190,12 +219,26 @@ void HelpProtocol::get( const KURL& url
}
} else {
QString docbook_file = file.left(file.findRev('/')) + "/index.docbook";
+ int last_slash = file.findRev('/');
+ if (last_slash != -1 && last_slash != 0) {
+ int slash2 = file.findRev('/', last_slash -1);
+ if (slash2 != -1 && slash2 != 0) {
+ int slash3 = file.findRev('/', slash2 - 1);
+ if (slash3 != -1) {
+ QString xml_file = file.left(file.findRev('/')) + "/" + file.mid(slash3 + 1, slash2 - (slash3 + 1)) + ".xml";
+ kdDebug( 7119 ) << "xml_file " << xml_file << endl;
+ QFileInfo fi(xml_file);
+ if (fi.exists())
+ docbook_file = xml_file;
+ }
+ }
+ }
if (!KStandardDirs::exists(file)) {
file = docbook_file;
} else {
QFileInfo fi(file);
if (fi.isDir()) {
- file = file + "/index.docbook";
+ file = docbook_file;
} else {
if ( file.right( 5 ) != ".html" || !compareTimeStamps( file, docbook_file ) ) {
get_file( target );
@@ -238,7 +281,11 @@ void HelpProtocol::get( const KURL& url
mParsed = transform(file, locate("dtd", "customization/kde-chunk.xsl"));
if ( !mParsed.isEmpty() ) {
infoMessage( i18n( "Saving to cache" ) );
- QString cache = file.left( file.length() - 7 );
+ QString cache;
+ if (file.endsWith(".xml"))
+ cache = file.left( file.length() - strlen ("xml") );
+ else
+ cache = file.left( file.length() - strlen ("docbook") );
saveToCache( mParsed, locateLocal( "cache",
"kio_help" + cache +
"cache.bz2" ) );
Index: kdoctools/xslt.cpp
===================================================================
--- kdoctools/xslt.cpp.orig
+++ kdoctools/xslt.cpp
@@ -278,10 +278,16 @@ static bool readCache( const QString &fi
QString lookForCache( const QString &filename )
{
kdDebug() << "lookForCache " << filename << endl;
- assert( filename.endsWith( ".docbook" ) );
+ assert( filename.endsWith( ".docbook" ) || filename.endsWith( ".xml" ) );
assert( filename.at( 0 ) == '/' );
- QString cache = filename.left( filename.length() - 7 );
+ QString cache;
+
+ if (filename.endsWith( ".xml" ))
+ cache = filename.left( filename.length() - strlen ("xml") );
+ else
+ cache = filename.left( filename.length() - strlen ("docbook") );
+
QString output;
if ( readCache( filename, cache + "cache.bz2", output) )
return output;

@ -0,0 +1,126 @@
--- kdoctools/kio_help.cpp
+++ kdoctools/kio_help.cpp
@@ -44,7 +44,27 @@
// assemble the local search paths
const QStringList localDoc = KGlobal::dirs()->resourceDirs("html");
+ kdDebug( 7119 ) << "Looking up help for: " << fname << endl;
+ QString _fname = fname;
+
+ QString path;
+ int slash = _fname.findRev ('/');
+ if (slash == -1 || slash == 0) {
+ path = _fname;
+ _fname = "";
+ } else {
+ path = _fname.left (slash);
+ _fname = _fname.right (_fname.length() - slash);
+ }
+
QStringList langs = KGlobal::locale()->languageList();
+ QStringList::ConstIterator lang;
+ for (lang = langs.begin(); lang != langs.end(); ++lang)
+ if ((*lang).left(2) == "en")
+ search.append(QString("/opt/gnome/share/gnome/help/%1/C%2").arg(path).arg(_fname));
+ else
+ search.append(QString("/opt/gnome/share/gnome/help/%1/%2%3").arg(path).arg(*lang).arg(_fname));
+
langs.append( "en" );
langs.remove( "C" );
@@ -60,7 +80,7 @@
{
QStringList::ConstIterator lang;
for (lang = langs.begin(); lang != langs.end(); ++lang)
- search.append(QString("%1%2/%3").arg(localDoc[id], *lang, fname));
+ search.append(QString("%1%2/%3").arg(localDoc[id], *lang, path + _fname));
}
// try to locate the file
@@ -81,6 +101,15 @@
if (info.exists() && info.isFile() && info.isReadable())
return *it;
}
+
+ if ( ( *it ).right( 5 ) == ".html" )
+ {
+ QString file = (*it).left((*it).findRev('/')) + "/" + path + ".xml";
+ kdDebug( 7119 ) << "Looking for help in: " << file << endl;
+ info.setFile(file);
+ if (info.exists() && info.isFile() && info.isReadable())
+ return *it;
+ }
}
@@ -100,7 +129,7 @@
result = langLookup(path);
if (result.isEmpty())
{
- result = langLookup(path+"/index.html");
+ result = langLookup(path + "/index.html");
if (!result.isEmpty())
{
KURL red( "help:/" );
@@ -190,12 +219,26 @@
}
} else {
QString docbook_file = file.left(file.findRev('/')) + "/index.docbook";
+ int last_slash = file.findRev('/');
+ if (last_slash != -1 && last_slash != 0) {
+ int slash2 = file.findRev('/', last_slash -1);
+ if (slash2 != -1 && slash2 != 0) {
+ int slash3 = file.findRev('/', slash2 - 1);
+ if (slash3 != -1) {
+ QString xml_file = file.left(file.findRev('/')) + "/" + file.mid(slash3 + 1, slash2 - (slash3 + 1)) + ".xml";
+ kdDebug( 7119 ) << "xml_file " << xml_file << endl;
+ QFileInfo fi(xml_file);
+ if (fi.exists())
+ docbook_file = xml_file;
+ }
+ }
+ }
if (!KStandardDirs::exists(file)) {
file = docbook_file;
} else {
QFileInfo fi(file);
if (fi.isDir()) {
- file = file + "/index.docbook";
+ file = docbook_file;
} else {
if ( file.right( 5 ) != ".html" || !compareTimeStamps( file, docbook_file ) ) {
get_file( target );
@@ -238,7 +281,11 @@
mParsed = transform(file, locate("dtd", "customization/kde-chunk.xsl"));
if ( !mParsed.isEmpty() ) {
infoMessage( i18n( "Saving to cache" ) );
- QString cache = file.left( file.length() - 7 );
+ QString cache;
+ if (file.endsWith(".xml"))
+ cache = file.left( file.length() - strlen ("xml") );
+ else
+ cache = file.left( file.length() - strlen ("docbook") );
saveToCache( mParsed, locateLocal( "cache",
"kio_help" + cache +
"cache.bz2" ) );
--- kdoctools/xslt.cpp
+++ kdoctools/xslt.cpp
@@ -274,10 +274,16 @@
QString lookForCache( const QString &filename )
{
kdDebug() << "lookForCache " << filename << endl;
- assert( filename.endsWith( ".docbook" ) );
+ assert( filename.endsWith( ".docbook" ) || filename.endsWith( ".xml" ) );
assert( filename.at( 0 ) == '/' );
- QString cache = filename.left( filename.length() - 7 );
+ QString cache;
+
+ if (filename.endsWith( ".xml" ))
+ cache = filename.left( filename.length() - strlen ("xml") );
+ else
+ cache = filename.left( filename.length() - strlen ("docbook") );
+
QString output;
if ( readCache( filename, cache + "cache.bz2", output) )
return output;

@ -0,0 +1,44 @@
Index: khtml/rendering/render_frames.cpp
===================================================================
--- khtml/rendering/render_frames.cpp.orig
+++ khtml/rendering/render_frames.cpp
@@ -940,14 +940,33 @@ void RenderPartObject::slotPartLoadingEr
// Prepare the URL to show in the question (host only if http, to make it short)
KURL pluginPageURL( embed->pluginPage );
QString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyURL();
- int res = KMessageBox::questionYesNo( m_view,
- i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg(shortURL),
+
+ int res;
+ if (mimeName.startsWith("Shockwave Flash",false))
+ {
+ res = KMessageBox::questionYesNo( m_view,
+ i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg("openSUSE"),
i18n("Missing Plugin"), i18n("Download"), i18n("Do Not Download"), QString("plugin-")+serviceType);
- if ( res == KMessageBox::Yes )
+
+ if ( res == KMessageBox::Yes )
+ {
+ // Open YMP file
+ KURL ymp_flash ("http://download.opensuse.org/YaST/flash-player.ymp");
+ ext->openURLRequest( ymp_flash );
+ return;
+ }
+ }
+ else
{
- // Display vendor download page
- ext->createNewWindow( pluginPageURL );
- return;
+ res = KMessageBox::questionYesNo( m_view,
+ i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg(shortURL),
+ i18n("Missing Plugin"), i18n("Download"), i18n("Do Not Download"), QString("plugin-")+serviceType);
+ if ( res == KMessageBox::Yes )
+ {
+ // Display vendor download page
+ ext->createNewWindow( pluginPageURL );
+ return;
+ }
}
}
}

@ -0,0 +1,18 @@
--- kded/vfolder_menu.cpp 2009/11/07 07:01:12 1.1
+++ kded/vfolder_menu.cpp 2009/11/07 07:01:42
@@ -1496,6 +1496,7 @@
else
kdDebug()<<" Error in parsing show_empty attribute :"<<str<<endl;
}
+#if 0
if ( e.hasAttribute( "inline" ) )
{
QString str = e.attribute( "inline" );
@@ -1534,6 +1535,7 @@
else
kdDebug()<<" Error in parsing inline_alias attribute :"<<str<<endl;
}
+#endif
if( !option.isEmpty())
{
option = option.prepend(":O");

@ -0,0 +1,26 @@
Index: pics/crystalsvg/index.theme
===================================================================
--- pics/crystalsvg/index.theme (Revision 505161)
+++ pics/crystalsvg/index.theme (Arbeitskopie)
@@ -78,7 +78,7 @@
Comment[zh_HK]=由 Everaldo.com 提供的圖示主題
DisplayDepth=32
-Inherits=hicolor
+Inherits=suseadds,hicolor
Example=folder
LinkOverlay=link_overlay
Index: kdecore/kicontheme.cpp
===================================================================
--- kdecore/kicontheme.cpp (Revision 458165)
+++ kdecore/kicontheme.cpp (Arbeitskopie)
@@ -146,6 +146,8 @@
if ( name != "crystalsvg" )
for ( QStringList::Iterator it = mInherits.begin(); it != mInherits.end(); ++it )
if ( *it == "default" || *it == "hicolor" ) *it="crystalsvg";
+ if ( name == "hicolor" )
+ mInherits = "crystalsuse";
d->hidden = cfg.readBoolEntry("Hidden", false);
d->example = cfg.readPathEntry("Example");

@ -0,0 +1,13 @@
Index: kdecore/kicontheme.cpp
===================================================================
--- kdecore/kicontheme.cpp.orig
+++ kdecore/kicontheme.cpp
@@ -150,6 +150,8 @@ KIconTheme::KIconTheme(const QString& na
if ( name != "crystalsvg" )
for ( QStringList::Iterator it = mInherits.begin(); it != mInherits.end(); ++it )
if ( *it == "default" || *it == "hicolor" ) *it="crystalsvg";
+ if ( name == "hicolor" )
+ mInherits = "crystalsuse";
d->hidden = cfg.readBoolEntry("Hidden", false);
d->example = cfg.readPathEntry("Example");

@ -0,0 +1,17 @@
Index: kdecore/kconfigbackend.cpp
===================================================================
--- kdecore/kconfigbackend.cpp.orig
+++ kdecore/kconfigbackend.cpp
@@ -352,7 +352,11 @@ bool KConfigINIBackEnd::parseConfigFiles
#ifdef Q_WS_WIN
QString etc_kderc = QFile::decodeName( QCString(getenv("WINDIR")) + "\\kderc" );
#else
- QString etc_kderc = QString::fromLatin1("/etc/kderc");
+ QString etc_kderc;
+ if (checkAccess(QString::fromLatin1("/etc/tderc"), R_OK))
+ etc_kderc = QString::fromLatin1("/etc/tderc");
+ else
+ etc_kderc = QString::fromLatin1("/etc/kde3rc");
#endif
if (checkAccess(etc_kderc, R_OK))

@ -0,0 +1,30 @@
diff -ur kdelibs-3.5.10/khtml/ecma/kjs_html.cpp kdelibs-3.5.10-cve-2009-2537-select-length/khtml/ecma/kjs_html.cpp
--- kdelibs-3.5.10/khtml/ecma/kjs_html.cpp 2008-02-13 10:41:09.000000000 +0100
+++ kdelibs-3.5.10-cve-2009-2537-select-length/khtml/ecma/kjs_html.cpp 2009-07-26 04:54:52.000000000 +0200
@@ -62,6 +62,9 @@
#include <kdebug.h>
+// CVE-2009-2537 (vendors agreed on max 10000 elements)
+#define MAX_SELECT_LENGTH 10000
+
namespace KJS {
KJS_DEFINE_PROTOTYPE_WITH_PROTOTYPE(HTMLDocumentProto, DOMDocumentProto)
@@ -2550,8 +2553,14 @@
case SelectValue: { select.setValue(str); return; }
case SelectLength: { // read-only according to the NS spec, but webpages need it writeable
Object coll = Object::dynamicCast( getSelectHTMLCollection(exec, select.options(), select) );
- if ( coll.isValid() )
- coll.put(exec,"length",value);
+
+ if ( coll.isValid() ) {
+ if (value.toInteger(exec) >= MAX_SELECT_LENGTH) {
+ Object err = Error::create(exec, RangeError);
+ exec->setException(err);
+ } else
+ coll.put(exec, "length", value);
+ }
return;
}
// read-only: form

@ -0,0 +1,47 @@
--- kdelibs-3.5.10/kio/kio/kzip.cpp.orig 2009-12-09 18:42:47.000000000 +0100
+++ kdelibs-3.5.10/kio/kio/kzip.cpp 2009-12-09 18:45:43.000000000 +0100
@@ -1051,6 +1051,20 @@
return true;
}
+bool KZip::writeDir(const QString& name, const QString& user, const QString& group)
+{
+ // Zip files have no explicit directories, they are implicitly created during extraction time
+ // when file entries have paths in them.
+ // However, to support empty directories, we must create a dummy file entry which ends with '/'.
+ QString dirName = name;
+ if (!name.endsWith("/"))
+ dirName = dirName.append('/');
+
+ mode_t perm = 040755;
+ time_t the_time = time(0);
+ return writeFile(dirName, user, group, 0, perm, the_time, the_time, the_time, 0);
+}
+
// Doesn't need to be reimplemented anymore. Remove for KDE-4.0
bool KZip::writeFile( const QString& name, const QString& user, const QString& group, uint size, const char* data )
{
@@ -1114,7 +1128,7 @@
}
// delete entries in the filelist with the same filename as the one we want
- // to save, so that we don´t have duplicate file entries when viewing the zip
+ // to save, so that we don�t have duplicate file entries when viewing the zip
// with konqi...
// CAUTION: the old file itself is still in the zip and won't be removed !!!
QPtrListIterator<KZipFileEntry> it( d->m_fileList );
diff -up kdelibs-3.5.10/kio/kio/kzip.h.orig kdelibs-3.5.10/kio/kio/kzip.h
--- kdelibs-3.5.10/kio/kio/kzip.h.orig 2009-12-09 19:35:42.000000000 +0100
+++ kdelibs-3.5.10/kio/kio/kzip.h 2009-12-09 19:35:48.000000000 +0100
@@ -191,10 +191,7 @@ protected:
/// Closes the archive
virtual bool closeArchive();
- /**
- * @internal Not needed for zip
- */
- virtual bool writeDir( const QString& name, const QString& user, const QString& group) { Q_UNUSED(name); Q_UNUSED(user); Q_UNUSED(group); return true; }
+ virtual bool writeDir(const QString& name, const QString& user, const QString& group);
// TODO(BIC) uncomment and make virtual for KDE 4.
// bool writeDir( const QString& name, const QString& user, const QString& group,
// mode_t perm, time_t atime, time_t mtime, time_t ctime );

@ -0,0 +1,50 @@
diff -uNr kdelibs-3.5.1.old/pics/hicolor/index.theme kdelibs-3.5.1/pics/hicolor/index.theme
--- kdelibs-3.5.1.old/pics/hicolor/index.theme 2006-01-20 07:53:04.000000000 +0100
+++ kdelibs-3.5.1/pics/hicolor/index.theme 2006-04-12 20:18:31.907163700 +0200
@@ -314,36 +314,36 @@
Type=Threshold
[scalable/actions]
-MinSize=1
-Size=128
+MinSize=32
+Size=48
MaxSize=256
Context=Actions
Type=Scalable
[scalable/apps]
-MinSize=1
-Size=128
+MinSize=32
+Size=48
MaxSize=256
Context=Applications
Type=Scalable
[scalable/devices]
-MinSize=1
-Size=128
+MinSize=32
+Size=48
MaxSize=256
Context=Devices
Type=Scalable
[scalable/filesystems]
-MinSize=1
-Size=128
+MinSize=32
+Size=48
MaxSize=256
Context=FileSystems
Type=Scalable
[scalable/mimetypes]
-MinSize=1
-Size=128
+MinSize=32
+Size=48
MaxSize=256
Context=MimeTypes
Type=Scalable

@ -0,0 +1,32 @@
Index: kdeprint/cups/cupsdconf2/cupsddialog.cpp
===================================================================
--- kdeprint/cups/cupsdconf2/cupsddialog.cpp.orig
+++ kdeprint/cups/cupsdconf2/cupsddialog.cpp
@@ -45,6 +45,7 @@
#include <kguiitem.h>
#include <kprocess.h>
+#include <stdlib.h>
#include <signal.h>
#include <cups/cups.h>
@@ -205,15 +206,13 @@ bool CupsdDialog::restartServer(QString&
}
else
{
+ KProcess proc;
bool success = false;
if (getuid() == 0 )
- success = (::kill(serverPid, SIGHUP) == 0);
+ proc << "rccups" << "force-reload";
else
- {
- KProcess proc;
- proc << "kdesu" << "-c" << "kill -SIGHUP " + QString::number( serverPid );
- success = proc.start( KProcess::Block ) && proc.normalExit();
- }
+ proc << "kdesu" << "-c" << "rccups" << "force-reload";
+ success = proc.start( KProcess::Block ) && proc.normalExit();
if( !success )
msg = i18n("Unable to restart CUPS server (pid = %1)").arg(serverPid);
}

@ -0,0 +1,13 @@
Index: kdecore/kdeversion.h
===================================================================
--- kdecore/kdeversion.h.orig
+++ kdecore/kdeversion.h
@@ -33,6 +33,8 @@
#define KDE_IS_VERSION(a,b,c) ( KDE_VERSION >= KDE_MAKE_VERSION(a,b,c) )
+#define KDELIBS_SUSE
+
/**
* Namespace for general KDE functions.
*/

@ -0,0 +1,158 @@
Index: kdecore/kdebug.cpp
===================================================================
--- kdecore/kdebug.cpp.orig
+++ kdecore/kdebug.cpp
@@ -170,7 +170,7 @@ static KStaticDeleter<kDebugPrivate> pcd
static KStaticDeleter<KDebugDCOPIface> dcopsd;
static KDebugDCOPIface* kDebugDCOPIface = 0;
-static void kDebugBackend( unsigned short nLevel, unsigned int nArea, const char *data)
+static void kDebugInitBackend(unsigned int nArea)
{
if ( !kDebug_data )
{
@@ -205,40 +205,46 @@ static void kDebugBackend( unsigned shor
if ( KGlobal::_instance )
kDebug_data->aAreaName = KGlobal::instance()->instanceName();
}
+}
- int nPriority = 0;
- QString aCaption;
-
- /* Determine output */
+static short kDebugAreaOutput(unsigned short nLevel, unsigned int nArea)
+{
+ kDebugInitBackend (nArea);
+ /* Determine output */
QString key;
switch( nLevel )
{
case KDEBUG_INFO:
key = "InfoOutput";
- aCaption = "Info";
- nPriority = LOG_INFO;
break;
case KDEBUG_WARN:
key = "WarnOutput";
- aCaption = "Warning";
- nPriority = LOG_WARNING;
break;
case KDEBUG_FATAL:
key = "FatalOutput";
- aCaption = "Fatal Error";
- nPriority = LOG_CRIT;
break;
case KDEBUG_ERROR:
default:
/* Programmer error, use "Error" as default */
key = "ErrorOutput";
- aCaption = "Error";
- nPriority = LOG_ERR;
break;
}
- short nOutput = kDebug_data->config ? kDebug_data->config->readNumEntry(key, 2) : 2;
+ return kDebug_data->config ? kDebug_data->config->readNumEntry(key, 4) : 4;
+}
+
+
+bool kDebugAreaEnabled(unsigned short nLevel, unsigned int nArea)
+{
+ return kDebugAreaOutput(nLevel, nArea) != 4;
+}
+
+static void kDebugBackend( unsigned short nLevel, unsigned int nArea, const char *data)
+{
+ kDebugInitBackend (nArea);
+
+ short nOutput = kDebugAreaOutput(nLevel, nArea);
// If the application doesn't have a QApplication object it can't use
// a messagebox.
@@ -247,6 +253,32 @@ static void kDebugBackend( unsigned shor
else if ( nOutput == 4 && nLevel != KDEBUG_FATAL )
return;
+ int nPriority = 0;
+ QString aCaption;
+ switch( nLevel )
+ {
+ case KDEBUG_INFO:
+ aCaption = "Info";
+ nPriority = LOG_INFO;
+ break;
+ case KDEBUG_WARN:
+ aCaption = "Warning";
+ nPriority = LOG_WARNING;
+ break;
+ case KDEBUG_FATAL:
+ aCaption = "Fatal Error";
+ nPriority = LOG_CRIT;
+ break;
+ case KDEBUG_ERROR:
+ default:
+ /* Programmer error, use "Error" as default */
+ aCaption = "Error";
+ nPriority = LOG_ERR;
+ break;
+ }
+
+
+
const int BUFSIZE = 4096;
char buf[BUFSIZE];
if ( !kDebug_data->aAreaName.isEmpty() ) {
@@ -314,13 +346,25 @@ static void kDebugBackend( unsigned shor
}
kdbgstream &perror( kdbgstream &s) { return s << QString::fromLocal8Bit(strerror(errno)); }
-kdbgstream kdDebug(int area) { return kdbgstream(area, KDEBUG_INFO); }
-kdbgstream kdDebug(bool cond, int area) { if (cond) return kdbgstream(area, KDEBUG_INFO); else return kdbgstream(0, 0, false); }
+kdbgstream kdDebug(int area) { return kdbgstream(area, KDEBUG_INFO, kDebugAreaEnabled(KDEBUG_INFO, area)); }
+kdbgstream kdDebug(bool cond, int area) { if (cond) return kdbgstream(area, KDEBUG_INFO, kDebugAreaEnabled(KDEBUG_INFO, area)); else return kdbgstream(0, 0, false); }
kdbgstream kdError(int area) { return kdbgstream("ERROR: ", area, KDEBUG_ERROR); }
kdbgstream kdError(bool cond, int area) { if (cond) return kdbgstream("ERROR: ", area, KDEBUG_ERROR); else return kdbgstream(0,0,false); }
-kdbgstream kdWarning(int area) { return kdbgstream("WARNING: ", area, KDEBUG_WARN); }
-kdbgstream kdWarning(bool cond, int area) { if (cond) return kdbgstream("WARNING: ", area, KDEBUG_WARN); else return kdbgstream(0,0,false); }
+
+kdbgstream kdWarning(int area)
+{
+ return kdbgstream("WARNING: ", area, KDEBUG_WARN, kDebugAreaEnabled(KDEBUG_WARN, area));
+}
+
+kdbgstream kdWarning(bool cond, int area)
+{
+ if (cond)
+ return kdbgstream("WARNING: ", area, KDEBUG_WARN, kDebugAreaEnabled(KDEBUG_WARN, area));
+ else
+ return kdbgstream(0,0,false);
+}
+
kdbgstream kdFatal(int area) { return kdbgstream("FATAL: ", area, KDEBUG_FATAL); }
kdbgstream kdFatal(bool cond, int area) { if (cond) return kdbgstream("FATAL: ", area, KDEBUG_FATAL); else return kdbgstream(0,0,false); }
@@ -331,9 +375,10 @@ kdbgstream::kdbgstream(kdbgstream &str)
}
void kdbgstream::flush() {
- if (output.isEmpty() || !print)
+ if (output.isEmpty())
return;
- kDebugBackend( level, area, output.local8Bit().data() );
+ if (print)
+ kDebugBackend( level, area, output.local8Bit().data() );
output = QString::null;
}
@@ -349,7 +394,7 @@ kdbgstream &kdbgstream::form(const char
}
kdbgstream::~kdbgstream() {
- if (!output.isEmpty()) {
+ if (print && !output.isEmpty()) {
fprintf(stderr, "ASSERT: debug output not ended with \\n\n");
fprintf(stderr, "%s", kdBacktrace().latin1());
*this << "\n";

@ -0,0 +1,13 @@
Index: configure.in.in
===================================================================
--- configure.in.in.orig
+++ configure.in.in
@@ -17,7 +17,7 @@ AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM
dnl Automake doc recommends to do this only here. (Janos)
-AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs
+AM_INIT_AUTOMAKE("kdelibs", @VERSION@) dnl searches for some needed programs
AC_PROG_INSTALL

@ -0,0 +1,13 @@
Index: kdecore/kstandarddirs.cpp
===================================================================
--- kdecore/kstandarddirs.cpp.orig
+++ kdecore/kstandarddirs.cpp
@@ -1290,6 +1290,8 @@ void KStandardDirs::addKDEDefaults()
}
}
+ kdedirList.append("/etc/opt/kde3");
+
#ifndef Q_OS_WIN //no default KDEDIR on win32 defined
kdedirList.append(KDEDIR);
#endif

File diff suppressed because it is too large Load Diff

@ -0,0 +1,115 @@
#
# spec file for package tdelibs-devel-doc
#
# Copyright (c) 2011 the Trinity Project (opensuse).
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.trinitydesktop.org/
#
# norootforbuild
Name: tdelibs-devel-doc
BuildRequires: OpenEXR-devel aspell-devel cups-devel db-devel doxygen graphviz tdelibs-devel krb5-devel libjasper libsndfile openldap2-devel qt3-devel-doc libtqt4-devel tde-filesystem utempter xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-fonts-scalable
BuildRequires: avahi-compat-mDNSResponder-devel fdupes
URL: http://www.trinitydesktop.org
License: GPLv2+
Group: Documentation/HTML
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: Additional Package Documentation
Version: R13.99
Release: 1
%define tdelibs_patch_level b
BuildArch: noarch
Requires: tdelibs qt3-devel-doc
Source0: tdelibs-%{version}.tar.bz2
Source1: create-kdeapi
Source4: api_docu_description
%description
This package contains a generated API documentation for all library
classes provided by tdelibs. The index page for all TDE API functions
is:
file:/usr/share/doc/TDE-API/index.html
Authors:
--------
The KDE Team <kde@kde.org>
%prep
echo %suse_version
%setup -q -n tdelibs-%{version}
%build
%if %is_plus
# supplementary package
DISTRI="openSUSE $BUILD_DISTRIBUTION_VERSION UNSUPPORTED"
%else
# official build on released and maintained products
DISTRI="openSUSE $BUILD_DISTRIBUTION_VERSION"
%endif
export QTDOCDIR=/usr/share/doc/packages/qt3/html
%cmake_tde -d build -- -DKDE_DISTRIBUTION="$DISTRI"
%make_tde -d build -- apidox
%install
list=`find . -name Makefile.am | xargs grep Doxy | sed -e "s,/Makefile.am.*,," | sort -u `
for i in $list; do %makeinstall_tde -d build -- -C $i DESTDIR=$RPM_BUILD_ROOT install-apidox || true; done
# The modern way, with kdevelop-incompatible api documentation :/
mkdir -p $RPM_BUILD_ROOT/usr/share/doc/TDE-API/
# *** everytime you edit the following line, you made a mistake. Update macros.tde
# *** version instead
KDEDOCDIR=%{_tde_htmldir}/en/kdelibs-apidocs
# this is forgotten, but kdevelop needs it
mkdir -p $RPM_BUILD_ROOT/$KDEDOCDIR
if test -d apidocs/qt; then
cp -a apidocs/qt $RPM_BUILD_ROOT/$KDEDOCDIR
fi
set +x
exitc=0
for i in `ls -1 $RPM_BUILD_ROOT/$KDEDOCDIR/*/html/index.html`; do
lib=`echo $i | sed -e 's,/html/index.html,,; s,.*/\([^/]*\)$,\1,'`
if ! egrep "^$lib:" %SOURCE4 ; then
echo "ERROR: no description for library $lib"
exitc=1
fi
sed -n -e 's@'"${lib}"':\(.*\)@\1@p' %SOURCE4 > ${RPM_BUILD_ROOT}/${KDEDOCDIR}/${lib}/description.SuSE
echo "kdelibs" > ${RPM_BUILD_ROOT}/${KDEDOCDIR}/${lib}/package.SuSE
done
if test "$exitc" != 0; then
exit $exitc
fi
ln -s $KDEDOCDIR/index.html $RPM_BUILD_ROOT/usr/share/doc/TDE-API/index.html
rm -rf ${RPM_BUILD_ROOT}/%{_tde_datadir}
mkdir -p $RPM_BUILD_ROOT/%{_tde_datadir}/tdelibs
install -m 0755 %SOURCE1 $RPM_BUILD_ROOT/%{_tde_datadir}/tdelibs/
%fdupes -s $RPM_BUILD_ROOT
%post
%{_tde_datadir}/tdelibs/create-kdeapi
%clean
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(-,root,root)
%dir %{_tde_sharedir}
%dir %{_tde_datadir}
%dir %{_tde_datadir}/tdelibs
%{_datadir}/doc/TDE-API
%{_tde_datadir}/tdelibs/create-kdeapi
%{_tde_docdir}
%changelog

File diff suppressed because it is too large Load Diff

@ -0,0 +1,645 @@
#
# spec file for package tdelibs
#
# Copyright (c) 2011 the Trinity Project (opensuse).
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.trinitydesktop.org/
#
# norootforbuild
Name: tdelibs
BuildRequires: OpenEXR-devel arts arts-devel aspell-devel cups-devel fam-devel flac-devel krb5-devel
BuildRequires: libart_lgpl-devel libidn-devel libsndfile libtiff-devel
BuildRequires: libxslt-devel openldap2-devel pcre-devel libtqt4-devel sgml-skel
BuildRequires: db-devel libacl-devel libattr-devel unsermake update-desktop-files utempter
BuildRequires: unzip
BuildRequires: avahi-compat-mDNSResponder-devel fdupes libbz2-devel libjasper-devel
BuildRequires: libdrm-devel tde-filesystem cmake
URL: http://www.trinitydesktop.org/
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Group: System/GUI/TDE
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: Trinity Base Libraries
Version: R13.99
Release: 1
Provides: kups keramik tdelibs-cups tdelibs-33addons tdepim-networkstatus
Provides: kdelibs3_base = 3.3
Requires: libtqt4 >= %( echo `rpm -q --queryformat '%{VERSION}' libtqt4`)
Requires: openssl tdelibs-default-style
Requires: hicolor-icon-theme
Recommends: ispell enscript
Requires: sudo
Source0: %{name}-%{version}.tar.bz2
Source3: baselibs.conf
Source4: api_docu_description
Source6: tderc
# svn export svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin
Source8: admin.tar.bz2
Source9: cr16-filesys-file_broken.png
Source10: kdemm-20050330.tar.bz2
Source11: 10888-bt.tar.gz
Source12: mimetype-icons.tar.bz2
Source14: vnd.openxmlformats-officedocument.wordprocessingml.document.desktop
Source15: vnd.openxmlformats-officedocument.presentationml.presentation.desktop
Source16: vnd.openxmlformats-officedocument.spreadsheetml.sheet.desktop
%description
This package contains tdelibs, one of the basic packages of the Trinity
Desktop Environment. It contains the necessary libraries for the Trinity
desktop.
This package is absolutely necessary for using TDE.
%package arts
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: TDE aRts support
Group: System/GUI/TDE
Provides: tdelibs:/opt/tde/bin/artsmessage
Requires: arts >= %( echo `rpm -q --queryformat '%{VERSION}' arts`)
Recommends: tdemultimedia-arts
%description arts
This package contains bindings and gui elements for using aRts sound
daemon.
%package default-style
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: The default TDE style
Group: System/GUI/TDE
Provides: tdelibs:%{_tde_libdir}/libtdefx.so.4
%description default-style
This package contains the Plastik widget style and libkdefx. It only
depends on TQt, not the KDE libraries.
%package doc
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Documentation for TDE Base Libraries
Group: System/GUI/TDE
Provides: tdelibs:/opt/tde/share/apps/ksgmltools2
Provides: tdelibs_doc
Requires: sgml-skel libxml2
%define regcat /usr/bin/sgml-register-catalog
PreReq: %{regcat} /usr/bin/xmlcatalog /usr/bin/edit-xml-catalog
PreReq: sed grep awk
%description doc
This package contains the core environment and templates for the Trinity
help system.
%package devel
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
# usefiles /opt/tde/bin/dcopidl /opt/tde/bin/dcopidl2cpp /opt/tde/bin/kdb2html /opt/tde/bin/preparetips
Requires: libtqt4-devel libvorbis-devel tdelibs = %version autoconf automake libxslt-devel libxml2-devel libart_lgpl-devel libjpeg-devel tde-filesystem
# next line from tde-devel-packages macro
Requires: tdelibs-doc libtiff-devel openssl-devel update-desktop-files
Requires: libdrm-devel dbus-1-tqt-devel
Requires: libattr-devel libacl-devel
Requires: tdelibs-arts
Summary: Trinity Base Package: Build Environment
Group: System/GUI/TDE
Requires: fam-devel pcre-devel libidn-devel arts-devel
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%prep
echo %suse_version
%setup -q
tar xfvj %SOURCE10
rm -rf admin
bunzip2 -cd %{SOURCE8} | tar xfv - --exclude=.cvsignore --exclude=CVS
tar xfvj %SOURCE12
#
# define KDE version exactly
#
myrelease=$(echo %release | cut -d. -f-1)
sed 's,#define KDE_VERSION_STRING "\(.*\)",#define KDE_VERSION_STRING "\1 \\"release '$myrelease'\\"",' kdecore/kdeversion.h > kdecore/kdeversion.h_ && mv kdecore/kdeversion.h_ kdecore/kdeversion.h
#
# create build enviroment
#
#UNSERMAKE=yes make -f admin/Makefile.common cvs
%build
export PATH=$PWD/admin/:$PATH
FINAL="--enable-final"
CFLAGS="$CFLAGS -fno-strict-aliasing"
CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
# common_options and do_make have been obsoleted by tde-filesystem
export path_sudo=/usr/bin/sudo
#
# define the distribution exactly
#
test -e /.buildenv && . /.buildenv
%if %is_plus
# supplementary package
DISTRI="openSUSE $BUILD_DISTRIBUTION_VERSION UNSUPPORTED"
%else
# official build on released and maintained products
DISTRI="openSUSE $BUILD_DISTRIBUTION_VERSION"
%endif
sed 's,#define KDE_VERSION_STRING "\(.*\)",#define KDE_VERSION_STRING "\1 '"$ADD_VERSION"'",' kdecore/kdeversion.h > kdecore/kdeversion.h_ && mv kdecore/kdeversion.h_ kdecore/kdeversion.h
# find MIT kerberos
export PATH=/usr/lib/mit/bin:$PATH
# fast-malloc is not needed anymore
EXTRA_FLAGS="-DCMAKE_SKIP_RPATH=OFF -DKDE_MALLOC_FULL=OFF -DKDE_MALLOC=OFF -DSSL_INSTALL_DIR=/usr/ssl -DPCSC_INSTALL_DIR=/usr -DENABLE_DNOFIFY=ON"
# -DKDE_DISTRIBUTION=\"$DISTRI\"
# %if %is_plus
# -DENABLE_DNOFIFY=ON \
# %endif
%cmake_tde -d build -- $EXTRA_FLAGS
%make_tde -d build
#
xmlcatbin=/usr/bin/xmlcatalog
# CATALOG=docbook-simple.xml
# $xmlcatbin --noout --create $CATALOG
# $xmlcatbin --noout --add "public" \
# "-//OASIS//DTD Simplified DocBook XML V1.0//EN" \
# "file://%{xml_mod_dtd_dir}/sdocbook.dtd" $CATALOG
# $xmlcatbin --noout --add "system" \
# "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd" \
# "file://%{xml_mod_dtd_dir}/sdocbook.dtd" $CATALOG
%define FOR_ROOT_CAT for-catalog-%{name}-%{version}.xml
CATALOG=%{_tde_prefix}/share/apps/ksgmltools2/customization/catalog.xml
rm -f %{FOR_ROOT_CAT}.tmp
$xmlcatbin --noout --create %{FOR_ROOT_CAT}.tmp
# $xmlcatbin --noout --add "delegateSystem" \
# "http://www.oasis-open.org/docbook/xml/simple/" \
# "file:///$CATALOG" %{FOR_ROOT_CAT}.tmp
$xmlcatbin --noout --add "delegatePublic" \
"-//KDE//DTD DocBook XML V4.2" \
"file://$CATALOG" %{FOR_ROOT_CAT}.tmp
$xmlcatbin --noout --add "delegatePublic" \
"-//KDE//ELEMENTS" \
"file://$CATALOG" %{FOR_ROOT_CAT}.tmp
$xmlcatbin --noout --add "delegatePublic" \
"-//KDE//ENTITIES" \
"file://$CATALOG" %{FOR_ROOT_CAT}.tmp
# Create tag
sed '/<catalog/a\
<group id="%{name}-%{version}">
/<\/catalog/i\
</group>' \
%{FOR_ROOT_CAT}.tmp > %{FOR_ROOT_CAT}
%install
%makeinstall_tde -d build
mkdir -p $RPM_BUILD_ROOT/%{_tde_configkcfgdir}
install -D %SOURCE9 $RPM_BUILD_ROOT/%{_tde_icondir}/crystalsvg/16x16/filesystems/file_broken.png
mv $RPM_BUILD_ROOT/etc/xdg/menus/applications.menu \
$RPM_BUILD_ROOT/etc/xdg/menus/applications.menu.kde
#
# lib64 compatibility symlink
#
%ifarch x86_64 ppc64 s390x mips64 sparc64
mkdir -p $RPM_BUILD_ROOT/%{_tde_prefix}/lib/kde3/
ln -sf ../../lib64/kde3/plugins \
$RPM_BUILD_ROOT/%{_tde_prefix}/lib/kde3/plugins-lib64
%endif
#
# add missing directories
#
for i in Applications Development Editors Edutainment Games Graphics Internet Multimedia Office Settings System Toys Utilities WordProcessing; do
install -d -m 0755 $RPM_BUILD_ROOT/%{_tde_appsdir}/$i
done
rm -f locale.list
for i in $(find /usr/share/locale -mindepth 1 -maxdepth 1 -type d | sed 's:/usr/share/locale/::'); do
install -d -m 755 $RPM_BUILD_ROOT/%{_tde_locale}/$i
install -d -m 755 $RPM_BUILD_ROOT/%{_tde_locale}/$i/LC_MESSAGES
install -d -m 755 $RPM_BUILD_ROOT/%{_tde_htmldir}/$i
echo "%lang($i) %doc %{_tde_locale}/$i" >> locale.list
done
%suse_update_desktop_file kresources X-KDE-settings-desktop
# unlike with other modules, tde_post_install shouldn't
# be put at the end of %install
%tde_post_install
# now create a filesystem layer
for theme in hicolor locolor; do
for j in actions apps filesystems mimetypes; do
for i in 16 22 32 48 64 128; do
install -d -m 0755 $RPM_BUILD_ROOT/%{_tde_icondir}/${theme}/${i}x${i}/${j}
done
install -d -m 0755 $RPM_BUILD_ROOT/%{_tde_icondir}/${theme}/scalable/${j}
done
done
install -d -m 0755 $RPM_BUILD_ROOT/etc/%{_tde_libdir}
install -d -m 0755 $RPM_BUILD_ROOT/etc/%{_tde_configdir}
install -d -m 0755 $RPM_BUILD_ROOT/%{_tde_datadir}/kdelibs/
install -m 0644 %SOURCE6 $RPM_BUILD_ROOT/etc/
rm -f $RPM_BUILD_ROOT/%{_tde_libdir}/libkdeinit_*.la
#
# add additional icon path (not needed anymore? we use cmake)
#
#mkdir -p ${RPM_BUILD_ROOT}/%{_tde_datadir}/kdelibs
#rm -f admin/*.orig
#cp -a admin ${RPM_BUILD_ROOT}/%{_tde_datadir}/kdelibs/
# This is not needed on SUSE Linux! - Marcus Meissner <meissner@suse.de>
rm $RPM_BUILD_ROOT/%{_tde_bindir}/kgrantpty
#
# our version is in kdebase3
#
rm -f $RPM_BUILD_ROOT/%{_tde_bindir}/fileshare*
#
# no sources for man pages
#
rm -f $RPM_BUILD_ROOT/%{_tde_htmldir}/en/kdelibs/man-*
#
# install BitTorrent icons
#
tar xfvz %SOURCE11
for i in 16x16 22x22 32x32 48x48 64x64 128x128 ; do
install -m 0644 bt/$i/mimetypes/bt.png \
$RPM_BUILD_ROOT/%{_tde_icondir}/crystalsvg/$i/mimetypes/torrent.png
done
#cp CATALOG.%{name} catalog.xml ${RPM_BUILD_ROOT}/%{_tde_datadir}/ksgmltools2/customization/
cp catalog.xml ${RPM_BUILD_ROOT}/%{_tde_datadir}/ksgmltools2/customization/
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/xml
cp %{FOR_ROOT_CAT} ${RPM_BUILD_ROOT}%{_sysconfdir}/xml
# rm -f $RPM_BUILD_ROOT/%{_tde_libdir}/libkdefakes.la
# rm -f $RPM_BUILD_ROOT/%{_tde_libdir}/libkjava.la
rm -f $RPM_BUILD_ROOT/%{_tde_icondir}/hicolor/index.theme
# .desktop files in kdeaccessibility3 require the kttsd icon
for i in {16x16,22x22,32x32,48x48,64x64,128x128,scalable}; do mv $RPM_BUILD_ROOT/%{_tde_icondir}/crystalsvg/$i/apps/kttsd.* $RPM_BUILD_ROOT/%{_tde_icondir}/hicolor/$i/apps/;done
install -m 0644 %SOURCE14 $RPM_BUILD_ROOT/%{_tde_mimedir}/application/
install -m 0644 %SOURCE15 $RPM_BUILD_ROOT/%{_tde_mimedir}/application/
install -m 0644 %SOURCE16 $RPM_BUILD_ROOT/%{_tde_mimedir}/application/
# fix bnc#396153
for i in 16x16 22x22 32x32 48x48 64x64 128x128; do
ln -s %{_tde_icondir}/crystalsvg/$i/filesystems/network.png $RPM_BUILD_ROOT/%{_tde_icondir}/crystalsvg/$i/filesystems/preferences-system-network.png
ln -s %{_tde_icondir}/crystalsvg/$i/filesystems/desktop.png $RPM_BUILD_ROOT/%{_tde_icondir}/crystalsvg/$i/filesystems/preferences-desktop.png
done
chmod a-x $RPM_BUILD_ROOT/%{_tde_icondir}/crystalsvg/16x16/filesystems/file_broken.png
%fdupes -s $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/etc/%{_tde_applicationsdir}
touch $RPM_BUILD_ROOT/etc/%{_tde_applicationsdir}/mimeinfo.cache
mkdir -p $RPM_BUILD_ROOT/%{_tde_applicationsdir}
touch $RPM_BUILD_ROOT/%{_tde_applicationsdir}/mimeinfo.cache
# Create /etc/ld.so.conf.d/kdelibs3.conf
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
cat > $RPM_BUILD_ROOT/etc/ld.so.conf.d/tdelibs.conf <<EOF
%ifarch s390x sparc64 x86_64 ppc64
/opt/tde/lib64
%endif
/opt/tde/lib
EOF
# Fix Kspell symlink
rm -fv $RPM_BUILD_ROOT/opt/tde/share/doc/kde/HTML/en/kspell/common
ln -sfv /opt/tde/share/doc/kde/HTML/en/common $RPM_BUILD_ROOT/opt/tde/share/doc/kde/HTML/en/kspell/common
# move cmake to %{_datadir}
mkdir -pv %{buildroot}/%{_datadir}/cmake
mv -v %{buildroot}/%{_tde_sharedir}/cmake/tdelibs.cmake %{buildroot}/%{_datadir}/cmake
%post
/sbin/ldconfig
%run_permissions
%postun
rm -f usr/share/doc/KDE3-API/index.html
/sbin/ldconfig
%post arts
/sbin/ldconfig
%postun arts
/sbin/ldconfig
%post default-style
/sbin/ldconfig
%postun default-style
/sbin/ldconfig
%post doc
if [ -x %{regcat} ]; then
%{regcat} -a %{_tde_datadir}/ksgmltools2/customization/CATALOG.%{name} >/dev/null 2>&1
fi
if [ -x /usr/bin/edit-xml-catalog ]; then
edit-xml-catalog --group --catalog /etc/xml/suse-catalog.xml \
--add /etc/xml/%{FOR_ROOT_CAT}
fi
%postun doc
if [ "$1" = "0" -a -x %{regcat} ]; then
%{regcat} -r %{_tde_datadir}/ksgmltools2/customization/CATALOG.%{name} >/dev/null 2>&1
fi
# remove entries only on removal of file
if [ ! -f %{xml_sysconf_dir}/%{FOR_ROOT_CAT} -a -x /usr/bin/edit-xml-catalog ] ; then
edit-xml-catalog --group --catalog /etc/xml/suse-catalog.xml \
--del %{name}-%{version}
fi
exit 0
%clean
rm -rf ${RPM_BUILD_ROOT}
%files default-style
%defattr(-,root,root)
%doc AUTHORS COPYING COPYING.BSD COPYING.LIB NAMING README
%{_tde_libdir}/libtdefx.so.*
%{_tde_libdir}/trinity/plugins/styles/plastik.*
%files
%defattr(-,root,root)
%doc AUTHORS COPYING COPYING.BSD COPYING.LIB NAMING README
/etc/ld.so.conf.d/tdelibs.conf
%dir /etc/%{_tde_prefix}
%dir %{_tde_prefix}
%dir %{_tde_bindir}
%dir %{_tde_includedir}
%dir %{_tde_sharedir}
%dir %{_tde_configkcfgdir}
%{_tde_bindir}/checkXML
%{_tde_bindir}/dcop
%{_tde_bindir}/dcopclient
%{_tde_bindir}/dcopfind
%{_tde_bindir}/dcopobject
%{_tde_bindir}/dcopref
%{_tde_bindir}/dcops*
%{_tde_bindir}/dcopquit
%{_tde_bindir}/imagetops
%{_tde_bindir}/ka*
%{_tde_bindir}/kbuildsycoca
%{_tde_bindir}/kco*
%{_tde_bindir}/kcmshell
%{_tde_bindir}/kded
%{_tde_bindir}/kdetcompmgr
%{_tde_bindir}/networkstatustestservice
%{_tde_bindir}/tdeinit*
%{_tde_bindir}/start_tdeinit
%{_tde_bindir}/start_tdeinit_wrapper
%{_tde_bindir}/tde-config
%{_tde_bindir}/kde-menu
%{_tde_bindir}/tdesu_stub
%{_tde_bindir}/kdontchangethehostname
%{_tde_bindir}/kfile
%{_tde_bindir}/ki*
%{_tde_bindir}/kfmexec
%{_tde_bindir}/klauncher
%{_tde_bindir}/kmailservice
%{_tde_bindir}/ktradertest
%{_tde_bindir}/kstartupconfig
%{_tde_bindir}/kdostartupconfig
%verify(not mode) %{_tde_bindir}/kpac_dhcp_helper
%{_tde_bindir}/ksendbugmail
%{_tde_bindir}/kshell
%{_tde_bindir}/ktelnetservice
%{_tde_bindir}/kwrapper
%{_tde_bindir}/lnusertemp
%{_tde_bindir}/make_driver_db_lpr
%{_tde_bindir}/khotnewstuff
%{_tde_bindir}/makekdewidgets
%dir %{_tde_libdir}
%dir %{_tde_libdir}/trinity
%{_tde_libdir}/trinity/dcopserver.*
%{_tde_libdir}/trinity/kaddprinterwizard.*
%{_tde_libdir}/trinity/kbuildsycoca.*
%{_tde_libdir}/trinity/kcmshell.*
%{_tde_libdir}/trinity/kcm_kresources.*
%{_tde_libdir}/trinity/kconf_update.*
%{_tde_libdir}/trinity/kcookiejar.*
%{_tde_libdir}/trinity/kded.*
%{_tde_libdir}/trinity/kded_proxyscout.*
%{_tde_libdir}/trinity/kfileaudiopreview.*
%{_tde_libdir}/trinity/klauncher.*
%{_tde_libdir}/trinity/knotify.*
%{_tde_libdir}/trinity/kabc*
%{_tde_libdir}/trinity/kbzip2filter.*
%{_tde_libdir}/trinity/kded_k*
%{_tde_libdir}/trinity/tdeprint_ext.*
%{_tde_libdir}/trinity/tdeprint_lp*
%{_tde_libdir}/trinity/tdeprint_rlpr.*
%{_tde_libdir}/trinity/tdeprint_tool_escputil.*
%{_tde_libdir}/trinity/kgzipfilter.*
%{_tde_libdir}/trinity/khtmlimagepart.*
%{_tde_libdir}/trinity/ki*
%{_tde_libdir}/trinity/kjavaappletviewer.*
%{_tde_libdir}/trinity/ktexteditor_*
%{_tde_libdir}/trinity/libk*
%{_tde_libdir}/trinity/kspell_*
%{_tde_libdir}/trinity/kstyle_plastik_config.*
%{_tde_libdir}/trinity/kstyle_highcontrast_config.*
%{_tde_libdir}/trinity/libshellscript.*
# unsure
%{_tde_libdir}/trinity/kded_tdeprintd.*
%{_tde_libdir}/trinity/libtdeprint_management_module.*
# end unsure
%exclude %{_tde_libdir}/trinity/plugins/styles/plastik.*
%{_tde_libdir}/trinity/plugins
%{_tde_libdir}/libDCOP.so.*
%exclude %{_tde_libdir}/libtdefx.so.*
%{_tde_libdir}/libk*.so.*
%{_tde_libdir}/libvcard.so.*
%{_tde_libdir}/libtdecore.so.*
%{_tde_libdir}/libtdefakes.so.*
%{_tde_libdir}/libtdeinit*.so
%{_tde_libdir}/libtdeprint.so.*
%{_tde_libdir}/libtdeprint_management.so.*
%{_tde_libdir}/libtdesasl.so.*
%{_tde_libdir}/libtdesu.so.*
%{_tde_libdir}/libtdeui.so.*
%{_tde_libdir}/libnetworkstatus.so.*
%{_tde_libdir}/libconnectionmanager.so.*
%{_tde_libdir}/trinity/kded_networkstatus.*
%{_tde_appsdir}
%dir %{_tde_datadir}
%{_tde_datadir}/LICENSES
%{_tde_datadir}/ka*
%{_tde_datadir}/kc*
%dir %{_tde_datadir}/tdeprint
%{_tde_datadir}/tdeprint/apsdriver*
%{_tde_datadir}/tdeprint/filters
%{_tde_datadir}/tdeprint/icons
%{_tde_datadir}/tdeprint/lprngtooldriver1
%{_tde_datadir}/tdeprint/pics
%dir %{_tde_datadir}/tdeprint/plugins
%{_tde_datadir}/tdeprint/plugins/ext.print
%{_tde_datadir}/tdeprint/plugins/lp*.print
%{_tde_datadir}/tdeprint/plugins/rlpr.print
%{_tde_datadir}/tdeprint/s*
%{_tde_datadir}/tdeprint/t*
%{_tde_datadir}/tdeui
%{_tde_datadir}/kdewidgets
%{_tde_datadir}/khtml
%{_tde_datadir}/kio_uiserver
%{_tde_datadir}/kjava
%{_tde_datadir}/knotify
%{_tde_datadir}/kssl
%{_tde_datadir}/kstyle
%{_tde_datadir}/ktexteditor_*
%{_tde_datadir}/proxyscout
%{_tde_datadir}/knewstuff
%{_tde_sharedir}/autostart
%{_tde_configdir}
%{_tde_sharedir}/emoticons
%{_tde_icondir}
%{_tde_locale}
%{_tde_mimedir}
%{_tde_sharedir}/service*
%config /etc/tderc
%{_tde_applicationsdir}
%{_tde_bindir}/cupsd*
%{_tde_bindir}/make_driver_db_cups
%{_tde_libdir}/trinity/tdeprint_cups.*
%{_tde_libdir}/trinity/cupsdconf.*
%{_tde_datadir}/tdeprint/cups*
%{_tde_datadir}/tdeprint/kde_logo.png
%{_tde_datadir}/tdeprint/plugins/cups.print
%{_tde_datadir}/tdeprint/preview*
%ifarch x86_64 ppc64 s390x mips64 sparc64
%dir %{_tde_prefix}/lib
%dir %{_tde_prefix}/lib/trinity
%{_tde_prefix}/lib/trinity/plugins-lib64
%endif
/etc/xdg/menus
%dir /etc/%{_tde_prefix}
%dir /etc/%{_tde_sharedir}
%dir /etc/%{_tde_applicationsdir}
%ghost /etc/%{_tde_applicationsdir}/mimeinfo.cache
%dir %{_tde_prefix}
%dir %{_tde_sharedir}
%dir %{_tde_applicationsdir}
%ghost %{_tde_applicationsdir}/mimeinfo.cache
%dir %{_tde_datadir}/konqueror
%dir %{_tde_datadir}/konqueror/servicemenus
%{_tde_datadir}/konqueror/servicemenus/isoservice.desktop
%files arts
%defattr(-,root,root)
%{_tde_bindir}/artsmessage
%{_tde_libdir}/libartskde.so.*
%files doc
%defattr(-,root,root)
%doc %{_tde_docdir}
%{_tde_bindir}/meinproc
%{_tde_datadir}/ksgmltools2
%config %{_sysconfdir}/xml/%{FOR_ROOT_CAT}
%files devel
%defattr(-,root,root)
%dir %{_tde_datadir}/kdelibs
%{_tde_bindir}/dcopidl*
%{_tde_bindir}/kmimelist
%{_tde_bindir}/preparetips
%{_tde_bindir}/kunittestmodrunner
#%{_tde_bindir}/MISC
%{_tde_includedir}/*
%{_tde_datadir}/dcopidlng
%{_tde_libdir}/libartskde.la
%{_tde_libdir}/libkunittest.la
%{_tde_libdir}/libkunittest.so
%{_tde_libdir}/libartskde.so
%{_tde_libdir}/libDCOP.so
%{_tde_libdir}/libvcard.so
%{_tde_libdir}/libvcard.la
%{_tde_libdir}/libDCOP.la
%{_tde_libdir}/lib*.a
%{_tde_libdir}/libkabc_dir.la
%{_tde_libdir}/libkabc_dir.so
%{_tde_libdir}/libkabc_file.la
%{_tde_libdir}/libkabc_file.so
%{_tde_libdir}/libkabc.la
%{_tde_libdir}/libkabc_ldapkio.la
%{_tde_libdir}/libkabc_ldapkio.so
%{_tde_libdir}/libkabc_net.la
%{_tde_libdir}/libkabc_net.so
%{_tde_libdir}/libkabc.so
%{_tde_libdir}/libkatepartinterfaces.la
%{_tde_libdir}/libkatepartinterfaces.so
%{_tde_libdir}/libtdecore.la
%{_tde_libdir}/libtdecore.so
%{_tde_libdir}/libtdefakes.la
%{_tde_libdir}/libtdefakes.so
%{_tde_libdir}/libtdefx.la
%{_tde_libdir}/libtdefx.so
%{_tde_libdir}/libtdeinit*.la
%{_tde_libdir}/libtdeprint.la
%{_tde_libdir}/libtdeprint_management.la
%{_tde_libdir}/libtdeprint_management.so
%{_tde_libdir}/libtdeprint.so
%{_tde_libdir}/libtdesasl.la
%{_tde_libdir}/libtdesasl.so
%{_tde_libdir}/libtdesu.la
%{_tde_libdir}/libtdesu.so
%{_tde_libdir}/libtdeui.la
%{_tde_libdir}/libtdeui.so
%{_tde_libdir}/libkdnssd.la
%{_tde_libdir}/libkdnssd.so
%{_tde_libdir}/libkglib.la
%{_tde_libdir}/libkglib.so
%{_tde_libdir}/libkhtml.la
%{_tde_libdir}/libkhtml.so
%{_tde_libdir}/libkimproxy.la
%{_tde_libdir}/libkimproxy.so
%{_tde_libdir}/libkio.la
%{_tde_libdir}/libkio.so
%{_tde_libdir}/libkjava.la
%{_tde_libdir}/libkjava.so
%{_tde_libdir}/libkjs.la
%{_tde_libdir}/libkjs.so
%{_tde_libdir}/libkmdi2.la
%{_tde_libdir}/libkmdi2.so
%{_tde_libdir}/libkmdi.la
%{_tde_libdir}/libkmdi.so
%{_tde_libdir}/libkmediaplayer.la
%{_tde_libdir}/libkmediaplayer.so
%{_tde_libdir}/libkmid.la
%{_tde_libdir}/libkmid.so
%{_tde_libdir}/libknewstuff.la
%{_tde_libdir}/libknewstuff.so
%{_tde_libdir}/libkntlm.la
%{_tde_libdir}/libkntlm.so
%{_tde_libdir}/libkparts.la
%{_tde_libdir}/libkparts.so
%{_tde_libdir}/libkrandr.la
%{_tde_libdir}/libkrandr.so
%{_tde_libdir}/libkresources.la
%{_tde_libdir}/libkresources.so
%{_tde_libdir}/libkrsync.la
%{_tde_libdir}/libkrsync.so
%{_tde_libdir}/libkscreensaver.la
%{_tde_libdir}/libkscreensaver.so
%{_tde_libdir}/libkscript.la
%{_tde_libdir}/libkscript.so
%{_tde_libdir}/libkspell2.la
%{_tde_libdir}/libkspell2.so
%{_tde_libdir}/libkspell.la
%{_tde_libdir}/libkspell.so
%{_tde_libdir}/libktexteditor.la
%{_tde_libdir}/libktexteditor.so
%{_tde_libdir}/libkutils.la
%{_tde_libdir}/libkutils.so
%{_tde_libdir}/libkwalletbackend.la
%{_tde_libdir}/libkwalletbackend.so
%{_tde_libdir}/libkwalletclient.la
%{_tde_libdir}/libkwalletclient.so
%{_tde_libdir}/libnetworkstatus.la
%{_tde_libdir}/libnetworkstatus.so
%{_tde_libdir}/libconnectionmanager.la
%{_tde_libdir}/libconnectionmanager.so
%{_datadir}/cmake/tdelibs.cmake
%changelog

@ -0,0 +1,11 @@
[Directories]
prefixes=/etc/opt/tde/
userProfileMapFile=/etc/kde-user-profile
profileDirsPrefix=/var/lib/kde-profiles/
dir_wallpaper=/usr/share/wallpapers
[Directories-default]
ProfileDescription=Default Profile
ProfileInstallUser=root
prefixes=/var/lib/kde-profiles/default/

@ -0,0 +1,10 @@
[Desktop Entry]
Encoding=UTF-8
Type=MimeType
MimeType=application/vnd.openxmlformats-officedocument.presentationml.presentation
Patterns=*.pptx;*.PPTX
Icon=presentation
Comment=Open XML Presentation Document
[Property::X-KDE-NativeExtension]
Type=QString
Value=.pptx

@ -0,0 +1,10 @@
[Desktop Entry]
Encoding=UTF-8
Type=MimeType
MimeType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Patterns=*.xlsx;*.XLSX
Icon=spreadsheet
Comment=Open XML Spreadsheet Document
[Property::X-KDE-NativeExtension]
Type=QString
Value=.xlsx

@ -0,0 +1,10 @@
[Desktop Entry]
Encoding=UTF-8
Type=MimeType
MimeType=application/vnd.openxmlformats-officedocument.wordprocessingml.document
Patterns=*.docx;*.DOCX
Icon=wordprocessing
Comment=Open XML Word Processing Document
[Property::X-KDE-NativeExtension]
Type=QString
Value=.docx

@ -0,0 +1,10 @@
Index: mimetypes/application/x-jar.desktop
===================================================================
--- mimetypes/application/x-jar.desktop.orig
+++ mimetypes/application/x-jar.desktop
@@ -87,4 +87,4 @@ Comment[zh_CN]=Java 归档
Comment[zh_HK]=Java 壓縮檔
Comment[zh_TW]=Java 壓縮檔案
Comment[zu]=Umqulu we-Java
-X-KDE-AutoEmbed=true
+X-KDE-AutoEmbed=false

@ -1,14 +1,14 @@
Index: kdecore/klocale.cpp
Index: tdecore/klocale.cpp
===================================================================
--- kdecore/klocale.cpp.orig
+++ kdecore/klocale.cpp
@@ -131,6 +131,9 @@ void KLocale::initMainCatalogues(const Q
d->catalogNames.append( mainCatalogue ); // application catalog
d->catalogNames.append( SYSTEM_MESSAGES ); // always include kdelibs.mo
d->catalogNames.append( "kio" ); // always include kio.mo
+ KGlobal::dirs()->addResourceDir("locale", "/usr/share/locale");
+ d->catalogNames.append( "desktop_translations" );
+ d->catalogNames.append( "susetranslations" );
--- tdecore/klocale.cpp.orig
+++ tdecore/klocale.cpp
@@ -139,6 +139,9 @@ void KLocale::initMainCatalogues(const Q
d->catalogNames.append( SYSTEM_MESSAGES ); // always include tdelibs.mo
d->catalogNames.append( "kio" ); // always include kio.mo
d->catalogNames.append( "xdg-user-dirs" );
+ KGlobal::dirs()->addResourceDir("locale", "/usr/share/locale");
+ d->catalogNames.append( "desktop_translations" );
+ d->catalogNames.append( "susetranslations" );
}
updateCatalogues(); // evaluate this for all languages
}
}

@ -4,8 +4,8 @@ Index: kded/kbuildsycoca.cpp
+++ kded/kbuildsycoca.cpp
@@ -378,8 +378,12 @@ bool KBuildSycoca::build()
connect(g_vfolder, SIGNAL(newService(const QString &, KService **)),
this, SLOT(slotCreateEntry(const QString &, KService **)));
connect(g_vfolder, TQT_SIGNAL(newService(const TQString &, KService **)),
this, TQT_SLOT(slotCreateEntry(const TQString &, KService **)));
-
- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true);
+

@ -11,7 +11,7 @@ should go upstream.
--- arts-1.5.10/admin/acinclude.m4.in 2008-08-20 18:07:05.000000000 +0200
+++ arts-1.5.10/admin/acinclude.m4.in 2009-12-09 17:30:57.000000000 +0100
@@ -3081,8 +3081,18 @@
@@ -3364,8 +3364,18 @@
fi
])
@ -30,7 +30,7 @@ should go upstream.
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]),
[
@@ -3141,11 +3151,6 @@
@@ -3424,11 +3434,6 @@
[kde_use_profiling="no"]
)
@ -40,9 +40,9 @@ should go upstream.
- AC_PROG_CC
-
AC_PROG_CPP
if test "$GCC" = "yes"; then
@@ -3174,10 +3179,6 @@
AC_C_BIGENDIAN
@@ -3459,10 +3464,6 @@
LDFLAGS=""
fi
@ -53,7 +53,7 @@ should go upstream.
KDE_CHECK_FOR_BAD_COMPILER
if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
@@ -3503,8 +3504,8 @@
@@ -3802,8 +3803,8 @@
AC_REQUIRE([AC_LIBTOOL_DLOPEN])
AC_REQUIRE([KDE_CHECK_LIB64])

@ -2,11 +2,11 @@ Index: kabc/vcardconverter.cpp
===================================================================
--- kabc/vcardconverter.cpp.orig
+++ kabc/vcardconverter.cpp
@@ -51,6 +51,14 @@ QString VCardConverter::createVCard( con
@@ -51,6 +51,14 @@ TQString VCardConverter::createVCard( co
return createVCards( list, version );
}
+QCString VCardConverter::createVCardRaw( const Addressee &addr, Version version )
+TQCString VCardConverter::createVCardRaw( const Addressee &addr, Version version )
+{
+ Addressee::List list;
+ list.append( addr );
@ -14,42 +14,42 @@ Index: kabc/vcardconverter.cpp
+ return createVCardsRaw( list, version );
+}
+
QString VCardConverter::createVCards( Addressee::List list, Version version )
TQString VCardConverter::createVCards( Addressee::List list, Version version )
{
VCardTool tool;
@@ -58,6 +66,13 @@ QString VCardConverter::createVCards( Ad
@@ -58,6 +66,13 @@ TQString VCardConverter::createVCards( A
return tool.createVCards( list, ( version == v3_0 ? VCard::v3_0 : VCard::v2_1 ) );
}
+QCString VCardConverter::createVCardsRaw( Addressee::List list, Version version )
+TQCString VCardConverter::createVCardsRaw( Addressee::List list, Version version )
+{
+ VCardTool tool;
+
+ return tool.createVCardsRaw( list, ( version == v3_0 ? VCard::v3_0 : VCard::v2_1 ) );
+}
+
Addressee VCardConverter::parseVCard( const QString& vcard )
Addressee VCardConverter::parseVCard( const TQString& vcard )
{
Addressee::List list = parseVCards( vcard );
@@ -65,6 +80,13 @@ Addressee VCardConverter::parseVCard( co
return list[ 0 ];
}
+Addressee VCardConverter::parseVCardRaw( const QCString& vcard )
+Addressee VCardConverter::parseVCardRaw( const TQCString& vcard )
+{
+ Addressee::List list = parseVCardsRaw( vcard );
+
+ return list[ 0 ];
+}
+
Addressee::List VCardConverter::parseVCards( const QString& vcard )
Addressee::List VCardConverter::parseVCards( const TQString& vcard )
{
VCardTool tool;
@@ -72,6 +94,13 @@ Addressee::List VCardConverter::parseVCa
return tool.parseVCards( vcard );
}
+Addressee::List VCardConverter::parseVCardsRaw( const QCString& vcard )
+Addressee::List VCardConverter::parseVCardsRaw( const TQCString& vcard )
+{
+ VCardTool tool;
+
@ -58,7 +58,7 @@ Index: kabc/vcardconverter.cpp
+
// ---------------------------- deprecated stuff ---------------------------- //
bool VCardConverter::vCardToAddressee( const QString &str, Addressee &addr, Version version )
bool VCardConverter::vCardToAddressee( const TQString &str, Addressee &addr, Version version )
Index: kabc/vcardconverter.h
===================================================================
--- kabc/vcardconverter.h.orig
@ -66,33 +66,33 @@ Index: kabc/vcardconverter.h
@@ -82,6 +82,7 @@ class KABC_EXPORT VCardConverter
@param version The version of the generated vCard format
*/
QString createVCard( const Addressee &addr, Version version = v3_0 );
+ QCString createVCardRaw( const Addressee &addr, Version version = v3_0 );
TQString createVCard( const Addressee &addr, Version version = v3_0 );
+ TQCString createVCardRaw( const Addressee &addr, Version version = v3_0 );
/**
Creates a string in vCard format which contains the given
@@ -92,6 +93,7 @@ class KABC_EXPORT VCardConverter
*/
// FIXME: Add error handling
QString createVCards( Addressee::List list, Version version = v3_0 );
+ QCString createVCardsRaw( Addressee::List list, Version version = v3_0 );
TQString createVCards( Addressee::List list, Version version = v3_0 );
+ TQCString createVCardsRaw( Addressee::List list, Version version = v3_0 );
// FIXME: Add "createVCards( AddressBook * )"
@@ -99,12 +101,14 @@ class KABC_EXPORT VCardConverter
Parses a string in vCard format and returns the first contact.
*/
Addressee parseVCard( const QString& vcard );
+ Addressee parseVCardRaw( const QCString& vcard );
Addressee parseVCard( const TQString& vcard );
+ Addressee parseVCardRaw( const TQCString& vcard );
/**
Parses a string in vCard format and returns a list of contact objects.
*/
// FIXME: Add error handling
Addressee::List parseVCards( const QString& vcard );
+ Addressee::List parseVCardsRaw( const QCString& vcard );
Addressee::List parseVCards( const TQString& vcard );
+ Addressee::List parseVCardsRaw( const TQCString& vcard );
// FIXME: Add "bool parseVCards( AddressBook *, const QString &vcard )"
// FIXME: Add "bool parseVCards( AddressBook *, const TQString &vcard )"
Index: kabc/vcardformatplugin.cpp
===================================================================
@ -100,15 +100,15 @@ Index: kabc/vcardformatplugin.cpp
+++ kabc/vcardformatplugin.cpp
@@ -38,14 +38,11 @@ VCardFormatPlugin::~VCardFormatPlugin()
bool VCardFormatPlugin::load( Addressee &addressee, QFile *file )
bool VCardFormatPlugin::load( Addressee &addressee, TQFile *file )
{
- QString data;
- TQString data;
-
- QTextStream t( file );
- t.setEncoding( QTextStream::Latin1 );
- TQTextStream t( file );
- t.setEncoding( TQTextStream::Latin1 );
- data = t.read();
+ const QByteArray rawData = file->readAll();
+ const QCString data( rawData.data(), rawData.size() );
+ const TQByteArray rawData = file->readAll();
+ const TQCString data( rawData.data(), rawData.size() );
VCardConverter converter;
- Addressee::List l = converter.parseVCards( data );
@ -118,15 +118,15 @@ Index: kabc/vcardformatplugin.cpp
addressee = l.first();
@@ -57,15 +54,11 @@ bool VCardFormatPlugin::load( Addressee
bool VCardFormatPlugin::loadAll( AddressBook*, Resource *resource, QFile *file )
bool VCardFormatPlugin::loadAll( AddressBook*, Resource *resource, TQFile *file )
{
- QString data;
- TQString data;
-
- QTextStream t( file );
- t.setEncoding( QTextStream::Latin1 );
- TQTextStream t( file );
- t.setEncoding( TQTextStream::Latin1 );
- data = t.read();
+ const QByteArray rawData = file->readAll();
+ const QCString data( rawData.data(), rawData.size() );
+ const TQByteArray rawData = file->readAll();
+ const TQCString data( rawData.data(), rawData.size() );
VCardConverter converter;
-
@ -139,26 +139,26 @@ Index: kabc/vcardformatplugin.cpp
vcardlist.append( addressee );
- QTextStream t( file );
- t.setEncoding( QTextStream::UnicodeUTF8 );
- TQTextStream t( file );
- t.setEncoding( TQTextStream::UnicodeUTF8 );
- t << converter.createVCards( vcardlist );
+ const QCString data = converter.createVCardsRaw( vcardlist );
+ const TQCString data = converter.createVCardsRaw( vcardlist );
+ file->writeBlock( data, data.length() );
}
void VCardFormatPlugin::saveAll( AddressBook*, Resource *resource, QFile *file )
void VCardFormatPlugin::saveAll( AddressBook*, Resource *resource, TQFile *file )
@@ -102,9 +94,8 @@ void VCardFormatPlugin::saveAll( Address
vcardlist.append( *it );
}
- QTextStream t( file );
- t.setEncoding( QTextStream::UnicodeUTF8 );
- TQTextStream t( file );
- t.setEncoding( TQTextStream::UnicodeUTF8 );
- t << converter.createVCards( vcardlist );
+ const QCString data = converter.createVCardsRaw( vcardlist );
+ const TQCString data = converter.createVCardsRaw( vcardlist );
+ file->writeBlock( data, data.length() );
}
bool VCardFormatPlugin::checkFormat( QFile *file ) const
bool VCardFormatPlugin::checkFormat( TQFile *file ) const
Index: kabc/vcardparser/vcardparser.cpp
===================================================================
--- kabc/vcardparser/vcardparser.cpp.orig
@ -167,10 +167,10 @@ Index: kabc/vcardparser/vcardparser.cpp
Boston, MA 02110-1301, USA.
*/
+#include <qcstring.h>
#include <qregexp.h>
#include <qtextcodec.h>
+#include <qvaluelist.h>
+#include <tqcstring.h>
#include <tqregexp.h>
#include <tqtextcodec.h>
+#include <tqvaluelist.h>
#include <kmdcodec.h>
+#include <kdebug.h>
@ -181,20 +181,20 @@ Index: kabc/vcardparser/vcardparser.cpp
using namespace KABC;
-static QString backslash( "\\\\" );
-static QString comma( "\\," );
-static QString newline( "\\n" );
-static QString cr( "\\r" );
+typedef QValueList<QCString> QCStringList;
-static TQString backslash( "\\\\" );
-static TQString comma( "\\," );
-static TQString newline( "\\n" );
-static TQString cr( "\\r" );
+typedef TQValueList<TQCString> TQCStringList;
-static void addEscapes( QString &str )
+QValueList<QCString> splitCString( const QCString &str, char sep )
-static void addEscapes( TQString &str )
+QValueList<TQCString> splitCString( const TQCString &str, char sep )
{
- str.replace( '\\', backslash );
- str.replace( ',', comma );
- str.replace( '\r', cr );
- str.replace( '\n', newline );
+ QValueList<QCString> list;
+ TQValueList<TQCString> list;
+ int start = 0;
+ int end;
+ while ((end = str.find(sep, start)) != -1) {
@ -206,9 +206,9 @@ Index: kabc/vcardparser/vcardparser.cpp
+ return list;
+}
+
+QValueList<QCString> splitCString( const QCString &str, const QRegExp &exp )
+TQValueList<TQCString> splitCString( const TQCString &str, const TQRegExp &exp )
+{
+ QValueList<QCString> list;
+ TQValueList<TQCString> list;
+ int start = 0;
+ int end;
+ while ((end = str.find(exp, start)) != -1) {
@ -220,18 +220,18 @@ Index: kabc/vcardparser/vcardparser.cpp
+ return list;
+}
+
+bool cStringStartsWith( const QCString &str, const QCString &pattern )
+bool cStringStartsWith( const TQCString &str, const TQCString &pattern )
+{
+ const int length = pattern.length();
+ if ( length == 0 )
+ return true;
+
+ const QCString part = str.left( length );
+ const TQCString part = str.left( length );
+ return (pattern == part);
}
-static void removeEscapes( QString &str )
+static void addEscapes( QCString &str )
-static void removeEscapes( TQString &str )
+static void addEscapes( TQCString &str )
{
- str.replace( cr, "\\r" );
- str.replace( newline, "\n" );
@ -243,7 +243,7 @@ Index: kabc/vcardparser/vcardparser.cpp
+ str.replace( '\n', "\\n" );
+}
+
+static void removeEscapes( QCString &str )
+static void removeEscapes( TQCString &str )
+{
+ str.replace( "\\r", "\r" );
+ str.replace( "\\n", "\n" );
@ -254,35 +254,35 @@ Index: kabc/vcardparser/vcardparser.cpp
VCardParser::VCardParser()
@@ -60,24 +98,29 @@ VCardParser::~VCardParser()
VCard::List VCardParser::parseVCards( const QString& text )
VCard::List VCardParser::parseVCards( const TQString& text )
{
+ return parseVCardsRaw( text.utf8() );
+}
+
+VCard::List VCardParser::parseVCardsRaw( const QCString& text )
+VCard::List VCardParser::parseVCardsRaw( const TQCString& text )
+{
static QRegExp sep( "[\x0d\x0a]" );
static TQRegExp sep( "[\x0d\x0a]" );
VCard currentVCard;
VCard::List vCardList;
- QString currentLine;
+ QCString currentLine;
- TQString currentLine;
+ TQCString currentLine;
- const QStringList lines = QStringList::split( sep, text );
- QStringList::ConstIterator it;
+ const QCStringList lines = splitCString( text, sep );
+ QCStringList::ConstIterator it;
- const TQStringList lines = TQStringList::split( sep, text );
- TQStringList::ConstIterator it;
+ const TQCStringList lines = splitCString( text, sep );
+ TQCStringList::ConstIterator it;
bool inVCard = false;
- QStringList::ConstIterator linesEnd( lines.end() );
+ QCStringList::ConstIterator linesEnd( lines.end() );
- TQStringList::ConstIterator linesEnd( lines.end() );
+ TQCStringList::ConstIterator linesEnd( lines.end() );
for ( it = lines.begin(); it != linesEnd; ++it ) {
if ( (*it).isEmpty() ) // empty line
continue;
if ( (*it)[ 0 ] == ' ' || (*it)[ 0 ] == '\t' ) { // folded line => append to previous
- currentLine += QString( *it ).remove( 0, 1 );
- currentLine += TQString( *it ).remove( 0, 1 );
+ currentLine.append( (*it).mid( 1 ) );
continue;
} else {
@ -291,32 +291,32 @@ Index: kabc/vcardparser/vcardparser.cpp
}
VCardLine vCardLine;
- const QString key = currentLine.left( colon ).stripWhiteSpace();
- QString value = currentLine.mid( colon + 1 );
+ const QCString key = currentLine.left( colon ).stripWhiteSpace();
+ QCString value = currentLine.mid( colon + 1 );
- const TQString key = currentLine.left( colon ).stripWhiteSpace();
- TQString value = currentLine.mid( colon + 1 );
+ const TQCString key = currentLine.left( colon ).stripWhiteSpace();
+ TQCString value = currentLine.mid( colon + 1 );
- QStringList params = QStringList::split( ';', key );
+ QCStringList params = splitCString( key, ';' );
- TQStringList params = TQStringList::split( ';', key );
+ TQCStringList params = splitCString( key, ';' );
// check for group
if ( params[0].find( '.' ) != -1 ) {
- const QStringList groupList = QStringList::split( '.', params[0] );
- const TQStringList groupList = TQStringList::split( '.', params[0] );
- vCardLine.setGroup( groupList[0] );
- vCardLine.setIdentifier( groupList[1] );
+ const QCStringList groupList = splitCString( params[0], '.' );
+ vCardLine.setGroup( QString::fromLatin1( groupList[0] ) );
+ vCardLine.setIdentifier( QString::fromLatin1( groupList[1] ) );
+ const TQCStringList groupList = splitCString( params[0], '.' );
+ vCardLine.setGroup( TQString::tqfromLatin1( groupList[0] ) );
+ vCardLine.setIdentifier( TQString::tqfromLatin1( groupList[1] ) );
} else
- vCardLine.setIdentifier( params[0] );
+ vCardLine.setIdentifier( QString::fromLatin1( params[0] ) );
+ vCardLine.setIdentifier( TQString::tqfromLatin1( params[0] ) );
if ( params.count() > 1 ) { // find all parameters
- QStringList::ConstIterator paramIt = params.begin();
+ QCStringList::ConstIterator paramIt = params.begin();
- TQStringList::ConstIterator paramIt = params.begin();
+ TQCStringList::ConstIterator paramIt = params.begin();
for ( ++paramIt; paramIt != params.end(); ++paramIt ) {
- QStringList pair = QStringList::split( '=', *paramIt );
+ QCStringList pair = splitCString( *paramIt, '=' );
- TQStringList pair = TQStringList::split( '=', *paramIt );
+ TQCStringList pair = splitCString( *paramIt, '=' );
if ( pair.size() == 1 ) {
// correct the fucking 2.1 'standard'
if ( pair[0].lower() == "quoted-printable" ) {
@ -324,29 +324,29 @@ Index: kabc/vcardparser/vcardparser.cpp
}
// This is pretty much a faster pair[1].contains( ',' )...
if ( pair[1].find( ',' ) != -1 ) { // parameter in type=x,y,z format
- const QStringList args = QStringList::split( ',', pair[ 1 ] );
- QStringList::ConstIterator argIt;
+ const QCStringList args = splitCString( pair[ 1 ], ',' );
+ QCStringList::ConstIterator argIt;
- const TQStringList args = TQStringList::split( ',', pair[ 1 ] );
- TQStringList::ConstIterator argIt;
+ const TQCStringList args = splitCString( pair[ 1 ], ',' );
+ TQCStringList::ConstIterator argIt;
for ( argIt = args.begin(); argIt != args.end(); ++argIt )
- vCardLine.addParameter( pair[0].lower(), *argIt );
+ vCardLine.addParameter( QString::fromLatin1( pair[0].lower() ), QString::fromLatin1( *argIt ) );
+ vCardLine.addParameter( TQString::tqfromLatin1( pair[0].lower() ), TQString::tqfromLatin1( *argIt ) );
} else
- vCardLine.addParameter( pair[0].lower(), pair[1] );
+ vCardLine.addParameter( QString::fromLatin1( pair[0].lower() ), QString::fromLatin1( pair[1] ) );
+ vCardLine.addParameter( TQString::tqfromLatin1( pair[0].lower() ), TQString::tqfromLatin1( pair[1] ) );
}
}
@@ -133,10 +176,8 @@ VCard::List VCardParser::parseVCards( co
QByteArray output;
TQByteArray output;
bool wasBase64Encoded = false;
- params = vCardLine.parameterList();
- if ( params.findIndex( "encoding" ) != -1 ) { // have to decode the data
- QByteArray input;
- input = QCString(value.latin1());
- TQByteArray input;
- input = TQCString(value.latin1());
+ if ( vCardLine.parameterList().findIndex( "encoding" ) != -1 ) { // have to decode the data
+ QByteArray input = value;
+ TQByteArray input = value;
if ( vCardLine.parameter( "encoding" ).lower() == "b" ||
vCardLine.parameter( "encoding" ).lower() == "base64" ) {
KCodecs::base64Decode( input, output );
@ -354,59 +354,59 @@ Index: kabc/vcardparser/vcardparser.cpp
value = value.remove( value.length() - 1, 1 ) + (*it);
++it;
}
- input = QCString(value.latin1());
- input = TQCString(value.latin1());
+ input = value;
KCodecs::quotedPrintableDecode( input, output );
}
} else {
- output = QCString(value.latin1());
- output = TQCString(value.latin1());
+ output = value;
}
- if ( params.findIndex( "charset" ) != -1 ) { // have to convert the data
+ if ( vCardLine.parameterList().findIndex( "charset" ) != -1 ) { // have to convert the data
QTextCodec *codec =
QTextCodec::codecForName( vCardLine.parameter( "charset" ).latin1() );
TQTextCodec *codec =
TQTextCodec::codecForName( vCardLine.parameter( "charset" ).latin1() );
if ( codec ) {
@@ -173,17 +214,17 @@ VCard::List VCardParser::parseVCards( co
}
// we do not save the start and end tag as vcardline
- if ( (*it).lower().startsWith( "begin:vcard" ) ) {
+ if ( cStringStartsWith( (*it).lower(), QCString( "begin:vcard" ) ) ) {
+ if ( cStringStartsWith( (*it).lower(), TQCString( "begin:vcard" ) ) ) {
inVCard = true;
- currentLine.setLength( 0 );
+ currentLine = QCString();
+ currentLine = TQCString();
currentVCard.clear(); // flush vcard
continue;
}
- if ( (*it).lower().startsWith( "end:vcard" ) ) {
+ if ( cStringStartsWith( (*it).lower(), QCString( "end:vcard" ) ) ) {
+ if ( cStringStartsWith( (*it).lower(), TQCString( "end:vcard" ) ) ) {
inVCard = false;
vCardList.append( currentVCard );
- currentLine.setLength( 0 );
+ currentLine = QCString();
+ currentLine = TQCString();
currentVCard.clear(); // flush vcard
continue;
}
@@ -197,8 +238,13 @@ VCard::List VCardParser::parseVCards( co
QString VCardParser::createVCards( const VCard::List& list )
TQString VCardParser::createVCards( const VCard::List& list )
{
- QString text;
- QString textLine;
+ return QString::fromUtf8( createVCardsRaw( list ) );
- TQString text;
- TQString textLine;
+ return TQString::fromUtf8( createVCardsRaw( list ) );
+}
+
+QCString VCardParser::createVCardsRaw( const VCard::List& list )
+TQCString VCardParser::createVCardsRaw( const VCard::List& list )
+{
+ QCString text;
+ QCString textLine;
QString encodingType;
QStringList idents;
QStringList params;
@@ -213,7 +259,7 @@ QString VCardParser::createVCards( const
+ TQCString text;
+ TQCString textLine;
TQString encodingType;
TQStringList idents;
TQStringList params;
@@ -213,7 +259,7 @@ TQString VCardParser::createVCards( cons
bool hasEncoding;
@ -415,54 +415,54 @@ Index: kabc/vcardparser/vcardparser.cpp
// iterate over the cards
VCard::List::ConstIterator listEnd( list.end() );
@@ -228,9 +274,9 @@ QString VCardParser::createVCards( const
for ( lineIt = lines.constBegin(); lineIt != lines.constEnd(); ++lineIt ) {
@@ -229,9 +275,9 @@ TQString VCardParser::createVCards( cons
if ( !(*lineIt).value().asString().isEmpty() ) {
if ( (*lineIt).hasGroup() )
- textLine = (*lineIt).group() + "." + (*lineIt).identifier();
+ textLine = (*lineIt).group().latin1() + QCString( "." ) + (*lineIt).identifier().latin1();
else
- textLine = (*lineIt).identifier();
+ textLine = (*lineIt).identifier().latin1();
params = (*lineIt).parameterList();
hasEncoding = false;
@@ -243,9 +289,9 @@ QString VCardParser::createVCards( const
values = (*lineIt).parameters( *paramIt );
for ( valueIt = values.constBegin(); valueIt != values.constEnd(); ++valueIt ) {
- textLine.append( ";" + (*paramIt).upper() );
+ textLine.append( QCString( ";" ) + (*paramIt).upper().latin1() );
if ( !(*valueIt).isEmpty() )
- textLine.append( "=" + (*valueIt) );
+ textLine.append( QCString( "=" ) + (*valueIt).latin1() );
if ((*lineIt).identifier() != TQString("URI")) {
if ( (*lineIt).hasGroup() )
- textLine = (*lineIt).group() + "." + (*lineIt).identifier();
+ textLine = (*lineIt).group().latin1() + TQCString( "." ) + (*lineIt).identifier().latin1();
else
- textLine = (*lineIt).identifier();
+ textLine = (*lineIt).identifier().latin1();
params = (*lineIt).parameterList();
hasEncoding = false;
@@ -244,9 +290,9 @@ TQString VCardParser::createVCards( cons
values = (*lineIt).parameters( *paramIt );
for ( valueIt = values.constBegin(); valueIt != values.constEnd(); ++valueIt ) {
- textLine.append( ";" + (*paramIt).upper() );
+ textLine.append( TQCString( ";" ) + (*paramIt).upper().latin1() );
if ( !(*valueIt).isEmpty() )
- textLine.append( "=" + (*valueIt) );
+ textLine.append( TQCString( "=" ) + (*valueIt).latin1() );
}
}
}
}
@@ -261,11 +307,11 @@ QString VCardParser::createVCards( const
KCodecs::quotedPrintableEncode( input, output, false );
}
@@ -262,11 +308,11 @@ TQString VCardParser::createVCards( cons
KCodecs::quotedPrintableEncode( input, output, false );
}
- QString value( output );
+ QCString value( output );
addEscapes( value );
textLine.append( ":" + value );
} else {
- QString value( (*lineIt).value().asString() );
+ QCString value( (*lineIt).value().toString().utf8() );
addEscapes( value );
textLine.append( ":" + value );
}
- TQString value( output );
+ TQCString value( output );
addEscapes( value );
textLine.append( ":" + value );
} else {
- TQString value( (*lineIt).value().asString() );
+ TQCString value( (*lineIt).value().toString().utf8() );
addEscapes( value );
textLine.append( ":" + value );
}
Index: kabc/vcardparser/vcardparser.h
===================================================================
--- kabc/vcardparser/vcardparser.h.orig
+++ kabc/vcardparser/vcardparser.h
@@ -34,6 +34,9 @@ class VCardParser
static VCard::List parseVCards( const QString& text );
static QString createVCards( const VCard::List& list );
static VCard::List parseVCards( const TQString& text );
static TQString createVCards( const VCard::List& list );
+ static VCard::List parseVCardsRaw( const QCString& text );
+ static QCString createVCardsRaw( const VCard::List& list );
+ static VCard::List parseVCardsRaw( const TQCString& text );
+ static TQCString createVCardsRaw( const VCard::List& list );
+
private:
class VCardParserPrivate;
@ -476,14 +476,14 @@ Index: kabc/vcardtool.cpp
}
-// TODO: make list a const&
+QCString VCardTool::createVCardsRaw( Addressee::List list, VCard::Version version )
+TQCString VCardTool::createVCardsRaw( Addressee::List list, VCard::Version version )
+{
+ const VCard::List vCardList = createVCardsInternal( list, version );
+
+ return VCardParser::createVCardsRaw( vCardList );
+}
+
QString VCardTool::createVCards( Addressee::List list, VCard::Version version )
TQString VCardTool::createVCards( Addressee::List list, VCard::Version version )
{
- VCard::List vCardList;
+ const VCard::List vCardList = createVCardsInternal( list, version );
@ -500,10 +500,10 @@ Index: kabc/vcardtool.cpp
for ( addrIt = list.constBegin(); addrIt != listEnd; ++addrIt ) {
- VCard card;
+ KABC::VCard card;
QStringList::ConstIterator strIt;
TQStringList::ConstIterator strIt;
// ADR + LABEL
@@ -348,17 +361,30 @@ QString VCardTool::createVCards( Address
@@ -351,17 +364,30 @@ QString VCardTool::createVCards( Address
vCardList.append( card );
}
@ -511,14 +511,14 @@ Index: kabc/vcardtool.cpp
+ return vCardList;
+}
+
+Addressee::List VCardTool::parseVCardsRaw( const QCString& vcard )
+Addressee::List VCardTool::parseVCardsRaw( const TQCString& vcard )
+{
+ const VCard::List vCardList = VCardParser::parseVCardsRaw( vcard );
+
+ return parseVCardsInternal( vCardList );
}
Addressee::List VCardTool::parseVCards( const QString& vcard )
Addressee::List VCardTool::parseVCards( const TQString& vcard )
{
+ const VCard::List vCardList = VCardParser::parseVCards( vcard );
+
@ -527,9 +527,9 @@ Index: kabc/vcardtool.cpp
+
+Addressee::List VCardTool::parseVCardsInternal( const VCard::List &vCardList )
+{
static const QChar semicolonSep( ';' );
static const QChar commaSep( ',' );
QString identifier;
static const TQChar semicolonSep( ';' );
static const TQChar commaSep( ',' );
TQString identifier;
Addressee::List addrList;
- const VCard::List vCardList = VCardParser::parseVCards( vcard );
@ -542,16 +542,16 @@ Index: kabc/vcardtool.h
+++ kabc/vcardtool.h
@@ -46,12 +46,19 @@ class KABC_EXPORT VCardTool
*/
QString createVCards( Addressee::List list, VCard::Version version = VCard::v3_0 );
TQString createVCards( Addressee::List list, VCard::Version version = VCard::v3_0 );
+ QCString createVCardsRaw( Addressee::List list, VCard::Version version = VCard::v3_0 );
+ TQCString createVCardsRaw( Addressee::List list, VCard::Version version = VCard::v3_0 );
+
/**
Parses the string and returns a list of addressee objects.
*/
Addressee::List parseVCards( const QString& vcard );
Addressee::List parseVCards( const TQString& vcard );
+ Addressee::List parseVCardsRaw( const QCString& vcard );
+ Addressee::List parseVCardsRaw( const TQCString& vcard );
+
private:
+ VCard::List createVCardsInternal( Addressee::List list, VCard::Version version );

@ -6,8 +6,8 @@ Index: kio/kio/kprotocolmanager.cpp
// DEFAULT USERAGENT STRING
#define CFG_DEFAULT_UAGENT(X) \
-QString("Mozilla/5.0 (compatible; Konqueror/%1.%2%3) KHTML/%4.%5.%6 (like Gecko)") \
+QString("Mozilla/5.0 (compatible; Konqueror/%1.%2%3) KHTML/%4.%5.%6 (like Gecko) SUSE") \
.arg(KDE_VERSION_MAJOR).arg(KDE_VERSION_MINOR).arg(X).arg(KDE_VERSION_MAJOR).arg(KDE_VERSION_MINOR).arg(KDE_VERSION_RELEASE)
-TQString("Mozilla/5.0 (compatible; Konqueror/%1.%2%3) KHTML/%4.%5.%6 (like Gecko)") \
+TQString("Mozilla/5.0 (compatible; Konqueror/%1.%2%3) KHTML/%4.%5.%6 (like Gecko) TDE SUSE") \
.arg(TDE_VERSION_MAJOR).arg(TDE_VERSION_MINOR).arg(X).arg(TDE_VERSION_MAJOR).arg(TDE_VERSION_MINOR).arg(TDE_VERSION_RELEASE)
void KProtocolManager::reparseConfiguration()

@ -1,7 +1,7 @@
Index: kdecore/network/kresolver.cpp
Index: tdecore/network/kresolver.cpp
===================================================================
--- kdecore/network/kresolver.cpp.orig
+++ kdecore/network/kresolver.cpp
--- tdecore/network/kresolver.cpp.orig
+++ tdecore/network/kresolver.cpp
@@ -50,6 +50,7 @@
// IDN
@ -11,7 +11,7 @@ Index: kdecore/network/kresolver.cpp
#endif
@@ -1084,6 +1085,10 @@ static QStringList splitLabels(const QSt
static QCString ToASCII(const QString& label)
static TQCString ToASCII(const TQString& label)
{
#ifdef HAVE_IDNA_H
+ // We do disable it by default for security reasons for now.
@ -22,13 +22,13 @@ Index: kdecore/network/kresolver.cpp
// function :)
@@ -1118,6 +1123,10 @@ static QCString ToASCII(const QString& l
static QString ToUnicode(const QString& label)
static TQString ToUnicode(const TQString& label)
{
#ifdef HAVE_IDNA_H
+ // We do disable it by default for security reasons for now.
+ if ( getenv("KDE_NO_IPV6") && strcmp( getenv("KDE_NO_IPV6"), "no" ) )
+ return label;
+
// We have idna.h, so we can use the idna_to_unicode
// We have idna.h, so we can use the idna_to_tqunicode
// function :)

@ -2,15 +2,15 @@ Index: dcop/dcopidlng/dcopidlng
===================================================================
--- dcop/dcopidlng/dcopidlng.orig
+++ dcop/dcopidlng/dcopidlng
@@ -5,7 +5,11 @@ trap "rm -f dcopidlng.stderr.$$" 0 1 2 1
@@ -6,7 +6,11 @@ trap "rm -f dcopidlng.stderr.$$" 0 1 2 1
if test -z "$KDECONFIG"; then
KDECONFIG=kde-config
KDECONFIG=tde-config
fi
+if type kde-config > /dev/null; then
+if type tde-config > /dev/null; then
LIBDIR="`$KDECONFIG --install data --expandvars`/dcopidlng"
+else
+LIBDIR="${0%/*}"
+fi
perl -I"$LIBDIR" "$LIBDIR/kalyptus" --allow_k_dcop_accessors -f dcopidl $1 2> dcopidlng.stderr.$$
perl -I"$LIBDIR" "$LIBDIR/kalyptus" --allow_k_dcop_accessors -f dcopidl $1 2> $tmpfile
RET=$?
if [ $RET -ne 0 ]

@ -2,14 +2,14 @@ Index: kdoctools/kio_help.cpp
===================================================================
--- kdoctools/kio_help.cpp.orig
+++ kdoctools/kio_help.cpp
@@ -44,7 +44,27 @@ QString HelpProtocol::langLookup(const Q
@@ -44,7 +44,27 @@ TQString HelpProtocol::langLookup(const
// assemble the local search paths
const QStringList localDoc = KGlobal::dirs()->resourceDirs("html");
const TQStringList localDoc = KGlobal::dirs()->resourceDirs("html") + KGlobal::dirs()->resourceDirs("html-bundle");
+ kdDebug( 7119 ) << "Looking up help for: " << fname << endl;
+ QString _fname = fname;
+ TQString _fname = fname;
+
+ QString path;
+ TQString path;
+ int slash = _fname.findRev ('/');
+ if (slash == -1 || slash == 0) {
+ path = _fname;
@ -19,34 +19,34 @@ Index: kdoctools/kio_help.cpp
+ _fname = _fname.right (_fname.length() - slash);
+ }
+
QStringList langs = KGlobal::locale()->languageList();
+ QStringList::ConstIterator lang;
TQStringList langs = KGlobal::locale()->languageList();
+ TQStringList::ConstIterator lang;
+ for (lang = langs.begin(); lang != langs.end(); ++lang)
+ if ((*lang).left(2) == "en")
+ search.append(QString("/usr/share/gnome/help/%1/C%2").arg(path).arg(_fname));
+ search.append(TQString("/usr/share/gnome/help/%1/C%2").arg(path).arg(_fname));
+ else
+ search.append(QString("/usr/share/gnome/help/%1/%2%3").arg(path).arg(*lang).arg(_fname));
+ search.append(TQString("/usr/share/gnome/help/%1/%2%3").arg(path).arg(*lang).arg(_fname));
+
langs.append( "en" );
langs.remove( "C" );
@@ -60,7 +80,7 @@ QString HelpProtocol::langLookup(const Q
@@ -60,7 +80,7 @@ TQString HelpProtocol::langLookup(const
{
QStringList::ConstIterator lang;
TQStringList::ConstIterator lang;
for (lang = langs.begin(); lang != langs.end(); ++lang)
- search.append(QString("%1%2/%3").arg(localDoc[id], *lang, fname));
+ search.append(QString("%1%2/%3").arg(localDoc[id], *lang, path + _fname));
- search.append(TQString("%1%2/%3").arg(localDoc[id], *lang, fname));
+ search.append(TQString("%1%2/%3").arg(localDoc[id], *lang, path + _fname));
}
// try to locate the file
@@ -81,6 +101,15 @@ QString HelpProtocol::langLookup(const Q
@@ -81,6 +101,15 @@ TQString HelpProtocol::langLookup(const
if (info.exists() && info.isFile() && info.isReadable())
return *it;
}
+
+ if ( ( *it ).right( 5 ) == ".html" )
+ {
+ QString file = (*it).left((*it).findRev('/')) + "/" + path + ".xml";
+ TQString file = (*it).left((*it).findRev('/')) + "/" + path + ".xml";
+ kdDebug( 7119 ) << "Looking for help in: " << file << endl;
+ info.setFile(file);
+ if (info.exists() && info.isFile() && info.isReadable())
@ -55,7 +55,7 @@ Index: kdoctools/kio_help.cpp
}
@@ -100,7 +129,7 @@ QString HelpProtocol::lookupFile(const Q
@@ -100,7 +129,7 @@ TQString HelpProtocol::lookupFile(const
result = langLookup(path);
if (result.isEmpty())
{
@ -67,16 +67,16 @@ Index: kdoctools/kio_help.cpp
@@ -190,12 +219,26 @@ void HelpProtocol::get( const KURL& url
}
} else {
QString docbook_file = file.left(file.findRev('/')) + "/index.docbook";
TQString docbook_file = file.left(file.findRev('/')) + "/index.docbook";
+ int last_slash = file.findRev('/');
+ if (last_slash != -1 && last_slash != 0) {
+ int slash2 = file.findRev('/', last_slash -1);
+ if (slash2 != -1 && slash2 != 0) {
+ int slash3 = file.findRev('/', slash2 - 1);
+ if (slash3 != -1) {
+ QString xml_file = file.left(file.findRev('/')) + "/" + file.mid(slash3 + 1, slash2 - (slash3 + 1)) + ".xml";
+ TQString xml_file = file.left(file.findRev('/')) + "/" + file.mid(slash3 + 1, slash2 - (slash3 + 1)) + ".xml";
+ kdDebug( 7119 ) << "xml_file " << xml_file << endl;
+ QFileInfo fi(xml_file);
+ TQFileInfo fi(xml_file);
+ if (fi.exists())
+ docbook_file = xml_file;
+ }
@ -85,7 +85,7 @@ Index: kdoctools/kio_help.cpp
if (!KStandardDirs::exists(file)) {
file = docbook_file;
} else {
QFileInfo fi(file);
TQFileInfo fi(file);
if (fi.isDir()) {
- file = file + "/index.docbook";
+ file = docbook_file;
@ -96,8 +96,8 @@ Index: kdoctools/kio_help.cpp
mParsed = transform(file, locate("dtd", "customization/kde-chunk.xsl"));
if ( !mParsed.isEmpty() ) {
infoMessage( i18n( "Saving to cache" ) );
- QString cache = file.left( file.length() - 7 );
+ QString cache;
- TQString cache = file.left( file.length() - 7 );
+ TQString cache;
+ if (file.endsWith(".xml"))
+ cache = file.left( file.length() - strlen ("xml") );
+ else
@ -109,22 +109,22 @@ Index: kdoctools/xslt.cpp
===================================================================
--- kdoctools/xslt.cpp.orig
+++ kdoctools/xslt.cpp
@@ -278,10 +278,16 @@ static bool readCache( const QString &fi
QString lookForCache( const QString &filename )
@@ -278,10 +278,16 @@ static bool readCache( const TQString &f
TQString lookForCache( const TQString &filename )
{
kdDebug() << "lookForCache " << filename << endl;
- assert( filename.endsWith( ".docbook" ) );
+ assert( filename.endsWith( ".docbook" ) || filename.endsWith( ".xml" ) );
assert( filename.at( 0 ) == '/' );
- QString cache = filename.left( filename.length() - 7 );
+ QString cache;
- TQString cache = filename.left( filename.length() - 7 );
+ TQString cache;
+
+ if (filename.endsWith( ".xml" ))
+ cache = filename.left( filename.length() - strlen ("xml") );
+ else
+ cache = filename.left( filename.length() - strlen ("docbook") );
+
QString output;
TQString output;
if ( readCache( filename, cache + "cache.bz2", output) )
return output;

@ -2,12 +2,12 @@
+++ kdoctools/kio_help.cpp
@@ -44,7 +44,27 @@
// assemble the local search paths
const QStringList localDoc = KGlobal::dirs()->resourceDirs("html");
const TQStringList localDoc = KGlobal::dirs()->resourceDirs("html") + KGlobal::dirs()->resourceDirs("html-bundle");
+ kdDebug( 7119 ) << "Looking up help for: " << fname << endl;
+ QString _fname = fname;
+ TQString _fname = fname;
+
+ QString path;
+ TQString path;
+ int slash = _fname.findRev ('/');
+ if (slash == -1 || slash == 0) {
+ path = _fname;
@ -17,23 +17,23 @@
+ _fname = _fname.right (_fname.length() - slash);
+ }
+
QStringList langs = KGlobal::locale()->languageList();
+ QStringList::ConstIterator lang;
TQStringList langs = KGlobal::locale()->languageList();
+ TQStringList::ConstIterator lang;
+ for (lang = langs.begin(); lang != langs.end(); ++lang)
+ if ((*lang).left(2) == "en")
+ search.append(QString("/opt/gnome/share/gnome/help/%1/C%2").arg(path).arg(_fname));
+ search.append(TQString("/opt/gnome/share/gnome/help/%1/C%2").arg(path).arg(_fname));
+ else
+ search.append(QString("/opt/gnome/share/gnome/help/%1/%2%3").arg(path).arg(*lang).arg(_fname));
+ search.append(TQString("/opt/gnome/share/gnome/help/%1/%2%3").arg(path).arg(*lang).arg(_fname));
+
langs.append( "en" );
langs.remove( "C" );
@@ -60,7 +80,7 @@
{
QStringList::ConstIterator lang;
TQStringList::ConstIterator lang;
for (lang = langs.begin(); lang != langs.end(); ++lang)
- search.append(QString("%1%2/%3").arg(localDoc[id], *lang, fname));
+ search.append(QString("%1%2/%3").arg(localDoc[id], *lang, path + _fname));
- search.append(TQString("%1%2/%3").arg(localDoc[id], *lang, fname));
+ search.append(TQString("%1%2/%3").arg(localDoc[id], *lang, path + _fname));
}
// try to locate the file
@ -44,7 +44,7 @@
+
+ if ( ( *it ).right( 5 ) == ".html" )
+ {
+ QString file = (*it).left((*it).findRev('/')) + "/" + path + ".xml";
+ TQString file = (*it).left((*it).findRev('/')) + "/" + path + ".xml";
+ kdDebug( 7119 ) << "Looking for help in: " << file << endl;
+ info.setFile(file);
+ if (info.exists() && info.isFile() && info.isReadable())
@ -65,16 +65,16 @@
@@ -190,12 +219,26 @@
}
} else {
QString docbook_file = file.left(file.findRev('/')) + "/index.docbook";
TQString docbook_file = file.left(file.findRev('/')) + "/index.docbook";
+ int last_slash = file.findRev('/');
+ if (last_slash != -1 && last_slash != 0) {
+ int slash2 = file.findRev('/', last_slash -1);
+ if (slash2 != -1 && slash2 != 0) {
+ int slash3 = file.findRev('/', slash2 - 1);
+ if (slash3 != -1) {
+ QString xml_file = file.left(file.findRev('/')) + "/" + file.mid(slash3 + 1, slash2 - (slash3 + 1)) + ".xml";
+ TQString xml_file = file.left(file.findRev('/')) + "/" + file.mid(slash3 + 1, slash2 - (slash3 + 1)) + ".xml";
+ kdDebug( 7119 ) << "xml_file " << xml_file << endl;
+ QFileInfo fi(xml_file);
+ TQFileInfo fi(xml_file);
+ if (fi.exists())
+ docbook_file = xml_file;
+ }
@ -83,7 +83,7 @@
if (!KStandardDirs::exists(file)) {
file = docbook_file;
} else {
QFileInfo fi(file);
TQFileInfo fi(file);
if (fi.isDir()) {
- file = file + "/index.docbook";
+ file = docbook_file;
@ -94,8 +94,8 @@
mParsed = transform(file, locate("dtd", "customization/kde-chunk.xsl"));
if ( !mParsed.isEmpty() ) {
infoMessage( i18n( "Saving to cache" ) );
- QString cache = file.left( file.length() - 7 );
+ QString cache;
- TQString cache = file.left( file.length() - 7 );
+ TQString cache;
+ if (file.endsWith(".xml"))
+ cache = file.left( file.length() - strlen ("xml") );
+ else
@ -105,22 +105,22 @@
"cache.bz2" ) );
--- kdoctools/xslt.cpp
+++ kdoctools/xslt.cpp
@@ -274,10 +274,16 @@
QString lookForCache( const QString &filename )
@@ -278,10 +278,16 @@
TQString lookForCache( const TQString &filename )
{
kdDebug() << "lookForCache " << filename << endl;
- assert( filename.endsWith( ".docbook" ) );
+ assert( filename.endsWith( ".docbook" ) || filename.endsWith( ".xml" ) );
assert( filename.at( 0 ) == '/' );
assert( filename.tqat( 0 ) == '/' );
- QString cache = filename.left( filename.length() - 7 );
+ QString cache;
- TQString cache = filename.left( filename.length() - 7 );
+ TQString cache;
+
+ if (filename.endsWith( ".xml" ))
+ cache = filename.left( filename.length() - strlen ("xml") );
+ else
+ cache = filename.left( filename.length() - strlen ("docbook") );
+
QString output;
TQString output;
if ( readCache( filename, cache + "cache.bz2", output) )
return output;

@ -1,44 +1,42 @@
Index: khtml/rendering/render_frames.cpp
===================================================================
--- khtml/rendering/render_frames.cpp.orig
+++ khtml/rendering/render_frames.cpp
@@ -940,14 +940,33 @@ void RenderPartObject::slotPartLoadingEr
// Prepare the URL to show in the question (host only if http, to make it short)
KURL pluginPageURL( embed->pluginPage );
QString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyURL();
- int res = KMessageBox::questionYesNo( m_view,
- i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg(shortURL),
--- khtml/rendering/render_frames.cpp.orig 2011-12-11 21:10:39.556986274 +0100
+++ khtml/rendering/render_frames.cpp 2011-12-11 21:19:11.017986213 +0100
@@ -953,14 +953,33 @@
// Prepare the URL to show in the question (host only if http, to make it short)
KURL pluginPageURL( embed->pluginPage );
TQString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyURL();
- int res = KMessageBox::questionYesNo( m_view,
- i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg(shortURL),
+
+ int res;
+ if (mimeName.startsWith("Shockwave Flash",false))
+ {
+ res = KMessageBox::questionYesNo( m_view,
+ i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg("openSUSE"),
i18n("Missing Plugin"), i18n("Download"), i18n("Do Not Download"), QString("plugin-")+serviceType);
- if ( res == KMessageBox::Yes )
+ int res;
+ if (mimeName.startsWith("Shockwave Flash",false))
+ {
+ res = KMessageBox::questionYesNo( m_view,
+ i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg("openSUSE"),
i18n("Missing Plugin"), i18n("Download"), i18n("Do Not Download"), TQString("plugin-")+serviceType);
- if ( res == KMessageBox::Yes )
+
+ if ( res == KMessageBox::Yes )
+ {
+ if ( res == KMessageBox::Yes )
+ {
+ // Open YMP file
+ KURL ymp_flash ("http://download.opensuse.org/YaST/flash-player.ymp");
+ ext->openURLRequest( ymp_flash );
+ return;
+ }
+ }
+ else
{
- // Display vendor download page
- ext->createNewWindow( pluginPageURL );
- return;
+ res = KMessageBox::questionYesNo( m_view,
+ i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg(shortURL),
+ i18n("Missing Plugin"), i18n("Download"), i18n("Do Not Download"), QString("plugin-")+serviceType);
+ if ( res == KMessageBox::Yes )
+ {
+ }
+ }
+ else
{
- // Display vendor download page
- ext->createNewWindow( pluginPageURL );
- return;
+ res = KMessageBox::questionYesNo( m_view,
+ i18n("No plugin found for '%1'.\nDo you want to download one from %2?").arg(mimeName).arg(shortURL),
+ i18n("Missing Plugin"), i18n("Download"), i18n("Do Not Download"), TQString("plugin-")+serviceType);
+ if ( res == KMessageBox::Yes )
+ {
+ // Display vendor download page
+ ext->createNewWindow( pluginPageURL );
+ return;
+ }
+ }
}
}
}
}

@ -1,14 +1,14 @@
--- kded/vfolder_menu.cpp 2009/11/07 07:01:12 1.1
+++ kded/vfolder_menu.cpp 2009/11/07 07:01:42
@@ -1496,6 +1496,7 @@
@@ -1498,6 +1498,7 @@
else
kdDebug()<<" Error in parsing show_empty attribute :"<<str<<endl;
}
+#if 0
if ( e.hasAttribute( "inline" ) )
{
QString str = e.attribute( "inline" );
@@ -1534,6 +1535,7 @@
TQString str = e.attribute( "inline" );
@@ -1536,6 +1537,7 @@
else
kdDebug()<<" Error in parsing inline_alias attribute :"<<str<<endl;
}

@ -2,8 +2,8 @@ Index: pics/crystalsvg/index.theme
===================================================================
--- pics/crystalsvg/index.theme (Revision 505161)
+++ pics/crystalsvg/index.theme (Arbeitskopie)
@@ -78,7 +78,7 @@
Comment[zh_HK]=由 Everaldo.com 提供的圖示主題
@@ -99,7 +99,7 @@
Comment[zh_TW]=由 Everaldo.com Design Studio 所提供的圖示主題
DisplayDepth=32
-Inherits=hicolor
@ -11,13 +11,13 @@ Index: pics/crystalsvg/index.theme
Example=folder
LinkOverlay=link_overlay
Index: kdecore/kicontheme.cpp
Index: tdecore/kicontheme.cpp
===================================================================
--- kdecore/kicontheme.cpp (Revision 458165)
+++ kdecore/kicontheme.cpp (Arbeitskopie)
@@ -146,6 +146,8 @@
--- tdecore/kicontheme.cpp (Revision 458165)
+++ tdecore/kicontheme.cpp (Arbeitskopie)
@@ -150,6 +150,8 @@
if ( name != "crystalsvg" )
for ( QStringList::Iterator it = mInherits.begin(); it != mInherits.end(); ++it )
for ( TQStringList::Iterator it = mInherits.begin(); it != mInherits.end(); ++it )
if ( *it == "default" || *it == "hicolor" ) *it="crystalsvg";
+ if ( name == "hicolor" )
+ mInherits = "crystalsuse";

@ -1,10 +1,10 @@
Index: kdecore/kicontheme.cpp
Index: tdecore/kicontheme.cpp
===================================================================
--- kdecore/kicontheme.cpp.orig
+++ kdecore/kicontheme.cpp
@@ -150,6 +150,8 @@ KIconTheme::KIconTheme(const QString& na
--- tdecore/kicontheme.cpp.orig
+++ tdecore/kicontheme.cpp
@@ -150,6 +150,8 @@ KIconTheme::KIconTheme(const TQString& n
if ( name != "crystalsvg" )
for ( QStringList::Iterator it = mInherits.begin(); it != mInherits.end(); ++it )
for ( TQStringList::Iterator it = mInherits.begin(); it != mInherits.end(); ++it )
if ( *it == "default" || *it == "hicolor" ) *it="crystalsvg";
+ if ( name == "hicolor" )
+ mInherits = "crystalsuse";

@ -1,17 +1,17 @@
Index: kdecore/kconfigbackend.cpp
Index: tdecore/kconfigbackend.cpp
===================================================================
--- kdecore/kconfigbackend.cpp.orig
+++ kdecore/kconfigbackend.cpp
--- tdecore/kconfigbackend.cpp.orig
+++ tdecore/kconfigbackend.cpp
@@ -352,7 +352,11 @@ bool KConfigINIBackEnd::parseConfigFiles
#ifdef Q_WS_WIN
QString etc_kderc = QFile::decodeName( QCString(getenv("WINDIR")) + "\\kderc" );
TQString etc_kderc = TQFile::decodeName( TQCString(getenv("WINDIR")) + "\\kderc" );
#else
- QString etc_kderc = QString::fromLatin1("/etc/kderc");
+ QString etc_kderc;
+ if (checkAccess(QString::fromLatin1("/etc/tderc"), R_OK))
+ etc_kderc = QString::fromLatin1("/etc/tderc");
- TQString etc_kderc = TQString::tqfromLatin1("/etc/kderc");
+ TQString etc_kderc;
+ if (checkAccess(TQString::tqfromLatin1("/etc/tderc"), R_OK))
+ etc_kderc = TQString::tqfromLatin1("/etc/tderc");
+ else
+ etc_kderc = QString::fromLatin1("/etc/kde3rc");
+ etc_kderc = TQString::tqfromLatin1("/etc/kde3rc");
#endif
if (checkAccess(etc_kderc, R_OK))

@ -4,12 +4,12 @@
return true;
}
+bool KZip::writeDir(const QString& name, const QString& user, const QString& group)
+bool KZip::writeDir(const TQString& name, const TQString& user, const TQString& group)
+{
+ // Zip files have no explicit directories, they are implicitly created during extraction time
+ // when file entries have paths in them.
+ // However, to support empty directories, we must create a dummy file entry which ends with '/'.
+ QString dirName = name;
+ TQString dirName = name;
+ if (!name.endsWith("/"))
+ dirName = dirName.append('/');
+
@ -19,17 +19,8 @@
+}
+
// Doesn't need to be reimplemented anymore. Remove for KDE-4.0
bool KZip::writeFile( const QString& name, const QString& user, const QString& group, uint size, const char* data )
bool KZip::writeFile( const TQString& name, const TQString& user, const TQString& group, uint size, const char* data )
{
@@ -1114,7 +1128,7 @@
}
// delete entries in the filelist with the same filename as the one we want
- // to save, so that we don´t have duplicate file entries when viewing the zip
+ // to save, so that we don�t have duplicate file entries when viewing the zip
// with konqi...
// CAUTION: the old file itself is still in the zip and won't be removed !!!
QPtrListIterator<KZipFileEntry> it( d->m_fileList );
diff -up kdelibs-3.5.10/kio/kio/kzip.h.orig kdelibs-3.5.10/kio/kio/kzip.h
--- kdelibs-3.5.10/kio/kio/kzip.h.orig 2009-12-09 19:35:42.000000000 +0100
+++ kdelibs-3.5.10/kio/kio/kzip.h 2009-12-09 19:35:48.000000000 +0100
@ -40,8 +31,8 @@ diff -up kdelibs-3.5.10/kio/kio/kzip.h.orig kdelibs-3.5.10/kio/kio/kzip.h
- /**
- * @internal Not needed for zip
- */
- virtual bool writeDir( const QString& name, const QString& user, const QString& group) { Q_UNUSED(name); Q_UNUSED(user); Q_UNUSED(group); return true; }
+ virtual bool writeDir(const QString& name, const QString& user, const QString& group);
- virtual bool writeDir( const TQString& name, const TQString& user, const TQString& group) { Q_UNUSED(name); Q_UNUSED(user); Q_UNUSED(group); return true; }
+ virtual bool writeDir(const TQString& name, const TQString& user, const TQString& group);
// TODO(BIC) uncomment and make virtual for KDE 4.
// bool writeDir( const QString& name, const QString& user, const QString& group,
// bool writeDir( const TQString& name, const TQString& user, const TQString& group,
// mode_t perm, time_t atime, time_t mtime, time_t ctime );

@ -1,7 +1,7 @@
diff -uNr kdelibs-3.5.1.old/pics/hicolor/index.theme kdelibs-3.5.1/pics/hicolor/index.theme
--- kdelibs-3.5.1.old/pics/hicolor/index.theme 2006-01-20 07:53:04.000000000 +0100
+++ kdelibs-3.5.1/pics/hicolor/index.theme 2006-04-12 20:18:31.907163700 +0200
@@ -314,36 +314,36 @@
@@ -333,36 +333,36 @@
Type=Threshold
[scalable/actions]

@ -1,32 +1,16 @@
Index: kdeprint/cups/cupsdconf2/cupsddialog.cpp
Index: tdeprint/cups/cupsdconf2/cupsddialog.cpp
===================================================================
--- kdeprint/cups/cupsdconf2/cupsddialog.cpp.orig
+++ kdeprint/cups/cupsdconf2/cupsddialog.cpp
@@ -45,6 +45,7 @@
#include <kguiitem.h>
#include <kprocess.h>
+#include <stdlib.h>
#include <signal.h>
#include <cups/cups.h>
@@ -205,15 +206,13 @@ bool CupsdDialog::restartServer(QString&
}
else
--- tdeprint/cups/cupsdconf2/cupsddialog.cpp.orig
+++ tdeprint/cups/cupsdconf2/cupsddialog.cpp
@@ -208,7 +208,10 @@
{
+ KProcess proc;
bool success = false;
if (getuid() == 0 )
- success = (::kill(serverPid, SIGHUP) == 0);
+ proc << "rccups" << "force-reload";
else
- {
- KProcess proc;
- proc << "kdesu" << "-c" << "kill -SIGHUP " + QString::number( serverPid );
- success = proc.start( KProcess::Block ) && proc.normalExit();
- }
+ proc << "kdesu" << "-c" << "rccups" << "force-reload";
+ success = proc.start( KProcess::Block ) && proc.normalExit();
KProcess proc;
- proc << "tdesu" << "-c" << "/etc/init.d/cupsys restart";
+ if (getuid() == 0 )
+ proc << "rccups" << "force-reload";
+ else
+ proc << "tdesu" << "-c" << "rccups" << "force-reload";
success = proc.start( KProcess::Block ) && proc.normalExit();
if( !success )
msg = i18n("Unable to restart CUPS server (pid = %1)").arg(serverPid);
}

@ -1,10 +1,10 @@
Index: kdecore/kdeversion.h
Index: tdecore/tdeversion.h
===================================================================
--- kdecore/kdeversion.h.orig
+++ kdecore/kdeversion.h
--- tdecore/tdeversion.h.orig
+++ tdecore/tdeversion.h
@@ -33,6 +33,8 @@
#define KDE_IS_VERSION(a,b,c) ( KDE_VERSION >= KDE_MAKE_VERSION(a,b,c) )
#define KDE_IS_VERSION(a,b,c) ( TDE_VERSION >= TDE_MAKE_VERSION(a,b,c) )
+#define KDELIBS_SUSE
+

@ -1,8 +1,6 @@
Index: kdecore/kdebug.cpp
===================================================================
--- kdecore/kdebug.cpp.orig
+++ kdecore/kdebug.cpp
@@ -170,7 +170,7 @@ static KStaticDeleter<kDebugPrivate> pcd
--- tdecore/kdebug.cpp.orig 2011-12-11 18:54:28.986987249 +0100
+++ tdecore/kdebug.cpp 2011-12-11 19:00:22.478987207 +0100
@@ -170,7 +170,7 @@
static KStaticDeleter<KDebugDCOPIface> dcopsd;
static KDebugDCOPIface* kDebugDCOPIface = 0;
@ -11,22 +9,23 @@ Index: kdecore/kdebug.cpp
{
if ( !kDebug_data )
{
@@ -205,40 +205,46 @@ static void kDebugBackend( unsigned shor
@@ -205,41 +205,46 @@
if ( KGlobal::_instance )
kDebug_data->aAreaName = KGlobal::instance()->instanceName();
}
+}
- int nPriority = 0;
- QString aCaption;
- TQString aCaption;
-
- /* Determine output */
-
+static short kDebugAreaOutput(unsigned short nLevel, unsigned int nArea)
+{
+ kDebugInitBackend (nArea);
+
+ /* Determine output */
QString key;
TQString key;
switch( nLevel )
{
case KDEBUG_INFO:
@ -53,7 +52,8 @@ Index: kdecore/kdebug.cpp
break;
}
- short nOutput = kDebug_data->config ? kDebug_data->config->readNumEntry(key, 2) : 2;
- // if no output mode is specified default to no debug output
- short nOutput = kDebug_data->config ? kDebug_data->config->readNumEntry(key, 4) : 4;
+ return kDebug_data->config ? kDebug_data->config->readNumEntry(key, 4) : 4;
+}
+
@ -69,14 +69,14 @@ Index: kdecore/kdebug.cpp
+
+ short nOutput = kDebugAreaOutput(nLevel, nArea);
// If the application doesn't have a QApplication object it can't use
// If the application doesn't have a TQApplication object it can't use
// a messagebox.
@@ -247,6 +253,32 @@ static void kDebugBackend( unsigned shor
@@ -248,6 +253,32 @@
else if ( nOutput == 4 && nLevel != KDEBUG_FATAL )
return;
+ int nPriority = 0;
+ QString aCaption;
+ TQString aCaption;
+ switch( nLevel )
+ {
+ case KDEBUG_INFO:
@ -104,10 +104,10 @@ Index: kdecore/kdebug.cpp
const int BUFSIZE = 4096;
char buf[BUFSIZE];
if ( !kDebug_data->aAreaName.isEmpty() ) {
@@ -314,13 +346,25 @@ static void kDebugBackend( unsigned shor
@@ -315,13 +346,25 @@
}
kdbgstream &perror( kdbgstream &s) { return s << QString::fromLocal8Bit(strerror(errno)); }
kdbgstream &perror( kdbgstream &s) { return s << TQString(TQString::fromLocal8Bit(strerror(errno))); }
-kdbgstream kdDebug(int area) { return kdbgstream(area, KDEBUG_INFO); }
-kdbgstream kdDebug(bool cond, int area) { if (cond) return kdbgstream(area, KDEBUG_INFO); else return kdbgstream(0, 0, false); }
+kdbgstream kdDebug(int area) { return kdbgstream(area, KDEBUG_INFO, kDebugAreaEnabled(KDEBUG_INFO, area)); }
@ -134,7 +134,7 @@ Index: kdecore/kdebug.cpp
kdbgstream kdFatal(int area) { return kdbgstream("FATAL: ", area, KDEBUG_FATAL); }
kdbgstream kdFatal(bool cond, int area) { if (cond) return kdbgstream("FATAL: ", area, KDEBUG_FATAL); else return kdbgstream(0,0,false); }
@@ -331,9 +375,10 @@ kdbgstream::kdbgstream(kdbgstream &str)
@@ -332,9 +375,10 @@
}
void kdbgstream::flush() {
@ -144,15 +144,15 @@ Index: kdecore/kdebug.cpp
- kDebugBackend( level, area, output.local8Bit().data() );
+ if (print)
+ kDebugBackend( level, area, output.local8Bit().data() );
output = QString::null;
output = TQString::null;
}
@@ -349,7 +394,7 @@ kdbgstream &kdbgstream::form(const char
@@ -350,7 +394,7 @@
}
kdbgstream::~kdbgstream() {
- if (!output.isEmpty()) {
+ if (print && !output.isEmpty()) {
fprintf(stderr, "ASSERT: debug output not ended with \\n\n");
fprintf(stderr, "%s", kdBacktrace().latin1());
*this << "\n";
TQString backtrace = kdBacktrace();
if (backtrace.ascii() != NULL) {

@ -9,5 +9,5 @@ Index: configure.in.in
-AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs
+AM_INIT_AUTOMAKE("kdelibs", @VERSION@) dnl searches for some needed programs
AC_PROG_INSTALL
AM_MAINTAINER_MODE

@ -1,13 +1,13 @@
Index: kdecore/kstandarddirs.cpp
Index: tdecore/kstandarddirs.cpp
===================================================================
--- kdecore/kstandarddirs.cpp.orig
+++ kdecore/kstandarddirs.cpp
@@ -1290,6 +1290,8 @@ void KStandardDirs::addKDEDefaults()
--- tdecore/kstandarddirs.cpp.orig
+++ tdecore/kstandarddirs.cpp
@@ -1303,6 +1303,8 @@ void KStandardDirs::addKDEDefaults()
}
}
+ kdedirList.append("/etc/opt/kde3");
+ tdedirList.append("/etc/opt/tde");
+
#ifndef Q_OS_WIN //no default KDEDIR on win32 defined
kdedirList.append(KDEDIR);
#ifndef Q_OS_WIN //no default TDEDIR on win32 defined
tdedirList.append(TDEDIR);
#endif

@ -26,12 +26,12 @@ License: GPLv2+
Group: Documentation/HTML
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: Additional Package Documentation
Version: R13.99
Version: 3.5.12.99
Release: 1
%define tdelibs_patch_level b
BuildArch: noarch
Requires: tdelibs qt3-devel-doc
Source0: tdelibs-%{version}.tar.bz2
Source0: kdelibs-%{version}.tar.bz2
Source1: create-kdeapi
Source4: api_docu_description
@ -50,7 +50,7 @@ Authors:
%prep
echo %suse_version
%setup -q -n tdelibs-%{version}
%setup -q -n kdelibs-%{version}
%build
%if %is_plus

@ -19,7 +19,7 @@
Name: tdelibs
BuildRequires: OpenEXR-devel arts arts-devel aspell-devel cups-devel fam-devel flac-devel krb5-devel
BuildRequires: OpenEXR-devel arts-devel aspell-devel cups-devel fam-devel flac-devel krb5-devel
BuildRequires: libart_lgpl-devel libidn-devel libsndfile libtiff-devel
BuildRequires: libxslt-devel openldap2-devel pcre-devel libtqt4-devel sgml-skel
BuildRequires: db-devel libacl-devel libattr-devel unsermake update-desktop-files utempter
@ -34,7 +34,7 @@ Summary: Trinity Base Libraries
Version: R13.99
Release: 1
Provides: kups keramik tdelibs-cups tdelibs-33addons tdepim-networkstatus
Provides: kdelibs3_base = 3.3
Provides: kdelibs3_base = 3.5.13
Requires: libtqt4 >= %( echo `rpm -q --queryformat '%{VERSION}' libtqt4`)
Requires: openssl tdelibs-default-style
Requires: hicolor-icon-theme
@ -44,15 +44,35 @@ Source0: %{name}-%{version}.tar.bz2
Source3: baselibs.conf
Source4: api_docu_description
Source6: tderc
# svn export svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin
Source8: admin.tar.bz2
Source9: cr16-filesys-file_broken.png
Source10: kdemm-20050330.tar.bz2
Source11: 10888-bt.tar.gz
Source12: mimetype-icons.tar.bz2
Source14: vnd.openxmlformats-officedocument.wordprocessingml.document.desktop
Source15: vnd.openxmlformats-officedocument.presentationml.presentation.desktop
Source16: vnd.openxmlformats-officedocument.spreadsheetml.sheet.desktop
Patch1: kdeversion.diff
Patch5: applications.menu-fallback.diff
Patch10: disable-idn-support.diff
Patch15: add-suse-translations.diff
Patch16: kde3rc.dif
Patch27: noauto-package.diff
Patch29: prefer_distribution_settings.dif
Patch50: fix-gnome-help-support.diff
Patch950: fix-gnome-help-support_legacy.diff
Patch52: kdeprint-restart-cupsd.diff
Patch56: fix-dcopidlng-within-kdelibs-build.diff
Patch65: integrate-global-pixmaps-new.diff
Patch66: integrate-global-pixmaps-10.1.diff
Patch105: kdelibs3-hicolor-scalable-sizes.patch
Patch127: x-jar-desktop.diff
Patch129: default-useragent.diff
Patch132: no-debug-by-default.diff
Patch133: flash-player-non-oss.diff
Patch153: bug-382959_kabc_fix_vcardparser.patch
Patch157: ignore-inline-menu.diff
Patch162: arts-acinclude.patch
Patch205: kdelibs-3.5.10-cve-2009-2537-select-length.patch
Patch210: kdelibs-3.5.10-kio.patch
%description
This package contains tdelibs, one of the basic packages of the Trinity
@ -118,9 +138,45 @@ to develop applications that require these.
%prep
echo %suse_version
%setup -q
tar xfvj %SOURCE10
rm -rf admin
bunzip2 -cd %{SOURCE8} | tar xfv - --exclude=.cvsignore --exclude=CVS
%patch1
%patch5
#%patch10
%patch15
#%patch16
%patch27
%patch29
%if %suse_version > 1020
%patch50
%else
%patch950
%endif
%patch52
%patch56
%if %suse_version > 1010
%patch65
%else
%if %suse_version > 1000
%patch66
%else
%patch65
%endif
%endif
%if %suse_version < 1030
%patch105 -p 1
%endif
%patch127
%patch129
#%patch132
%if %suse_version > 1020
%patch133
%endif
%patch153
%if %suse_version > 1110
%patch157
%endif
%patch162 -p1
%patch205 -p1
%patch210 -p1
tar xfvj %SOURCE12
#
@ -134,7 +190,7 @@ sed 's,#define KDE_VERSION_STRING "\(.*\)",#define KDE_VERSION_STRING "\1 \\"rel
#UNSERMAKE=yes make -f admin/Makefile.common cvs
%build
export PATH=$PWD/admin/:$PATH
#export PATH=$PWD/admin/:$PATH
FINAL="--enable-final"
CFLAGS="$CFLAGS -fno-strict-aliasing"
CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
@ -160,12 +216,6 @@ CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
EXTRA_FLAGS="-DCMAKE_SKIP_RPATH=OFF -DKDE_MALLOC_FULL=OFF -DKDE_MALLOC=OFF -DSSL_INSTALL_DIR=/usr/ssl -DPCSC_INSTALL_DIR=/usr -DENABLE_DNOFIFY=ON"
# -DKDE_DISTRIBUTION=\"$DISTRI\"
# %if %is_plus
# -DENABLE_DNOFIFY=ON \
# %endif
%cmake_tde -d build -- $EXTRA_FLAGS
%make_tde -d build
@ -371,6 +421,7 @@ mv -v %{buildroot}/%{_tde_sharedir}/cmake/tdelibs.cmake %{buildroot}/%{_datadir}
%dir %{_tde_includedir}
%dir %{_tde_sharedir}
%dir %{_tde_configkcfgdir}
%_mandir/man*/*
%{_tde_bindir}/checkXML
%{_tde_bindir}/dcop
%{_tde_bindir}/dcopclient
@ -390,7 +441,7 @@ mv -v %{buildroot}/%{_tde_sharedir}/cmake/tdelibs.cmake %{buildroot}/%{_datadir}
%{_tde_bindir}/tdeinit*
%{_tde_bindir}/start_tdeinit
%{_tde_bindir}/start_tdeinit_wrapper
%{_tde_bindir}/kde-config
%{_tde_bindir}/tde-config
%{_tde_bindir}/kde-menu
%{_tde_bindir}/tdesu_stub
%{_tde_bindir}/kdontchangethehostname
@ -400,6 +451,7 @@ mv -v %{buildroot}/%{_tde_sharedir}/cmake/tdelibs.cmake %{buildroot}/%{_datadir}
%{_tde_bindir}/klauncher
%{_tde_bindir}/kmailservice
%{_tde_bindir}/ktradertest
%{_tde_bindir}/knotify
%{_tde_bindir}/kstartupconfig
%{_tde_bindir}/kdostartupconfig
%verify(not mode) %{_tde_bindir}/kpac_dhcp_helper
@ -522,6 +574,8 @@ mv -v %{buildroot}/%{_tde_sharedir}/cmake/tdelibs.cmake %{buildroot}/%{_datadir}
%dir %{_tde_sharedir}
%dir %{_tde_applicationsdir}
%ghost %{_tde_applicationsdir}/mimeinfo.cache
%dir %{_tde_datadir}/konqueror
%dir %{_tde_datadir}/konqueror/servicemenus
%{_tde_datadir}/konqueror/servicemenus/isoservice.desktop
%files arts
@ -542,10 +596,12 @@ mv -v %{buildroot}/%{_tde_sharedir}/cmake/tdelibs.cmake %{buildroot}/%{_datadir}
%{_tde_bindir}/dcopidl*
%{_tde_bindir}/kmimelist
%{_tde_bindir}/preparetips
%{_tde_bindir}/ksvgtopng
%{_tde_bindir}/kunittestmodrunner
#%{_tde_bindir}/MISC
%{_tde_includedir}/*
%{_tde_datadir}/dcopidlng
%{_tde_datadir}/kdelibs/admin
%{_tde_libdir}/libartskde.la
%{_tde_libdir}/libkunittest.la
%{_tde_libdir}/libkunittest.so
@ -562,8 +618,6 @@ mv -v %{buildroot}/%{_tde_sharedir}/cmake/tdelibs.cmake %{buildroot}/%{_datadir}
%{_tde_libdir}/libkabc.la
%{_tde_libdir}/libkabc_ldapkio.la
%{_tde_libdir}/libkabc_ldapkio.so
%{_tde_libdir}/libkabc_net.la
%{_tde_libdir}/libkabc_net.so
%{_tde_libdir}/libkabc.so
%{_tde_libdir}/libkatepartinterfaces.la
%{_tde_libdir}/libkatepartinterfaces.so

@ -20,7 +20,10 @@ grab()
#svn export svn://anonsvn.kde.org/home/kde/branches/trinity/$NAME
git clone http://scm.trinitydesktop.org/scm/git/$NAME $NAME
cd $NAME
git submodule update --init
if [[ -e .gitmodules ]]; then
sed -i 's/system@//g' .gitmodules
git submodule update --init
fi
cd ..
createTarball
rm -rf $NAME

Loading…
Cancel
Save