From c19de01aa59dc4055438537896d79ec4f457594d Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Sun, 1 Apr 2012 18:56:22 +0200 Subject: [PATCH] RHEL/Fedora: lots of kdebase/tdebase updates --- .../kdebase-3.5.12-halmountoptions.patch | 2 +- ...ndow_interaction_inside_lock_process.patch | 372 ++++++++++ ...ase-3.5.13-fix_device_icon_placement.patch | 30 + .../kdebase-3.5.13-fix_fqdn_in_title.patch | 46 ++ ....13-fix_kdesktop_lock_security_issue.patch | 157 +++++ ....13-fix_potential_ABI_compat_problem.patch | 24 + ...13-fix_translations_in_desktop_files.patch | 105 +++ .../kdebase-3.5.13-kate_focus_fix.patch | 133 ++++ ...kdebase-3.5.13-kwin-keramic-pics-emb.patch | 62 ++ ....13-option_to_disable_scroll_desktop.patch | 101 +++ redhat/kdebase/tdebase-r14.spec | 646 ++++++++++++++++++ redhat/kdebase/trinity-kdebase-3.5.13.spec | 40 +- 12 files changed, 1716 insertions(+), 2 deletions(-) create mode 100644 redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-fix_device_icon_placement.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-fix_fqdn_in_title.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-fix_kdesktop_lock_security_issue.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-fix_potential_ABI_compat_problem.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-fix_translations_in_desktop_files.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-kate_focus_fix.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-kwin-keramic-pics-emb.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-option_to_disable_scroll_desktop.patch create mode 100644 redhat/kdebase/tdebase-r14.spec diff --git a/redhat/kdebase/kdebase-3.5.12-halmountoptions.patch b/redhat/kdebase/kdebase-3.5.12-halmountoptions.patch index 31a6717b3..4a604f9a3 100644 --- a/redhat/kdebase/kdebase-3.5.12-halmountoptions.patch +++ b/redhat/kdebase/kdebase-3.5.12-halmountoptions.patch @@ -72,7 +72,7 @@ diff -r -u kdebase-3.5.5a.dfsg.1.orig/kioslave/media/mediamanager/halbackend.h k const char* message ); -+ QStringList getHALmountoptions(QString udi); ++ TQStringList getHALmountoptions(QString udi); /* HAL and DBus structures */ private: /** diff --git a/redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch b/redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch new file mode 100644 index 000000000..1c022587d --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch @@ -0,0 +1,372 @@ +commit 057932620ba8355a6506b9d437518e253ba14ed9 +Author: Timothy Pearson +Date: 1327619240 -0600 + + Clean up lock screen internals + This cleanup is part of an effort to resolve Bug 810, but a new Qt3 version is required to fully resolve it + +diff --git a/kdesktop/lock/autologout.cc b/kdesktop/lock/autologout.cc +index 22b449c..bef39dd 100644 +--- a/kdesktop/lock/autologout.cc ++++ b/kdesktop/lock/autologout.cc +@@ -82,6 +82,8 @@ AutoLogout::AutoLogout(LockProcess *parent) : TQDialog(parent, "password dialog" + mCountdownTimerId = startTimer(1000/25); + + connect(tqApp, TQT_SIGNAL(activity()), TQT_SLOT(slotActivity())); ++ ++ setFixedSize( sizeHint() ); + } + + AutoLogout::~AutoLogout() +diff --git a/kdesktop/lock/infodlg.cc b/kdesktop/lock/infodlg.cc +index f5f35b9..3fbc276 100644 +--- a/kdesktop/lock/infodlg.cc ++++ b/kdesktop/lock/infodlg.cc +@@ -99,6 +99,7 @@ InfoDlg::InfoDlg(LockProcess *parent) + frameLayout->addLayout( layStatus, 1, 1 ); + + installEventFilter(this); ++ setFixedSize( sizeHint() ); + } + + InfoDlg::~InfoDlg() +diff --git a/kdesktop/lock/lockdlg.cc b/kdesktop/lock/lockdlg.cc +index 0863a22..f3eeee0 100644 +--- a/kdesktop/lock/lockdlg.cc ++++ b/kdesktop/lock/lockdlg.cc +@@ -215,6 +215,7 @@ void PasswordDlg::init(GreeterPluginHandle *plugin) + mNewSessButton->hide(); + + installEventFilter(this); ++ setFixedSize( sizeHint() ); + + mFailedTimerId = 0; + mTimeoutTimerId = startTimer(PASSDLG_HIDE_TIMEOUT); +@@ -598,6 +599,7 @@ void PasswordDlg::show() + { + TQDialog::show(); + TQApplication::flushX(); ++ setFixedSize( sizeHint() ); + } + + void PasswordDlg::slotStartNewSession() +@@ -818,6 +820,8 @@ void PasswordDlg::slotSwitchUser() + connect( btn, TQT_SIGNAL(clicked()), &dialog, TQT_SLOT(reject()) ); + vbox2->addWidget( btn ); + ++ dialog.setFixedSize( dialog.sizeHint() ); ++ + int ret = static_cast< LockProcess* >(parent())->execDialog( &dialog ); + if (ret != TQDialog::Rejected) { + TQDialog::reject(); +diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc +index 5acc96e..9648bbc 100644 +--- a/kdesktop/lock/lockprocess.cc ++++ b/kdesktop/lock/lockprocess.cc +@@ -4,7 +4,7 @@ + // + // Copyright (c) 1999 Martin R. Jones + // Copyright (c) 2003 Oswald Buddenhagen +-// Copyright (c) 2010-2011 Timothy Pearson ++// Copyright (c) 2010-2012 Timothy Pearson + // + + //kdesktop keeps running and checks user inactivity +@@ -111,6 +111,10 @@ Status DPMSInfo ( Display *, CARD16 *, BOOL * ); + #define LOCK_GRACE_DEFAULT 5000 + #define AUTOLOGOUT_DEFAULT 600 + ++// FIXME ++// This should be defined if Qt 3.4.0 or higher is in use ++// #define KEEP_MOUSE_UNGRABBED 1 ++ + // These lines are taken on 10/2009 from X.org (X11/XF86keysym.h), defining some special multimedia keys + #define XF86XK_AudioMute 0x1008FF12 + #define XF86XK_AudioRaiseVolume 0x1008FF13 +@@ -183,6 +187,10 @@ LockProcess::LockProcess(bool child, bool useBlankOnly) + mBackingStartupDelayTimer(0), + m_startupStatusDialog(NULL) + { ++#ifdef KEEP_MOUSE_UNGRABBED ++ setNFlags(WX11DisableMove|WX11DisableClose|WX11DisableShade|WX11DisableMinimize|WX11DisableMaximize); ++#endif ++ + setupSignals(); + setupPipe(); + +@@ -267,7 +275,11 @@ LockProcess::LockProcess(bool child, bool useBlankOnly) + #endif + + #if (QT_VERSION-0 >= 0x030200) // XRANDR support +- connect( kapp->desktop(), TQT_SIGNAL( resized( int )), TQT_SLOT( desktopResized())); ++ connect( kapp->desktop(), TQT_SIGNAL( resized( int )), TQT_SLOT( desktopResized())); ++#endif ++ ++#ifdef KEEP_MOUSE_UNGRABBED ++ setEnabled(false); + #endif + + greetPlugin.library = 0; +@@ -874,7 +886,6 @@ void LockProcess::createSaverWindow() + // this is a security risk and has been deactivated--welcome to the 21st century folks! + // setBackgroundMode(TQWidget::NoBackground); + +- setCursor( tqblankCursor ); + setGeometry(0, 0, mRootWidth, mRootHeight); + + kdDebug(1204) << "Saver window Id: " << winId() << endl; +@@ -884,7 +895,6 @@ void LockProcess::desktopResized() + { + mBusy = true; + suspend(); +- setCursor( tqblankCursor ); + + // Get root window size + XWindowAttributes rootAttr; +@@ -1087,6 +1097,7 @@ bool LockProcess::grabInput() + } + } + ++#ifndef KEEP_MOUSE_UNGRABBED + if (!grabMouse()) + { + usleep(100000); +@@ -1096,6 +1107,7 @@ bool LockProcess::grabInput() + return false; + } + } ++#endif + + lockXF86(); + +@@ -1150,7 +1162,6 @@ bool LockProcess::startSaver() + createSaverWindow(); + move(0, 0); + show(); +- setCursor( tqblankCursor ); + + raise(); + XSync(qt_xdisplay(), False); +@@ -1313,6 +1324,8 @@ void LockProcess::repaintRootWindowIfNeeded() + + bool LockProcess::startHack() + { ++ setCursor( tqblankCursor ); ++ + if ((mEnsureVRootWindowSecurityTimer) && (!mEnsureVRootWindowSecurityTimer->isActive())) mEnsureVRootWindowSecurityTimer->start(250, FALSE); + + if (currentDialog || (!mDialogs.isEmpty())) +@@ -1429,6 +1442,7 @@ void LockProcess::stopHack() + mHackProc.kill(SIGKILL); + } + } ++ setCursor( tqarrowCursor ); + } + + //--------------------------------------------------------------------------- +@@ -1730,7 +1744,6 @@ void LockProcess::doFunctionKeyBroadcast() { + mDialogControlLock = false; + } + } +- setCursor( tqblankCursor ); + + DCOPRef ref( "*", "MainApplication-Interface"); + ref.send("sendFakeKey", DCOPArg(mkeyCode , "unsigned int")); +diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc +index c0b8e24..0cbef60 100644 +--- a/kdesktop/lock/main.cc ++++ b/kdesktop/lock/main.cc +@@ -45,8 +45,9 @@ bool trinity_desktop_lock_forced = FALSE; + + bool MyApp::x11EventFilter( XEvent *ev ) + { +- if (ev->type == XKeyPress || ev->type == ButtonPress) ++ if (ev->type == XKeyPress || ev->type == ButtonPress) { + emit activity(); ++ } + else if (ev->type == MotionNotify) { + time_t tick = time( 0 ); + if (tick != lastTick) { +diff --git a/kdesktop/lock/querydlg.cc b/kdesktop/lock/querydlg.cc +index e672d54..5f50cbe 100644 +--- a/kdesktop/lock/querydlg.cc ++++ b/kdesktop/lock/querydlg.cc +@@ -118,6 +118,7 @@ QueryDlg::QueryDlg(LockProcess *parent) + connect(ok, TQT_SIGNAL(clicked()), TQT_SLOT(slotOK())); + + installEventFilter(this); ++ setFixedSize( sizeHint() ); + } + + QueryDlg::~QueryDlg() +diff --git a/kdesktop/lock/sakdlg.cc b/kdesktop/lock/sakdlg.cc +index 17f54a1..d96e0af 100644 +--- a/kdesktop/lock/sakdlg.cc ++++ b/kdesktop/lock/sakdlg.cc +@@ -102,6 +102,7 @@ SAKDlg::SAKDlg(LockProcess *parent) + mStatusLabel->setText("" + i18n("Press Ctrl+Alt+Del to begin.") + "

" + i18n("This process helps keep your password secure.") + "
" + i18n("It prevents unauthorized users from emulating the login screen.")); + + installEventFilter(this); ++ setFixedSize( sizeHint() ); + + mSAKProcess = new KProcess; + *mSAKProcess << "kdmtsak"; +diff --git a/kdesktop/lock/securedlg.cc b/kdesktop/lock/securedlg.cc +index 532b904..37524f7 100644 +--- a/kdesktop/lock/securedlg.cc ++++ b/kdesktop/lock/securedlg.cc +@@ -144,6 +144,7 @@ SecureDlg::SecureDlg(LockProcess *parent) + mSwitchButton->setFixedWidth(btnSize); + + installEventFilter(this); ++ setFixedSize( sizeHint() ); + } + + SecureDlg::~SecureDlg() +commit 678bea5ba74b3b39981e482e188c61fdd37786f0 +Author: Timothy Pearson +Date: 1328606373 -0600 + + Allow minimal managed window interaction inside the lock process + This closes Bug 810 + +diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc +index 9648bbc..2e9c9d3 100644 +--- a/kdesktop/lock/lockprocess.cc ++++ b/kdesktop/lock/lockprocess.cc +@@ -111,8 +111,8 @@ Status DPMSInfo ( Display *, CARD16 *, BOOL * ); + #define LOCK_GRACE_DEFAULT 5000 + #define AUTOLOGOUT_DEFAULT 600 + +-// FIXME +-// This should be defined if Qt 3.4.0 or higher is in use ++// Setting this define is INSECURE ++// Use it for debugging purposes ONLY + // #define KEEP_MOUSE_UNGRABBED 1 + + // These lines are taken on 10/2009 from X.org (X11/XF86keysym.h), defining some special multimedia keys +@@ -185,7 +185,12 @@ LockProcess::LockProcess(bool child, bool useBlankOnly) + mHackStartupEnabled(true), + m_rootPixmap(NULL), + mBackingStartupDelayTimer(0), +- m_startupStatusDialog(NULL) ++ m_startupStatusDialog(NULL), ++ m_mouseDown(0), ++ m_mousePrevX(0), ++ m_mousePrevY(0), ++ m_dialogPrevX(0), ++ m_dialogPrevY(0) + { + #ifdef KEEP_MOUSE_UNGRABBED + setNFlags(WX11DisableMove|WX11DisableClose|WX11DisableShade|WX11DisableMinimize|WX11DisableMaximize); +@@ -208,6 +213,8 @@ LockProcess::LockProcess(bool child, bool useBlankOnly) + mEnsureVRootWindowSecurityTimer = new TQTimer( this ); + connect( mEnsureVRootWindowSecurityTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(repaintRootWindowIfNeeded()) ); + ++ connect(tqApp, TQT_SIGNAL(mouseInteraction(XEvent *)), TQT_SLOT(slotMouseActivity(XEvent *))); ++ + mHackDelayStartupTimeout = trinity_desktop_lock_delay_screensaver_start?KDesktopSettings::timeout()*1000:10*1000; + mHackStartupEnabled = trinity_desktop_lock_delay_screensaver_start?KDesktopSettings::screenSaverEnabled():true; + +@@ -2200,4 +2207,64 @@ void LockProcess::sendVkbdFocusInOut( WId window, Time t ) + } + } + ++void LockProcess::slotMouseActivity(XEvent *event) ++{ ++ bool inFrame = 0; ++ bool inDialog = 0; ++ XButtonEvent *be = (XButtonEvent *) event; ++ XMotionEvent *me = (XMotionEvent *) event; ++ if (event->type == ButtonPress) { ++ // Get geometry including window frame/titlebar ++ TQRect fgeom = mDialogs.first()->frameGeometry(); ++ TQRect wgeom = mDialogs.first()->geometry(); ++ ++ if (((be->x_root > fgeom.x()) && (be->y_root > fgeom.y())) && ((be->x_root < (fgeom.x()+fgeom.width())) && (be->y_root < (fgeom.y()+fgeom.height())))) { ++ inFrame = 1; ++ } ++ if (((be->x_root > wgeom.x()) && (be->y_root > wgeom.y())) && ((be->x_root < (wgeom.x()+wgeom.width())) && (be->y_root < (wgeom.y()+wgeom.height())))) { ++ inDialog = 1; ++ } ++ ++ // Clicked inside dialog; set focus ++ if (inFrame == TRUE) { ++ WId window = mDialogs.first()->winId(); ++ XSetInputFocus(qt_xdisplay(), window, RevertToParent, CurrentTime); ++ fakeFocusIn(window); ++ // Why this needs to be repeated I have no idea... ++ XSetInputFocus(qt_xdisplay(), window, RevertToParent, CurrentTime); ++ fakeFocusIn(window); ++ } ++ ++ // Clicked inside window handle (or border); drag window ++ if ((inFrame == TRUE) && (inDialog == FALSE)) { ++ TQPoint oldPoint = mDialogs.first()->pos(); ++ m_mouseDown = 1; ++ m_dialogPrevX = oldPoint.x(); ++ m_dialogPrevY = oldPoint.y(); ++ m_mousePrevX = be->x_root; ++ m_mousePrevY = be->y_root; ++ XChangeActivePointerGrab( qt_xdisplay(), GRABEVENTS, TQCursor(tqsizeAllCursor).handle(), CurrentTime); ++ } ++ } ++ ++ // Drag the window... ++ if (event->type == MotionNotify) { ++ if (m_mouseDown == TRUE) { ++ int deltaX = me->x_root - m_mousePrevX; ++ int deltaY = me->y_root - m_mousePrevY; ++ m_dialogPrevX = m_dialogPrevX + deltaX; ++ m_dialogPrevY = m_dialogPrevY + deltaY; ++ mDialogs.first()->move(m_dialogPrevX, m_dialogPrevY); ++ ++ m_mousePrevX = me->x_root; ++ m_mousePrevY = me->y_root; ++ } ++ } ++ ++ if (event->type == ButtonRelease) { ++ m_mouseDown = 0; ++ XChangeActivePointerGrab( qt_xdisplay(), GRABEVENTS, TQCursor(tqarrowCursor).handle(), CurrentTime); ++ } ++} ++ + #include "lockprocess.moc" +diff --git a/kdesktop/lock/lockprocess.h b/kdesktop/lock/lockprocess.h +index 3a7e3db..18320a8 100644 +--- a/kdesktop/lock/lockprocess.h ++++ b/kdesktop/lock/lockprocess.h +@@ -94,6 +94,7 @@ private slots: + bool closeCurrentWindow(); + void repaintRootWindowIfNeeded(); + void startSecureDialog(); ++ void slotMouseActivity(XEvent *event); + + private: + void configure(); +@@ -197,6 +198,12 @@ private: + KSMModalDialog* m_startupStatusDialog; + + TQDateTime mlockDateTime; ++ ++ bool m_mouseDown; ++ int m_mousePrevX; ++ int m_mousePrevY; ++ int m_dialogPrevX; ++ int m_dialogPrevY; + }; + + #endif +diff --git a/kdesktop/lock/main.h b/kdesktop/lock/main.h +index c8e0e05..23797e4 100644 +--- a/kdesktop/lock/main.h ++++ b/kdesktop/lock/main.h +@@ -32,6 +32,7 @@ protected: + bool x11EventFilter( XEvent * ); + signals: + void activity(); ++ void mouseInteraction(XEvent *event); + private: + time_t lastTick; + }; diff --git a/redhat/kdebase/kdebase-3.5.13-fix_device_icon_placement.patch b/redhat/kdebase/kdebase-3.5.13-fix_device_icon_placement.patch new file mode 100644 index 000000000..00bda21c2 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-fix_device_icon_placement.patch @@ -0,0 +1,30 @@ +commit 5df6c5fca20e917aaa82665131b931a0aa7c8628 +Author: Darrell Anderson +Date: 1332447011 -0500 + + Restore code snippet removed with GIT hash + 27856879bf962f178d88e79144e37a47e731b122, + Sept. 3, 2010, "Massive import of OpenSUSE patches." + Restoring this snippet restores the device icon + placement and resolves bug report 392. + +diff --git a/kdesktop/kdiconview.cc b/kdesktop/kdiconview.cc +index e2f1c80..3404e4a 100644 +--- a/kdesktop/kdiconview.cc ++++ b/kdesktop/kdiconview.cc +@@ -1141,6 +1141,15 @@ void KDIconView::slotNewItems( const KFileItemList & entries ) + kdDebug(1214)<<"Using saved position"< +Date: Fri Mar 4 16:22:23 2011 +0100 + + do not show hostname in titlebar if it's FQDN of localhost + +diff --git a/kwin/utils.cpp b/kwin/utils.cpp +--- a/kwin/utils.cpp ++++ b/kwin/utils.cpp +@@ -18,6 +18,8 @@ + #include "utils.h" + + #include ++#include ++#include + + #ifndef KCMRULES + +@@ -323,6 +325,27 @@ bool isLocalMachine( const TQCString& host ) + if( host == hostnamebuf ) + return true; + } ++ else ++ { // e.g. LibreOffice likes to give FQDN, even if gethostname() doesn't include domain ++ struct addrinfo hints, *res, *addr; ++ bool is_local = false; ++ ++ memset (&hints, 0, sizeof (hints)); ++ hints.ai_family = PF_UNSPEC; ++ hints.ai_socktype = SOCK_STREAM; ++ hints.ai_flags |= AI_CANONNAME; ++ ++ if( getaddrinfo( host, NULL, &hints, &res ) != 0) ++ return false; ++ for(addr = res; !is_local && addr; addr = addr->ai_next) ++ { ++ if( res->ai_canonname && ++ host == TQCString( res->ai_canonname )) ++ is_local = true; ++ } ++ freeaddrinfo(res); ++ return is_local; ++ } + } + return false; + } diff --git a/redhat/kdebase/kdebase-3.5.13-fix_kdesktop_lock_security_issue.patch b/redhat/kdebase/kdebase-3.5.13-fix_kdesktop_lock_security_issue.patch new file mode 100644 index 000000000..1660d03f2 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-fix_kdesktop_lock_security_issue.patch @@ -0,0 +1,157 @@ +commit f05f9dc7532ea41c49b3e9385165d942dfab5d0e +Author: Timothy Pearson +Date: 1327036924 -0600 + + If someone manages to close down kdesktop_lock through an undiscovered security vulnerability such as http://security-tracker.debian.org/tracker/CVE-2012-0064, immediately terminate the compromised TDE session + +diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc +index 6bd18f7..2588bbf 100644 +--- a/kdesktop/lock/lockprocess.cc ++++ b/kdesktop/lock/lockprocess.cc +@@ -326,10 +326,8 @@ static int signal_pipe[2]; + static void sigterm_handler(int) + { + if (!trinity_desktop_lock_in_sec_dlg) { +- char tmp = 'T'; +- if (::write( signal_pipe[1], &tmp, 1) == -1) { +- // Error handler to shut up gcc warnings +- } ++ // Exit uncleanly ++ exit(1); + } + } + +@@ -522,7 +520,7 @@ void LockProcess::setupSignals() + sigaddset(&(act.sa_mask), SIGQUIT); + act.sa_flags = 0; + sigaction(SIGQUIT, &act, 0L); +- // exit cleanly on SIGTERM ++ // exit uncleanly on SIGTERM + act.sa_handler= sigterm_handler; + sigemptyset(&(act.sa_mask)); + sigaddset(&(act.sa_mask), SIGTERM); +diff --git a/kdesktop/lockeng.cc b/kdesktop/lockeng.cc +index b957218..c5306e9 100644 +--- a/kdesktop/lockeng.cc ++++ b/kdesktop/lockeng.cc +@@ -36,10 +36,11 @@ bool trinity_lockeng_sak_available = TRUE; + // a newly started process. + // + SaverEngine::SaverEngine() +- : KScreensaverIface(), +- TQWidget(), ++ : TQWidget(), ++ KScreensaverIface(), + mBlankOnly(false), +- mSAKProcess(NULL) ++ mSAKProcess(NULL), ++ mTerminationRequested(false) + { + // Save X screensaver parameters + XGetScreenSaver(qt_xdisplay(), &mXTimeout, &mXInterval, +@@ -340,6 +341,7 @@ void SaverEngine::stopLockProcess() + kdDebug(1204) << "SaverEngine: stopping lock" << endl; + emitDCOPSignal("KDE_stop_screensaver()", TQByteArray()); + ++ mTerminationRequested=true; + mLockProcess.kill(); + + if (mEnabled) +@@ -357,7 +359,33 @@ void SaverEngine::stopLockProcess() + + void SaverEngine::lockProcessExited() + { ++printf("Lock process exited\n\r"); fflush(stdout); ++ bool abnormalExit = false; + kdDebug(1204) << "SaverEngine: lock exited" << endl; ++ if (mLockProcess.normalExit() == false) { ++ abnormalExit = true; ++ } ++ else { ++ if (mLockProcess.exitStatus() != 0) { ++ abnormalExit = true; ++ } ++ } ++ if (mTerminationRequested == true) { ++ abnormalExit = false; ++ } ++ if (abnormalExit == true) { ++ // PROBABLE HACKING ATTEMPT DETECTED ++ // Terminate the TDE session ASAP! ++ // Values are explained at http://lists.kde.org/?l=kde-linux&m=115770988603387 ++ TQByteArray data; ++ TQDataStream arg(data, IO_WriteOnly); ++ arg << (int)0 << (int)0 << (int)2; ++ if ( ! kapp->dcopClient()->send("ksmserver", "default", "logout(int,int,int)", data) ) { ++ // Someone got to DCOP before we did ++ // Try an emergency system logout ++ system("logout"); ++ } ++ } + if (trinity_lockeng_sak_available == TRUE) { + handleSecureDialog(); + } +diff --git a/kdesktop/lockeng.h b/kdesktop/lockeng.h +index b1e31bd..ae81f90 100644 +--- a/kdesktop/lockeng.h ++++ b/kdesktop/lockeng.h +@@ -114,6 +114,7 @@ protected: + + private: + KProcess* mSAKProcess; ++ bool mTerminationRequested; + }; + + #endif +commit 5f8d730703882e1335305a2c43a378f0c4b96e8e +Author: Timothy Pearson +Date: 1327216641 -0600 + + Fix desktop lock + +diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc +index 2588bbf..5acc96e 100644 +--- a/kdesktop/lock/lockprocess.cc ++++ b/kdesktop/lock/lockprocess.cc +@@ -630,6 +630,8 @@ void LockProcess::startSecureDialog() + return; + } + ++ setGeometry(0, 0, mRootWidth, mRootHeight); ++ + int ret; + SecureDlg inDlg( this ); + inDlg.setRetInt(&ret); +diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc +index 2711c36..c0b8e24 100644 +--- a/kdesktop/lock/main.cc ++++ b/kdesktop/lock/main.cc +@@ -181,14 +181,14 @@ int main( int argc, char **argv ) + rt = process.runSecureDialog(); + } + else { +- return 1; ++ return 0; + } + } + else { + rt = process.defaultSave(); + } + if (!rt) { +- return 1; ++ return 0; + } + + if( sig ) +diff --git a/kdesktop/lockeng.cc b/kdesktop/lockeng.cc +index fb0f754..5307c5c 100644 +--- a/kdesktop/lockeng.cc ++++ b/kdesktop/lockeng.cc +@@ -372,6 +372,7 @@ printf("Lock process exited\n\r"); fflush(stdout); + } + if (mTerminationRequested == true) { + abnormalExit = false; ++ mTerminationRequested = false; + } + if (abnormalExit == true) { + // PROBABLE HACKING ATTEMPT DETECTED diff --git a/redhat/kdebase/kdebase-3.5.13-fix_potential_ABI_compat_problem.patch b/redhat/kdebase/kdebase-3.5.13-fix_potential_ABI_compat_problem.patch new file mode 100644 index 000000000..ce8b23182 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-fix_potential_ABI_compat_problem.patch @@ -0,0 +1,24 @@ +commit 77041d785dbbede734f8dc44aa454d07d14f0317 +Author: Timothy Pearson +Date: 1329161441 -0600 + + Clean up 9cc1e2c1 changes to enum + This corrects a potential ABI compat problem noted by Martin Gräßlin + +diff --git a/twin/lib/kdecoration.h b/twin/lib/kdecoration.h +index 19fe494..f18f970 100644 +--- a/kwin/lib/kdecoration.h ++++ b/kwin/lib/kdecoration.h +@@ -97,10 +97,10 @@ public: + LowerOp, + FullScreenOp, + NoBorderOp, +- ShadowOp, + NoOp, + SetupWindowShortcutOp, +- ApplicationRulesOp ///< @since 3.5 ++ ApplicationRulesOp, ///< @since 3.5 ++ ShadowOp ///< @since 3.5.12 + }; + /** + * Basic color types that should be recognized by all decoration styles. diff --git a/redhat/kdebase/kdebase-3.5.13-fix_translations_in_desktop_files.patch b/redhat/kdebase/kdebase-3.5.13-fix_translations_in_desktop_files.patch new file mode 100644 index 000000000..3bf1c1fbe --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-fix_translations_in_desktop_files.patch @@ -0,0 +1,105 @@ +--- a/kdesktop/init/My_Documents 2011-10-24 00:31:04.000000000 +0200 ++++ b/kdesktop/init/My_Documents 2012-02-15 19:03:22.830485960 +0100 +@@ -3,12 +3,10 @@ + Icon=folder_wordprocessing + Name=My Documents + Name[af]=Dokument Gids +-Name[ar]=مستنداتي ++Name[ar]=مستنداتي + Name[be]=Тэчка для дакументаў + Name[bg]=Директория с документи + Name[bn]=ডকুমেন্ট ফোল্ডার +-Name[br]=Renkell an teulioù +-Name[ar]=مستنداتي + Name[br]=Renkell an teulioù + Name[bs]=Direktorij dokumenata + Name[ca]=Carpeta de documents +--- a/kioslave/system/entries/documents.desktop 2010-09-24 08:36:47.000000000 +0200 ++++ b/kioslave/system/entries/documents.desktop 2012-02-15 19:02:55.094464303 +0100 +@@ -4,66 +4,55 @@ + Icon=folder_man + Name=Documents Folder + Name[af]=Dokument Gids +-Name[ar]=مستنداتي ++Name[ar]=مستنداتي + Name[be]=Тэчка для дакументаў + Name[bg]=Директория с документи + Name[bn]=ডকুমেন্ট ফোল্ডার +-Name[br]=Renkell an teulioù ++Name[br]=Renkell an teulioù + Name[bs]=Direktorij dokumenata + Name[ca]=Carpeta de documents +-Name[cs]=Složka s dokumenty +-Name[csb]=Katalog dokùmentów ++Name[cs]=Složka s dokumenty ++Name[csb]=Katalog dokùmentów + Name[da]=Dokumentmappe + Name[de]=Dokumente +-Name[el]=Φάκελος εγγράφων + Name[eo]=Dokumenta dosierujo + Name[es]=Carpeta de documentos + Name[et]=Dokumentide kataloog + Name[eu]=Dokumentuen karpeta +-Name[fa]=پوشۀ مستندات ++Name[fa]=پوشۀ مستندات + Name[fi]=Asiakirjakansio + Name[fr]=Dossier des documents + Name[fy]=Ofkeppele kamera +-Name[ga]=Fillteán na gCáipéisí ++Name[ga]=Fillteán na gCáipéisí + Name[gl]=Cartafol de Documentos +-Name[he]=תיקיית מסמכים + Name[hr]=Mapa dokumenata +-Name[hu]=Dokumentumok könyvtár ++Name[hu]=Dokumentumok könyvtár + Name[is]=Skjalamappa + Name[it]=Cartella documenti +-Name[ja]=ドキュメントフォルダ +-Name[ka]=დოკუმენტების დასტა +-Name[kk]=Құжаттар қапшығы +-Name[km]=ថត​ឯកសារ +-Name[ko]=문서 탐색기 +-Name[lt]=Dokumentų aplankai +-Name[mk]=Папка со документи ++Name[ja]=ドキュメントフォルダ ++Name[kk]=Құжаттар қапшығы ++Name[lt]=Dokumentų aplankai + Name[nb]=Dokumentmappe + Name[nds]=Dokmenten-Orner +-Name[ne]=कागजात फोल्डर + Name[nl]=Documenten + Name[nn]=Dokumentmappe +-Name[pa]=ਦਸਤਾਵੇਜ਼ ਫੋਲਡਰ +-Name[pl]=Katalog dokumentów ++Name[pa]=ਦਸਤਾਵੇਜ਼ ਫੋਲਡਰ ++Name[pl]=Katalog dokumentów + Name[pt]=Pasta de Documentos + Name[pt_BR]=Pasta de Documentos + Name[ro]=Folder documente +-Name[ru]=Документы +-Name[se]=Dokumeantamáhppa +-Name[sk]=Priečinok dokumentov ++Name[ru]=Документы ++Name[se]=Dokumeantamáhppa + Name[sl]=Mapa z dokumenti +-Name[sr]=Фасцикла са документима + Name[sr@Latn]=Fascikla sa dokumentima + Name[sv]=Dokumentkatalog +-Name[te]=పత్రాల ఫొల్డర్ +-Name[tg]=Ҳуҷҷатҳо +-Name[th]=โฟลเดอร์เอกสาร ++Name[tg]=Ҳуҷҷатҳо + Name[tr]=Belgeler Dizini +-Name[uk]=Тека документів ++Name[uk]=Тека документів + Name[uz]=Hujjatlar jildi +-Name[uz@cyrillic]=Ҳужжатлар жилди +-Name[vi]=ThÆ° mục Tà i liệu ++Name[uz@cyrillic]=Ҳужжатлар жилди ++Name[vi]=Thư mục T� i liệu + Name[wa]=Ridant documints +-Name[zh_CN]=文档文件夹 +-Name[zh_TW]=文件目錄 ++Name[zh_CN]=文档文件夹 ++Name[zh_TW]=文件目錄 + diff --git a/redhat/kdebase/kdebase-3.5.13-kate_focus_fix.patch b/redhat/kdebase/kdebase-3.5.13-kate_focus_fix.patch new file mode 100644 index 000000000..589341f29 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-kate_focus_fix.patch @@ -0,0 +1,133 @@ +--- kdebase.o/kate/app/kateconfigdialog.cpp.orig 2012-04-01 18:22:50.732901887 +0200 ++++ kdebase/kate/app/kateconfigdialog.cpp 2012-04-01 18:25:01.100327408 +0200 +@@ -138,6 +138,16 @@ + TQWhatsThis::add( sb_numRecentFiles, youwouldnotbelieveit ); + connect( sb_numRecentFiles, TQT_SIGNAL( valueChanged ( int ) ), this, TQT_SLOT( slotChanged() ) ); + ++ // Use only one instance of kate (MDI) ? ++ cb_useInstance = new TQCheckBox(bgStartup); ++ cb_useInstance->setText(i18n("Always use the current instance of kate to open new files")); ++ cb_useInstance->setChecked(parent->useInstance); ++ TQWhatsThis::add( cb_useInstance, i18n( ++ "When checked, all files opened from outside of Kate will only use the " ++ "currently opened instance of Kate.") ); ++ connect( cb_useInstance, TQT_SIGNAL( toggled( bool ) ), this, TQT_SLOT( slotChanged() ) ); ++ ++ + // sync the konsole ? + cb_syncKonsole = new TQCheckBox(bgStartup); + cb_syncKonsole->setText(i18n("Sync &terminal emulator with active document")); +@@ -161,7 +171,7 @@ + this, TQT_SLOT( slotChanged() ) ); + + // GROUP with the one below: "Meta-informations" +- bgStartup = new TQButtonGroup( 1, Qt::Horizontal, i18n("Meta-Information"), frGeneral ); ++ bgStartup = new TQButtonGroup( 2, Qt::Horizontal, i18n("Meta-Information"), frGeneral ); + lo->addWidget( bgStartup ); + + // save meta infos +@@ -409,6 +419,7 @@ + mainWindow->modNotification = cb_modNotifications->isChecked(); + + mainWindow->syncKonsole = cb_syncKonsole->isChecked(); ++ mainWindow->useInstance = cb_useInstance->isChecked(); + + mainWindow->filelist->setSortType(cb_sortFiles->isChecked() ? KateFileList::sortByName : KateFileList::sortByID); + +diff -urN tdebase/kate/app/kateconfigdialog.h tdebase.new/kate/app/kateconfigdialog.h +--- tdebase/kate/app/kateconfigdialog.h 2012-01-08 18:00:01.000000000 -0600 ++++ tdebase.new/kate/app/kateconfigdialog.h 2012-03-11 00:05:03.000000000 -0600 +@@ -66,6 +66,7 @@ + + TQCheckBox *cb_fullPath; + TQCheckBox *cb_syncKonsole; ++ TQCheckBox *cb_useInstance; + TQCheckBox *cb_sortFiles; + TQSpinBox *sb_numRecentFiles; + TQCheckBox *cb_modNotifications; +diff -urN tdebase/kate/app/katemain.cpp tdebase.new/kate/app/katemain.cpp +--- tdebase/kate/app/katemain.cpp 2011-12-25 00:52:38.000000000 -0600 ++++ tdebase.new/kate/app/katemain.cpp 2012-03-11 00:05:03.000000000 -0600 +@@ -41,6 +41,8 @@ + { "start ", I18N_NOOP("Start Kate with a given session"), 0 }, + { "u", 0, 0 }, + { "use", I18N_NOOP("Use a already running kate instance (if possible)"), 0 }, ++ { "f", 0, 0 }, ++ { "force-sdi", I18N_NOOP("Force single document mode if the MDI setting is enabled."), 0 }, + { "p", 0, 0 }, + { "pid ", I18N_NOOP("Only try to reuse kate instance with this pid"), 0 }, + { "e", 0, 0 }, +@@ -57,9 +59,13 @@ + + extern "C" KDE_EXPORT int kdemain( int argc, char **argv ) + { ++ KConfig * config = NULL; ++ bool alwaysUseInstance; + // here we go, construct the Kate version + TQString kateVersion = KateApp::kateVersion(); + ++ KInstance instance( "kate" ); ++ + KAboutData aboutData ("kate", I18N_NOOP("Kate"), kateVersion.latin1(), + I18N_NOOP( "Kate - Advanced Text Editor" ), KAboutData::License_LGPL_V2, + I18N_NOOP( "(c) 2000-2005 The Kate Authors" ), 0, "http://kate.kde.org"); +@@ -107,8 +113,13 @@ + // get our command line args ;) + KCmdLineArgs* args = KCmdLineArgs::parsedArgs(); + +- // now, first try to contact running kate instance if needed +- if ( args->isSet("use") || (::getenv("KATE_PID")!=0) ) ++ config = KGlobal::config(); ++ config->setGroup("General"); ++ alwaysUseInstance = config->readBoolEntry("UseInstance"); ++ ++// now, first try to contact running kate instance if needed ++ if ( ((args->isSet("use") || alwaysUseInstance) && ++ !(args->isSet("force-sdi"))) || (::getenv("KATE_PID")!=0) ) + { + DCOPClient client; + client.attach (); +diff -urN tdebase/kate/app/katemainwindow.cpp tdebase.new/kate/app/katemainwindow.cpp +--- tdebase/kate/app/katemainwindow.cpp 2012-01-08 18:00:01.000000000 -0600 ++++ tdebase.new/kate/app/katemainwindow.cpp 2012-03-11 01:18:48.000000000 -0600 +@@ -406,6 +406,7 @@ + + config->setGroup("General"); + syncKonsole = config->readBoolEntry("Sync Konsole", true); ++ useInstance = config->readBoolEntry("UseInstance", false); + modNotification = config->readBoolEntry("Modified Notification", false); + KateDocManager::self()->setSaveMetaInfos(config->readBoolEntry("Save Meta Infos", true)); + KateDocManager::self()->setDaysMetaInfos(config->readNumEntry("Days Meta Infos", 30)); +@@ -437,6 +438,8 @@ + + config->writeEntry("Sync Konsole", syncKonsole); + ++ config->writeEntry("UseInstance", useInstance); ++ + fileOpenRecent->saveEntries(config, "Recent Files"); + + fileselector->writeConfig(config, "fileselector"); +diff -urN tdebase/kate/app/katemainwindow.h tdebase.new/kate/app/katemainwindow.h +--- tdebase/kate/app/katemainwindow.h 2011-12-25 00:52:38.000000000 -0600 ++++ tdebase.new/kate/app/katemainwindow.h 2012-03-11 00:05:03.000000000 -0600 +@@ -182,6 +182,7 @@ + Kate::ToolViewManager *m_toolViewManager; + + bool syncKonsole; ++ bool useInstance; + bool modNotification; + + DCOPObject *m_dcop; +diff -urN tdebase/kate/app/katemain.cpp tdebase.new/kate/app/katemain.cpp +--- tdebase/kate/app/katemain.cpp 2011-12-25 00:52:38.000000000 -0600 ++++ tdebase.new/kate/app/katemain.cpp 2012-03-11 13:32:05.000000000 -0500 +@@ -231,7 +231,9 @@ + else + wRef.call("restore"); + } ++ wRef.call( "hide" ); + wRef.call( "raise" ); ++ wRef.call( "show" ); + + // stop startup notification + KStartupInfo::appStarted( ); diff --git a/redhat/kdebase/kdebase-3.5.13-kwin-keramic-pics-emb.patch b/redhat/kdebase/kdebase-3.5.13-kwin-keramic-pics-emb.patch new file mode 100644 index 000000000..50768f626 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-kwin-keramic-pics-emb.patch @@ -0,0 +1,62 @@ +diff -uNr kdebase-3.5.13.orig/kwin/clients/keramik/CMakeLists.txt kdebase-3.5.13/kwin/clients/keramik/CMakeLists.txt +--- kdebase-3.5.13.orig/kwin/clients/keramik/CMakeLists.txt 2012-03-14 12:56:02.567586872 +0200 ++++ kdebase-3.5.13/kwin/clients/keramik/CMakeLists.txt 2012-03-14 12:50:07.000000000 +0200 +@@ -42,22 +42,11 @@ + + ##### tiles.h (header) ########################## + +-set( pics +- pics/caption-large-left.png pics/caption-small-right.png +- pics/titlebar-center.png pics/titlebutton-square.png +- pics/border-left.png pics/caption-large-right.png +- pics/grabbar-center.png pics/titlebar-left.png +- pics/border-right.png pics/caption-small-center.png +- pics/grabbar-left.png pics/titlebar-right.png +- pics/caption-large-center.png pics/caption-small-left.png +- pics/grabbar-right.png pics/titlebutton-round.png +- pics/bottom-left.png pics/bottom-right.png pics/bottom-center.png +- pics/titlebutton-square-large.png pics/titlebutton-square-huge.png +- pics/titlebutton-round-large.png pics/titlebutton-round-huge.png ) ++file(GLOB _pics "${CMAKE_CURRENT_SOURCE_DIR}/pics/*.png" ) + + add_custom_command( OUTPUT tiles.h +- COMMAND ${CMAKE_CURRENT_BINARY_DIR}/embedtool ${pics} +- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/embedtool ${pics} ) ++ COMMAND ${CMAKE_CURRENT_BINARY_DIR}/embedtool ${_pics} ++ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/embedtool ${_pics} ) + + tde_add_executable( embedtool + SOURCES embedtool.cpp +diff -Naur tdebase-master-orig/CMakeLists.txt tdebase-master/CMakeLists.txt +--- tdebase-master-orig/CMakeLists.txt 2012-03-28 09:07:30.000000000 +0200 ++++ tdebase-master/CMakeLists.txt 2012-04-01 11:41:49.000000000 +0200 +@@ -27,6 +27,7 @@ + include( CheckLibraryExists ) + include( CheckFunctionExists ) + include( CheckStructHasMember ) ++include( CheckTypeSize ) + + + ##### include our cmake modules ################# +@@ -150,6 +151,8 @@ + set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" ) + set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" ) + ++check_type_size( "long long" LONG_LONG ) ++ + + ##### kdebase directories ####################### + +diff -Naur tdebase-master-orig/config.h.cmake tdebase-master/config.h.cmake +--- tdebase-master-orig/config.h.cmake 2012-03-28 09:07:30.000000000 +0200 ++++ tdebase-master/config.h.cmake 2012-04-01 11:45:21.000000000 +0200 +@@ -3,6 +3,9 @@ + // konsole + #cmakedefine HAVE_PROC_CWD 1 + ++// Defined if compiler supports long long type. ++#cmakedefine HAVE_LONG_LONG 1 ++ + // kdesktop, konsole, kcontrol, kicker + #cmakedefine HAVE_XRENDER 1 + diff --git a/redhat/kdebase/kdebase-3.5.13-option_to_disable_scroll_desktop.patch b/redhat/kdebase/kdebase-3.5.13-option_to_disable_scroll_desktop.patch new file mode 100644 index 000000000..732619ff5 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-option_to_disable_scroll_desktop.patch @@ -0,0 +1,101 @@ +Index: pagerapplet.cpp +=================================================================== +--- kdebase.ori/kicker/applets/minipager/pagerapplet.cpp (revision 1287351) ++++ kdebase/kicker/applets/minipager/pagerapplet.cpp (working copy) +@@ -442,6 +442,10 @@ + { + int newDesk; + int desktops = KWin::numberOfDesktops(); ++ ++ ++ if(cycleWindow()){ ++ + if (m_kwin->numberOfViewports(0).width() * m_kwin->numberOfViewports(0).height() > 1 ) + desktops = m_kwin->numberOfViewports(0).width() * m_kwin->numberOfViewports(0).height(); + if (e->delta() < 0) +@@ -452,8 +456,9 @@ + { + newDesk = (desktops + m_curDesk - 2) % desktops + 1; + } +- ++ + slotButtonSelected(newDesk); ++ } + } + + void KMiniPager::drawButtons() +@@ -729,6 +734,7 @@ + + showMenu->insertItem(i18n("&Window Thumbnails"), WindowThumbnails); + showMenu->insertItem(i18n("&Window Icons"), WindowIcons); ++ showMenu->insertItem(i18n("&Cycle on Wheel"), Cycle); + + showMenu->insertTitle(i18n("Text Label")); + showMenu->insertItem(i18n("Desktop N&umber"), +@@ -760,6 +766,7 @@ + + m_contextMenu->setItemChecked(WindowThumbnails, m_settings->preview()); + m_contextMenu->setItemChecked(WindowIcons, m_settings->icons()); ++ m_contextMenu->setItemChecked(Cycle, m_settings->cycle()); + m_contextMenu->setItemEnabled(WindowIcons, m_settings->preview()); + m_contextMenu->setItemEnabled(RenameDesktop, + m_settings->labelType() == +@@ -812,11 +819,12 @@ + m_settings->setPreview(!m_settings->preview()); + TaskManager::the()->trackGeometry(); + break; +- ++ case Cycle: ++ m_settings->setCycle(!m_settings->cycle()); ++ break; + case WindowIcons: + m_settings->setIcons(!m_settings->icons()); + break; +- + case PagerSettings::EnumBackgroundType::BgPlain + bgOffset: + m_settings->setBackgroundType(PagerSettings::EnumBackgroundType::BgPlain); + break; +Index: pagersettings.kcfg +=================================================================== +--- kdebase.ori/kicker/applets/minipager/pagersettings.kcfg (revision 1287351) ++++ kdebase/kicker/applets/minipager/pagersettings.kcfg (working copy) +@@ -49,10 +49,15 @@ + + true + +- ++ + + + true + ++ ++ ++ ++ true ++ + + +Index: pagerapplet.h +=================================================================== +--- kdebase.ori/kicker/applets/minipager/pagerapplet.h (revision 1287351) ++++ kdebase/kicker/applets/minipager/pagerapplet.h (working copy) +@@ -64,15 +64,17 @@ + void setActive( WId active ) { m_activeWindow = active; } + WId activeWindow() { return m_activeWindow; } + +- enum ConfigOptions { LaunchExtPager = 96, WindowThumbnails, ++ enum ConfigOptions { LaunchExtPager = 96, WindowThumbnails, Cycle, + WindowIcons, ConfigureDesktops, RenameDesktop }; + int labelType() const { return m_settings->labelType(); } + + int bgType() const { return m_settings->backgroundType(); } + + bool desktopPreview() const { return m_settings->preview(); } ++ bool cycleWindow() const { return m_settings->cycle(); } + bool windowIcons() const { return m_settings->icons(); } + ++ + Orientation orientation() const { return KPanelApplet::orientation(); } + Direction popupDirection() { return KPanelApplet::popupDirection(); } + diff --git a/redhat/kdebase/tdebase-r14.spec b/redhat/kdebase/tdebase-r14.spec new file mode 100644 index 000000000..e1eee6c5b --- /dev/null +++ b/redhat/kdebase/tdebase-r14.spec @@ -0,0 +1,646 @@ +# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". +%if "%{?_prefix}" != "/usr" +%define _variant .opt +%define _docdir %{_prefix}/share/doc +%endif + +# TDE specific variables +BuildRequires: cmake >= 2.8 +%define tde_docdir %{_docdir}/trinity +%define tde_libdir %{_libdir}/trinity + +# Older RHEL/Fedora versions use packages named "qt", "qt-devel", .. +# whereas newer versions use "qt3", "qt3-devel" ... +%if 0%{?rhel} >= 6 || 0%{?fedora} >= 8 +%define _qt_suffix 3 +%endif + + +Name: tdebase +Version: r14 +Release: 1%{?dist}%{?_variant} +License: GPL +Summary: Trinity Base Programs +Group: User Interface/Desktops + +Vendor: Trinity Project +Packager: Francois Andriot +URL: http://www.trinitydesktop.org/ + +Prefix: %{_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: tdebase-%{version}.tar.gz + +# Wrapper script to prevent Plasma launch at Trinity Startup +Source1: plasma-desktop + +# Pam configuration files for RHEL / Fedora +Source2: pamd.kdm-trinity%{?dist} +Source3: pamd.kdm-trinity-np%{?dist} +Source4: pamd.kcheckpass-trinity%{?dist} +Source5: pamd.kscreensaver-trinity%{?dist} + +# TDE unofficial patches, fixing FTBFS + +# TDE for RHEL/Fedora specific patches +## [kdebase/kdesktop] Modifies 'open terminal here' on desktop +Patch11: kdebase-3.5.12-desktop-openterminalhere.patch +## [kdebase/kioslave] Forces HAL backend to use HAL mount options +Patch12: kdebase-3.5.12-halmountoptions.patch + +# TDE unofficial patches for enhanced features or bugfixes. +## [kdebase/kioslave/man] Fix kio_man for older distros without 'man-db' [Bug #714] +Patch21: kdebase-3.5.13-kio_man_utf8.patch +## [kdebase/konqueror] Re-enable 'open tab in background' [Bug #245] +Patch22: kdebase-3.5.13-konq_menu_tab_background.patch +## [kdebase/kicker] Restores the original KDE3 clock [Bug #387] +Patch27: kdebase-3.5.13-restore_kde3_clock.patch + +# Fedora 15 Theme: "Lovelock" +%if 0%{?fedora} == 15 +Requires: lovelock-backgrounds-single +%define tde_bg /usr/share/backgrounds/lovelock/default/standard/lovelock.png + +Requires: fedora-release-notes +%define tde_aboutlabel Fedora 15 +%define tde_aboutpage /usr/share/doc/HTML/fedora-release-notes/index.html +%endif + +# Fedora 16 Theme: "Verne" +%if 0%{?fedora} == 16 +Requires: verne-backgrounds-single +%define tde_bg /usr/share/backgrounds/verne/default/standard/verne.png + +Requires: fedora-release-notes +%define tde_aboutlabel Fedora 16 +%define tde_aboutpage /usr/share/doc/HTML/fedora-release-notes/index.html +%endif + +# RHEL 5 Theme +%if 0%{?rhel} == 5 +Requires: desktop-backgrounds-basic +%define tde_bg /usr/share/backgrounds/images/default.jpg + +Requires: indexhtml +%define tde_aboutlabel Enterprise Linux 5 +%define tde_aboutpage /usr/share/doc/HTML/index.html +%endif + +# RHEL 6 Theme +%if 0%{?rhel} == 6 +Requires: redhat-logos +%define tde_bg /usr/share/backgrounds/default.png + +Requires: redhat-indexhtml +%define tde_aboutlabel Enterprise Linux 6 +%define tde_aboutpage /usr/share/doc/HTML/index.html +%endif + +BuildRequires: tqtinterface-devel +BuildRequires: trinity-arts-devel +BuildRequires: tdelibs-devel >= %{version} +BuildRequires: tqt3-devel >= 3.4.0 +BuildRequires: openssl-devel +BuildRequires: avahi-devel +BuildRequires: avahi-tqt-devel +BuildRequires: imake +BuildRequires: xorg-x11-proto-devel +BuildRequires: OpenEXR-devel +BuildRequires: libsmbclient-devel +BuildRequires: dbus-devel +BuildRequires: dbus-tqt-devel +BuildRequires: lm_sensors-devel +BuildRequires: libfontenc-devel +BuildRequires: hal-devel +BuildRequires: audiofile-devel +BuildRequires: alsa-lib-devel +BuildRequires: libraw1394-devel +BuildRequires: openldap-devel +BuildRequires: libvorbis-devel +BuildRequires: pam-devel +BuildRequires: libXdmcp-devel +BuildRequires: libxkbfile-devel +BuildRequires: libusb-devel +BuildRequires: esound-devel +BuildRequires: glib2-devel +BuildRequires: libXcomposite-devel +BuildRequires: libXtst-devel +BuildRequires: libXdamage-devel +BuildRequires: xorg-x11-font-utils +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: nas-devel + +%if 0%{?rhel} >= 6 || 0%{?fedora} >= 15 +BuildRequires: libudev-devel +%endif + +Requires: tqtinterface >= %{version} +Requires: trinity-arts +Requires: tdelibs >= %{version} +Requires: tqt3 >= 3.4.0 +Requires: openssl +Requires: avahi +Requires: avahi-tqt +Requires: dbus-tqt +# Provides the global Xsession script (/etc/X11/xinit/Xsession) +Requires: xorg-x11-xinit + + +# RHEL 6 Configuration files are provided in separate packages +%if "%{?_prefix}" == "/usr" +Requires: kde-settings-kdm +%endif +Requires: redhat-menus + +#Provides: kdebase%{?_qt_suffix} = %{version} +%if "%{?_prefix}" == "/usr" +Provides: kdebase%{?_qt_suffix} = %{version} +Obsoletes: kdebase%{?_qt_suffix} <= 3.5.10 +%endif + + +# Required for Fedora LiveCD +Provides: service(graphical-login) + +Obsoletes: trinity-kdebase <= 3.5.13 + + +%description +Core applications for the Trinity Desktop Environment. Included are: kdm +(replacement for xdm), twin (window manager), konqueror (filemanager, +web browser, ftp client, ...), konsole (xterm replacement), kpanel +(application starter and desktop pager), kaudio (audio server), +kdehelp (viewer for kde help files, info and man pages), kthememgr +(system for managing alternate theme packages) plus other KDE +components (kcheckpass, kikbd, kscreensaver, kcontrol, kfind, +kfontmanager, kmenuedit). + + +%package devel +Requires: %{name} +Requires: %{name}-libs = %{version}-%{release} +Requires: tdelibs-devel >= %{version} +Summary: %{summary} - Development files +%if "%{?_prefix}" == "/usr" +Provides: kdebase%{?_qt_suffix}-devel = %{version} +Obsoletes: kdebase%{?_qt_suffix}-devel <= 3.5.10 +%endif +Obsoletes: trinity-kdebase-devel <= 3.5.13 + +Group: Development/Libraries +%description devel +Header files for developing applications using %{name}. +Install kdebase-devel if you want to develop or compile Konqueror, +Kate plugins or TWin styles. + + +%package extras +Summary: Extra applications from %{name} +Group: User Interface/Desktops +Requires: %{name} = %{version}-%{release} +%if "%{?_prefix}" == "/usr" +Provides: kdebase%{?_qt_suffix}-extras = %{version} +Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10 +%endif +Obsoletes: trinity-kdebase-extras <= 3.5.13 +%description extras +%{summary}, including: + * kappfinder + * kpager + * ktip + * kpersonalizer + + +%package libs +Summary: %{name} runtime libraries +Group: System Environment/Libraries +Requires: tdelibs >= %{version} +%if "%{?_prefix}" == "/usr" +Provides: kdebase%{?_qt_suffix}-libs = %{version} +Obsoletes: kdebase%{?_qt_suffix}-libs <= 3.5.10 +%endif +Requires: %{name} = %{version}-%{release} +Obsoletes: trinity-kdebase-libs <= 3.5.13 +%description libs +%{summary} + + +%package pim-ioslaves +Summary: PIM KIOslaves from %{name} +Group: System Environment/Libraries +%if "%{?_prefix}" == "/usr" +Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version} +Obsoletes: kdebase%{?_qt_suffix}-pim-ioslaves <= 3.5.10 +%endif +Obsoletes: trinity-kdebase-pim-ioslaves <= 3.5.13 +%description pim-ioslaves +Protocol handlers (KIOslaves) for personal information management, including: + * kio_ldap + * kio_nntp + * kio_pop3 + * kio_smtp + + +%prep +%setup -q -n %{name} + +%patch11 -p1 +%patch12 -p1 + +%if 0%{?rhel} > 0 +%patch21 -p1 +%endif +%patch22 -p1 +%patch27 -p0 + +# Applies an optional distro-specific graphical theme +%if "%{?tde_bg}" != "" +# TDM Background +%__sed -i "tdm/kfrontend/gentdmconf.c" \ + -e 's|"Wallpaper=isadora.png\n"|"Wallpaper=%{tde_bg}\n"|' + +# TDE user default background +%__sed -i "kpersonalizer/keyecandypage.cpp" \ + -e 's|#define DEFAULT_WALLPAPER "isadora.png"|#define DEFAULT_WALLPAPER "%{tde_bg}"|' +%__sed -i "starttde" \ + -e 's|/usr/share/wallpapers/isadora.png.desktop|%{tde_bg}|' \ + -e 's|Wallpaper=isadora.png|Wallpaper=%{tde_bg}|' +%endif + +# TDE branding: removes KUbuntu references [Bug #617] +%__sed -i "kcontrol/tdm/tdm-appear.cpp" \ + -e "s|Welcome to Kubuntu |Welcome to %{tde_aboutlabel} |" +%__sed -i "konqueror/about/konq_aboutpage.cc" \ + -e "s|About Kubuntu|About %{tde_aboutlabel}|" \ + -e "s|help:/kubuntu/|%{tde_aboutpage}|" \ + -e "s|Kubuntu Documentation|%{tde_aboutlabel} Documentation|" +%__sed -i "konqueror/about/launch.html" \ + -e "s|help:/kubuntu/about-kubuntu/index.html|%{tde_aboutpage}|" +%__sed -i "tdm/config.def" \ + -e "s|Welcome to Trinity |Welcome to %{tde_aboutlabel} |" + +# TDE default directory in 'starttde' script (TDEDIR) +%__sed -i "starttde" \ + -e "s|/opt/trinity|%{_prefix}|g" + +%build +export PATH="%{_bindir}:${PATH}" +export PKG_CONFIG_PATH="%{_libdir}/pkgconfig" +export CMAKE_INCLUDE_PATH="%{_includedir}:%{_includedir}/tqt" +export LD_LIBRARY_PATH="%{_libdir}" + +%__mkdir build +cd build +%cmake \ + -DHAVE_REAL_TQT=ON \ + -DHTML_INSTALL_DIR=%{tde_docdir}/HTML \ + -DWITH_SASL=ON \ + -DWITH_LDAP=ON \ + -DWITH_SAMBA=ON \ + -DWITH_OPENEXR=ON \ + -DWITH_XCOMPOSITE=ON \ + -DWITH_XCURSOR=ON \ + -DWITH_XFIXES=ON \ +%if 0%{?fedora} || 0%{?rhel} >= 6 + -DWITH_XRANDR=ON \ +%else + -DWITH_XRANDR=OFF \ +%endif + -DWITH_XRENDER=ON \ + -DWITH_XDAMAGE=ON \ + -DWITH_XEXT=ON \ + -DWITH_XTEST=ON \ + -DWITH_LIBUSB=ON \ + -DWITH_LIBRAW1394=ON \ + -DWITH_PAM=ON \ + -DWITH_SHADOW=OFF \ + -DWITH_XDMCP=ON \ + -DWITH_XINERAMA=ON \ + -DWITH_ARTS=ON \ + -DWITH_I8K=OFF \ + -DWITH_HAL=ON \ + -DBUILD_ALL=ON \ + -DKCHECKPASS_PAM_SERVICE="kcheckpass-trinity" \ + -DKDM_PAM_SERVICE="kdm-trinity" \ + -DKSCREENSAVER_PAM_SERVICE="kscreensaver-trinity" \ + .. + +%__make %{?_smp_mflags} + +%install +%__rm -rf %{?buildroot} +%__make install DESTDIR=%{?buildroot} -C build + +# Adds a GDM/KDM/TDM/XDM session called 'TDE' +%__install -D -m 644 \ + "%{?buildroot}%{_datadir}/apps/tdm/sessions/tde.desktop" \ + "%{?buildroot}%{_usr}/share/xsessions/tde.desktop" + +# Renames '/etc/ksysguarddrc' to avoid conflict with KDE4 'ksysguard' +%__mv -f \ + %{?buildroot}%{_sysconfdir}/ksysguarddrc \ + %{?buildroot}%{_sysconfdir}/ksysguarddrc.tde + +# TDE 3.5.12: add script "plasma-desktop" to avoid conflict with KDE4 +%if "%{?_prefix}" != "/usr" +%__install -m 755 "%{SOURCE1}" "%{?buildroot}%{_bindir}" +%endif + +# PAM configuration files +%__install -D -m 644 "%{SOURCE2}" "%{?buildroot}%{_sysconfdir}/pam.d/kdm-trinity" +%__install -D -m 644 "%{SOURCE3}" "%{?buildroot}%{_sysconfdir}/pam.d/kdm-trinity-np" +%__install -D -m 644 "%{SOURCE4}" "%{?buildroot}%{_sysconfdir}/pam.d/kcheckpass-trinity" +%__install -D -m 644 "%{SOURCE5}" "%{?buildroot}%{_sysconfdir}/pam.d/kscreensaver-trinity" + +# KDM configuration for RHEL/Fedora +%__sed -i "%{?buildroot}%{_datadir}/config/tdm/tdmrc" \ +%if 0%{?fedora} >= 16 + -e "s/^#*MinShowUID=.*/MinShowUID=1000/" +%else + -e "s/^#*MinShowUID=.*/MinShowUID=500/" +%endif + +# Moves the XDG configuration files to TDE directory +%if "%{_prefix}" != "/usr" +%__mkdir_p "%{?buildroot}%{_prefix}/etc" +%__mv -f "%{?buildroot}%{_sysconfdir}/xdg" "%{?buildroot}%{_prefix}/etc" +%endif + +%clean +%__rm -rf %{?buildroot} + + +%post +touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : +gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : +update-desktop-database 2> /dev/null || : +# Dirty hack to install '/etc/ksysguardrc' alongside with KDE4 +[ -r "%{_sysconfdir}/ksysguarddrc" ] || cp -f "%{_sysconfdir}/ksysguarddrc.tde" "%{_sysconfdir}/ksysguarddrc" + +%postun +touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : +gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : +update-desktop-database 2> /dev/null || : + + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%post extras +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 extras +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 || : + + +%files extras +%defattr(-,root,root,-) +# kappfinder +%{_bindir}/kappfinder +%{_datadir}/applications/kde/kappfinder.desktop +%{_datadir}/applnk/System/kappfinder.desktop +%{_datadir}/apps/kappfinder/ +%{_datadir}/icons/hicolor/*/apps/kappfinder.png +# ktip +%{_bindir}/ktip +%{_datadir}/applications/kde/ktip.desktop +%{_datadir}/applnk/Toys/ktip.desktop +%{_datadir}/apps/kdewizard +%{_datadir}/autostart/ktip.desktop +%{_datadir}/icons/hicolor/*/apps/ktip* +# kpersonalizer +%{_bindir}/kpersonalizer +%{_datadir}/applications/kde/kpersonalizer.desktop +%{_datadir}/applnk/System/kpersonalizer.desktop +%{_datadir}/apps/kpersonalizer/ +%{_datadir}/icons/crystalsvg/*/apps/kpersonalizer.png +# kpager +%{_bindir}/kpager +%{_datadir}/applications/kde/kpager.desktop +%{_datadir}/applnk/Utilities/kpager.desktop +%{_datadir}/icons/hicolor/*/apps/kpager.png + + +%files +%defattr(-,root,root,-) +# kappfinder +%exclude %{_datadir}/applications/kde/kappfinder.desktop +%exclude %{_datadir}/applnk/System/kappfinder.desktop +%exclude %{_datadir}/apps/kappfinder/ +%exclude %{_datadir}/icons/hicolor/*/apps/kappfinder.png +# ktip +%exclude %{_datadir}/applications/kde/ktip.desktop +%exclude %{_datadir}/applnk/Toys/ktip.desktop +%exclude %{_datadir}/apps/kdewizard +%exclude %{_datadir}/autostart/ktip.desktop +%exclude %{_datadir}/icons/hicolor/*/apps/ktip* +# kpersonalizer +%exclude %{_datadir}/applications/kde/kpersonalizer.desktop +%exclude %{_datadir}/applnk/System/kpersonalizer.desktop +%exclude %{_datadir}/apps/kpersonalizer/ +%exclude %{_datadir}/icons/crystalsvg/*/apps/kpersonalizer.png +# kpager +%exclude %{_datadir}/applications/kde/kpager.desktop +%exclude %{_datadir}/applnk/Utilities/kpager.desktop +%exclude %{_datadir}/icons/hicolor/*/apps/kpager.png + +# Pam configuration +%{_sysconfdir}/pam.d/* + +%doc AUTHORS COPYING COPYING-DOCS README README.pam +%{tde_docdir}/HTML/en/* +%config(noreplace) %{_sysconfdir}/ksysguarddrc.tde +%{_bindir}/gentdmconf +%{_bindir}/kaccess +%{_bindir}/kapplymousetheme +%{_bindir}/kate +%{_bindir}/kblankscrn.kss +%{_bindir}/kbookmarkmerger +%{_bindir}/kcminit +%{_bindir}/kcminit_startup +%{_bindir}/kcontrol +%{_bindir}/kcontroledit +%{_bindir}/kdebugdialog +%{_bindir}/kdeinstallktheme +%{_bindir}/kdepasswd +%{_bindir}/tdesu +%attr(0755,root,root) %{_bindir}/tdesud +%{_bindir}/kdialog +%{_bindir}/tdm +%{_bindir}/tdmctl +%{_bindir}/keditbookmarks +%{_bindir}/keditfiletype +%{_bindir}/kfind +%{_bindir}/kfmclient +%{_bindir}/khelpcenter +%{_bindir}/khotkeys +%{_bindir}/kinfocenter +%{_bindir}/klipper +%{_bindir}/kmenuedit +%{_bindir}/konqueror +%{_bindir}/konsole +%{_bindir}/krandom.kss +%{_bindir}/krdb +%{_bindir}/kreadconfig +%{_bindir}/ksmserver +%{_bindir}/ksplashsimple +%{_bindir}/kstart +%{_bindir}/ksysguard +%{_bindir}/ksysguardd +%{_bindir}/ksystraycmd +%{_bindir}/ktrash +%{_bindir}/twin +%{_bindir}/twin_killer_helper +%{_bindir}/twin_rules_dialog +%{_bindir}/kwrite +%{_bindir}/kwriteconfig +%{_bindir}/kxkb +%{_bindir}/nspluginscan +%{_bindir}/nspluginviewer +%{_bindir}/starttde +%{_bindir}/kcheckrunning +%{_bindir}/kdesktop +%{_bindir}/kdesktop_lock +%{_bindir}/tdm_config +%{_bindir}/tdm_greet +%{_bindir}/kfontinst +%{_bindir}/kfontview +%{_bindir}/krootimage +%{_bindir}/kwebdesktop +%{_datadir}/autostart/* +%{_datadir}/desktop-directories/* +%{_datadir}/locale/*/entry.desktop +%{_datadir}/locale/l10n +%{_datadir}/templates/* +%{_datadir}/templates/.source/* +%{_datadir}/wallpapers/* +%{_bindir}/appletproxy +%{_bindir}/drkonqi +%{_bindir}/extensionproxy +%{_bindir}/kasbar +%attr(4755,root,root) %{_bindir}/kcheckpass +%{_bindir}/kdeeject +%{_bindir}/khc_docbookdig.pl +%{_bindir}/khc_htdig.pl +%{_bindir}/khc_htsearch.pl +%{_bindir}/khc_indexbuilder +%{_bindir}/khc_mansearch.pl +%{_bindir}/kicker +%{_bindir}/knetattach +%if 0%{?rhel} >= 6 || 0%{?fedora} >= 15 +%{_bindir}/krandrtray +%endif +%{_bindir}/kompmgr +%{_bindir}/kpm +%{_bindir}/ksplash +%{_libdir}/kconf_update_bin +%{_datadir}/applnk/*.desktop +%{_datadir}/applnk/*/* +%{_datadir}/applnk/.hidden/* +%exclude %{_datadir}/applnk/.hidden/.directory +%{_datadir}/config.kcfg/* +%{_bindir}/kio_media_mounthelper +%{_bindir}/kdcop +%{_bindir}/tdeprintfax +%{_bindir}/khc_beagle_index.pl +%{_bindir}/khc_beagle_search.pl +%{_bindir}/kxdglauncher +%{_bindir}/kjobviewer +%{_bindir}/klocaldomainurifilterhelper +%{_bindir}/kprinter +%{_datadir}/applications/*/* +%{_datadir}/apps/* +%{_datadir}/icons/*color/*/*/* +%{_datadir}/icons/crystalsvg/*/*/* +%{_datadir}/mimelnk/*/* +%{_datadir}/services/* +%{_datadir}/servicetypes/* +%{_datadir}/sounds/* +%{tde_libdir}/* +%{_libdir}/libtdeinit_*.* +%if "%{_prefix}" != "/usr" +%{_prefix}/etc/xdg/menus/applications-merged/kde-essential.menu +%{_prefix}/etc/xdg/menus/kde-information.menu +%{_prefix}/etc/xdg/menus/kde-screensavers.menu +%{_prefix}/etc/xdg/menus/kde-settings.menu +%else +%{_sysconfdir}/xdg/menus/applications-merged/kde-essential.menu +%{_sysconfdir}/xdg/menus/kde-information.menu +%{_sysconfdir}/xdg/menus/kde-screensavers.menu +%{_sysconfdir}/xdg/menus/kde-settings.menu +%endif +/usr/share/xsessions/*.desktop +# Remove conflicts with redhat-menus +%if "%{?_prefix}" != "/usr" +%{_bindir}/plasma-desktop +%config(noreplace) %{_datadir}/config/* +%else +%exclude %{_datadir}/config +%endif +# exclude pim-ioslaves files from main package +%exclude %{tde_libdir}/kio_ldap.* +%exclude %{tde_libdir}/kio_nntp.* +%exclude %{tde_libdir}/kio_pop3.* +%exclude %{tde_libdir}/kio_smtp.* +%exclude %{_datadir}/services/ldap*.protocol +%exclude %{_datadir}/services/nntp*.protocol +%exclude %{_datadir}/services/pop3*.protocol +%exclude %{_datadir}/services/smtp*.protocol + +# New in TDE 3.5.13 +%{_bindir}/krootbacking +%{_bindir}/tsak +%attr(4511,root,root) %{_bindir}/tdmtsak + +# New in TDE R14 +%{_bindir}/crashtest +%{_bindir}/tdeinit_phase1 +%{_bindir}/twin_resumer_helper + + +%files libs +%defattr(-,root,root,-) +%exclude %{_libdir}/libtdeinit_*.* +%{_libdir}/lib*.so.* +%{_libdir}/lib*.la + +%files pim-ioslaves +%defattr(-,root,root,-) +%{tde_libdir}/kio_ldap.* +%{tde_libdir}/kio_nntp.* +%{tde_libdir}/kio_pop3.* +%{tde_libdir}/kio_smtp.* +%{_datadir}/services/ldap*.protocol +%{_datadir}/services/nntp*.protocol +%{_datadir}/services/pop3*.protocol +%{_datadir}/services/smtp*.protocol + +%files devel +%defattr(-,root,root,-) +%{_includedir}/*.h +%dir %{_includedir}/kate +%{_includedir}/kate/* +%dir %{_includedir}/twin +%{_includedir}/twin/* +%dir %{_includedir}/ksgrd +%{_includedir}/ksgrd/* +%dir %{_includedir}/ksplash +%{_includedir}/ksplash/* +%{_libdir}/lib*.so +%exclude %{_libdir}/libtdeinit_*.* +# New in TDE 3.5.13 +%{_datadir}/cmake/*.cmake + +%changelog +* Sun Mar 04 2012 Francois Andriot - r14-1 +- Initial build for TDE R14, using 'tqt3' instead of 'qt3' diff --git a/redhat/kdebase/trinity-kdebase-3.5.13.spec b/redhat/kdebase/trinity-kdebase-3.5.13.spec index 7496f1ec9..dd5bf82ab 100644 --- a/redhat/kdebase/trinity-kdebase-3.5.13.spec +++ b/redhat/kdebase/trinity-kdebase-3.5.13.spec @@ -2,7 +2,7 @@ %if "%{?version}" == "" %define version 3.5.13 %endif -%define release 16 +%define release 17 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" @@ -105,6 +105,24 @@ Patch32: kdebase-3.5.13-fix_kdm_cpu_usage.patch Patch33: kdebase-3.5.13-tsak_keyboard_hotplug.patch ## [kdebase/tsak] Replicate LED status from virtual keyboards to physical keyboards [Bug #561] Patch34: kdebase-3.5.13-replicate_led_status_on_virtual_keyboard.patch +## [kdebase/kwin] do not show hostname in titlebar if it's FQDN of localhost [Bug #889] +Patch35: kdebase-3.5.13-fix_fqdn_in_title.patch +## [kdebase/kicker/applets] Adds option to disable desktop switch on mouse wheel cycling [Bug #908] +Patch36: kdebase-3.5.13-option_to_disable_scroll_desktop.patch +## [kdebase] Fix Keramik window decoration in KWIN [Bug #905] +Patch37: kdebase-3.5.13-kwin-keramic-pics-emb.patch +## [kdebase/kdesktop] Fix device icon placement on desktop [Bug #392] +Patch38: kdebase-3.5.13-fix_device_icon_placement.patch +## [kdebase/kdesktop/lock] Fix security hole in kdesktop_lock +Patch39: kdebase-3.5.13-fix_kdesktop_lock_security_issue.patch +## [kdebase/kdesktop/lock] Allow minimal managed window interaction inside the lock process [Bug #810] +Patch40: kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch +## [kdebase/kwin] Corrects a potential ABI compat problem +Patch41: kdebase-3.5.13-fix_potential_ABI_compat_problem.patch +## [kdebase] Fix kdebase translations in desktop files - part 2 [Bug #890] +Patch42: kdebase-3.5.13-fix_translations_in_desktop_files.patch +## [kdebase/kate] Kate: fix focus broken when using the --use parameter [Bug #692] +Patch43: kdebase-3.5.13-kate_focus_fix.patch # Fedora 15 Theme: "Lovelock" %if 0%{?fedora} == 15 @@ -317,6 +335,15 @@ Protocol handlers (KIOslaves) for personal information management, including: %patch33 -p1 %patch34 -p1 %endif +%patch35 -p1 +%patch36 -p1 +%patch37 -p1 +%patch38 -p1 +%patch39 -p1 +%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 # Applies an optional distro-specific graphical theme %if "%{?tde_bg}" != "" @@ -703,6 +730,17 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %{_datadir}/cmake/*.cmake %changelog +* Sun Apr 01 2012 Francois Andriot - 3.5.13-17 +- do not show hostname in titlebar if it's FQDN of localhost [Bug #889] +- Adds option to disable desktop switch on mouse wheel cycling [Bug #908] +- Fix Keramik window decoration in KWIN [Bug #905] +- Fix device icon placement on desktop [Bug #392] +- Fix security hole in kdesktop_lock +- Allow minimal managed window interaction inside the lock process [Bug #810] +- Corrects a potential ABI compat problem +- Fix kdebase translations in desktop files - part 2 [Bug #890] +- Kate: fix focus broken when using the --use parameter [Bug #692] + * Sat Jan 21 2012 Francois Andriot - 3.5.13-16 - Fix KDM high CPU usage when inactive [Bug #690] - Add keyboard hotplug (add/remove) support to tsak [Bug #587]