LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
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 02-17-2023, 12:11 AM   #16
nobodino
Senior Member
 
Registered: Jul 2010
Location: Near Bordeaux in France
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564

Rep: Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892

I will need these informations:

Code:
cd  /var/log/packages/ && ls * > ~/Documents/list1.txt && ls *_SBo > ~/Documents/list2.txt && ls -rt *_SBo > ~/Documents/list3.txt
and export here the list1.txt, list2.txt and list3.txt.
 
1 members found this post helpful.
Old 02-17-2023, 01:55 AM   #17
ZhaoLin1457
Senior Member
 
Registered: Jan 2018
Posts: 1,022

Rep: Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208
Quote:
Originally Posted by nobodino View Post
I will need these informations:

Code:
cd  /var/log/packages/ && ls * > ~/Documents/list1.txt && ls *_SBo > ~/Documents/list2.txt && ls -rt *_SBo > ~/Documents/list3.txt
and export here the list1.txt, list2.txt and list3.txt.
Did you download the kde4town.tar tarball?

This tarball contains something like a Ktown tree, with all sources and packages. And it seems that LuckyCyborg used the _SBo tag for 221 of his packages included in that tarball. Being curious why this, I found out that PBSLACKS itself uses this tag.

And as far as I know, LuckyCyborg uses a very limited number of SBo packages. I can bet that he has installed only Chromium, LibreOffice, SMPlayer and MPV with its dependencies.

So I think it's best to hear what he says about the development system: a fresh full install of Slackware 15.0 excluding the KDE series.

I intend myself to prepare a system for this KDE4 town this weekend, to test it and I think maybe I can help with something regarding the problem with KDM's autologin. Because I think it's something related to the integration with LinuxPAM or KDM's scripts.

Last edited by ZhaoLin1457; 02-17-2023 at 01:57 AM.
 
1 members found this post helpful.
Old 02-17-2023, 04:07 AM   #18
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309
Quote:
Originally Posted by nobodino View Post
I will need these informations:

Code:
cd  /var/log/packages/ && ls * > ~/Documents/list1.txt && ls *_SBo > ~/Documents/list2.txt && ls -rt *_SBo > ~/Documents/list3.txt
and export here the list1.txt, list2.txt and list3.txt.
You have attached at this post those 3 files requested.

BUT, like ZhaoLin1457 said, because I used the SlackBuilds from PBSLACKS as base, I have now that tag _SBo for all of my packages, excluding the ones from KDEI. Be also warned about what tag those builds use by default. Certainly in the final build I should use another tag.

In other hand, just like I have said already and he noted, to setup a system for testing this KDE4 build, it's enough a full install excluding the KDE series which contains the Plasma5, as you know.

I for one, I have some additional packages installed, but I do not think that they interfere with the build. They are already enumerated by ZhaoLin1457. In fact, I did not made a secret of what additional packages I have usually.

Please also note that for this experiment I do NOT use my main computer, but some of my boxes from my laboratory garage, so they are quite clean installs. I am confident that the issues from this KDE4 build are generated by the age of KDE4 source code compared with the software present on Slackware 15.0 - anyway, treat this build as something in an alpha stage.
Attached Files
File Type: txt list1.txt (38.1 KB, 13 views)
File Type: txt list2.txt (6.7 KB, 8 views)
File Type: txt list3.txt (6.7 KB, 10 views)

Last edited by LuckyCyborg; 02-17-2023 at 04:10 AM.
 
2 members found this post helpful.
Old 02-17-2023, 07:43 AM   #19
BrunoLafleur
Member
 
Registered: Apr 2020
Location: France
Distribution: Slackware
Posts: 401

Rep: Reputation: 366Reputation: 366Reputation: 366Reputation: 366
Quote:
Originally Posted by LuckyCyborg View Post
@BrunoLafleur

Speaking about the Plasma widgets on my KDE4 build, I have noticed that they in fact works, but they just aren't presented for management.

By copying the file ~/.kde/share/config/plasma-desktop-appletsrc from a Slackware 14.2 LiveSlak flash drive, I got working two widgets which usually I setup: System Load Viewer and Show the Desktop, as seen in the attached screenshot. So, the issue is basically that they are not present in that list bar to manage them.

