LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 04-06-2013, 05:00 AM   #1
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
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:

Code:
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 \
  "
First strange thing that strikes me. When I build the first module like this:

Code:
# ./KDE.SlackBuild kdelibs
... the module compiles fine, but then:
  1. makepkg builds the package.
  2. It gets installed.
  3. makepkg builds the package again immediately afterwards.
  4. It gets "updated" with itself.

Is this intended or just a minor bug in the build script?

Cheers,

Niki
 
Old 04-06-2013, 05:57 AM   #2
phenixia2003
Senior Member
 
Registered: May 2006
Location: France
Distribution: Slackware
Posts: 1,052

Rep: Reputation: 1008Reputation: 1008Reputation: 1008Reputation: 1008Reputation: 1008Reputation: 1008Reputation: 1008Reputation: 1008
Hello,

This is documented in the SlackBuild:

Code:
# 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 \
  "
--
SeB
 
Old 04-06-2013, 06:55 AM   #3
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Original Poster
Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
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.
 
Old 04-06-2013, 07:48 AM   #4
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
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...

Eric
 
1 members found this post helpful.
Old 04-06-2013, 09:11 AM   #5
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 2,499

Rep: Reputation: 8450Reputation: 8450Reputation: 8450Reputation: 8450Reputation: 8450Reputation: 8450Reputation: 8450Reputation: 8450Reputation: 8450Reputation: 8450Reputation: 8450
Quote:
Originally Posted by Alien Bob View Post
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).
 
4 members found this post helpful.
Old 04-06-2013, 09:55 AM   #6
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Original Poster
Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
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).

Any idea what's wrong here?
 
Old 04-06-2013, 10:07 AM   #7
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Original Poster
Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
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.

Now here's the solution to the problem:

Code:
# cd cmake
# cp kdebase kde-baseapps
Edit this file like this, for example:

Code:
cat CMakeLists.txt | \
  grep -v "add_subdirectory( konqueror )" | \
  grep -v "add_subdirectory( keditbookmarks )" | \
  grep -v "add_subdirectory( konq-plugins )" \
  > yatahongaga
mv yatahongaga CMakeLists.txt
mkdir -p build
cd build
  cmake \
    $KDE_OPT_ARGS \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DMAN_INSTALL_DIR=/usr/man \
    -DSYSCONF_INSTALL_DIR=/etc/kde \
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
    -DRUN_KAPPFINDER=ON \
    ..
Now the kde-baseapps module will be built without Konqueror.

Last edited by kikinovak; 04-06-2013 at 10:32 AM.
 
Old 04-06-2013, 12:02 PM   #8
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Original Poster
Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
BTW, I'd be curious to know what XAP stuff is exactly needed for various KDE packages to either build or run.
 
Old 04-06-2013, 01:37 PM   #9
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
Quote:
Originally Posted by kikinovak View Post
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.

Eric
 
1 members found this post helpful.
Old 04-06-2013, 01:53 PM   #10
Woodsman
Senior Member
 
Registered: Oct 2005
Distribution: Slackware 14.1
Posts: 3,482

Rep: Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546
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.
 
Old 04-06-2013, 02:10 PM   #11
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
Quote:
Originally Posted by Woodsman View Post
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.
Kikinovak already did: https://github.com/kikinovak/worksta...4.0/source/kde

Eric
 
Old 04-06-2013, 03:54 PM   #12
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Original Poster
Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
Quote:
Originally Posted by Alien Bob View Post
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.

Eric
OK, thanks, Eric!
 
Old 04-06-2013, 03:56 PM   #13
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Original Poster
Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
Quote:
Originally Posted by Alien Bob View Post
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.
 
Old 04-06-2013, 04:20 PM   #14
Woodsman
Senior Member
 
Registered: Oct 2005
Distribution: Slackware 14.1
Posts: 3,482

Rep: Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546
Okay, thanks. My big bump right now is I can't figure out how to build Qt4 with the QT_NO_TOOLTIP option. The build always fails.
 
Old 04-06-2013, 04:27 PM   #15
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Original Poster
Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
Well, just ignore the tooltips. Or as some yoga teacher once said to me: don't think about that pink elephant.
 
1 members found this post helpful.
  


Reply

Tags
kde



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Some minor remarks Slackware 14.0 ChrisAbela Slackware 1 10-08-2012 09:18 AM
Building RHEL 6 from sources TylerGriffiths Red Hat 8 06-12-2012 08:22 AM
Building binaries from sources simonspt Linux - Newbie 2 05-23-2012 02:23 PM
building rpm from sources Yoyo302 Fedora 1 07-28-2005 06:52 PM
Building RPM's from Sources in RH 7.3 MgF Linux - Newbie 2 02-03-2003 12:36 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:54 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration