
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on git.opendesktop.org
Finally the site www.brainspace.it is online again with Kompile v0.3 Beta 3.
I'm sorry for the long offline period.
WARNING: Version 0.3 beta 3 of Kompile may be unstable and is relase for testing purpose. If you find a bug and you want report it write me an e-mail: tommaso.frazzetto@gmail.com
I'll be grateful to anyone who help me make Kompile better.
Thanks
What's Kompile
Kompile is a KDE interface for automatic execution of configurations, compilation and installation of source tarball.
when you compile and install Kompile sources (with normal steps "configure && make && make install") some new voices are added to
konqueror action menu for tar-based compressed archives (.tar, .tar.gz, .tar.bz, .tar.bz2).
What's new in v0.3
The major innovation of version 0.3 is profiles system. Now Kompile always use a profile to perform an installation/uninstallation.
You can define a custom profile for install an application or use default profile to do it. If you use default profile, Kompile will
create a package's profile based on options specified in your default profile.
Some profiles options are:
- Source tarball backup for uninstallation
- Packages informations (name, version, release, license, description)
- Temporary decompression folder options
- Source configuration options (prefix, enable/disable warnings, enable disable libs such as Qtopia, etc.)
- Compiler options (c/c++/fortran compilers flags, executables, prerocessor flags,linker flags, etc.)
- Simple user (= non root) installation options
- Use checkinstall instead make install (and specify checkinstall options)
More screenshots:
You can find more screenshots at:
http://www.brainspace.it/index.php?option=com_content&task=view&id=23&Itemid=23
Usage
There are 3 modes to use kompile:
1) Run Kompile form KDE System menu and use GUI to invoke Kompile functions. There are 3 major icons:
- Install options:
- Standard installation: use default profile to install new package
- Profiled installation: create a new profile from scratch to perform installation
- Uninstall options:
- Standard uninstallation: remove a package using default profile (may be useful if installed pkg has different prefix form default)
- Repair/Remove Installed Packages: give a list of installed packages to perform package's repair/remove
- Tools:
- Manage Profiles: Modify/delete existing profiles
- Kompile Setup: here you can specify you preference for some kompile functions and MODIFY YOUR DEFAULT PROFILE
2) Invoke Kompile from command line whit below options (form "kompile --help" command):
-i, --install Perform install operation
-u, --uninstall Perform uninstall operation
-t, --use-tarball Use specified tarball for requested operation [need -i or -u]
-p, --use-profile Use specified profile for operation [need -i or -u. Exclude "--use-tarball"]
-s, --search-profile Use with "--use-tarball ".Kompile searches a profile compatible with "". If doesn't find one compatible use default profile.
3) Select operations directly form konqueror kompile menu:
- Perform default package installation: use default profile to install new package. It's equal to "kompile --install --use-tarball "
- Search compatible profile for installation: Kompile searches a profile compatible with "" to perform installation. If doesn't find one compatible use default profile. It's equal to "kompile --install --search-profile --use-tarball "
- Perform default package uninstallation: remove a package using default profile (may be useful if installed pkg has different prefix form default). It's equal to "kompile --uninstall --use-tarball "
- Search compatible profile for uninstallation: Kompile searches a profile compatible with "" to perform installation. If doesn't find one compatible use default profile.It's equal to "kompile --uninstall --search-profile --use-tarball "
# LICENSE
This software is released under GPL (GNU General Public License). Anybody can change and redistribute code under GPL terms.
For more info about GPL see "COPYING" in source package root folder.
For more information about GNU & GPL visit GNU site at:
http://www.gnu.org
# MORE INFORMATIONS
Project Home Page (In Italian): http://www.brainspace.it/index.php?option=com_content&task=view&id=17&Itemid=12
Screenshots Gallery: http://www.brainspace.it/index.php?option=com_content&task=view&id=10&Itemid=7
Download Page (In Italian): http://www.brainspace.it/index.php?option=com_content&task=view&id=17&Itemid=12
# PARTICULAR THANKS TO
Many people have manifested interest in Kompile project and I can't thank all one by one but I'm grateful to anyone.
This people have spent time in Kompile realization with ideas and resources. Thank you.
v0.3
- Urs Wolfer
- Folivier_L
- Marco E.V.
- Roberto F.
- Alfredo B.
- Vincenzo C.
- Bogusz Linda
- Carlos Gonçalves
13 years ago
- CHANGES FROM Beta 2 to Beta 3:
[*] Profiles managemnt dialog redesigned.[newline ][*] Performance improved.[newline ][*] Corrected some bugs in profle creation for default install operation.[newline ][*] Fixed sintax problems in checkinstall invocation.[newline ][*] Minor bugs fixing[newline ][*] Polish language translation (Thanks to Bogusz Linda)[newline ]
- FEATURES (v0.3):
[*] Add standalone GUI for tarball packages management (you can access it form "System" menu)[newline ][*] General Kompile options, as:[newline ] * Selection of KDE-Integration menu type (actions menu/kompile standalone menu)
* Play sounds when installation/uninstallation finish
* Set time of automatic close installation/uninstallation dialog when finish
* Enable/Disable automatic close of installation/uninstallation dialog when finish by default
* Setup of default profile for standard installation/uninstallation
[*] Add installation/uninstallation profiles system. Profiles options are:[newline ] * Package info (name, version, release, license, description)
* Save of package's sources tarball for repair/uninstallation
* Temporary tarball decompression options
* Configuration flags (prefix, mobile app libs, debug, profiling, etc.)
* Simple user installation/uninstallation options
* Use of checkinstall instead of (make install)
[*] Search existing compatible profile before installation[newline ][*] Pause/Resume button in installation dialog[newline ][*] Show package's "README" button in installation dialog (if package's README file is available)[newline ][*] Show package's "INSTALL" button in installation dialog (if package's INSTALL file is available)[newline ][*] Show package's "ChangeLog" button in installation dialog (if package's ChangeLog file is available)[newline ][*] Statistics/informations for each task in installation/uninstallation dialog[newline ][*] Manage of installed application with Repair/Remove tools[newline ][*] Italian translation[newline ]
- CHANGES/FIXES
[*] Use KProcess instead of QProcess (more KDE-compilance)[newline ][*] Use KDialogBase instead of QDialog (more KDE-compilance)[newline ][*] Use KpushButton instead of QPushButton (more KDE-compilance)[newline ][*] Add full translation support[newline ][*] Removed traybar icon[newline ]
13 years ago
- CHANGES FROM Beta 2 to Beta 3:
[*] Profiles managemnt dialog redesigned.[newline ][*] Performance improved.[newline ][*] Corrected some bugs in profle creation for default install operation.[newline ][*] Fixed sintax problems in checkinstall invocation.[newline ][*] Minor bugs fixing[newline ][*] Polish language translation (Thanks to Bogusz Linda)[newline ]
- FEATURES (v0.3):
[*] Add standalone GUI for tarball packages management (you can access it form "System" menu)[newline ][*] General Kompile options, as:[newline ] * Selection of KDE-Integration menu type (actions menu/kompile standalone menu)
* Play sounds when installation/uninstallation finish
* Set time of automatic close installation/uninstallation dialog when finish
* Enable/Disable automatic close of installation/uninstallation dialog when finish by default
* Setup of default profile for standard installation/uninstallation
[*] Add installation/uninstallation profiles system. Profiles options are:[newline ] * Package info (name, version, release, license, description)
* Save of package's sources tarball for repair/uninstallation
* Temporary tarball decompression options
* Configuration flags (prefix, mobile app libs, debug, profiling, etc.)
* Simple user installation/uninstallation options
* Use of checkinstall instead of (make install)
[*] Search existing compatible profile before installation[newline ][*] Pause/Resume button in installation dialog[newline ][*] Show package's "README" button in installation dialog (if package's README file is available)[newline ][*] Show package's "INSTALL" button in installation dialog (if package's INSTALL file is available)[newline ][*] Show package's "ChangeLog" button in installation dialog (if package's ChangeLog file is available)[newline ][*] Statistics/informations for each task in installation/uninstallation dialog[newline ][*] Manage of installed application with Repair/Remove tools[newline ][*] Italian translation[newline ]
- CHANGES/FIXES
[*] Use KProcess instead of QProcess (more KDE-compilance)[newline ][*] Use KDialogBase instead of QDialog (more KDE-compilance)[newline ][*] Use KpushButton instead of QPushButton (more KDE-compilance)[newline ][*] Add full translation support[newline ][*] Removed traybar icon[newline ]

