From b90c8995428a95728d62ad0f1b477d2486654212 Mon Sep 17 00:00:00 2001 From: albator Date: Thu, 24 Nov 2011 23:47:54 +0100 Subject: RHEL/Fedora: TDE fixes, add applications, etc .... --- redhat/kdebase/kdebase-3.5.12-kickerfix.patch | 13 + .../kdebase/kdebase-3.5.12-kickoff_unstable.patch | 443 --------------------- .../kdebase/kdebase-3.5.13-kickoff_unstable.patch | 443 +++++++++++++++++++++ redhat/kdebase/trinity-kdebase-3.5.12.spec | 199 +++++++-- redhat/kdebase/trinity-kdebase-3.5.13.spec | 56 ++- 5 files changed, 660 insertions(+), 494 deletions(-) create mode 100644 redhat/kdebase/kdebase-3.5.12-kickerfix.patch delete mode 100644 redhat/kdebase/kdebase-3.5.12-kickoff_unstable.patch create mode 100644 redhat/kdebase/kdebase-3.5.13-kickoff_unstable.patch (limited to 'redhat/kdebase') diff --git a/redhat/kdebase/kdebase-3.5.12-kickerfix.patch b/redhat/kdebase/kdebase-3.5.12-kickerfix.patch new file mode 100644 index 000000000..2a58f0020 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.12-kickerfix.patch @@ -0,0 +1,13 @@ +Index: ui/k_new_mnu.cpp +=================================================================== +--- ui/k_new_mnu.cpp (revision 1259264) ++++ ui/k_new_mnu.cpp (working copy) +@@ -3502,6 +3502,8 @@ + descr, "system:/media/" + name, nId++, -1 ); + + ++it; // skip separator ++ ++it; ++ ++it; + } + } + diff --git a/redhat/kdebase/kdebase-3.5.12-kickoff_unstable.patch b/redhat/kdebase/kdebase-3.5.12-kickoff_unstable.patch deleted file mode 100644 index 7b8b649e1..000000000 --- a/redhat/kdebase/kdebase-3.5.12-kickoff_unstable.patch +++ /dev/null @@ -1,443 +0,0 @@ -Binary files kdebase/kicker/data/kickoff/resize_handle.png and kdebase1/kicker/data/kickoff/resize_handle.png differ -diff -ur kdebase/kicker/kicker/buttons/knewbutton.cpp kdebase1/kicker/kicker/buttons/knewbutton.cpp ---- kdebase/kicker/kicker/buttons/knewbutton.cpp 2011-08-11 01:25:50.000000000 -0400 -+++ kdebase1/kicker/kicker/buttons/knewbutton.cpp 2011-11-18 12:54:22.380404540 -0500 -@@ -55,26 +55,28 @@ - : KButton( parent ), - m_oldPos(0,0) - { -+ -+ setTitle(i18n("K Menu")); - Q_ASSERT( !m_self ); - m_self = this; -- m_hoverTimer = -1; - m_openTimer = -1; -- m_active = false; -+ m_hoverTimer = -1; - m_mouseInside = false; - m_drag = false; -- -- setIconAlignment((TQ_Alignment)(AlignTop|AlignRight)); -- setAcceptDrops(true); -- setIcon("kmenu-suse"); -- setDrawArrow(false); -- -- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_basic.mng")); -- m_movie->connectUpdate(this, TQT_SLOT(updateMovie())); -- m_movie->connectStatus(TQT_TQOBJECT(this), TQT_SLOT(slotStatus(int))); -- m_movie->connectResize(this, TQT_SLOT(slotSetSize(const TQSize&))); -- -+ -+ setIcon("kmenu"); -+ setIcon(KickerSettings::customKMenuIcon()); -+ - TQApplication::desktop()->screen()->installEventFilter(this); -- setMouseTracking(true); -+ -+ if (KickerSettings::showKMenuText()) -+ { -+ setButtonText(KickerSettings::kMenuText()); -+ setFont(KickerSettings::buttonFont()); -+ setTextColor(KickerSettings::buttonTextColor()); -+ } -+ -+ tqrepaint(); - } - - KNewButton::~KNewButton() -@@ -82,28 +84,15 @@ - if ( m_self == this ) - m_self = 0; - setMouseTracking(false); -- delete m_movie; - } - --void KNewButton::slotStatus(int status) --{ -- if(status == TQMovie::EndOfLoop) -- slotStopAnimation(); --} - --TQColor KNewButton::borderColor() const -+void KNewButton::drawButton(TQPainter *p) - { -- TQImage img = m_active_pixmap.convertToImage(); -- -- for (int i = 0; i < img.width(); ++i) { -- QRgb rgb = img.pixel(orientation() == Qt::Horizontal ? img.width() - i - 1 : -- i, 2); -- -- if (tqGreen(rgb) > 0x50) -- return rgb; -- } -- -- return img.pixel( orientation() == Qt::Horizontal ? img.width() - 2 : 2, 2); -+ if (KickerSettings::showDeepButtons()) -+ PanelPopupButton::drawDeepButton(p); -+ else -+ PanelPopupButton::drawButton(p); - } - - void KNewButton::show() -@@ -111,103 +100,12 @@ - KButton::show(); - - if (KickerSettings::firstRun()) { -- TQTimer::singleShot(500,this,TQT_SLOT(slotExecMenu())); -+ TQTimer::singleShot(0,this,TQT_SLOT(slotExecMenu())); - KickerSettings::setFirstRun(false); - KickerSettings::writeConfig(); - } - } - --void KNewButton::updateMovie() --{ -- m_oldPos = TQPoint( -1, -1 ); -- drawEye(); -- -- if (!m_active && m_movie->running()) -- m_movie->pause(); --} -- --void KNewButton::setPopupDirection(KPanelApplet::Direction d) --{ -- KButton::setPopupDirection(d); -- -- delete m_movie; -- -- switch (d) { -- case KPanelApplet::Left: -- setIconAlignment((TQ_Alignment)(AlignTop|AlignLeft)); -- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_vertical.mng")); -- break; -- case KPanelApplet::Right: -- setIconAlignment((TQ_Alignment)(AlignTop|AlignRight)); -- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_vertical.mng")); -- break; -- case KPanelApplet::Up: -- setIconAlignment((TQ_Alignment)(AlignTop|AlignHCenter)); -- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_basic.mng")); -- break; -- case KPanelApplet::Down: -- setIconAlignment((TQ_Alignment)(AlignBottom|AlignHCenter)); -- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_flipped.mng")); -- } -- -- m_movie->connectUpdate(this, TQT_SLOT(updateMovie())); -- m_movie->connectStatus(TQT_TQOBJECT(this), TQT_SLOT(slotStatus(int))); -- m_movie->connectResize(this, TQT_SLOT(slotSetSize(const TQSize&))); --} -- --void KNewButton::slotSetSize(const TQSize& s) --{ -- m_iconSize = s; --} -- --double KNewButton::buttonScaleFactor(const TQSize& s) const --{ -- double sf = 1.0; -- -- switch (popupDirection()) { -- case KPanelApplet::Left: -- case KPanelApplet::Right: --// sf = kMin(double(s.width()) / m_iconSize.height(), double(s.height()) / m_iconSize.width()); --// break; -- case KPanelApplet::Up: -- case KPanelApplet::Down: -- sf = kMin(double(s.width()) / m_iconSize.width(), double(s.height()) / m_iconSize.height()); -- break; -- } -- -- if (sf > 0.8) sf = 1.0; -- return sf; --} -- --int KNewButton::widthForHeight(int height) const --{ -- int r = m_iconSize.width() * buttonScaleFactor(TQSize(m_iconSize.width(), height)); -- -- if (!m_movie->running() && height != m_active_pixmap.height()) -- { -- KNewButton* that = const_cast(this); -- TQTimer::singleShot(0, that, TQT_SLOT(slotStopAnimation())); -- } -- -- return r; --} -- --int KNewButton::preferredDimension(int panelDim) const --{ -- return kMax(m_icon.width(), m_icon.height()); --} -- --int KNewButton::heightForWidth(int width) const --{ -- int r = m_iconSize.width() * buttonScaleFactor(TQSize(width, m_iconSize.height())); -- if (!m_movie->running() && width != m_active_pixmap.width()) -- { -- KNewButton* that = const_cast(this); -- TQTimer::singleShot(0, that, TQT_SLOT(slotStopAnimation())); -- } -- return r; --} -- - bool KNewButton::eventFilter(TQObject *o, TQEvent *e) - { - if (e->type() == TQEvent::MouseButtonRelease || -@@ -223,75 +121,9 @@ - } - } - -- if (KickerSettings::kickoffDrawGeekoEye() && e->type() == TQEvent::MouseMove) -- { -- TQMouseEvent *me = TQT_TQMOUSEEVENT(e); -- if ((me->state() & Qt::MouseButtonMask) == Qt::NoButton) -- drawEye(); -- } -- - return KButton::eventFilter(o, e); - } - --void KNewButton::drawEye() --{ --#define eye_x 62 --#define eye_y 13 -- TQPoint mouse = TQCursor::pos(); -- TQPoint me = mapToGlobal(TQPoint(eye_x, eye_y)); -- double a = atan2(mouse.y() - me.y(), mouse.x() - me.x()); -- int dx = int(2.1 * cos(a)); -- int dy = int(2.1 * sin(a)); -- -- TQPoint newpos(eye_x+dx,eye_y+dy); -- if (newpos!=m_oldPos) { -- m_oldPos = newpos; -- TQPixmap pixmap = m_active_pixmap; -- -- double sf = 1.0; -- -- if(!m_movie->framePixmap().isNull()) -- { -- pixmap = m_movie->framePixmap(); -- pixmap.detach(); -- m_iconSize = pixmap.size(); -- sf = buttonScaleFactor(size()); -- -- if (KickerSettings::kickoffDrawGeekoEye()) { -- TQPainter p(&pixmap); -- p.setPen(white); -- p.setBrush(white); -- // p.setPen(TQColor(110,185,55)); -- p.drawRect(eye_x+dx, eye_y+dy, 2, 2); -- p. end(); -- } -- } -- -- TQWMatrix matrix; -- switch (popupDirection()) { -- case KPanelApplet::Left: -- matrix.scale(sf, -sf); -- matrix.rotate(90); -- break; -- case KPanelApplet::Up: -- matrix.scale(sf, sf); -- break; -- case KPanelApplet::Right: -- matrix.scale(sf, -sf); -- matrix.rotate(90); -- break; -- case KPanelApplet::Down: -- matrix.scale(sf, sf); -- break; -- } -- m_active_pixmap = pixmap.xForm(matrix); -- -- tqrepaint(false); -- } --#undef eye_x --#undef eye_y --} -- - void KNewButton::enterEvent(TQEvent* e) - { - KButton::enterEvent(e); -@@ -315,15 +147,8 @@ - } - - m_active = true; -- m_movie->unpause(); -- m_movie->restart(); - } - --void KNewButton::rewindMovie() --{ -- m_oldPos = TQPoint( -1, -1 ); -- m_movie->unpause(); --} - - void KNewButton::dragEnterEvent(TQDragEnterEvent* /*e*/) - { -@@ -369,31 +194,12 @@ - } - } - --void KNewButton::slotStopAnimation() --{ -- m_active = false; -- m_movie->pause(); -- m_movie->restart(); -- TQTimer::singleShot(200, this, TQT_SLOT(rewindMovie())); --} -- --const TQPixmap& KNewButton::labelIcon() const --{ -- return m_active_pixmap; --} -- - void KNewButton::slotExecMenu() - { -- if (m_openTimer != -1) -- killTimer(m_openTimer); -- -- m_openTimer = startTimer(TQApplication::doubleClickInterval() * 3); - - if (m_active) - { - m_active = false; -- m_movie->pause(); -- m_movie->restart(); - } - - KButton::slotExecMenu(); -@@ -401,40 +207,12 @@ - assert(!KickerTip::tippingEnabled()); - assert(dynamic_cast(m_popup)); - -- disconnect(dynamic_cast(m_popup), TQT_SIGNAL(aboutToHide()), this, -- TQT_SLOT(slotStopAnimation())); -- connect(dynamic_cast(m_popup), TQT_SIGNAL(aboutToHide()), -- TQT_SLOT(slotStopAnimation())); -- - m_popup->move(KickerLib::popupPosition(popupDirection(), m_popup, this)); - // I wish KMenu would properly done itself when it closes. But it doesn't. - -- bool useEffect = true; // could be TQApplication::isEffectEnabled() -- useEffect = false; // too many TQt bugs to be useful -- if (m_drag) -- useEffect = false; -- - m_drag = false; // once is enough - -- if (useEffect) -- { -- switch (popupDirection()) { -- case KPanelApplet::Left: -- qScrollEffect(m_popup, TQEffects::LeftScroll); -- break; -- case KPanelApplet::Up: -- qScrollEffect(m_popup, TQEffects::UpScroll); -- break; -- case KPanelApplet::Right: -- qScrollEffect(m_popup, TQEffects::RightScroll); -- break; -- case KPanelApplet::Down: -- qScrollEffect(m_popup, TQEffects::DownScroll); -- break; -- } -- } -- else -- static_cast(m_popup)->show(); -+ static_cast(m_popup)->show(); - } - - void KNewButton::timerEvent(TQTimerEvent* e) -@@ -447,9 +225,4 @@ - killTimer(m_hoverTimer); - m_hoverTimer = -1; - } -- if (e->timerId() == m_openTimer) -- { -- killTimer(m_openTimer); -- m_openTimer = -1; -- } - } -diff -ur kdebase/kicker/kicker/buttons/knewbutton.h kdebase1/kicker/kicker/buttons/knewbutton.h ---- kdebase/kicker/kicker/buttons/knewbutton.h 2011-03-12 01:58:13.000000000 -0500 -+++ kdebase1/kicker/kicker/buttons/knewbutton.h 2011-11-18 09:31:03.163665964 -0500 -@@ -28,7 +28,6 @@ - - #include "kbutton.h" - --#include - #include - - /** -@@ -43,25 +42,10 @@ - ~KNewButton(); - - static KNewButton *self() { return m_self; } -- - void loadConfig( const KConfigGroup& config ); -- -- virtual const TQPixmap& labelIcon() const; -- -- virtual int widthForHeight(int height) const; -- virtual int preferredDimension(int panelDim) const; -- virtual int heightForWidth(int width) const; -- - TQColor borderColor() const; -+ //virtual void setPopupDirection(KPanelApplet::Direction d); - -- virtual void setPopupDirection(KPanelApplet::Direction d); -- --private slots: -- void slotStatus(int); -- void slotSetSize(const TQSize&); -- void slotStopAnimation(); -- void rewindMovie(); -- void updateMovie(); - - protected: - virtual void show(); -@@ -78,17 +62,15 @@ - void timerEvent(TQTimerEvent*); - - private: -- void drawEye(); -- double buttonScaleFactor(const TQSize& s) const; - -- TQMovie* m_movie; -+ void drawButton(TQPainter *p); - TQPixmap m_active_pixmap; - TQPoint m_oldPos; - TQSize m_iconSize; - TQRect m_sloppyRegion; -- int m_hoverTimer; - int m_openTimer; -- bool m_active; -+ int m_hoverTimer; -+ bool m_active; - bool m_mouseInside; - bool m_drag; - -diff -ur kdebase/kicker/kicker/ui/k_new_mnu.cpp kdebase1/kicker/kicker/ui/k_new_mnu.cpp ---- kdebase/kicker/kicker/ui/k_new_mnu.cpp 2011-08-11 01:25:49.000000000 -0400 -+++ kdebase1/kicker/kicker/ui/k_new_mnu.cpp 2011-11-18 15:02:51.565689119 -0500 -@@ -1700,8 +1700,6 @@ - TQPixmap pix( 64, footer->height() ); - TQPainter p( &pix ); - p.fillRect( 0, 0, 64, footer->height(), m_branding->tqcolorGroup().brush( TQColorGroup::Base ) ); -- p.fillRect( 0, m_orientation == BottomUp ? footer->height() - 2 : 0, -- 64, 3, KNewButton::self()->borderColor() ); - p.end(); - footer->setPaletteBackgroundPixmap( pix ); - } -@@ -3500,7 +3498,8 @@ - } - m_systemView->insertItem( iconName, userLabel.isEmpty() ? label : userLabel, - descr, "system:/media/" + name, nId++, -1 ); -- -+ ++it; -+ ++it; - ++it; // skip separator - } - } diff --git a/redhat/kdebase/kdebase-3.5.13-kickoff_unstable.patch b/redhat/kdebase/kdebase-3.5.13-kickoff_unstable.patch new file mode 100644 index 000000000..7b8b649e1 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-kickoff_unstable.patch @@ -0,0 +1,443 @@ +Binary files kdebase/kicker/data/kickoff/resize_handle.png and kdebase1/kicker/data/kickoff/resize_handle.png differ +diff -ur kdebase/kicker/kicker/buttons/knewbutton.cpp kdebase1/kicker/kicker/buttons/knewbutton.cpp +--- kdebase/kicker/kicker/buttons/knewbutton.cpp 2011-08-11 01:25:50.000000000 -0400 ++++ kdebase1/kicker/kicker/buttons/knewbutton.cpp 2011-11-18 12:54:22.380404540 -0500 +@@ -55,26 +55,28 @@ + : KButton( parent ), + m_oldPos(0,0) + { ++ ++ setTitle(i18n("K Menu")); + Q_ASSERT( !m_self ); + m_self = this; +- m_hoverTimer = -1; + m_openTimer = -1; +- m_active = false; ++ m_hoverTimer = -1; + m_mouseInside = false; + m_drag = false; +- +- setIconAlignment((TQ_Alignment)(AlignTop|AlignRight)); +- setAcceptDrops(true); +- setIcon("kmenu-suse"); +- setDrawArrow(false); +- +- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_basic.mng")); +- m_movie->connectUpdate(this, TQT_SLOT(updateMovie())); +- m_movie->connectStatus(TQT_TQOBJECT(this), TQT_SLOT(slotStatus(int))); +- m_movie->connectResize(this, TQT_SLOT(slotSetSize(const TQSize&))); +- ++ ++ setIcon("kmenu"); ++ setIcon(KickerSettings::customKMenuIcon()); ++ + TQApplication::desktop()->screen()->installEventFilter(this); +- setMouseTracking(true); ++ ++ if (KickerSettings::showKMenuText()) ++ { ++ setButtonText(KickerSettings::kMenuText()); ++ setFont(KickerSettings::buttonFont()); ++ setTextColor(KickerSettings::buttonTextColor()); ++ } ++ ++ tqrepaint(); + } + + KNewButton::~KNewButton() +@@ -82,28 +84,15 @@ + if ( m_self == this ) + m_self = 0; + setMouseTracking(false); +- delete m_movie; + } + +-void KNewButton::slotStatus(int status) +-{ +- if(status == TQMovie::EndOfLoop) +- slotStopAnimation(); +-} + +-TQColor KNewButton::borderColor() const ++void KNewButton::drawButton(TQPainter *p) + { +- TQImage img = m_active_pixmap.convertToImage(); +- +- for (int i = 0; i < img.width(); ++i) { +- QRgb rgb = img.pixel(orientation() == Qt::Horizontal ? img.width() - i - 1 : +- i, 2); +- +- if (tqGreen(rgb) > 0x50) +- return rgb; +- } +- +- return img.pixel( orientation() == Qt::Horizontal ? img.width() - 2 : 2, 2); ++ if (KickerSettings::showDeepButtons()) ++ PanelPopupButton::drawDeepButton(p); ++ else ++ PanelPopupButton::drawButton(p); + } + + void KNewButton::show() +@@ -111,103 +100,12 @@ + KButton::show(); + + if (KickerSettings::firstRun()) { +- TQTimer::singleShot(500,this,TQT_SLOT(slotExecMenu())); ++ TQTimer::singleShot(0,this,TQT_SLOT(slotExecMenu())); + KickerSettings::setFirstRun(false); + KickerSettings::writeConfig(); + } + } + +-void KNewButton::updateMovie() +-{ +- m_oldPos = TQPoint( -1, -1 ); +- drawEye(); +- +- if (!m_active && m_movie->running()) +- m_movie->pause(); +-} +- +-void KNewButton::setPopupDirection(KPanelApplet::Direction d) +-{ +- KButton::setPopupDirection(d); +- +- delete m_movie; +- +- switch (d) { +- case KPanelApplet::Left: +- setIconAlignment((TQ_Alignment)(AlignTop|AlignLeft)); +- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_vertical.mng")); +- break; +- case KPanelApplet::Right: +- setIconAlignment((TQ_Alignment)(AlignTop|AlignRight)); +- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_vertical.mng")); +- break; +- case KPanelApplet::Up: +- setIconAlignment((TQ_Alignment)(AlignTop|AlignHCenter)); +- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_basic.mng")); +- break; +- case KPanelApplet::Down: +- setIconAlignment((TQ_Alignment)(AlignBottom|AlignHCenter)); +- m_movie = new TQMovie(locate("data", "kicker/pics/kmenu_flipped.mng")); +- } +- +- m_movie->connectUpdate(this, TQT_SLOT(updateMovie())); +- m_movie->connectStatus(TQT_TQOBJECT(this), TQT_SLOT(slotStatus(int))); +- m_movie->connectResize(this, TQT_SLOT(slotSetSize(const TQSize&))); +-} +- +-void KNewButton::slotSetSize(const TQSize& s) +-{ +- m_iconSize = s; +-} +- +-double KNewButton::buttonScaleFactor(const TQSize& s) const +-{ +- double sf = 1.0; +- +- switch (popupDirection()) { +- case KPanelApplet::Left: +- case KPanelApplet::Right: +-// sf = kMin(double(s.width()) / m_iconSize.height(), double(s.height()) / m_iconSize.width()); +-// break; +- case KPanelApplet::Up: +- case KPanelApplet::Down: +- sf = kMin(double(s.width()) / m_iconSize.width(), double(s.height()) / m_iconSize.height()); +- break; +- } +- +- if (sf > 0.8) sf = 1.0; +- return sf; +-} +- +-int KNewButton::widthForHeight(int height) const +-{ +- int r = m_iconSize.width() * buttonScaleFactor(TQSize(m_iconSize.width(), height)); +- +- if (!m_movie->running() && height != m_active_pixmap.height()) +- { +- KNewButton* that = const_cast(this); +- TQTimer::singleShot(0, that, TQT_SLOT(slotStopAnimation())); +- } +- +- return r; +-} +- +-int KNewButton::preferredDimension(int panelDim) const +-{ +- return kMax(m_icon.width(), m_icon.height()); +-} +- +-int KNewButton::heightForWidth(int width) const +-{ +- int r = m_iconSize.width() * buttonScaleFactor(TQSize(width, m_iconSize.height())); +- if (!m_movie->running() && width != m_active_pixmap.width()) +- { +- KNewButton* that = const_cast(this); +- TQTimer::singleShot(0, that, TQT_SLOT(slotStopAnimation())); +- } +- return r; +-} +- + bool KNewButton::eventFilter(TQObject *o, TQEvent *e) + { + if (e->type() == TQEvent::MouseButtonRelease || +@@ -223,75 +121,9 @@ + } + } + +- if (KickerSettings::kickoffDrawGeekoEye() && e->type() == TQEvent::MouseMove) +- { +- TQMouseEvent *me = TQT_TQMOUSEEVENT(e); +- if ((me->state() & Qt::MouseButtonMask) == Qt::NoButton) +- drawEye(); +- } +- + return KButton::eventFilter(o, e); + } + +-void KNewButton::drawEye() +-{ +-#define eye_x 62 +-#define eye_y 13 +- TQPoint mouse = TQCursor::pos(); +- TQPoint me = mapToGlobal(TQPoint(eye_x, eye_y)); +- double a = atan2(mouse.y() - me.y(), mouse.x() - me.x()); +- int dx = int(2.1 * cos(a)); +- int dy = int(2.1 * sin(a)); +- +- TQPoint newpos(eye_x+dx,eye_y+dy); +- if (newpos!=m_oldPos) { +- m_oldPos = newpos; +- TQPixmap pixmap = m_active_pixmap; +- +- double sf = 1.0; +- +- if(!m_movie->framePixmap().isNull()) +- { +- pixmap = m_movie->framePixmap(); +- pixmap.detach(); +- m_iconSize = pixmap.size(); +- sf = buttonScaleFactor(size()); +- +- if (KickerSettings::kickoffDrawGeekoEye()) { +- TQPainter p(&pixmap); +- p.setPen(white); +- p.setBrush(white); +- // p.setPen(TQColor(110,185,55)); +- p.drawRect(eye_x+dx, eye_y+dy, 2, 2); +- p. end(); +- } +- } +- +- TQWMatrix matrix; +- switch (popupDirection()) { +- case KPanelApplet::Left: +- matrix.scale(sf, -sf); +- matrix.rotate(90); +- break; +- case KPanelApplet::Up: +- matrix.scale(sf, sf); +- break; +- case KPanelApplet::Right: +- matrix.scale(sf, -sf); +- matrix.rotate(90); +- break; +- case KPanelApplet::Down: +- matrix.scale(sf, sf); +- break; +- } +- m_active_pixmap = pixmap.xForm(matrix); +- +- tqrepaint(false); +- } +-#undef eye_x +-#undef eye_y +-} +- + void KNewButton::enterEvent(TQEvent* e) + { + KButton::enterEvent(e); +@@ -315,15 +147,8 @@ + } + + m_active = true; +- m_movie->unpause(); +- m_movie->restart(); + } + +-void KNewButton::rewindMovie() +-{ +- m_oldPos = TQPoint( -1, -1 ); +- m_movie->unpause(); +-} + + void KNewButton::dragEnterEvent(TQDragEnterEvent* /*e*/) + { +@@ -369,31 +194,12 @@ + } + } + +-void KNewButton::slotStopAnimation() +-{ +- m_active = false; +- m_movie->pause(); +- m_movie->restart(); +- TQTimer::singleShot(200, this, TQT_SLOT(rewindMovie())); +-} +- +-const TQPixmap& KNewButton::labelIcon() const +-{ +- return m_active_pixmap; +-} +- + void KNewButton::slotExecMenu() + { +- if (m_openTimer != -1) +- killTimer(m_openTimer); +- +- m_openTimer = startTimer(TQApplication::doubleClickInterval() * 3); + + if (m_active) + { + m_active = false; +- m_movie->pause(); +- m_movie->restart(); + } + + KButton::slotExecMenu(); +@@ -401,40 +207,12 @@ + assert(!KickerTip::tippingEnabled()); + assert(dynamic_cast(m_popup)); + +- disconnect(dynamic_cast(m_popup), TQT_SIGNAL(aboutToHide()), this, +- TQT_SLOT(slotStopAnimation())); +- connect(dynamic_cast(m_popup), TQT_SIGNAL(aboutToHide()), +- TQT_SLOT(slotStopAnimation())); +- + m_popup->move(KickerLib::popupPosition(popupDirection(), m_popup, this)); + // I wish KMenu would properly done itself when it closes. But it doesn't. + +- bool useEffect = true; // could be TQApplication::isEffectEnabled() +- useEffect = false; // too many TQt bugs to be useful +- if (m_drag) +- useEffect = false; +- + m_drag = false; // once is enough + +- if (useEffect) +- { +- switch (popupDirection()) { +- case KPanelApplet::Left: +- qScrollEffect(m_popup, TQEffects::LeftScroll); +- break; +- case KPanelApplet::Up: +- qScrollEffect(m_popup, TQEffects::UpScroll); +- break; +- case KPanelApplet::Right: +- qScrollEffect(m_popup, TQEffects::RightScroll); +- break; +- case KPanelApplet::Down: +- qScrollEffect(m_popup, TQEffects::DownScroll); +- break; +- } +- } +- else +- static_cast(m_popup)->show(); ++ static_cast(m_popup)->show(); + } + + void KNewButton::timerEvent(TQTimerEvent* e) +@@ -447,9 +225,4 @@ + killTimer(m_hoverTimer); + m_hoverTimer = -1; + } +- if (e->timerId() == m_openTimer) +- { +- killTimer(m_openTimer); +- m_openTimer = -1; +- } + } +diff -ur kdebase/kicker/kicker/buttons/knewbutton.h kdebase1/kicker/kicker/buttons/knewbutton.h +--- kdebase/kicker/kicker/buttons/knewbutton.h 2011-03-12 01:58:13.000000000 -0500 ++++ kdebase1/kicker/kicker/buttons/knewbutton.h 2011-11-18 09:31:03.163665964 -0500 +@@ -28,7 +28,6 @@ + + #include "kbutton.h" + +-#include + #include + + /** +@@ -43,25 +42,10 @@ + ~KNewButton(); + + static KNewButton *self() { return m_self; } +- + void loadConfig( const KConfigGroup& config ); +- +- virtual const TQPixmap& labelIcon() const; +- +- virtual int widthForHeight(int height) const; +- virtual int preferredDimension(int panelDim) const; +- virtual int heightForWidth(int width) const; +- + TQColor borderColor() const; ++ //virtual void setPopupDirection(KPanelApplet::Direction d); + +- virtual void setPopupDirection(KPanelApplet::Direction d); +- +-private slots: +- void slotStatus(int); +- void slotSetSize(const TQSize&); +- void slotStopAnimation(); +- void rewindMovie(); +- void updateMovie(); + + protected: + virtual void show(); +@@ -78,17 +62,15 @@ + void timerEvent(TQTimerEvent*); + + private: +- void drawEye(); +- double buttonScaleFactor(const TQSize& s) const; + +- TQMovie* m_movie; ++ void drawButton(TQPainter *p); + TQPixmap m_active_pixmap; + TQPoint m_oldPos; + TQSize m_iconSize; + TQRect m_sloppyRegion; +- int m_hoverTimer; + int m_openTimer; +- bool m_active; ++ int m_hoverTimer; ++ bool m_active; + bool m_mouseInside; + bool m_drag; + +diff -ur kdebase/kicker/kicker/ui/k_new_mnu.cpp kdebase1/kicker/kicker/ui/k_new_mnu.cpp +--- kdebase/kicker/kicker/ui/k_new_mnu.cpp 2011-08-11 01:25:49.000000000 -0400 ++++ kdebase1/kicker/kicker/ui/k_new_mnu.cpp 2011-11-18 15:02:51.565689119 -0500 +@@ -1700,8 +1700,6 @@ + TQPixmap pix( 64, footer->height() ); + TQPainter p( &pix ); + p.fillRect( 0, 0, 64, footer->height(), m_branding->tqcolorGroup().brush( TQColorGroup::Base ) ); +- p.fillRect( 0, m_orientation == BottomUp ? footer->height() - 2 : 0, +- 64, 3, KNewButton::self()->borderColor() ); + p.end(); + footer->setPaletteBackgroundPixmap( pix ); + } +@@ -3500,7 +3498,8 @@ + } + m_systemView->insertItem( iconName, userLabel.isEmpty() ? label : userLabel, + descr, "system:/media/" + name, nId++, -1 ); +- ++ ++it; ++ ++it; + ++it; // skip separator + } + } diff --git a/redhat/kdebase/trinity-kdebase-3.5.12.spec b/redhat/kdebase/trinity-kdebase-3.5.12.spec index 3229fe15d..1e0b0e18b 100644 --- a/redhat/kdebase/trinity-kdebase-3.5.12.spec +++ b/redhat/kdebase/trinity-kdebase-3.5.12.spec @@ -41,6 +41,12 @@ Source0: kdebase-%{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 Official patches (from SVN), unmodified # [kdebase/kcontrol] fix for openssl 1.0 Patch1: http://www.trinitydesktop.org/patches/r1201523.diff @@ -51,25 +57,54 @@ Patch4: http://www.trinitydesktop.org/patches/r1182808.diff # [kdebase] fixed an incompatibility with gcc 4.5 Patch8: http://www.trinitydesktop.org/patches/r1221326.diff -Patch11: kdebase-3.5.12-kickerfix.patch - # TDE Official patches (from SVN), modified # [kdebase/ksmserver/shutdowndlg.cpp] Fixed invalid constructor per GCC 4.5.2 -Patch7: kdebase-3.5.12-r1220975.patch +Patch12: kdebase-3.5.12-r1220975.patch # [kdebase] Another invalid constructor per gcc 4.5 Patch9: kdebase-3.5.12-r1220927.patch # TDE for RHEL/Fedora specific patches -# Fix for DBUS include files in RHEL6 -Patch0: kdebase-3.5.12-shutdowndlg-dbus-include.patch -# [kdebase/kdesu] Remove 'ignore' button on 'kdesu' dialog box +## [kdebase/kdesu] Remove 'ignore' button on 'kdesu' dialog box Patch3: kdebase-3.5.12-kdesu-noignorebutton.patch -# [kdebase/kdesktop] Modifies "open terminal here" on desktop +## [kdebase/kdesktop] Modifies "open terminal here" on desktop Patch5: kdebase-3.5.12-desktop-openterminalhere.patch -# [kdebase/kioslave]: Forces HAL backend to use HAL mount options +## [kdebase/kioslave] Forces HAL backend to use HAL mount options Patch6: kdebase-3.5.12-halmountoptions.patch +## [kdebase/kdm/kfrontend] Global Xsession file is '/etc/X11/xinit/Xsession' +Patch7: kdebase-3.5.13-genkdmconf_Xsession_location.patch +## [kdebase/startkde] Sets default Start Icon in 'kickerrc' +Patch11: kdebase-3.5.13-startkde_icon.patch + +# TDE 3.5.12 patches +# Fix for DBUS include files in RHEL6 +Patch0: kdebase-3.5.12-shutdowndlg-dbus-include.patch # [kdebase/kcontrol]: disable components that depends of krandr (old distros) -Patch10: kdebase-3.5.12-disable-krandr.patch +Patch100: kdebase-3.5.12-disable-krandr.patch + + +# Fedora 15 Theme: "Lovelock" +%if 0%{?fedora} == 15 +Requires: lovelock-backgrounds-single +%define tde_bg /usr/share/backgrounds/lovelock/default/standard/lovelock.png +%endif + +# Fedora 16 Theme: "Verne" +%if 0%{?fedora} == 16 +Requires: verne-backgrounds-single +%define tde_bg /usr/share/backgrounds/verne/default/standard/verne.png +%endif + +# RHEL 5 Theme +%if 0%{?rhel} == 5 +Requires: desktop-backgrounds-basic +%define tde_bg /usr/share/backgrounds/images/default.jpg +%endif + +# RHEL 6 Theme +%if 0%{?rhel} == 6 +Requires: redhat-logos +%define tde_bg /usr/share/backgrounds/default.png +%endif BuildRequires: tqtinterface-devel BuildRequires: trinity-arts-devel @@ -81,12 +116,12 @@ BuildRequires: imake BuildRequires: xorg-x11-proto-devel BuildRequires: OpenEXR-devel BuildRequires: libsmbclient-devel -BuildRequires: dbus-devel dbus-qt-devel +BuildRequires: dbus-devel +BuildRequires: dbus-qt-devel BuildRequires: lm_sensors-devel BuildRequires: libfontenc-devel BuildRequires: hal-devel BuildRequires: audiofile-devel alsa-lib-devel -BuildRequires: jack-audio-connection-kit-devel BuildRequires: libraw1394-devel BuildRequires: openldap-devel BuildRequires: libvorbis-devel @@ -94,15 +129,28 @@ BuildRequires: pam-devel BuildRequires: libXdmcp-devel BuildRequires: libxkbfile-devel BuildRequires: libusb-devel -BuildRequires: esound-devel glib2-devel nas-devel +BuildRequires: esound-devel +BuildRequires: glib2-devel BuildRequires: libXcomposite-devel +BuildRequires: libXtst-devel +BuildRequires: libXdamage-devel +BuildRequires: xorg-x11-font-utils +# These dependancies are not met in RHEL +%if 0%{?fedora} +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: nas-devel +%endif + Requires: tqtinterface Requires: trinity-arts Requires: trinity-kdelibs Requires: qt%{?_qt_suffix} Requires: openssl Requires: avahi avahi-qt3 +Requires: dbus-qt +# Provides the global Xsession script (/etc/X11/xinit/Xsession) +Requires: xorg-x11-xinit # RHEL 6 Configuration files are provided in separate packages @@ -111,6 +159,16 @@ Requires: kde-settings-kdm %endif Requires: redhat-menus +Provides: kdebase%{?_qt_suffix} = %{version} +%if "%{?_prefix}" == "/usr" +Obsoletes: kdebase%{?_qt_suffix} <= 3.5.10 +%endif + + +# Required for Fedora LiveCD +Provides: service(graphical-login) + + %description Core applications for the Trinity K Desktop Environment. Included are: kdm (replacement for xdm), kwin (window manager), konqueror (filemanager, @@ -127,9 +185,11 @@ Requires: %{name} Requires: %{name}-libs = %{version}-%{release} Requires: trinity-kdelibs-devel Summary: %{summary} - Development files +Provides: kdebase%{?_qt_suffix}-devel = %{version} %if "%{?_prefix}" == "/usr" -Obsoletes: kdebase%{?_qt_suffix}-devel +Obsoletes: kdebase%{?_qt_suffix}-devel <= 3.5.10 %endif + Group: Development/Libraries %description devel Header files for developing applications using %{name}. @@ -141,6 +201,10 @@ Kate plugins or KWin styles. Summary: Extra applications from %{name} Group: User Interface/Desktops Requires: %{name} = %{version}-%{release} +Provides: kdebase%{?_qt_suffix}-extras = %{version} +%if "%{?_prefix}" == "/usr" +Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10 +%endif %description extras %{summary}, including: * kappfinder @@ -153,8 +217,9 @@ Requires: %{name} = %{version}-%{release} Summary: %{name} runtime libraries Group: System Environment/Libraries Requires: trinity-kdelibs +Provides: kdebase%{?_qt_suffix}-libs = %{version} %if "%{?_prefix}" == "/usr" -Obsoletes: kdebase%{?_qt_suffix}-libs +Obsoletes: kdebase%{?_qt_suffix}-libs <= 3.5.10 %endif Requires: %{name} = %{version}-%{release} %description libs @@ -164,6 +229,10 @@ Requires: %{name} = %{version}-%{release} %package pim-ioslaves Summary: PIM KIOslaves from %{name} Group: System Environment/Libraries +Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version} +%if "%{?_prefix}" == "/usr" +Obsoletes: kdebase%{?_qt_suffix}-pim-ioslaves <= 3.5.10 +%endif %description pim-ioslaves Protocol handlers (KIOslaves) for personal information management, including: * kio_ldap @@ -184,15 +253,32 @@ Protocol handlers (KIOslaves) for personal information management, including: %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch11 -p1 +%patch12 -p1 %if 0%{?rhel} && 0%{?rhel} < 6 -%patch10 -p1 +%patch100 -p1 +%endif + +# Applies an optional distro-specific graphical theme +%if "%{?tde_bg}" != "" +# KDM Background +%__sed -i "kdm/kfrontend/genkdmconf.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 "startkde" \ + -e 's,/usr/share/wallpapers/isadora.png.desktop,%{tde_bg},' \ + -e 's,Wallpaper=isadora.png,Wallpaper=%{tde_bg},' %endif -%patch11 -d kicker/kicker %__cp "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in" -%__cp "/usr/share/libtool/"*"/ltmain.sh" "admin/ltmain.sh" +%__cp "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh" %__make -f "admin/Makefile.common" + %build unset QTDIR || : ; . /etc/profile.d/qt.sh export PATH="%{_bindir}:${PATH}" @@ -205,9 +291,9 @@ export IMAKEINCLUDE="-I/usr/share/X11/config" --disable-dependency-tracking \ --disable-debug --disable-warnings --enable-final \ --with-pam=yes \ - --with-kdm-pam=kdm \ - --with-kcp-pam=kcheckpass \ - --with-kss-pam=kscreensaver \ + --with-kdm-pam=kdm-trinity \ + --with-kcp-pam=kcheckpass-trinity \ + --with-kss-pam=kscreensaver-trinity \ --with-libraw1394 \ --with-openexr \ --with-samba \ @@ -225,21 +311,45 @@ export IMAKEINCLUDE="-I/usr/share/X11/config" %__make install DESTDIR=%{?buildroot} # Adds a GDM/KDM/XDM session called 'TDE' -%if "%{?_prefix}" != "/usr" -%__mkdir_p "%{?buildroot}%{_usr}/share/xsessions" -install -m 644 "%{?buildroot}%{_datadir}/apps/kdm/sessions/kde.desktop" "%{?buildroot}%{_usr}/share/xsessions/tde.desktop" -%endif +%__install -D -m 644 \ + "%{?buildroot}%{_datadir}/apps/kdm/sessions/kde.desktop" \ + "%{?buildroot}%{_usr}/share/xsessions/tde.desktop" + +# Force session name to be 'TDE' +%__sed -i "%{?buildroot}%{_usr}/share/xsessions/tde.desktop" \ + -e "s,^Name=.*,Name=TDE," # Modifies 'startkde' to set KDEDIR and KDEHOME hardcoded specific for TDE -sed -i "%{?buildroot}%{_bindir}/startkde" \ +%__sed -i "%{?buildroot}%{_bindir}/startkde" \ -e '/^echo "\[startkde\] Starting startkde.".*/ s,$,\nexport KDEDIR=%{_prefix}\nexport KDEHOME=~/.trinity,' # Renames '/etc/ksysguarddrc' to avoid conflict with KDE4 'ksysguard' -mv -f %{?buildroot}%{_sysconfdir}/ksysguarddrc %{?buildroot}%{_sysconfdir}/ksysguarddrc.tde +%__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" -%{__cp} -f "%{SOURCE1}" "%{?buildroot}%{_bindir}" +%__install -m 755 "%{SOURCE1}" "%{?buildroot}%{_bindir}" +%endif + +# PAM configuration files +%__mkdir_p "%{?buildroot}%{_sysconfdir}/pam.d" +%__install -m 644 "%{SOURCE2}" "%{?buildroot}%{_sysconfdir}/pam.d/kdm-trinity" +%__install -m 644 "%{SOURCE3}" "%{?buildroot}%{_sysconfdir}/pam.d/kdm-trinity-np" +%__install -m 644 "%{SOURCE4}" "%{?buildroot}%{_sysconfdir}/pam.d/kcheckpass-trinity" +%__install -m 644 "%{SOURCE5}" "%{?buildroot}%{_sysconfdir}/pam.d/kscreensaver-trinity" + +# KDM configuration for RHEL/Fedora +%__sed -i "%{?buildroot}%{_datadir}/config/kdm/kdmrc" \ +%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 @@ -329,6 +439,9 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %exclude %{_datadir}/applnk/Utilities/kpager.desktop %exclude %{_datadir}/icons/hicolor/*/apps/kpager.png +# Pam configuration +%{_sysconfdir}/pam.d/* + %doc AUTHORS COPYING README %{tde_docdir}/HTML/en/* %config(noreplace) %{_sysconfdir}/ksysguarddrc.tde @@ -411,8 +524,8 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %{_bindir}/knetattach %if 0%{?rhel} >= 6 || 0%{?fedora} >= 15 %{_bindir}/krandrtray -%{_bindir}/kompmgr %endif +%{_bindir}/kompmgr %{_bindir}/kpm %{_bindir}/ksplash %{_libdir}/kconf_update_bin @@ -421,7 +534,6 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %{_datadir}/applnk/.hidden/* %exclude %{_datadir}/applnk/.hidden/.directory %{_datadir}/config.kcfg/* -%{_bindir}/kde3 %{_bindir}/kio_media_mounthelper %{_bindir}/kdcop %{_bindir}/kdeprintfax @@ -432,26 +544,26 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %{_bindir}/klocaldomainurifilterhelper %{_bindir}/kprinter %{_datadir}/applications/*/* -%exclude %{_datadir}/applications/kde/display.desktop %{_datadir}/apps/* -%exclude %{_datadir}/fonts/override/fonts.dir %{_datadir}/icons/*color/*/*/* %{_datadir}/icons/crystalsvg/*/*/* %{_datadir}/mimelnk/*/* %{_datadir}/services/* %{_datadir}/servicetypes/* %{_datadir}/sounds/* -%{_docdir}/kdm/README %{tde_libdir}/* %{_libdir}/libkdeinit_*.* -%{_sysconfdir}/xdg/menus/applications-merged/kde-essential.menu -%if 0%{?fedora} >= 15 && "%{?_prefix}" != "/usr" -%exclude %{_sysconfdir}/xdg/menus/kde-information.menu +%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 -%endif %{_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" @@ -470,6 +582,12 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %exclude %{_datadir}/services/pop3*.protocol %exclude %{_datadir}/services/smtp*.protocol +# TDE 3.5.12 specific +%{_bindir}/kde3 +%exclude %{_datadir}/applications/kde/display.desktop +%exclude %{_datadir}/fonts/override/fonts.dir +%{_docdir}/kdm/README + %files libs %defattr(-,root,root,-) %exclude %{_libdir}/libkdeinit_*.* @@ -502,6 +620,15 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %exclude %{_libdir}/libkdeinit_*.* %changelog +* Sun Nov 20 2011 Francois Andriot - 3.5.12-12 +- Updates Kickoff menu Fix [TDE Bugs #281, #508] +- Add distribution-specific start button icon +- Add graphical theme for RHEL 5, RHEL 6, Fedora 15, Fedora 16 +- Moves XDG files in TDE prefix to avoid conflict with distro-provided KDE +- Add "service(graphical-login)" +- kdmrc: sets "MinShowUID=500" +- Add missing BuildRequires + * Fri Sep 16 2011 Francois Andriot - 3.5.12-11 - Add support for RHEL 5. - Remove file conflicts with KDE 4.6.5 under Fedora 15 diff --git a/redhat/kdebase/trinity-kdebase-3.5.13.spec b/redhat/kdebase/trinity-kdebase-3.5.13.spec index 84d3c4d8c..5c52d2732 100644 --- a/redhat/kdebase/trinity-kdebase-3.5.13.spec +++ b/redhat/kdebase/trinity-kdebase-3.5.13.spec @@ -47,6 +47,11 @@ Source3: pamd.kdm-trinity-np%{?dist} Source4: pamd.kcheckpass-trinity%{?dist} Source5: pamd.kscreensaver-trinity%{?dist} +# TDE Official patches (from SVN), unmodified +# (none) + +# TDE Official patches (from SVN), modified +# (none) # TDE for RHEL/Fedora specific patches ## [kdebase/kdesu] Remove 'ignore' button on 'kdesu' dialog box @@ -57,18 +62,18 @@ Patch5: kdebase-3.5.12-desktop-openterminalhere.patch Patch6: kdebase-3.5.12-halmountoptions.patch ## [kdebase/kdm/kfrontend] Global Xsession file is '/etc/X11/xinit/Xsession' Patch7: kdebase-3.5.13-genkdmconf_Xsession_location.patch -## [kdebase/startkde] Hardcoded path '/usr/lib/xxx' in startkde, not suitable for x86_64 -Patch8: kdebase-3.5.13-startkde_ldpreload.patch -## [kdebase/kioslave/media/mediamanager] FTBFS missing dbus-tqt includes -Patch9: kdebase-3.5.13-mediamanager_ftbfs.patch +## [kdebase/kicker/kicker/ui] +Patch10: kdebase-3.5.13-kickoff_unstable.patch ## [kdebase/startkde] Sets default Start Icon in 'kickerrc' Patch11: kdebase-3.5.13-startkde_icon.patch # TDE 3.5.13 patches -## [kdebase/kicker/kicker/ui] -Patch10: kdebase-3.5.12-kickoff_unstable.patch ## [kdebase/kdm] adds gcrypt support Patch12: kdebase-3.5.13-kdm-crypt.patch +## [kdebase/startkde] Hardcoded path '/usr/lib/xxx' in startkde, not suitable for x86_64 +Patch8: kdebase-3.5.13-startkde_ldpreload.patch +## [kdebase/kioslave/media/mediamanager] FTBFS missing dbus-tqt includes +Patch9: kdebase-3.5.13-mediamanager_ftbfs.patch # Fedora 15 Theme: "Lovelock" %if 0%{?fedora} == 15 @@ -105,7 +110,7 @@ BuildRequires: xorg-x11-proto-devel BuildRequires: OpenEXR-devel BuildRequires: libsmbclient-devel BuildRequires: dbus-devel -BuildRequires: dbus-tqt-devel +BuildRequires: dbus-tqt-devel BuildRequires: lm_sensors-devel BuildRequires: libfontenc-devel BuildRequires: hal-devel @@ -117,9 +122,9 @@ BuildRequires: pam-devel BuildRequires: libXdmcp-devel BuildRequires: libxkbfile-devel BuildRequires: libusb-devel -BuildRequires: esound-devel glib2-devel +BuildRequires: esound-devel +BuildRequires: glib2-devel BuildRequires: libXcomposite-devel -BuildRequires: dbus-tqt-devel BuildRequires: libXtst-devel BuildRequires: libXdamage-devel BuildRequires: xorg-x11-font-utils @@ -147,6 +152,12 @@ Requires: kde-settings-kdm %endif Requires: redhat-menus +Provides: kdebase%{?_qt_suffix} = %{version} +%if "%{?_prefix}" == "/usr" +Obsoletes: kdebase%{?_qt_suffix} <= 3.5.10 +%endif + + # Required for Fedora LiveCD Provides: service(graphical-login) @@ -167,9 +178,11 @@ Requires: %{name} Requires: %{name}-libs = %{version}-%{release} Requires: trinity-kdelibs-devel Summary: %{summary} - Development files +Provides: kdebase%{?_qt_suffix}-devel = %{version} %if "%{?_prefix}" == "/usr" -Obsoletes: kdebase%{?_qt_suffix}-devel +Obsoletes: kdebase%{?_qt_suffix}-devel <= 3.5.10 %endif + Group: Development/Libraries %description devel Header files for developing applications using %{name}. @@ -181,6 +194,10 @@ Kate plugins or KWin styles. Summary: Extra applications from %{name} Group: User Interface/Desktops Requires: %{name} = %{version}-%{release} +Provides: kdebase%{?_qt_suffix}-extras = %{version} +%if "%{?_prefix}" == "/usr" +Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10 +%endif %description extras %{summary}, including: * kappfinder @@ -193,8 +210,9 @@ Requires: %{name} = %{version}-%{release} Summary: %{name} runtime libraries Group: System Environment/Libraries Requires: trinity-kdelibs +Provides: kdebase%{?_qt_suffix}-libs = %{version} %if "%{?_prefix}" == "/usr" -Obsoletes: kdebase%{?_qt_suffix}-libs +Obsoletes: kdebase%{?_qt_suffix}-libs <= 3.5.10 %endif Requires: %{name} = %{version}-%{release} %description libs @@ -204,6 +222,10 @@ Requires: %{name} = %{version}-%{release} %package pim-ioslaves Summary: PIM KIOslaves from %{name} Group: System Environment/Libraries +Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version} +%if "%{?_prefix}" == "/usr" +Obsoletes: kdebase%{?_qt_suffix}-pim-ioslaves <= 3.5.10 +%endif %description pim-ioslaves Protocol handlers (KIOslaves) for personal information management, including: * kio_ldap @@ -239,6 +261,7 @@ Protocol handlers (KIOslaves) for personal information management, including: -e 's,Wallpaper=isadora.png,Wallpaper=%{tde_bg},' %endif + %build unset QTDIR || : ; . /etc/profile.d/qt.sh export PATH="%{_bindir}:${PATH}" @@ -286,10 +309,13 @@ cd build %__make install DESTDIR=%{?buildroot} -C build # Adds a GDM/KDM/XDM session called 'TDE' -%if "%{?_prefix}" != "/usr" -%__mkdir_p "%{?buildroot}%{_usr}/share/xsessions" -%__install -m 644 "%{?buildroot}%{_datadir}/apps/kdm/sessions/tde.desktop" "%{?buildroot}%{_usr}/share/xsessions/tde.desktop" -%endif +%__install -D -m 644 \ + "%{?buildroot}%{_datadir}/apps/kdm/sessions/tde.desktop" \ + "%{?buildroot}%{_usr}/share/xsessions/tde.desktop" + +# Force session name to be 'TDE' +%__sed -i "%{?buildroot}%{_usr}/share/xsessions/tde.desktop" \ + -e "s,^Name=.*,Name=TDE," # Modifies 'startkde' to set KDEDIR and KDEHOME hardcoded specific for TDE %__sed -i "%{?buildroot}%{_bindir}/startkde" \ -- cgit v1.2.1