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
|
----------------------
KDissert development :
----------------------
If you are reading this file, it means that you
either have too much time on your arms, or that you are
actually interested in improving kdissert :)
Most of the features that are being implemented are
listed in the ROADMAP file. Volunteers are encouraged to
look carefully into it to avoid duplicating efforts,
code or features.
If you can spot a usability issue or a misfeature,
first make sure that it is not already listed there,
and contact the author (-> me <-) to report the issues
encountered and the solution(s) suggested.
Patches are always welcome, and are very likely to
get integrated. It is also possible to discuss the
features that are marked as not feasible or useless
(refer to the end of the ROADMAP file).
------------------------
Source code repository :
------------------------
WARNING : the repository cannot be held up-to-date currently
kdissert uses arch (www.gnuarch.org) for managing the files,
it sounds a bit complicated at a glance, but it is much more
powerful than cvs or subversion, and allows to work without
a central repository (usb key, cds - tla is only a few Kb big).
Here is a quick summary - replace myname@myisp.com) :
## Setup a local repository with a copy of kdissert
# 1. Make your own repository
tla my-id 'TOM JON <myname@myisp.com>'
tla make-archive myname@myisp.com--2005 ~/code/archive
tla my-default-archive myname@myisp.com--2005
# 2. Get the official kdissert tree
tla register-archive http://freehackers.org/~tnagy/kdissert/2005/
tla archive-setup myname@myisp.com--2005/kdissert--main--0.4
tla tag tnagytwofivesix@yahoo.fr--2005/kdissert--main--0.4 kdissert--main--0.4
## Work on kdissert (and commit in your own local repository)
tla get myname@myisp.com--2005/kdissert--main--0.4 kdissert
cd kdissert # make some changes in that directory
vi `tla make-log` # write a quick changelog
tla commit; # commit to your own repository
## Merge the changes from kdissert official repository (star merge is 'cvs up' on steroids)
tla star-merge tnagytwofivesix@yahoo.fr--2005/kdissert--main--0.4
## Mirror your changes on a public location
tla make-archive --listing --mirror myname@myisp.com--2005 sftp://myisp.com/home/me/public_html/archive
tla archive-mirror myname@myisp.com--2005
-- Detailed instructions --
Get the development version :
-----------------------------
get the archive
* tla register-archive http://freehackers.org/~tnagy/kdissert/2005/
* tla get tnagytwofivesix@yahoo.fr--2005/kdissert--main--0.4
updating the local copy
* tla update
to see what is in the archive
* tla abrowse get tnagytwofivesix@yahoo.fr--2005/kdissert--main--0.4
Participate to the development :
--------------------------------
set one's identity with tla
* tla my-id 'TOM JON <myname@myisp.com>'
set one's archive path
* tla make-archive myname@myisp.com--2005 ~/code/archive
get the kdissert archive
* tla register-archive http://freehackers.org/~tnagy/kdissert/2005/
* tla get tnagytwofivesix@yahoo.fr--2005/kdissert--main--0.4
create a new kdissert branch for work
* tla archive-setup myname@myisp.com--2005/kdissert--main--0.4
* tla tag tnagytwofivesix@yahoo.fr--2005/kdissert--main--0.4 myname@myisp.com--2005/kdissert--main--0.4
* tla get myname@myisp.com--2005/kdissert--main--0.4 kdissert
this will create a directory named kdissert, you can work in it and commit
* vi `tla make-log`
* tla commit
merge the changes from the main tree
* tla star-merge tnagytwofivesix@yahoo.fr--2005/kdissert--main--0.4
publish the changes for inclusion of the local changes to the main kdissert tree
those who have a local repository will be able to merge your changes by star-merge :
* tla make-archive --listing --mirror myname@myisp.com--2005 sftp://myisp.com/home/me/public_html/archive
* tla archive-mirror myname@myisp.com--2005
(the first of the previous two commands needs to be done only once)
-------------
File format :
-------------
A kdissert file is a tar.gz archive containing :
* the main document file in xml format (named maindoc.xml)
* a number of pictures, named "pic.ID.png" - the ID (eg: 1, 2, ..) is unique
The kdissert files have the extension ".kdi".
The main filter for saving/loading a document is in DDataControl.cpp.
---------------------------------
Miscalleneous tricks with scons :
---------------------------------
In a subdirectory, it is necessary to launch scons with the -u flag :
scons -u
In practice, one should add this to his .bashrc and forget about it :
export SCONSFLAGS=-u
To compile a specific target, use scons like this
scons kdissert
scons libkdisshtmldoc.so
To install the targets you can also use
scons /
The bksys project contains more information about that,
you can find it on http://www.kde-apps.org/
-----------------------------------
Making packages with checkinstall :
-----------------------------------
use :
checkinstall --fstrans=no --nodoc scons install
Note : the file signatures.dblite
is not to be included in the package
Finally mind that I am a heretic - Scons is much better for compiling
kdissert than the admin/ scripts, and Arch is much more
convenient for managing kdissert source code than cvs or subversion
(it is kept on my usb key and mirrorred from times to times).
---------------------------------------------
Thomas Nagy, 2005 <tnagy2^8@yahoo.fr>
|