From c77ac417d8bd2a8cb74f39fbde9fb7c7716388fa Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Dec 14 2007 17:56:17 +0000 Subject: sync with kdelibs3/devel, for flash fix, mostly. * Thu Dec 13 2007 Rex Dieter - 3.5.8-19 - flash fix (#410651, kde#132138, kde#146784) - simplify crystalsvg-icon-theme handling --- diff --git a/kdelibs-3.5.8-new-flash.patch b/kdelibs-3.5.8-new-flash.patch new file mode 100644 index 0000000..0011c4d --- /dev/null +++ b/kdelibs-3.5.8-new-flash.patch @@ -0,0 +1,114 @@ +--- kdeui/qxembed.cpp.sav 2007-10-05 15:24:40.000000000 +0200 ++++ kdeui/qxembed.cpp 2007-12-12 15:16:00.000000000 +0100 +@@ -1013,6 +1013,44 @@ void QXEmbed::embed(WId w) + } + } + ++// When a window is reparented into QXEmbed (or created inside of it), this function ++// sets up the actual embedding. ++void QXEmbed::handleEmbed() ++{ ++ // only XEMBED apps can survive crash, ++ // see http://lists.kde.org/?l=kfm-devel&m=106752026501968&w=2 ++ if( !d->xplain ) ++ XAddToSaveSet( qt_xdisplay(), window ); ++ XResizeWindow(qt_xdisplay(), window, width(), height()); ++ XMapRaised(qt_xdisplay(), window); ++ // L2024: see L2900. ++ sendSyntheticConfigureNotifyEvent(); ++ // L2025: ??? [any idea about drag&drop?] ++ extraData()->xDndProxy = window; ++ if ( parent() ) { ++ // L2030: embedded window might have new size requirements. ++ // see L2500, L2520, L2550. ++ QEvent * layoutHint = new QEvent( QEvent::LayoutHint ); ++ QApplication::postEvent( parent(), layoutHint ); ++ } ++ windowChanged( window ); ++ if (d->xplain) { ++ // L2040: Activation has changed. Grab state might change. See L2800. ++ checkGrab(); ++ if ( hasFocus() ) ++ // L2041: Send fake focus message to inform the client. See L1521. ++ sendFocusMessage(window, XFocusIn, NotifyNormal, NotifyPointer ); ++ } else { ++ // L2050: Send XEMBED messages (see L0670, L1312, L1322, L1530) ++ sendXEmbedMessage( window, XEMBED_EMBEDDED_NOTIFY, 0, (long) winId() ); ++ if (isActiveWindow()) ++ sendXEmbedMessage( window, XEMBED_WINDOW_ACTIVATE); ++ else ++ sendXEmbedMessage( window, XEMBED_WINDOW_DEACTIVATE); ++ if ( hasFocus() ) ++ sendXEmbedMessage( window, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT ); ++ } ++} + + // L1800: Returns the window identifier of the embedded window + WId QXEmbed::embeddedWinId() const +@@ -1051,6 +1089,13 @@ bool QXEmbed::x11Event( XEvent* e) + emit embeddedWindowDestroyed(); + } + break; ++ case CreateNotify: ++ // A window was created inside of QXEmbed, handle it as embedded ++ if( window == 0 ) { // only one window ++ window = e->xcreatewindow.window; ++ handleEmbed(); ++ } ++ break; + case ReparentNotify: + if ( e->xreparent.window == d->focusProxy->winId() ) + break; // ignore proxy +@@ -1067,40 +1112,8 @@ bool QXEmbed::x11Event( XEvent* e) + XRemoveFromSaveSet( qt_xdisplay(), window ); + } else if ( e->xreparent.parent == winId()){ + // L2020: We got a window. Complete the embedding process. +- window = e->xreparent.window; +- // only XEMBED apps can survive crash, +- // see http://lists.kde.org/?l=kfm-devel&m=106752026501968&w=2 +- if( !d->xplain ) +- XAddToSaveSet( qt_xdisplay(), window ); +- XResizeWindow(qt_xdisplay(), window, width(), height()); +- XMapRaised(qt_xdisplay(), window); +- // L2024: see L2900. +- sendSyntheticConfigureNotifyEvent(); +- // L2025: ??? [any idea about drag&drop?] +- extraData()->xDndProxy = window; +- if ( parent() ) { +- // L2030: embedded window might have new size requirements. +- // see L2500, L2520, L2550. +- QEvent * layoutHint = new QEvent( QEvent::LayoutHint ); +- QApplication::postEvent( parent(), layoutHint ); +- } +- windowChanged( window ); +- if (d->xplain) { +- // L2040: Activation has changed. Grab state might change. See L2800. +- checkGrab(); +- if ( hasFocus() ) +- // L2041: Send fake focus message to inform the client. See L1521. +- sendFocusMessage(window, XFocusIn, NotifyNormal, NotifyPointer ); +- } else { +- // L2050: Send XEMBED messages (see L0670, L1312, L1322, L1530) +- sendXEmbedMessage( window, XEMBED_EMBEDDED_NOTIFY, 0, (long) winId() ); +- if (isActiveWindow()) +- sendXEmbedMessage( window, XEMBED_WINDOW_ACTIVATE); +- else +- sendXEmbedMessage( window, XEMBED_WINDOW_DEACTIVATE); +- if ( hasFocus() ) +- sendXEmbedMessage( window, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT ); +- } ++ if( e->xreparent.window == window ) ++ handleEmbed(); + } + break; + case ButtonPress: +--- kdeui/qxembed.h.sav 2005-09-29 21:32:29.000000000 +0200 ++++ kdeui/qxembed.h 2001-01-01 01:01:00.000000000 +0100 +@@ -226,6 +226,7 @@ private: + QXEmbedData* d; + void checkGrab(); + void sendSyntheticConfigureNotifyEvent(); ++ void handleEmbed(); + }; + + diff --git a/kdelibs.spec b/kdelibs.spec index b5acc50..81c99d2 100644 --- a/kdelibs.spec +++ b/kdelibs.spec @@ -19,9 +19,9 @@ %define apidocs 1 -Summary: K Desktop Environment - Libraries +Summary: K Desktop Environment 3 - Libraries Version: 3.5.8 -Release: 7%{?dist} +Release: 19%{?dist} %if 0%{?fedora} > 8 Name: kdelibs3 @@ -32,6 +32,7 @@ Name: kdelibs Epoch: 6 Obsoletes: kdelibs3 = %{version}-%{release} Provides: kdelibs3 = %{version}-%{release} +%define include_crystalsvg 1 %endif License: LGPLv2 @@ -61,6 +62,7 @@ Patch41: kdelibs-3.5.6-utempter.patch Patch43: kdelibs-3.5.6-lang.patch Patch45: kdelibs-3.5.7-autostart.patch Patch46: kdelibs-3.5.8-kate-vhdl.patch +Patch47: kdelibs-3.5.8-new-flash.patch # use /etc/kde in addition to /usr/share/config, borrowed from debian Patch100: kdelibs-3.5.5-kstandarddirs.patch @@ -149,8 +151,16 @@ BuildRequires: automake libtool Obsoletes: kdelibs-apidocs < 6:%{version}-%{release} %endif +%if 0%{?include_crystalsvg} +Provides: crystalsvg-icon-theme = %{version}-%{release} +%else +# this Requires could be made unconditional -- Rex +Requires: crystalsvg-icon-theme +%endif + + %description -Libraries for the K Desktop Environment: +Libraries for the K Desktop Environment 3: KDE Libraries included: kdecore (KDE core library), kdeui (user interface), kfm (file manager), khtmlw (HTML widget), kio (Input/Output, networking), kspell (spelling checker), jscript (javascript), kab (addressbook), @@ -158,7 +168,7 @@ kimgio (image manipulation). %package devel Group: Development/Libraries -Summary: Header files and documentation for compiling KDE applications. +Summary: Header files and documentation for compiling KDE 3 applications. %if "%{name}" == "kdelibs" Obsoletes: kdelibs3-devel < %{version}-%{release} Provides: kdelibs3-devel = %{version}-%{release} @@ -171,26 +181,13 @@ Requires: qt-devel Requires: openssl-devel %{?arts:Requires: arts-devel} %{?libkdnssd:Requires: libkdnssd-devel} -## those below can/should be omitted from future(f8?) builds -- Rex -%if 0 -Requires: bzip2-devel -Requires: libacl-devel -Requires: libart_lgpl-devel -Requires: libidn-devel -Requires: libxslt-devel -Requires: libjpeg-devel -Requires: libtiff-devel -%{?_with_libutempter:Requires: libutempter-devel} -Requires: pcre-devel -Requires: zlib-devel -%endif %description devel This package includes the header files you will need to compile -applications for KDE. +applications for KDE 3. %package apidocs Group: Development/Documentation -Summary: KDE API documentation. +Summary: KDE 3 API documentation. Requires: %{name} = %{?epoch:%{epoch}:}%{version} %if "%{name}" == "kdelibs" Provides: kdelibs3-apidocs = %{version}-%{release} @@ -200,7 +197,7 @@ Provides: kdelibs-apidocs = 6:%{version}-%{release} %endif %description apidocs -This package includes the KDE API documentation in HTML +This package includes the KDE 3 API documentation in HTML format for easy browsing @@ -224,6 +221,7 @@ format for easy browsing %patch43 -p1 -b .lang %patch45 -p1 -b .xdg-autostart %patch46 -p1 -b .kate-vhdl +%patch47 -p0 -b .new-flash %patch100 -p1 -b .kstandarddirs %patch101 -p1 -b .libtool-shlibext @@ -310,14 +308,11 @@ for i in *; do done popd -%if "%{name}" == "kdelibs3" -install -p -m 755 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d/kde3.sh -install -p -m 755 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/kde3.csh -%else -install -p -m 755 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d/kde.sh -install -p -m 755 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/kde.csh -# menus +install -p -m 644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d/kde.sh +install -p -m 644 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/kde.csh +%if "%{name}" == "kdelibs" +# menus mkdir -p %{buildroot}%{_sysconfdir}/kde/xdg/menus mv %{buildroot}%{_sysconfdir}/xdg/menus/applications.menu \ %{buildroot}%{_sysconfdir}/xdg/menus/kde-applications.menu @@ -362,27 +357,22 @@ rm -f %{buildroot}%{_libdir}/libkdnssd.la %if "%{name}" != "kdelibs" # remove conflicts with kdelibs-4 -pushd %{buildroot}%{_bindir} -rm -f cupsdconf cupsdoprint imagetops kaddprinterwizard kconf_update kcookiejar \ - kde-menu kdesu_stub kdontchangethehostname kdostartupconfig kio_http_cache_cleaner kioslave \ - klauncher kpac_dhcp_helper ksendbugmail kstartupconfig ktradertest \ - make_driver_db_cups make_driver_db_lpr meinproc preparetips \ - khotnewstuff kinstalltheme kcmshell kfile kioexec -# devel stuff (skip for now) -#rm -f checkXML kconfig_compiler ksvgtopng kunittestmodrunner makekdewidgets -popd -rm -f %{buildroot}%{_datadir}/config/* \ - %{buildroot}%{_datadir}/config/ui/kprintpreviewui.rc || : - -rm -rf %{buildroot}%{_datadir}/config/colors \ - %{buildroot}%{_datadir}/apps/k* \ - %{buildroot}%{_datadir}/apps/LICENSES \ - %{buildroot}%{_datadir}/apps/proxyscout \ - %{buildroot}%{_datadir}/locale \ - %{buildroot}%{_datadir}/autostart \ - %{buildroot}/etc/xdg \ - %{buildroot}%{_docdir}/HTML \ - %{buildroot}%{_datadir}/emoticons +rm -f %{buildroot}%{_bindir}/checkXML +rm -f %{buildroot}%{_bindir}/ksvgtopng +rm -f %{buildroot}%{_bindir}/kunittestmodrunner +rm -f %{buildroot}%{_datadir}/config/kdebug.areas +rm -f %{buildroot}%{_datadir}/config/kdebugrc +rm -f %{buildroot}%{_datadir}/config/ui/ui_standards.rc +rm -rf %{buildroot}%{_datadir}/doc/HTML/en/common/ +rm -rf %{buildroot}%{_datadir}/locale/all_languages +# These files are not conflicting (yet) but may not be really useful in KDE4 +rm -rf %{buildroot}%{_sysconfdir}/xdg/menus/ +rm -rf %{buildroot}%{_datadir}/autostart/ +%endif + +%if 0%{?include_crystalsvg} == 0 +# remove all crystalsvg icons for now +rm -rf %{buildroot}%{_datadir}/icons/crystalsvg/ %endif @@ -392,14 +382,18 @@ rm -rf %{buildroot} %post /sbin/ldconfig +%if 0%{?include_crystalsvg} touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : +%endif %{_bindir}/update-desktop-database > /dev/null 2>&1 || : %postun /sbin/ldconfig +%if 0%{?include_crystalsvg} touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : +%endif %{_bindir}/update-desktop-database > /dev/null 2>&1 || : @@ -448,6 +442,7 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/kioslave %{_bindir}/klauncher %{_bindir}/kmailservice +%attr(4755,root,root) %{_bindir}/kpac_dhcp_helper %{_bindir}/ksendbugmail %{_bindir}/kshell %{_bindir}/kstartupconfig @@ -472,30 +467,35 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %exclude %{_datadir}/apps/kdewidgets/ %exclude %{_libdir}/kde3/plugins/designer/kdewidgets.* %config(noreplace) %{_datadir}/config/* -%{_datadir}/icons/crystalsvg/ +%{_datadir}/emoticons/* %{_datadir}/icons/default.kde %{_datadir}/mimelnk/magic %{_datadir}/mimelnk/*/*.desktop %{_datadir}/services/* %{_datadir}/servicetypes/* %ghost %{_datadir}/services/ksycoca +%{_docdir}/HTML/en/kspell %if "%{name}" == "kdelibs" %{_sysconfdir}/xdg/menus/*.menu -%attr(4755,root,root) %{_bindir}/kpac_dhcp_helper %{_datadir}/autostart/* -%{_datadir}/emoticons/* -%{_datadir}/locale/all_languages +# include also the conflicting file in kdelibs fedora < 9 %{_docdir}/HTML/en/common -%{_docdir}/HTML/en/kspell +%{_datadir}/locale/all_languages +%endif +%if 0%{?include_crystalsvg} +%{_datadir}/icons/crystalsvg/ %endif %files devel %defattr(-,root,root,-) +# include also the conflicting file in kdelibs-devel fedora < 9 +%if "%{name}" == "kdelibs" %{_bindir}/checkXML -%{_bindir}/dcopidl* -%{_bindir}/kconfig_compiler %{_bindir}/ksvgtopng %{_bindir}/kunittestmodrunner +%endif +%{_bindir}/dcopidl* +%{_bindir}/kconfig_compiler %{_bindir}/makekdewidgets %{_datadir}/apps/kdewidgets/ %dir %{_libdir}/kde3/plugins/designer @@ -515,6 +515,48 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %changelog +* Thu Dec 13 2007 Rex Dieter - 3.5.8-19 +- flash fix (#410651, kde#132138, kde#146784) +- simplify crystalsvg-icon-theme handling + +* Tue Dec 11 2007 Kevin Kofler - 3.5.8-18 +- set include_crystalsvg to 0 on F9+ (it comes from kdeartwork now) + +* Tue Dec 04 2007 Rex Dieter - 3.5.8-17 +- update openssl patch + +* Sat Dec 01 2007 Kevin Kofler - 3.5.8-16 +- install profile scripts as 644 instead of 755 (Ville Skyttä, #407521) +- don't rename profile scripts to kde3.(c)sh (not worth the breakage) + +* Sat Dec 01 2007 Kevin Kofler - 3.5.8-15 +- separate include_crystalsvg conditional, set to 1 until we have kdeartwork 4 +- don't run icon %%post/%%postun snippets for crystalsvg if we don't ship it +- add "3" in all summaries and descriptions + +* Sat Dec 01 2007 Kevin Kofler - 3.5.8-14 +- fix inverted logic for Requires: crystalsvg-icon-theme + +* Sat Dec 01 2007 Kevin Kofler - 3.5.8-13 +- don't hardcode %%fedora + +* Wed Nov 21 2007 Sebastian Vahl 3.5.8-12 +- renew the list of file conflicts and removals + +* Tue Nov 20 2007 Sebastian Vahl 3.5.8-11 +- preserve makekdewidgets and kconf_compiler for fedora > 9 +- add Requires: crystalsvg-icon-theme (for kdelibs3) + +* Sun Nov 18 2007 Sebastian Vahl 3.5.8-10 +- only include and provide crystalsvg-icon-theme for fedora < 9 + +* Sun Nov 18 2007 Sebastian Vahl 3.5.8-9 +- add switch to force rpmbuild behavior for testing +- prepare %%files for non-conflicting kdelibs3 + +* Tue Oct 30 2007 Rex Dieter - 3.5.8-8 +- Provides: crystalsvg-icon-theme + * Thu Oct 25 2007 Rex Dieter - 3.5.8-7 - fix application of custom zoom patch (rh#335461)