Project

General

Profile

Wiki » History » Revision 3

Revision 2 (Felix Tiede, 11/25/2011 03:16 PM) → Revision 3/4 (Felix Tiede, 12/11/2012 08:03 PM)

h1. KDE Certification Authority 

 {{>toc}} 

 The KDE Certification Authority is an application using the KDE framework to manage X.509 Certification Authorities and signed certificates. 

 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. 

 h2. Download 

 kCA is available via "git":http://git-scm.com at http://git.pc-tiede.de/kca.git. Use 
 <pre> 
 git clone http://git.pc-tiede.de/kca.git/ /path/to/cloned/kca 
 </pre> 
 to clone latest changes into a local directory. 

 To stay up-to-date just change into `/path/to/cloned/kca` and type 
 <pre> 
 git pull 
 
 r 
 </pre> 
 nwhich which will download all changes. 

 h2. Compiling 

 kCA needs following prerequisites to be compiled cleanly: 
  * KDE 4.x and its prerequisites, including Qt and their respective development headers 
  * SQLite 3 or later and its development headers 
  * cmake 

 To compile kCA change into its directory and configure by using cmake: 
 <pre> 
 cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DWITH_QtNetwork=ON -DWITH_SQLite3=ON 
 </pre> 
 If you want to use a detached build directory, create that directory, change into it and use the following cmake command: 
 <pre> 
 cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DWITH_QtNetwork=ON -DWITH_SQLite3=ON /path/to/cloned/kca 
 </pre> 
 Change install prefix as needed, if you want to install kca somewhere different from '@/usr/local@'. There's also '@Debug@' available as build type. 

 After running cmake just call '@make@' to compile kca. 

 Since this software is way from  
 being  
 usable, it should not be installed. 

 h2. Packaging 

 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. 

 To help with packaging the following sh-script can be used. 
 <pre><code>#!sh 
 #!/bin/sh 
 # VERSION must be provided without the v of the tagname 
 VERSION="$1" 
 WORKDIR="`mktemp -dt kca_packaging.XXXXXX`" 
 CURRENT="`pwd`" 

 git clone http://git.pc-tiede.de/kca.git "${WORKDIR}/kca" 

 cd "${WORKDIR}/kca" 
 git archive --format=tar --prefix="kca-${VERSION}/" "v${VERSION}" | (cd "${WORKDIR}" && tar xf -) 
 echo "v${VERSION}" > "${WORKDIR}/kca-${VERSION}/VERSION" 
 cd "${WORKDIR}" 

 tar cfj "${CURRENT}/kca-${VERSION}.tar.bz2" "${CURRENT}/kca-${VERSION}. 
 tar.bz2" "kca-${VERSION}/" 
 cd "${PWD}" 
 rm -rf "${WORKDIR}" 
 </code></pre>