In other hand, I have noticed that the desktop behaves different when I do auto-login from KDM or (simple) user login.

Apparently, there is a problem of communication over D-BUS, when it's done the auto-login and this means that some applications (KTorrent, KMix, Klipper) does not show in the systray or power buttons waits for minutes until react, with freezing the taskbar.

However, when it's used SDDM, everything is OK, and this in the both cases.
Yes it's the management which is broken. I have I think all the applets. For dbus and kdm I had think about it. I have the plan to look after it.
I think I know what to do. May be the management of applets is correlated because it uses dbus with QCM. But there is also QT5 which override QT4 for QCM in some obscure way.

Applet are not present for managing because there is some errors with QCM. They are managed with qcm.

What you saw is interesting. It will help.
 
3 members found this post helpful.
Old 02-17-2023, 07:55 AM   #20
BrunoLafleur
Member
 
Registered: Apr 2020
Location: France
Distribution: Slackware
Posts: 401

Rep: Reputation: 366Reputation: 366Reputation: 366Reputation: 366
Quote:
Originally Posted by LuckyCyborg View Post
Regarding the NetworkManager integration from my build, with using the libnm-qt-1.0.0.tar.xz, seems like there's still a problem.

Long story short, seem like the systray widget and the connections editor does their job, BUT their graphical interface is not updated when a change is made or happens.

I have connected at the testing box an USB WiFi dongle (known to work well on Linux) and after booting it, I have got the available WiFi connections in widget. Connecting to one of my WiFi routers (I have 3 of them, one with bare Internet, another with Internet over a VPN, both for the house, and lastly another one for my garage) seems like it connected properly, BUT no changes happened to interface.

So, I connect the ethernet cable, which seems to works, BUT again, no interface changes.

Looks like the graphical interface(s) are updated only on startup of applications.

So, until now I have found 4 issues in the overall desktop functionality:

- no suspend/hibernate functionality (and the associated buttons)
- issues with the desktop behavior when the KDE4 desktop is started via autologin on KDM
- the Widgets Explorer does not work, then you can't add Plasma widgets to the desktop
- the NetworkManager's systray widget and connections editor have the interface updated only on startup

And of course, are those few applications which can't be compiled yet: Lokalize, Calligra, Amarok, Rocs, Step

BUT, excluding those issues, the rest of KDE4 works as expected and you remember from Slackware 14.2.
For me libnm-qt seems to work on my pre 15 Slackware. I will retest. It maybe also some changes in NetworkManager. It may have been upgraded. Or just I didn't see your type of problem. I have also some temporary networks I saw in the applet.

I had also modified polkit-kde (as libnm-qt) and patches some others I think you have grabbed.
 
3 members found this post helpful.
Old 02-19-2023, 03:12 AM   #21
nobodino
Senior Member
 
Registered: Jul 2010
Location: Near Bordeaux in France
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564

Rep: Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892
Here are my investigations on kde4town:
- libbluedevil nok with qt5
- PyQT nok with qt5
- qtscriptgenerator nok with qt5
- install the latest virtuoso-ose package from https://slackware.uk/cumulative/slac...slackware64/l/ (package needed by nepomuk)
- replaced the libnm-qt-0.9.9.3 package with libnm-qt-1.0.0 version.
- remove qt5 and qt5-webkit before trying to build because of libbluedevil, PyQT and qtscriptgenerator.They will be reintalled at the end the kde4town build.
- Having both libraries qt4 and qt5 at the same time is not a good choice.
- grantlee needs qt4
- removepkg qt5-* (qt5 and qt5-webkit)
- libraries qt and qtwebkit need to be built before eveything else to be able to link packages to qt4

I used an old version of sfsbuild1.sh, I looked at when plasma was introduced in slackware64-current :
https://git.slackware.nl/current/com...5b3f8b571df3d4

- I then looked at SFS and recovered the sfsbuild.sh of that date 07/12/2020,
- I modified the extragear modules to be able to build calligra
And 'voilą'.

You put the build-kde4.sh in /source/kde, you copy the deps, kde and kdei source in that directory to have:
- /source/kde/desp
- /source/kde/kde
- /source/kde/kdei

You first build all the deps in the new BUILDORDER below.

