Compare commits

..

20 Commits
master ... f8

Author SHA1 Message Date
Fedora Release Engineering 4060384486 dist-git conversion 2010-07-29 07:05:08 +00:00
Bill Nottingham bc5fcd7b7c Fix typo that causes a failure to update the common directory. (releng #2781) 2009-11-26 01:21:26 +00:00
Rex Dieter c094bc024f * Thu Nov 20 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-2
- upstream patch to fix hang on login (for older kernels)
2008-11-20 21:58:30 +00:00
Kevin Kofler accd83f770 Sync from kdelibs3/devel:
* Tue Aug 26 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-1
- kde-3.5.10

* Fri Aug 22 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.9-18
- fix build against Rawhide kernel headers (fix flock and flock64 redefinition)

* Fri Aug 22 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.9-17
- fix logic error in OnlyShowIn=KDE3 patch

* Wed Jul 02 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.9-16
- f9+: use drkonqi from KDE 4 kdebase-runtime in KCrash (#453243)

* Wed Jun 04 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.9-15
- set include_crystalsvg to 1 everywhere
- use Epoch 1 for crystalsvg-icon-theme, add Obsoletes

* Tue Jun 03 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-14
- revert kdeui symlink hack (there be dragons)
- unbreak -apidocs, add %%check so this never ever happens again

* Sat May 24 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-13
- f9+: include kdeui symlink here + scriptlets to help rpm handle it

* Fri May 23 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-12
- f9+: omit %%{_datadir}/apps/kdeui, use version from kdelibs-common (rh#447965, kde#157850)

* Thu May 15 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-11
- (Only|Not)ShowIn=KDE3 patch (helps #446466)

* Thu May 15 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-10
- fix kresources.desktop: NoDisplay=true

* Mon Apr 14 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-8
- omit Requires: kdndsd-avahi (#441222)

* Wed Apr 02 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-7
- more qt->qt3 fixes

* Tue Mar 25 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-6
- s/qt-devel/qt3-devel/
2008-09-02 17:24:54 +00:00
Kevin Kofler 92e0f09493 Sync from kdelibs3/devel:
* Tue Aug 26 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-1
- kde-3.5.10

* Fri Aug 22 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.9-18
- fix build against Rawhide kernel headers (fix flock and flock64 redefinition)

* Fri Aug 22 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.9-17
- fix logic error in OnlyShowIn=KDE3 patch

* Wed Jul 02 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.9-16
- f9+: use drkonqi from KDE 4 kdebase-runtime in KCrash (#453243)

* Wed Jun 04 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.9-15
- set include_crystalsvg to 1 everywhere
- use Epoch 1 for crystalsvg-icon-theme, add Obsoletes

* Tue Jun 03 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-14
- revert kdeui symlink hack (there be dragons)
- unbreak -apidocs, add %%check so this never ever happens again

* Sat May 24 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-13
- f9+: include kdeui symlink here + scriptlets to help rpm handle it

* Fri May 23 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-12
- f9+: omit %%{_datadir}/apps/kdeui, use version from kdelibs-common (rh#447965, kde#157850)

* Thu May 15 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-11
- (Only|Not)ShowIn=KDE3 patch (helps #446466)

* Thu May 15 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-10
- fix kresources.desktop: NoDisplay=true

* Mon Apr 14 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-8
- omit Requires: kdndsd-avahi (#441222)

* Wed Apr 02 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-7
- more qt->qt3 fixes

* Tue Mar 25 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-6
- s/qt-devel/qt3-devel/
2008-09-02 17:17:04 +00:00
Rex Dieter 16fbc17364 fix typo/thinko in Obsoletes 2008-03-10 18:54:22 +00:00
Than Ngo 34b8ac1cb2 apply upstream patch to fix regression in kate (bz#436384) 2008-03-10 11:26:06 +00:00
Than Ngo dee5bfa0df apply upstream patch to fix regression in kate (bz#436384) 2008-03-10 09:53:58 +00:00
Kevin Kofler 429affde86 Sync from devel:
* Tue Mar 04 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.9-4
- hardcode qt_ver again because 3.3.8b reports itself as 3.3.8 (fixes apidocs)
2008-03-04 23:10:00 +00:00
Kevin Kofler 2a9f1cb661 Sync from devel:
* Sat Feb 16 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.9-2
- F9+: include %%{_docdir}/HTML/en/common files which are not in kdelibs-common

and bump to 3.5.9-3.
2008-02-27 08:36:03 +00:00
Lukas Tinkl 0b159ea2c3 - #230979: Writes ServerBin into cupsd.conf
- #416101: unable to print after configuring printing in KDE
2008-02-26 14:12:41 +00:00
Rex Dieter 021b6c85c6 * Thu Feb 14 2008 Rex Dieter <rdieter@fedoraproject.org> 3.5.9-1
- kde-3.5.9
2008-02-14 17:05:34 +00:00
Rex Dieter b89291590d rawhide sync 2008-01-14 13:37:06 +00:00
Kevin Kofler 1723e220c6 Sync from devel:
* Mon Dec 17 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.8-20
- Requires: kdelibs-common (F9+) (#417251)
and bump Release to 3.5.8-21.
2007-12-22 20:06:30 +00:00
Lukas Tinkl f4e1543bc1 - update flash patch (#410651) 2007-12-21 13:36:41 +00:00
Rex Dieter c77ac417d8 sync with kdelibs3/devel, for flash fix, mostly.
* Thu Dec 13 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 3.5.8-19
- flash fix (#410651, kde#132138, kde#146784)
- simplify crystalsvg-icon-theme handling
2007-12-14 17:56:17 +00:00
Rex Dieter de58498a93 * Thu Oct 25 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 3.5.8-7
- fix application of custom zoom patch (rh#335461)
2007-10-25 14:29:17 +00:00
Rex Dieter a44055ed5c sync w/devel branch (small tweaks) 2007-10-25 14:06:35 +00:00
Than Ngo 925c03d39b Resolves: rh#335461, kpdf and kview lost custom zoom 2007-10-23 08:36:43 +00:00
Jesse Keating 7f2630d762 Initialize branch F-8 for kdelibs 2007-10-20 22:25:25 +00:00
67 changed files with 3940 additions and 4777 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/kdelibs-4.14.38.tar.xz
kdelibs-3.5.10.tar.bz2

View File

@ -1,27 +0,0 @@
From 02966e348e37ebf6269aaed238e7ce67fbe958e7 Mon Sep 17 00:00:00 2001
From: Hrvoje Senjan <hrvoje.senjan@gmail.com>
Date: Sun, 25 May 2014 00:36:08 +0200
Subject: [PATCH 1/1] Drop Nepomuk from KParts' LINK_INTERFACE_LIBRARIES
Nepomuk is only used in a private header, browserrun_p.h,
thus it is not needed as KParts public dependancy
Makes it possible to drop libsoprano-devel from libkde4-devel Requires
---
kparts/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/kparts/CMakeLists.txt b/kparts/CMakeLists.txt
index 2eab2e8..e17ef5e 100644
--- a/kparts/CMakeLists.txt
+++ b/kparts/CMakeLists.txt
@@ -39,7 +39,6 @@ target_link_libraries(kparts ${KDE4_KDECORE_LIBS} kdeui kio)
target_link_libraries(kparts LINK_PUBLIC kio kdeui kdecore ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} )
if(HAVE_NEPOMUK)
target_link_libraries(kparts LINK_PRIVATE nepomuk nepomukutils)
- target_link_libraries(kparts LINK_PUBLIC nepomuk nepomukutils )
endif(HAVE_NEPOMUK)
set_target_properties(kparts PROPERTIES VERSION ${GENERIC_LIB_VERSION}
--
1.9.3

View File

@ -1,6 +0,0 @@
if [ -z "${SOLID_HAL_LEGACY}" ] ; then
SOLID_HAL_LEGACY=1
export SOLID_HAL_LEGACY
fi

1
branch Normal file
View File

@ -0,0 +1 @@
F-8

18
devices.protocol Normal file
View File

@ -0,0 +1,18 @@
[Protocol]
exec=kio_media
protocol=devices
input=none
output=filesystem
listing=Name,Type,Size,Date,AccessDate,Access,Owner,Group,Link
reading=true
writing=true
makedir=true
deleting=true
linking=true
moving=true
Icon=system
maxInstances=4
#TODO DocPath=kioslave/file.html
Class=:local
deleteRecursive=true
fileNameUsedForCopying=Name

View File

@ -0,0 +1,72 @@
Index: arts-1.5.4/acinclude.m4
===================================================================
--- arts-1.5.4.orig/acinclude.m4
+++ arts-1.5.4/acinclude.m4
@@ -12040,28 +12040,12 @@ fi
])# AC_LTDL_SYS_DLOPEN_DEPLIBS
AC_DEFUN([AC_LTDL_SHLIBEXT],
-[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
+[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER])dnl
AC_CACHE_CHECK([which extension is used for shared libraries],
libltdl_cv_shlibext, [dnl
-(
- last=
- case "$host_os" in
- cygwin* | mingw*)
- last=".dll"
- ;;
- *)
- for spec in $library_names_spec; do
- last="$spec"
- done
- ;;
- esac
-changequote(, )
- echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest
-changequote([, ])
-)
-libltdl_cv_shlibext=`cat conftest`
-rm -f conftest
-])
+module=yes
+eval libltdl_cv_shlibext=$shrext
+ ])
if test -n "$libltdl_cv_shlibext"; then
AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
[Define to the extension used for shared libraries, say, ".so". ])
Index: arts-1.5.4/libltdl/ltdl.m4
===================================================================
--- arts-1.5.4.orig/libltdl/ltdl.m4
+++ arts-1.5.4/libltdl/ltdl.m4
@@ -118,27 +118,11 @@ fi
])# AC_LTDL_SYS_DLOPEN_DEPLIBS
AC_DEFUN([AC_LTDL_SHLIBEXT],
-[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
+[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER])dnl
AC_CACHE_CHECK([which extension is used for shared libraries],
libltdl_cv_shlibext, [dnl
-(
- last=
- case "$host_os" in
- cygwin* | mingw*)
- last=".dll"
- ;;
- *)
- for spec in $library_names_spec; do
- last="$spec"
- done
- ;;
- esac
-changequote(, )
- echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest
-changequote([, ])
-)
-libltdl_cv_shlibext=`cat conftest`
-rm -f conftest
+module=yes
+eval libltdl_cv_shlibext=$shrext
])
if test -n "$libltdl_cv_shlibext"; then
AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",

17
kde.csh Executable file
View File

@ -0,0 +1,17 @@
## http://kde.ground.cz/tiki-index.php?page=Environment+Variables
## for possible entries here
## Make sure KDEDIRS is set
if ( ! $?KDEDIRS ) setenv KDEDIRS /usr
## When/if using prelinking, avoids (some) use of kdeinit
if ( -f /etc/sysconfig/prelink ) then
set PRELINKING = `grep "^PRELINKING=" /etc/sysconfig/prelink | cut -d"=" -f2`
if ( "$PRELINKING" == "yes" ) then
if ( ! $?KDE_IS_PRELINKED ) setenv KDE_IS_PRELINKED 1
endif
endif
## if not using IPv6, speeds DNS operations
# if ( ! $?KDE_NO_IPV6 ) setenv KDE_NO_IPV6 1

12
kde.sh Executable file
View File

@ -0,0 +1,12 @@
## http://kde.ground.cz/tiki-index.php?page=Environment+Variables
## for possible entries here
## Make sure KDEDIRS is set
[ -z "$KDEDIRS" ] && KDEDIRS="/usr" && export KDEDIRS
## When/if using prelinking, avoids (some) use of kdeinit
if [ -f /etc/sysconfig/prelink ]; then
if [ `grep '^PRELINKING=yes' /etc/sysconfig/prelink` ] ; then
[ -z "$KDE_IS_PRELINKED" ] && KDE_IS_PRELINKED=1 && export KDE_IS_PRELINKED
fi
fi

View File

@ -0,0 +1,11 @@
--- kdelibs/kdecore/kdebug.cpp.ndebug Mon Mar 11 16:44:31 2002
+++ kdelibs/kdecore/kdebug.cpp Mon Mar 11 16:45:19 2002
@@ -224,7 +224,7 @@
break;
}
- short nOutput = kDebug_data->config ? kDebug_data->config->readNumEntry(key, 2) : 2;
+ short nOutput = kDebug_data->config ? kDebug_data->config->readNumEntry(key, 4) : 4;
// If the application doesn't have a QApplication object it can't use
// a messagebox.

View File

@ -0,0 +1,29 @@
--- kdelibs-3.0.4/kdecore/ksycoca.cpp.ksyscoca 2002-09-09 20:25:56.000000000 -0400
+++ kdelibs-3.0.4/kdecore/ksycoca.cpp 2002-10-10 12:16:39.000000000 -0400
@@ -149,9 +149,15 @@
}
static void delete_ksycoca_self() {
- delete KSycoca::_self;
+ if (KSycoca::_checkSelf())
+ delete KSycoca::_self;
+
}
+bool KSycoca::_checkSelf() {
+ return (_self ? true : false);
+}
+
KSycoca * KSycoca::self()
{
if (!_self) {
--- kdelibs-3.0.4/kdecore/ksycoca.h.ksyscoca 2002-09-09 20:25:56.000000000 -0400
+++ kdelibs-3.0.4/kdecore/ksycoca.h 2002-10-10 11:54:28.000000000 -0400
@@ -63,6 +63,7 @@
* Get or create the only instance of KSycoca (read-only)
*/
static KSycoca *self();
+ static bool _checkSelf();
virtual ~KSycoca();

7
kdelibs-3.2.3-cups.patch Normal file
View File

@ -0,0 +1,7 @@
--- kdelibs-3.2.3/kdeprint/kdeprintrc.orig 2004-07-19 12:45:04.575573066 +0200
+++ kdelibs-3.2.3/kdeprint/kdeprintrc 2004-07-19 12:45:27.141880905 +0200
@@ -3,3 +3,4 @@
ViewType=1
ViewToolBar=true
ViewPrinterInfos=true
+PrintSystem=cups

10
kdelibs-3.3.2-ppc.patch Normal file
View File

@ -0,0 +1,10 @@
--- kdelibs-3.3.2/kdefx/kcpuinfo.cpp.orig 2004-12-15 11:17:53.549403872 -0500
+++ kdelibs-3.3.2/kdefx/kcpuinfo.cpp 2004-12-15 11:18:26.312348696 -0500
@@ -30,6 +30,7 @@
#include <config.h>
#include "kcpuinfo.h"
+#undef HAVE_PPC_ALTIVEC
#if defined(__GNUC__) || defined(__INTEL_COMPILER)
# define HAVE_GNU_INLINE_ASM

11
kdelibs-3.4.0-qtdoc.patch Normal file
View File

@ -0,0 +1,11 @@
--- kdelibs-3.4.0/admin/acinclude.m4.in.orig 2005-04-01 19:01:33.000000000 +0200
+++ kdelibs-3.4.0/admin/acinclude.m4.in 2005-04-01 19:03:15.000000000 +0200
@@ -5317,7 +5317,7 @@
kde_qtdir="$with_qt_dir"
fi
-AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR)
+AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDOC/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR)
AC_MSG_RESULT($QTDOCDIR)
AC_SUBST(QTDOCDIR)

View File

@ -0,0 +1,26 @@
--- kdelibs-3.4.91/kdecore/Makefile.am.orig 2005-09-27 17:15:22.000000000 +0200
+++ kdelibs-3.4.91/kdecore/Makefile.am 2005-09-27 17:14:37.000000000 +0200
@@ -172,14 +172,6 @@
kgrantpty_LDFLAGS = $(KDE_USE_PIE) $(KDE_RPATH) $(all_libraries)
kgrantpty_LDADD = ./libkdefakes.la
-# kgrantpty needs to be installed setuid root
-install-exec-hook:
- @(chown 0 $(DESTDIR)$(bindir)/kgrantpty && chmod 4755 $(DESTDIR)$(bindir)/kgrantpty) || echo "Please make kgrantpty setuid root" >&2
- @echo ""
- @echo "kgrantpty is by default installed with a set SETUID root bit!"
- @echo "This is needed for konsole, etc. to ensure that they can't be eavesdropped."
- @echo ""
-
DISTCLEANFILES = kde-config.cpp
DOXYGEN_REFERENCES = dcop kdeui kparts kio
--- kdelibs-3.4.91/kio/misc/kpac/Makefile.am.orig 2005-09-27 17:15:39.000000000 +0200
+++ kdelibs-3.4.91/kio/misc/kpac/Makefile.am 2005-09-27 17:15:58.000000000 +0200
@@ -24,6 +24,3 @@
proxyscoutdatadir = $(kde_datadir)/proxyscout
proxyscoutdata_DATA = eventsrc
-
-install-exec-local:
- @(chown root $(DESTDIR)$(bindir)/kpac_dhcp_helper && chmod 4755 $(DESTDIR)$(bindir)/kpac_dhcp_helper) || echo "Please make kpac_dhcp_helper setuid root"

View File

@ -0,0 +1,11 @@
--- kdelibs-3.4.92/kwallet/backend/sha1.cc.orig 2005-10-24 08:01:18.000000000 -0400
+++ kdelibs-3.4.92/kwallet/backend/sha1.cc 2005-10-24 08:11:28.000000000 -0400
@@ -27,6 +27,8 @@
#include <sys/bitypes.h> /* For uintXX_t on Tru64 */
#endif
+#include <inttypes.h>
+
#include "sha1.h"
#include <string.h>

View File

@ -0,0 +1,32 @@
--- kdelibs-3.5.0/kioslave/http/http.cc.101956 2005-11-08 16:39:17.000000000 -0600
+++ kdelibs-3.5.0/kioslave/http/http.cc 2005-12-01 13:23:39.000000000 -0600
@@ -2103,6 +2103,8 @@
return false;
}
+ bool bCacheOnly = (m_request.cache == KIO::CC_CacheOnly);
+
m_request.fcache = 0;
m_request.bCachedRead = false;
m_request.bCachedWrite = false;
@@ -2114,7 +2116,6 @@
{
m_request.fcache = checkCacheEntry( );
- bool bCacheOnly = (m_request.cache == KIO::CC_CacheOnly);
bool bOffline = isOffline(m_request.doProxy ? m_proxyURL : m_request.url);
if (bOffline && (m_request.cache != KIO::CC_Reload))
m_request.cache = KIO::CC_CacheOnly;
@@ -2156,6 +2157,12 @@
return false;
}
}
+ else if (bCacheOnly)
+ {
+ // Instructed to only check cache, but _not_ to use cache. Oops.
+ error( ERR_DOES_NOT_EXIST, m_request.url.url() );
+ return false;
+ }
QString header;
QString davHeader;

View File

@ -0,0 +1,21 @@
--- kdelibs-3.5.1/kded/applications.menu.orig 2006-02-21 14:30:11.000000000 +0100
+++ kdelibs-3.5.1/kded/applications.menu 2006-02-21 14:30:16.000000000 +0100
@@ -31,12 +31,16 @@
<Category>Core</Category>
<Not><Category>KDE</Category></Not>
</And>
- <!-- Don't list SUSE's YaST in here -->
- <Category>X-SuSE-YaST</Category>
+ <Category>X-Red-Hat-Base</Category>
</Not>
</Include>
</Menu>
<Menu>
+ <Name>System Settings</Name>
+ <MergeFile>system-settings.menu</MergeFile>
+ </Menu>
+
+ <Menu>
<Name>Development</Name>
<Directory>kde-development.directory</Directory>
<Menu>

20
kdelibs-3.5.10-proc.patch Normal file
View File

@ -0,0 +1,20 @@
diff -up kdelibs-3.5.10/kinit/start_kdeinit.c.proc kdelibs-3.5.10/kinit/start_kdeinit.c
--- kdelibs-3.5.10/kinit/start_kdeinit.c.proc 2008-08-19 13:18:12.000000000 -0500
+++ kdelibs-3.5.10/kinit/start_kdeinit.c 2008-11-20 15:54:54.000000000 -0600
@@ -44,7 +44,7 @@ static int set_protection( pid_t pid, in
{
char buf[ 1024 ];
int procfile;
- sprintf( buf, "/proc/%d/oom_adj", pid );
+ sprintf( buf, "/proc/%d/stat", pid );
if( !enable ) {
/* Be paranoid and check that the pid we got from the pipe
belongs to this user. */
@@ -52,6 +52,7 @@ static int set_protection( pid_t pid, in
if( lstat( buf, &st ) < 0 || st.st_uid != getuid())
return 0;
}
+ sprintf( buf, "/proc/%d/oom_adj", pid );
procfile = open( buf, O_WRONLY );
if( procfile >= 0 ) {
if( enable )

View File

@ -0,0 +1,25 @@
--- kdelibs-3.5.2/kdeprint/cups/cupsdconf2/cupsd.conf.template.tn 2006-05-22 14:51:46.000000000 +0200
+++ kdelibs-3.5.2/kdeprint/cups/cupsdconf2/cupsd.conf.template 2006-05-22 15:27:27.000000000 +0200
@@ -275,9 +275,9 @@
# must be <b>sys</b>, however you can configure things for another
# group as needed.</p>
# <p>
-# <i>ex</i>: sys</p>
+# <i>ex</i>: lp</p>
$$
-#Group sys
+#Group lp
@@
%%ripcache
--- kdelibs-3.5.2/kdeprint/cups/cupsdconf2/cupsdconf.cpp.tn 2006-05-22 15:26:15.000000000 +0200
+++ kdelibs-3.5.2/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2006-05-22 15:26:32.000000000 +0200
@@ -115,7 +115,7 @@
maxjobsperprinter_ = 0;
maxjobsperuser_ = 0;
user_ = "lp";
- group_ = "sys";
+ group_ = "lp";
ripcache_ = "8m";
filterlimit_ = 0;
browsing_ = true;

View File

@ -0,0 +1,11 @@
--- kdelibs-3.5.2/kdecore/kdebugrc.orig 2006-05-03 16:12:27.000000000 +0200
+++ kdelibs-3.5.2/kdecore/kdebugrc 2006-05-03 16:12:35.000000000 +0200
@@ -82,7 +82,7 @@
# KMail
[5006]
-InfoOutput=2
+InfoOutput=4
# KitchenSync (Syncing Algorithm)
[5250]

View File

@ -0,0 +1,10 @@
--- kdelibs-3.5.4/kabc/Makefile.am.orig 2006-09-29 12:07:44.000000000 +0200
+++ kdelibs-3.5.4/kabc/Makefile.am 2006-09-29 12:06:01.000000000 +0200
@@ -55,6 +55,7 @@
kab2kabc_LDFLAGS = $(all_libraries) $(KDE_RPATH)
kab2kabc_LDADD = libkabc.la ../kab/libkab.la
kab2kabc_SOURCES = kab2kabc.cpp
+kab2kabc_COMPILE_FIRST = addressee.h
autostart_DATA = kab2kabc.desktop
autostartdir = $(datadir)/autostart

View File

@ -0,0 +1,11 @@
--- kdelibs-3.5.4/kdeprint/cups/kmcupsmanager.cpp.orig 2006-10-01 21:55:49.000000000 +0200
+++ kdelibs-3.5.4/kdeprint/cups/kmcupsmanager.cpp 2006-10-01 21:56:08.000000000 +0200
@@ -85,7 +85,7 @@
// change LANG variable so that CUPS is always using
// english language: translation may only come from the PPD
// itself, or from KDE.
- setenv("LANG", "en", 1);
+ setenv("LANG", "en_US.UTF-8", 1);
}
KMCupsManager::~KMCupsManager()

View File

@ -0,0 +1,14 @@
diff -urN kdelibs-3.3.91.orig/kdecore/kstandarddirs.cpp kdelibs-3.3.91/kdecore/kstandarddirs.cpp
--- kdelibs-3.3.91.orig/kdecore/kstandarddirs.cpp 2005-01-14 21:46:57.964666000 -0800
+++ kdelibs-3.3.91/kdecore/kstandarddirs.cpp 2005-01-14 21:49:53.043136983 -0800
@@ -833,6 +833,10 @@
if ((local || testdir.exists()) && !candidates->contains(path))
candidates->append(path);
}
+ // UGLY HACK - Chris CHeney
+ if (local && (!strcmp("config", type)))
+ candidates->append("/etc/kde/");
+ //
local = false;
}
}

View File

@ -0,0 +1,169 @@
kdecore/Makefile.am | 2 +
kdecore/klibloader.cpp | 86 +++++++++++++++++++++++++++----------------------
kdecore/klibloader.h | 2 -
kinit/kinit.cpp | 8 +---
4 files changed, 55 insertions(+), 43 deletions(-)
--- kdelibs-3.5.5/kdecore/Makefile.am.orig 2006-10-01 19:33:38.000000000 +0200
+++ kdelibs-3.5.5/kdecore/Makefile.am 2007-01-05 00:17:27.235678750 +0100
@@ -115,8 +115,10 @@
kuser.cpp kconfigskeleton.cpp kconfigdialogmanager.cpp klockfile.cpp \
kqiodevicegzip_p.cpp ktimezones.cpp
+CXXFLAGS += -fexceptions
libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined
libkdecore_la_LIBADD = malloc/libklmalloc.la network/libkdecorenetwork.la $(SVGICON_LIB) ../dcop/libDCOP.la ../libltdl/libltdlc.la $(LIB_XEXT) $(LIBRESOLV) $(LIBUTIL) $(LIBART_LIBS) $(LIB_IDN) ../kdefx/libkdefx.la
+libkdecore_la_LIBADD += -lboost_filesystem -lboost_regex
libkdecore_la_NMCHECK = $(srcdir)/libkdecore.nmcheck
libkdecore_la_NMCHECKWEAK = $(srcdir)/libkdecore_weak.nmcheck $(srcdir)/libqt-mt_weak.nmcheck \
$(top_srcdir)/dcop/libDCOP_weak.nmcheck $(top_srcdir)/kdecore/standard_weak.nmcheck
--- kdelibs-3.5.5/kdecore/klibloader.h.orig 2005-10-10 17:06:03.000000000 +0200
+++ kdelibs-3.5.5/kdecore/klibloader.h 2007-01-04 23:19:39.868039250 +0100
@@ -270,7 +270,7 @@
* wants to open modules.
* @param name of the library. If it is not a path, the function searches in
* the "module" and "lib" resources. If there is no extension,
- * ".la" will be appended.
+ * ".so*" will be appended.
* @param instance a KInstance used to get the standard paths
*/
static QString findLibrary( const char * name, const KInstance * instance = KGlobal::instance() );
--- kdelibs-3.5.5/kdecore/klibloader.cpp.orig 2006-01-19 17:06:18.000000000 +0000
+++ kdelibs-3.5.5/kdecore/klibloader.cpp 2007-01-05 00:08:39.215039750 +0000
@@ -331,43 +331,59 @@
d = 0L;
}
-static inline QCString makeLibName( const char* name )
+#include <boost/filesystem/exception.hpp>
+#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/path.hpp>
+#include <boost/regex.hpp>
+
+QCString makeSharedLibraryName( char const* name, QString const& dir )
{
- QCString libname(name);
- // only append ".la" if there is no extension
- // this allows to load non-libtool libraries as well
- // (mhk, 20000228)
- int pos = libname.findRev('/');
- if (pos < 0)
- pos = 0;
- if (libname.find('.', pos) < 0)
- libname += ".la";
- return libname;
+ try
+ {
+ boost::filesystem::path d( dir.ascii() );
+ std::string p = d.string() + "/" + name + ".so";
+ if ( boost::filesystem::exists( p ) )
+ return p.c_str();
+ boost::regex re( p + "\\..+", boost::regex::extended );
+ for ( boost::filesystem::directory_iterator i( d );
+ i != boost::filesystem::directory_iterator(); ++i )
+ {
+ boost::smatch m;
+ if ( boost::regex_match( i->string(), m, re ) )
+ return m.str().c_str();
+ }
+ }
+ catch ( boost::filesystem::filesystem_error const& )
+ {
+ }
+ return QCString();
}
-//static
QString KLibLoader::findLibrary( const char * name, const KInstance * instance )
{
- QCString libname = makeLibName( name );
-
- // only look up the file if it is not an absolute filename
- // (mhk, 20000228)
- QString libfile;
- if (!QDir::isRelativePath(libname))
- libfile = QFile::decodeName( libname );
- else
- {
- libfile = instance->dirs()->findResource( "module", libname );
- if ( libfile.isEmpty() )
- {
- libfile = instance->dirs()->findResource( "lib", libname );
-#ifndef NDEBUG
- if ( !libfile.isEmpty() && libname.left(3) == "lib" ) // don't warn for kdeinit modules
- kdDebug(150) << "library " << libname << " not found under 'module' but under 'lib'" << endl;
-#endif
- }
- }
- return libfile;
+ try
+ {
+ if ( boost::filesystem::exists( name ) )
+ return name;
+ }
+ catch ( boost::filesystem::filesystem_error const& )
+ {
+ }
+ QStringList dirs = instance->dirs()->resourceDirs( "module" );
+ for ( QStringList::ConstIterator i = dirs.begin(); i != dirs.end(); ++i )
+ {
+ QCString p = makeSharedLibraryName( name, *i );
+ if ( !p.isNull() )
+ return p;
+ }
+ dirs = instance->dirs()->resourceDirs( "lib" );
+ for ( QStringList::ConstIterator i = dirs.begin(); i != dirs.end(); ++i )
+ {
+ QCString p = makeSharedLibraryName( name, *i );
+ if ( !p.isNull() )
+ return p;
+ }
+ return QString::null;
}
@@ -418,11 +434,7 @@
QString libfile = findLibrary( name );
if ( libfile.isEmpty() )
{
- const QCString libname = makeLibName( name );
-#ifndef NDEBUG
- kdDebug(150) << "library=" << name << ": No file named " << libname << " found in paths." << endl;
-#endif
- d->errorMessage = i18n("Library files for \"%1\" not found in paths.").arg(libname);
+ d->errorMessage = i18n("Library files for \"%1\" not found in paths.").arg(name);
return 0;
}
--- kdelibs-3.5.5/kinit/kinit.cpp.orig 2006-10-01 19:33:32.000000000 +0200
+++ kdelibs-3.5.5/kinit/kinit.cpp 2007-01-04 23:39:00.780591750 +0100
@@ -447,7 +447,7 @@
{
/* Relative name without '.la' */
name = _name;
- lib = name + ".la";
+ lib = name;
exec = name;
libpath = QFile::encodeName(KLibLoader::findLibrary( lib, s_instance ));
execpath = execpath_avoid_loops( exec, envc, envs, avoid_loops );
@@ -458,9 +458,7 @@
name = _name;
name = name.mid( name.findRev('/') + 1);
exec = _name;
- if (lib.right(3) == ".la")
- libpath = lib;
- else
+ if ( libpath.findRev( ".so" ) == -1 )
execpath = exec;
}
if (!args)
@@ -1807,7 +1805,7 @@
#ifndef __CYGWIN__
if (!d.suicide && !getenv("KDE_IS_PRELINKED"))
{
- QString konq = locate("lib", "libkonq.la", s_instance);
+ QString konq = KLibLoader::findLibrary( "libkonq", s_instance );
if (!konq.isEmpty())
(void) lt_dlopen(QFile::encodeName(konq).data());
}

17
kdelibs-3.5.6-lang.patch Normal file
View File

@ -0,0 +1,17 @@
--- kdelibs-3.5.6/kdecore/klocale.cpp.orig 2007-05-22 17:49:31.000000000 +0200
+++ kdelibs-3.5.6/kdecore/klocale.cpp 2007-05-23 20:37:54.000000000 +0200
@@ -140,9 +140,11 @@ void KLocale::initLanguageList(KConfig *
KConfigGroupSaver saver(config, "Locale");
m_country = config->readEntry( "Country" );
- if ( m_country.isEmpty() )
- m_country = defaultCountry();
-
+ if ( m_country.isEmpty() ) {
+ QString ln, ct, chrset;
+ splitLocale(QString(::getenv("LANG")), ln, ct, chrset);
+ m_country = (ct.isEmpty()) ? defaultCountry() : ct.lower();
+ }
// Reset the list and add the new languages
QStringList languageList;
if ( useEnv )

View File

@ -0,0 +1,86 @@
diff -Nur kdelibs-3.5.6.orig/configure.in.in kdelibs-3.5.6/configure.in.in
--- kdelibs-3.5.6.orig/configure.in.in 2006-05-22 20:14:23.000000000 +0200
+++ kdelibs-3.5.6/configure.in.in 2007-02-05 23:01:44.000000000 +0100
@@ -395,7 +395,7 @@
[], with_utempter=check)
if test "x$with_utempter" != xno; then
kde_have_utempter=yes
- AC_CHECK_LIB(utempter, addToUtmp, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
+ AC_CHECK_LIB(utempter, utempter_add_record, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
AC_SUBST(LIBUTEMPTER)
if test "$kde_have_utempter" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_UTEMPTER, 1, [Define if you have the utempter helper for utmp managment])
diff -Nur kdelibs-3.5.6.orig/kdecore/kpty.cpp kdelibs-3.5.6/kdecore/kpty.cpp
--- kdelibs-3.5.6.orig/kdecore/kpty.cpp 2006-05-22 20:14:21.000000000 +0200
+++ kdelibs-3.5.6/kdecore/kpty.cpp 2007-02-05 23:01:44.000000000 +0100
@@ -80,6 +80,10 @@
# include <utmp.h>
#endif
+#ifdef HAVE_UTEMPTER
+# include <utempter.h>
+#endif
+
#ifdef HAVE_TERMIOS_H
/* for HP-UX (some versions) the extern C is needed, and for other
platforms it doesn't hurt */
@@ -138,21 +142,6 @@
// private functions //
///////////////////////
-#ifdef HAVE_UTEMPTER
-class KProcess_Utmp : public KProcess
-{
-public:
- int commSetupDoneC()
- {
- dup2(cmdFd, 0);
- dup2(cmdFd, 1);
- dup2(cmdFd, 3);
- return 1;
- }
- int cmdFd;
-};
-#endif
-
#define BASE_CHOWN "kgrantpty"
@@ -399,12 +388,8 @@
void KPty::login(const char *user, const char *remotehost)
{
#ifdef HAVE_UTEMPTER
- KProcess_Utmp utmp;
- utmp.cmdFd = d->masterFd;
- utmp << "/usr/sbin/utempter" << "-a" << d->ttyName << "";
- utmp.start(KProcess::Block);
+ utempter_add_record (d->masterFd, remotehost);
Q_UNUSED(user);
- Q_UNUSED(remotehost);
#elif defined(USE_LOGIN)
const char *str_ptr;
struct utmp l_struct;
@@ -442,10 +427,7 @@
void KPty::logout()
{
#ifdef HAVE_UTEMPTER
- KProcess_Utmp utmp;
- utmp.cmdFd = d->masterFd;
- utmp << "/usr/sbin/utempter" << "-d" << d->ttyName;
- utmp.start(KProcess::Block);
+ utempter_remove_record (d->masterFd);
#elif defined(USE_LOGIN)
const char *str_ptr = d->ttyName.data();
if (!memcmp(str_ptr, "/dev/", 5))
diff -Nur kdelibs-3.5.6.orig/kdecore/Makefile.am kdelibs-3.5.6/kdecore/Makefile.am
--- kdelibs-3.5.6.orig/kdecore/Makefile.am 2006-10-01 19:33:38.000000000 +0200
+++ kdelibs-3.5.6/kdecore/Makefile.am 2007-02-05 23:01:44.000000000 +0100
@@ -115,7 +115,7 @@
kuser.cpp kconfigskeleton.cpp kconfigdialogmanager.cpp klockfile.cpp \
kqiodevicegzip_p.cpp ktimezones.cpp
-libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined
+libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(LIBUTEMPTER) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined
libkdecore_la_LIBADD = malloc/libklmalloc.la network/libkdecorenetwork.la $(SVGICON_LIB) ../dcop/libDCOP.la ../libltdl/libltdlc.la $(LIB_XEXT) $(LIBRESOLV) $(LIBUTIL) $(LIBART_LIBS) $(LIB_IDN) ../kdefx/libkdefx.la
libkdecore_la_NMCHECK = $(srcdir)/libkdecore.nmcheck
libkdecore_la_NMCHECKWEAK = $(srcdir)/libkdecore_weak.nmcheck $(srcdir)/libqt-mt_weak.nmcheck \

View File

@ -0,0 +1,15 @@
--- kdelibs-3.5.7/kinit/autostart.cpp.orig 2007-09-25 11:32:07.000000000 +0200
+++ kdelibs-3.5.7/kinit/autostart.cpp 2007-09-25 14:14:29.000000000 +0200
@@ -48,6 +48,12 @@ AutoStart::AutoStart( bool new_startup )
m_startList = new AutoStartList;
m_startList->setAutoDelete(true);
KGlobal::dirs()->addResourceType("autostart", "share/autostart");
+ QString xdgconf_dirs = KGlobal::dirs()->kfsstnd_xdg_conf_prefixes();
+ if (xdgconf_dirs.isEmpty())
+ xdgconf_dirs = "/etc/xdg";
+ QStringList xdgconf_dirslist = QStringList::split( ':', xdgconf_dirs );
+ for ( QStringList::Iterator d = xdgconf_dirslist.begin(); d != xdgconf_dirslist.end(); ++d )
+ KGlobal::dirs()->addResourceDir("autostart", (*d) + "/autostart");
}
AutoStart::~AutoStart()

View File

@ -0,0 +1,39 @@
diff -up kdelibs-3.5.8/kio/kssl/kopenssl.cc.openssl kdelibs-3.5.8/kio/kssl/kopenssl.cc
--- kdelibs-3.5.8/kio/kssl/kopenssl.cc.openssl 2006-07-22 03:16:39.000000000 -0500
+++ kdelibs-3.5.8/kio/kssl/kopenssl.cc 2007-12-04 08:13:44.000000000 -0600
@@ -329,6 +329,17 @@ KConfig *cfg;
#ifdef SHLIB_VERSION_NUMBER
<< "libssl.so." SHLIB_VERSION_NUMBER
#endif
+ << "libssl.so.0.9.8g"
+ << "libssl.so.7"
+ << "libssl.so.0.9.8b"
+ << "libssl.so.0.9.8a"
+ << "libssl.so.6"
+ << "libssl.so.0.9.7e"
+ << "libssl.so.5"
+ << "libssl.so.0.9.7a"
+ << "libssl.so.4"
+ << "libssl.so.0.9.6b"
+ << "libssl.so.2"
<< "libssl.so"
<< "libssl.so.0"
#endif
@@ -346,6 +357,17 @@ KConfig *cfg;
#ifdef SHLIB_VERSION_NUMBER
<< "libcrypto.so." SHLIB_VERSION_NUMBER
#endif
+ << "libcrypto.so.0.9.8g"
+ << "libcrypto.so.7"
+ << "libcrypto.so.0.9.8b"
+ << "libcrypto.so.0.9.8a"
+ << "libcrypto.so.6"
+ << "libcrypto.so.0.9.7e"
+ << "libcrypto.so.5"
+ << "libcrypto.so.0.9.7a"
+ << "libcrypto.so.4"
+ << "libcrypto.so.0.9.6b"
+ << "libcrypto.so.2"
<< "libcrypto.so"
<< "libcrypto.so.0"
#endif

View File

@ -0,0 +1,10 @@
--- kdelibs-3.5.8/kate/data/vhdl.xml.orig 2007-10-18 19:34:32.000000000 +0200
+++ kdelibs-3.5.8/kate/data/vhdl.xml 2007-10-18 19:33:04.000000000 +0200
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
-<language name="VHDL" version="1.04" kateversion="2.1" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl">
+<language name="VHDL" version="1.04" kateversion="2.1" section="Hardware" extensions="*.vhdl;*.vhd;*.vst;*.vbe" mimetype="text/x-vhdl">
<highlighting>
<list name="keywords">
<item> access </item>

View File

@ -0,0 +1,303 @@
diff -ur kdelibs-3.5.8/kdeui/ksconfig.cpp kdelibs-3.5.8-kspell-hunspell/kdeui/ksconfig.cpp
--- kdelibs-3.5.8/kdeui/ksconfig.cpp 2007-10-08 11:52:12.000000000 +0200
+++ kdelibs-3.5.8-kspell-hunspell/kdeui/ksconfig.cpp 2007-12-22 01:45:47.000000000 +0100
@@ -1,6 +1,7 @@
/* This file is part of the KDE libraries
Copyright (C) 1997 David Sweet <dsweet@kde.org>
Copyright (C) 2000-2001 Wolfram Diestel <wolfram@steloj.de>
+ Copyright (C) 2007 Kevin Kofler <Kevin@tigcc.ticalc.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -149,6 +150,7 @@
clientcombo->insertItem( i18n("Aspell") );
clientcombo->insertItem( i18n("Hspell") );
clientcombo->insertItem( i18n("Zemberek") );
+ clientcombo->insertItem( i18n("Hunspell") );
connect( clientcombo, SIGNAL (activated(int)), this,
SLOT (sChangeClient(int)) );
glay->addMultiCellWidget( clientcombo, 4, 4, 1, 2 );
@@ -240,8 +242,10 @@
dictcombo->insertItem( i18n("Turkish") );
sChangeEncoding( KS_E_UTF8 );
}
- else
+ else if ( iclient == KS_CLIENT_ASPELL )
getAvailDictsAspell();
+ else
+ getAvailDictsHunspell();
}
emit configChanged();
}
@@ -399,8 +403,10 @@
langfnames.append("");
dictcombo->insertItem( i18n("Turkish") );
}
- else
+ else if ( iclient == KS_CLIENT_ASPELL )
getAvailDictsAspell();
+ else
+ getAvailDictsHunspell();
// select the used dictionary in the list
int whichelement=-1;
@@ -583,6 +589,62 @@
}
}
+void KSpellConfig::getAvailDictsHunspell () {
+
+ langfnames.clear();
+ dictcombo->clear();
+ langfnames.append(""); // Default
+ dictcombo->insertItem( i18n("Hunspell Default") );
+
+ // dictionary path
+ QFileInfo dir ("/usr/share/myspell");
+ if (!dir.exists() || !dir.isDir())
+ dir.setFile ("/usr/share/hunspell");
+ if (!dir.exists() || !dir.isDir()) return;
+
+ kdDebug(750) << "KSpellConfig::getAvailDictsHunspell "
+ << dir.filePath() << " " << dir.dirPath() << endl;
+
+ const QDir thedir (dir.filePath(),"*.dic");
+ const QStringList entryList = thedir.entryList();
+
+ kdDebug(750) << "KSpellConfig" << thedir.path() << "\n" << endl;
+ kdDebug(750) << "entryList().count()="
+ << entryList.count() << endl;
+
+ QStringList::const_iterator entryListItr = entryList.constBegin();
+ const QStringList::const_iterator entryListEnd = entryList.constEnd();
+
+ for ( ; entryListItr != entryListEnd; ++entryListItr)
+ {
+ QString fname, lname, hname;
+ fname = *entryListItr;
+
+ // remove .dic
+ if (fname.endsWith(".dic")) fname.remove (fname.length()-4,4);
+
+ if (interpret (fname, lname, hname) && langfnames.first().isEmpty())
+ { // This one is the KDE default language
+ // so place it first in the lists (overwrite "Default")
+
+ langfnames.remove ( langfnames.begin() );
+ langfnames.prepend ( fname );
+
+ hname=i18n("default spelling dictionary"
+ ,"Default - %1 [%2]").arg(hname).arg(fname);
+
+ dictcombo->changeItem (hname,0);
+ }
+ else
+ {
+ langfnames.append (fname);
+ hname=hname+" ["+fname+"]";
+
+ dictcombo->insertItem (hname);
+ }
+ }
+}
+
void
KSpellConfig::fillDicts( QComboBox* box, QStringList* dictionaries )
{
@@ -661,8 +723,7 @@
box->insertItem( i18n("Turkish") );
langfnames.append("");
sChangeEncoding( KS_E_UTF8 );
- }
- else {
+ } else if ( iclient == KS_CLIENT_ASPELL ) {
box->clear();
langfnames.append(""); // Default
box->insertItem (i18n("ASpell Default"));
@@ -741,6 +802,58 @@
}
}
}
+ } else {
+ box->clear();
+ langfnames.append(""); // Default
+ box->insertItem( i18n("Hunspell Default") );
+
+ // dictionary path
+ QFileInfo dir ("/usr/share/myspell");
+ if (!dir.exists() || !dir.isDir())
+ dir.setFile ("/usr/share/hunspell");
+ if (!dir.exists() || !dir.isDir()) return;
+
+ kdDebug(750) << "KSpellConfig::getAvailDictsHunspell "
+ << dir.filePath() << " " << dir.dirPath() << endl;
+
+ const QDir thedir (dir.filePath(),"*.dic");
+ const QStringList entryList = thedir.entryList();
+
+ kdDebug(750) << "KSpellConfig" << thedir.path() << "\n" << endl;
+ kdDebug(750) << "entryList().count()="
+ << entryList.count() << endl;
+
+ QStringList::const_iterator entryListItr = entryList.constBegin();
+ const QStringList::const_iterator entryListEnd = entryList.constEnd();
+
+ for ( ; entryListItr != entryListEnd; ++entryListItr)
+ {
+ QString fname, lname, hname;
+ fname = *entryListItr;
+
+ // remove .dic
+ if (fname.endsWith(".dic")) fname.remove (fname.length()-4,4);
+
+ if (interpret (fname, lname, hname) && langfnames.first().isEmpty())
+ { // This one is the KDE default language
+ // so place it first in the lists (overwrite "Default")
+
+ langfnames.remove ( langfnames.begin() );
+ langfnames.prepend ( fname );
+
+ hname=i18n("default spelling dictionary"
+ ,"Default - %1 [%2]").arg(hname).arg(fname);
+
+ box->changeItem (hname,0);
+ }
+ else
+ {
+ langfnames.append (fname);
+ hname=hname+" ["+fname+"]";
+
+ box->insertItem (hname);
+ }
+ }
}
int whichelement = langfnames.findIndex(qsdict);
if ( whichelement >= 0 ) {
diff -ur kdelibs-3.5.8/kdeui/ksconfig.h kdelibs-3.5.8-kspell-hunspell/kdeui/ksconfig.h
--- kdelibs-3.5.8/kdeui/ksconfig.h 2005-10-10 17:06:38.000000000 +0200
+++ kdelibs-3.5.8-kspell-hunspell/kdeui/ksconfig.h 2007-12-22 01:35:25.000000000 +0100
@@ -1,5 +1,6 @@
/* This file is part of the KDE libraries
Copyright (C) 1997 David Sweet <dsweet@kde.org>
+ Copyright (C) 2007 Kevin Kofler <Kevin@tigcc.ticalc.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -61,7 +62,8 @@
KS_CLIENT_ISPELL=0,
KS_CLIENT_ASPELL=1,
KS_CLIENT_HSPELL=2,
- KS_CLIENT_ZEMBEREK=3
+ KS_CLIENT_ZEMBEREK=3,
+ KS_CLIENT_HUNSPELL=4
};
/**
@@ -283,6 +285,7 @@
KSpellConfigPrivate *d;
void getAvailDictsIspell();
void getAvailDictsAspell();
+ void getAvailDictsHunspell();
};
#endif // KDELIBS_KSCONFIG_H
diff -ur kdelibs-3.5.8/kdeui/kspell.cpp kdelibs-3.5.8-kspell-hunspell/kdeui/kspell.cpp
--- kdelibs-3.5.8/kdeui/kspell.cpp 2005-10-10 17:06:38.000000000 +0200
+++ kdelibs-3.5.8-kspell-hunspell/kdeui/kspell.cpp 2007-12-22 02:26:29.000000000 +0100
@@ -2,6 +2,7 @@
Copyright (C) 1997 David Sweet <dsweet@kde.org>
Copyright (C) 2000-2001 Wolfram Diestel <wolfram@steloj.de>
Copyright (C) 2003 Zack Rusin <zack@kde.org>
+ Copyright (C) 2007 Kevin Kofler <Kevin@tigcc.ticalc.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -181,9 +182,14 @@
*proc << "zpspell";
kdDebug(750) << "Using zemberek(zpspell)" << endl;
break;
+ case KS_CLIENT_HUNSPELL:
+ *proc << "hunspell";
+ kdDebug(750) << "Using hunspell" << endl;
+ break;
}
- if ( ksconfig->client() == KS_CLIENT_ISPELL || ksconfig->client() == KS_CLIENT_ASPELL )
+ // Hunspell doesn't need all of these options, but it'll ignore those it doesn't understand.
+ if ( ksconfig->client() == KS_CLIENT_ISPELL || ksconfig->client() == KS_CLIENT_ASPELL || ksconfig->client() == KS_CLIENT_HUNSPELL )
{
*proc << "-a" << "-S";
@@ -201,8 +207,8 @@
*proc << "-t";
break;
case Nroff:
- //only ispell supports
- if ( ksconfig->client() == KS_CLIENT_ISPELL )
+ //only ispell and hunspell support
+ if ( ksconfig->client() == KS_CLIENT_ISPELL || ksconfig->client() == KS_CLIENT_HUNSPELL )
*proc << "-n";
break;
case Text:
@@ -239,7 +245,60 @@
// option, so kspell tries again without it. That's why as 'ps -ax'
// shows "ispell -a -S ..." withou the "-Tlatin2" option.
- if ( trystart<1 ) {
+ if ( ksconfig->client() == KS_CLIENT_HUNSPELL && trystart<1 ) {
+ // Note: This sets I/O encoding. Hunspell correctly handles dictionary encoding != I/O encoding.
+ // It will be faster if the I/O encoding matches the dictionary encoding, but using UTF-8 is always safe.
+ switch ( ksconfig->encoding() )
+ {
+ case KS_E_LATIN1:
+ *proc << "-i" << "ISO-8859-1";
+ break;
+ case KS_E_LATIN2:
+ *proc << "-i" << "ISO-8859-2";
+ break;
+ case KS_E_LATIN3:
+ *proc << "-i" << "ISO-8859-3";
+ break;
+ case KS_E_LATIN4:
+ *proc << "-i" << "ISO-8859-4";
+ break;
+ case KS_E_LATIN5:
+ *proc << "-i" << "ISO-8859-5";
+ break;
+ case KS_E_LATIN7:
+ *proc << "-i" << "ISO-8859-7";
+ break;
+ case KS_E_LATIN8:
+ *proc << "-i" << "ISO-8859-8";
+ break;
+ case KS_E_LATIN9:
+ *proc << "-i" << "ISO-8859-9";
+ break;
+ case KS_E_LATIN13:
+ *proc << "-i" << "ISO-8859-13";
+ break;
+ case KS_E_LATIN15:
+ *proc << "-i" << "ISO-8859-15";
+ break;
+ case KS_E_UTF8:
+ *proc << "-i" << "UTF-8";
+ break;
+ case KS_E_KOI8R:
+ *proc << "-i" << "KOI8-R";
+ break;
+ case KS_E_KOI8U:
+ *proc << "-i" << "KOI8-U";
+ break;
+ case KS_E_CP1251:
+ *proc << "-i" << "CP1251";
+ break;
+ case KS_E_CP1255:
+ *proc << "-i" << "CP1255";
+ break;
+ default:
+ break;
+ }
+ } else if ( trystart<1 ) {
switch ( ksconfig->encoding() )
{
case KS_E_LATIN1:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
diff -ur kdelibs-3.5.8-kspell2-enchant/kspell2/plugins/Makefile.am kdelibs-3.5.8-kspell2-no-ispell/kspell2/plugins/Makefile.am
--- kdelibs-3.5.8-kspell2-enchant/kspell2/plugins/Makefile.am 2007-12-21 20:39:46.000000000 +0100
+++ kdelibs-3.5.8-kspell2-no-ispell/kspell2/plugins/Makefile.am 2007-12-22 21:34:10.000000000 +0100
@@ -6,4 +6,4 @@
LIBHSPELLPLUGIN = hspell
endif
-SUBDIRS = enchant $(LIBASPELLPLUGIN) $(LIBHSPELLPLUGIN) ispell
+SUBDIRS = enchant $(LIBASPELLPLUGIN) $(LIBHSPELLPLUGIN)
diff -ur kdelibs-3.5.8-kspell2-enchant/kspell2/plugins/Makefile.in kdelibs-3.5.8-kspell2-no-ispell/kspell2/plugins/Makefile.in
--- kdelibs-3.5.8-kspell2-enchant/kspell2/plugins/Makefile.in 2007-12-21 20:40:22.000000000 +0100
+++ kdelibs-3.5.8-kspell2-no-ispell/kspell2/plugins/Makefile.in 2007-12-22 21:35:39.000000000 +0100
@@ -377,7 +377,7 @@
xdg_menudir = @xdg_menudir@
@include_aspell_plugin_TRUE@LIBASPELLPLUGIN = aspell
@include_hspell_plugin_TRUE@LIBHSPELLPLUGIN = hspell
-SUBDIRS = enchant $(LIBASPELLPLUGIN) $(LIBHSPELLPLUGIN) ispell
+SUBDIRS = enchant $(LIBASPELLPLUGIN) $(LIBHSPELLPLUGIN)
#>- all: all-recursive
#>+ 1
all: docs-am all-recursive

41
kdelibs-3.5.9-KDE3.patch Normal file
View File

@ -0,0 +1,41 @@
diff -up kdelibs-3.5.9/kio/kio/kservice.cpp.KDE3 kdelibs-3.5.9/kio/kio/kservice.cpp
--- kdelibs-3.5.9/kio/kio/kservice.cpp.KDE3 2008-02-13 03:41:06.000000000 -0600
+++ kdelibs-3.5.9/kio/kio/kservice.cpp 2008-05-15 15:36:13.000000000 -0500
@@ -701,7 +701,7 @@ bool KService::noDisplay() const {
{
QString aValue = it.data().toString();
QStringList aList = QStringList::split(';', aValue);
- if (!aList.contains("KDE"))
+ if (!(aList.contains("KDE") || aList.contains("KDE3")) )
return true;
}
@@ -710,7 +710,7 @@ bool KService::noDisplay() const {
{
QString aValue = it.data().toString();
QStringList aList = QStringList::split(';', aValue);
- if (aList.contains("KDE"))
+ if (aList.contains("KDE") || aList.contains("KDE3"))
return true;
}
diff -up kdelibs-3.5.9/kio/kio/kservicegroup.cpp.KDE3 kdelibs-3.5.9/kio/kio/kservicegroup.cpp
--- kdelibs-3.5.9/kio/kio/kservicegroup.cpp.KDE3 2007-05-14 02:52:35.000000000 -0500
+++ kdelibs-3.5.9/kio/kio/kservicegroup.cpp 2008-05-15 15:39:34.000000000 -0500
@@ -76,12 +76,14 @@ KServiceGroup::KServiceGroup( const QStr
QStringList tmpList;
if (config.hasKey("OnlyShowIn"))
{
- if (!config.readListEntry("OnlyShowIn", ';').contains("KDE"))
+ QStringList onlyShowInList = config.readListEntry("OnlyShowIn", ';');
+ if (! (onlyShowInList.contains("KDE") || onlyShowInList.contains("KDE3")))
d->m_bNoDisplay = true;
}
if (config.hasKey("NotShowIn"))
{
- if (config.readListEntry("NotShowIn", ';').contains("KDE"))
+ QStringList notShowInList = config.readListEntry("NotShowIn", ';');
+ if (notShowInList.contains("KDE") || notShowInList.contains("KDE3"))
d->m_bNoDisplay = true;
}

View File

@ -0,0 +1,18 @@
diff -ur kdelibs-orig/kdeprint/cups/cupsdconf2/cupsdconf.cpp kdelibs-3.5.9/kdeprint/cups/cupsdconf2/cupsdconf.cpp
--- kdelibs-orig/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2005-10-10 17:06:30.000000000 +0200
+++ kdelibs-3.5.9/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2008-02-26 15:03:47.000000000 +0100
@@ -71,10 +71,10 @@
//fontpath_ << (datadir_+"/fonts");
requestdir_ = findDir(QStringList("/var/spool/cups")
<< "/var/cups");
- serverbin_ = findDir(QStringList("/usr/lib" KDELIBSUFF "/cups")
- << "/usr/local/lib" KDELIBSUFF "/cups"
- << "/opt/lib" KDELIBSUFF "/cups"
- << "/opt/local/lib" KDELIBSUFF "/cups");
+ serverbin_ = findDir(QStringList("/usr/lib/cups")
+ << "/usr/local/lib/cups"
+ << "/opt/lib/cups"
+ << "/opt/local/lib/cups");
serverfiles_ = findDir(QStringList("/etc/cups")
<< "/usr/local/etc/cups");
tmpfiles_ = requestdir_+"/tmp";

View File

@ -0,0 +1,21 @@
diff -ur kdelibs-3.5.9/kdecore/kcrash.cpp kdelibs-3.5.9-drkonqi-kde4/kdecore/kcrash.cpp
--- kdelibs-3.5.9/kdecore/kcrash.cpp 2007-01-15 12:34:17.000000000 +0100
+++ kdelibs-3.5.9-drkonqi-kde4/kdecore/kcrash.cpp 2008-07-02 08:24:37.000000000 +0200
@@ -158,7 +158,7 @@
int i = 0;
// argument 0 has to be drkonqi
- argv[i++] = "drkonqi";
+ argv[i++] = "/usr/libexec/kde4/drkonqi";
#if defined Q_WS_X11
// start up on the correct display
@@ -325,7 +325,7 @@
_exit(253);
if(!geteuid() && setuid(getuid()) < 0)
_exit(253);
- execvp("drkonqi", const_cast< char** >( argv ));
+ execv("/usr/libexec/kde4/drkonqi", const_cast< char** >( argv ));
_exit(errno);
}
else

View File

@ -0,0 +1,15 @@
diff -ur kdelibs-3.5.9/kio/kio/kdirwatch.cpp kdelibs-3.5.9-fix-flock-redefinition/kio/kio/kdirwatch.cpp
--- kdelibs-3.5.9/kio/kio/kdirwatch.cpp 2006-07-22 10:16:37.000000000 +0200
+++ kdelibs-3.5.9-fix-flock-redefinition/kio/kio/kdirwatch.cpp 2008-08-23 00:59:17.000000000 +0200
@@ -71,7 +71,11 @@
#include <linux/types.h>
// Linux kernel headers are documented to not compile
#define _S390_BITOPS_H
+#define flock linux_flock
+#define flock64 linux_flock64
#include <linux/inotify.h>
+#undef flock
+#undef flock64
static inline int inotify_init (void)
{

View File

@ -1,16 +0,0 @@
diff -up kdelibs-4.10.0/solid/solid/managerbase.cpp.SOLID_UPNP kdelibs-4.10.0/solid/solid/managerbase.cpp
--- kdelibs-4.10.0/solid/solid/managerbase.cpp.SOLID_UPNP 2013-01-23 15:44:27.000000000 -0600
+++ kdelibs-4.10.0/solid/solid/managerbase.cpp 2013-01-31 07:48:05.058342162 -0600
@@ -98,7 +98,11 @@ void Solid::ManagerBasePrivate::loadBack
# endif
# if defined (HUPNP_FOUND)
- m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0);
+ bool solidUpnpEnabled
+ = QString::fromLocal8Bit(qgetenv("SOLID_UPNP")).toInt()==1;
+ if (solidUpnpEnabled) {
+ m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0);
+ }
# endif
}
}

View File

@ -1,11 +0,0 @@
diff -up kdelibs-4.10.0/kio/kio/kprotocolmanager.cpp.branding kdelibs-4.10.0/kio/kio/kprotocolmanager.cpp
--- kdelibs-4.10.0/kio/kio/kprotocolmanager.cpp.branding 2013-01-23 15:44:24.000000000 -0600
+++ kdelibs-4.10.0/kio/kio/kprotocolmanager.cpp 2013-01-31 07:41:09.248540500 -0600
@@ -743,6 +743,7 @@ QString KProtocolManager::defaultUserAge
d->useragent += QString::number(KDE::versionMajor());
d->useragent += QL1C('.');
d->useragent += QString::number(KDE::versionMinor());
+ d->useragent += QL1S(" Fedora/@@VERSION_RELEASE@@");
}
else
{

View File

@ -1,11 +0,0 @@
diff -up kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake.xxcmake kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake.xxcmake 2013-01-31 07:45:31.958256176 -0600
+++ kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake 2013-01-31 07:45:31.989255789 -0600
@@ -955,6 +955,7 @@ endif(WIN32)
# CMake generators if no build type is set.
if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo)
+ set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
endif (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)

View File

@ -1,38 +0,0 @@
diff -up kdelibs-4.10.0/kdeui/icons/kicontheme.cpp.kde149705 kdelibs-4.10.0/kdeui/icons/kicontheme.cpp
--- kdelibs-4.10.0/kdeui/icons/kicontheme.cpp.kde149705 2013-01-23 15:44:19.000000000 -0600
+++ kdelibs-4.10.0/kdeui/icons/kicontheme.cpp 2013-01-31 07:40:19.163166653 -0600
@@ -527,7 +527,7 @@ QString KIconTheme::current()
}
KConfigGroup cg(KGlobal::config(), "Icons");
- *_theme = cg.readEntry("Theme", defaultThemeName());
+ *_theme = cg.readEntry("Theme4", cg.readEntry("Theme", defaultThemeName()));
if ( *_theme == QLatin1String("hicolor") ) {
*_theme = defaultThemeName();
}
diff -up kdelibs-4.10.0/kdeui/kernel/kglobalsettings.cpp.kde149705 kdelibs-4.10.0/kdeui/kernel/kglobalsettings.cpp
--- kdelibs-4.10.0/kdeui/kernel/kglobalsettings.cpp.kde149705 2013-01-23 15:44:19.000000000 -0600
+++ kdelibs-4.10.0/kdeui/kernel/kglobalsettings.cpp 2013-01-31 07:40:19.163166653 -0600
@@ -942,7 +942,7 @@ void KGlobalSettings::Private::applyGUIS
if (kde_overrideStyle.isEmpty()) {
const QString &defaultStyle = KStyle::defaultStyle();
const KConfigGroup pConfig(KGlobal::config(), "General");
- const QString &styleStr = pConfig.readEntry("widgetStyle", defaultStyle);
+ const QString &styleStr = pConfig.readEntry("widgetStyle4", pConfig.readEntry("widgetStyle", defaultStyle));
if (styleStr.isEmpty() ||
// check whether we already use the correct style to return then
diff -up kdelibs-4.10.0/kutils/kdeglobals.kcfg.kde149705 kdelibs-4.10.0/kutils/kdeglobals.kcfg
--- kdelibs-4.10.0/kutils/kdeglobals.kcfg.kde149705 2013-01-23 15:44:26.000000000 -0600
+++ kdelibs-4.10.0/kutils/kdeglobals.kcfg 2013-01-31 07:40:19.164166641 -0600
@@ -24,6 +24,10 @@
<whatsthis>The name of the widget style, for example &quot;keramik&quot; or &quot;plastik&quot;. Without quotes.</whatsthis>
<default>keramik</default>
</entry>
+ <entry key="widgetStyle4" type="String" >
+ <label>Widget style to use for KDE 4</label>
+ <whatsthis>The name of the widget style, for example &quot;oxygen&quot;. Without quotes. Defaults to widgetStyle.</whatsthis>
+ </entry>
<entry key="windowBackground" type="String" />
<entry key="windowForeground" type="String" />
<entry key="UseSystemBell" type="Bool" >

View File

@ -1,107 +0,0 @@
diff -up kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake.no_rpath kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake.no_rpath 2013-01-31 07:47:15.581960702 -0600
+++ kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake 2013-01-31 07:47:15.583960677 -0600
@@ -1050,7 +1050,7 @@ if (UNIX)
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
endif (APPLE)
endif (UNIX)
diff -up kdelibs-4.10.0/kdewidgets/CMakeLists.txt.no_rpath kdelibs-4.10.0/kdewidgets/CMakeLists.txt
--- kdelibs-4.10.0/kdewidgets/CMakeLists.txt.no_rpath 2013-01-31 07:47:15.556961014 -0600
+++ kdelibs-4.10.0/kdewidgets/CMakeLists.txt 2013-01-31 07:47:15.583960677 -0600
@@ -46,14 +46,14 @@ if(QT_QTDESIGNER_FOUND)
kde4_add_plugin(kdewidgets ${kdewidgets_PART_SRCS})
target_link_libraries(kdewidgets ${KDE4_KIO_LIBS})
- if(NOT WIN32)
- set_target_properties(kdewidgets PROPERTIES
- INSTALL_RPATH_USE_LINK_PATH TRUE
- SKIP_BUILD_RPATH TRUE
- BUILD_WITH_INSTALL_RPATH TRUE
- INSTALL_RPATH ${LIB_INSTALL_DIR}
- )
- endif(NOT WIN32)
+# if(NOT WIN32)
+# set_target_properties(kdewidgets PROPERTIES
+# INSTALL_RPATH_USE_LINK_PATH TRUE
+# SKIP_BUILD_RPATH TRUE
+# BUILD_WITH_INSTALL_RPATH TRUE
+# INSTALL_RPATH ${LIB_INSTALL_DIR}
+# )
+# endif(NOT WIN32)
install(TARGETS kdewidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
@@ -76,14 +76,14 @@ if(QT_QTDESIGNER_FOUND)
kde4_add_plugin(kdedeprecated ${kdedeprecated_PART_SRCS})
target_link_libraries(kdedeprecated ${KDE4_KIO_LIBS})
- if(NOT WIN32)
- set_target_properties(kdedeprecated PROPERTIES
- INSTALL_RPATH_USE_LINK_PATH TRUE
- SKIP_BUILD_RPATH TRUE
- BUILD_WITH_INSTALL_RPATH TRUE
- INSTALL_RPATH ${LIB_INSTALL_DIR}
- )
- endif(NOT WIN32)
+# if(NOT WIN32)
+# set_target_properties(kdedeprecated PROPERTIES
+# INSTALL_RPATH_USE_LINK_PATH TRUE
+# SKIP_BUILD_RPATH TRUE
+# BUILD_WITH_INSTALL_RPATH TRUE
+# INSTALL_RPATH ${LIB_INSTALL_DIR}
+# )
+# endif(NOT WIN32)
install(TARGETS kdedeprecated DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
endif(NOT KDE_NO_DEPRECATED)
@@ -111,14 +111,14 @@ if(QT_QTDESIGNER_FOUND)
kde4_add_plugin(kdewebkitwidgets ${kdewebkitwidgets_PART_SRCS})
target_link_libraries(kdewebkitwidgets ${KDE4_KDEUI_LIBS} ${KDE4_KDEWEBKIT_LIBS} ${QT_QTWEBKIT_LIBRARY})
- if(NOT WIN32)
- set_target_properties(kdewebkitwidgets PROPERTIES
- INSTALL_RPATH_USE_LINK_PATH TRUE
- SKIP_BUILD_RPATH TRUE
- BUILD_WITH_INSTALL_RPATH TRUE
- INSTALL_RPATH ${LIB_INSTALL_DIR}
- )
- endif(NOT WIN32)
+# if(NOT WIN32)
+# set_target_properties(kdewebkitwidgets PROPERTIES
+# INSTALL_RPATH_USE_LINK_PATH TRUE
+# SKIP_BUILD_RPATH TRUE
+# BUILD_WITH_INSTALL_RPATH TRUE
+# INSTALL_RPATH ${LIB_INSTALL_DIR}
+# )
+# endif(NOT WIN32)
install(TARGETS kdewebkitwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
@@ -147,14 +147,14 @@ if(QT_QTDESIGNER_FOUND)
kde4_add_plugin(kde3supportwidgets ${kde3supportwidgets_PART_SRCS})
target_link_libraries(kde3supportwidgets ${KDE4_KDE3SUPPORT_LIBS} ${KDE4_KIO_LIBS})
- if(NOT WIN32)
- set_target_properties(kde3supportwidgets PROPERTIES
- INSTALL_RPATH_USE_LINK_PATH TRUE
- SKIP_BUILD_RPATH TRUE
- BUILD_WITH_INSTALL_RPATH TRUE
- INSTALL_RPATH ${LIB_INSTALL_DIR}
- )
- endif(NOT WIN32)
+# if(NOT WIN32)
+# set_target_properties(kde3supportwidgets PROPERTIES
+# INSTALL_RPATH_USE_LINK_PATH TRUE
+# SKIP_BUILD_RPATH TRUE
+# BUILD_WITH_INSTALL_RPATH TRUE
+# INSTALL_RPATH ${LIB_INSTALL_DIR}
+# )
+# endif(NOT WIN32)
install(TARGETS kde3supportwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
endif (QT_QT3SUPPORT_FOUND)

View File

@ -1,75 +0,0 @@
diff -up kdelibs-4.10.0/kded/applications.menu.Administration-menu kdelibs-4.10.0/kded/applications.menu
--- kdelibs-4.10.0/kded/applications.menu.Administration-menu 2013-01-23 15:44:19.000000000 -0600
+++ kdelibs-4.10.0/kded/applications.menu 2013-01-31 07:42:28.173553801 -0600
@@ -31,29 +31,31 @@
<Category>Core</Category>
<Not><Category>KDE</Category></Not>
</And>
+ <Category>X-Red-Hat-Base</Category>
<!-- Don't list SUSE's YaST in here -->
<Category>X-SuSE-YaST</Category>
- <Category>X-KDE-settings-hardware</Category>
- <Category>X-KDE-settings-accessibility</Category>
- <Category>X-KDE-settings-components</Category>
- <Category>X-KDE-settings-desktop</Category>
- <Category>X-KDE-settings-looknfeel</Category>
- <Category>X-KDE-settings-network</Category>
- <Category>X-KDE-settings-webbrowsing</Category>
- <Category>X-KDE-settings-peripherals</Category>
- <Category>X-KDE-settings-hardware</Category>
- <Category>X-KDE-settings-power</Category>
- <Category>X-KDE-settings-security</Category>
- <Category>X-KDE-settings-sound</Category>
- <Category>X-KDE-settings-system</Category>
- <Category>X-KDE-information</Category>
- <Filename>kde-kcm_knetworkconfmodule_ss.desktop</Filename>
- <Filename>kde-medianotifications.desktop</Filename>
- <Filename>kde-audioencoding.desktop</Filename>
</Not>
</Include>
</Menu>
<Menu>
+ <Name>System Settings</Name>
+ <Directory>SystemConfig.directory</Directory>
+ <Include>
+ <And>
+ <Category>System</Category>
+ <Category>Settings</Category>
+ <Not><Category>X-Red-Hat-ServerConfig</Category></Not>
+ </And>
+ </Include>
+ <Menu>
+ <Name>Server</Name>
+ <Directory>ServerConfig.directory</Directory>
+ <Include>
+ <Category>X-Red-Hat-ServerConfig</Category>
+ </Include>
+ </Menu>
+ </Menu>
+ <Menu>
<Name>Development</Name>
<Directory>kde-development.directory</Directory>
<Menu>
@@ -369,7 +371,11 @@
<Name>Settingsmenu</Name>
<Directory>kde-settingsmenu.directory</Directory>
<Include>
- <Category>Settings</Category>
+ <And>
+ <Category>Settings</Category>
+ <Not><Category>System</Category></Not>
+ <Not><Category>X-Red-Hat-ServerConfig</Category></Not>
+ </And>
</Include>
</Menu>
<Menu>
@@ -378,7 +384,9 @@
<Include>
<And>
<Category>System</Category>
+ <Not><Category>Settings</Category></Not>
<Not><Category>X-KDE-More</Category></Not>
+ <Not><Category>X-Red-Hat-ServerConfig</Category></Not>
</And>
</Include>
<Menu>

View File

@ -1,15 +0,0 @@
diff -up kdelibs-4.11.3/plasma/corona.cpp.than kdelibs-4.11.3/plasma/corona.cpp
--- kdelibs-4.11.3/plasma/corona.cpp.than 2013-12-02 16:46:19.542820822 +0100
+++ kdelibs-4.11.3/plasma/corona.cpp 2013-12-02 17:53:04.919830893 +0100
@@ -388,7 +388,11 @@ void Corona::addOffscreenWidget(QGraphic
}
d->offscreenWidgets[i] = widget;
+#if defined(arm) || defined(__arm__)
+ widget->setPos((-i - 1) * 2000, -2000);
+#else
widget->setPos((-i - 1) * QWIDGETSIZE_MAX, -QWIDGETSIZE_MAX);
+#endif
QGraphicsWidget *pw = widget->parentWidget();
widget->setParentItem(0);

View File

@ -1,54 +0,0 @@
diff -up kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp.libexecdir kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp
--- kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp.libexecdir 2013-06-28 12:03:40.883340083 -0500
+++ kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp 2013-11-01 15:44:00.780783690 -0500
@@ -1871,7 +1871,7 @@ void KStandardDirs::addKDEDefaults()
addResourceType(types_string + types_indices[index], 0, types_string + types_indices[index+1], true);
index+=2;
}
- addResourceType("exe", "lib", "kde4/libexec", true );
+ addResourceType("exe", 0, "libexec/kde4", true );
addResourceDir("home", QDir::homePath(), false);
diff -up kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp
--- kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir 2013-06-28 12:03:40.884340190 -0500
+++ kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp 2013-11-01 15:44:00.782783770 -0500
@@ -63,7 +63,7 @@ QString KStandardDirs::installPath(const
if (strcmp("lib", type) == 0)
return QFile::decodeName(LIB_INSTALL_DIR "/");
if (strcmp("libexec", type) == 0)
- return QFile::decodeName(KDEDIR "/lib" KDELIBSUFF "/kde4/libexec/");
+ return QFile::decodeName(LIBEXEC_INSTALL_DIR "/");
if (strcmp("locale", type) == 0)
return QFile::decodeName(LOCALE_INSTALL_DIR "/");
break;
diff -up kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp.libexecdir kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp
--- kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp.libexecdir 2013-11-01 10:45:56.409145508 -0500
+++ kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp 2013-11-01 15:50:20.473658147 -0500
@@ -96,8 +96,9 @@ void KStandarddirsTest::testFindResource
#define KIOSLAVE "bin/kioslave.exe"
#else
#define EXT ""
-#define KIOSLAVE "kde4/libexec/kioslave"
+#define KIOSLAVE "libexec/kde4/kioslave"
#endif
+
const QString bin = KGlobal::dirs()->findResource( "exe", "kioslave" EXT );
QVERIFY( !bin.isEmpty() );
QVERIFY( bin.endsWith( KIOSLAVE ) );
@@ -248,11 +249,13 @@ void KStandarddirsTest::testFindExe()
// findExe with a result in libexec
const QString lnusertemp = KGlobal::dirs()->findExe( "lnusertemp" );
QVERIFY( !lnusertemp.isEmpty() );
- QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY ) );
+ QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY )
+ || lnusertemp.endsWith( "libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY ) );
// locate("exe") with a result in libexec
const QString locateExeResult = KGlobal::dirs()->locate("exe", "lnusertemp");
- QVERIFY(locateExeResult.endsWith("lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY));
+ QVERIFY(locateExeResult.endsWith("lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY)
+ || locateExeResult.endsWith("libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY) );
// findExe with relative path
const QString pwd = QDir::currentPath();

View File

@ -1,25 +0,0 @@
diff -up kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp.kstandarddirs kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp
--- kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp.kstandarddirs 2013-11-30 21:24:01.637163800 -0600
+++ kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp 2013-11-30 21:35:27.166292739 -0600
@@ -1149,7 +1149,8 @@ QStringList KStandardDirs::KStandardDirs
pit != prefixList->end();
++pit)
{
- if((*pit).compare(installprefix, cs) != 0 || installdir.isEmpty())
+ // "exe" never has a custom install path, and the check triggers a false positive due to the libexecdir patch
+ if((*pit).compare(installprefix, cs) != 0 || installdir.isEmpty() || !strcmp("exe", type))
{
for (QStringList::ConstIterator it = dirs.constBegin();
it != dirs.constEnd(); ++it)
@@ -1163,6 +1164,11 @@ QStringList KStandardDirs::KStandardDirs
if ((local || testdir.exists()) && !candidates.contains(path, cs))
candidates.append(path);
}
+ // special-case "config" (forward porting Chris Cheney's
+ // hack) - we want /etc/kde after the local config paths
+ // and before the ones in /usr (including kde-profile)
+ if (local && !strcmp("config", type))
+ candidates.append(QLatin1String("/etc/kde/"));
local = false;
}
else

View File

@ -1,12 +0,0 @@
diff -up kdelibs-4.12.90/doc/common/Doxyfile.global.dot kdelibs-4.12.90/doc/common/Doxyfile.global
--- kdelibs-4.12.90/doc/common/Doxyfile.global.dot 2014-03-17 13:15:23.252517997 -0500
+++ kdelibs-4.12.90/doc/common/Doxyfile.global 2014-03-17 13:16:02.472100942 -0500
@@ -1360,7 +1360,7 @@ HIDE_UNDOC_RELATIONS = NO
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
-HAVE_DOT = YES
+HAVE_DOT = NO
# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
# The default size is 10pt.

View File

@ -1,17 +0,0 @@
diff -up kdelibs-4.13.2/kdecore/kernel/ktoolinvocation_x11.cpp.orig kdelibs-4.13.2/kdecore/kernel/ktoolinvocation_x11.cpp
--- kdelibs-4.13.2/kdecore/kernel/ktoolinvocation_x11.cpp.orig 2014-07-11 16:54:51.000000000 +0200
+++ kdelibs-4.13.2/kdecore/kernel/ktoolinvocation_x11.cpp 2014-07-11 16:57:31.000000000 +0200
@@ -412,11 +412,9 @@ void KToolInvocation::invokeTerminal(con
// directory before launching them, see below.
}
- QString error;
- if (self()->startServiceInternal("kdeinit_exec_with_workdir",
- cmd, cmdTokens, &error, 0, NULL, startup_id, false, workdir)) {
+ if (!QProcess::startDetached(cmd, cmdTokens)) {
KMessage::message(KMessage::Error,
- i18n("Could not launch the terminal client:\n\n%1", error),
+ i18n("Could not launch the terminal client"),
i18n("Could not launch Terminal Client"));
}
}

View File

@ -1,12 +0,0 @@
diff -up kdelibs-4.14.14/kded/vfolder_menu.cpp.vfolder_spam kdelibs-4.14.14/kded/vfolder_menu.cpp
--- kdelibs-4.14.14/kded/vfolder_menu.cpp.vfolder_spam 2015-11-04 16:29:10.000000000 -0600
+++ kdelibs-4.14.14/kded/vfolder_menu.cpp 2015-12-09 08:45:49.861988284 -0600
@@ -487,7 +487,7 @@ VFolderMenu::loadDoc()
int errorRow;
int errorCol;
if ( !doc.setContent( &file, &errorMsg, &errorRow, &errorCol ) ) {
- kWarning(7021) << "Parse error in " << m_docInfo.path << ", line " << errorRow << ", col " << errorCol << ": " << errorMsg;
+ kDebug(7021) << "Parse error in " << m_docInfo.path << ", line " << errorRow << ", col " << errorCol << ": " << errorMsg;
file.close();
return doc;
}

View File

@ -1,100 +0,0 @@
diff -up kdelibs-4.14.16/CMakeLists.txt.webkit kdelibs-4.14.16/CMakeLists.txt
--- kdelibs-4.14.16/CMakeLists.txt.webkit 2016-01-07 00:02:22.000000000 +0100
+++ kdelibs-4.14.16/CMakeLists.txt 2016-01-28 13:03:53.556194927 +0100
@@ -363,7 +363,6 @@ if(NOT WINCE)
add_subdirectory( plasma )
endif(NOT WINCE)
add_subdirectory( kunitconversion )
-add_subdirectory( kdewebkit )
add_subdirectory( includes )
add_subdirectory( experimental )
diff -up kdelibs-4.14.16/kdewidgets/CMakeLists.txt.webkit kdelibs-4.14.16/kdewidgets/CMakeLists.txt
--- kdelibs-4.14.16/kdewidgets/CMakeLists.txt.webkit 2016-01-28 13:03:53.527196020 +0100
+++ kdelibs-4.14.16/kdewidgets/CMakeLists.txt 2016-01-28 13:03:53.556194927 +0100
@@ -88,41 +88,6 @@ if(QT_QTDESIGNER_FOUND)
install(TARGETS kdedeprecated DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
endif(NOT KDE_NO_DEPRECATED)
-
- # kdewebkit widgets
- include_directories(
- ${CMAKE_SOURCE_DIR}/kdewebkit
- )
-
- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp
- COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kdewebkit.widgets
- MAIN_DEPENDENCY kdewebkit.widgets DEPENDS makekdewidgets4)
-
- set(kdewebkitwidgets_PART_SRCS
- classpreviews.cpp
- ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp
- )
-
- qt4_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.moc)
-
-
- qt4_add_resources(kdewebkitwidgets_PART_SRCS kdewebkitwidgets.qrc)
-
- kde4_add_plugin(kdewebkitwidgets ${kdewebkitwidgets_PART_SRCS})
-
- target_link_libraries(kdewebkitwidgets ${KDE4_KDEUI_LIBS} ${KDE4_KDEWEBKIT_LIBS} ${QT_QTWEBKIT_LIBRARY})
-# if(NOT WIN32)
-# set_target_properties(kdewebkitwidgets PROPERTIES
-# INSTALL_RPATH_USE_LINK_PATH TRUE
-# SKIP_BUILD_RPATH TRUE
-# BUILD_WITH_INSTALL_RPATH TRUE
-# INSTALL_RPATH ${LIB_INSTALL_DIR}
-# )
-# endif(NOT WIN32)
-
- install(TARGETS kdewebkitwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
-
-
if (QT_QT3SUPPORT_FOUND)
include_directories(
diff -up kdelibs-4.14.16/plasma/CMakeLists.txt.webkit kdelibs-4.14.16/plasma/CMakeLists.txt
--- kdelibs-4.14.16/plasma/CMakeLists.txt.webkit 2016-01-07 00:02:22.000000000 +0100
+++ kdelibs-4.14.16/plasma/CMakeLists.txt 2016-01-28 13:26:55.730137496 +0100
@@ -11,6 +11,7 @@ if(KDE_PLATFORM_FEATURE_BINARY_COMPATIBL
endif(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION)
set(PLASMA_NO_PACKAGEKIT TRUE)
+set(PLASMA_NO_KDEWEBKIT TRUE)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
${KDE4_KDECORE_INCLUDES}
@@ -121,7 +122,6 @@ set(plasma_LIB_SRCS
framesvg.cpp
plasma.cpp
popupapplet.cpp
- private/animablegraphicswebview.cpp
private/applethandle.cpp
private/associatedapplicationmanager.cpp
private/componentinstaller.cpp
@@ -211,7 +211,6 @@ set(plasma_LIB_SRCS
widgets/textbrowser.cpp
widgets/treeview.cpp
widgets/textedit.cpp
- widgets/webview.cpp
#Temporary QtJolie branch
private/qtjolie-branch/qtjolie/abstractadaptor.cpp
@@ -275,7 +274,7 @@ endif(PHONON_FOUND)
kde4_add_library(plasma ${LIBRARY_TYPE} ${plasma_LIB_SRCS})
-target_link_libraries(plasma LINK_PRIVATE ${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY}
+target_link_libraries(plasma LINK_PRIVATE ${QT_QTUITOOLS_LIBRARY}
${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTSQL_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY}
${KDE4_KDEUI_LIBS} ${KDE4_KDNSSD_LIBS} ${KDE4_THREADWEAVER_LIBS} ${PLASMA_EXTRA_LIBS})
@@ -415,7 +414,6 @@ install(FILES
widgets/textbrowser.h
widgets/treeview.h
widgets/textedit.h
- widgets/webview.h
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets COMPONENT Devel)
install(FILES

View File

@ -1,12 +0,0 @@
diff -up kdelibs-4.14.17/khtml/dom/dom2_traversal.h.gcc6 kdelibs-4.14.17/khtml/dom/dom2_traversal.h
--- kdelibs-4.14.17/khtml/dom/dom2_traversal.h.gcc6 2016-02-12 19:27:45.874888043 -0600
+++ kdelibs-4.14.17/khtml/dom/dom2_traversal.h 2016-02-12 19:26:11.777418711 -0600
@@ -214,7 +214,7 @@ public:
*
*/
enum ShowCode {
- SHOW_ALL = 0xFFFFFFFF,
+ SHOW_ALL = (int)0xFFFFFFFF,
SHOW_ELEMENT = 0x00000001,
SHOW_ATTRIBUTE = 0x00000002,
SHOW_TEXT = 0x00000004,

View File

@ -1,12 +0,0 @@
diff -up kdelibs-4.14.17/ConfigureChecks.cmake.gcc6 kdelibs-4.14.17/ConfigureChecks.cmake
--- kdelibs-4.14.17/ConfigureChecks.cmake.gcc6 2016-02-11 23:06:08.000000000 -0600
+++ kdelibs-4.14.17/ConfigureChecks.cmake 2016-02-12 19:14:07.707788177 -0600
@@ -244,7 +244,7 @@ check_prototype_exists(unsetenv stdlib.h
check_prototype_exists(usleep unistd.h HAVE_USLEEP_PROTO)
check_prototype_exists(initgroups "unistd.h;sys/types.h;unistd.h;grp.h" HAVE_INITGROUPS_PROTO)
check_prototype_exists(setreuid unistd.h HAVE_SETREUID_PROTO)
-check_prototype_exists(trunc math.h HAVE_TRUNC)
+check_prototype_exists(truncf math.h HAVE_TRUNC)
# check for existing datatypes

View File

@ -1,22 +0,0 @@
diff -up kdelibs-4.14.25/kdeui/util/kcrash.cpp.plasma_drkonqi kdelibs-4.14.25/kdeui/util/kcrash.cpp
--- kdelibs-4.14.25/kdeui/util/kcrash.cpp.plasma_drkonqi 2016-10-10 01:09:37.000000000 -0500
+++ kdelibs-4.14.25/kdeui/util/kcrash.cpp 2016-11-10 11:18:40.617754077 -0600
@@ -205,11 +205,18 @@ void KCrash::setDrKonqiEnabled(bool enab
{
s_launchDrKonqi = enabled;
if (s_launchDrKonqi && !s_drkonqiPath) {
+
+ s_drkonqiPath = qstrdup(QFile::encodeName(KStandardDirs::findExe("drkonqi", QFile::decodeName("/usr/libexec/drkonqi"))).constData());
+
+ if (!s_drkonqiPath) {
+
s_drkonqiPath = qstrdup(QFile::encodeName(KStandardDirs::findExe("drkonqi")).constData());
if (!s_drkonqiPath) {
kError() << "Could not find drkonqi";
s_launchDrKonqi = false;
}
+
+ }
}
//we need at least the default crash handler to launch drkonqi

View File

@ -1,999 +0,0 @@
From a015996bb55bbd63d94b227a2c82d0d97cd86ae8 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Wed, 25 Oct 2017 07:49:32 +0200
Subject: [PATCH] Make kssl compile against OpenSSL 1.1.0
OpenSSL 1.1.0 contains some source-incompatible changes, most notably
making most of the structures opaque and introducing new getter/setter
functions to modify the structures. This patch adds some of the newly
introduced functions to the KOpenSSL class and modifies the code to
call them. The implementation of those newly introduced methods
contains both OpenSSL < 1.1 compatible code (direct structure member
access) and calls to real functions resolved from OpenSSL>= 1.1
library. Which implementation is used is decided at compile time. Some
of the existing methods were renamed to match the OpenSSL 1.1 naming
and to avoid conflicts with backward-compatibility names provided by
OpenSSL 1.1.
KSSLCertificate::toNetscape() returns empty result when built against
OpenSSL 1.1 since I wasn't able to find a proper equivalent in OpenSSL
1.1 API (and there does not seem to be any).
(Backport of commit 9a990c69c606126bcd60cd7718462aec2a92460d from
kdelibs4support)
---
kio/kssl/kopenssl.cpp | 250 ++++++++++++++++++++++++++++++++++++++-----
kio/kssl/kopenssl.h | 80 ++++++++++++--
kio/kssl/kssl.cpp | 4 -
kio/kssl/ksslcallback.c | 6 +-
kio/kssl/ksslcertchain.cpp | 53 +++------
kio/kssl/ksslcertificate.cpp | 68 +++++++-----
6 files changed, 351 insertions(+), 110 deletions(-)
diff --git a/kio/kssl/kopenssl.cpp b/kio/kssl/kopenssl.cpp
index e3ca535b25..8f8b921159 100644
--- a/kio/kssl/kopenssl.cpp
+++ b/kio/kssl/kopenssl.cpp
@@ -75,18 +75,26 @@ static void (*K_X509_STORE_CTX_free) (X509_STORE_CTX *) = 0L;
static int (*K_X509_verify_cert) (X509_STORE_CTX *) = 0L;
static X509_STORE_CTX *(*K_X509_STORE_CTX_new) (void) = 0L;
static void (*K_X509_STORE_free) (X509_STORE *) = 0L;
+static void (*K_X509_STORE_set_verify_cb)(X509_STORE *, int (*)(int, X509_STORE_CTX *)) = 0L;
static X509_STORE *(*K_X509_STORE_new) (void) = 0L;
static void (*K_X509_free) (X509 *) = 0L;
static char *(*K_X509_NAME_oneline) (X509_NAME *,char *,int) = 0L;
static X509_NAME *(*K_X509_get_subject_name) (X509 *) = 0L;
static X509_NAME *(*K_X509_get_issuer_name) (X509 *) = 0L;
+static void (*K_X509_get0_signature)(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg, const X509 *x) = 0L;
static X509_LOOKUP *(*K_X509_STORE_add_lookup) (X509_STORE *, X509_LOOKUP_METHOD *) = 0L;
static X509_LOOKUP_METHOD *(*K_X509_LOOKUP_file)(void) = 0L;
static void (*K_X509_LOOKUP_free)(X509_LOOKUP *) = 0L;
static int (*K_X509_LOOKUP_ctrl)(X509_LOOKUP *, int, const char *, long, char **) = 0L;
static void (*K_X509_STORE_CTX_init)(X509_STORE_CTX *, X509_STORE *, X509 *, STACK_OF(X509) *) = 0L;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
static void (*K_CRYPTO_free) (void *) = 0L;
+#else
+static void (*K_CRYPTO_free)(void *, const char *, int) = 0L;
+#endif
static X509* (*K_X509_dup) (X509 *) = 0L;
+static ASN1_TIME *(*K_X509_getm_notBefore)(const X509 *) = 0L;
+static ASN1_TIME *(*K_X509_getm_notAfter)(const X509 *) = 0L;
static BIO_METHOD *(*K_BIO_s_mem) (void) = 0L;
static BIO* (*K_BIO_new) (BIO_METHOD *) = 0L;
static BIO* (*K_BIO_new_fp) (FILE *, int) = 0L;
@@ -118,13 +126,16 @@ static int (*K_SSL_get_error) (SSL*, int) = 0L;
static STACK_OF(X509)* (*K_SSL_get_peer_cert_chain) (SSL*) = 0L;
static void (*K_X509_STORE_CTX_set_chain) (X509_STORE_CTX *, STACK_OF(X509)*) = 0L;
static void (*K_X509_STORE_CTX_set_purpose) (X509_STORE_CTX *, int) = 0L;
-static void (*K_sk_free) (STACK*) = 0L;
-static int (*K_sk_num) (STACK*) = 0L;
-static char* (*K_sk_pop) (STACK*) = 0L;
-static char* (*K_sk_value) (STACK*, int) = 0L;
-static STACK* (*K_sk_new) (int (*)()) = 0L;
-static int (*K_sk_push) (STACK*, char*) = 0L;
-static STACK* (*K_sk_dup) (STACK *) = 0L;
+static X509 *(*K_X509_STORE_CTX_get_current_cert)(X509_STORE_CTX *) = 0L;
+static void (*K_X509_STORE_CTX_set_error)(X509_STORE_CTX *, int) = 0L;
+static int (*K_X509_STORE_CTX_get_error)(X509_STORE_CTX *) = 0L;
+static void (*K_OPENSSL_sk_free)(STACK *) = 0L;
+static int (*K_OPENSSL_sk_num)(STACK *) = 0L;
+static char *(*K_OPENSSL_sk_pop)(STACK *) = 0L;
+static char *(*K_OPENSSL_sk_value)(STACK *, int) = 0L;
+static STACK *(*K_OPENSSL_sk_new)(int (*)()) = 0L;
+static int (*K_OPENSSL_sk_push)(STACK *, char *) = 0L;
+static STACK *(*K_OPENSSL_sk_dup)(STACK *) = 0L;
static char * (*K_i2s_ASN1_INTEGER) (X509V3_EXT_METHOD *, ASN1_INTEGER *) =0L;
static ASN1_INTEGER * (*K_X509_get_serialNumber) (X509 *) = 0L;
static EVP_PKEY *(*K_X509_get_pubkey)(X509 *) = 0L;
@@ -164,6 +175,12 @@ static int (*K_X509_PURPOSE_get_id)(X509_PURPOSE *) = 0L;
static int (*K_X509_check_purpose)(X509*,int,int) = 0L;
static X509_PURPOSE* (*K_X509_PURPOSE_get0)(int) = 0L;
static int (*K_EVP_PKEY_assign)(EVP_PKEY*, int, char*) = 0L;
+static int (*K_EVP_PKEY_base_id)(EVP_PKEY *) = 0L;
+static RSA *(*K_EVP_PKEY_get0_RSA)(EVP_PKEY *) = 0L;
+static void (*K_RSA_get0_key)(RSA *, const BIGNUM **, const BIGNUM **, const BIGNUM **) = 0L;
+static DSA *(*K_EVP_PKEY_get0_DSA)(EVP_PKEY *) = 0L;
+static void (*K_DSA_get0_pqg)(DSA *, const BIGNUM **, const BIGNUM **, const BIGNUM **) = 0L;
+static void (*K_DSA_get0_key)(DSA *, const BIGNUM **, const BIGNUM **) = 0L;
static int (*K_X509_REQ_set_pubkey)(X509_REQ*, EVP_PKEY*) = 0L;
static RSA *(*K_RSA_generate_key)(int, unsigned long, void (*)(int,int,void *), void *) = 0L;
static int (*K_i2d_X509_REQ_fp)(FILE*, X509_REQ*) = 0L;
@@ -410,7 +427,11 @@ KOpenSSLProxy::KOpenSSLProxy()
K_RAND_load_file = (int (*)(const char *, long)) d->cryptoLib->resolveFunction("RAND_load_file");
K_RAND_file_name = (const char* (*)(char *, size_t)) d->cryptoLib->resolveFunction("RAND_file_name");
K_RAND_write_file = (int (*)(const char *)) d->cryptoLib->resolveFunction("RAND_write_file");
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
K_CRYPTO_free = (void (*) (void *)) d->cryptoLib->resolveFunction("CRYPTO_free");
+#else
+ K_CRYPTO_free = (void (*)(void *, const char *, int)) d->cryptoLib->resolveFunction("CRYPTO_free");
+#endif
K_d2i_X509 = (X509 * (*)(X509 **,unsigned char **,long)) d->cryptoLib->resolveFunction("d2i_X509");
K_i2d_X509 = (int (*)(X509 *,unsigned char **)) d->cryptoLib->resolveFunction("i2d_X509");
K_X509_cmp = (int (*)(X509 *, X509 *)) d->cryptoLib->resolveFunction("X509_cmp");
@@ -419,15 +440,19 @@ KOpenSSLProxy::KOpenSSLProxy()
K_X509_verify_cert = (int (*) (X509_STORE_CTX *)) d->cryptoLib->resolveFunction("X509_verify_cert");
K_X509_STORE_new = (X509_STORE * (*) (void)) d->cryptoLib->resolveFunction("X509_STORE_new");
K_X509_STORE_free = (void (*) (X509_STORE *)) d->cryptoLib->resolveFunction("X509_STORE_free");
+ K_X509_STORE_set_verify_cb = (void (*)(X509_STORE *, int (*)(int, X509_STORE_CTX *))) d->cryptoLib->resolveFunction("X509_STORE_set_verify_cb");
K_X509_NAME_oneline = (char * (*) (X509_NAME *,char *,int)) d->cryptoLib->resolveFunction("X509_NAME_oneline");
K_X509_get_subject_name = (X509_NAME * (*) (X509 *)) d->cryptoLib->resolveFunction("X509_get_subject_name");
K_X509_get_issuer_name = (X509_NAME * (*) (X509 *)) d->cryptoLib->resolveFunction("X509_get_issuer_name");
+ K_X509_get0_signature = (void (*)(const ASN1_BIT_STRING **, const X509_ALGOR **, const X509 *)) d->cryptoLib->resolveFunction("X509_get0_signature");
K_X509_STORE_add_lookup = (X509_LOOKUP *(*) (X509_STORE *, X509_LOOKUP_METHOD *)) d->cryptoLib->resolveFunction("X509_STORE_add_lookup");
K_X509_LOOKUP_file = (X509_LOOKUP_METHOD *(*)(void)) d->cryptoLib->resolveFunction("X509_LOOKUP_file");
K_X509_LOOKUP_free = (void (*)(X509_LOOKUP *)) d->cryptoLib->resolveFunction("X509_LOOKUP_free");
K_X509_LOOKUP_ctrl = (int (*)(X509_LOOKUP *, int, const char *, long, char **)) d->cryptoLib->resolveFunction("X509_LOOKUP_ctrl");
K_X509_STORE_CTX_init = (void (*)(X509_STORE_CTX *, X509_STORE *, X509 *, STACK_OF(X509) *)) d->cryptoLib->resolveFunction("X509_STORE_CTX_init");
K_X509_dup = (X509* (*)(X509*)) d->cryptoLib->resolveFunction("X509_dup");
+ K_X509_getm_notBefore = (ASN1_TIME *(*)(const X509 *)) d->cryptoLib->resolveFunction("X509_getm_notBefore");
+ K_X509_getm_notAfter = (ASN1_TIME *(*)(const X509 *)) d->cryptoLib->resolveFunction("X509_getm_notAfter");
K_BIO_s_mem = (BIO_METHOD *(*) (void)) d->cryptoLib->resolveFunction("BIO_s_mem");
K_BIO_new = (BIO* (*)(BIO_METHOD *)) d->cryptoLib->resolveFunction("BIO_new");
K_BIO_new_fp = (BIO* (*)(FILE*, int)) d->cryptoLib->resolveFunction("BIO_new_fp");
@@ -454,13 +479,26 @@ KOpenSSLProxy::KOpenSSLProxy()
K_X509_REQ_new = (X509_REQ* (*)()) d->cryptoLib->resolveFunction("X509_REQ_new");
K_X509_STORE_CTX_set_chain = (void (*)(X509_STORE_CTX *, STACK_OF(X509)*)) d->cryptoLib->resolveFunction("X509_STORE_CTX_set_chain");
K_X509_STORE_CTX_set_purpose = (void (*)(X509_STORE_CTX *, int)) d->cryptoLib->resolveFunction("X509_STORE_CTX_set_purpose");
- K_sk_free = (void (*) (STACK *)) d->cryptoLib->resolveFunction("sk_free");
- K_sk_num = (int (*) (STACK *)) d->cryptoLib->resolveFunction("sk_num");
- K_sk_pop = (char* (*) (STACK *)) d->cryptoLib->resolveFunction("sk_pop");
- K_sk_value = (char* (*) (STACK *, int)) d->cryptoLib->resolveFunction("sk_value");
- K_sk_new = (STACK* (*) (int (*)())) d->cryptoLib->resolveFunction("sk_new");
- K_sk_push = (int (*) (STACK*, char*)) d->cryptoLib->resolveFunction("sk_push");
- K_sk_dup = (STACK* (*) (STACK *)) d->cryptoLib->resolveFunction("sk_dup");
+ K_X509_STORE_CTX_get_current_cert = (X509 * (*)(X509_STORE_CTX *)) d->cryptoLib->resolveFunction("X509_STORE_CTX_get_current_cert");
+ K_X509_STORE_CTX_set_error = (void (*)(X509_STORE_CTX *, int)) d->cryptoLib->resolveFunction("X509_STORE_CTX_set_error");
+ K_X509_STORE_CTX_get_error = (int (*)(X509_STORE_CTX *)) d->cryptoLib->resolveFunction("X509_STORE_CTX_get_error");
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+ K_OPENSSL_sk_free = (void (*)(STACK *)) d->cryptoLib->resolveFunction("OPENSSL_sk_free");
+ K_OPENSSL_sk_num = (int (*)(STACK *)) d->cryptoLib->resolveFunction("OPENSSL_sk_num");
+ K_OPENSSL_sk_pop = (char *(*)(STACK *)) d->cryptoLib->resolveFunction("OPENSSL_sk_pop");
+ K_OPENSSL_sk_value = (char *(*)(STACK *, int)) d->cryptoLib->resolveFunction("OPENSSL_sk_value");
+ K_OPENSSL_sk_new = (STACK * (*)(int (*)())) d->cryptoLib->resolveFunction("OPENSSL_sk_new");
+ K_OPENSSL_sk_push = (int (*)(STACK *, char *)) d->cryptoLib->resolveFunction("OPENSSL_sk_push");
+ K_OPENSSL_sk_dup = (STACK * (*)(STACK *)) d->cryptoLib->resolveFunction("OPENSSL_sk_dup");
+#else
+ K_OPENSSL_sk_free = (void (*)(STACK *)) d->cryptoLib->resolveFunction("sk_free");
+ K_OPENSSL_sk_num = (int (*)(STACK *)) d->cryptoLib->resolveFunction("sk_num");
+ K_OPENSSL_sk_pop = (char *(*)(STACK *)) d->cryptoLib->resolveFunction("sk_pop");
+ K_OPENSSL_sk_value = (char *(*)(STACK *, int)) d->cryptoLib->resolveFunction("sk_value");
+ K_OPENSSL_sk_new = (STACK * (*)(int (*)())) d->cryptoLib->resolveFunction("sk_new");
+ K_OPENSSL_sk_push = (int (*)(STACK *, char *)) d->cryptoLib->resolveFunction("sk_push");
+ K_OPENSSL_sk_dup = (STACK * (*)(STACK *)) d->cryptoLib->resolveFunction("sk_dup");
+#endif
K_i2s_ASN1_INTEGER = (char *(*) (X509V3_EXT_METHOD *, ASN1_INTEGER *)) d->cryptoLib->resolveFunction("i2s_ASN1_INTEGER");
K_X509_get_serialNumber = (ASN1_INTEGER * (*) (X509 *)) d->cryptoLib->resolveFunction("X509_get_serialNumber");
K_X509_get_pubkey = (EVP_PKEY *(*)(X509 *)) d->cryptoLib->resolveFunction("X509_get_pubkey");
@@ -504,6 +542,12 @@ KOpenSSLProxy::KOpenSSLProxy()
K_X509_check_purpose = (int (*)(X509*,int,int)) d->cryptoLib->resolveFunction("X509_check_purpose");
K_X509_PURPOSE_get0 = (X509_PURPOSE *(*)(int)) d->cryptoLib->resolveFunction("X509_PURPOSE_get0");
K_EVP_PKEY_assign = (int (*)(EVP_PKEY*, int, char*)) d->cryptoLib->resolveFunction("EVP_PKEY_assign");
+ K_EVP_PKEY_base_id = (int (*)(EVP_PKEY *)) d->cryptoLib->resolveFunction("EVP_PKEY_base_id");
+ K_EVP_PKEY_get0_RSA = (RSA *(*)(EVP_PKEY *)) d->cryptoLib->resolveFunction("EVP_PKEY_get0_RSA");
+ K_RSA_get0_key = (void (*)(RSA *, const BIGNUM **, const BIGNUM **, const BIGNUM **)) d->cryptoLib->resolveFunction("ESA_get0_key");
+ K_EVP_PKEY_get0_DSA = (DSA *(*)(EVP_PKEY *)) d->cryptoLib->resolveFunction("EVP_PKEY_get0_DSA");
+ K_DSA_get0_pqg = (void (*)(DSA *, const BIGNUM **, const BIGNUM **, const BIGNUM **)) d->cryptoLib->resolveFunction("DSA_get0_pqg");
+ K_DSA_get0_key = (void (*)(DSA *, const BIGNUM **, const BIGNUM **)) d->cryptoLib->resolveFunction("DSA_get0_key");
K_X509_REQ_set_pubkey = (int (*)(X509_REQ*, EVP_PKEY*)) d->cryptoLib->resolveFunction("X509_REQ_set_pubkey");
K_RSA_generate_key = (RSA* (*)(int, unsigned long, void (*)(int,int,void *), void *)) d->cryptoLib->resolveFunction("RSA_generate_key");
K_i2d_X509_REQ_fp = (int (*)(FILE *, X509_REQ *)) d->cryptoLib->resolveFunction("i2d_X509_REQ_fp");
@@ -866,6 +910,16 @@ void KOpenSSLProxy::X509_STORE_free(X509_STORE *v) {
}
+void KOpenSSLProxy::X509_STORE_set_verify_cb(X509_STORE *store, int (*verify_cb)(int, X509_STORE_CTX *))
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ X509_STORE_set_verify_cb_func(store, verify_cb);
+#else
+ if (K_X509_STORE_set_verify_cb) (K_X509_STORE_set_verify_cb)(store, verify_cb);
+#endif
+}
+
+
X509_STORE_CTX *KOpenSSLProxy::X509_STORE_CTX_new(void) {
if (K_X509_STORE_CTX_new) return (K_X509_STORE_CTX_new)();
return 0L;
@@ -906,6 +960,17 @@ X509_NAME *KOpenSSLProxy::X509_get_issuer_name(X509 *a) {
}
+void KOpenSSLProxy::X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **algor, const X509 *x)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (psig) *psig = x->signature;
+ if (algor) *algor = x->sig_alg;
+#else
+ if (K_X509_get0_signature) return (K_X509_get0_signature)(psig, algor, x);
+#endif
+}
+
+
X509_LOOKUP *KOpenSSLProxy::X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m) {
if (K_X509_STORE_add_lookup) return (K_X509_STORE_add_lookup)(v,m);
return 0L;
@@ -934,9 +999,16 @@ void KOpenSSLProxy::X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store,
}
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
void KOpenSSLProxy::CRYPTO_free(void *x) {
if (K_CRYPTO_free) (K_CRYPTO_free)(x);
}
+#else
+void KOpenSSLProxy::CRYPTO_free(void *x, const char *file, int line)
+{
+ if (K_CRYPTO_free) K_CRYPTO_free(x, file, line);
+}
+#endif
X509 *KOpenSSLProxy::X509_dup(X509 *x509) {
@@ -945,6 +1017,28 @@ X509 *KOpenSSLProxy::X509_dup(X509 *x509) {
}
+ASN1_TIME *KOpenSSLProxy::X509_getm_notBefore(const X509 *x)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ return X509_get_notBefore(x);
+#else
+ if (K_X509_getm_notBefore) return (K_X509_getm_notBefore)(x);
+ else return 0L;
+#endif
+}
+
+
+ASN1_TIME *KOpenSSLProxy::X509_getm_notAfter(const X509 *x)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ return X509_get_notAfter(x);
+#else
+ if (K_X509_getm_notAfter) return (K_X509_getm_notAfter)(x);
+ else return 0L;
+#endif
+}
+
+
BIO *KOpenSSLProxy::BIO_new(BIO_METHOD *type) {
if (K_BIO_new) return (K_BIO_new)(type);
else return 0L;
@@ -1093,25 +1187,25 @@ STACK_OF(X509) *KOpenSSLProxy::SSL_get_peer_cert_chain(SSL *s) {
}
-void KOpenSSLProxy::sk_free(STACK *s) {
- if (K_sk_free) (K_sk_free)(s);
+void KOpenSSLProxy::OPENSSL_sk_free(STACK *s) {
+ if (K_OPENSSL_sk_free) (K_OPENSSL_sk_free)(s);
}
-int KOpenSSLProxy::sk_num(STACK *s) {
- if (K_sk_num) return (K_sk_num)(s);
+int KOpenSSLProxy::OPENSSL_sk_num(STACK *s) {
+ if (K_OPENSSL_sk_num) return (K_OPENSSL_sk_num)(s);
else return -1;
}
-char *KOpenSSLProxy::sk_pop(STACK *s) {
- if (K_sk_pop) return (K_sk_pop)(s);
+char *KOpenSSLProxy::OPENSSL_sk_pop(STACK *s) {
+ if (K_OPENSSL_sk_pop) return (K_OPENSSL_sk_pop)(s);
else return 0L;
}
-char *KOpenSSLProxy::sk_value(STACK *s, int n) {
- if (K_sk_value) return (K_sk_value)(s, n);
+char *KOpenSSLProxy::OPENSSL_sk_value(STACK *s, int n) {
+ if (K_OPENSSL_sk_value) return (K_OPENSSL_sk_value)(s, n);
else return 0L;
}
@@ -1125,20 +1219,52 @@ void KOpenSSLProxy::X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose) {
}
-STACK* KOpenSSLProxy::sk_dup(STACK *s) {
- if (K_sk_dup) return (K_sk_dup)(s);
+X509 *KOpenSSLProxy::X509_STORE_CTX_get_current_cert(X509_STORE_CTX *v)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ return v->current_cert;
+#else
+ if (K_X509_STORE_CTX_get_current_cert) return (K_X509_STORE_CTX_get_current_cert)(v);
+ else return 0L;
+#endif
+}
+
+
+void KOpenSSLProxy::X509_STORE_CTX_set_error(X509_STORE_CTX *v, int error)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ v->error = error;
+#else
+ if (K_X509_STORE_CTX_set_error) (K_X509_STORE_CTX_set_error)(v, error);
+#endif
+}
+
+
+int KOpenSSLProxy::X509_STORE_CTX_get_error(X509_STORE_CTX *v)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ return v->error;
+#else
+ if (K_X509_STORE_CTX_get_error) return (K_X509_STORE_CTX_get_error)(v);
+ else return 0;
+#endif
+}
+
+
+STACK* KOpenSSLProxy::OPENSSL_sk_dup(STACK *s) {
+ if (K_OPENSSL_sk_dup) return (K_OPENSSL_sk_dup)(s);
else return 0L;
}
-STACK* KOpenSSLProxy::sk_new(int (*cmp)()) {
- if (K_sk_new) return (K_sk_new)(cmp);
+STACK* KOpenSSLProxy::OPENSSL_sk_new(int (*cmp)()) {
+ if (K_OPENSSL_sk_new) return (K_OPENSSL_sk_new)(cmp);
else return 0L;
}
-int KOpenSSLProxy::sk_push(STACK* s, char* d) {
- if (K_sk_push) return (K_sk_push)(s,d);
+int KOpenSSLProxy::OPENSSL_sk_push(STACK* s, char* d) {
+ if (K_OPENSSL_sk_push) return (K_OPENSSL_sk_push)(s,d);
else return -1;
}
@@ -1423,6 +1549,74 @@ int KOpenSSLProxy::EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key) {
else return -1;
}
+
+int KOpenSSLProxy::EVP_PKEY_base_id(EVP_PKEY *pkey)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ return pkey->type;
+#else
+ if (K_EVP_PKEY_base_id) return (K_EVP_PKEY_base_id)(pkey);
+ else return 0;
+#endif
+}
+
+
+RSA *KOpenSSLProxy::EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ return pkey->pkey.rsa;
+#else
+ if (K_EVP_PKEY_get0_RSA) return (K_EVP_PKEY_get0_RSA)(pkey);
+ else return 0L;
+#endif
+}
+
+
+void KOpenSSLProxy::RSA_get0_key(RSA *rsa, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (n) *n = rsa->n;
+ if (e) *e = rsa->e;
+ if (d) *d = rsa->d;
+#else
+ if (K_RSA_get0_key) (K_RSA_get0_key)(rsa, n, e, d);
+#endif
+}
+
+
+DSA *KOpenSSLProxy::EVP_PKEY_get0_DSA(EVP_PKEY *pkey)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ return pkey->pkey.dsa;
+#else
+ if (K_EVP_PKEY_get0_DSA) return (K_EVP_PKEY_get0_DSA)(pkey);
+ else return 0L;
+#endif
+}
+
+
+void KOpenSSLProxy::DSA_get0_pqg(DSA *dsa, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (p) *p = dsa->p;
+ if (q) *q = dsa->q;
+ if (g) *g = dsa->g;
+#else
+ if (K_DSA_get0_pqg) (K_DSA_get0_pqg)(dsa, p, q, g);
+#endif
+}
+
+
+void KOpenSSLProxy::DSA_get0_key(DSA *dsa, const BIGNUM **pub_key, const BIGNUM **priv_key)
+{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (pub_key) *pub_key = dsa->pub_key;
+ if (priv_key) *priv_key = dsa->priv_key;
+#else
+ if (K_DSA_get0_key) (K_DSA_get0_key)(dsa, pub_key, priv_key);
+#endif
+}
+
int KOpenSSLProxy::X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey) {
if (K_X509_REQ_set_pubkey) return (K_X509_REQ_set_pubkey)(x, pkey);
diff --git a/kio/kssl/kopenssl.h b/kio/kssl/kopenssl.h
index ab05486336..ae3398fbef 100644
--- a/kio/kssl/kopenssl.h
+++ b/kio/kssl/kopenssl.h
@@ -297,6 +297,18 @@ public:
/*
+ * X509_getm_notBefore - get validity start
+ */
+ ASN1_TIME *X509_getm_notBefore(const X509 *x);
+
+
+ /*
+ * X509_getm_notAfter - get validity end
+ */
+ ASN1_TIME *X509_getm_notAfter(const X509 *x);
+
+
+ /*
* X509_STORE_CTX_new - create an X509 store context
*/
X509_STORE_CTX *X509_STORE_CTX_new(void);
@@ -313,11 +325,31 @@ public:
*/
void X509_STORE_CTX_set_chain(X509_STORE_CTX *v, STACK_OF(X509)* x);
+
/*
* X509_STORE_CTX_set_purpose - set the purpose of the certificate
*/
void X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose);
+
+ /*
+ * X509_STORE_CTX_get_current_cert - get the current certificate
+ */
+ X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *v);
+
+
+ /*
+ * X509_STORE_CTX_set_error - set certificate error
+ */
+ void X509_STORE_CTX_set_error(X509_STORE_CTX *v, int error);
+
+
+ /*
+ * X509_STORE_CTX_get_error - get certificate error
+ */
+ int X509_STORE_CTX_get_error(X509_STORE_CTX *v);
+
+
/*
* X509_verify_cert - verify the certificate
*/
@@ -337,6 +369,12 @@ public:
/*
+ * X509_STORE_set_verify_cb - set verify callback
+ */
+ void X509_STORE_set_verify_cb(X509_STORE *v, int (*verify_cb)(int, X509_STORE_CTX *));
+
+
+ /*
* X509_free - free up an X509
*/
void X509_free(X509 *v);
@@ -361,6 +399,12 @@ public:
/*
+ * X509_get0_signature - return X509 signature and signature algorithm
+ */
+ void X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg, const X509 *x);
+
+
+ /*
* X509_STORE_add_lookup - add a lookup file/method to an X509 store
*/
X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
@@ -393,7 +437,11 @@ public:
/*
* CRYPTO_free - free up an internally allocated object
*/
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
void CRYPTO_free(void *x);
+#else
+ void CRYPTO_free(void *x, const char *file, int line);
+#endif
/*
* BIO_new - create new BIO
@@ -505,53 +553,53 @@ public:
/*
* Pop off the stack
*/
- char *sk_pop(STACK *s);
+ char *OPENSSL_sk_pop(STACK *s);
/*
* Free the stack
*/
- void sk_free(STACK *s);
+ void OPENSSL_sk_free(STACK *s);
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
- void sk_free(void *s) { return sk_free(reinterpret_cast<STACK*>(s)); }
+ void OPENSSL_sk_free(void *s) { return OPENSSL_sk_free(reinterpret_cast<STACK*>(s)); }
#endif
/*
* Number of elements in the stack
*/
- int sk_num(STACK *s);
+ int OPENSSL_sk_num(STACK *s);
/*
* Value of element n in the stack
*/
- char *sk_value(STACK *s, int n);
+ char *OPENSSL_sk_value(STACK *s, int n);
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
- char *sk_value(void *s, int n) { return sk_value(reinterpret_cast<STACK*>(s), n); }
+ char *OPENSSL_sk_value(void *s, int n) { return OPENSSL_sk_value(reinterpret_cast<STACK*>(s), n); }
#endif
/*
* Create a new stack
*/
- STACK *sk_new(int (*cmp)());
+ STACK *OPENSSL_sk_new(int (*cmp)());
/*
* Add an element to the stack
*/
- int sk_push(STACK *s, char *d);
+ int OPENSSL_sk_push(STACK *s, char *d);
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
- int sk_push(void *s, void *d) { return sk_push(reinterpret_cast<STACK*>(s), reinterpret_cast<char*>(d)); }
+ int OPENSSL_sk_push(void *s, void *d) { return OPENSSL_sk_push(reinterpret_cast<STACK*>(s), reinterpret_cast<char*>(d)); }
#endif
/*
* Duplicate the stack
*/
- STACK *sk_dup(STACK *s);
+ STACK *OPENSSL_sk_dup(STACK *s);
/*
@@ -800,6 +848,18 @@ public:
/*
+ * Get key type
+ */
+ int EVP_PKEY_base_id(EVP_PKEY *pkey);
+
+ RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey);
+ void RSA_get0_key(RSA *rsa, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d);
+ DSA *EVP_PKEY_get0_DSA(EVP_PKEY *pkey);
+ void DSA_get0_pqg(DSA *dsa, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
+ void DSA_get0_key(DSA *dsa, const BIGNUM **pub_key, const BIGNUM **priv_key);
+
+
+ /*
* Generate a RSA key
*/
RSA *RSA_generate_key(int bits, unsigned long e, void
diff --git a/kio/kssl/kssl.cpp b/kio/kssl/kssl.cpp
index c36db55a42..faba1bb5ab 100644
--- a/kio/kssl/kssl.cpp
+++ b/kio/kssl/kssl.cpp
@@ -55,8 +55,6 @@
#warning "kssl.cc needs to be ported to QSslSocket"
#endif
-#define sk_dup d->kossl->sk_dup
-
class KSSLPrivate {
public:
KSSLPrivate() {
@@ -212,5 +210,3 @@ bool KSSL::doesSSLWork() {
return m_bSSLWorks;
}
-#undef sk_dup
-
diff --git a/kio/kssl/ksslcallback.c b/kio/kssl/ksslcallback.c
index 516b916337..38e94356e8 100644
--- a/kio/kssl/ksslcallback.c
+++ b/kio/kssl/ksslcallback.c
@@ -28,7 +28,7 @@ bool KSSL_X509CallBack_ca_found;
extern "C" {
static int X509Callback(int ok, X509_STORE_CTX *ctx) {
- kDebug(7029) << "X509Callback: ok = " << ok << " error = " << ctx->error << " depth = " << ctx->error_depth;
+ //kDebug(7029) << "X509Callback: ok = " << ok << " error = " << ctx->error << " depth = " << ctx->error_depth;
// Here is how this works. We put "ok = 1;" in any case that we
// don't consider to be an error. In that case, it will return OK
// for the certificate check as long as there are no other critical
@@ -39,14 +39,14 @@ static int X509Callback(int ok, X509_STORE_CTX *ctx) {
if (KSSL_X509CallBack_ca)
{
- if (KOSSL::self()->X509_cmp(ctx->current_cert, KSSL_X509CallBack_ca) != 0)
+ if (KOSSL::self()->X509_cmp(KOSSL::self()->X509_STORE_CTX_get_current_cert(ctx), KSSL_X509CallBack_ca) != 0)
return 1; // Ignore errors for this certificate
KSSL_X509CallBack_ca_found = true;
}
if (!ok) {
- switch (ctx->error) {
+ switch (KOSSL::self()->X509_STORE_CTX_get_error(ctx)) {
case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:
case X509_V_ERR_UNABLE_TO_GET_CRL:
case X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE:
diff --git a/kio/kssl/ksslcertchain.cpp b/kio/kssl/ksslcertchain.cpp
index 2be7995bf8..cdfab2b5ae 100644
--- a/kio/kssl/ksslcertchain.cpp
+++ b/kio/kssl/ksslcertchain.cpp
@@ -44,16 +44,6 @@
#include <kdebug.h>
#include <QtCore/QStringList>
-#ifdef KSSL_HAVE_SSL
-#define sk_new d->kossl->sk_new
-#define sk_push d->kossl->sk_push
-#define sk_free d->kossl->sk_free
-#define sk_value d->kossl->sk_value
-#define sk_num d->kossl->sk_num
-#define sk_dup d->kossl->sk_dup
-#define sk_pop d->kossl->sk_pop
-#endif
-
class KSSLCertChainPrivate {
public:
KSSLCertChainPrivate() {
@@ -79,11 +69,11 @@ KSSLCertChain::~KSSLCertChain() {
STACK_OF(X509) *x = (STACK_OF(X509) *)_chain;
for (;;) {
- X509* x5 = sk_X509_pop(x);
+ X509 *x5 = reinterpret_cast<X509*>(d->kossl->OPENSSL_sk_pop(reinterpret_cast<STACK *>(x)));
if (!x5) break;
d->kossl->X509_free(x5);
}
- sk_X509_free(x);
+ d->kossl->OPENSSL_sk_free(reinterpret_cast<STACK *>(x));
}
#endif
delete d;
@@ -106,7 +96,7 @@ KSSLCertChain *KSSLCertChain::replicate() {
int KSSLCertChain::depth() {
#ifdef KSSL_HAVE_SSL
- return sk_X509_num((STACK_OF(X509)*)_chain);
+ return d->kossl->OPENSSL_sk_num(static_cast<STACK *>(_chain));
#endif
return 0;
}
@@ -123,8 +113,8 @@ QList<KSSLCertificate *> KSSLCertChain::getChain() const {
#ifdef KSSL_HAVE_SSL
STACK_OF(X509) *x = (STACK_OF(X509) *)_chain;
- for (int i = 0; i < sk_X509_num(x); i++) {
- X509* x5 = sk_X509_value(x, i);
+ for (int i = 0; i < d->kossl->OPENSSL_sk_num(reinterpret_cast<STACK *>(x)); i++) {
+ X509 *x5 = reinterpret_cast<X509*>(d->kossl->OPENSSL_sk_value(reinterpret_cast<STACK *>(x), i));
if (!x5) continue;
KSSLCertificate *nc = new KSSLCertificate;
nc->setCert(d->kossl->X509_dup(x5));
@@ -142,18 +132,18 @@ void KSSLCertChain::setChain(const QList<KSSLCertificate *>& chain) {
STACK_OF(X509) *x = (STACK_OF(X509) *)_chain;
for (;;) {
- X509* x5 = sk_X509_pop(x);
+ X509 *x5 = reinterpret_cast<X509*>(d->kossl->OPENSSL_sk_pop(reinterpret_cast<STACK*>(x)));
if (!x5) break;
d->kossl->X509_free(x5);
}
- sk_X509_free(x);
- _chain = NULL;
+ d->kossl->OPENSSL_sk_free(reinterpret_cast<STACK*>(x));
+ _chain = NULL;
}
if (chain.isEmpty()) return;
- _chain = (void *)sk_new(NULL);
+ _chain = (void *)d->kossl->OPENSSL_sk_new(NULL);
foreach (KSSLCertificate *x, chain) {
- sk_X509_push((STACK_OF(X509)*)_chain, d->kossl->X509_dup(x->getCert()));
+ d->kossl->OPENSSL_sk_push(static_cast<STACK*>(_chain), d->kossl->X509_dup(x->getCert()));
}
#endif
@@ -166,23 +156,23 @@ if (_chain) {
STACK_OF(X509) *x = (STACK_OF(X509) *)_chain;
for (;;) {
- X509* x5 = sk_X509_pop(x);
+ X509 *x5 = reinterpret_cast<X509 *>(d->kossl->OPENSSL_sk_pop(reinterpret_cast<STACK *>(x)));
if (!x5) break;
d->kossl->X509_free(x5);
}
- sk_X509_free(x);
+ d->kossl->OPENSSL_sk_free(reinterpret_cast<STACK *>(x));
_chain = NULL;
}
if (!stack_of_x509) return;
-_chain = (void *)sk_new(NULL);
+_chain = (void *)d->kossl->OPENSSL_sk_new(NULL);
STACK_OF(X509) *x = (STACK_OF(X509) *)stack_of_x509;
- for (int i = 0; i < sk_X509_num(x); i++) {
- X509* x5 = sk_X509_value(x, i);
+ for (int i = 0; i < d->kossl->OPENSSL_sk_num(reinterpret_cast<STACK *>(x)); i++) {
+ X509 *x5 = reinterpret_cast<X509*>(d->kossl->OPENSSL_sk_value(reinterpret_cast<STACK *>(x), i));
if (!x5) continue;
- sk_X509_push((STACK_OF(X509)*)_chain,d->kossl->X509_dup(x5));
+ d->kossl->OPENSSL_sk_push(reinterpret_cast<STACK *>(_chain), d->kossl->X509_dup(x5));
}
#else
@@ -202,14 +192,3 @@ void KSSLCertChain::setCertChain(const QStringList& chain) {
setChain(cl);
}
-
-#ifdef KSSL_HAVE_SSL
-#undef sk_new
-#undef sk_push
-#undef sk_free
-#undef sk_value
-#undef sk_num
-#undef sk_dup
-#undef sk_pop
-#endif
-
diff --git a/kio/kssl/ksslcertificate.cpp b/kio/kssl/ksslcertificate.cpp
index 0d4fbd9cdc..c93d5c5b22 100644
--- a/kio/kssl/ksslcertificate.cpp
+++ b/kio/kssl/ksslcertificate.cpp
@@ -200,14 +200,17 @@ QString KSSLCertificate::getSignatureText() const {
char *s;
int n, i;
- i = d->kossl->OBJ_obj2nid(d->m_cert->sig_alg->algorithm);
+ const X509_ALGOR *algor;
+ const ASN1_BIT_STRING *sig;
+ d->kossl->X509_get0_signature(&sig, &algor, d->m_cert);
+ i = d->kossl->OBJ_obj2nid(algor->algorithm);
rc = i18n("Signature Algorithm: ");
rc += (i == NID_undef)?i18n("Unknown"):QString(d->kossl->OBJ_nid2ln(i));
rc += '\n';
rc += i18n("Signature Contents:");
- n = d->m_cert->signature->length;
- s = (char *)d->m_cert->signature->data;
+ n = sig->length;
+ s = (char *)sig->data;
for (i = 0; i < n; ++i) {
if (i%20 != 0) {
rc += ':';
@@ -233,9 +236,10 @@ void KSSLCertificate::getEmails(QStringList &to) const {
}
STACK *s = d->kossl->X509_get1_email(d->m_cert);
+ const int size = d->kossl->OPENSSL_sk_num(s);
if (s) {
- for(int n=0; n < s->num; n++) {
- to.append(d->kossl->sk_value(s,n));
+ for(int n=0; n < size; n++) {
+ to.append(d->kossl->OPENSSL_sk_value(s,n));
}
d->kossl->X509_email_free(s);
}
@@ -317,13 +321,13 @@ QString rc = "";
EVP_PKEY *pkey = d->kossl->X509_get_pubkey(d->m_cert);
if (pkey) {
#ifndef NO_RSA
- if (pkey->type == EVP_PKEY_RSA) {
+ if (d->kossl->EVP_PKEY_base_id(pkey) == EVP_PKEY_RSA) {
rc = "RSA";
}
else
#endif
#ifndef NO_DSA
- if (pkey->type == EVP_PKEY_DSA) {
+ if (d->kossl->EVP_PKEY_base_id(pkey) == EVP_PKEY_DSA) {
rc = "DSA";
}
else
@@ -347,8 +351,10 @@ char *x = NULL;
if (pkey) {
rc = i18nc("Unknown", "Unknown key algorithm");
#ifndef NO_RSA
- if (pkey->type == EVP_PKEY_RSA) {
- x = d->kossl->BN_bn2hex(pkey->pkey.rsa->n);
+ if (d->kossl->EVP_PKEY_base_id(pkey) == EVP_PKEY_RSA) {
+ const BIGNUM *n, *e;
+ d->kossl->RSA_get0_key(d->kossl->EVP_PKEY_get0_RSA(pkey), &n, &e, NULL);
+ x = d->kossl->BN_bn2hex(n);
rc = i18n("Key type: RSA (%1 bit)", strlen(x)*4) + '\n';
rc += i18n("Modulus: ");
@@ -364,15 +370,18 @@ char *x = NULL;
rc += '\n';
d->kossl->OPENSSL_free(x);
- x = d->kossl->BN_bn2hex(pkey->pkey.rsa->e);
+ x = d->kossl->BN_bn2hex(e);
rc += i18n("Exponent: 0x") + QLatin1String(x) +
QLatin1String("\n");
d->kossl->OPENSSL_free(x);
}
#endif
#ifndef NO_DSA
- if (pkey->type == EVP_PKEY_DSA) {
- x = d->kossl->BN_bn2hex(pkey->pkey.dsa->p);
+ if (d->kossl->EVP_PKEY_base_id(pkey) == EVP_PKEY_DSA) {
+ DSA *dsa = d->kossl->EVP_PKEY_get0_DSA(pkey);
+ const BIGNUM *p, *q, *g;
+ d->kossl->DSA_get0_pqg(dsa, &p, &q, &g);
+ x = d->kossl->BN_bn2hex(p);
// hack - this may not be always accurate
rc = i18n("Key type: DSA (%1 bit)", strlen(x)*4) + '\n';
@@ -389,7 +398,7 @@ char *x = NULL;
rc += '\n';
d->kossl->OPENSSL_free(x);
- x = d->kossl->BN_bn2hex(pkey->pkey.dsa->q);
+ x = d->kossl->BN_bn2hex(q);
rc += i18n("160 bit prime factor: ");
for (unsigned int i = 0; i < strlen(x); i++) {
if (i%40 != 0 && i%2 == 0) {
@@ -403,7 +412,7 @@ char *x = NULL;
rc += '\n';
d->kossl->OPENSSL_free(x);
- x = d->kossl->BN_bn2hex(pkey->pkey.dsa->g);
+ x = d->kossl->BN_bn2hex(g);
rc += QString("g: ");
for (unsigned int i = 0; i < strlen(x); i++) {
if (i%40 != 0 && i%2 == 0) {
@@ -417,7 +426,9 @@ char *x = NULL;
rc += '\n';
d->kossl->OPENSSL_free(x);
- x = d->kossl->BN_bn2hex(pkey->pkey.dsa->pub_key);
+ const BIGNUM *pub_key;
+ d->kossl->DSA_get0_key(dsa, &pub_key, NULL);
+ x = d->kossl->BN_bn2hex(pub_key);
rc += i18n("Public key: ");
for (unsigned int i = 0; i < strlen(x); i++) {
if (i%40 != 0 && i%2 == 0) {
@@ -682,7 +693,7 @@ KSSLCertificate::KSSLValidationList KSSLCertificate::validateVerbose(KSSLCertifi
return errors;
}
- X509_STORE_set_verify_cb_func(certStore, X509Callback);
+ d->kossl->X509_STORE_set_verify_cb(certStore, X509Callback);
certLookup = d->kossl->X509_STORE_add_lookup(certStore, d->kossl->X509_LOOKUP_file());
if (!certLookup) {
@@ -724,9 +735,9 @@ KSSLCertificate::KSSLValidationList KSSLCertificate::validateVerbose(KSSLCertifi
KSSL_X509CallBack_ca = ca ? ca->d->m_cert : 0;
KSSL_X509CallBack_ca_found = false;
- certStoreCTX->error = X509_V_OK;
+ d->kossl->X509_STORE_CTX_set_error(certStoreCTX, X509_V_OK);
rc = d->kossl->X509_verify_cert(certStoreCTX);
- int errcode = certStoreCTX->error;
+ int errcode = d->kossl->X509_STORE_CTX_get_error(certStoreCTX);
if (ca && !KSSL_X509CallBack_ca_found) {
ksslv = KSSLCertificate::Irrelevant;
} else {
@@ -739,9 +750,9 @@ KSSLCertificate::KSSLValidationList KSSLCertificate::validateVerbose(KSSLCertifi
d->kossl->X509_STORE_CTX_set_purpose(certStoreCTX,
X509_PURPOSE_NS_SSL_SERVER);
- certStoreCTX->error = X509_V_OK;
+ d->kossl->X509_STORE_CTX_set_error(certStoreCTX, X509_V_OK);
rc = d->kossl->X509_verify_cert(certStoreCTX);
- errcode = certStoreCTX->error;
+ errcode = d->kossl->X509_STORE_CTX_get_error(certStoreCTX);
ksslv = processError(errcode);
}
d->kossl->X509_STORE_CTX_free(certStoreCTX);
@@ -978,7 +989,7 @@ KSSLCertificate::KSSLValidation KSSLCertificate::processError(int ec) {
QString KSSLCertificate::getNotBefore() const {
#ifdef KSSL_HAVE_SSL
- return ASN1_UTCTIME_QString(X509_get_notBefore(d->m_cert));
+ return ASN1_UTCTIME_QString(d->kossl->X509_getm_notBefore(d->m_cert));
#else
return QString();
#endif
@@ -987,7 +998,7 @@ QString KSSLCertificate::getNotBefore() const {
QString KSSLCertificate::getNotAfter() const {
#ifdef KSSL_HAVE_SSL
- return ASN1_UTCTIME_QString(X509_get_notAfter(d->m_cert));
+ return ASN1_UTCTIME_QString(d->kossl->X509_getm_notAfter(d->m_cert));
#else
return QString();
#endif
@@ -996,7 +1007,7 @@ QString KSSLCertificate::getNotAfter() const {
QDateTime KSSLCertificate::getQDTNotBefore() const {
#ifdef KSSL_HAVE_SSL
- return ASN1_UTCTIME_QDateTime(X509_get_notBefore(d->m_cert), NULL);
+ return ASN1_UTCTIME_QDateTime(d->kossl->X509_getm_notBefore(d->m_cert), NULL);
#else
return QDateTime::currentDateTime();
#endif
@@ -1005,7 +1016,7 @@ QDateTime KSSLCertificate::getQDTNotBefore() const {
QDateTime KSSLCertificate::getQDTNotAfter() const {
#ifdef KSSL_HAVE_SSL
- return ASN1_UTCTIME_QDateTime(X509_get_notAfter(d->m_cert), NULL);
+ return ASN1_UTCTIME_QDateTime(d->kossl->X509_getm_notAfter(d->m_cert), NULL);
#else
return QDateTime::currentDateTime();
#endif
@@ -1210,7 +1221,8 @@ typedef struct NETSCAPE_X509_st
// what a piece of crap this is
QByteArray KSSLCertificate::toNetscape() {
QByteArray qba;
-#ifdef KSSL_HAVE_SSL
+ // no equivalent in OpenSSL 1.1.0 (?), so behave as if we had no OpenSSL at all
+#if KSSL_HAVE_SSL && OPENSSL_VERSION_NUMBER < 0x10100000L
NETSCAPE_X509 nx;
ASN1_OCTET_STRING hdr;
KTemporaryFile ktf;
@@ -1293,10 +1305,10 @@ QStringList KSSLCertificate::subjAltNames() const {
return rc;
}
- int cnt = d->kossl->sk_GENERAL_NAME_num(names);
+ int cnt = d->kossl->OPENSSL_sk_num((STACK *)names);
for (int i = 0; i < cnt; i++) {
- const GENERAL_NAME *val = (const GENERAL_NAME *)d->kossl->sk_value(names, i);
+ const GENERAL_NAME *val = (const GENERAL_NAME *)d->kossl->OPENSSL_sk_value(names, i);
if (val->type != GEN_DNS) {
continue;
}
@@ -1308,7 +1320,7 @@ QStringList KSSLCertificate::subjAltNames() const {
rc += s;
}
}
- d->kossl->sk_free(names);
+ d->kossl->OPENSSL_sk_free(names);
#endif
return rc;
}
--
2.13.6

View File

@ -1,27 +0,0 @@
diff -up kdelibs-4.14.9/sonnet/plugins/hunspell/kspell_hunspellclient.cpp.myspell_paths kdelibs-4.14.9/sonnet/plugins/hunspell/kspell_hunspellclient.cpp
--- kdelibs-4.14.9/sonnet/plugins/hunspell/kspell_hunspellclient.cpp.myspell_paths 2015-05-28 20:27:39.000000000 -0500
+++ kdelibs-4.14.9/sonnet/plugins/hunspell/kspell_hunspellclient.cpp 2015-06-04 17:59:10.824869047 -0500
@@ -52,7 +52,7 @@ SpellerPlugin *HunspellClient::createSpe
QStringList HunspellClient::languages() const
{
QStringList lst;
- QDir dir("/usr/share/myspell/dicts/");
+ QDir dir("/usr/share/myspell/");
if(dir.exists())
{
QStringList lstDic = dir.entryList(QStringList("*.dic"), QDir::Files );
diff -up kdelibs-4.14.9/sonnet/plugins/hunspell/kspell_hunspelldict.cpp.myspell_paths kdelibs-4.14.9/sonnet/plugins/hunspell/kspell_hunspelldict.cpp
--- kdelibs-4.14.9/sonnet/plugins/hunspell/kspell_hunspelldict.cpp.myspell_paths 2015-05-28 20:27:39.000000000 -0500
+++ kdelibs-4.14.9/sonnet/plugins/hunspell/kspell_hunspelldict.cpp 2015-06-04 17:58:49.055774079 -0500
@@ -31,9 +31,9 @@ HunspellDict::HunspellDict( const QStrin
: SpellerPlugin(lang), m_speller(0)
{
kDebug()<<" HunspellDict::HunspellDict( const QString& lang ):"<<lang;
- QString dic=QString("/usr/share/myspell/dicts/%1.dic").arg(lang);
+ QString dic=QString("/usr/share/myspell/%1.dic").arg(lang);
if (QFileInfo(dic).exists())
- m_speller = new Hunspell(QString("/usr/share/myspell/dicts/%1.aff").arg(lang).toUtf8().constData(),dic.toUtf8().constData());
+ m_speller = new Hunspell(QString("/usr/share/myspell/%1.aff").arg(lang).toUtf8().constData(),dic.toUtf8().constData());
else
m_speller = 0;
kDebug()<<" dddddd "<<m_speller;

View File

@ -1,12 +0,0 @@
diff -up kdelibs-4.3.90/doc/common/CMakeLists.txt.all-css kdelibs-4.3.90/doc/common/CMakeLists.txt
--- kdelibs-4.3.90/doc/common/CMakeLists.txt.all-css 2010-01-06 10:58:53.000000000 -0600
+++ kdelibs-4.3.90/doc/common/CMakeLists.txt 2010-01-06 13:33:35.920884922 -0600
@@ -8,6 +8,8 @@ install(FILES
kde-docs.css
doxygen.css
tabs.css
+ kde.css flat.css print.css
+ Doxyfile.global
header.html
footer.html
mainheader.html

View File

@ -1,60 +0,0 @@
diff -up kdelibs-4.7.0/knewstuff/knewstuff2/core/security.cpp.knewstuff2_gpg2 kdelibs-4.7.0/knewstuff/knewstuff2/core/security.cpp
--- kdelibs-4.7.0/knewstuff/knewstuff2/core/security.cpp.knewstuff2_gpg2 2011-05-20 15:24:54.000000000 -0500
+++ kdelibs-4.7.0/knewstuff/knewstuff2/core/security.cpp 2011-09-06 11:29:18.939251150 -0500
@@ -36,9 +36,20 @@
#include <kmessagebox.h>
#include <kpassworddialog.h>
#include <kprocess.h>
+#include <kstandarddirs.h>
using namespace KNS;
+static QString gpgExecutable()
+{
+ QString gpgExe = KStandardDirs::findExe( "gpg" );
+ if ( gpgExe.isEmpty() )
+ gpgExe = KStandardDirs::findExe( "gpg2" );
+ if ( gpgExe.isEmpty() )
+ return QLatin1String( "gpg" );
+ return gpgExe;
+}
+
Security::Security()
{
m_keysRead = false;
@@ -61,7 +72,7 @@ void Security::readKeys()
m_runMode = List;
m_keys.clear();
m_process = new KProcess();
- *m_process << "gpg"
+ *m_process << gpgExecutable()
<< "--no-secmem-warning"
<< "--no-tty"
<< "--with-colon"
@@ -87,7 +98,7 @@ void Security::readSecretKeys()
}
m_runMode = ListSecret;
m_process = new KProcess();
- *m_process << "gpg"
+ *m_process << gpgExecutable()
<< "--no-secmem-warning"
<< "--no-tty"
<< "--with-colon"
@@ -260,7 +271,7 @@ void Security::slotCheckValidity()
//verify the signature
m_process = new KProcess();
- *m_process << "gpg"
+ *m_process << gpgExecutable()
<< "--no-secmem-warning"
<< "--status-fd=2"
<< "--command-fd=0"
@@ -342,7 +353,7 @@ void Security::slotSignFile()
//verify the signature
m_process = new KProcess();
- *m_process << "gpg"
+ *m_process << gpgExecutable()
<< "--no-secmem-warning"
<< "--status-fd=2"
<< "--command-fd=0"

View File

@ -1,22 +0,0 @@
diff -up kdelibs-4.7.2/kjs/wtf/Platform.h.me kdelibs-4.7.2/kjs/wtf/Platform.h
--- kdelibs-4.7.2/kjs/wtf/Platform.h.me 2011-12-06 10:10:08.372356038 -0500
+++ kdelibs-4.7.2/kjs/wtf/Platform.h 2011-12-06 10:48:51.962357831 -0500
@@ -97,6 +97,18 @@
/* CPU */
+/* PLATFORM(S390X) - S390X 64-bit */
+#if defined(__s390x__)
+#define WTF_PLATFORM_S390X 1
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
+
+/* PLATFORM(S390) - S390 32-bit */
+#if defined(__s390__)
+#define WTF_PLATFORM_S390 1
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
+
/* PLATFORM(PPC) */
#if defined(__ppc__) \
|| defined(__PPC__) \

View File

@ -1,18 +0,0 @@
diff -up kdelibs-4.8.4/khtml/ecma/kjs_navigator.cpp.me kdelibs-4.8.4/khtml/ecma/kjs_navigator.cpp
--- kdelibs-4.8.4/khtml/ecma/kjs_navigator.cpp.me 2012-06-06 22:49:52.542044112 +0200
+++ kdelibs-4.8.4/khtml/ecma/kjs_navigator.cpp 2012-07-12 11:52:50.973049316 +0200
@@ -261,7 +261,13 @@ JSValue *Navigator::getValueProperty(Exe
case BrowserLanguage:
case Language:
case UserLanguage:
- return jsString(KGlobal::locale()->language());
+ {
+ QString l = KGlobal::locale()->language();
+ if ( l.contains(QLatin1Char('_')) )
+ return jsString(l.replace(QLatin1Char('_'), QLatin1Char('-')));
+ else
+ return jsString(l + QLatin1Char('-') + KGlobal::locale()->country().toUpper());
+ }
case UserAgent:
return jsString(userAgent);
case Platform:

View File

@ -1,12 +0,0 @@
diff -up kdelibs-4.9.3/kio/kssl/kcm/cacertificatespage.cpp.orig kdelibs-4.9.3/kio/kssl/kcm/cacertificatespage.cpp
--- kdelibs-4.9.3/kio/kssl/kcm/cacertificatespage.cpp.orig 2012-11-29 15:37:07.458858688 +0100
+++ kdelibs-4.9.3/kio/kssl/kcm/cacertificatespage.cpp 2012-11-29 13:52:05.243926802 +0100
@@ -291,7 +291,7 @@ void CaCertificatesPage::removeSelection
void CaCertificatesPage::addCertificateClicked()
{
QStringList certFiles
- = KFileDialog::getOpenFileNames(KUrl(), QLatin1String("application/x-x509-ca-cert"),
+ = KFileDialog::getOpenFileNames(KUrl(), QLatin1String("*.pem *.cert *.crt *.der"),
this, i18n("Pick Certificates"));
QList<QSslCertificate> certs;

View File

@ -1,253 +0,0 @@
diff -up kdelibs-4.9.95/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdelibs-4.9.95/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-4.9.95/cmake/modules/FindKDE4Internal.cmake.parallel_devel 2012-12-18 02:26:38.000000000 -0600
+++ kdelibs-4.9.95/cmake/modules/FindKDE4Internal.cmake 2012-12-19 15:21:37.963466601 -0600
@@ -38,10 +38,10 @@
# The following variables are defined for the various tools required to
# compile KDE software:
#
-# KDE4_KCFGC_EXECUTABLE - the kconfig_compiler executable
+# KDE4_KCFGC_EXECUTABLE - the kconfig_compiler4 executable
# KDE4_AUTOMOC_EXECUTABLE - the kde4automoc executable, deprecated, use AUTOMOC4_EXECUTABLE instead
# KDE4_MEINPROC_EXECUTABLE - the meinproc4 executable
-# KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets executable
+# KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets4 executable
#
# The following variables point to the location of the KDE libraries,
# but shouldn't be used directly:
@@ -191,7 +191,7 @@
# relative path to the file.
#
# KDE4_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets)
-# Use this to add widget description files for the makekdewidgets code generator
+# Use this to add widget description files for the makekdewidgets4 code generator
# for Qt Designer plugins.
#
# KDE4_CREATE_FINAL_FILES (filename_CXX filename_C file1 ... fileN)
@@ -509,31 +509,31 @@ if (_kdeBootStrapping)
set(LIBRARY_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH} )
# CMAKE_CFG_INTDIR is the output subdirectory created e.g. by XCode and MSVC
if (NOT WINCE)
- set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler )
+ set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 )
set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 )
else (NOT WINCE)
- set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler )
+ set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 )
set(KDE4_MEINPROC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/meinproc4 )
endif(NOT WINCE)
set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 )
set(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kauth-policy-gen )
- set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets )
+ set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets4 )
else (WIN32)
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib )
- set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler${CMAKE_EXECUTABLE_SUFFIX}.shell )
+ set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler4${CMAKE_EXECUTABLE_SUFFIX}.shell )
set(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kauth-policy-gen${CMAKE_EXECUTABLE_SUFFIX}.shell )
set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4${CMAKE_EXECUTABLE_SUFFIX}.shell )
- set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets${CMAKE_EXECUTABLE_SUFFIX}.shell )
+ set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets4${CMAKE_EXECUTABLE_SUFFIX}.shell )
endif (WIN32)
set(KDE4_LIB_DIR ${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR})
# when building kdelibs, make the kcfg rules depend on the binaries...
- set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler)
+ set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler4)
set( _KDE4_KAUTH_POLICY_GEN_EXECUTABLE_DEP kauth-policy-gen)
- set( _KDE4_MAKEKDEWIDGETS_DEP makekdewidgets)
+ set( _KDE4_MAKEKDEWIDGETS_DEP makekdewidgets4)
set( _KDE4_MEINPROC_EXECUTABLE_DEP meinproc4)
set(KDE4_INSTALLED_VERSION_OK TRUE)
@@ -582,7 +582,8 @@ else (_kdeBootStrapping)
# KDE4_LIB_INSTALL_DIR and KDE4_INCLUDE_INSTALL_DIR are set in KDELibsDependencies.cmake,
# use them to set the KDE4_LIB_DIR and KDE4_INCLUDE_DIR "public interface" variables
- set(KDE4_LIB_DIR ${KDE4_LIB_INSTALL_DIR} )
+ set(KDE4_LIB_DIR ${KDE4_LIB_INSTALL_DIR}/kde4/devel )
+ link_directories("${KDE4_LIB_DIR}")
set(KDE4_INCLUDE_DIR ${KDE4_INCLUDE_INSTALL_DIR} )
@@ -596,18 +597,18 @@ else (_kdeBootStrapping)
# get the build CONFIGURATIONS which were exported in this file, and use just the first
# of them to get the location of the installed executables
- get_target_property(_importedConfigurations ${KDE4_TARGET_PREFIX}kconfig_compiler IMPORTED_CONFIGURATIONS )
+ get_target_property(_importedConfigurations ${KDE4_TARGET_PREFIX}kconfig_compiler4 IMPORTED_CONFIGURATIONS )
list(GET _importedConfigurations 0 _firstConfig)
if(NOT WINCE)
- get_target_property(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler LOCATION_${_firstConfig})
+ get_target_property(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler4 LOCATION_${_firstConfig})
get_target_property(KDE4_MEINPROC_EXECUTABLE ${KDE4_TARGET_PREFIX}meinproc4 LOCATION_${_firstConfig})
else(NOT WINCE)
- set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler )
+ set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 )
set(KDE4_MEINPROC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/meinproc4 )
endif(NOT WINCE)
get_target_property(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${KDE4_TARGET_PREFIX}kauth-policy-gen LOCATION_${_firstConfig})
- get_target_property(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets LOCATION_${_firstConfig})
+ get_target_property(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets4 LOCATION_${_firstConfig})
# allow searching cmake modules in all given kde install locations (KDEDIRS based)
execute_process(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -934,7 +935,8 @@ set(CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_SY
set(CMAKE_SYSTEM_PROGRAM_PATH ${CMAKE_SYSTEM_PROGRAM_PATH}
"${KDE4_BIN_INSTALL_DIR}" )
-set(CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_SYSTEM_LIBRARY_PATH}
+set(CMAKE_SYSTEM_LIBRARY_PATH "${KDE4_LIB_INSTALL_DIR}/kde4/devel"
+ ${CMAKE_SYSTEM_LIBRARY_PATH}
"${KDE4_LIB_INSTALL_DIR}" )
# under Windows dlls may be also installed in bin/
@@ -1363,9 +1365,9 @@ macro (KDE4_PRINT_RESULTS)
endif (NOT _kdeBootStrapping)
if(KDE4_KCFGC_EXECUTABLE)
- message(STATUS "Found the KDE4 kconfig_compiler preprocessor: ${KDE4_KCFGC_EXECUTABLE}")
+ message(STATUS "Found the KDE4 kconfig_compiler4 preprocessor: ${KDE4_KCFGC_EXECUTABLE}")
else(KDE4_KCFGC_EXECUTABLE)
- message(STATUS "Didn't find the KDE4 kconfig_compiler preprocessor")
+ message(STATUS "Didn't find the KDE4 kconfig_compiler4 preprocessor")
endif(KDE4_KCFGC_EXECUTABLE)
if(AUTOMOC4_EXECUTABLE)
@@ -1384,7 +1386,7 @@ if (KDE4Internal_FIND_REQUIRED AND NOT K
endif (NOT KDE4_INSTALLED_VERSION_OK)
if (NOT KDE4_KCFGC_EXECUTABLE)
- message(FATAL_ERROR "ERROR: could not detect a usable kconfig_compiler")
+ message(FATAL_ERROR "ERROR: could not detect a usable kconfig_compiler4")
endif (NOT KDE4_KCFGC_EXECUTABLE)
message(FATAL_ERROR "ERROR: could NOT find everything required for compiling KDE 4 programs")
diff -up kdelibs-4.9.95/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel kdelibs-4.9.95/doc/api/doxygen-preprocess-kcfg.sh
--- kdelibs-4.9.95/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel 2012-12-17 08:14:16.000000000 -0600
+++ kdelibs-4.9.95/doc/api/doxygen-preprocess-kcfg.sh 2012-12-19 15:21:37.963466601 -0600
@@ -2,9 +2,9 @@
# Generates and cleans KConfigXT source code during a API dox build
#
-kcfg_compiler="`kde4-config --prefix`/bin/kconfig_compiler"
+kcfg_compiler="`kde4-config --prefix`/bin/kconfig_compiler4"
if test -z "$kcfg_compiler"; then
- echo "kconfig_compiler not found!"
+ echo "kconfig_compiler4 not found!"
exit 1;
fi
diff -up kdelibs-4.9.95/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel kdelibs-4.9.95/kdecore/kconfig_compiler/checkkcfg.pl
--- kdelibs-4.9.95/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel 2012-12-17 08:14:16.000000000 -0600
+++ kdelibs-4.9.95/kdecore/kconfig_compiler/checkkcfg.pl 2012-12-19 15:21:37.963466601 -0600
@@ -15,12 +15,12 @@ $file_cpp = "$filebase.cpp";
$kcfgc = $file . "c";
-$cmd = "./kconfig_compiler $file $kcfgc";
+$cmd = "./kconfig_compiler4 $file $kcfgc";
#print "CMD $cmd\n";
if ( system( $cmd ) != 0 ) {
- print STDERR "Unable to run kconfig_compiler\n";
+ print STDERR "Unable to run kconfig_compiler4\n";
exit 1;
}
diff -up kdelibs-4.9.95/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel kdelibs-4.9.95/kdecore/kconfig_compiler/CMakeLists.txt
--- kdelibs-4.9.95/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel 2012-12-17 08:14:16.000000000 -0600
+++ kdelibs-4.9.95/kdecore/kconfig_compiler/CMakeLists.txt 2012-12-19 15:21:37.964466589 -0600
@@ -11,13 +11,13 @@
set(kconfig_compiler_SRCS kconfig_compiler.cpp)
- kde4_add_executable(kconfig_compiler NOGUI ${kconfig_compiler_SRCS})
+ kde4_add_executable(kconfig_compiler4 NOGUI ${kconfig_compiler_SRCS})
- target_link_libraries(kconfig_compiler ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} )
+ target_link_libraries(kconfig_compiler4 ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} )
# "export" this target too so we can use the LOCATION property of the imported target in
# FindKDE4Internal.cmake to get the full path to the installed executable instead of using FIND_PROGRAM(), Alex
- install(TARGETS kconfig_compiler EXPORT kdelibsToolsTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
+ install(TARGETS kconfig_compiler4 EXPORT kdelibsToolsTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
# # export this binary for cross-compilation
diff -up kdelibs-4.9.95/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_devel kdelibs-4.9.95/kdeui/tests/kconfig_compiler/CMakeLists.txt
--- kdelibs-4.9.95/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_devel 2012-12-17 08:14:16.000000000 -0600
+++ kdelibs-4.9.95/kdeui/tests/kconfig_compiler/CMakeLists.txt 2012-12-19 15:21:37.964466589 -0600
@@ -9,7 +9,7 @@ macro(GEN_KCFG_TEST_SOURCE _testName _sr
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.cpp ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h
COMMAND ${KDE4_KCFGC_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfg ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfg ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc kconfig_compiler)
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfg ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc kconfig_compiler4)
# set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h PROPERTIES GENERATED TRUE)
qt4_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.moc )
diff -up kdelibs-4.9.95/kdewidgets/CMakeLists.txt.parallel_devel kdelibs-4.9.95/kdewidgets/CMakeLists.txt
--- kdelibs-4.9.95/kdewidgets/CMakeLists.txt.parallel_devel 2012-12-17 08:14:16.000000000 -0600
+++ kdelibs-4.9.95/kdewidgets/CMakeLists.txt 2012-12-19 15:21:37.964466589 -0600
@@ -14,24 +14,24 @@ include_directories(
set(makekdewidgets_SRCS makekdewidgets.cpp )
-kde4_add_executable(makekdewidgets NOGUI ${makekdewidgets_SRCS})
+kde4_add_executable(makekdewidgets4 NOGUI ${makekdewidgets_SRCS})
-target_link_libraries(makekdewidgets ${KDE4_KDECORE_LIBS} )
+target_link_libraries(makekdewidgets4 ${KDE4_KDECORE_LIBS} )
# "export" this target too so we can use the LOCATION property of the imported target in
# FindKDE4Internal.cmake to get the full path to the installed executable instead of using FIND_PROGRAM(), Alex
-install(TARGETS makekdewidgets EXPORT kdelibsToolsTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
+install(TARGETS makekdewidgets4 EXPORT kdelibsToolsTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
########### next target ###############
if(QT_QTDESIGNER_FOUND)
# get the name of the generated wrapper script (which sets up LD_LIBRARY_PATH)
- get_target_property(MAKEKDEWIDGETS_EXECUTABLE makekdewidgets WRAPPER_SCRIPT)
+ get_target_property(MAKEKDEWIDGETS_EXECUTABLE makekdewidgets4 WRAPPER_SCRIPT)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp
COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kde.widgets
- MAIN_DEPENDENCY kde.widgets DEPENDS makekdewidgets)
+ MAIN_DEPENDENCY kde.widgets DEPENDS makekdewidgets4)
set(kdewidgets_PART_SRCS
classpreviews.cpp
@@ -61,7 +61,7 @@ if(QT_QTDESIGNER_FOUND)
if(NOT KDE_NO_DEPRECATED)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdedeprecated.cpp
COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kdedeprecated.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kdedeprecated.widgets
- MAIN_DEPENDENCY kdedeprecated.widgets DEPENDS makekdewidgets)
+ MAIN_DEPENDENCY kdedeprecated.widgets DEPENDS makekdewidgets4)
set(kdedeprecated_PART_SRCS
classpreviews.cpp
@@ -96,7 +96,7 @@ if(QT_QTDESIGNER_FOUND)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp
COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kdewebkit.widgets
- MAIN_DEPENDENCY kdewebkit.widgets DEPENDS makekdewidgets)
+ MAIN_DEPENDENCY kdewebkit.widgets DEPENDS makekdewidgets4)
set(kdewebkitwidgets_PART_SRCS
classpreviews.cpp
@@ -132,7 +132,7 @@ if(QT_QTDESIGNER_FOUND)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kde3supportwidgets.cpp
COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kde3supportwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kde3support.widgets
- MAIN_DEPENDENCY kde3support.widgets DEPENDS makekdewidgets)
+ MAIN_DEPENDENCY kde3support.widgets DEPENDS makekdewidgets4)
set(kde3supportwidgets_PART_SRCS
classpreviews.cpp

View File

@ -1,12 +0,0 @@
diff -up kdelibs-4.10.0/kdeui/kernel/kapplication.cpp.me kdelibs-4.10.0/kdeui/kernel/kapplication.cpp
--- kdelibs-4.10.0/kdeui/kernel/kapplication.cpp.me 2013-02-28 15:24:41.194954639 +0100
+++ kdelibs-4.10.0/kdeui/kernel/kapplication.cpp 2013-02-28 15:40:44.546470405 +0100
@@ -853,7 +853,7 @@ void KApplicationPrivate::parseCommandLi
if (!nocrashhandler && args->isSet("crashhandler"))
{
// enable drkonqi
- KCrash::setDrKonqiEnabled(true);
+ KCrash::setDrKonqiEnabled(false);
}
// Always set the app name, can be usefuls for apps that call setEmergencySaveFunction or enable AutoRestart
KCrash::setApplicationName(args->appName());

View File

@ -1,44 +0,0 @@
diff --git a/solid/solid/backends/upower/upowerbattery.cpp b/solid/solid/backends/upower/upowerbattery.cpp
index 7b5bdc4..8bd9343 100644
--- a/solid/solid/backends/upower/upowerbattery.cpp
+++ b/solid/solid/backends/upower/upowerbattery.cpp
@@ -123,6 +123,7 @@ Solid::Battery::ChargeState Battery::chargeState() const
void Battery::slotChanged()
{
if (m_device) {
+ const QString udi = m_device.data()->udi();
const int old_chargePercent = m_chargePercent;
const int old_capacity = m_capacity;
const Solid::Battery::ChargeState old_chargeState = m_chargeState;
@@ -132,26 +133,26 @@ void Battery::slotChanged()
if (old_chargePercent != m_chargePercent)
{
- emit chargePercentChanged(m_chargePercent, m_device.data()->udi());
+ emit chargePercentChanged(m_chargePercent, udi);
}
if (old_capacity != m_capacity) {
- emit capacityChanged(m_capacity, m_device.data()->udi());
+ emit capacityChanged(m_capacity, udi);
}
if (old_chargeState != m_chargeState)
{
- emit chargeStateChanged(m_chargeState, m_device.data()->udi());
+ emit chargeStateChanged(m_chargeState, udi);
}
if (old_isPlugged != m_isPlugged)
{
- emit plugStateChanged(m_isPlugged, m_device.data()->udi());
+ emit plugStateChanged(m_isPlugged, udi);
}
if (old_isPowerSupply != m_isPowerSupply)
{
- emit powerSupplyStateChanged(m_isPowerSupply, m_device.data()->udi());
+ emit powerSupplyStateChanged(m_isPowerSupply, udi);
}
}
}

View File

@ -1,128 +0,0 @@
diff -up kdelibs-4.14.23/mimetypes/kde.xml.no_fake_mimetypes kdelibs-4.14.23/mimetypes/kde.xml
--- kdelibs-4.14.23/mimetypes/kde.xml.no_fake_mimetypes 2016-08-16 09:04:01.000000000 -0500
+++ kdelibs-4.14.23/mimetypes/kde.xml 2016-08-28 08:39:55.307237091 -0500
@@ -1786,124 +1786,6 @@ Notes:
<glob pattern="*.abc"/>
</mime-type>
- <!-- all/ fake mime types -->
- <mime-type type="all/all">
- <comment>all files and folders</comment>
- <comment xml:lang="ar">كل الملفات و المجلدات</comment>
- <comment xml:lang="ast">tolos ficheros y carpetes</comment>
- <comment xml:lang="bg">всички файлове и папки</comment>
- <comment xml:lang="bs">sve datoteke i direktorije</comment>
- <comment xml:lang="ca">tots els fitxers i carpetes</comment>
- <comment xml:lang="ca@valencia">tots els fitxers i carpetes</comment>
- <comment xml:lang="cs">všechny soubory a složky</comment>
- <comment xml:lang="da">alle filer og mapper</comment>
- <comment xml:lang="de">Alle Dateien und Ordner</comment>
- <comment xml:lang="el">Όλα τα αρχεία και οι φάκελοι</comment>
- <comment xml:lang="en_GB">all files and folders</comment>
- <comment xml:lang="es">todos los archivos y carpetas</comment>
- <comment xml:lang="et">kõik failid ja kataloogid</comment>
- <comment xml:lang="eu">fitxategi eta karpeta denak</comment>
- <comment xml:lang="fi">kaikki tiedostot ja kansiot</comment>
- <comment xml:lang="fr">Tous les fichiers et les dossiers</comment>
- <comment xml:lang="ga">gach comhad agus fillteán</comment>
- <comment xml:lang="gl">todos os ficheiros e cartafoles</comment>
- <comment xml:lang="hr">sve datoteke i direktoriji</comment>
- <comment xml:lang="hu">minden fájl és mappa</comment>
- <comment xml:lang="ia">omne files e dossieres</comment>
- <comment xml:lang="is">allar skrár og möppur</comment>
- <comment xml:lang="it">tutti i file e le cartelle</comment>
- <comment xml:lang="ja">すべてのファイルとフォルダ</comment>
- <comment xml:lang="kk">бүкіл файлдар мен қапшықтар</comment>
- <comment xml:lang="km">ឯកសារ និង​ថត​ទាំង​អស់</comment>
- <comment xml:lang="ko">모든 파일과 폴더</comment>
- <comment xml:lang="lt">visi failai ir aplankai</comment>
- <comment xml:lang="lv">visi faili un mapes</comment>
- <comment xml:lang="ml">എല്ലാ ഫയലും ഫോള്‍ഡറുകളും</comment>
- <comment xml:lang="mr">सर्व फाईल्स व संचयीका</comment>
- <comment xml:lang="nb">al.le filer og mapper</comment>
- <comment xml:lang="nds">All Dateien un Ornern</comment>
- <comment xml:lang="nl">alle bestanden en mappen</comment>
- <comment xml:lang="nn">alle filer og mapper</comment>
- <comment xml:lang="pa">ਸਭ ਫਾਇਲਾਂ ਅਤੇ ਫੋਲਡਰ</comment>
- <comment xml:lang="pl">wszystkie pliki i katalogi</comment>
- <comment xml:lang="pt">todos os ficheiros e pastas</comment>
- <comment xml:lang="pt_BR">todos os arquivos e pastas</comment>
- <comment xml:lang="ro">toate fișierele și dosarele</comment>
- <comment xml:lang="ru">все файлы и папки</comment>
- <comment xml:lang="se">buot fiillat ja máhpat</comment>
- <comment xml:lang="sk">všetky súbory a priečinky</comment>
- <comment xml:lang="sl">vse datoteke in mape</comment>
- <comment xml:lang="sr">сви фајлови и фасцикле</comment>
- <comment xml:lang="sr@ijekavian">сви фајлови и фасцикле</comment>
- <comment xml:lang="sr@ijekavianlatin">svi fajlovi i fascikle</comment>
- <comment xml:lang="sr@latin">svi fajlovi i fascikle</comment>
- <comment xml:lang="sv">alla filer och kataloger</comment>
- <comment xml:lang="th">แฟ้มและโฟลเดอร์ทั้งหมด</comment>
- <comment xml:lang="tr">tüm dosyalar ve dizinler</comment>
- <comment xml:lang="ug">ھەممە ھۆججەت ۋە قىسقۇچلار</comment>
- <comment xml:lang="uk">всі файли і теки</comment>
- <comment xml:lang="zh_CN">全部文件和文件夹</comment>
- <comment xml:lang="zh_TW">所有檔案與資料夾</comment>
- </mime-type>
- <mime-type type="all/allfiles">
- <comment>all files</comment>
- <comment xml:lang="ar">كل الملفات</comment>
- <comment xml:lang="ast">tolos ficheros</comment>
- <comment xml:lang="bg">всички файлове</comment>
- <comment xml:lang="bs">sve datoteke</comment>
- <comment xml:lang="ca">tots els fitxers</comment>
- <comment xml:lang="ca@valencia">tots els fitxers</comment>
- <comment xml:lang="cs">všechny soubory</comment>
- <comment xml:lang="da">alle filer</comment>
- <comment xml:lang="de">Alle Dateien</comment>
- <comment xml:lang="el">Όλα τα αρχεία</comment>
- <comment xml:lang="en_GB">all files</comment>
- <comment xml:lang="es">todos los archivos</comment>
- <comment xml:lang="et">kõik failid</comment>
- <comment xml:lang="eu">fitxategi denak</comment>
- <comment xml:lang="fi">kaikki tiedostot</comment>
- <comment xml:lang="fr">Tous les fichiers</comment>
- <comment xml:lang="ga">gach comhad</comment>
- <comment xml:lang="gl">todos os ficheiros</comment>
- <comment xml:lang="hr">sve datoteke</comment>
- <comment xml:lang="hu">minden fájl</comment>
- <comment xml:lang="ia">omne files</comment>
- <comment xml:lang="is">allar skrár</comment>
- <comment xml:lang="it">tutti i file</comment>
- <comment xml:lang="ja">すべてのファイル</comment>
- <comment xml:lang="kk">бүкіл файлдар</comment>
- <comment xml:lang="km">ឯកសារ​ទាំង​អស់</comment>
- <comment xml:lang="ko">모든 파일</comment>
- <comment xml:lang="lt">visi failai</comment>
- <comment xml:lang="lv">visi faili</comment>
- <comment xml:lang="ml">എല്ലാ ഫയലും</comment>
- <comment xml:lang="mr">सर्व फाईल्स</comment>
- <comment xml:lang="nb">alle filer</comment>
- <comment xml:lang="nds">All Dateien</comment>
- <comment xml:lang="nl">alle bestanden</comment>
- <comment xml:lang="nn">alle filer</comment>
- <comment xml:lang="pa">ਸਭ ਫਾਇਲਾਂ</comment>
- <comment xml:lang="pl">wszystkie pliki</comment>
- <comment xml:lang="pt">todos os ficheiros</comment>
- <comment xml:lang="pt_BR">todos os arquivos</comment>
- <comment xml:lang="ro">toate fișierele</comment>
- <comment xml:lang="ru">все файлы</comment>
- <comment xml:lang="se">buot fiillat</comment>
- <comment xml:lang="sk">všetky súbory</comment>
- <comment xml:lang="sl">vse datoteke</comment>
- <comment xml:lang="sr">сви фајлови</comment>
- <comment xml:lang="sr@ijekavian">сви фајлови</comment>
- <comment xml:lang="sr@ijekavianlatin">svi fajlovi</comment>
- <comment xml:lang="sr@latin">svi fajlovi</comment>
- <comment xml:lang="sv">alla filer</comment>
- <comment xml:lang="th">แฟ้มทั้งหมด</comment>
- <comment xml:lang="tr">tüm dosyalar</comment>
- <comment xml:lang="ug">ھەممە ھۆججەتلەر</comment>
- <comment xml:lang="uk">всі файли</comment>
- <comment xml:lang="zh_CN">全部文件</comment>
- <comment xml:lang="zh_TW">所有檔案</comment>
- </mime-type>
-
<mime-type type="application/vnd.kde.fontspackage">
<sub-class-of type="application/zip"/>
<comment>fonts package</comment>

View File

@ -1,42 +0,0 @@
diff -up kdelibs-4.9.90/solid/solid/backends/hal/halstorageaccess.cpp.solid_qt_no_debug_output kdelibs-4.9.90/solid/solid/backends/hal/halstorageaccess.cpp
--- kdelibs-4.9.90/solid/solid/backends/hal/halstorageaccess.cpp.solid_qt_no_debug_output 2012-11-14 09:58:29.000000000 -0600
+++ kdelibs-4.9.90/solid/solid/backends/hal/halstorageaccess.cpp 2012-12-12 16:18:25.817495558 -0600
@@ -340,9 +340,11 @@ bool StorageAccess::requestPassphrase()
returnService, m_lastReturnObject,
wId, appId);
m_passphraseRequested = reply.isValid();
+#ifndef QT_NO_DEBUG_STREAM
if (!m_passphraseRequested) {
qWarning() << "Failed to call the SolidUiServer, D-Bus said:" << reply.error();
}
+#endif
return m_passphraseRequested;
}
diff -up kdelibs-4.9.90/solid/solid/backends/udisks2/udisksstorageaccess.cpp.solid_qt_no_debug_output kdelibs-4.9.90/solid/solid/backends/udisks2/udisksstorageaccess.cpp
--- kdelibs-4.9.90/solid/solid/backends/udisks2/udisksstorageaccess.cpp.solid_qt_no_debug_output 2012-11-14 09:58:29.000000000 -0600
+++ kdelibs-4.9.90/solid/solid/backends/udisks2/udisksstorageaccess.cpp 2012-12-12 16:17:36.922022895 -0600
@@ -341,9 +341,10 @@ bool StorageAccess::requestPassphrase()
QDBusReply<void> reply = soliduiserver.call("showPassphraseDialog", udi, returnService,
m_lastReturnObject, wId, appId);
m_passphraseRequested = reply.isValid();
+#ifndef QT_NO_DEBUG_STREAM
if (!m_passphraseRequested)
qWarning() << "Failed to call the SolidUiServer, D-Bus said:" << reply.error();
-
+#endif
return m_passphraseRequested;
}
diff -up kdelibs-4.9.90/solid/solid/CMakeLists.txt.solid_qt_no_debug_output kdelibs-4.9.90/solid/solid/CMakeLists.txt
--- kdelibs-4.9.90/solid/solid/CMakeLists.txt.solid_qt_no_debug_output 2012-11-14 09:58:29.000000000 -0600
+++ kdelibs-4.9.90/solid/solid/CMakeLists.txt 2012-12-12 16:17:36.922022895 -0600
@@ -268,7 +268,7 @@ if(NOT WIN32 AND NOT APPLE)
if ( WITH_SOLID_UDISKS2 )
message(STATUS "Building Solid UDisks2 backend." )
- add_definitions(-DWITH_SOLID_UDISKS2)
+ add_definitions(-DWITH_SOLID_UDISKS2 -DQT_NO_DEBUG_OUTPUT)
set(solid_LIB_SRCS ${solid_LIB_SRCS}
backends/udisks2/udisksmanager.cpp
backends/udisks2/udisksdevice.cpp

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +0,0 @@
%kdelibs4 @@NAME@@
%kdelibs4_epoch @@EPOCH@@
%kdelibs4_version @@VERSION@@
%kdelibs4_evr @@EVR@@
%kdelibs4_requires \
Requires: kdelibs4%{?_isa} >= %{kdelibs4_version} \
%{nil}
%kde_applications_version @@KDE_APPLICATIONS_VERSION@@
%kde_runtime_requires \
Requires: kde-runtime >= %{kde_applications_version} \
%{nil}

View File

@ -1 +1 @@
SHA512 (kdelibs-4.14.38.tar.xz) = 54fbbb9b2f12a47d5aca21c152164ed03cc6a6619bf285e2b93c8e9260042ffd728ef41e1badb217e552de6478687cab5d3caf14af7b32da8caca3468d469e45
43cd55ed15f63b5738d620ef9f9fd568 kdelibs-3.5.10.tar.bz2