%define distname "Fedora" #define debug 1 %define final 1 %define kde_settings 0 %define apidocs 1 %define qt_epoch 1 %define arts_epoch 8 %define cups_epoch 1 %define qt_version 3.3.8 %define arts_version 1.5.6 %define kde_major_version 3 %define qtdocdir %{_docdir}/qt-devel-%{qt_version} %define make_cvs 1 %define arts 1 Name: kdelibs Summary: K Desktop Environment - Libraries Epoch: 6 Version: 3.5.6 Release: 8%{?dist} License: LGPL Url: http://www.kde.org/ Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/%{name}-%{version}.tar.bz2 Source1: kde.sh Source2: kde.csh Source3: devices.protocol Patch1: kdelibs-3.5.1-xdg-menu.patch Patch2: kdelibs-3.0.0-ndebug.patch Patch4: kdelibs-3.0.4-ksyscoca.patch Patch5: kdelibs-3.5.0-openssl0.9.8a.patch Patch15: kdelibs-3.4.91-buildroot.patch Patch16: kdelibs-3.1-ssl-krb5.patch Patch32: kdelibs-3.2.3-cups.patch Patch33: kdelibs-3.3.2-ppc.patch Patch34: kdelibs-3.4.0-qtdoc.patch Patch35: kdelibs-3.4.92-inttype.patch Patch37: kdelibs-3.5.2-kdebug-kmail-quiet.patch Patch38: kdelibs-3.5.2-cupsdconf2-group.patch Patch39: kdelibs-3.5.4-kabc-make.patch Patch40: kdelibs-3.5.4-kdeprint-utf8.patch Patch41: kdelibs-3.5.6-utempter.patch # kstandarddirs patch, use /etc/kde in addition to /usr/share/config, borrowed from debian Patch104: kdelibs-3.5.5-kstandarddirs.patch # upstream patches Patch500: kdelibs-3.5.6-qt3.3.8.patch Patch501: kdelibs-3.5.6-kde#126812.patch # http://bugs.kde.org/101956 (kget ignores simultaneous download limit) Patch101956: kdelibs-3.5.0-101956.patch # automake-1.10, $(all_libraries) is missing from a few LDFLAGS (kde #137675) Patch137675: kdelibs-3.5.6-137675.patch ## http://bugs.kde.org/140768 Patch140768: kdelibs-3.5.6-kde#140768.patch # security issue # CVE-2007-0537 Patch1000: kdelibs-3.5.6-bz#225420-CVE-2007-0537.patch Requires: arts >= %{arts_epoch}:%{arts_version} Requires: qt >= %{qt_epoch}:%{qt_version} Requires: cups-libs >= %{cups_epoch}:1.1.12 Requires: iceauth %if %{kde_settings} Requires: kde-settings >= 3.5 %else Requires: redhat-artwork >= 0.239-2 %endif Requires: desktop-backgrounds-basic Requires: hicolor-icon-theme Requires: redhat-menus >= 5.0.4 Requires(pre): coreutils Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig Requires: shadow-utils Requires: libkdnssd BuildRequires: gettext BuildRequires: pcre-devel BuildRequires: cups-devel >= %{cups_epoch}:1.1.20, cups BuildRequires: qt-devel >= %{qt_epoch}:%{qt_version}, qt-devel-docs BuildRequires: arts-devel >= %{arts_epoch}:%{arts_version} BuildRequires: flex >= 2.5.4a-13 BuildRequires: doxygen BuildRequires: libxslt-devel >= 1.1.15 BuildRequires: sgml-common BuildRequires: openjade BuildRequires: jadetex BuildRequires: docbook-dtd31-sgml BuildRequires: docbook-style-dsssl BuildRequires: perl-SGMLSpm BuildRequires: docbook-utils BuildRequires: zlib-devel BuildRequires: libidn-devel BuildRequires: audiofile-devel BuildRequires: openssl-devel BuildRequires: perl BuildRequires: gawk BuildRequires: byacc BuildRequires: libart_lgpl-devel BuildRequires: bzip2-devel BuildRequires: libtiff-devel BuildRequires: libacl-devel libattr-devel BuildRequires: aspell-devel # +keyutils-libs-devel until krb5-devel's Req's are fixed BuildRequires: krb5-devel keyutils-libs-devel BuildRequires: openldap-devel BuildRequires: db4-devel BuildRequires: alsa-lib-devel BuildRequires: pkgconfig BuildRequires: glibc-kernheaders BuildRequires: libutempter-devel BuildRequires: findutils BuildRequires: jasper-devel BuildRequires: OpenEXR-devel %if %{make_cvs} BuildRequires: automake libtool %endif %description Libraries for the K Desktop Environment: 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), kimgio (image manipulation). %package devel Group: Development/Libraries Summary: Header files and documentation for compiling KDE applications. Requires: qt-devel >= %{qt_epoch}:%{qt_version} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: qt-devel Requires: arts-devel Requires: libkdnssd-devel ## those below can/should be omitted from future builds -- Rex Requires: libart_lgpl-devel Requires: libxslt-devel Requires: libjpeg-devel Requires: zlib-devel Requires: openssl-devel Requires: bzip2-devel Requires: libtiff-devel Requires: libidn-devel Requires: libacl-devel Requires: pcre-devel Requires: libutempter-devel %description devel This package includes the header files you will need to compile applications for KDE. %package apidocs Group: Development/Documentation Summary: KDE API documentation. Requires: %{name} = %{epoch}:%{version} Obsoletes: kdelibs-docs < %{epoch}:%{version}-%{release} %description apidocs This package includes the KDE API documentation in HTML format for easy browsing %prep %setup -q %patch1 -p1 -b .xdg-menu %if "%{?debug}" != "1" %patch2 -p1 -b .debug %endif %patch4 -p1 -b .ksyscoca %patch5 -p1 -b .openssl %patch15 -p1 -b .buildroot %patch16 -p1 -b .ssl-krb5 %patch32 -p1 -b .cups %patch33 -p1 -b .ppc %patch34 -p1 -b .qtdoc %patch35 -p1 -b .inttype %patch37 -p1 -b .kdebug-kmail-quiet %patch38 -p1 -b .cupsdconf2-group %patch39 -p1 -b .kabc-make %patch40 -p1 -b .kdeprint-utf8 %patch41 -p1 -b .utempter %patch104 -p1 -b .kstandarddirs # upstream patches %patch500 -p0 -b .qt3.3.8 %patch501 -p1 -b .kde#126812 %patch137675 -p0 -b .kde#137675 %patch140768 -p1 -b .kde#140768 # security %patch1000 -p0 -b .bz#225420-CVE-2007-0537 sed -i -e "s,^#define KDE_VERSION_STRING .*,#define KDE_VERSION_STRING \"%{version}-%{release} %{distname}\"," kdecore/kdeversion.h %if %{make_cvs} make -f admin/Makefile.common cvs %endif %build unset QTDIR && . /etc/profile.d/qt.sh export QTDOC=%{qtdocdir} export libltdl_cv_shlibext=".so" if [ -x /etc/profile.d/krb5.sh ]; then . /etc/profile.d/krb5.sh elif ! echo ${PATH} | grep -q /usr/kerberos/bin ; then export PATH=/usr/kerberos/bin:${PATH} fi %configure \ --includedir=%{_includedir}/kde \ --disable-rpath \ --enable-new-ldflags \ --disable-dependency-tracking \ %{!?debug: --disable-debug --disable-warnings --enable-final} \ %{?debug:--enable-debug --enable-warnings --disable-final} \ --disable-fast-malloc \ %if "%{_lib}" == "lib64" --enable-libsuffix="64" \ %endif --enable-cups \ --enable-mitshm \ --enable-pie \ --enable-sendfile \ --with-distribution="$(cat /etc/redhat-release 2>/dev/null)" \ --with-alsa \ --with-aspell \ --disable-libfam \ --enable-dnotify \ --enable-inotify \ --with-utempter \ %{!?arts:--without-arts} \ --with-rgbfile=%{_datadir}/X11/rgb.txt \ --with-jasper \ --with-openexr \ --with-xinerama make %{?_smp_mflags} %if %{apidocs} make %{?_smp_mflags} apidox %endif %install rm -rf %{buildroot} make DESTDIR=%{buildroot} install chmod a+x %{buildroot}%{_libdir}/* install -p -m 644 %{SOURCE3} %{buildroot}%{_datadir}/services/devices.protocol pushd %{buildroot}%{_docdir} ln -sf HTML/en/kdelibs-apidocs %{name}-devel-%{kde_major_version} popd mkdir -p %{buildroot}%{_sysconfdir}/profile.d install -p -m 755 %{SOURCE1} %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/ # Make symlinks relative pushd %{buildroot}%{_docdir}/HTML/en for i in *; do if [ -d $i -a -L $i/common ]; then rm -f $i/common ln -sf ../common $i fi done popd ## menus mkdir -p %{buildroot}%{_sysconfdir}/kde/xdg/menus mv %{buildroot}%{_sysconfdir}/xdg/menus/applications.menu \ %{buildroot}%{_sysconfdir}/xdg/menus/kde-applications.menu # compat-symlinks, can go away eventually -- Rex ln -s %{_sysconfdir}/xdg/menus/kde-applications.menu \ %{buildroot}%{_sysconfdir}/kde/xdg/menus/kde-applications.menu ln -s kde-applications.menu \ %{buildroot}%{_sysconfdir}/kde/xdg/menus/applications.menu echo "OnlyShowIn=KDE;" >> %{buildroot}%{_datadir}/applications/kde/kresources.desktop # Use hicolor-icon-theme rpm/pkg instead (#178319) rm -rf $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/ # ghost'd files touch $RPM_BUILD_ROOT%{_datadir}/services/ksycoca ## remove references to extraneous/optional libraries in .la files (#170602) # fam, libart_lgpl, pcre, libidn, libpng, libjpeg, libdns_sd, libacl/libattr, alsa-lib/asound find $RPM_BUILD_ROOT%{_libdir} -name "*.la" | xargs \ sed -i \ -e "s@-lfam@@g" \ -e "s@%{_libdir}/libfam.la@@g" \ -e "s@-lart_lgpl_2@@g" \ -e "s@%{_libdir}/libpcreposix.la@@g" \ -e "s@-lpcreposix@@g" \ -e "s@-lpcre@@g" \ -e "s@-lidn@@g" \ -e "s@%{_libdir}/libidn.la@@g" \ -e "s@-lpng@@g" \ -e "s@-ljpeg@@g" \ -e "s@%{_libdir}/libjpeg.la@@g" \ -e "s@-ldns_sd@@g" \ -e "s@-lacl@@g" \ -e "s@%{_libdir}/libacl.la@@g" \ -e "s@/%{_lib}/libacl.la@@g" \ -e "s@-lattr@@g" \ -e "s@%{_libdir}/libattr.la@@g" \ -e "s@/%{_lib}/libattr.la@@g" \ -e "s@-lasound@@g" ## unpackaged files # libkdnssd bits rm -f %{buildroot}%{_libdir}/libkdnssd.* rm -rf %{buildroot}%{_includedir}/kde/dnssd %clean rm -rf %{buildroot} # Not sure if this is really needed anymore, but doesn't look harmful either -- Rex %pre if [ -d /etc/skel/Desktop/Autostart ]; then mv -f /etc/skel/Desktop/Autostart /etc/skel/Desktop/Autostart-OLD..KDE elif [ -d /etc/skel/Desktop/Autostart.rpmsave ]; then mv -f /etc/skel/Desktop/Autostart.rpmsave /etc/skel/Desktop/Autostart-OLD..KDE fi exit 0 %post /sbin/ldconfig touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/update-desktop-database > /dev/null 2>&1 || : %postun /sbin/ldconfig touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/update-desktop-database > /dev/null 2>&1 || : %files %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/profile.d/* %dir %{_sysconfdir}/kde %dir %{_sysconfdir}/kde/xdg %dir %{_sysconfdir}/kde/xdg/menus %{_sysconfdir}/kde/xdg/menus/*.menu %{_sysconfdir}/xdg/menus/*.menu %{_bindir}/artsmessage %{_bindir}/checkXML %{_bindir}/cupsdconf %{_bindir}/cupsdoprint %{_bindir}/dcop %{_bindir}/dcopclient %{_bindir}/dcopfind %{_bindir}/dcopobject %{_bindir}/dcopquit %{_bindir}/dcopref %{_bindir}/dcopserver %{_bindir}/dcopserver_shutdown %{_bindir}/dcopstart %{_bindir}/filesharelist %{_bindir}/fileshareset %{_bindir}/imagetops %{_bindir}/kab2kabc %{_bindir}/kaddprinterwizard %{_bindir}/kbuildsycoca %{_bindir}/kcmshell %{_bindir}/kconf_update %{_bindir}/kconfig_compiler %{_bindir}/kcookiejar %{_bindir}/kde-config %{_bindir}/kde-menu %{_bindir}/kded %{_bindir}/kdeinit %{_bindir}/kdeinit_shutdown %{_bindir}/kdeinit_wrapper %{_bindir}/kdesu_stub %{_bindir}/kdontchangethehostname %{_bindir}/kdostartupconfig %{_bindir}/kfile %{_bindir}/kfmexec %{_bindir}/khotnewstuff %{_bindir}/kinstalltheme %{_bindir}/kio_http_cache_cleaner %{_bindir}/kio_uiserver %{_bindir}/kioexec %{_bindir}/kioslave %{_bindir}/klauncher %{_bindir}/kmailservice %{_bindir}/ksendbugmail %{_bindir}/kshell %{_bindir}/kstartupconfig %{_bindir}/ksvgtopng %{_bindir}/ktelnetservice %{_bindir}/ktradertest %{_bindir}/kunittestmodrunner %{_bindir}/kwrapper %{_bindir}/lnusertemp %{_bindir}/make_driver_db_cups %{_bindir}/make_driver_db_lpr %{_bindir}/makekdewidgets %{_bindir}/meinproc %{_bindir}/preparetips %attr(4755,root,root) %{_bindir}/kpac_dhcp_helper %attr(4755,root,root) %{_bindir}/kgrantpty %{_bindir}/start_kdeinit %{_libdir}/lib*.so.* %{_libdir}/libkdeinit_*.so %{_libdir}/lib*.la %{_libdir}/kde3 %{_datadir}/applications %{_datadir}/apps %{_datadir}/locale/all_languages %dir %{_datadir}/config %config(noreplace) %{_datadir}/config/* %{_datadir}/emoticons %{_datadir}/icons/crystalsvg/ %{_datadir}/icons/default.kde %{_datadir}/mimelnk %{_datadir}/autostart %{_datadir}/services %ghost %{_datadir}/services/ksycoca %{_datadir}/servicetypes %dir %{_docdir}/HTML %dir %{_docdir}/HTML/en %{_docdir}/HTML/en/common %{_docdir}/HTML/en/kspell %files devel %defattr(-,root,root) %{_bindir}/dcopidl* %{_includedir}/kde/ %{_libdir}/lib*.so %{_libdir}/lib*.a %exclude %{_libdir}/libkdeinit_*.so %if %{apidocs} %files apidocs %defattr(-,root,root) %{_docdir}/%{name}-devel-%{kde_major_version} %{_docdir}/HTML/en/kdelibs* %endif %changelog * Wed May 16 2007 Than Ngo - 3.5.6-8.fc7 - add correct qt-version to build kde apidocs ,bz#239947 - disable kde_settings * Thu May 14 2007 Rex Dieter - 6:3.5.6-7 - BR: +keyutils-libs-devel (until krb5-devel's Reqs are fixed) * Thu May 14 2007 Rex Dieter - 6:3.5.6-6 - kde.sh: fix typo/thinko * Thu May 14 2007 Rex Dieter - 6:3.5.6-5 - %%changelog: prune pre-kde3 entries - %%ghost %%{_datadir}/services/ksycoca - omit extraneous .la file references (#178733) - BR: jasper-devel OpenEXR-devel - xdg-menu compat symlinks (to help transition to using XDG_MENU_PREFIX) - fix kde#126812.patch to be non-empty - cleanup kde.(sh|csh) - Requires: +kde-settings -redhat-artwork - make apidocs build optional (default on) - use FHS-friendly /etc/kde (#238136) * Mon Mar 26 2007 Than Ngo - 6:3.5.6-3.fc7 - apply upstream patch to fix build issue with qt-3.3.8 - apply upstream patch to to fix crash on particular 404 url in embedded HTML viewer * Tue Feb 27 2007 Than Ngo - 6:3.5.6-2.fc7 - cleanup specfile * Mon Feb 05 2007 Than Ngo - 6:3.5.6-1.fc7 - 3.5.6 - apply patch to fix #225420, CVE-2007-0537 Konqueror improper HTML comment rendering, thanks to Dirk Müller, KDE security team * Tue Nov 14 2006 Than Ngo - 6:3.5.5-1.fc7 - rebuild * Fri Oct 27 2006 Than Ngo 6:3.5.5-0.2 - add missing api docs * Wed Oct 25 2006 Than Ngo 6:3.5.5-0.1 - update to 3.5.5 * Sun Oct 01 2006 Than Ngo 6:3.5.4-10 - fix utf8 issue in kdeprint - fix #178320,#198828, follow menu-spec - upstream patches, fix #106748, Evaluate scripts in