[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    New maintainer needed for KISS - The KDE Installaion SyStem and Krumple
From:       "Yannai A. Gonczarowski" <yannaigo () leyada ! jlm ! k12 ! il>
Date:       2000-10-21 21:48:14
[Download RAW message or body]

Hi,
The above mentioned programs were developped by myself and by Antal
Novak (afn@weevil.net).
Please see the attached readme/faq file for more information about these
programs. You may also visit
http://www.leyada.jlm.k12.il/~yannaigo/krumple/ for more information and
for screenshots.
For the last year we were unable to continue development of these
programs due to personal reasons, and since we think programs like these
are invaluable for the KDE project to become truely
platform-transparent, we would like to ask some developer to take over
the maintenance and development of these programs.
This developer should be familiar with Makefile/configure stuff, as well
as have knowledge in Perl (the language in which these are written) and
in python (or some other scripting language with working KDE/Qt
bindings) for the development of the installer GUI (the last part not
completed) and should of course be enthusiastic about the future of this
project :-)

If anyone is interested, please reply to this mail.

Regards,
Yannai.

----------------------------------------------------------------------
Yannai A. Gonczarowski        _____..---======~~~~~=======---.._____
 ______________________ __,-='=====____  ================ _____=====`=
(._____________________I__) - _-=_/    `--------=+=-------'
    /      /__...---===='---+---_'          yannaigo@leyada.jlm.k12.il
   '------'---.___ -  _ =   _.-'           "Si vis pacem, para bellum"
                  `--------'   http://www.leyada.jlm.k12.il/~yannaigo/
----------------------------------------------------------------------
["README-FAQ" (text/plain)]

README/FAQ file for
krumple - KDE Installation SyStem Installer Generator 0.2 (Jan 15, 2000)

--------------------------------------------------------------------------------
Please read the file COPYING before using krumple.
--------------------------------------------------------------------------------

Contents:

1. What is krumple?

2. What is the kiss (KDE Installation SyStem database)?

3. So why not use RPM/DEB/PKG/My favorite database instead?

4. Why have two programs: kiss and krumple, and not combine them?

5. So why have an installer in perl, and not in C++/some other compiled
language?

6. So if I only like .tgz installs, why should I release my software in
installer form and not in .tgz form?

7. What kind of information (program name, version, file info) do I need to
give krumple in order to generate an installer?

8. Totally cool software, what can I do (as a developer of other software)
to help?

9. I want to add support for <my language> (which could be either a
left-to-right or right-to-left language) to krumple, so that all installers
will be able to speak in that language. Can I do this?

10. I want feature <your-request-here> implemented so that I can have it in the
installer of my program. What do I do?

--------------------------------------------------------------------------------

1. What is krumple?

Krumple is an installer generator. Krumple takes a source .tgz as an argument,
an outputs an executable script, which, when run on the user's machine
displays a GUI similar to install-shield which compiles and installs the
software from the source tgz to the hard drive. It also registers all
installed files with the kiss (KDE Installation SyStem) database.
The executable installer script, when run with the argument "-tgz" reconstructs
the source .tgz file on the user's machine - which is suitable for users who
prefer command-line compilation and installation - thus eliminating the need
for distributing two installation packages for each program.

Note: Currently, GUI is not yet supported (since PerlQt 2.0 - the Qt bindings
for Perl - is not finished yet), so the default interface is:
1. If you are running under X - launch an xterm with text installation.
2. If you are not running under X - launch text installation in the current
terminal. (This will remain default for non-X installation even after the GUI
is completed).
Don't be fooled: These may be text-installers, but they are as friendly as
GUI installers, since they use progress-bars, and all other kinds of cool
text-widgets.


2. What is the kiss (KDE Installation SyStem) database?

kiss is a database of installed programs (similar to RPM, or DEB), which sits
on the user's machine. This will hopefully be added to the base KDE
distribution soon. The kiss package contains both perl functions and a command
line utility for accessing the kiss database. It can be downloaded from:
ftp://ftp.kde.org/pub/kde/unstable/apps/admin/kiss-0.1.1.tgz
It should be noted that the KISS database is already supported by the KDE
standard package-management application kpackage.
The kiss database was written by me (Yannai A. Gonczarowski,
yannaigo@leyada.jlm.k12.il) and Antal Novak (afn@weevil.net).


3. So why not use RPM/DEB/PKG/My favorite database instead?

1. Since some unices supported by KDE don't have any of these, and KISS should
be able to run on all KDE machines, the kiss database is used.
2. However, feel free to write a frontend for other databases using the kiss
standard (a program activated following the kiss syntax which will in fact
update the RPM database, etc...), which will still be able to work with the
same installers.


4. Why have two programs: kiss and krumple, and not combine them?

This adds very high flexibility in more than one way:
1. Give developers an option to write a customized installer (add an
"installation options" stage in the wizard, etc...), thus allowing more
flexibility. (one could even generate a script and then customize it) while
still using the installed programs database.
2. Being able to update the installed programs database (release a new
version of kiss - or some other database frontend compatible with kiss),
and still make the installation of old packages (using various versions of
installers) possible.
3. To allow writing frontends to other databases (See Q3, answer 2) which could
be used with the same installers.


5. So why have an installer in perl, and not in C++/some other compiled
language?

1. To be platform independent - The script is written in perl, and compiles
the software on the fly.
2. Since the GUI is downloaded with every package, it can be updated
frequently, without having the restraints of backwards-compatibility. In
addition, people could customize the GUI for their own programs (See Q4, answer
1), thus allowing maximum flexibility.


6. So if I only like .tgz installs, why should I release my software in
installer form and not in .tgz form?

