Building KDE 4.8.5 from Slackware sources - few remarks
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Building KDE 4.8.5 from Slackware sources - few remarks
Hi,
I'm currently building KDE 4.8.5 from the Sources found on the Slackware DVD. If you wonder why I would do such a thing: I'd like to tweak the KDE desktop like Tomas M. from Slax did: only build needed apps, and don't build those I never intend to use. Plus, build in a few enhancements.
First things first, one dragon at a time.
The master KDE.SlackBuild allows either building all KDE packages in one go, or build modules individually by passing them as an argument. All modules are listed in the script, around the line 420:
# Yes, we know kde-workspace is built twice. kdebase needs the
# plasma bits from it, and then we build it again for good measure...
# Same goes for kdelibs (at least during KDE 4.8.x) kdeutils:ksecrets needs
# kdelibs and then kdelibs needs a rebuild to pick up ksecretservice
# (this will no longer be required in KDE 4.9).
KDEMODS=" \
kdelibs \
kdepimlibs \
kdebase \
kdesdk \
kdegraphics \
kdebindings \
kdebase:kde-workspace \
kdeaccessibility \
kdeutils \
kdelibs \
kdemultimedia \
extragear:libktorrent \
kdenetwork \
oxygen-icons \
kdeadmin \
kdeartwork \
kdegames \
kdetoys \
kdepim \
kdepim-runtime \
kdeedu \
kdewebdev \
kdeplasma-addons \
polkit-kde \
extragear \
"
Yes, I know kdebase is built twice. But here, the package is compiled twice immediately after the first build. That's something else. I'm talking about the package construction with makepkg immediately after the first build.
It's a side effect of having "kdelibs" both as the name of a module sub-package (inside modules/kdelibs) and as the module name itself (modules/kdelibs). This should be optimized at some point. But it does not hurt, so the priority is low...
It's a side effect of having "kdelibs" both as the name of a module sub-package (inside modules/kdelibs) and as the module name itself (modules/kdelibs). This should be optimized at some point. But it does not hurt, so the priority is low...
It was optimized. The sources that are in -current right now don't do this. I made the fixes in the script when 4.10.1 went into -current (4.10.2 is there now, BTW).
Thanks for the clarification. Now I've found some other curiosity that's bugging me. Here goes.
The master KDE.SlackBuild calls a series of custom cmake scripts:
Code:
# Run cmake, using custom cmake script if needed:
if [ -r $CWD/cmake/${PKGNAME} ]; then
. $CWD/cmake/${PKGNAME}
else
# This is the default configure script:
. $CWD/cmake/cmake
fi
This works fine for kdelibs for example. If I put something (echo "YATAHONGAGA!!!") at the top of cmake/kdelibs and then run this:
Code:
# ./KDE.SlackBuild kdelibs
... I'll see my random line fly by at the top of the configuration lines.
But the same thing seems to fail with cmake/kdebase. Meaning I can add whatever I want at the top of cmake/kdebase and then run this:
Code:
# ./KDE.SlackBuild/kdebase
... it will just get ignored.
So I have to conclude cmake/kdebase is ignored by the master script. Which is a pity, because that's precisely where I would have put my customizations, like specifying which apps to build and which to leave out (like Konqueror for example).
OK, I'll answer that myself, I think I just found out. If there's no file in the cmake directory corresponding to the exact module name (like kde-baseapps) and not the mere "big" package name (like kdebase), then the default 'cmake' file is included.
BTW, I'd be curious to know what XAP stuff is exactly needed for various KDE packages to either build or run.
Capture a log of your KDE compilation and look for these lines:
Code:
The following OPTIONAL packages could NOT be located on your system.
That will tell you exactly what you could optionally add (some of the stuff you'll see is not part of Slackware at all by the way).
If any required software is missing, you will not even get past the "cmake" step of the module.
I would be grateful if the OP would post a copy of these customized scripts! I started tinkering with the same idea --- to create a custom package set with only the desired elements. I've been busy and never got very far.
I would be grateful if the OP would post a copy of these customized scripts! I started tinkering with the same idea --- to create a custom package set with only the desired elements. I've been busy and never got very far.
Capture a log of your KDE compilation and look for these lines:
Code:
The following OPTIONAL packages could NOT be located on your system.
That will tell you exactly what you could optionally add (some of the stuff you'll see is not part of Slackware at all by the way).
If any required software is missing, you will not even get past the "cmake" step of the module.
Careful! This is really only a work in progress, and currently in a highly unusable state. I'll keep you posted once I've "reached a green twig", as we say in Austria.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.