I changed the BUILDORDER file:
Code:
qt
qtwebkit
qt-gstreamer
PyQT
LibRaw18
exiv221
sip422
eigen32
grantlee051
phonon4qt4
phonon-gstreamer
polkit-qt4-1
qca213
libdbusmenu-qt4
poppler-qt4
cln
automoc4
glade3
libbluedevil
liblastfm
qjson
raptor2
rasqal
redland
soprano 
attica042
qimageblitz
qtscriptgenerator
strigi
akonadi
I modified the cmake of calligra to make it build (added new flags to c++):

Code:
# NOTE: Added -DU_USING_ICU_NAMESPACE=1 to CXXFLAGS, which should be a temporary
# requirement. See the link below:
# http://site.icu-project.org/download/61#TOC-Migration-Issues

mkdir build
cd build
  cmake \
    $KDE_OPT_ARGS \
    -DEXIV2_VERSION=0.21.1 \
    -DCMAKE_PREFIX_PATH="/usr/lib${LIBDIRSUFFIX}/exiv221;/usr/lib${LIBDIRSUFFIX}/eigen32" \
    -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -std=gnu++98 -DU_USING_ICU_NAMESPACE=1 -Wno-narrowing" \
    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -DU_USING_ICU_NAMESPACE=1 -Wno-narrowing" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=gnu++98 -DU_USING_ICU_NAMESPACE=1 -Wno-narrowing --std=c++11" \
    -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -DU_USING_ICU_NAMESPACE=1 -Wno-narrowing --std=c++11" \
    -DCMAKE_INCLUDE_PATH:STRING="/usr/include/openmj2-2.1" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DMAN_INSTALL_DIR=/usr/man \
    -DSYSCONF_INSTALL_DIR=/etc/kde \
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
    -DIHAVEPATCHEDQT:BOOL=ON \
    -DOPENJPEG_INCLUDE_DIR=/usr/include/openmj2-2.1 \
    -DOPENJPEG_NAMES=openmj2 \
    -DBoost_NO_BOOST_CMAKE=ON \
    ..
I modified the file extragear in "modules"

Code:
bluedevil
kplayer
kwebkitpart
oxygen-gtk2
kdevplatform
kdevelop-pg-qt
kdevelop
kdev-python
kdevelop-php
kdevelop-php-docs
#wicd-kde
skanlite
kio-mtp
libktorrent
ktorrent
calligra
libkscreen
kscreen
kdeconnect-kde
partitionmanager
k3b
libmm-qt
amarok
libnm-qt
plasma-nm
kaudiocreator
You then execute the following and wait till the end:

time ./build-kde4.sh

I enclose the build-kde4.sh script and the list.diff between my installation and LuckyCyborg installation (his list1.txt).
Everything builds fine.
At the end reinstall the qt5 and qt5-webkit packages.
Hope this helps LuckyCyborg.
Attached Files
File Type: txt build-kde4.txt (12.1 KB, 5 views)
File Type: txt list.diff.txt (5.8 KB, 6 views)

Last edited by nobodino; 02-19-2023 at 02:54 PM.
 
4 members found this post helpful.
Old 02-20-2023, 12:37 AM   #22
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309
Quote:
Originally Posted by nobodino View Post
Here are my investigations on kde4town:
- libbluedevil nok with qt5
- PyQT nok with qt5
- qtscriptgenerator nok with qt5
- install the latest virtuoso-ose package from https://slackware.uk/cumulative/slac...slackware64/l/ (package needed by nepomuk)
- replaced the libnm-qt-0.9.9.3 package with libnm-qt-1.0.0 version.
- remove qt5 and qt5-webkit before trying to build because of libbluedevil, PyQT and qtscriptgenerator.They will be reintalled at the end the kde4town build.
- Having both libraries qt4 and qt5 at the same time is not a good choice.
- grantlee needs qt4
- removepkg qt5-* (qt5 and qt5-webkit)
- libraries qt and qtwebkit need to be built before eveything else to be able to link packages to qt4

I used an old version of sfsbuild1.sh, I looked at when plasma was introduced in slackware64-current :
https://git.slackware.nl/current/com...5b3f8b571df3d4

- I then looked at SFS and recovered the sfsbuild.sh of that date 07/12/2020,
- I modified the extragear modules to be able to build calligra
And 'voilą'.

You put the build-kde4.sh in /source/kde, you copy the deps, kde and kdei source in that directory to have:
- /source/kde/desp
- /source/kde/kde
- /source/kde/kdei

You first build all the deps in the new BUILDORDER below.

I changed the BUILDORDER file:
Code:
qt
qtwebkit
qt-gstreamer
PyQT
LibRaw18
exiv221
sip422
eigen32
grantlee051
phonon4qt4
phonon-gstreamer
polkit-qt4-1
qca213
libdbusmenu-qt4
poppler-qt4
cln
automoc4
glade3
libbluedevil
liblastfm
qjson
raptor2
rasqal
redland
soprano 
attica042
qimageblitz
qtscriptgenerator
strigi
akonadi
I modified the cmake of calligra to make it build (added new flags to c++):

Code:
# NOTE: Added -DU_USING_ICU_NAMESPACE=1 to CXXFLAGS, which should be a temporary
# requirement. See the link below:
# http://site.icu-project.org/download/61#TOC-Migration-Issues

mkdir build
cd build
  cmake \
    $KDE_OPT_ARGS \
    -DEXIV2_VERSION=0.21.1 \
    -DCMAKE_PREFIX_PATH="/usr/lib${LIBDIRSUFFIX}/exiv221;/usr/lib${LIBDIRSUFFIX}/eigen32" \
    -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -std=gnu++98 -DU_USING_ICU_NAMESPACE=1 -Wno-narrowing" \
    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -DU_USING_ICU_NAMESPACE=1 -Wno-narrowing" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=gnu++98 -DU_USING_ICU_NAMESPACE=1 -Wno-narrowing --std=c++11" \
    -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -DU_USING_ICU_NAMESPACE=1 -Wno-narrowing --std=c++11" \
    -DCMAKE_INCLUDE_PATH:STRING="/usr/include/openmj2-2.1" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DMAN_INSTALL_DIR=/usr/man \
    -DSYSCONF_INSTALL_DIR=/etc/kde \
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
    -DIHAVEPATCHEDQT:BOOL=ON \
    -DOPENJPEG_INCLUDE_DIR=/usr/include/openmj2-2.1 \
    -DOPENJPEG_NAMES=openmj2 \
    -DBoost_NO_BOOST_CMAKE=ON \
    ..
I modified the file extragear in "modules"

Code:
bluedevil
kplayer
kwebkitpart
oxygen-gtk2
kdevplatform
kdevelop-pg-qt
kdevelop
kdev-python
kdevelop-php
kdevelop-php-docs
#wicd-kde
skanlite
kio-mtp
libktorrent
ktorrent
calligra
libkscreen
kscreen
kdeconnect-kde
partitionmanager
k3b
libmm-qt
amarok
libnm-qt
plasma-nm
kaudiocreator
You then execute the following and wait till the end:

time ./build-kde4.sh

I enclose the build-kde4.sh script and the list.diff between my installation and LuckyCyborg installation (his list1.txt).
Everything builds fine.
At the end reinstall the qt5 and qt5-webkit packages.
Hope this helps LuckyCyborg.
Thank you, Monsieur Nobodino! I can confirm that the "-std=c++11" addition on CXXFLAGS fixes the Calligra compilation, so it's a step forward.

HOWEVER, there are still several packages which fails, and they aren't also present in your list diff:

LOCALIZE of KDESDK fails on cmake config, by not finding HUNSPELL.
ROCS and STEP of KDEEDU fails on compilation.
AMAROK of EXTRAGEAR fails on cmake config, by not finding TAGLIB.

I did a full (re)build respecting all your notes - without Qt5 (and Qt5-webkit) being installed, also to test the BrunoLafleur's hypothesis regarding that the Widgets Browser is being disturbed by Qt5. And unfortunately that Plasma widgets bar is empty also in this case.

In fact, no one of these known 4 issues of KDE4 desktop are fixed with a build without Qt5. Nothing changed - maybe because BrunoLafleur did special measures on this KDE4 build from PBSLACKS for tagging along with Qt5 applications.

PS. I have news from that friend of mine (who made the custom patches added by me in this KDE4 build) and he said that there's already support for Power Management via systemd(-logind) on the KDE4 source code and that in few days he will show me also a patch for making suspend/hibernate working with our elogind.

