Project

General

Profile

Wiki » History » Revision 2

Revision 1 (Felix Tiede, 11/25/2011 08:53 AM) → Revision 2/4 (Felix Tiede, 11/25/2011 03:16 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> 
 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@'. '/usr/local'. There's also '@Debug@' 'Debug' available as build type. 

 After running cmake just call '@make@' '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@ git describe to set the application version information which is not available after using @git archive@. 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@ 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}. "${CURRENT}/ 
 tar.bz2" kca-${VERSION}.tar.bz2" "kca-${VERSION}/" 
 cd "${PWD}" 
 rm -rf "${WORKDIR}" 
 </code></pre>