
qbuildkde
Source (link to git-repo or to original if based on someone elses unmodified work):
V 0.6.1
* Added telnet interface to see at work what you compilation at home is doing
V 0.6
* Redesigned GUI
(All icons taken from the kde artwork package)
* Default sounds from KDE (in /opt/kde3)
* Splash screen
* Chose player for sounds
* Additional sound for errors
* Change colors of output
V 0.5.1:
* added some tooltips in mainview
* added Flag to ignore compile errors to get the whole stuff compiled
* Filename of .cvspass was wrong
* Support for environment
* Selection of qt directory (untested)
* Added russian language (empty)
* run make install/uninstall as non-root. Maybe later change this by option
* Fixed doubling of packages when no config exists
* Packages now autodeleted list, was probably a memory leak
V 0.5:
* Checked tab order in every widget
* added support for debug
* added support for selecting destination path
* added i18n support for local language
* added german translation file
* added selectable wavs to play when finished and stopped
(if someone could tell me how to hear something...?)
* Once again added some packages
* All known packages are automatically added when not existing yet
* Storing dates works now (really!)
* make uninstall in context menu (not tested)
Solutions:
- as kdesu not works, make install is called as non-root. Best install kde to $HOME/kde
- cvs login "works" if you call qbuildkde in console. When asked for password just press enter. Sorry, did not get it better. But dont mind, its only if you never were logged in before.
- Added configuring of sound player
Ratings & Comments
35 Comments
It would be nice to get some feedback about known problems / limitations / needed features... did I forget something?
adivobuilder is an app doing something similar.
http://www.abc.se/~m10828/adivobuilder/html/screenshots.htmlI wrote it two years ago. It was a great way to learn kde programming. I don't think it has been used much. Not even by me. Feel free to take code or ideas from it ...
Thank you. Right now I am in a bit trouble (at the office), so I do not have the time to look carefully at it. Any great things I can look for? One problem is, that it depends a lot on kde itself, so I have to retranslate it back to qt.
I made a new release today that compiles on Fedora Core 2 ( kdelibs-3.2.2, gcc-3.3.3 ). http://www.abc.se/~m10828/adivobuilder/src/ Here are some features:- building and install commands are written in a table ( where cvs modules are
on the y-axis ).
- a similar table exists for specifying the working directories for the
commands.
- updates from cvs ( also with cvsup or rsync )
- collects the available cvs tags from viewcvs, ( for instance from
http://webcvs.kde.org/cgi-bin/cvsweb.cgi/ )
- configuration is saved in a xml file
Start adivobuilder and open the file examples/kdecvs.adivobuilder to see how it works.
cheers, Erik SjölundCan't we put tose things together? Ok, this command-table is hardwired by me, but I think thats ok. And the source code tabkle seems right to be hardwired, too (everything below .../kde). I think with your tool, I could build everything, not only kde, right? But I'd like to support the cvs tags and cvsup/rsync, too. The only thing is: it must not depend on kde itself...
Yes, the idea was to have a generic framework for building software. What I had in mind was to produce build configuration files for kde, gnome and XFree86. But I didn't get any longer than to the building of kde. Another idea I had was to use the build results to generate a tinderbox-like html output. For an example look at: http://www.abc.se/~m10828/adivobuilder/html/kdecvs/ I used an XSLT script for this ( xslt/adivobuilder.xsl ). Right now I have some other projects to take care of, so I don't think I will have time to code any new stuff for qbuildkde or adivobuilder. But I will try to answer your questions... I am bit curios: Why do you want to do a pure QT-app?
Because I want to be able to install a complete kde from scratch without having kde installed. The idea behind is: download qbuildkde, press the button, wait what happens - in best case kde is ready then. Only one problem is left: how to avoid depency failures within the packages (xxx-devel is missing)...
Ok, I think I understand now. A Qt app is possible to build statically. That is no shared libraries, and hence no dependency on the Qt-library. But I guess building statically is not possible for a KDE app. A user without any QT- and KDE-libs could just download your statically built Qt app and start from there. This make sense. But in my opinion the common situation would be that QT and KDE already are installed. Maybe a Qt app is a better way to go. I don't know...
maybe u should also provide a version of your program which can run even without a complete qt package and without kde, since it's meant to be installed:) u should try to add support for qt embed (or something like that) so it can run using framebuffer. Keep up the good work.
Compile kde to qt embed? Really? I thought this would be qtopia itself, but never heard of kde running on it. Tell me more about it... Another task would be to compile kde on win32. Anyone tried it?
not kde, that's not possible, u can do that only with konqueror and some other apps, i just thought it would be good to compile also your app with qtopia support in order to use it even if u don't have kde or ordinary qt already installed or your linux box.
I think thats a bit tricky for me. Last time I tried this for Zaurus, I had to backport everything to Qt2 - it was the hell. If this is easier now, I can have a look at it. If someone has expirieces that way - feel invited.
Actually, there already exist several KDE CVS build scripts that don't depend on Qt/KDE to run, including kde-build in the kdesdk module, and my own script which I won't plug here. ;-) The nice thing about this program is that it is GUI driven, making it even easier for people to install a CVS version of KDE. Beyond that I'm not sure, as I've never used it myself.
Not a big deal, but most times the whole folder is compressed instead of the contents of the folder being compressed. Thanks, Virgil
Sorry, but I dont know what you mean... did not understand that sentence at all.
What he means is that when you do: $ tar xzvf archive-version.tar.gz the files are extracted in the *current* directory instead of being extracted into the directory archive-version. When you package your program, you should create a temporary directory, copy the files that will be in the package into this temporary directory, and then tar up the directory, not the files. Example: $ mkdir qbuildkde-0.6 $ cp source.* qbuildkde-0.6 $ tar czf qbuildkde-0.6.tar.gz qbuildkde-0.6 $ rm -r qbuildkde-0.6 Your archive is now contained within qbuildkde-0.6.tar.gz, and will not spill files all over a user's home directory when he extracts it. ;-)
Oh yeah, sure. And do you want to hear a joke - I hate it if foreign tgz's do not contain a directory :-) f**k Sorry about that
Anyone a nice release script? Should create the link, tar it to that name, and increase the release number?
I made a simple packaging script for kdecvs-build that I use when I make releases, but it's rather tied to the CVS repository.
What KDE needs is a GUI configurator like xconfig is for the Linux kernel. One advantage Gnome has over KDE is that you don't have to install a bunch of unwanted programs if you don't want to. This is a problem for Gnome in that installation is a pain in the butt. However, KDE installs a bunch of programs that are useless or unworthy of my hard disk space. Now with KolourPaint, why do I need KPaint? Why do I need KEdit if I have KWrite and Kate? And even so, I might opt to not have some of these programs all together. In other words, we need a little utility that will let you check off programs you want to build in the various packages. I think KDE has it down when it comes to bundling the distribution over fewer packages. However, let's have some more flexibility during the compilation process. I also think it would be neat to make a control center module that would let you uninstall programs from the KDE distribution, but that is a different issue entirely.
Can this utility be used to provide the fine grained control of selecting individual applications of KDE rather than packages? I second the above post that KDE installs too much stuff and although there are quite a few friends out there who may want "the works", lot of us want a minimalistic desktop. Now, please don't point me towards GNOME or XFCE or any other desktop. I want KDE but want to install only the things I use everyday! Qbuildkde would be better than konstruct if we can have this fine grain control -- along with the GUI! It would be a killer app for most of us, IMHO.
There are too many "useless" apps in kde, it would be really useful to choose which ones you wanna install without wasting hd space and time. This is something really missing to kde. If you add this feature to your app it would be great:)
This was planned from the beginning... I already added subpacks to the cvs version, but still have probems with reading them back (will be solved today). Then I'll play around with configure and its disable-xxx params, so this feature may be available in the next version, ok?
Sounds great:)
Yes, uninstalling would be nice. But there would be (and there is) another problem: the i18n-files will be installed anyway / are not uninstalled, because it is an own package, isn't it? And what about the depencies (kdeextragear-lib1 for example)? Maybe this can be solved by qbuildkde, but then make uninstall must be implemented from each package.