From kde-core-devel Sat Oct 21 21:48:14 2000 From: "Yannai A. Gonczarowski" Date: Sat, 21 Oct 2000 21:48:14 +0000 To: kde-core-devel Subject: New maintainer needed for KISS - The KDE Installaion SyStem and Krumple X-MARC-Message: https://marc.info/?l=kde-core-devel&m=97216503522449 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------1B55223B1227B2420D4A9E8B" This is a multi-part message in MIME format. --------------1B55223B1227B2420D4A9E8B Content-Type: text/plain; charset=iso-8859-8 Content-Transfer-Encoding: 7bit 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/ ---------------------------------------------------------------------- --------------1B55223B1227B2420D4A9E8B Content-Type: text/plain; charset=iso-8859-8; name="README-FAQ" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="README-FAQ" 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 (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 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 (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 ), 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 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 -------------------------------------------------------------------------------- End of REAMDE/FAQ file. --------------1B55223B1227B2420D4A9E8B--