forked from KDE/kdelibs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
240 lines (172 loc) · 7.28 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
In this file:
* About kdelibs
* Licensing
* Common Mistakes
* Upgrading
* Compile Problems
* More Info
About kdelibs
-------------
This is version 4.14.38 of the KDE libraries.
This package includes libraries that are central to the development and
execution of a KDE program, as well as internationalization files for these
libraries, misc HTML documentation, theme modules, and regression tests.
Here is an alphabetical list of all individual libraries:
* dnssd
Interface to the DNS-SD (Zeroconf) support.
* interfaces
kparts interface for text editors, mediaplayer and scripting.
* kate
KPart for 'kate', the KDE advanced text editor.
* kde3support
This contains libraries that were part of KDE3, but have been replaced for KDE4
* kdecore
This is the core collection of KDE stuff. Non GUI classes reside here.
* kdesu
Library for password entering and handling
* kdeui
The main collection of misc. user interface classes (widgets).
* kdewidgets
For developers: KDE's custom widgets for Qt Designer.
* kfile
File management widgets and dialogs.
* khtml
The next generation HTML rendering widget designed for Konqueror. This
supports HTML 4, CSS, and a variety of other web related standards.
* kimgio
An all purpose extension to the qimgio class that supports various
image formats.
* kio
Classes that fetch and decode URLs are contained here. This library also
contains "ksycoca", the system configure cache containing services,
applications, servicetypes and mimetypes.
* kjs
Implementation of ECMAScript (aka JavaScript).
* kjsembed
A binding of the ECMAScript language to interface with KDE code.
* knewstuff
Allows applications to easily download data from the Internet to add
new information to the program. e.g. wallpapers, translation packs, etc.
* knotify
Handles user notifications, including sounds, logging to files, etc.
* kparts
KDE component model.
* kpty
Abstraction layer for virtual consoles.
* kross
Scripting host for KDE applications.
* kutils
Utility library for printing, chatting and more.
* nepomuk
Semantic information retrieval and tagging.
* plasma
Framework for the KDE 4 desktop shell and its widgets.
* security
Certificate management and cryptography settings.
* solid
Hardware detection.
* sonnet
Tools for natural language processing, including spell and grammar check.
Includes gui widgets.
* threadweaver
Job-based threading library.
And here is an alphabetical list of all further parts of kdelibs:
* cmake
Build system used throughout KDE.
* doc
Documentation in docbook format.
* includes
Qt-style include file wrappers.
* kconf_update
Auto-Updater for config files.
* kded
The KDE daemon checks for newly installed software, update files
or hostname changes and takes according actions.
* kdoctools
Contains mostly stuff convert XML docbook files via XSLT into
human readable stuff.
* kioslave
I/O subprocesses to handle files, ftp, http, gzip and bzip2 streams.
* kinit
Process launcher (kdeinit), used for fast KDE startup and to launch kioslaves.
* licenses
Contains texts of all used licenses.
* mimetypes
Database of mime types.
Licensing
---------
The libraries themselves have been covered (since Saturday, June 21st, 1997)
by the GNU Library General Public License (LGPL). Any other programs (such
as the examples) are covered by the GNU General Public License (GPL). All
the gory details for the LGPL reside in COPYING.LIB, and for the GPL reside
in COPYING.
Various parts are also covered under a BSD style license, detailed in
licenses/BSD. Currently, code covered under such license is copyrighted by
Theo de Raadt.
When in doubt, check the individual file, they should all have license
headings and other identifying marks.
Common Mistakes
---------------
If cmake claims Qt cannot be found, look at http://qt.nokia.com/
to get a copy of Qt, version 4.7 or newer. If you have peeked there
already, grab the SVN module qt-copy from anonsvn.kde.org, or a snapshot
thereof. Alternatively the svn module qt-copy from svn.kde.org can also be
used.
If you know you have the latest Qt 4, another reason it may not be able to
'find' QT is because it's finding an older version of QT 4. Make sure that
your PATH is set appropriately to find the qmake from the latest Qt 4, and
LD_LIBRARY_PATH is set to include $QTDIR/lib.
Debugging
---------
You can set the CMAKE_BUILD_TYPE option with the cmake, if you want to have
debug code in your KDE libs. If you have the space and can stand code that's
somewhat slower, this is worth it. The extra information really
helps debugging and thus bugfixing.
Available options as of CMake 2.4.5:
Release: Compile with no debugging information, optimization enabled.
Debug: Minimal optimization, with debugging information.
RelWithDebInfo: Normal optimization, with debugging information.
MinSizeRel: No debugging information, with optimization for smallest size.
e.g.: "cmake -DCMAKE_BUILD_TYPE=Debug" when running cmake.
See also the file DEBUG.
Upgrading
---------
KDE 4 applications will try to migrate settings from your KDE 3 installation
where possible.
Compile Problems
----------------
Often, KDE compile failures are not KDE's fault, but the fault of the
compiler or the distribution used. For that reason, please have a look at
http://techbase.kde.org/Getting_Started/Build/FAQ for known issues in certain
OS environments before reporting bugs or going mad :).
KDE 4 requires gcc 3.3 or better as the compiler.
How to report
-------------
Reporting bugs is an art. Why? Because bug reports can help and hinder.
They hinder if the developers are just buried in an avalanche of bug reports.
They spend hours figuring out which bug reports are valid and which aren't,
which bug reports are due to bugs or due to installation problems.
They can be of tremendous help to notify developers on problems in areas that
they normally don't have access (e.g. KDE on AIX) to.
So, here are some tips on bug reporting:
* Make sure your bug is due to KDE ... and not due to a packaging problem of
your OS distributor. For example, most "I can not install the XYZ.rpm"
problem are due to packaging issues. Refer with such questions to your
OS Distributor and his appropriate mailing list or bug reporting tool.
* The chance is high that your bug has already been dealt with ... so look
if there is a newer version of kdelibs available. Reporting bugs for
older, deprecated versions usually don't get that much attention :-)
* Also the chance is high that another one experienced your problem. The
bug report wizard at http://bugs.kde.org/ will help you to find out if your
problem has already been reported.
* KDE Applications come with a Report Bug option in the Help menu that will
fill out many of the forms on the bug reporter tool at http://bugs.kde.org/
for you.
* The best bug report for a project based on voluntary work is of course one
that comes with a patch that solves the problem. :-)
More info
---------
http://www.kde.org/ is a good starting point for info on KDE. If you are a
developer, you may also point your browser to http://techbase.kde.org/.
There is a plethora of mailing lists available, you can gain an overview
quickly by looking at http://lists.kde.org/.