Project

General

Profile

Wiki » History » Version 2

Felix Tiede, 11/25/2011 03:16 PM
Fixed inline code layout

1 1 Felix Tiede
h1. KDE Certification Authority
2
3
{{>toc}}
4
5
The KDE Certification Authority is an application using the KDE framework to manage X.509 Certification Authorities and signed certificates.
6
7
It is currently still in a very basic state, though it made some steps forward in the past few weeks. It still doesn't serve its main purpose as it is yet not possible to sign requests and other functions do not work from GUI. But some of the most of the background parts are already complete and working so there's just the GUI missing.
8
9
h2. Download
10
11
kCA is available via "git":http://git-scm.com at http://git.pc-tiede.de/kca.git. Use
12
<pre>
13
git clone http://git.pc-tiede.de/kca.git/ /path/to/cloned/kca
14
</pre>
15
to clone latest changes into a local directory.
16
17 2 Felix Tiede
To stay up-to-date just change into `/path/to/cloned/kca` and type
18 1 Felix Tiede
<pre>
19
git pull
20 2 Felix Tiede
r
21 1 Felix Tiede
</pre>
22
which will download all changes.
23
24
h2. Compiling
25
26
kCA needs following prerequisites to be compiled cleanly:
27
 * KDE 4.x and its prerequisites, including Qt and their respective development headers
28
 * SQLite 3 or later and its development headers
29
 * cmake
30
31
To compile kCA change into its directory and configure by using cmake:
32
<pre>
33
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DWITH_QtNetwork=ON -DWITH_SQLite3=ON
34
</pre>
35
If you want to use a detached build directory, create that directory, change into it and use the following cmake command:
36
<pre>
37
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DWITH_QtNetwork=ON -DWITH_SQLite3=ON /path/to/cloned/kca
38
</pre>
39 2 Felix Tiede
Change install prefix as needed, if you want to install kca somewhere different from '@/usr/local@'. There's also '@Debug@' available as build type.
40 1 Felix Tiede
41 2 Felix Tiede
After running cmake just call '@make@' to compile kca.
42 1 Felix Tiede
43 2 Felix Tiede
Since this software is way from 
44
being usable, it should not be installed.
45 1 Felix Tiede
46
h2. Packaging
47
48 2 Felix Tiede
kCA build system uses @git describe@ to set the application version information which is not available after using @git archive@. Because of this the build system is able to read the version from a file which must be created during packaging process. To make things worse, @git describe@ does not work correctly if the checked out version mismatches the version of packaging.
49 1 Felix Tiede
50
To help with packaging the following sh-script can be used.
51
<pre><code>#!sh
52
#!/bin/sh
53
# VERSION must be provided without the v of the tagname
54
VERSION="$1"
55
WORKDIR="`mktemp -dt kca_packaging.XXXXXX`"
56
CURRENT="`pwd`"
57
58
git clone http://git.pc-tiede.de/kca.git "${WORKDIR}/kca"
59
60
cd "${WORKDIR}/kca"
61
git archive --format=tar --prefix="kca-${VERSION}/" "v${VERSION}" | (cd "${WORKDIR}" && tar xf -)
62
echo "v${VERSION}" > "${WORKDIR}/kca-${VERSION}/VERSION"
63
cd "${WORKDIR}"
64
65 2 Felix Tiede
tar cfj "${CURRENT}/kca-${VERSION}.
66
tar.bz2" "kca-${VERSION}/"
67 1 Felix Tiede
cd "${PWD}"
68
rm -rf "${WORKDIR}"
69
</code></pre>