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

List:       kde-devel
Subject:    DEVEL-ANNOUNCE: krumple-0.1
From:       "Yannai A. Gonczarowski" <yannaigo () leyada ! jlm ! k12 ! il>
Date:       1999-07-15 12:41:47
[Download RAW message or body]

I have released krumple-0.1 today.
It will soon be available from:
ftp://ftp.kde.org/pub/kde/unstable/apps/ide/krumple-0.1.tgz

Screenshots of a test installer I generated, in addition to other information
are available at:
http://www.leyada.jlm.k12.il/~yannaigo/krumple/

If anyone is willing to translate krumple (enable it to translate
multilanguage installers), please contact me.

To all developers: Please check if krumple is able to generate an installer
for your program, and email me either way (success or failure).
Please also consider releasing your next program in installer format instead
of (or in addition to, if you prefer) .tgz.

Below are the LSM and README/FAQ files.

-----------------------------------------------------------------------------
Begin3
Title:          krumple - KDE Installation SyStem Installer Generator
Version:        0.1
Entered-date:   15/7/1999
Description:    Generate a self-installing multi-platform executable package
                complete with a GUI from a gzipped tar of the source package.
                The installer is compatible with kiss - the KDE Installation
                SyStem.
                Just type "krumple mypackage-1.4.tgz", and see it
		automagically create the installer - no configuration is
		required whatsoever.
Keywords:       KDE Qt install uninstall package kiss
Author:         yannaigo@leyada.jlm.k12.il (Yannai A. Gonczarowski)
Maintained-by:  yannaigo@leyada.jlm.k12.il (Yannai A. Gonczarowski)
Primary-site:   ftp://ftp.kde.org/pub/kde/unstable/apps/ide/
Home-Page:      http://www.leyada.jlm.k12.il/~yannaigo/krumple/
Platforms:      UNIX (only tested on Linux), needs perl 5, KDE 1.0.
Copying-policy: GPL
End

----------------------------------------------------------------------------
README/FAQ file for
krumple - KDE Installation SyStem Installer Generator 0.1 (Jul 15, 1999)

----------------------------------------------------------------------------
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?

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

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: In version 0.1 of krumple, 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 "# Translation template start.".
3. In the next line, 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. Until you have reached a line that says "# Translation template end.", :
5. 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.
6. Set your language to be the default using the control center module
"Language".
7. Generate an installer from some program (doesn't matter which).
8. Run the installer script to check that your language is displayed okay.
9. 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.
10. 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...).

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

End of REAMDE/FAQ file.

Regards,
Yannai.

----------------------------------------------------------------------
Yannai A. Gonczarowski        _____..---======~~~~~=======---.._____
 ______________________ __,-='=====____  ================ _____=====`=
(._____________________I__) - _-=_/    `--------=+=-------'
    /      /__...---===='---+---_'                System Administrator
   '------'---.___ -  _ =   _.-'            yannaigo@leyada.jlm.k12.il
                  `--------'         The Hebrew University High School
"Si vis pacem, para bellum"    http://www.leyada.jlm.k12.il/~yannaigo/
----------------------------------------------------------------------

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

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