brando56894
9 years ago
main.cpp: In function ‘int main(int, char**)’:
main.cpp:96: error: ‘exit’ was not declared in this scope
main.cpp:104: error: ‘exit’ was not declared in this scope
main.cpp:127: error: ‘exit’ was not declared in this scope
main.cpp:151: error: ‘exit’ was not declared in this scope
main.cpp:251: error: ‘exit’ was not declared in this scope
main.cpp:275: error: ‘exit’ was not declared in this scope
main.cpp:283: error: ‘exit’ was not declared in this scope
main.cpp:294: error: ‘exit’ was not declared in this scope
main.cpp:309: error: ‘exit’ was not declared in this scope
main.cpp:332: error: ‘exit’ was not declared in this scope
main.cpp:345: error: ‘exit’ was not declared in this scope
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/home/bran/builds/kompile/src/kompile-0.3-beta3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/bran/builds/kompile/src/kompile-0.3-beta3'
make: *** [all] Error 2
==> ERROR: Build Failed.
Aborting...
Report
baDibere
10 years ago
"You have forgot to specify a valid sources tarball or specified file isn't a valid sources tarball!
Specify an existing and valid source tarball please.
Maual selection of sources tarball and building options manual setup will be avaiable in future version."
What does it mean? What's the problem and solution?
Thanks..
Report
baDibere
10 years ago
Report
forbore
10 years ago
libtool: link: cannot find the library `/usr/lib/libfam.la'
I run Mandriva Powerpack 2008.0 64bit
Report
forbore
10 years ago
Report
dispatched
11 years ago
There are simply too many DIFFERENT efforts going on trying to provide the same sort of
functionality or even the same sort of app (guess how many of such similar tools for other
window manager might exist)! And apparently some projects are not even aware of the other
ones!?
That's BAD: open source is all about collaboration and not about cooking your own soup.
It should be possible to accomplish much more by uniting the manpower from all related
projects, so that these projects can be -functionality-wise- merged into a new fork
of all of these tools, ensuring that there is no unnecessary competition in an area
that has been successfully addressed on other platforms for decades already.
Apart from that, I truly like kompare-from its maintenance, UI and feature-richness point
of view, kompare is for sure the most advanced and promising utility in its category and
that's GREAT!
However, there are clearly some issues that -for the sake of kompare and its likely future
within KDE- should preferably be addressed, many of which were previously mentioned, but
some weren't yet-I would like to provide a number of enhancements and suggestions related
to turning kompile into a "software build manager":
- in certain situations, configuring a project requires pre-configuration:
some tarballs provide autogen.sh files specifically for this purpose, but
even if these are missing in the tarball itself, the autotools build files
can usually be re-created using autoconf, automake & co
It should be considered to provide optional support for "pre-configuration"
for packages that seem to make use of GNU autotools.
- configurable build directory location
in some situations it may make sense to use non-temporary build locations, that
may optionally not be deleted after installation
- repeated/incremental builds:
some projects may need to be regularly rebuild, so their folder must not be deleted
- decouple the configuration & build steps:
configuration is a step different from building: it doesn't necessarily
require root priviledges, nor will everybody usually/immediatley want to
run the build directly after the tarball's configuration: Steps that aren't
intertwined by default, should be properly separated and being dealt with
as separate entities. Some good suggestions related to kdesudo were already
made, in fact kconfigure also handles all steps separately.
- provide means to individually customize crucial configuration/build standard parameters and environment variables:
most scripts and tools used in the average linux/kde [GNU/autotools-based] tarball
use a predefined set of tools which usually supports a number of standard parameters
and honors certain environment variables (CC, CXX, CFLAGS, CXXFLAGS, LD_FLAGS,
LD_LIBRARY_PATH etc): advanced users may want to be provided with an overview of such
customizable attributes to show their contents and optionally edit/modify them, possibly
even allowing such users to save these settings in some sort of configuration/build profile.
This could for example be used to provide standard build profiles for use of ccache or distcc while
building.
- provide means to customize non-standard parameters:
by running configure --help, the configure script's help can usually be obtained,
this could in turn be used to enable users to pass certain arguments to the script,
this could for example be based on coming up with a suggestion for the argument
name (retrieved from parsing the output), accompanied by a description/tooltip
coming from the description of the argument in the --help output, and then a
textbox/file picker dialog to optionally provide additional info, i.e. for cases
where additional information needs to be passed: ./configure --with-foo=path/to/foo
- interactive default mode while running kompile under KDE/X without arguments:
it might make sense to consider automatically going into interactive/GUI mode
when no parameter were provided, if the DISPLAY variable is set, you can assume
that X is available and anyone running kompile from a shell without arguments,
will probably want to start it in interactive mode, where the tarball can be chosen
from within the UI.
- build management/scheduler:
in some situations it may be desirable to postpone the compilation/build process of
a large -already configured- software project, thus it would be useful if there
was some sort of process (or even daemon) that could act as a build scheduler, which
would trigger builds based on certain criteria/conditions.
For example: I regularly rebuild large software packages such as kde, gcc and mozilla,
however I don't want this to interfere with my daily use of the machine, so I usually
postpone the build to take place at a time when I am not working at the machine, or
when the work/cpu load is really low.
Thus, it would be useful if there was a way to schedule builds to take place at a later time.
This could be based on certain factors, i.e. system load (reading directly from /proc or using
kde sensors).
- build priorities:
for users it would be useful to be able to configure priorities for each scheduled
build (high vs. low)
- build dependencies:
it is not unusual for developers to download a number of related tarballs which feature
mutual dependencies, thus for a software build manager it would make sense to provide
an abstract view of related tarballs, which may need to be configured/built in a certain
order, using information that may come from other projects. This would enable a scenario
where users may configure a number of tarballs to either "be" dependencies of another tarball,
or to provide dependencies to another tarball, so that kompile would be able to automatically
build related packages in a given order.
Again, thank you very much for an already very neat piece of software, and please consider the above ramblings only of advisory character, maybe other users could leave comments concerning these ideas, to help you assess what is generally considered useful and what isn't.
All the Best
Report
Contrast
11 years ago
Report
saejoh
11 years ago
I used this app in its beta2 version.
Unfortunately this link http://www.kde-apps.org/content/download.php?content=30223&id=4 lets us download a tar.gz-file, which is impossible to be extracted as expected with Ark for instance. The extraction process results in numerous errors: ...Couldn't open file. Permission denied. Then follows a general error: Extraction failed.
So my question is: where can we find a proper tar.gz for this wonderful beta3? (I went back to beta2)
Thanks in advance.
Report
invernomuto
11 years ago
probably there was been an error during tarball creation.
I've uploaded a new tarball which should work.
Report
ziuchkov
11 years ago
Report
hellblade
11 years ago
http://archive.ubuntu.com/ubuntu/pool/universe/k/kompile/kompile_0.3~beta2.orig.tar.gz
Report
hellblade
11 years ago
Feature request:
Better integration with checkinstall. Add a configuration dialog providing settings such as name, maintainer, version, description etc.
If you implement the above you can (optionally) try to get some of the info from the distribution, if that program already exists in a repository.
e.g. you can parse the output of "apt-cache show PACKAGENAME" and get the description and the dependencies.
Report
premierSullivan
11 years ago
Report
discodiver
11 years ago
you can find it here
Report
hacosta
12 years ago
what method do you use to keep track of installed files?
Report
bischofPhilipp
12 years ago
The advantage is that you could remove the packages with a package manager.
.deb-packages are made and installed with:
./configure
make
sudo checkinstall -D make install
I do not know how .rpm's are made.
Report
vixiado
12 years ago
For those you are trying to find the Kompile RPMs for SUSE 10.1 you can find them here: http://www.carlos.pinguix.com/suse/10.1/ (src, i586 and debuginfo packages available)
Report
cgoncalves
12 years ago
Report
MuoX
12 years ago
Report
CGA
12 years ago
Report
zero1
12 years ago
thanks! 2 thumbs up!
Report
zero1
12 years ago
what package is this BTW? i can't seem to find it.
has this project been discontinued? it's been a while since an update.
Report
polrus
12 years ago
when i try to do it with "modify" and than "save profile" it says profile has no name but i have no place to put the name
Report
Fez
12 years ago
I hope KDE get behind this and supports you. Particulary when I´ve tried installing it on Mandriva 2005 LE and met dependancy hell and given up in disgust. It would be great to see included with KDE as a package.
Keep up the good work.
Report
invernomuto
12 years ago
I'm trying to understand to us why v0.3 is more slower than v0.2. The only change to "install engine" form v0.2 to v0.3 is switch from QProcess to KProcess classes for building commands's execution.
Thanks to all for reports and patience ;-)
Report