1. Many other users of your software might prefer installers.
2. When using the "-tgz" switch - there is also another added value: Two shell
scripts, called kiss_removeold, and kiss_update are added to the main directory
of the .tgz file, allowing use of the kiss (KDE Installation SyStem) database
even for manual installs. So, the order of commands for manual installation
should be:

./configure		# <- configure the software normally
make			# <- compile it normally
./kiss_removeold	# <- before installing, remove any old installations
			#    of the software from this machine.
make install		# <- install the new software.
./kiss_update		# <- update the kiss (KDE Installation SyStem) database
			#    to allow future removal of the software.

Note that it is important the kiss_update be run AFTER 'make install'.

7. What kind of information (program name, version, file info) do I need to
give krumple in order to generate an installer?

None. Just type 'krumple mypackage-0.1.tgz', and watch it automagically create
the installer - no configuration is required whatsoever.

There is one catch, though:
1. The main directory of the tgz file should be progname-progversion, where
progname a short nickname for the program, and progversion is the version of
the program - for example: krumple-0.1/ (all KDE packages support this standard
anyway :-) ).

And a few things to note:
1. You must have a file called COPYING or a file called LICENSE in the main
directory of the .tgz file. This file will be displayed as the license for the
user to accept. Note: If both COPYING and LICENSE exist, LICENSE is used.
If your program is freeware, just put a little file saying that. It is my
belief that users should be always made aware of their rights and limitations,
even if they have no limitations.
2. The full name, category (Utilities/Games/...)  and a short description of
the program are taken from the .kdelnk file it installs on the K-menu.
Therefore it must install a .kdelnk file on the K-menu.
3. If you have a file called README, Readme, readme, or a similar
case-insensitive match to that, the user will be given an option to view it.
Having a README file is not required, though.


8. Totally cool software, what can I do (as a developer of other software)
to help?

First of all, release the next version of your program as an installer
generated by krumple.
Second, if your software happens to be a package-management software, please
consider adding support for kiss (installed packages) and krumple installer
(uninstalled packages) to your software. Feel free to contact me for 'how to
figure out which files and which program an installer contains' (it's really
easy).
Third, if your software happens to be a KDE-IDE, please consider adding support
(a front end) for generating installers from programs written using your IDE.


9. I want to add support for <my language> (which could be either a
left-to-right or right-to-left language) to krumple, so that all installers
will be able to speak in that language. Can I do this?

Sure.
All you need to do is:
1. edit the krumple program using some text editor.
2. Search for the string "# Supported languages:".
3. A few lines below, replace "YOUR LANGUAGE HERE" with the two-character
nickname of your language (this must be the same nickname from the "Language"
control center module in KDE).
4. Search for the string "# Translation template start.".
5. In the next line, replace "YOUR LANGUAGE HERE" with the same two-character
nickname of your language.
6. Until you have reached a line that says "# Translation template end.", :
7. For each line that goes ($inEnglish eq "..."), translate the quoted string
to your language, and put it in the quotes in the line below
($translated = "..."). If you require multiple lines, use the following syntax:
$translated = "Line number 1\n" .
	      "Line number 2";
Note that you should put a '\n' in every line except for the last one.
Note the dot (.) that should follow every line but the last one.
Note also that when translating multiple lines, you are not bound to line-by-
line translations, that you may translate one line to more than one line,
and vice-versa.
8. Set your language to be the default using the control center module
"Language".
9. Generate an installer from some program (doesn't matter which).
10. Run the installer script to check that your language is displayed okay.
11. Copy the lines between "# Translation template start." and
"# Translation template end." to a new file and send it to me.
I will include them in the next 'krumple' distribution.
12. If you wish to translate the "usage" message as well, just translate it,
and send it to me in a text file.

A few notes:
1. %s in the translation strings indicate a location of a certain text string
(program name, version number, etc...). You should put exactly the same number
of %s in your translation as appears in the untranslated text.
The %s's are filled in in the same order in which they appear in the
untranslated text (For example: in a translation to "%s version %s", the first
%s in the translated string will contain the program name, and the second - the
program version).
2. If you decide to use double quotes INSIDE your translations,
backslash them (write \" instead of just ").
3. If your language requires a special X font to be used in the xterm where it
is displayed (xterm -fn <somefont>), please send me the name of the font.

Notes for right-to-left languages translators:
Right-to-left is fully supported by krumple.
1. When you send me the translations, please tell me that your language is RtoL.
2. The %s's in right-to-left languages are filled in in reverse order. (leftmost
in untranslated becomes rightmost in translated, etc...).


10. I want feature <your-request-here> implemented so that I can have it in the
installer of my program. What do I do?

You have three options:
1. Wait for the next release and see if it is added there (see the next line as
for why this is not such a great option).
2. Write me and request the feature:
Since the needed features for a specific program installer depend greatly on
the program to be installed, it is more likely in krumple than in other programs
that your feature was not yet requested/the need for it is not farmiliar to me.
Since this is the case, feel free to write me an email detailing your feature
request.
Note, however, that since there are many features that could only benefit a
small number of programs to be installed, this feature might be postponed or
even decided not to be implemented.
3. Do it yourself (perl is really easy):
If this is a small feature, its implementation was postponed, or you just have
the unresistable urge the add it yourself (and enjoy coding in perl). just
generate an installer and start editing the PERL code until you have
implemented what you wanted. If this is a general implementation which could be
useful to others, you are encouraged to send me patches to the installer/
to krumple and I'll add them to the next release (perhaps slightly modified to
allow auto-customization of the feature while generating the installer).

--------------------------------------------------------------------------------
This file is
(C) Copyright 1998-1999  Yannai A. Gonczarowski <yannaigo@leyada.jlm.k12.il>
--------------------------------------------------------------------------------

End of REAMDE/FAQ file.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic