From owner-freebsd-ports@FreeBSD.ORG Mon Jun 21 23:49:09 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BCC4216A4CE; Mon, 21 Jun 2004 23:49:09 +0000 (GMT) Received: from smtpq1.home.nl (smtpq1.home.nl [213.51.128.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id C047043D41; Mon, 21 Jun 2004 23:49:08 +0000 (GMT) (envelope-from danny@ricin.com) Received: from [213.51.128.136] (port=53998 helo=smtp5.home.nl) by smtpq1.home.nl with esmtp (Exim 4.30) id 1BcYXD-00037z-Ri; Tue, 22 Jun 2004 01:49:07 +0200 Received: from cp464173-a.dbsch1.nb.home.nl ([212.204.145.167]:53519 helo=localhost.homenet) by smtp5.home.nl with esmtp (Exim 4.30) id 1BcYXB-0007k3-FP; Tue, 22 Jun 2004 01:49:05 +0200 From: Danny Pansters To: kde@freebsd.org Date: Tue, 22 Jun 2004 01:48:54 +0200 User-Agent: KMail/1.6.2 MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <200406220148.54791.danny@ricin.com> X-AtHome-MailScanner-Information: Please contact support@home.nl for more information X-AtHome-MailScanner: Found to be clean cc: ports@freebsd.org Subject: Concering Kommander, includes port shar X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: danny@ricin.com List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jun 2004 23:49:09 -0000 Hi, Some explanation: You might be aware of the kommander project over at KDE and quanta. Since dot.kde.org seems to be down since yesterday, please see http://sourceforge.net/projects/kommander/ and http://kommander.kdewebdev.org/docs/introduction.html for some reading. The idea is that you can pipe text/commands/scripts/whatever through stdin/out into kde dialogs, running kde apps (through dcop, though some of this looks to be broken with kde-3.2, maybe not with kde-3.2.9x, haven't tried their cvs) or out of them. That "text" can be whole interpreted scripts. So basically it gives you a very easy admin-level way to tap into many KDE apps and dynamically make them do things or gather info from them, as well as in the same way easily extend existing apps with your custom BOFH dialogs. Or, most basic, and perhaps even most interesting, it's a very easy way to put a KDE GUI onto many console apps at the admin level. There's actually a Brazillian Linux distro that is already using this in their install-from-live-cd routine. And that's also the field were I see most of its initial possibilties. It somewhat reminded me of how the ROX desktop has its py-gtk event loop be goverened by simple shell scripts. Kinda similar. But with all of KDE/dcop already present kommander offers a much broader range of possible short gui powered scripts all the way up to perhaps eventually full featured apps some part of which are just kparts or plugins. I haven't gotten around to really play with it myself, but I'm thinking of putting together a few demos for FreeBSD (e.g. do cvsup, or even make world) to see how easy it really is in practice (or if!). Basically everything thats console- or KDE-oriented is a candidate for being stitched together showing a dialog and piping commands to one another. If anyone wanted to make a "Kissinstall" using good old sysinstall behind the scenes this would be the thing to use. Ports/packages: Currently with KDE 3.2 we have a quanta port and corresponding KDE module that hosts quanta, kommander (old version), and a bunch of other things. These are going to become the kdewebdev package in the next KDE release. There's already kdewebdev-3.2.90 right now. Pros and cons of a seperate kommander port: The big pro is that people can already play with it, and I'll try to keep it updated up to 1.0 release which will materially be at kde-3.3 release/porting time. The big con is that in terms of ports it would formally have to conflict with quanta (and thus with all of kde-3.2 and lower), even though it only overwrites part of quanta (the kommander part). It would be possible to upgrade quanta to the kdewebdev pre-3.3 module as it is now (seems to have gotten in synch with kommander lately) but it would still conflict with other KDE modules and before you know it you might have a whole bunch of pre-3.3 ports. That wouldn't be desireable. Our ports are quite upgrade resilliant so it would be my guess that the kde@ people expect to have a 3.3 ports set within days after it gets released late August. That will include kommander. Wrap-up & build note: So I'm a bit hesitant to submit this port. Is there a general way to handle this, can a port be slated to be deprecated after XX or removed after YY? I should also add that there was one build issue, but I solved it in the port (a few .ui files needed to be compiled into .h files and the provided build scripts apparently didn't do that). I can talk to the author(s) later, they have a mailing list. It looks like a very friendly community so I wouldn't mind going embedded to serve the mighty Beastie :) ATM they are working with Gentoo and Debian as far as I can tell from the ML archives. Willing to take maintainership if required for longer term but then it would likely be the whole kdeewebdev port to-come. Questions: Do we want a seperate kommander port (temporarily)? Is it the best solution? Do we want a "beta" kdewebdev port (temporarily) as a quanta replacement instead? Do we just wait until ~september (I'd be happy to help with some of the KDE work BTW, I'm in over my neck already so what the heck)? Unrelated but good news: I read yesterday that py-qt and py-kde are going to be imported into KDE come 3.3. That's great, it makes the python platform much more supported and (version-)stable for qt/kde. It will probably go into kdevel or kdesdk. Finally: So, what would you think would be best to do with this kommander port? Since its only ~2 months I lean towards the golden answer "nothing" but then again this is going to be regarded the killer app of KDE-3.3 and it would look good if we were early, and also another user might try to build the thing and not get over actioneditor.h being missing... Your thoughts please. Shar below. I put it in /usr/ports/devel, maybe it should be misc or desktop-utils instead. Regards, Dan # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # kommander # kommander/pkg-plist # kommander/pkg-descr # kommander/distinfo # kommander/Makefile # kommander/pkg-message # kommander/scripts # kommander/scripts/post-configure # echo c - kommander mkdir -p kommander > /dev/null 2>&1 echo x - kommander/pkg-plist sed 's/^X//' >kommander/pkg-plist << 'END-of-kommander/pkg-plist' Xbin/kmdr-editor Xbin/kmdr-executor Xbin/kmdr-plugins Xinclude/kommanderfactory.h Xinclude/kommanderplugin.h Xinclude/kommanderwidget.h Xlib/libkommanderplugin.la Xlib/libkommanderplugin.so Xlib/libkommanderplugin.so.0 Xlib/libkommanderwidget.la Xlib/libkommanderwidget.so Xlib/libkommanderwidget.so.0 Xlib/libkommanderwidgets.la Xlib/libkommanderwidgets.so Xlib/libkommanderwidgets.so.0 Xshare/applnk/Editors/kmdr-editor.desktop Xshare/applnk/.hidden/kmdr-executor.desktop Xshare/examples/kommander/checkmail.kmdr Xshare/examples/kommander/ex1.kmdr Xshare/examples/kommander/execprogram.kmdr Xshare/examples/kommander/firstform.kmdr.kmdr Xshare/examples/kommander/form1.kmdr Xshare/examples/kommander/form2.kmdr Xshare/examples/kommander/form3.kmdr Xshare/examples/kommander/form4.kmdr Xshare/examples/kommander/form5.kmdr Xshare/examples/kommander/newfile.kmdr Xshare/examples/kommander/populate.kmdr Xshare/examples/kommander/resize.kmdr Xshare/examples/kommander/selectedwidgettext.kmdr Xshare/examples/kommander/settings.kmdr Xshare/examples/kommander/simplelist.kmdr Xshare/examples/kommander/tar.kmdr Xshare/examples/kommander/tidy.kmdr Xshare/examples/kommander/widgetgenerator.kmdr Xshare/examples/kommander/tutorial/README Xshare/examples/kommander/tutorial/append.kmdr Xshare/examples/kommander/tutorial/arrays.kmdr Xshare/examples/kommander/tutorial/cmdline.kmdr Xshare/examples/kommander/tutorial/dcop.kmdr Xshare/examples/kommander/tutorial/globals.kmdr Xshare/examples/kommander/tutorial/initialize.kmdr Xshare/examples/kommander/tutorial/settings.kmdr Xshare/examples/kommander/tutorial/slots.kmdr Xshare/examples/kommander/tutorial/strings.kmdr Xshare/icons/locolor/16x16/apps/kmdr/executor.png Xshare/icons/locolor/32x32/apps/kmdr/executor.png Xshare/mimelnk/application/x-kommander.desktop X@dirrm share/examples/kommander/tutorial X@dirrm share/examples/kommander X@dirrm share/icons/locolor/16x16/apps/kmdr X@dirrm share/icons/locolor/32x32/apps/kmdr END-of-kommander/pkg-plist echo x - kommander/pkg-descr sed 's/^X//' >kommander/pkg-descr << 'END-of-kommander/pkg-descr' XKommander is a set of tools that allow you to create dynamic GUI dialogs Xthat generate, based on their state, a piece of text. The piece of text can Xbe a command line to a program, any piece of code, business documents that Xcontain a lot of repetitious or templated text and so on. The resulting Xgenerated text can then be executed as a command line program (hence the Xname "Kommander"), written to a file, passed to a script for extended Xprocessing, and literally anything else you can think of. The best part of Xit all? You aren't required to write a single line of code! X XWWW: http://kde-apps.org/content/show.php?content=12865 X http://kommander.kdewebdev.org/docs/ X XThe new Kommander will be included in the upcoming kdewebdev module in XKDE 3.3 (together with quanta and others). This should be a temporary port. X END-of-kommander/pkg-descr echo x - kommander/distinfo sed 's/^X//' >kommander/distinfo << 'END-of-kommander/distinfo' XMD5 (KDE/kommander-1.0alpha5.tar.bz2) = 2bfce1e63dc349c484865f16b062e650 XSIZE (KDE/kommander-1.0alpha5.tar.bz2) = 1387011 END-of-kommander/distinfo echo x - kommander/Makefile sed 's/^X//' >kommander/Makefile << 'END-of-kommander/Makefile' X# New ports collection makefile for: Kommander X# Date created: 20 Jun 2004 X# Whom: Danny Pansters X# X# $FreeBSD: $ X# X XPORTNAME= kommander XPORTVERSION= 1.0.a5 XCATEGORIES= devel kde XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE} XMASTER_SITE_SUBDIR= kommander XDISTNAME= ${PORTNAME}-1.0alpha5 XDIST_SUBDIR= KDE X XMAINTAINER= danny@ricin.com XCOMMENT= KDE dialog builder and executor X XBUILD_DEPENDS= uic:${PORTSDIR}/x11-toolkits/qt33 XRUN_DEPENDS= kompare:${PORTSDIR}/devel/kdesdk3 X XUSE_KDELIBS_VER=3 XPREFIX= ${KDE_PREFIX} X XUSE_BZIP2= yes XUSE_REINPLACE= yes XGNU_CONFIGURE= yes X XCONFLICTS= quanta-* X X.include X XSHAREMODE= 644 X Xpost-install: X.if !defined(NOPORTDOCS) X @${MKDIR} ${EXAMPLESDIR} X @${MKDIR} ${EXAMPLESDIR}/tutorial X ${INSTALL_DATA} ${WRKSRC}/kommander/examples/*.kmdr ${EXAMPLESDIR} X ${INSTALL_DATA} ${WRKSRC}/kommander/examples/tutorial/* \ X ${EXAMPLESDIR}/tutorial X.endif X @${ECHO} && ${CAT} ${DESCR} ${PKGMESSAGE} X X.include END-of-kommander/Makefile echo x - kommander/pkg-message sed 's/^X//' >kommander/pkg-message << 'END-of-kommander/pkg-message' XTo test run one of the demos, e.g: X Xkmdr-executor /usr/local/share/examples/kommander/form5.kmdr X END-of-kommander/pkg-message echo c - kommander/scripts mkdir -p kommander/scripts > /dev/null 2>&1 echo x - kommander/scripts/post-configure sed 's/^X//' >kommander/scripts/post-configure << 'END-of-kommander/scripts/post-configure' X#!/bin/sh X X# Prevent make from failing because some .ui files are not compiled X# to corresponding .h files (which are later included) X Xcd ${WRKSRC}/kommander/editor Xfor item in `ls *.ui | sed s/.ui//` Xdo X /usr/X11R6/bin/uic -L /usr/X11R6/lib/kde3/plugins/designer \ X -nounload -o ${item}.h ./${item}.ui Xdone X END-of-kommander/scripts/post-configure exit