Project

General

Profile

Wiki » History » Version 1

Felix Tiede, 11/25/2011 08:53 AM
Moved in from trac wiki

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
To stay up-to-date just change into `/path/to/cloned/kca` and 
18
type
19
<pre>
20
git pull
21
</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
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
41
After running cmake just call 'make' to compile kca.
42
43
Since this 
44
software is way from being usable, it should not be installed.
45
46
h2. Packaging
47
48
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
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
tar cfj "${CURRENT}/
66
kca-${VERSION}.tar.bz2" "kca-${VERSION}/"
67
cd "${PWD}"
68
rm -rf "${WORKDIR}"
69
</code></pre>