PS2. And what we do with the virtuoso-ose package? The SlackBuild grabbed from Slackware (14.2 -current) does not compile on Slackware 15.0 because OpenSSL errors in compilation.

http://ftp.pieskovisko.sk/linux/slac.../virtuoso-ose/

Last edited by LuckyCyborg; 02-20-2023 at 06:55 AM.
 
2 members found this post helpful.
Old 02-20-2023, 01:11 AM   #23
ZhaoLin1457
Senior Member
 
Registered: Jan 2018
Posts: 1,022

Rep: Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208
@LuckyCyborg

I can add another desktop problem: notifications do not work or are not presented.

I used the packages from that kde4town.tar with updates for libnm-qt and plasma-nm as discussed in this thread.
 
2 members found this post helpful.
Old 02-20-2023, 01:23 AM   #24
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309
Quote:
Originally Posted by ZhaoLin1457 View Post
@LuckyCyborg

I can add another desktop problem: notifications do not work or are not presented.

I used the packages from that kde4town.tar with updates for libnm-qt and plasma-nm as discussed in this thread.
Yes, I have noticed this too yesterday because I did some downloads with KTorrent, but I forgot to mention it.

Last edited by LuckyCyborg; 02-20-2023 at 01:49 AM.
 
2 members found this post helpful.
Old 02-20-2023, 06:14 AM   #25
nobodino
Senior Member
 
Registered: Jul 2010
Location: Near Bordeaux in France
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564

Rep: Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892
- lokalize: you can fool the system by downgrading to hunspell-1.6.2
- rocs: you can fool the system by downgrading to boost-1.74.0
- step: you can fool the system by installing eigen2-2.0.17

then upgradepkg hunspell and boost, removepkg eigen2

the last one, amarok: I still looking for a smart solution.

Last edited by nobodino; 02-20-2023 at 06:16 AM.
 
1 members found this post helpful.
Old 02-20-2023, 06:31 AM   #26
cwizardone
LQ Veteran
 
Registered: Feb 2007
Distribution: Slackware64-current with "True Multilib" and KDE4Town.
Posts: 9,103

Rep: Reputation: 7278Reputation: 7278Reputation: 7278Reputation: 7278Reputation: 7278Reputation: 7278Reputation: 7278Reputation: 7278Reputation: 7278Reputation: 7278Reputation: 7278
"nok" means what?
 
Old 02-20-2023, 06:40 AM   #27
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309
Quote:
Originally Posted by nobodino View Post
- lokalize: you can fool the system by downgrading to hunspell-1.6.2
- rocs: you can fool the system by downgrading to boost-1.74.0
- step: you can fool the system by installing eigen2-2.0.17

then upgradepkg hunspell and boost, removepkg eigen2

the last one, amarok: I still looking for a smart solution.
BUT, I do NOT want to "fool the system" ...

What I want is to compile KDE4 on (and for) Slackware 15.0 as cleanly as possible, eventually patching it where's the case.

For me, the virtuoso-ose package grabbed from Slackware 14.2 already looks quite suspicious, as it needs for building the OpenSSL 1.0 libraries, from what I understand. Then, either I should find a patch for it to build it on Slackware 15.0 either I should find a way to KDE4 to work without it. Most likely I will drop it.

In the end, same did our BDFL on Fri Sep 21 18:51:07 UTC 2018
Code:
l/soprano-2.9.4-x86_64-3.txz:  Rebuilt.
  Recompiled to drop virtuoso dependency.
l/virtuoso-ose-6.1.8-x86_64-9.txz:  Removed.
  Even KDE4 has migrated away from actually using this for anything. The last
  thing in Slackware that was dependent on it was Soprano, which has been
  recompiled to no longer use it.
So, no, thanks! No rolling back stock Slackware packages, please!

Speaking of patches, I have just received the one for kde-workspace which adds support for elogind managed suspend/hibernate.
Code:
diff -urN kde-workspace-4.11.22.orig/khotkeys/libkhotkeysprivate/windows_helper/window_selection_rules.cpp kde-workspace-4.11.22/khotkeys/libkhotkeysprivate/windows_helper/window_selection_rules.cpp
--- kde-workspace-4.11.22.orig/khotkeys/libkhotkeysprivate/windows_helper/window_selection_rules.cpp	2015-08-12 10:03:15.000000000 +0300
+++ kde-workspace-4.11.22/khotkeys/libkhotkeysprivate/windows_helper/window_selection_rules.cpp	2023-02-20 10:23:26.116021645 +0200
@@ -91,7 +91,7 @@
         case NOT_IMPORTANT :
           return true;
         case CONTAINS :
