diff options
6 files changed, 2315 insertions, 185 deletions
diff --git a/redhat/kdeutils/kdeutils-3.5.13-ark_repairs_and_extensions.patch b/redhat/kdeutils/kdeutils-3.5.13-ark_repairs_and_extensions.patch new file mode 100644 index 000000000..da9f61ee9 --- /dev/null +++ b/redhat/kdeutils/kdeutils-3.5.13-ark_repairs_and_extensions.patch @@ -0,0 +1,1281 @@ +commit 1c84948d57c174bcd9732a5a0a51d42d3626d000 +Author: Slávek Banko <[email protected]> +Date: 1339952967 +0200 + + [Ark] Repairs and extensions + Added support for Arj + Added support for check archives + Added support for password processing + Fix show broken filenames into real UTF-8 + This closes Bug 1030 + +diff --git a/ark/Makefile.am b/ark/Makefile.am +index 9761a28..14f33f5 100644 +--- a/ark/Makefile.am ++++ b/ark/Makefile.am +@@ -9,19 +9,19 @@ tdeinit_LTLIBRARIES = ark.la + lib_LTLIBRARIES = + + ark_la_SOURCES = main.cpp arkapp.cpp mainwindow.cpp +-ark_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +-ark_la_LIBADD = libark_common.la $(LIB_KPARTS) ++ark_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) $(KDE_PLUGIN) ++ark_la_LIBADD = $(LIB_KDED) -lDCOP $(LIB_KHTML) $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) libark_common.la $(LIB_KPARTS) + ark_la_COMPILE_FIRST = settings.h + + noinst_LTLIBRARIES = libark_common.la + + libark_common_la_SOURCES = settings.kcfgc archiveformatinfo.cpp + libark_common_la_LDFLAGS = $(all_libraries) -no-undefined +-libark_common_la_LIBADD = $(LIB_KFILE) ++libark_common_la_LIBADD = $(LIB_KDED) -lDCOP $(LIB_KHTML) $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) $(LIB_KFILE) + + kde_module_LTLIBRARIES = libarkpart.la + libarkpart_la_LDFLAGS = $(KDE_PLUGIN) $(all_libraries) +-libarkpart_la_LIBADD = libark_common.la $(LIB_KPARTS) ++libarkpart_la_LIBADD = $(LIB_KDED) -lDCOP $(LIB_KHTML) $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) libark_common.la $(LIB_KPARTS) + libarkpart_la_COMPILE_FIRST = settings.h + + libarkpart_la_SOURCES = ark_part.cpp arkfactory.cpp zip.cpp tar.cpp \ +@@ -31,7 +31,7 @@ libarkpart_la_SOURCES = ark_part.cpp arkfactory.cpp zip.cpp tar.cpp \ + arkwidget.cpp searchbar.cpp \ + addition.ui extraction.ui general.ui \ + arkviewer.cpp sevenzip.cpp extractiondialog.cpp \ +- ace.cpp tarlistingthread.cpp ++ ace.cpp tarlistingthread.cpp arj.cpp + + METASOURCES = AUTO + +diff --git a/ark/addition.ui b/ark/addition.ui +index 401c146..46541ca 100644 +--- a/ark/addition.ui ++++ b/ark/addition.ui +@@ -16,6 +16,15 @@ + <property name="name"> + <cstring>unnamed</cstring> + </property> ++ ++ <widget class="TQCheckBox"> ++ <property name="name"> ++ <cstring>kcfg_askCreatePassword</cstring> ++ </property> ++ <property name="text"> ++ <string>Ask for &password when create archive if possible</string> ++ </property> ++ </widget> + <widget class="TQCheckBox"> + <property name="name"> + <cstring>kcfg_replaceOnlyWithNewer</cstring> +diff --git a/ark/arch.cpp b/ark/arch.cpp +index ee2a23e..b4fc0e8 100644 +--- a/ark/arch.cpp ++++ b/ark/arch.cpp +@@ -33,6 +33,7 @@ + // QT includes + #include <tqapplication.h> + #include <tqfile.h> ++#include <tqtextcodec.h> + + // KDE includes + #include <kdebug.h> +@@ -59,6 +60,7 @@ + #include "ar.h" + #include "sevenzip.h" + #include "ace.h" ++#include "arj.h" + + Arch::ArchColumns::ArchColumns( int col, TQRegExp reg, int length, bool opt ) + : colRef( col ), pattern( reg ), maxLength( length ), optional( opt ) +@@ -288,7 +290,7 @@ void Arch::slotReceivedTOC( KProcess*, char* data, int length ) + + data[ lfChar ] = '\0'; + +- m_buffer.append( TQString::fromUtf8(data + startChar).latin1() ); ++ m_buffer.append( data + startChar ); + + data[ lfChar ] = '\n'; + startChar = lfChar + 1; +@@ -333,12 +335,16 @@ bool Arch::processLine( const TQCString &line ) + unsigned int pos = 0; + int strpos, len; + ++ TQTextCodec::setCodecForCStrings(TQTextCodec::codecForLocale()); ++ TQTextCodec *codec = TQTextCodec::codecForLocale(); ++ TQString tqunicode_line = codec->toUnicode( line ); ++ + // Go through our columns, try to pick out data, return silently on failure + for ( TQPtrListIterator <ArchColumns>col( m_archCols ); col.current(); ++col ) + { + ArchColumns *curCol = *col; + +- strpos = curCol->pattern.search( line, pos ); ++ strpos = curCol->pattern.search( tqunicode_line, pos ); + len = curCol->pattern.matchedLength(); + + if ( ( strpos == -1 ) || ( len > curCol->maxLength ) ) +@@ -354,7 +360,7 @@ bool Arch::processLine( const TQCString &line ) + + pos = strpos + len; + +- columns[curCol->colRef] = TQString::fromLocal8Bit( line.mid(strpos, len) ); ++ columns[curCol->colRef] = tqunicode_line.mid(strpos, len).utf8(); + } + + +@@ -388,6 +394,60 @@ bool Arch::processLine( const TQCString &line ) + return true; + } + ++void Arch::test() ++{ ++ emit sigTest(false); ++ KMessageBox::information(0, i18n("Not implemented.")); ++} ++ ++void Arch::slotTestExited( KProcess *_kp ) ++{ ++ bool success = ( _kp->normalExit() && ( _kp->exitStatus() == 0 ) ); ++ ++ if( !success ) ++ { ++ if ( passwordRequired() ) ++ { ++ TQString msg; ++ if ( !m_password.isEmpty() ) ++ msg = i18n("The password was incorrect. "); ++ if (KPasswordDialog::getPassword( m_password, msg+i18n("You must enter a password to extract the file:") ) == KPasswordDialog::Accepted ) ++ { ++ delete _kp; ++ _kp = m_currentProcess = 0; ++ clearShellOutput(); ++ test(); // try to test the archive again with a password ++ return; ++ } ++ m_password = ""; ++ emit sigTest( false ); ++ delete _kp; ++ _kp = m_currentProcess = 0; ++ return; ++ } ++ else if ( m_password.isEmpty() || _kp->exitStatus() > 1 ) ++ { ++ TQApplication::restoreOverrideCursor(); ++ ++ TQString msg = i18n( "The test operation failed." ); ++ ++ if ( !getLastShellOutput().isNull() ) ++ { ++ //getLastShellOutput() is a TQString. errorList is expecting TQStringLists to show in multiple lines ++ TQStringList list = TQStringList::split( "\n", getLastShellOutput() ); ++ KMessageBox::errorList( m_gui, msg, list ); ++ clearShellOutput(); ++ } ++ else ++ { ++ KMessageBox::error( m_gui, msg ); ++ } ++ } ++ } ++ delete _kp; ++ _kp = m_currentProcess = 0; ++ emit sigTest( success ); ++} + + Arch *Arch::archFactory( ArchType aType, + ArkWidget *parent, const TQString &filename, +@@ -422,6 +482,9 @@ Arch *Arch::archFactory( ArchType aType, + case ACE_FORMAT: + return new AceArch( parent, filename ); + ++ case ARJ_FORMAT: ++ return new ArjArch( parent, filename ); ++ + case UNKNOWN_FORMAT: + default: + return 0; +diff --git a/ark/arch.h b/ark/arch.h +index 7aa18ac..85c6c7d 100644 +--- a/ark/arch.h ++++ b/ark/arch.h +@@ -65,7 +65,7 @@ class ArkWidget; + + enum ArchType { UNKNOWN_FORMAT, ZIP_FORMAT, TAR_FORMAT, AA_FORMAT, + LHA_FORMAT, RAR_FORMAT, ZOO_FORMAT, COMPRESSED_FORMAT, +- SEVENZIP_FORMAT, ACE_FORMAT }; ++ SEVENZIP_FORMAT, ACE_FORMAT, ARJ_FORMAT }; + + typedef TQValueList< TQPair< TQString, TQt::AlignmentFlags > > ColumnList; + +@@ -101,6 +101,7 @@ class Arch : public TQObject + virtual void open() = 0; + virtual void create() = 0; + virtual void remove( TQStringList * ) = 0; ++ virtual void test(); + + virtual void addFile( const TQStringList & ) = 0; + virtual void addDir( const TQString & ) = 0; +@@ -150,12 +151,16 @@ class Arch : public TQObject + static Arch *archFactory( ArchType aType, ArkWidget *parent, + const TQString &filename, + const TQString &openAsMimeType = TQString() ); ++ TQString password() { return m_password; } ++ void setPassword(const TQString & pw) { m_password = pw.local8Bit(); } ++ virtual void createPassword() {} + + protected slots: + void slotOpenExited( KProcess* ); + void slotExtractExited( KProcess* ); + void slotDeleteExited( KProcess* ); + void slotAddExited( KProcess* ); ++ void slotTestExited( KProcess* ); + + void slotReceivedOutput( KProcess *, char*, int ); + +@@ -168,6 +173,7 @@ class Arch : public TQObject + void sigDelete( bool ); + void sigExtract( bool ); + void sigAdd( bool ); ++ void sigTest( bool ); + void headers( const ColumnList& columns ); + + protected: // data +diff --git a/ark/archiveformatinfo.cpp b/ark/archiveformatinfo.cpp +index 2dcbabb..2f6fded 100644 +--- a/ark/archiveformatinfo.cpp ++++ b/ark/archiveformatinfo.cpp +@@ -84,6 +84,8 @@ void ArchiveFormatInfo::buildFormatInfos() + + addFormatInfo( SEVENZIP_FORMAT, "application/x-7z", ".7z" ); + ++ addFormatInfo( ARJ_FORMAT, "application/x-arj", ".arj" ); ++ + if ( ArkSettings::aceSupport() ) + addFormatInfo( ACE_FORMAT, "application/x-ace", ".ace" ); + } +diff --git a/ark/arj.cpp b/ark/arj.cpp +new file mode 100644 +index 0000000..4d94776 +--- /dev/null ++++ b/ark/arj.cpp +@@ -0,0 +1,326 @@ ++/* ++ ++ ark -- archiver for the KDE project ++ ++ Copyright (C) ++ ++ 1997-1999: Rob Palmbos [email protected] ++ 1999: Francois-Xavier Duranceau [email protected] ++ 1999-2000: Corel Corporation (author: Emily Ezust, [email protected]) ++ 2001: Corel Corporation (author: Michael Jarrett, [email protected]) ++ 2007: ALT Linux (author: Sergey V Turchin, [email protected]) ++ ++ This program is free software; you can redistribute it and/or ++ modify it under the terms of the GNU General Public License ++ as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++*/ ++ ++ ++// Qt includes ++#include <tqdir.h> ++#include <tqtextcodec.h> ++ ++// KDE includes ++#include <kdebug.h> ++#include <klocale.h> ++#include <kmessagebox.h> ++#include <kprocess.h> ++#include <kpassdlg.h> ++ ++// ark includes ++#include "arj.h" ++#include "arkwidget.h" ++#include "settings.h" ++ ++ ++ArjArch::ArjArch( ArkWidget *_gui, const TQString & _fileName ) ++ : Arch( _gui, _fileName ) ++{ ++ m_archiver_program = "arj"; ++ m_unarchiver_program = "arj"; ++ verifyCompressUtilityIsAvailable( m_archiver_program ); ++ verifyUncompressUtilityIsAvailable( m_unarchiver_program ); ++ ++ m_headerString = "-----------"; ++ m_numCols = 6; ++} ++ ++void ArjArch::setHeaders() ++{ ++ ColumnList list; ++ list.append( FILENAME_COLUMN ); ++ list.append( SIZE_COLUMN ); ++ list.append( PACKED_COLUMN ); ++ list.append( RATIO_COLUMN ); ++ list.append( TIMESTAMP_COLUMN ); ++ list.append( PERMISSION_COLUMN ); ++ ++ emit headers( list ); ++} ++ ++void ArjArch::create() ++{ ++ emit sigCreate( this, true, m_filename, ++ Arch::Extract | Arch::Delete | Arch::Add | Arch::View ); ++} ++ ++void ArjArch::createPassword() ++{ ++ if( m_password.isEmpty() && ArkSettings::askCreatePassword() ) ++ KPasswordDialog::getNewPassword( m_password, i18n("Warning!\nUsing KGpg for encryption is more secure.\nCancel this dialog or enter password for %1 archiver:").arg(m_archiver_program) ); ++} ++ ++ ++void ArjArch::addDir( const TQString & _dirName ) ++{ ++ if ( !_dirName.isEmpty() ) ++ { ++ TQStringList list; ++ list.append( _dirName ); ++ addFile( list ); ++ } ++} ++ ++void ArjArch::addFile( const TQStringList & urls ) ++{ ++ KProcess *kp = m_currentProcess = new KProcess; ++ ++ kp->clearArguments(); ++ *kp << m_archiver_program; ++ *kp << "a"; ++ ++ if ( ArkSettings::replaceOnlyWithNewer() ) ++ *kp << "-u"; ++ ++ if ( ArkSettings::rarRecurseSubdirs() ) ++ *kp << "-r"; ++ ++ if ( !m_password.isEmpty() ) ++ *kp << "-g"+m_password; ++ ++ *kp << m_filename; ++ ++ KURL dir( urls.first() ); ++ TQDir::setCurrent( dir.directory() ); ++ ++ TQStringList::ConstIterator iter; ++ for ( iter = urls.begin(); iter != urls.end(); ++iter ) ++ { ++ KURL url( *iter ); ++ *kp << url.fileName(); ++ } ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotAddExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigAdd( false ); ++ } ++} ++ ++bool ArjArch::processLine( const TQCString &line ) ++{ ++ TQString unicode_line; ++ ++ TQTextCodec *codec = TQTextCodec::codecForLocale(); ++ TQTextCodec *codec_alt = TQTextCodec::codecForName("CP1251"); ++ unicode_line = codec->toUnicode( line ); ++ ++ TQStringList list; ++ ++ TQStringList l2 = TQStringList::split( ' ', line ); ++ if( l2.size() >= 2 && l2[0].endsWith(")") && l2[0].length() == 4 ) ++ { ++ file_entry = line.mid(4); ++ } ++ else if( l2.size() > 3 ) ++ { ++ if( l2[1] == "UNIX" ) ++ list << codec->toUnicode(file_entry).stripWhiteSpace(); // filename ++ else ++ list << codec_alt->toUnicode(file_entry).stripWhiteSpace(); // filename ++ ++ list << l2[ 2 ]; // size ++ list << l2[ 3 ]; // packed ++ double ratio = l2[4].toDouble(); ++ if( ratio == 0 ) ++ ratio = 1; ++ list << TQString("%1").arg(100-100/ratio); // ratio ++ ++ TQStringList date = TQStringList::split( '-', l2[ 5 ] ); ++ list << ArkUtils::fixYear( date[ 0 ].latin1() ) + '-' + date[ 1 ] + '-' + date [ 2 ] + ' ' + l2[6]; // date ++ list << l2[ 7 ]; // attributes ++ ++ m_gui->fileList()->addItem( list ); // send to GUI ++ ++ file_entry = ""; ++ } ++ ++ return true; ++} ++ ++ ++void ArjArch::open() ++{ ++ setHeaders(); ++ ++ m_buffer = ""; ++ m_header_removed = false; ++ m_finished = false; ++ ++ KProcess *kp = m_currentProcess = new KProcess; ++ ++ *kp << m_unarchiver_program << "v" << m_filename; ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedTOC(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotOpenExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigOpen( this, false, TQString::null, 0 ); ++ } ++} ++ ++void ArjArch::unarchFileInternal() ++{ ++ // if fileList is empty, all files are extracted. ++ // if destDir is empty, abort with error. ++ if ( m_destDir.isEmpty() || m_destDir.isNull() ) ++ { ++ kdError( 1601 ) << "There was no extract directory given." << endl; ++ return; ++ } ++ ++ KProcess *kp = m_currentProcess = new KProcess; ++ kp->clearArguments(); ++ ++ *kp << m_unarchiver_program; ++ *kp << "x"; ++ ++ if ( !m_password.isEmpty() ) ++ *kp << "-g" + m_password; ++ ++ if ( ArkSettings::extractOverwrite() ) ++ *kp << "-jyo"; ++ ++ *kp << "-jycv"; ++ ++ *kp << "-w" + m_destDir; ++ *kp << "-ht" + m_destDir; ++ ++ TQTextCodec *codec = TQTextCodec::codecForLocale(); ++ *kp << codec->fromUnicode(m_filename); ++ ++ // if the list is empty, no filenames go on the command line, ++ // and we then extract everything in the archive. ++ if ( m_fileList ) ++ { ++ TQStringList::Iterator it; ++ ++ for ( it = m_fileList->begin(); it != m_fileList->end(); ++it ) ++ { ++ *kp << codec->fromUnicode(*it); ++ } ++ } ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotExtractExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigExtract( false ); ++ } ++} ++ ++bool ArjArch::passwordRequired() ++{ ++ return m_lastShellOutput.findRev("File is password encrypted") != -1; ++} ++ ++void ArjArch::remove( TQStringList *list ) ++{ ++ if ( !list ) ++ return; ++ ++ KProcess *kp = m_currentProcess = new KProcess; ++ kp->clearArguments(); ++ ++ *kp << m_archiver_program << "d" << m_filename; ++ ++ TQStringList::Iterator it; ++ for ( it = list->begin(); it != list->end(); ++it ) ++ { ++ TQString str = *it; ++ *kp << str; ++ } ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotDeleteExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigDelete( false ); ++ } ++} ++ ++void ArjArch::test() ++{ ++ clearShellOutput(); ++ ++ KProcess *kp = m_currentProcess = new KProcess; ++ kp->clearArguments(); ++ ++ *kp << m_unarchiver_program << "t"; ++ ++ if ( !m_password.isEmpty() ) ++ *kp << "-g" + m_password; ++ ++ *kp << m_filename; ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotTestExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigTest( false ); ++ } ++} ++ ++#include "arj.moc" +diff --git a/ark/arj.h b/ark/arj.h +new file mode 100644 +index 0000000..13d45b4 +--- /dev/null ++++ b/ark/arj.h +@@ -0,0 +1,65 @@ ++/* ++ ++ ark -- archiver for the KDE project ++ ++ Copyright (C) ++ ++ 1997-1999: Rob Palmbos [email protected] ++ 1999: Francois-Xavier Duranceau [email protected] ++ 1999-2000: Corel Corporation (author: Emily Ezust, [email protected]) ++ 2001: Corel Corporation (author: Michael Jarrett, [email protected]) ++ 2007: ALT Linux (author: Sergey V Turchin, [email protected]) ++ ++ This program is free software; you can redistribute it and/or ++ modify it under the terms of the GNU General Public License ++ as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++*/ ++ ++#ifndef ARJARCH_H ++#define ARJARCH_H ++ ++#include "arch.h" ++ ++class TQString; ++class TQStringList; ++ ++class ArkWidget; ++ ++class ArjArch : public Arch ++{ ++ Q_OBJECT ++ public: ++ ArjArch( ArkWidget *_gui, const TQString & _fileName ); ++ virtual ~ArjArch() { } ++ ++ virtual void open(); ++ virtual void create(); ++ virtual void test(); ++ ++ virtual void remove(TQStringList*); ++ virtual void addFile(const TQStringList&); ++ virtual void addDir(const TQString&); ++ ++ virtual void unarchFileInternal(); ++ virtual bool passwordRequired(); ++ virtual void createPassword(); ++ ++ protected slots: ++ virtual bool processLine( const TQCString & ); ++ private: ++ TQCString file_entry; ++ void setHeaders(); ++}; ++ ++#endif /* ARJARCH_H */ +diff --git a/ark/ark.kcfg b/ark/ark.kcfg +index 10e7c22..0a20d55 100644 +--- a/ark/ark.kcfg ++++ b/ark/ark.kcfg +@@ -18,6 +18,11 @@ + <whatsthis>Overwrite any files that have matching names on disk with the one from the archive</whatsthis> + <default>false</default> + </entry> ++ <entry name="askCreatePassword" type="Bool"> ++ <label>Ask for password when create archive if possible</label> ++ <whatsthis>Ask for password when create archive if possible</whatsthis> ++ <default>true</default> ++ </entry> + </group> + <group name="Tar"> + <entry name="preservePerms" type="Bool"> +diff --git a/ark/ark.la.cpp b/ark/ark.la.cpp +new file mode 100644 +index 0000000..3d480c4 +--- /dev/null ++++ b/ark/ark.la.cpp +@@ -0,0 +1,2 @@ ++extern "C" int kdemain(int argc, char* argv[]); ++int main(int argc, char* argv[]) { return kdemain(argc,argv); } +diff --git a/ark/ark_dummy.cpp b/ark/ark_dummy.cpp +new file mode 100644 +index 0000000..efd89d8 +--- /dev/null ++++ b/ark/ark_dummy.cpp +@@ -0,0 +1,3 @@ ++#include <kdemacros.h> ++extern "C" int kdemain(int argc, char* argv[]); ++extern "C" KDE_EXPORT int tdeinitmain(int argc, char* argv[]) { return kdemain(argc,argv); } +diff --git a/ark/ark_part.cpp b/ark/ark_part.cpp +index f52d763..456e397 100644 +--- a/ark/ark_part.cpp ++++ b/ark/ark_part.cpp +@@ -139,6 +139,9 @@ ArkPart::setupActions() + editAction = new KAction(i18n("Edit &With..."), 0, TQT_TQOBJECT(awidget), + TQT_SLOT(action_edit()), actionCollection(), "edit"); + ++ testAction = new KAction(i18n("&Test integrity"), 0, awidget, ++ TQT_SLOT(action_test()), actionCollection(), "test"); ++ + selectAllAction = KStdAction::selectAll(TQT_TQOBJECT(awidget->fileList()), TQT_SLOT(selectAll()), actionCollection(), "select_all"); + + deselectAllAction = new KAction(i18n("&Unselect All"), 0, TQT_TQOBJECT(awidget->fileList()),TQT_SLOT(unselectAll()), actionCollection(), "deselect_all"); +@@ -189,6 +192,7 @@ void ArkPart::fixEnables() + addDirAction->setEnabled(awidget->isArchiveOpen() && + !bReadOnly && bAddDirSupported); + extractAction->setEnabled(bHaveFiles); ++ testAction->setEnabled(true); + awidget->searchBar()->setEnabled(bHaveFiles); + + bool b = ( bHaveFiles +@@ -216,6 +220,7 @@ void ArkPart::initialEnables() + addDirAction->setEnabled(false); + openWithAction->setEnabled(false); + editAction->setEnabled(false); ++ testAction->setEnabled(false); + + awidget->searchBar()->setEnabled(false); + } +@@ -234,6 +239,7 @@ void ArkPart::disableActions() + addDirAction->setEnabled(false); + openWithAction->setEnabled(false); + editAction->setEnabled(false); ++ testAction->setEnabled(false); + awidget->searchBar()->setEnabled(false); + } + +diff --git a/ark/ark_part.h b/ark/ark_part.h +index fb136b6..1fa6166 100644 +--- a/ark/ark_part.h ++++ b/ark/ark_part.h +@@ -139,6 +139,7 @@ private: + KAction *deselectAllAction; + KAction *invertSelectionAction; + KAction *editAction; ++ KAction *testAction; + + // the following have different enable rules from the above KActions + KAction *popupViewAction; +diff --git a/ark/ark_part.rc b/ark/ark_part.rc +index ff0a894..39525e1 100644 +--- a/ark/ark_part.rc ++++ b/ark/ark_part.rc +@@ -21,6 +21,7 @@ + <Action name="view"/> + <Action name="open_with"/> + <Action name="edit"/> ++ <Action name="test"/> + </Menu> + <Menu noMerge="1" name="settings"> + <text>&Settings</text> +diff --git a/ark/ark_part_readonly.rc b/ark/ark_part_readonly.rc +index c124aae..84f4f02 100644 +--- a/ark/ark_part_readonly.rc ++++ b/ark/ark_part_readonly.rc +@@ -17,6 +17,7 @@ + <Action name="extract"/> + <Action name="view"/> + <Action name="open_with"/> ++ <Action name="test"/> + </Menu> + <Menu noMerge="1" name="settings"> + <text>&Settings</text> +diff --git a/ark/arkwidget.cpp b/ark/arkwidget.cpp +index 80fd413..0935e38 100644 +--- a/ark/arkwidget.cpp ++++ b/ark/arkwidget.cpp +@@ -739,7 +739,10 @@ ArkWidget::file_open(const KURL& url) + m_url = url; + //arch->clearShellOutput(); + +- openArchive( strFile ); ++ if( url.hasPass() ) ++ openArchive( strFile, url.pass() ); ++ else ++ openArchive( strFile ); + } + + +@@ -1184,6 +1187,8 @@ ArkWidget::slotAddDone(bool _bSuccess) + //simulate reload + KURL u; + u.setPath( arch->fileName() ); ++ if( !arch->password().isEmpty() ) ++ u.setPass( arch->password() ); + file_close(); + file_open( u ); + emit setWindowCaption( u.path() ); +@@ -1682,6 +1687,25 @@ ArkWidget::action_view() + } + + void ++ArkWidget::action_test() ++{ ++ connect( arch, TQT_SIGNAL( sigTest( bool ) ), this, ++ TQT_SLOT( slotTestDone( bool ) ) ); ++ busy( i18n( "Testing..." ) ); ++ arch->test(); ++} ++ ++void ++ArkWidget::slotTestDone(bool ok) ++{ ++ disconnect( arch, TQT_SIGNAL( sigTest( bool ) ), this, ++ TQT_SLOT( slotTestDone( bool ) ) ); ++ ready(); ++ if( ok ) ++ KMessageBox::information(0, i18n("Test successful.")); ++} ++ ++void + ArkWidget::viewSlotExtractDone( bool success ) + { + if ( success ) +@@ -2102,6 +2126,7 @@ ArkWidget::slotCreate(Arch * _newarch, bool _success, const TQString & _filename + m_bIsSimpleCompressedFile = + (m_archType == COMPRESSED_FORMAT); + fixEnables(); ++ arch->createPassword(); + } + else + { +@@ -2115,7 +2140,7 @@ ArkWidget::slotCreate(Arch * _newarch, bool _success, const TQString & _filename + ////////////////////////////////////////////////////////////////////// + + void +-ArkWidget::openArchive( const TQString & _filename ) ++ArkWidget::openArchive( const TQString & _filename, const TQString & _password ) + { + Arch *newArch = 0; + ArchType archtype; +@@ -2172,6 +2197,7 @@ ArkWidget::openArchive( const TQString & _filename ) + busy( i18n( "Opening the archive..." ) ); + m_fileListView->setUpdatesEnabled( false ); + arch = newArch; ++ newArch->setPassword(_password); + newArch->open(); + emit addRecentURL( m_url ); + } +diff --git a/ark/arkwidget.h b/ark/arkwidget.h +index 67c2f78..fa2b68e 100644 +--- a/ark/arkwidget.h ++++ b/ark/arkwidget.h +@@ -121,6 +121,7 @@ protected slots: + bool action_extract(); + void slotOpenWith(); + void action_edit(); ++ void action_test(); + + void doPopup(TQListViewItem *, const TQPoint &, int); // right-click menus + void viewFile(TQListViewItem*); // doubleClick view files +@@ -133,6 +134,7 @@ protected slots: + void slotExtractRemoteDone(KIO::Job *job); + void slotAddDone(bool); + void slotEditFinished(KProcess *); ++ void slotTestDone(bool); + signals: + void openURLRequest( const KURL & url ); + void request_file_quit(); +@@ -235,7 +237,7 @@ protected: + void createFileListView(); + + bool createArchive(const TQString & name); +- void openArchive(const TQString & name); ++ void openArchive(const TQString & name, const TQString & pass = ""); + + void showCurrentFile(); + +diff --git a/ark/lha.cpp b/ark/lha.cpp +index f83e809..14fa68d 100644 +--- a/ark/lha.cpp ++++ b/ark/lha.cpp +@@ -55,8 +55,10 @@ + LhaArch::LhaArch( ArkWidget *_gui, const TQString & _fileName ) + : Arch( _gui, _fileName ) + { +- m_archiver_program = "lha"; ++ m_archiver_program = m_unarchiver_program = "lha"; ++ + verifyCompressUtilityIsAvailable( m_archiver_program ); ++ verifyUncompressUtilityIsAvailable( m_unarchiver_program ); + + m_headerString = "----"; + } +diff --git a/ark/rar.cpp b/ark/rar.cpp +index 5369e89..ac59d74 100644 +--- a/ark/rar.cpp ++++ b/ark/rar.cpp +@@ -107,6 +107,12 @@ bool RarArch::processLine( const TQCString &line ) + + TQStringList l2 = TQStringList::split( ' ', line ); + ++ if( l2[5].startsWith("d") ) ++ { ++ m_isFirstLine = true; ++ return true; ++ } ++ + list << m_entryFilename; // filename + list << l2[ 0 ]; // size + list << l2[ 1 ]; // packed +@@ -179,6 +185,12 @@ void RarArch::create() + Arch::Extract | Arch::Delete | Arch::Add | Arch::View ); + } + ++void RarArch::createPassword() ++{ ++ if( m_password.isEmpty() && ArkSettings::askCreatePassword() ) ++ KPasswordDialog::getNewPassword( m_password, i18n("Warning!\nUsing KGpg for encryption is more secure.\nCancel this dialog or enter password for %1 archiver:").arg(m_archiver_program) ); ++} ++ + void RarArch::addDir( const TQString & _dirName ) + { + if ( !_dirName.isEmpty() ) +@@ -206,6 +218,9 @@ void RarArch::addFile( const TQStringList & urls ) + if ( ArkSettings::rarRecurseSubdirs() ) + *kp << "-r"; + ++ if ( !m_password.isEmpty() ) ++ *kp << "-p"+m_password; ++ + *kp << m_filename; + + KURL dir( urls.first() ); +@@ -291,7 +306,7 @@ void RarArch::unarchFileInternal() + + bool RarArch::passwordRequired() + { +- return m_lastShellOutput.findRev("password incorrect ?)")+1; ++ return m_lastShellOutput.find("Enter password") >= 0; + } + + void RarArch::remove( TQStringList *list ) +@@ -325,4 +340,32 @@ void RarArch::remove( TQStringList *list ) + } + } + ++void RarArch::test() ++{ ++ clearShellOutput(); ++ ++ KProcess *kp = m_currentProcess = new KProcess; ++ kp->clearArguments(); ++ ++ *kp << m_unarchiver_program << "t"; ++ ++ if ( !m_password.isEmpty() ) ++ *kp << "-p" + m_password; ++ ++ *kp << m_filename; ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotTestExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigTest( false ); ++ } ++} ++ + #include "rar.moc" +diff --git a/ark/rar.h b/ark/rar.h +index 5b0e183..9bd0aea 100644 +--- a/ark/rar.h ++++ b/ark/rar.h +@@ -42,6 +42,7 @@ class RarArch : public Arch + + virtual void open(); + virtual void create(); ++ virtual void test(); + + virtual void addFile( const TQStringList & ); + virtual void addDir( const TQString & ); +@@ -49,6 +50,7 @@ class RarArch : public Arch + virtual void remove( TQStringList * ); + virtual void unarchFileInternal(); + virtual bool passwordRequired(); ++ virtual void createPassword(); + + protected slots: + virtual bool processLine( const TQCString & ); +diff --git a/ark/sevenzip.cpp b/ark/sevenzip.cpp +index 216fb8d..c1dc7a7 100644 +--- a/ark/sevenzip.cpp ++++ b/ark/sevenzip.cpp +@@ -25,6 +25,7 @@ + */ + + #include <tqdir.h> ++#include <tqtextcodec.h> + + #include <kglobal.h> + #include <klocale.h> +@@ -120,6 +121,12 @@ void SevenZipArch::create() + Arch::Extract | Arch::Delete | Arch::Add | Arch::View ); + } + ++void SevenZipArch::createPassword() ++{ ++ if( m_password.isEmpty() && ArkSettings::askCreatePassword() ) ++ KPasswordDialog::getNewPassword( m_password, i18n("Warning!\nUsing KGpg for encryption is more secure.\nCancel this dialog or enter password for %1 archiver:").arg(m_archiver_program) ); ++} ++ + void SevenZipArch::addFile( const TQStringList & urls ) + { + KProcess *kp = m_currentProcess = new KProcess; +@@ -127,6 +134,9 @@ void SevenZipArch::addFile( const TQStringList & urls ) + kp->clearArguments(); + *kp << m_archiver_program << "a" ; + ++ if ( !m_password.isEmpty() ) ++ *kp << "-p" + m_password; ++ + KURL url( urls.first() ); + TQDir::setCurrent( url.directory() ); + +@@ -163,6 +173,11 @@ void SevenZipArch::addDir( const TQString & dirName ) + } + } + ++bool SevenZipArch::passwordRequired() ++{ ++ return m_lastShellOutput.find("Enter password") >= 0; ++} ++ + void SevenZipArch::remove( TQStringList *list ) + { + if ( !list ) +@@ -212,6 +227,12 @@ void SevenZipArch::unarchFileInternal( ) + //*kp << "-ao"; + } + ++ // FIXME overwrite existing files created with wrong password ++ *kp << "-y"; ++ ++ if ( !m_password.isEmpty() ) ++ *kp << "-p" + m_password; ++ + *kp << m_filename; + + // if the file list is empty, no filenames go on the command line, +@@ -243,12 +264,15 @@ void SevenZipArch::unarchFileInternal( ) + + bool SevenZipArch::processLine( const TQCString& _line ) + { +- TQCString line( _line ); ++ TQString line; + TQString columns[ 11 ]; + unsigned int pos = 0; + int strpos, len; + +- columns[ 0 ] = line.right( line.length() - m_nameColumnPos +1); ++ TQTextCodec *codec = TQTextCodec::codecForLocale(); ++ line = codec->toUnicode( _line ); ++ ++ columns[ 0 ] = line.right( line.length() - m_nameColumnPos); + line.truncate( m_nameColumnPos ); + + // Go through our columns, try to pick out data, return silently on failure +@@ -275,6 +299,8 @@ bool SevenZipArch::processLine( const TQCString& _line ) + columns[ curCol->colRef ] = line.mid( strpos, len ); + } + ++ // Separated directories pass ++ if(columns[4].length() && columns[4][0] == 'D') return true; + + if ( m_dateCol >= 0 ) + { +@@ -364,4 +390,32 @@ void SevenZipArch::slotReceivedTOC( KProcess*, char* data, int length ) + data[ length ] = endchar; + } + ++void SevenZipArch::test() ++{ ++ clearShellOutput(); ++ ++ KProcess *kp = m_currentProcess = new KProcess; ++ kp->clearArguments(); ++ ++ *kp << m_unarchiver_program << "t"; ++ ++ if ( !m_password.isEmpty() ) ++ *kp << "-p" + m_password; ++ ++ *kp << m_filename; ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotTestExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigTest( false ); ++ } ++} ++ + #include "sevenzip.moc" +diff --git a/ark/sevenzip.h b/ark/sevenzip.h +index c37708b..de10693 100644 +--- a/ark/sevenzip.h ++++ b/ark/sevenzip.h +@@ -36,12 +36,15 @@ class SevenZipArch : public Arch + + virtual void open(); + virtual void create(); ++ virtual void test(); + + virtual void addFile( const TQStringList & ); + virtual void addDir( const TQString & ); + + virtual void remove( TQStringList * ); + virtual void unarchFileInternal( ); ++ virtual bool passwordRequired(); ++ virtual void createPassword(); + + protected slots: + virtual bool processLine( const TQCString& line ); +diff --git a/ark/tar.cpp b/ark/tar.cpp +index 4cdb792..1c1fac9 100644 +--- a/ark/tar.cpp ++++ b/ark/tar.cpp +@@ -785,5 +785,42 @@ void TarArch::customEvent( TQCustomEvent *ev ) + } + } + ++void TarArch::test() ++{ ++ clearShellOutput(); ++ ++ KProcess *kp = m_currentProcess = new KProcess; ++ kp->clearArguments(); ++ ++ TQString uncomp = getUnCompressor(); ++ ++ *kp << uncomp; ++ ++ if( uncomp == "bunzip2" || uncomp == "gunzip" || uncomp == "lzop" ) ++ { ++ *kp << "-t"; ++ } ++ else ++ { ++ Arch::test(); ++ return; ++ } ++ ++ *kp << m_filename; ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotTestExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigTest( false ); ++ } ++} ++ + #include "tar.moc" + // kate: space-indent on; +diff --git a/ark/tar.h b/ark/tar.h +index df0d012..3b75008 100644 +--- a/ark/tar.h ++++ b/ark/tar.h +@@ -64,6 +64,7 @@ class TarArch : public Arch + + virtual void open(); + virtual void create(); ++ virtual void test(); + + virtual void addFile( const TQStringList & ); + virtual void addDir( const TQString & ); +diff --git a/ark/zip.cpp b/ark/zip.cpp +index 4a647b5..1888d50 100644 +--- a/ark/zip.cpp ++++ b/ark/zip.cpp +@@ -34,6 +34,7 @@ + #include <klocale.h> + #include <kmessagebox.h> + #include <kprocess.h> ++#include <kpassdlg.h> + + // ark includes + #include "zip.h" +@@ -114,6 +115,12 @@ void ZipArch::create() + Arch::Extract | Arch::Delete | Arch::Add | Arch::View ); + } + ++void ZipArch::createPassword() ++{ ++ if( m_password.isEmpty() && ArkSettings::askCreatePassword() ) ++ KPasswordDialog::getNewPassword( m_password, i18n("Warning!\nUsing KGpg for encryption is more secure.\nCancel this dialog or enter password for %1 archiver:").arg(m_archiver_program) ); ++} ++ + void ZipArch::addDir( const TQString & _dirName ) + { + if ( !_dirName.isEmpty() ) +@@ -240,7 +247,7 @@ void ZipArch::unarchFileInternal() + + bool ZipArch::passwordRequired() + { +- return m_lastShellOutput.findRev("unable to get password\n")!=-1 || m_lastShellOutput.endsWith("password inflating\n") || m_lastShellOutput.findRev("password incorrect--reenter:")!=-1 || m_lastShellOutput.endsWith("incorrect password\n"); ++ return m_lastShellOutput.findRev("password:") >= 0 || m_lastShellOutput.findRev("unable to get password\n")!=-1 || m_lastShellOutput.endsWith("password inflating\n") || m_lastShellOutput.findRev("password incorrect--reenter:")!=-1 || m_lastShellOutput.endsWith("incorrect password\n"); + } + + void ZipArch::remove( TQStringList *list ) +@@ -248,6 +255,7 @@ void ZipArch::remove( TQStringList *list ) + if ( !list ) + return; + ++ + KProcess *kp = m_currentProcess = new KProcess; + kp->clearArguments(); + +@@ -274,4 +282,32 @@ void ZipArch::remove( TQStringList *list ) + } + } + ++void ZipArch::test() ++{ ++ clearShellOutput(); ++ ++ KProcess *kp = m_currentProcess = new KProcess; ++ kp->clearArguments(); ++ ++ *kp << m_unarchiver_program << "-t"; ++ ++ if ( !m_password.isEmpty() ) ++ *kp << "-P" << m_password; ++ ++ *kp << m_filename; ++ ++ connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), ++ SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); ++ connect( kp, SIGNAL( processExited(KProcess*) ), ++ SLOT( slotTestExited(KProcess*) ) ); ++ ++ if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) ++ { ++ KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); ++ emit sigTest( false ); ++ } ++} ++ + #include "zip.moc" +diff --git a/ark/zip.h b/ark/zip.h +index 28f61bd..1e31f76 100644 +--- a/ark/zip.h ++++ b/ark/zip.h +@@ -45,6 +45,7 @@ class ZipArch : public Arch + + virtual void open(); + virtual void create(); ++ virtual void test(); + + virtual void addFile( const TQStringList & ); + virtual void addDir( const TQString & ); +@@ -52,6 +53,7 @@ class ZipArch : public Arch + virtual void remove( TQStringList * ); + virtual void unarchFileInternal(); + virtual bool passwordRequired(); ++ virtual void createPassword(); + private: + void setHeaders(); + }; diff --git a/redhat/kdeutils/kdeutils-3.5.13-fix_ark_embedding.patch b/redhat/kdeutils/kdeutils-3.5.13-fix_ark_embedding.patch new file mode 100644 index 000000000..e54e84850 --- /dev/null +++ b/redhat/kdeutils/kdeutils-3.5.13-fix_ark_embedding.patch @@ -0,0 +1,16 @@ +commit 2a1d4a67d148c750266837db16a3e7b34cf13258 +Author: Timothy Pearson <[email protected]> +Date: 1326326096 -0600 + + Allow ark embedding + This closes Bug 670 + +diff --git a/ark/ark_part.desktop b/ark/ark_part.desktop +index f09a772..e62db26 100644 +--- a/ark/ark_part.desktop ++++ b/ark/ark_part.desktop +@@ -133,4 +133,3 @@ Icon=ark + Type=Service + ServiceTypes=KParts/ReadOnlyPart + X-KDE-Library=libarkpart +-Hidden=true diff --git a/redhat/kdeutils/kdeutils-3.5.13-further_organise_menu.patch b/redhat/kdeutils/kdeutils-3.5.13-further_organise_menu.patch new file mode 100644 index 000000000..3cbbe612e --- /dev/null +++ b/redhat/kdeutils/kdeutils-3.5.13-further_organise_menu.patch @@ -0,0 +1,49 @@ +commit b970fc42f21431495c12a97f52e6f0699b173170 +Author: Darrell Anderson <[email protected]> +Date: 1331779039 -0500 + + Further organize TDE Menu. + +diff --git a/kcalc/kcalc.desktop b/kcalc/kcalc.desktop +index 19ae663..6481922 100644 +--- a/kcalc/kcalc.desktop ++++ b/kcalc/kcalc.desktop +@@ -85,4 +85,4 @@ GenericName[zu]=Umshini wokubala ezenzululwazi + Terminal=false + Type=Application + X-KDE-StartupNotify=true +-Categories=Qt;KDE;Utility;X-KDE-Utilities-Desktop; ++Categories=Qt;KDE;Utility; +diff --git a/kdelirc/irkick/irkick.desktop b/kdelirc/irkick/irkick.desktop +index 24a17b6..2f85103 100644 +--- a/kdelirc/irkick/irkick.desktop ++++ b/kdelirc/irkick/irkick.desktop +@@ -58,7 +58,7 @@ X-KDE-autostart-after=panel + X-KDE-StartupNotify=false + X-DCOP-ServiceType=Unique + X-KDE-autostart-condition=irkickrc:General:AutoStart:false +-Categories=Qt;KDE;Utility;X-KDE-Utilities-Peripherals; ++Categories=Qt;KDE;Utility; + + Exec=irkick + Icon=irkick +diff --git a/kedit/KEdit.desktop b/kedit/KEdit.desktop +index 0170151..f4e3abc 100644 +--- a/kedit/KEdit.desktop ++++ b/kedit/KEdit.desktop +@@ -79,4 +79,4 @@ Name[xh]=Abahleli Be K + Name[zh_TW]=KDE 編輯器 + X-KDE-StartupNotify=true + X-DCOP-ServiceType=Multi +-Categories=Qt;KDE;Utility;TextEditor; ++Categories=Qt;KDE;TextEditor; +diff --git a/kfloppy/KFloppy.desktop b/kfloppy/KFloppy.desktop +index 113a24d..e1f7a59 100644 +--- a/kfloppy/KFloppy.desktop ++++ b/kfloppy/KFloppy.desktop +@@ -93,4 +93,4 @@ Type=Application + Terminal=false + X-KDE-StartupNotify=true + X-DCOP-ServiceType=Multi +-Categories=Qt;KDE;Utility;X-KDE-Utilities-Peripherals; ++Categories=Qt;KDE;Utility diff --git a/redhat/kdeutils/kdeutils-3.5.13-remove_more_applications.patch b/redhat/kdeutils/kdeutils-3.5.13-remove_more_applications.patch new file mode 100644 index 000000000..108876051 --- /dev/null +++ b/redhat/kdeutils/kdeutils-3.5.13-remove_more_applications.patch @@ -0,0 +1,46 @@ +commit 803f475286c861cb5e7c9fa4f4dfadc5d0900177 +Author: Darrell Anderson <[email protected]> +Date: 1331690354 -0500 + + Remove "More Applications" from TDE menu. Add Utility category to KEdit. + This partially resolves bug report 653. + +--- a/kdf/kdf.desktop ++++ b/kdf/kdf.desktop +@@ -85,4 +85,4 @@ Terminal=false + DocPath=kdf/index.html + X-KDE-StartupNotify=true + X-DCOP-ServiceType=Multi +-Categories=Qt;KDE;System;X-KDE-More; ++Categories=Qt;KDE;System; +diff --git a/kdf/kwikdisk.desktop b/kdf/kwikdisk.desktop +index 28ca5b5..c723364 100644 +--- a/kdf/kwikdisk.desktop ++++ b/kdf/kwikdisk.desktop +@@ -74,5 +74,5 @@ GenericName[zh_CN]=可移动介质工具 + GenericName[zh_TW]=可移動媒體公用程式 + GenericName[zu]=Umsebenzi Wonozindaba Ogudluzekayo + Terminal=false +-Categories=Qt;KDE;System;X-KDE-More; ++Categories=Qt;KDE;System; + OnlyShowIn=KDE; +diff --git a/kedit/KEdit.desktop b/kedit/KEdit.desktop +index f4e3abc..0170151 100644 +--- a/kedit/KEdit.desktop ++++ b/kedit/KEdit.desktop +@@ -79,4 +79,4 @@ Name[xh]=Abahleli Be K + Name[zh_TW]=KDE 編輯器 + X-KDE-StartupNotify=true + X-DCOP-ServiceType=Multi +-Categories=Qt;KDE;TextEditor; ++Categories=Qt;KDE;Utility;TextEditor; +diff --git a/ktimer/ktimer.desktop b/ktimer/ktimer.desktop +index d34c43b..1d12283 100644 +--- a/ktimer/ktimer.desktop ++++ b/ktimer/ktimer.desktop +@@ -60,4 +60,4 @@ Name[xh]=Umjongi Wexesha + Name[zh_TW]=KDE 計時器 + X-KDE-StartupNotify=true + X-DCOP-ServiceType=Multi +-Categories=Qt;KDE;Utility;X-KDE-More; ++Categories=Qt;KDE;Utility; diff --git a/redhat/kdeutils/kdeutils-3.5.13-reorganize_kcontrol_menu_tree.patch b/redhat/kdeutils/kdeutils-3.5.13-reorganize_kcontrol_menu_tree.patch new file mode 100644 index 000000000..96033e314 --- /dev/null +++ b/redhat/kdeutils/kdeutils-3.5.13-reorganize_kcontrol_menu_tree.patch @@ -0,0 +1,57 @@ +commit 7780bb7b2050cadc6b77d0adc2b0b9629365379c +Author: Darrell Anderson <[email protected]> +Date: 1331778476 -0500 + + Reorganize KControl menu tree. + * Move former KInfoCenter items -> Hardware/Information. + * Move Laptop Battery -> Hardware. + +diff --git a/kdf/kcmdf.desktop b/kdf/kcmdf.desktop +index 4c2613b..62cc3f6 100644 +--- a/kdf/kcmdf.desktop ++++ b/kdf/kcmdf.desktop +@@ -2,6 +2,7 @@ + X-KDE-ModuleType=Library + X-KDE-Library=kdf + X-KDE-FactoryName=kdf ++X-KDE-ParentApp=kinfocenter + X-KDE-LocalUser=false + Exec=kcmshell kcmdf + Icon=kcmdf +@@ -135,4 +136,4 @@ Comment[zh_CN]=显示挂接设备的磁盘使用率 + Comment[zh_TW]=顯示連接的設備的磁碟使用率 + Comment[zu]=Ikhombisa ukusebenziswa kwediski yamathuluzi okunyuka + +-Categories=Qt;KDE;X-KDE-settings-hardware; ++Categories=Qt;KDE;X-KDE-settings-information; +diff --git a/klaptopdaemon/applnk/laptop.desktop b/klaptopdaemon/applnk/laptop.desktop +index 5c4101c..5a3ce26 100644 +--- a/klaptopdaemon/applnk/laptop.desktop ++++ b/klaptopdaemon/applnk/laptop.desktop +@@ -6,7 +6,7 @@ Exec=kcmshell laptop + Icon=laptop_battery + Type=Application + DocPath=kcontrol/laptop/index.html +-Categories=Qt;KDE;X-KDE-settings-power; ++Categories=Qt;KDE;X-KDE-settings-hardware; + Comment=Laptop Battery + Comment[af]=Draagbare rekenaar Batery + Comment[ar]=بطّاريّة الحاسوب المحمول +diff --git a/klaptopdaemon/applnk/pcmcia.desktop b/klaptopdaemon/applnk/pcmcia.desktop +index f139c2a..a519aec 100644 +--- a/klaptopdaemon/applnk/pcmcia.desktop ++++ b/klaptopdaemon/applnk/pcmcia.desktop +@@ -2,6 +2,7 @@ + X-KDE-ModuleType=Library + X-KDE-Library=laptop + X-KDE-FactoryName=pcmcia ++X-KDE-ParentApp=kinfocenter + Exec=kcmshell pcmcia + Icon=laptop_pcmcia + Type=Application +@@ -81,4 +82,4 @@ Name[pt_BR]=Cartões PCMCIA + Name[ta]= PCMCIA + Name[th]=อุปกรณ์ PCMCIA + +-Categories=Qt;KDE;X-KDE-settings-hardware; ++Categories=Qt;KDE;X-KDE-settings-information; diff --git a/redhat/kdeutils/trinity-kdeutils-3.5.13.spec b/redhat/kdeutils/trinity-kdeutils-3.5.13.spec index 392debefb..5f3a394d0 100755 --- a/redhat/kdeutils/trinity-kdeutils-3.5.13.spec +++ b/redhat/kdeutils/trinity-kdeutils-3.5.13.spec @@ -5,14 +5,15 @@ %endif # TDE 3.5.13 specific building variables +%define tde_appdir %{_datadir}/applications/kde %define tde_docdir %{_docdir}/kde %define tde_includedir %{_includedir}/kde %define tde_libdir %{_libdir}/trinity -Name: trinity-kdeutils +Name: tdeutils Version: 3.5.13 -Release: 5%{?dist}%{?_variant} +Release: 6%{?dist}%{?_variant} License: GPL Summary: TDE Utilities Group: Applications/System @@ -25,13 +26,14 @@ Prefix: %{_prefix} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: kdeutils-%{version}.tar.gz -Source1: klaptop_acpi_helper.pam -Source2: klaptop_acpi_helper.console -Source3: kcmlaptoprc +Source1: klaptop_acpi_helper.pam +Source2: klaptop_acpi_helper.console +Source3: kcmlaptoprc -BuildRequires: tqtinterface -BuildRequires: trinity-arts -BuildRequires: trinity-kdelibs +Obsoletes: trinity-kdeutils < %{version}-%{release} +Provides: trinity-kdeutils = %{version}-%{release} +Obsoletes: trinity-kdeutils-extras < %{version}-%{release} +Provides: trinity-kdeutils-extras = %{version}-%{release} # RedHat / Fedora legacy patches Patch1: kdf-3.0.2-label.patch @@ -39,29 +41,65 @@ Patch1: kdf-3.0.2-label.patch # TDE 3.5.13 RHEL/Fedora patches ## [kdeutils/klaptodaemon] removes dpkg commands Patch2: kdeutils-3.5.13-klaptopdaemon_dpkg_command.patch +## [tdeutils] Allow ark embedding [Bug #670] [Commit #2a1d4a67] +Patch3: kdeutils-3.5.13-fix_ark_embedding.patch +## [tdeutils] Remove "More Applications" from TDE menu. Add Utility category to KEdit. [Bug #653] [Commit #803f4752] +Patch4: kdeutils-3.5.13-remove_more_applications.patch +## [tdeutils] Reorganize KControl menu tree. [Commit #7780bb7b] +## * Move former KInfoCenter items -> Hardware/Information. +## * Move Laptop Battery -> Hardware. +Patch5: kdeutils-3.5.13-reorganize_kcontrol_menu_tree.patch +## [tdeutils] Further organize TDE Menu. [Commit #b970fc42] +Patch6: kdeutils-3.5.13-further_organise_menu.patch +## [tdeutils] [Ark] Repairs and extensions [Bug #1030] [Commit #1c84948d] +## Added support for Arj +## Added support for check archives +## Added support for password processing +## Fix show broken filenames into real UTF-8 +Patch7: kdeutils-3.5.13-ark_repairs_and_extensions.patch -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig +BuildRequires: tqtinterface-devel +BuildRequires: trinity-arts-devel +BuildRequires: tdelibs-devel +BuildRequires: autoconf automake libtool m4 +BuildRequires: gettext +BuildRequires: net-snmp-devel +BuildRequires: python-devel +BuildRequires: gmp-devel -Requires: tqtinterface -Requires: trinity-kdelibs - -BuildRequires: autoconf automake libtool m4 -BuildRequires: gettext -BuildRequires: net-snmp-devel -BuildRequires: python-devel -BuildRequires: gmp-devel %if 0%{?fedora} > 4 || 0%{?rhel} > 4 -BuildRequires: libXScrnSaver-devel libXtst-devel +BuildRequires: libXScrnSaver-devel libXtst-devel %endif %if 0%{?fedora} -BuildRequires: xmms-devel +BuildRequires: xmms-devel %endif -%define superkaramba_ver 0.39 -Obsoletes: superkaramba < 0:%{superkaramba_ver} -Provides: superkaramba = 0:%{superkaramba_ver} +Requires: trinity-ark = %{version}-%{release} +Requires: trinity-kcalc = %{version}-%{release} +Requires: trinity-kcharselect = %{version}-%{release} +Requires: trinity-kdelirc = %{version}-%{release} +Requires: trinity-kdessh = %{version}-%{release} +Requires: trinity-kdf = %{version}-%{release} +Requires: trinity-kedit = %{version}-%{release} +Requires: trinity-kfloppy = %{version}-%{release} +Requires: trinity-kgpg = %{version}-%{release} +Requires: trinity-khexedit = %{version}-%{release} +Requires: trinity-kjots = %{version}-%{release} +Requires: trinity-klaptopdaemon = %{version}-%{release} +Requires: trinity-kmilo = %{version}-%{release} +Requires: trinity-kmilo-legacy = %{version}-%{release} +Requires: trinity-kregexpeditor = %{version}-%{release} +Requires: trinity-ksim = %{version}-%{release} +Requires: trinity-ktimer = %{version}-%{release} +Requires: trinity-kwalletmanager = %{version}-%{release} +Requires: trinity-superkaramba = %{version}-%{release} + +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + +%files + %description Utilities for the Trinity Desktop Environment, including: @@ -76,41 +114,820 @@ Utilities for the Trinity Desktop Environment, including: * kgpg (gpg gui) * khexedit (hex editor) * kjots (note taker) + * klaptopdaemon (battery monitoring and management for laptops); + * kmilo * kregexpeditor (regular expression editor) + * ksim (system information monitor); * ktimer (task scheduler) * kwikdisk (removable media utility) +########## + +%package -n trinity-ark +Summary: graphical archiving tool for Trinity +Group: Applications/Utilities +#Requires: ncompress +Requires: unzip, zip +#Requires: zoo +Requires: bzip2 +#Requires: p7zip +Requires: xz +Requires: lzma +#Requires: rar, unrar + +%description -n trinity-ark +Ark is a graphical program for managing various archive formats within the +TDE environment. Archives can be viewed, extracted, created and modified +from within Ark. + +The program can handle various formats such as tar, gzip, bzip2, zip, rar and +lha (if appropriate command-line programs are installed). + +Ark can work closely with Konqueror in the KDE environment to handle archives, +if you install the Konqueror Integration plugin available in the konq-plugins +package. + +%files -n trinity-ark +%defattr(-,root,root,-) +%{_bindir}/ark +%{tde_libdir}/ark.la +%{tde_libdir}/ark.so +%{tde_libdir}/libarkpart.la +%{tde_libdir}/libarkpart.so +%{_libdir}/lib[kt]deinit_ark.so +%{tde_appdir}/ark.desktop +%{_datadir}/apps/ark/ +%{_datadir}/config.kcfg/ark.kcfg +%{_datadir}/icons/hicolor/*/apps/ark.png +%{_datadir}/icons/hicolor/scalable/apps/ark.svgz +%{_datadir}/services/ark_part.desktop +%{tde_docdir}/HTML/en/ark/ + +%post -n trinity-ark +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-ark +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kcalc +Summary: calculator for Trinity +Group: Applications/Utilities + +%description -n trinity-kcalc +KCalc is TDE's scientific calculator. + +It provides: +* trigonometric functions, logic operations, and statistical calculations +* easy cut and paste of numbers from/into its display +* a results-stack which lets you conveniently recall previous results +* configurable precision, and number of digits after the period + +%files -n trinity-kcalc +%defattr(-,root,root,-) +%{_bindir}/kcalc +%{tde_libdir}/kcalc.la +%{tde_libdir}/kcalc.so +%{_libdir}/lib[kt]deinit_kcalc.so +%{tde_appdir}/kcalc.desktop +%{_datadir}/apps/kcalc/ +%{_datadir}/apps/kconf_update/kcalcrc.upd +%{_datadir}/config.kcfg/kcalc.kcfg +%{_datadir}/icons/hicolor/*/apps/kcalc.png +%{_datadir}/icons/hicolor/scalable/apps/kcalc.svgz +%{tde_docdir}/HTML/en/kcalc/ + +%post -n trinity-kcalc +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kcalc +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kcharselect +Summary: character selector for Trinity +Group: Applications/Utilities + +%description -n trinity-kcharselect +A character set selector for TDE. + +%files -n trinity-kcharselect +%defattr(-,root,root,-) +%{_bindir}/kcharselect +%{tde_libdir}/kcharselect_panelapplet.la +%{tde_libdir}/kcharselect_panelapplet.so +%{tde_appdir}/KCharSelect.desktop +%{_datadir}/apps/kcharselect/ +%{_datadir}/apps/kconf_update/kcharselect.upd +%{_datadir}/apps/kicker/applets/kcharselectapplet.desktop +%{_datadir}/icons/hicolor/*/apps/kcharselect.png +%{tde_docdir}/HTML/en/kcharselect/ + +%post -n trinity-kcharselect +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kcharselect +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kdelirc +Summary: infrared control for Trinity +Group: Applications/Utilities + +%description -n trinity-kdelirc +This is a frontend for the LIRC suite to use infrared devices with TDE. + +%files -n trinity-kdelirc +%defattr(-,root,root,-) +%{_bindir}/irkick +%{tde_libdir}/irkick.la +%{tde_libdir}/irkick.so +%{tde_libdir}/kcm_kcmlirc.la +%{tde_libdir}/kcm_kcmlirc.so +%{_libdir}/lib[kt]deinit_irkick.so +%{tde_appdir}/irkick.desktop +%{tde_appdir}/kcmlirc.desktop +%{_datadir}/apps/irkick/ +%{_datadir}/apps/profiles/klauncher.profile.xml +%{_datadir}/apps/profiles/konqueror.profile.xml +%{_datadir}/apps/profiles/noatun.profile.xml +%{_datadir}/apps/profiles/profile.dtd +%{_datadir}/apps/remotes/RM-0010.remote.xml +%{_datadir}/apps/remotes/cimr100.remote.xml +%{_datadir}/apps/remotes/hauppauge.remote.xml +%{_datadir}/apps/remotes/remote.dtd +%{_datadir}/apps/remotes/sherwood.remote.xml +%{_datadir}/apps/remotes/sonytv.remote.xml +%{_datadir}/autostart/irkick.desktop +%{_datadir}/icons/hicolor/*/apps/irkick.png +%{_datadir}/icons/locolor/*/apps/irkick.png +%{tde_docdir}/HTML/en/irkick/ +%{tde_docdir}/HTML/en/kcmlirc/ + +%post -n trinity-kdelirc +/sbin/ldconfig +for f in hicolor locolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kdelirc +/sbin/ldconfig +for f in hicolor locolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kdessh +Summary: ssh frontend for Trinity +Group: Applications/Utilities +Requires: openssh-clients + +%description -n trinity-kdessh +This package contains TDE's frontend for ssh. + +%files -n trinity-kdessh +%defattr(-,root,root,-) +%{_bindir}/kdessh + +########## + +%package -n trinity-kdf +Summary: disk space utility for Trinity +Group: Applications/Utilities + +%description -n trinity-kdf +KDiskFree displays the available file devices (hard drive partitions, floppy +and CD drives, etc.) along with information on their capacity, free space, type +and mount point. It also allows you to mount and unmount drives and view them +in a file manager. + +%files -n trinity-kdf +%defattr(-,root,root,-) +%{_bindir}/kdf +%{_bindir}/kwikdisk +%{tde_libdir}/kcm_kdf.la +%{tde_libdir}/kcm_kdf.so +%{tde_appdir}/kcmdf.desktop +%{tde_appdir}/kdf.desktop +%{tde_appdir}/kwikdisk.desktop +%{_datadir}/apps/kdf/ +%{_datadir}/icons/crystalsvg/*/apps/kcmdf.png +%{_datadir}/icons/hicolor/*/apps/kdf.png +%{_datadir}/icons/hicolor/*/apps/kwikdisk.png +%{tde_docdir}/HTML/en/kdf/ +%{tde_docdir}/HTML/en/kinfocenter/blockdevices/ + +%post -n trinity-kdf +for f in crystalsvg hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kdf +for f in crystalsvg hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kedit +Summary: basic text editor for Trinity +Group: Applications/Utilities + +%description -n trinity-kedit +A simple text editor for TDE. + +It can be used with Konqueror for text and configuration file browsing. +KEdit also serves well for creating small plain text documents. KEdit's +functionality will intentionally remain rather limited to ensure a +reasonably fast start. + +%files -n trinity-kedit +%defattr(-,root,root,-) +%{_bindir}/kedit +%{tde_libdir}/kedit.la +%{tde_libdir}/kedit.so +%{_libdir}/lib[kt]deinit_kedit.so +%{tde_appdir}/KEdit.desktop +%{_datadir}/apps/kedit/keditui.rc +%{_datadir}/config.kcfg/kedit.kcfg +%{_datadir}/icons/hicolor/*/apps/kedit.png +%{tde_docdir}/HTML/en/kedit/ + +%post -n trinity-kedit +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kedit +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kfloppy +Summary: floppy formatter for Trinity +Group: Applications/Utilities +Requires: dosfstools + +%description -n trinity-kfloppy +Kfloppy is a utility that provides a straightforward graphical means +to format 3.5" and 5.25" floppy disks. + +%files -n trinity-kfloppy +%defattr(-,root,root,-) +%{_bindir}/kfloppy +%{tde_appdir}/KFloppy.desktop +%{_datadir}/apps/konqueror/servicemenus/floppy_format.desktop +%{_datadir}/icons/hicolor/*/apps/kfloppy.png +%{tde_docdir}/HTML/en/kfloppy/ + +%post -n trinity-kfloppy +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kfloppy +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kgpg +Summary: GnuPG frontend for Trinity +Group: Applications/Utilities +Requires: trinity-konsole +Requires: gnupg + +%description -n trinity-kgpg +Kgpg is a frontend for GNU Privacy Guard (GnuPG). It provides file +encryption, file decryption and key management. + +Features: +* an editor mode for easily and quickly encrypting or decrypting a file + or message which is typed, copied, pasted or dragged into the editor, + or which is double-clicked in the file manager +* Konqueror integration for encrypting or decrypting files +* a panel applet for encrypting / decrypting files or the clipboard + contents, etc. +* key management functions (generation, import, export, deletion and + signing) +* decrypting clipboard contents, including integration with Klipper + +%files -n trinity-kgpg +%defattr(-,root,root,-) +%{_bindir}/kgpg +%{tde_appdir}/kgpg.desktop +%{_datadir}/apps/kgpg/ +%{_datadir}/apps/konqueror/servicemenus/encryptfile.desktop +%{_datadir}/apps/konqueror/servicemenus/encryptfolder.desktop +%{_datadir}/autostart/kgpg.desktop +%{_datadir}/config.kcfg/kgpg.kcfg +%{_datadir}/icons/hicolor/*/apps/kgpg.png +%{tde_docdir}/HTML/en/kgpg/ + +%post -n trinity-kgpg +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kgpg +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-khexedit +Summary: Trinity hex editor +Group: Applications/Utilities + +%description -n trinity-khexedit +KHexEdit is an editor for the raw data of binary files. It includes +find/replace functions, bookmarks, many configuration options, drag and drop +support and other powerful features. + +%files -n trinity-khexedit +%defattr(-,root,root,-) +%{_bindir}/khexedit +%{tde_libdir}/libkbyteseditwidget.la +%{tde_libdir}/libkbyteseditwidget.so +%{tde_libdir}/libkhexedit2part.la +%{tde_libdir}/libkhexedit2part.so +%{_libdir}/libkhexeditcommon.so.* +%{tde_appdir}/khexedit.desktop +%{_datadir}/apps/khexedit/ +%{_datadir}/apps/khexedit2part/khexedit2partui.rc +%{_datadir}/icons/hicolor/*/apps/khexedit.png +%{_datadir}/services/kbyteseditwidget.desktop +%{_datadir}/services/khexedit2part.desktop +%{tde_docdir}/HTML/en/khexedit/ + +%post -n trinity-khexedit +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-khexedit +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kjots +Summary: note taking utility for Trinity +Group: Applications/Utilities + +%description -n trinity-kjots +Kjots is a small note taker program. Name and idea are taken from the jots +program included in the tkgoodstuff package. + +%files -n trinity-kjots +%defattr(-,root,root,-) +%{_bindir}/kjots +%{tde_appdir}/Kjots.desktop +%{_datadir}/apps/kjots/ +%{_datadir}/config.kcfg/kjots.kcfg +%{_datadir}/icons/hicolor/*/apps/kjots.png +%{tde_docdir}/HTML/en/kjots/ + +%post -n trinity-kjots +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kjots +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-klaptopdaemon +Summary: battery monitoring and management for laptops using Trinity +Group: Applications/Utilities +Requires: pm-utils +Requires: usermode + +%description -n trinity-klaptopdaemon +This package contains utilities to monitor batteries and configure +power management, for laptops, from within TDE. + +%files -n trinity-klaptopdaemon +%defattr(-,root,root,-) +%{_bindir}/klaptop_acpi_helper +%{_bindir}/klaptop_check +%{tde_libdir}/kcm_laptop.la +%{tde_libdir}/kcm_laptop.so +%{tde_libdir}/kded_klaptopdaemon.la +%{tde_libdir}/kded_klaptopdaemon.so +%{_libdir}/libkcmlaptop.so.* +%{tde_appdir}/laptop.desktop +%{tde_appdir}/pcmcia.desktop +%{_datadir}/apps/klaptopdaemon/ +%{_datadir}/icons/crystalsvg/*/apps/laptop_battery.png +%{_datadir}/icons/crystalsvg/*/apps/laptop_pcmcia.png +%{_datadir}/icons/crystalsvg/scalable/apps/laptop_battery.svgz +%{_datadir}/services/kded/klaptopdaemon.desktop +%{tde_docdir}/HTML/en/kcontrol/kcmlowbatcrit/ +%{tde_docdir}/HTML/en/kcontrol/kcmlowbatwarn/ +%{tde_docdir}/HTML/en/kcontrol/laptop/ +%{tde_docdir}/HTML/en/kcontrol/powerctrl/ + +# RHEL/Fedora specific +%{_sysconfdir}/pam.d/klaptop_acpi_helper +%attr(644,root,root) %{_sysconfdir}/security/console.apps/klaptop_acpi_helper +%{_sbindir}/klaptop_acpi_helper +%config %{_datadir}/config/kcmlaptoprc + +%post -n trinity-klaptopdaemon +/sbin/ldconfig +for f in crystalsvg ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-klaptopdaemon +/sbin/ldconfig +for f in crystalsvg ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kmilo +Summary: laptop special keys support for Trinity +Group: Applications/Utilities + +%description -n trinity-kmilo +KMilo lets you use the special keys on some keyboards and laptops. + +Usually this includes volume keys and other features. Currently, KMilo +comes with plugins for Powerbooks, Thinkpads, Vaios and generic keyboards +with special keys. + +%files -n trinity-kmilo +%defattr(-,root,root,-) +%{tde_libdir}/kded_kmilod.la +%{tde_libdir}/kded_kmilod.so +%{tde_libdir}/kmilo_generic.la +%{tde_libdir}/kmilo_generic.so +%{_libdir}/libkmilo.so.* +%{_datadir}/services/kded/kmilod.desktop +%{_datadir}/services/kmilo/kmilo_generic.desktop +%{_datadir}/servicetypes/kmilo/kmilopluginsvc.desktop + +%post -n trinity-kmilo +/sbin/ldconfig + +%postun -n trinity-kmilo +/sbin/ldconfig + +########## + +%package -n trinity-kmilo-legacy +Summary: non-standard plugins for KMilo +Group: Applications/Utilities +Requires: trinity-kmilo = %{version}-%{release} + +%description -n trinity-kmilo-legacy +KMilo lets you use the special keys on some keyboards and laptops. + +Usually this includes volume keys and other features. Currently, KMilo +comes with plugins for Powerbooks, Thinkpads and Vaios. + +The intention is that all laptops work with the generic kmilo +plugin, if you need this package please file a bug. + +%files -n trinity-kmilo-legacy +%defattr(-,root,root,-) +%{tde_libdir}/kcm_kvaio.la +%{tde_libdir}/kcm_kvaio.so +%{tde_libdir}/kcm_thinkpad.la +%{tde_libdir}/kcm_thinkpad.so +%{tde_libdir}/kmilo_asus.la +%{tde_libdir}/kmilo_asus.so +%{tde_libdir}/kmilo_delli8k.la +%{tde_libdir}/kmilo_delli8k.so +%{tde_libdir}/kmilo_kvaio.la +%{tde_libdir}/kmilo_kvaio.so +%{tde_libdir}/kmilo_thinkpad.la +%{tde_libdir}/kmilo_thinkpad.so +%{tde_appdir}/kvaio.desktop +%{tde_appdir}/thinkpad.desktop +%{_datadir}/services/kmilo/kmilo_asus.desktop +%{_datadir}/services/kmilo/kmilo_delli8k.desktop +%{_datadir}/services/kmilo/kmilo_kvaio.desktop +%{_datadir}/services/kmilo/kmilo_thinkpad.desktop + +########## + +%package -n trinity-kregexpeditor +Summary: graphical regular expression editor plugin for Trinity +Group: Applications/Utilities + +%description -n trinity-kregexpeditor +This package contains a graphical regular expression editor plugin for use +with TDE. It let you draw your regular expression in an unambiguous way. + +%files -n trinity-kregexpeditor +%defattr(-,root,root,-) +%{_bindir}/kregexpeditor +%{tde_libdir}/libkregexpeditorgui.la +%{tde_libdir}/libkregexpeditorgui.so +%{_libdir}/libkregexpeditorcommon.so.* +%{tde_appdir}/kregexpeditor.desktop +%{_datadir}/apps/kregexpeditor/ +%{_datadir}/icons/hicolor/*/apps/kregexpeditor.png +%{_datadir}/services/kregexpeditorgui.desktop +%{tde_docdir}/HTML/en/KRegExpEditor/ + +%post -n trinity-kregexpeditor +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kregexpeditor +/sbin/ldconfig +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-ksim +Summary: system information monitor for Trinity +Group: Applications/Utilities + +%description -n trinity-ksim +KSim is a system monitor app which has its own plugin system with support +for GKrellm skins. It allows users to follow uptime, memory usage, network +connections, power, etc. + +%files -n trinity-ksim +%defattr(-,root,root,-) +%config %{_datadir}/config/ksim_panelextensionrc +%{tde_libdir}/ksim_*.la +%{tde_libdir}/ksim_*.so +%{_libdir}/libksimcore.so.* +%{_datadir}/apps/kicker/extensions/ksim.desktop +%{_datadir}/apps/ksim/ +%{tde_docdir}/HTML/en/ksim/ +%{_datadir}/icons/crystalsvg/*/apps/ksim.png +%{_datadir}/icons/crystalsvg/*/devices/ksim_cpu.png + +%post -n trinity-ksim +/sbin/ldconfig +for f in crystalsvg ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done + +%postun -n trinity-ksim +/sbin/ldconfig +for f in crystalsvg ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done + +########## + +%package -n trinity-ktimer +Summary: timer utility for Trinity +Group: Applications/Utilities + +%description -n trinity-ktimer +This is a timer application for TDE. It allows you to execute commands after +a certain amount of time. It supports looping commands as well as delayed +command execution. + +%files -n trinity-ktimer +%defattr(-,root,root,-) +%{_bindir}/ktimer +%{tde_appdir}/ktimer.desktop +%{_datadir}/icons/hicolor/*/apps/ktimer.png +%{tde_docdir}/HTML/en/ktimer/ + +%post -n trinity-ktimer +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-ktimer +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-kwalletmanager +Summary: wallet manager for Trinity +Group: Applications/Utilities + +%description -n trinity-kwalletmanager +This program keeps various wallets for any kind of data that the user can +store encrypted with passwords and can also serve as a password manager that +keeps a master password to all wallets. + +%files -n trinity-kwalletmanager +%defattr(-,root,root,-) +%{_bindir}/kwalletmanager +%{tde_libdir}/kcm_kwallet.la +%{tde_libdir}/kcm_kwallet.so +%{tde_appdir}/kwalletconfig.desktop +%{tde_appdir}/kwalletmanager.desktop +%{tde_appdir}/kwalletmanager-kwalletd.desktop +%{_datadir}/apps/kwalletmanager/ +%{_datadir}/icons/hicolor/*/apps/kwalletmanager.png +%{_datadir}/services/kwallet_config.desktop +%{_datadir}/services/kwalletmanager_show.desktop +%{tde_docdir}/HTML/en/kwallet/ + +%post -n trinity-kwalletmanager +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +%postun -n trinity-kwalletmanager +for f in hicolor ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done +update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : + +########## + +%package -n trinity-superkaramba +Summary: a program based on karamba improving the eyecandy of TDE +Group: Applications/Utilities + +%description -n trinity-superkaramba +SuperKaramba is a tool based on karamba that allows anyone to easily create +and run little interactive widgets on a TDE desktop. Widgets are defined in a +simple text file and can be augmented with Python code to make them +interactive. + +Here are just some examples of the things that can be done: +* Display system information such as CPU Usage, MP3 playing, etc. +* Create cool custom toolbars that work any way imaginable. +* Create little games or virtual pets that live on your desktop. +* Display information from the internet, such as weather and headlines. + +%files -n trinity-superkaramba +%defattr(-,root,root,-) +%{_bindir}/superkaramba +%{_datadir}/applnk/Utilities/superkaramba.desktop +%{_datadir}/apps/superkaramba/superkarambaui.rc +%{_datadir}/icons/crystalsvg/*/apps/superkaramba.png +%{_datadir}/icons/crystalsvg/*/mimetypes/superkaramba_theme.png +%{_datadir}/icons/crystalsvg/scalable/apps/superkaramba.svgz +%{_datadir}/icons/crystalsvg/scalable/mimetypes/superkaramba_theme.svgz +%{_datadir}/mimelnk/application/x-superkaramba.desktop +%{tde_docdir}/HTML/en/superkaramba/ + +%post -n trinity-superkaramba +for f in crystalsvg ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done + +%postun -n trinity-superkaramba +for f in crystalsvg ; do + touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: + gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: +done + +########## # afaik, nobody BR's it, and it pulls kdeutils into multilib -- Rex %package devel -Summary: Development files for %{name} -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} -Requires: %{name}-extras = %{version}-%{release} -Requires: trinity-kdelibs-devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: tdelibs-devel + +Obsoletes: trinity-kdeutils-devel < %{version}-%{release} +Provides: trinity-kdeutils-devel = %{version}-%{release} + %description devel Development files for %{name}. -%package extras -Summary: Extras packages from %{name} -Group: Applications/Internet -Requires: %{name} = %{version}-%{release} -%if 0%{?fedora} > 5 || 0%{?rhel} > 4 -Requires: pm-utils -%endif -Requires: usermode -%description extras -More Utilities for the K Desktop Environment: - * kmilo - * ksim (system information monitor); - * klaptopdaemon (battery monitoring and management for laptops); +%files devel +%defattr(-,root,root,-) +%{tde_includedir}/* +%{_libdir}/libkcmlaptop.la +%{_libdir}/libkcmlaptop.so +%{_libdir}/lib[kt]deinit_ark.la +%{_libdir}/lib[kt]deinit_irkick.la +%{_libdir}/lib[kt]deinit_kcalc.la +%{_libdir}/lib[kt]deinit_kedit.la +%{_libdir}/libkmilo.la +%{_libdir}/libkmilo.so +%{_libdir}/libkregexpeditorcommon.la +%{_libdir}/libkregexpeditorcommon.so +%{_libdir}/libksimcore.la +%{_libdir}/libksimcore.so +%{_libdir}/libkhexeditcommon.la +%{_libdir}/libkhexeditcommon.so + +%post devel +/sbin/ldconfig +%postun devel +/sbin/ldconfig + +########## %prep %setup -q -n kdeutils %patch1 -p1 -b .label %patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 # Ugly hack to modify TQT include directory inside autoconf files. # If TQT detection fails, it fallbacks to TQT4 instead of TQT3 ! @@ -156,8 +973,6 @@ for i in kcalc kregexpeditor Kjots ktimer kdf kcmdf ksim KFloppy KEdit \ done ## File lists -# locale's -%find_lang %{name} || touch %{name}.lang # HTML (1.0) HTML_DIR=$(kde-config --expandvars --install html) if [ -d %{buildroot}$HTML_DIR ]; then @@ -198,150 +1013,16 @@ popd %__rm -rf %{?buildroot} -%post -/sbin/ldconfig -for f in crystalsvg hicolor locolor ; do - touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: - gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: -done -update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : - -%postun -/sbin/ldconfig -for f in crystalsvg hicolor locolor ; do - touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: - gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: -done -update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : - -%post extras -/sbin/ldconfig -for f in crystalsvg hicolor ; do - touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: - gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: -done - -%postun extras -/sbin/ldconfig -for f in crystalsvg hicolor ; do - touch --no-create %{_datadir}/icons/$f 2> /dev/null ||: - gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||: -done - - -%files extras -%defattr(-,root,root,-) -# kmilo -%{tde_libdir}/kded_kmilod.* -%{tde_libdir}/kmilo* -%{_libdir}/libkmilo.la -%{_libdir}/libkmilo.so.* -%{_datadir}/services/kded/kmilod.desktop -%{_datadir}/services/kmilo -%{_datadir}/servicetypes/kmilo - -# ksim -%doc %{tde_docdir}/HTML/*/ksim/ -%{tde_libdir}/ksim* -%{_libdir}/libksimcore.la -%{_libdir}/libksimcore.so.* -%{_datadir}/apps/kicker/extensions/ksim.desktop -%{_datadir}/apps/ksim/ -%config %{_datadir}/config/ksim_panelextensionrc -%{_datadir}/icons/crystalsvg/??x??/apps/ksim.png -%{_datadir}/icons/crystalsvg/16x16/devices/ksim_cpu.png - -# klaptop -%doc %{tde_docdir}/HTML/en/kcontrol -%{_sysconfdir}/pam.d/klaptop_acpi_helper -%attr(644,root,root) %{_sysconfdir}/security/console.apps/klaptop_acpi_helper -%{_bindir}/klaptop* -%{tde_libdir}/kded_klaptopdaemon.* -%{_sbindir}/klaptop_acpi_helper -%{_datadir}/apps/klaptopdaemon -%{_datadir}/services/kded/klaptopdaemon.desktop -%{tde_libdir}/kcm_laptop.* -%{_libdir}/libkcmlaptop.* -%{_datadir}/applications/kde/laptop.desktop -%config %{_datadir}/config/kcmlaptoprc -%{_datadir}/icons/crystalsvg/128x128/apps/laptop_battery.png -%{_datadir}/icons/crystalsvg/??x??/apps/laptop_battery.png -%{_datadir}/icons/crystalsvg/scalable/apps/laptop_battery.svgz - - -%files -f %{name}.lang -%defattr(-,root,root,-) - -# kmilo -%exclude %{tde_libdir}/kded_kmilod.* -%exclude %{tde_libdir}/kmilo* -%exclude %{_libdir}/libkmilo.la -%exclude %{_libdir}/libkmilo.so.* -%exclude %{_datadir}/services/kded/kmilod.desktop -%exclude %{_datadir}/services/kmilo -%exclude %{_datadir}/servicetypes/kmilo - -# ksim -%exclude %{tde_docdir}/HTML/*/ksim/ -%exclude %{tde_libdir}/ksim* -%exclude %{_libdir}/libksimcore.la -%exclude %{_libdir}/libksimcore.so.* -%exclude %{_datadir}/apps/kicker/extensions/ksim.desktop -%exclude %{_datadir}/apps/ksim/ -%exclude %{_datadir}/config/ksim_panelextensionrc -%exclude %{_datadir}/icons/crystalsvg/??x??/apps/ksim.png -%exclude %{_datadir}/icons/crystalsvg/16x16/devices/ksim_cpu.png - -# klaptop -%exclude %{_sysconfdir}/pam.d/klaptop_acpi_helper -%exclude %{_sysconfdir}/security/console.apps/klaptop_acpi_helper -%exclude %{_bindir}/klaptop* -%exclude %{tde_libdir}/kded_klaptopdaemon.* -%exclude %{_sbindir}/klaptop_acpi_helper -%exclude %{_datadir}/apps/klaptopdaemon -%exclude %{_datadir}/services/kded/klaptopdaemon.desktop -%exclude %{tde_libdir}/kcm_laptop.* -%exclude %{_libdir}/libkcmlaptop.* -%exclude %{_datadir}/applications/kde/laptop.desktop -%exclude %{_datadir}/config/kcmlaptoprc -%exclude %{tde_docdir}/HTML/en/kcontrol/ -%exclude %{_datadir}/icons/crystalsvg/128x128/apps/laptop_battery.png -%exclude %{_datadir}/icons/crystalsvg/??x??/apps/laptop_battery.png -%exclude %{_datadir}/icons/crystalsvg/scalable/apps/laptop_battery.svgz - -%attr(644,root,root) %{_sysconfdir}/security/console.apps/* -%attr(644,root,root) %{_sysconfdir}/pam.d/* -%{_bindir}/* -%{_sbindir}/* -%{tde_libdir}/* -%{_libdir}/*.la -%{_libdir}/libkdeinit*.so -%{_libdir}/lib*.so.* -%{_datadir}/icons/*/*/*/* -%{_datadir}/apps/* -%config %{_datadir}/config/* -%{_datadir}/config.kcfg/* -%{_datadir}/services/* -%{_datadir}/servicetypes/* -%{_datadir}/applications/kde/* -%if 0%{?rhel} >= 5 || 0%{?fedora} -%{_datadir}/applnk/Utilities/* -%{_datadir}/mimelnk/application/* -%endif -%{_datadir}/autostart/* -%doc %lang(en) %{tde_docdir}/HTML/en/* - -%files devel -%defattr(-,root,root,-) -%{tde_includedir}/* -%{_libdir}/libkcmlaptop.so -%{_libdir}/libkhexeditcommon.so -%{_libdir}/libkmilo.so -%{_libdir}/libkregexpeditorcommon.so -%{_libdir}/libksimcore.so - %changelog +* Fri Jun 22 2012 Francois Andriot <[email protected]> - 3.5.13-6 +- Split in several packages +- Allow ark embedding [Bug #670] [Commit #2a1d4a67] +- Remove "More Applications" from TDE menu. Add Utility category to KEdit. [Bug #653] [Commit #803f4752] +- [tdeutils] Reorganize KControl menu tree. [Commit #7780bb7b] +- Further organize TDE Menu. [Commit #b970fc42] +- [Ark] Repairs and extensions [Bug #1030] [Commit #1c84948d] + * Fri Nov 25 2011 Francois Andriot <[email protected]> - 3.5.13-5 - Fix HTML directory location |