From kde-devel Fri Jul 18 13:51:23 2003 From: Dominique Devriese Date: Fri, 18 Jul 2003 13:51:23 +0000 To: kde-devel Subject: KDE man page generator.. X-MARC-Message: https://marc.info/?l=kde-devel&m=105853653413641 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--=-=-=" --=-=-= Hi, In order to fix long-standing Debian bug #116485, I've written a script that takes a KDE app, and generates a nice man page.. It uses the app's "--author" and "--help-all" output, along with a description from Debian's control file to get the data. I think the script works great, the man pages look almost hand-written ;) I encourage you all to try this out, and very much welcome any feedback, especially as to how to integrate this into either the Debian KDE packaging system or the KDE build system.. The idea to do this with a script allows us to easily keep the man pages up to date, and is generally very low-trouble for the developer... The script is attached at the bottom.. USAGE: Suppose you wanted to generate a man page for the KDE-Edu program kalzium.. Then you would 1 cd to /path/to/kde/srcs/kdeedu/debian ( necessary so the script finds the Debian control file.. ) 2 run "/path/to/kdemangen.pl $(which kstars) > kstars.1" 3 run "cat kstars.1 | groff -man -Tascii | less" to check out the generated page.. PROBLEMS: 1 Only works for full KDE applications that use KCmdLineArgs ( inherent to my approach, but most KDE apps fulfill this requirement ) 2 I can't seem to find a way to make the applications *not* output translated stuff.. I've tried with "KDE_LANG=C $runapp ..", but to no avail.. I'm prolly just missing something stupid here.. FUTURE: I'm thinking about some way to integrate this into either the Debian KDE packaging system, the KDE build system. I might also upload it to kdesdk/scripts/.. I would very much appreciate feedback here !! As for the dependency on the debian control file, I'm thinking about removing this, and letting the user provide the description as a command line option, so that the debian folks can still give the description from the control file if they would want that.. STYLE: Don't complain about my perl style, I know I suck at it ;) Thanks for reading domi --=-=-= Content-Type: application/x-perl Content-Disposition: attachment; filename=kdemangen.pl Content-Transfer-Encoding: base64 IyEgL3Vzci9iaW4vcGVybAoKdXNlIHdhcm5pbmdzOwp1c2Ugc3RyaWN0OwoKc3ViIG9wdGlv bnN0b25yb2ZmCiAgewogICAgbXkgJG9wdGlvbnMgPSBzaGlmdDsKICAgIG15ICRyZXQgPSAi IjsKICAgIGZvcmVhY2goIHNwbGl0IC9cbi8sICRvcHRpb25zICkKICAgICAgewoJaWYoIC9e ICAoLS0/W1s6YWxwaGE6XV0rLCApPygtLVtbOmFscGhhOl0tXSopKCBbPD5bOmFscGhhOl1d Kik/ICooLiopJC8gKQoJICB7CgkgICAgbXkgJHNob3J0OwoJICAgIG15ICRsb25nOwoJICAg IG15ICRhcmc7CgkgICAgbXkgJGRlc2M7CgkgICAgaWYoICQxICkgeyAkc2hvcnQgPSAkMTsg fSBlbHNlIHsgJHNob3J0ID0gIiI7IH07CgkgICAgaWYoICQyICkgeyAkbG9uZyA9ICQyOyB9 IGVsc2UgeyAkbG9uZyA9ICIiOyB9OwoJICAgIGlmKCAkMyApIHsgJGFyZyA9ICQzOyB9IGVs c2UgeyAkYXJnID0gIiI7IH07CgkgICAgaWYoICQ0ICkgeyAkZGVzYyA9ICQ0OyB9IGVsc2Ug eyAkZGVzYyA9ICIiOyB9OwoJICAgICRyZXQgLj0gIi5UUFxuIjsKCSAgICAkcmV0IC49ICIu QiAkc2hvcnQgJGxvbmcgJGFyZ1xuIjsKCSAgICAkcmV0IC49ICIkZGVzY1xuIjsKCSAgfQoJ ZWxzaWYoIC9eICAoW1s6YWxwaGE6XV0rKSArKC4qKSQvICkKCSAgewoJICAgICRyZXQgLj0g Ii5UUFxuIjsKCSAgICAkcmV0IC49ICIuQiAkMVxuIjsKCSAgICAkcmV0IC49ICIkMlxuIjsK CSAgfQoJZWxzaWYoIC9eICsoLiopJC8gKQoJICB7CgkgICAgJHJldCAuPSAiJDFcbiI7Cgkg IH0KCWVsc2lmKCAhIC9eJC8gKQoJICB7CgkgICAgIyB0aGlzIG1lYW5zIGEgaGVhZGVyIGxp a2UgIlF0IE9wdGlvbnM6IiBJJ20gd29uZGVyaW5nCgkgICAgIyB3aGF0IHRvIGRvIHdpdGgg dGhpcywgSSBkb24ndCBrbm93IGVub3VnaCBucm9mZiB0bwoJICAgICMgZm9ybWF0IGl0IG5p Y2VseSwgSSdtIGFmZnJhaWQuLgoJICB9CiAgICAgIH0KICAgIHJldHVybiAkcmV0OwogIH07 CgpzdWIgdXNhZ2UKICB7CiAgICBwcmludCAiVVNBR0U6ICQwIGFwcFxuIjsKICB9OwoKaWYo ICQjQVJHViA8IDAgKXsKICB1c2FnZSgpOwogIGV4aXQgMTsKfQoKbXkgJHJ1bmFwcCA9ICRB UkdWWzBdOwppZiAoICEgLXggJHJ1bmFwcCApCiAgewogICAgcHJpbnQgIkVycm9yOiAkcnVu YXBwIGlzIG5vdCBleGVjdXRhYmxlLlxuIjsKICAgIGV4aXQgMTsKICB9OwoKbXkgJHNob3J0 ZGVzY3JpcHRpb24gPSBgJHJ1bmFwcCAtLWhlbHAgfCBzZWQgLW5lICczcCdgOwpjaG9tcCAk c2hvcnRkZXNjcmlwdGlvbjsKCm15ICRzeW5vcHNpcyA9IGAkcnVuYXBwIC0taGVscCB8IHNl ZCAtbiAnMXAnIHwgc2VkIC1lICdzL1teOl0qOiAvLydgOwpjaG9tcCAkc3lub3BzaXM7Cm15 ICRhcHBuYW1lID0gJHN5bm9wc2lzOwokYXBwbmFtZSA9fiBzLyAuKiQvLzsKbXkgJHVjYXBw bmFtZSA9IHVjICRhcHBuYW1lOwoKbXkgJG9wdGlvbnMgPSBgJHJ1bmFwcCAtLWhlbHAtYWxs IHwgc2VkIC1lICcxLDRkJ2A7CiRvcHRpb25zID0gb3B0aW9uc3RvbnJvZmYoICRvcHRpb25z ICk7CgpteSAkdGltZXNwZWMgPSB1Y2ZpcnN0IGBkYXRlICcrJWIgJUcnYDsKY2hvbXAgJHRp bWVzcGVjOwoKbXkgJGRlc2NyaXB0aW9uID0gJHNob3J0ZGVzY3JpcHRpb247CmlmKCAtciAi Y29udHJvbCIgKQogIHsKICAgICRkZXNjcmlwdGlvbiA9IGBjYXQgY29udHJvbCB8IHNlZCAt bmUgJy9QYWNrYWdlOiAkYXBwbmFtZVwkLywvXlwkL3AnIHwgZWdyZXAgLXYgJ15cXHcqOi4q XCQnIHwgc2VkIC1lICdzL14gLy8nIHwgc2VkIC1lICdzL15cXC4vLydgOwojIGxlYWRzIHRv IHByb2JsZW1zIGluIHNvbWUgY2FzZXMgOigKIyAgICAkZGVzY3JpcHRpb24gPX4gcy9LREUg Py9cbi5TTSBLREVcbi9nOwogIH0KCm15ICRhdXRob3JzID0gYCRydW5hcHAgLS1hdXRob3Ig fCBzZWQgLW5lICcyLFwkcCcgfCBzZWQgLWUgJ1wkZCcgfCBzZWQgLWUgJ3MvXiAqLy8nYDsK JGF1dGhvcnMgPX4gcy9cbi9cbi5iclxuL2c7CgpwcmludCA8PEVPRjsKLlxcXCIgRE8gTk9U IE1PRElGWSBUSElTIEZJTEUhICBJdCB3YXMgZ2VuZXJhdGVkIGJ5IGtkZW1hbmdlbi5wbCAw LjEKLlRIICR1Y2FwcG5hbWUgMSBcIiR0aW1lc3BlY1wiIFwiSyBEZXNrdG9wIEVudmlyb25t ZW50XCIgXCIkc2hvcnRkZXNjcmlwdGlvblwiCi5TSCBOQU1FCiRhcHBuYW1lClwtICRzaG9y dGRlc2NyaXB0aW9uCi5TSCBTWU5PUFNJUwokc3lub3BzaXMKLlNIIERFU0NSSVBUSU9OCiRk ZXNjcmlwdGlvbgouU0ggT1BUSU9OUwokb3B0aW9ucwouU0ggU0VFIEFMU08KLkJSIGhlbHA6 LyRhcHBuYW1lClwtIFRoZSAkYXBwbmFtZSBkb2N1bWVudGF0aW9uLgouYnIKLlNIIEFVVEhP UlMKLm5mCiRhdXRob3JzCkVPRgo= --=-=-= Footnotes: [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=116485 --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe << --=-=-=--