-          return str1_P.contains( str2_P ) > 0;
+          return str1_P.contains( str2_P );
         case IS :
           return str1_P == str2_P;
         case REGEXP :
@@ -100,7 +100,7 @@
           return rg.indexIn( str1_P ) >= 0;
             }
         case CONTAINS_NOT :
-          return str1_P.contains( str2_P ) == 0;
+          return ! str1_P.contains( str2_P );
         case IS_NOT :
           return str1_P != str2_P;
         case REGEXP_NOT :
diff -urN kde-workspace-4.11.22.orig/libs/taskmanager/task.cpp kde-workspace-4.11.22/libs/taskmanager/task.cpp
--- kde-workspace-4.11.22.orig/libs/taskmanager/task.cpp	2015-08-12 10:03:15.000000000 +0300
+++ kde-workspace-4.11.22/libs/taskmanager/task.cpp	2023-02-20 10:23:26.134021646 +0200
@@ -478,10 +478,7 @@
     if (id1.isEmpty() || id2.isEmpty())
         return false;
 
-    if (id1.contains(id2) > 0)
-        return true;
-
-    if (id2.contains(id1) > 0)
+    if (id1.contains(id2) || id2.contains(id1))
         return true;
 
     return false;
diff -urN kde-workspace-4.11.22.orig/plasma/generic/dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp kde-workspace-4.11.22/plasma/generic/dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp
--- kde-workspace-4.11.22.orig/plasma/generic/dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp	2015-08-12 10:03:15.000000000 +0300
+++ kde-workspace-4.11.22/plasma/generic/dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp	2023-02-20 10:23:26.134021646 +0200
@@ -312,11 +312,11 @@
 
     while (!stream.atEnd()) {
        line = stream.readLine();
-       if (line.contains("<p class=\"response\">") > 0) {
+       if (line.contains("<p class=\"response\">")) {
            flag = 1;
        }
 
-       if (line.contains("There are no forecasts matching") > 0) {
+       if (line.contains("There are no forecasts matching")) {
            break;
        }
 
@@ -342,7 +342,7 @@
             }
        }
 
-       if (line.contains("<div class=\"line\">") > 0) {
+       if (line.contains("<div class=\"line\">")) {
            flag = 0;
        }
     }
diff -urN kde-workspace-4.11.22.orig/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp kde-workspace-4.11.22/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
--- kde-workspace-4.11.22.orig/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp	2015-08-12 10:03:15.000000000 +0300
+++ kde-workspace-4.11.22/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp	2023-02-20 11:26:34.073008563 +0200
@@ -38,41 +38,6 @@
 
 #define HELPER_ID "org.kde.powerdevil.backlighthelper"
 
-bool checkSystemdVersion(uint requiredVersion)
-{
-
-    QDBusInterface systemdIface("org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager",
-                                QDBusConnection::systemBus(), 0);
-
-    const QString reply = systemdIface.property("Version").toString();
-
-    QRegExp expsd("(systemd )?([0-9]+)");
-
-    if (expsd.exactMatch(reply)) {
-        const uint version = expsd.cap(2).toUInt();
-        return (version >= requiredVersion);
-    }
-
-    // Since version 1.11 Upstart user sessions implement the exact same API as logind
-    // and are going to the maintain the API in future releases.
-    // Hence, powerdevil can support this init system as well
-    // This has no effect on systemd integration since the check is done after systemd
-    ComUbuntuUpstart0_6Interface upstartInterface(QLatin1String("com.ubuntu.Upstart"),
-                                                  QLatin1String("/com/ubuntu/Upstart"),
-                                                  QDBusConnection::sessionBus());
-
-    QRegExp exp("(?:init \\()?upstart ([0-9.]+)(?:\\))?");
-    if(exp.exactMatch(upstartInterface.version())) {
-        // Only keep the X.Y part of a X.Y.Z version
-        QStringList items = exp.cap(1).split('.').mid(0, 2);
-        const float upstartVersion = items.join(QString('.')).toFloat();
-        return upstartVersion >= 1.1;
-    }
-
-    kDebug() << "No appropriate systemd version or upstart version found";
-    return false;
-}
-
 PowerDevilUPowerBackend::PowerDevilUPowerBackend(QObject* parent)
     : BackendInterface(parent),
       m_brightnessControl(0), m_kbdMaxBrightness(0),
@@ -231,7 +196,7 @@
 
     // Supported suspend methods
     SuspendMethods supported = UnknownSuspendMethod;
-    if (m_login1Interface && checkSystemdVersion(195)) {
+    if (m_login1Interface) {
         QDBusPendingReply<QString> canSuspend = m_login1Interface.data()->asyncCall("CanSuspend");
         canSuspend.waitForFinished();
         if (canSuspend.isValid() && (canSuspend.value() == "yes" || canSuspend.value() == "challenge"))
@@ -246,7 +211,10 @@
         canHybridSleep.waitForFinished();
         if (canHybridSleep.isValid() && (canHybridSleep.value() == "yes" || canHybridSleep.value() == "challenge"))
             supported |= HybridSuspend;
-    } else {
+    }
+
+    // Check if we can suspend/hibernate with UPower < 0.99
+    if (supported == UnknownSuspendMethod) {
         if (m_upowerInterface->canSuspend() && m_upowerInterface->SuspendAllowed()) {
             kDebug() << "Can suspend";
             supported |= ToRam;
@@ -256,10 +224,14 @@
             kDebug() << "Can hibernate";
             supported |= ToDisk;
         }
+
+        if (supported != UnknownSuspendMethod) {
+            m_useUPowerSuspend = true;
+        }
     }
 
     // "resuming" signal
-    if (m_login1Interface && checkSystemdVersion(198)) {
+    if (m_login1Interface && !m_useUPowerSuspend) {
         connect(m_login1Interface.data(), SIGNAL(PrepareForSleep(bool)), this, SLOT(slotLogin1Resuming(bool)));
     } else {
         connect(m_upowerInterface, SIGNAL(Resuming()), this, SIGNAL(resumeFromSuspend()));
@@ -431,7 +403,7 @@
 
 KJob* PowerDevilUPowerBackend::suspend(PowerDevil::BackendInterface::SuspendMethod method)
 {
-    if (m_login1Interface && checkSystemdVersion(195)) {
+    if (m_login1Interface && !m_useUPowerSuspend) {
         return new Login1SuspendJob(m_login1Interface.data(), method, supportedSuspendMethods());
     } else {
         return new UPowerSuspendJob(m_upowerInterface, method, supportedSuspendMethods());
diff -urN kde-workspace-4.11.22.orig/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h kde-workspace-4.11.22/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h
--- kde-workspace-4.11.22.orig/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h	2015-08-12 10:03:15.000000000 +0300
+++ kde-workspace-4.11.22/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h	2023-02-20 11:19:26.070359333 +0200
@@ -96,6 +96,7 @@
 
     // login1 interface
     QWeakPointer<QDBusInterface> m_login1Interface;
+    bool m_useUPowerSuspend = false;
 
     // buttons
     bool m_lidIsPresent;
This patch is supposed to replace the gzipped kde-workspace-4.11.22.diff.

My friend said that basically the Slackware 15.0 ships the login1 API from systemd 246.10, so there is no need for some systemd version checks on that code. Hence the logic of this patch.

I have tested it already and both suspend and hibernate works properly on my KDE4 build, and of course, the associated buttons are back.

So, one of the KDE4 desktop issues could be considered solved.

Last edited by LuckyCyborg; 02-20-2023 at 08:21 AM.
 
3 members found this post helpful.
Old 02-20-2023, 06:41 AM   #28
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309
Quote:
Originally Posted by cwizardone View Post
"nok" means what?
Probably: Not OK .

Last edited by LuckyCyborg; 02-20-2023 at 06:43 AM.
 
2 members found this post helpful.
Old 02-20-2023, 10:00 AM   #29
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309
And bellow is the patch for building LOKALIZE of KDESDK:
Code:
diff -urN lokalize-4.14.3.orig/CMakeLists.txt lokalize-4.14.3/CMakeLists.txt
--- lokalize-4.14.3.orig/CMakeLists.txt	2014-07-16 11:26:14.000000000 +0300
+++ lokalize-4.14.3/CMakeLists.txt	2023-02-20 17:54:26.599635955 +0200
@@ -2,6 +2,8 @@
 
 project(lokalize)
 
+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
+
 # search packages used by KDE
 find_package(KDE4 REQUIRED)
 include(KDE4Defaults)
diff -urN lokalize-4.14.3.orig/cmake/FindHUNSPELL.cmake lokalize-4.14.3/cmake/FindHUNSPELL.cmake
--- lokalize-4.14.3.orig/cmake/FindHUNSPELL.cmake	1970-01-01 02:00:00.000000000 +0200
+++ lokalize-4.14.3/cmake/FindHUNSPELL.cmake	2022-01-03 23:53:08.000000000 +0200
@@ -0,0 +1,31 @@
+# - Try to find HUNSPELL
+# Once done this will define
+#
+#  HUNSPELL_FOUND - system has HUNSPELL
+#  HUNSPELL_INCLUDE_DIRS - the HUNSPELL include directory
+#  HUNSPELL_LIBRARIES - The libraries needed to use HUNSPELL
+
+# SPDX-FileCopyrightText: 2017 Pino Toscano <pino@kde.org>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+find_package(PkgConfig)
+pkg_check_modules(PKG_HUNSPELL QUIET hunspell)
+
+find_path(HUNSPELL_INCLUDE_DIRS
+          NAMES hunspell.hxx
+          PATH_SUFFIXES hunspell
+          HINTS ${PKG_HUNSPELL_INCLUDE_DIRS}
+)
+find_library(HUNSPELL_LIBRARIES
+             NAMES ${PKG_HUNSPELL_LIBRARIES} hunspell hunspell-1.6 hunspell-1.5 hunspell-1.4 hunspell-1.3 hunspell-1.2 libhunspell
+             HINTS ${PKG_HUNSPELL_LIBRARY_DIRS}
+)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(HUNSPELL
+                                  REQUIRED_VARS HUNSPELL_LIBRARIES HUNSPELL_INCLUDE_DIRS
+                                  VERSION_VAR PKG_HUNSPELL_VERSION
+)
+
+mark_as_advanced(HUNSPELL_INCLUDE_DIRS HUNSPELL_LIBRARIES)
 
2 members found this post helpful.
Old 02-20-2023, 10:25 AM   #30
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309Reputation: 3309
And bellow is the patch for building AMAROK of EXTRAGEAR:
Code:
Description: Fix TagLib version check.
 The version check compared version strings lexicographically, so "1.7"
 (the min version) compared as greater than "1.10.0".
Author: Omar Plummer <omarplummer@imergetechnologies.com>
Origin: upstream, commit:fec8817c530ce42b6485fdabff6051784b8d9904
Bug: http://bugs.kde.org/351013
Bug-Debian: https://bugs.debian.org/841134
Applied-Upstream: yes
Last-Update: 2016-12-01

diff --git a/cmake/modules/FindTaglib.cmake b/cmake/modules/FindTaglib.cmake
index 76b83ac..f485a42 100644
--- a/cmake/modules/FindTaglib.cmake
+++ b/cmake/modules/FindTaglib.cmake
@@ -29,10 +29,10 @@ if(TAGLIBCONFIG_EXECUTABLE)
 
   exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
 
-  if(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
+  if("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
      message(STATUS "TagLib version too old: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
      set(TAGLIB_FOUND FALSE)
-  else(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
+  else("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
 
      exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
 
@@ -42,7 +42,7 @@ if(TAGLIBCONFIG_EXECUTABLE)
         set(TAGLIB_FOUND TRUE)
      endif(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
      string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
-  endif(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}") 
+  endif("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
   mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
 
 else(TAGLIBCONFIG_EXECUTABLE)
So, remains with building issues the packages: ROCS and STEP of KDEEDU.
 
1 members found this post helpful.
  


Reply



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
KDE4 pbslacks BrunoLafleur Slackware 29 02-26-2021 07:57 AM
e.g., BSD style (Slackware) vs. SystemV style startup scripts haertig Slackware 5 01-03-2009 10:52 PM

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

All times are GMT -5. The time now is 12:42 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