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 02-20-2023, 11:14 AM   #31
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

-for step, you can create an eigen2-2.1.17 SBo package.
-for rocs, you can create a boost compat package aka this https://slackware.uk/people/alien/sl...-compat/build/ which should include also boost-1.74. For the time being, it includes from 1.76 to 1.81.
 
Old 02-20-2023, 11:21 AM   #32
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308
Quote:
Originally Posted by nobodino View Post
-for step, you can create an eigen2-2.1.17 SBo package.
-for rocs, you can create a boost compat package aka this https://slackware.uk/people/alien/sl...-compat/build/ which should include also boost-1.74. For the time being, it includes from 1.76 to 1.81.
Honestly, after the mass build, I did not arrived yet at STEP, but ROCS now fails with this error:
Code:
tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.cpp: In member function ‘virtual bool SelectMoveHandAction::executePress(QPointF)’:
/tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.cpp:87:17: error: conversion from ‘int’ to ‘QPainter::RenderHints’ {aka ‘QFlags<QPainter::RenderHint>’} is ambiguous
   86 |         _graphScene->views().at(0)->setRenderHints(QPainter::Antialiasing
      |                                                    ~~~~~~~~~~~~~~~~~~~~~~
   87 |                 & QPainter::TextAntialiasing);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/kdemacros.h:162,
                 from /usr/include/kdeui_export.h:24,
                 from /usr/include/kaction.h:29,
                 from /usr/include/KDE/../ktoggleaction.h:30,
                 from /usr/include/KDE/KToggleAction:1,
                 from /tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/AbstractAction.h:22,
                 from /tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.h:24,
                 from /tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.cpp:21:
/usr/lib64/qt/include/QtCore/qglobal.h:2436:29: note: candidate: ‘constexpr QFlags<Enum>::QFlags(QFlags<Enum>::Zero) [with Enum = QPainter::RenderHint; QFlags<Enum>::Zero = void**]’ (near match)
 2436 |     Q_DECL_CONSTEXPR inline QFlags(Zero = 0) : i(0) {}
...
This does not seems a Boost error, but something regarding Qt.

I use this cmake/rocs file:
Code:
mkdir build
cd build
  cmake \
    $KDE_OPT_ARGS \
    -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
    -DCMAKE_PREFIX_PATH="/usr/lib${LIBDIRSUFFIX}/grantlee051" \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++11 -fpermissive" \
    -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c++11 -fpermissive" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DMAN_INSTALL_DIR=/usr/man \
    -DSYSCONF_INSTALL_DIR=/etc/kde \
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
    ..
Unfortunately, my friend can't help anymore for the next several weeks, because he has a deadline at job. Seems like the last patch he had time for is the one for elogind support - that's why it was delivered also early. Heck, he made over 20 patches for this KDE4 build - so I can't lament for this.

Last edited by LuckyCyborg; 02-20-2023 at 11:31 AM.
 
1 members found this post helpful.
Old 02-20-2023, 11:37 AM   #33
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
if you let the original cmake

Code:
mkdir build
cd build
  cmake \
    $KDE_OPT_ARGS \
    -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
    -DCMAKE_PREFIX_PATH="/usr/lib${LIBDIRSUFFIX}/grantlee051" \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++98" \
    -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} \
    ..
you will see a bunch of boost errors like this one:

Code:
/usr/include/boost/math/policies/error_handling.hpp:833:48: error: expected initializer before ‘noexcept’
  833 | std::pair<T, T> pair_from_single(const T& val) BOOST_MATH_NOEXCEPT(T)
so try to downgrade to boost-1.74.0-x86_64-3.txz (from here: https://slackware.uk/cumulative/slac...slackware64/l/), which was the boost version when kde4 was removed on 8th december 2020.
And tell us the result.
 
Old 02-20-2023, 11:44 AM   #34
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,356

Rep: Reputation: 4067Reputation: 4067Reputation: 4067Reputation: 4067Reputation: 4067Reputation: 4067Reputation: 4067Reputation: 4067Reputation: 4067Reputation: 4067Reputation: 4067
This turns into an archaeological dig, which suits well to LuckyCyborg
 
2 members found this post helpful.
Old 02-20-2023, 11:49 AM   #35
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308
Quote:
Originally Posted by nobodino View Post
if you let the original cmake

Code:
mkdir build
cd build
  cmake \
    $KDE_OPT_ARGS \
    -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
    -DCMAKE_PREFIX_PATH="/usr/lib${LIBDIRSUFFIX}/grantlee051" \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++98" \
    -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} \
    ..
you will see a bunch of boost errors like this one:

Code:
/usr/include/boost/math/policies/error_handling.hpp:833:48: error: expected initializer before ‘noexcept’
  833 | std::pair<T, T> pair_from_single(const T& val) BOOST_MATH_NOEXCEPT(T)
so try to downgrade to boost-1.74.0-x86_64-3.txz (from here: https://slackware.uk/cumulative/slac...slackware64/l/), which was the boost version when kde4 was removed on 8th december 2020.
And tell us the result.
Like I said already, for this KDE4 build I prefer very strongly to NOT downgrade the system packages. Heck, even the Qt5 removal (while building the packages) is something which I really like to avoid in future.

Anyway, it's quite clearly that it's a Qt4 value casting error, not a Boost error.

Last edited by LuckyCyborg; 02-20-2023 at 11:50 AM.
 
2 members found this post helpful.
Old 02-20-2023, 12:36 PM   #36
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308
And bellow is the patch for building ROCS of KDEEDU:
Code:
diff -urN rocs-4.14.3.orig/RocsCore/DataStructures/Graph/GraphStructure.cpp rocs-4.14.3/RocsCore/DataStructures/Graph/GraphStructure.cpp
--- rocs-4.14.3.orig/RocsCore/DataStructures/Graph/GraphStructure.cpp	2014-10-09 08:21:27.000000000 +0300
+++ rocs-4.14.3/RocsCore/DataStructures/Graph/GraphStructure.cpp	2023-02-20 20:26:20.923315192 +0200
@@ -323,7 +323,7 @@
     counter = 0;
     foreach(PointerPtr p, pointerListAll) {
         edges[counter] = Edge(node_mapping[p->from()->identifier()], node_mapping[p->to()->identifier()]);
-        edge_mapping[std::make_pair < int, int > (node_mapping[p->from()->identifier()], node_mapping[p->to()->identifier()])] = p;
+        edge_mapping[std::make_pair < int, int > ((int)node_mapping[p->from()->identifier()], (int)node_mapping[p->to()->identifier()])] = p;
         if (!p->property("value").toString().isEmpty()) {
             weights[counter] = p->property("value").toDouble();
         } else {
@@ -333,7 +333,7 @@
         // if graph is directed, also add back-edges
         if (p->direction() == PointerType::Bidirectional) {
             edges[counter] = Edge(node_mapping[p->to()->identifier()], node_mapping[p->from()->identifier()]);
-            edge_mapping[std::make_pair< int, int >(node_mapping[p->to()->identifier()], node_mapping[p->from()->identifier()])] = p;
+            edge_mapping[std::make_pair< int, int >((int)node_mapping[p->to()->identifier()], (int)node_mapping[p->from()->identifier()])] = p;
             if (!p->property("value").toString().isEmpty()) {
                 weights[counter] = p->property("value").toDouble();
             } else {
diff -urN rocs-4.14.3.orig/VisualEditor/Actions/SelectMoveHandAction.cpp rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.cpp
--- rocs-4.14.3.orig/VisualEditor/Actions/SelectMoveHandAction.cpp	2014-10-09 08:21:27.000000000 +0300
+++ rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.cpp	2023-02-20 20:21:59.636303533 +0200
@@ -83,8 +83,7 @@
     }
 
     if (_graphScene->items().count() > 600) { // 5! + 25 items on screen
-        _graphScene->views().at(0)->setRenderHints(QPainter::Antialiasing
-                & QPainter::TextAntialiasing);
+        _graphScene->views().at(0)->setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
     }
     return true;
 }
Apparently I have hit a code bug, as in "&" instead of "|" and some return value casting was required for working with the modern Boost.

Unfortunately, this seems to be really the last patch made for KDE4town by this friend of mine in the near future - several weeks he's MIA.

So, the last one package not building is STEP of KDEEDU.

Last edited by LuckyCyborg; 02-20-2023 at 01:06 PM.
 
2 members found this post helpful.
Old 02-20-2023, 01:02 PM   #37
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
concerning step, there's no need of a patch, the answer is included in the error message:

Code:
-----------------------------------------------------------------------------
-- The following REQUIRED packages could NOT be located on your system.
-- You must install these packages before continuing.
-----------------------------------------------------------------------------
   * Eigen2 (2.0.3 or higher)  <http://eigen.tuxfamily.org>
     Required to build step.
And in slackware-15.0 and after it has been replaced by eigen3 which is a different beast.
Consider building an eigen SBo package, and you'll be able to build step.
 
2 members found this post helpful.
Old 02-20-2023, 01:12 PM   #38
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
concerning step, there's no need of a patch, the answer is included in the error message:

Code:
-----------------------------------------------------------------------------
-- The following REQUIRED packages could NOT be located on your system.
-- You must install these packages before continuing.
-----------------------------------------------------------------------------
   * Eigen2 (2.0.3 or higher)  <http://eigen.tuxfamily.org>
     Required to build step.
And in slackware-15.0 and after it has been replaced by eigen3 which is a different beast.
Consider building an eigen SBo package, and you'll be able to build step.
But LuckyCyborg has available eigen3 3.2.10 in deps, and this eigen3 has a way of compatibility with eigen2

http://eigen.tuxfamily.org/dox-3.2/E...portModes.html

Depending on the features used, that eigen3 package could be used to simulate eigen2, considering that it is only necessary for this step.

If I'm not mistaken, if he defines EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API first, he will get almost an eigen2 API

Indeed, there is also the option of creating an eigen2 package in the style of the one already present in deps, and to be used as is.

Last edited by ZhaoLin1457; 02-20-2023 at 01:36 PM.
 
1 members found this post helpful.
Old 02-20-2023, 01:59 PM   #39
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308
Quote:
Originally Posted by ZhaoLin1457 View Post
But LuckyCyborg has available eigen3 3.2.10 in deps, and this eigen3 has a way of compatibility with eigen2

http://eigen.tuxfamily.org/dox-3.2/E...portModes.html

Depending on the features used, that eigen3 package could be used to simulate eigen2, considering that it is only necessary for this step.

If I'm not mistaken, if he defines EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API first, he will get almost an eigen2 API

Indeed, there is also the option of creating an eigen2 package in the style of the one already present in deps, and to be used as is.
Man, I am NOT a C/C++ programmer (all those patches added or presented for this KDE4 build was made by someone else) and playing with a math library is probably the worst way to begin the programming.

So, I for one, I am with @nobodino regarding the solution. Sort of, because just like you said, I intend for now to build a compat library like eigen32 from deps.

True, depending on complexity of usage of this eigen2 compat way of eigen32, your idea certainly is much better. BUT, I will leave this way to be explored by the gentlemen with higher experience in C/C++ programming than me.

Last edited by LuckyCyborg; 02-20-2023 at 02:02 PM.
 
1 members found this post helpful.
Old 02-20-2023, 02:59 PM   #40
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308
There is the download link for latest KDE4 build of mine, uploaded in two tarballs - one for sources (1.59 GB) and one for packages (1.06 GB).

https://easyupload.io/m/9fghwj

The SHA256SUMS are bellow:
Code:
7bd0780da2bcbda0d5ecb02684d4eeae96cbbbe59db21c3262148b6448e64dcc  kde4town-packages-20230220.tar
f7cc6dfdd6bce825e6a35c48ccf2cce4842b4a79fefa383e992a29f9bf66b259  kde4town-source-20230220.tar
All the patches and builds discussed until now are applied, and just like in the true KTown of Mr. Hameleers, there's also an alldeps.SlackBuild which builds and installs all dependencies for you.

So, what's new? First of all, all KDE4 packages are now built successfully and a new dependency package was added: eigen20 . Also, now the suspend/hibernate works with elogind.

The known issues was already enumerated in this thread - and they are 4 right now.

Long story short, the KDE4 desktop works quite stable and it looks just like you remember, but aren't functional the Plasma widgets addition and the desktop notifications aren't shown. Also, the desktop behaves erratically when it's used the autologin in KDM and the NetworkManager widget and configuration apparently has the interface updates only at startup.

Last edited by LuckyCyborg; 02-20-2023 at 03:34 PM.
 
4 members found this post helpful.
Old 02-22-2023, 10:05 AM   #41
BrunoLafleur
Member
 
Registered: Apr 2020
Location: France
Distribution: Slackware
Posts: 399

Rep: Reputation: 364Reputation: 364Reputation: 364Reputation: 364
Quote:
Originally Posted by LuckyCyborg View Post

The known issues was already enumerated in this thread - and they are 4 right now.

Long story short, the KDE4 desktop works quite stable and it looks just like you remember, but aren't functional the Plasma widgets addition and the desktop notifications aren't shown. Also, the desktop behaves erratically when it's used the autologin in KDM and the NetworkManager widget and configuration apparently has the interface updates only at startup.
For the NetworkManager Widget probably because of this change in NetworkManager :
"NetworkManager-1.32
Overview of changes since NetworkManager-1.30
=============================================
...
* API CHANGE: D-Bus: remove long deprecated "PropertiesChanged" signal from D-Bus
API. They are replaced by standard "PropertiesChanged" signal on the
"org.freedesktop.DBus.Properties" interface. It is not expected that anybody
is still using this API."

I will look at it.
 
3 members found this post helpful.
Old 02-23-2023, 02:40 AM   #42
BrunoLafleur
Member
 
Registered: Apr 2020
Location: France
Distribution: Slackware
Posts: 399

Rep: Reputation: 364Reputation: 364Reputation: 364Reputation: 364
I have just put my last version of libnm-qt here https://github.com/BrunoLafleur/pbsl...t-1.0.1.tar.xz

It work on my old Slackware current from april 2021. It should work on the Slackware 15 but I have not tested.

The problem is the deprecated interface I spoke on the previous message. So I have backported some code from networkmanager-qt (which is for qt5 and qt6).I hope it will work.
 
3 members found this post helpful.
Old 02-23-2023, 03:14 AM   #43
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,500

Original Poster
Rep: Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308Reputation: 3308
Quote:
Originally Posted by BrunoLafleur View Post
I have just put my last version of libnm-qt here https://github.com/BrunoLafleur/pbsl...t-1.0.1.tar.xz

It work on my old Slackware current from april 2021. It should work on the Slackware 15 but I have not tested.

The problem is the deprecated interface I spoke on the previous message. So I have backported some code from networkmanager-qt (which is for qt5 and qt6).I hope it will work.
Thank you very much for your efforts!

I have seen yesterday this tarball of libnm-qt-1.0.1 , BUT it does not compile on Slackware 15.0 with the KDE4 build as seen in the second published tarballs.

First of all, seems that connect() wants SIGNAL/SLOT thingies, so because seemed a relative simple thing, I made the following patch, looking in the libnm-qt-1.0.0 for the similar code which I know that at least it compiled:
Code:
diff -urN libnm-qt-1.0.1.orig/accesspoint.cpp libnm-qt-1.0.1/accesspoint.cpp
--- libnm-qt-1.0.1.orig/accesspoint.cpp	2023-02-22 18:49:06.000000000 +0200
+++ libnm-qt-1.0.1/accesspoint.cpp	2023-02-23 01:44:29.684000000 +0200
@@ -91,8 +91,8 @@
         d->maxBitRate = d->iface.maxBitrate();
         // make this a static on WirelessNetworkInterface
         d->mode = convertOperationMode(d->iface.mode());
-	connect(&d->iface,&OrgFreedesktopNetworkManagerAccessPointInterface::PropertiesChanged,
-			this, &AccessPoint::propertiesChanged);
+        connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+                this, SLOT(propertiesChanged(QVariantMap)));
     }
 }
 
diff -urN libnm-qt-1.0.1.orig/activeconnection.cpp libnm-qt-1.0.1/activeconnection.cpp
--- libnm-qt-1.0.1.orig/activeconnection.cpp	2023-02-22 18:54:45.000000000 +0200
+++ libnm-qt-1.0.1/activeconnection.cpp	2023-02-23 01:46:23.950000000 +0200
@@ -63,16 +63,16 @@
     : QObject(parent), d_ptr(new ActiveConnectionPrivate(path))
 {
     Q_D(ActiveConnection);
-    connect(&d->iface, &OrgFreedesktopNetworkManagerConnectionActiveInterface::PropertiesChanged,
-		    this, &ActiveConnection::propertiesChanged);
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::ActiveConnection::ActiveConnection(ActiveConnectionPrivate &dd, QObject *parent)
     : QObject(parent), d_ptr(&dd)
 {
     Q_D(ActiveConnection);
-    connect(&d->iface, &OrgFreedesktopNetworkManagerConnectionActiveInterface::PropertiesChanged,
-		    this, &ActiveConnection::propertiesChanged);
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::ActiveConnection::~ActiveConnection()
diff -urN libnm-qt-1.0.1.orig/adsldevice.cpp libnm-qt-1.0.1/adsldevice.cpp
--- libnm-qt-1.0.1.orig/adsldevice.cpp	2023-02-22 18:55:51.000000000 +0200
+++ libnm-qt-1.0.1/adsldevice.cpp	2023-02-23 01:43:41.324000000 +0200
@@ -56,8 +56,8 @@
     Q_D(AdslDevice);
 
     d->carrier = d->iface.carrier();
-    connect(&d->iface, &OrgFreedesktopNetworkManagerDeviceAdslInterface::PropertiesChanged,
-		    this, &AdslDevice::propertiesChanged);
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::AdslDevicePrivate::~AdslDevicePrivate()
diff -urN libnm-qt-1.0.1.orig/bluetoothdevice.cpp libnm-qt-1.0.1/bluetoothdevice.cpp
--- libnm-qt-1.0.1.orig/bluetoothdevice.cpp	2023-02-22 18:56:34.000000000 +0200
+++ libnm-qt-1.0.1/bluetoothdevice.cpp	2023-02-23 00:30:43.323000000 +0200
@@ -37,8 +37,8 @@
     : ModemDevice(*new BluetoothDevicePrivate(path, this), parent)
 {
     Q_D(BluetoothDevice);
-    connect(&d->btIface, &OrgFreedesktopNetworkManagerDeviceBluetoothInterface::PropertiesChanged,
-		    this, &BluetoothDevice::propertiesChanged);
+    connect(&d->btIface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::BluetoothDevice::~BluetoothDevice()
diff -urN libnm-qt-1.0.1.orig/bonddevice.cpp libnm-qt-1.0.1/bonddevice.cpp
--- libnm-qt-1.0.1.orig/bonddevice.cpp	2023-02-22 18:57:33.000000000 +0200
+++ libnm-qt-1.0.1/bonddevice.cpp	2023-02-23 01:36:40.687000000 +0200
@@ -62,8 +62,9 @@
         list << op.path();
     }
     d->slaves = list;
-    connect(&d->iface, &OrgFreedesktopNetworkManagerDeviceBondInterface::PropertiesChanged,
-		    this, &BondDevice::propertiesChanged);
+
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::BondDevicePrivate::~BondDevicePrivate()
diff -urN libnm-qt-1.0.1.orig/bridgedevice.cpp libnm-qt-1.0.1/bridgedevice.cpp
--- libnm-qt-1.0.1.orig/bridgedevice.cpp	2023-02-22 18:58:28.000000000 +0200
+++ libnm-qt-1.0.1/bridgedevice.cpp	2023-02-23 01:53:59.652000000 +0200
@@ -63,8 +63,9 @@
         list << op.path();
     }
     d->slaves = list;
-    connect(&d->iface, &OrgFreedesktopNetworkManagerDeviceBridgeInterface::PropertiesChanged,
-		    this, &BridgeDevice::propertiesChanged);
+
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::BridgeDevice::~BridgeDevice()
diff -urN libnm-qt-1.0.1.orig/connection.cpp libnm-qt-1.0.1/connection.cpp
--- libnm-qt-1.0.1.orig/connection.cpp	2023-02-22 19:37:56.000000000 +0200
+++ libnm-qt-1.0.1/connection.cpp	2023-02-23 01:41:49.349000000 +0200
@@ -81,14 +81,13 @@
     }
     d->path = path;
 
-    connect(&d->iface, &OrgFreedesktopNetworkManagerSettingsConnectionInterface::Updated,
-		    this, &Connection::onConnectionUpdated);
-    connect(&d->iface, &OrgFreedesktopNetworkManagerSettingsConnectionInterface::Removed,
-		    this, &Connection::onConnectionRemoved);
+    connect(&d->iface, SIGNAL(Updated()), this, SLOT(onConnectionUpdated()));
+    connect(&d->iface, SIGNAL(Removed()), this, SLOT(onConnectionRemoved()));
+
 #if NM_CHECK_VERSION(0, 9, 10)
     d->unsaved = d->iface.unsaved();
-    connect(&d->iface, &OrgFreedesktopNetworkManagerSettingsConnectionInterface::PropertiesChanged,
-		    this, &Connection::onPropertiesChanged);
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(onPropertiesChanged(QVariantMap)));
 #endif
 }
 
diff -urN libnm-qt-1.0.1.orig/dhcp4config.cpp libnm-qt-1.0.1/dhcp4config.cpp
--- libnm-qt-1.0.1.orig/dhcp4config.cpp	2023-02-22 20:01:08.000000000 +0200
+++ libnm-qt-1.0.1/dhcp4config.cpp	2023-02-23 01:55:57.068000000 +0200
@@ -46,8 +46,10 @@
     : d_ptr(new Dhcp4ConfigPrivate(path, owner))
 {
     Q_D(Dhcp4Config);
-    connect(&d->dhcp4Iface, &OrgFreedesktopNetworkManagerDHCP4ConfigInterface::PropertiesChanged,
-		    this, &Dhcp4Config::dhcp4PropertiesChanged);
+
+    connect(&d->dhcp4Iface, SIGNAL(PropertiesChanged(QVariantMap)),
+	    this, SLOT(dhcp4PropertiesChanged(QVariantMap)));
+
     d->properties = d->dhcp4Iface.options();
 }
 
diff -urN libnm-qt-1.0.1.orig/infinibanddevice.cpp libnm-qt-1.0.1/infinibanddevice.cpp
--- libnm-qt-1.0.1.orig/infinibanddevice.cpp	2023-02-22 20:02:19.000000000 +0200
+++ libnm-qt-1.0.1/infinibanddevice.cpp	2023-02-23 01:51:46.180000000 +0200
@@ -58,8 +58,8 @@
 
     d->carrier = d->iface.carrier();
     d->hwAddress = d->iface.hwAddress();
-    connect(&d->iface, &OrgFreedesktopNetworkManagerDeviceInfinibandInterface::PropertiesChanged,
-		    this, &InfinibandDevice::propertiesChanged);
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::InfinibandDevicePrivate::~InfinibandDevicePrivate()
diff -urN libnm-qt-1.0.1.orig/manager.cpp libnm-qt-1.0.1/manager.cpp
--- libnm-qt-1.0.1.orig/manager.cpp	2023-02-22 20:25:04.000000000 +0200
+++ libnm-qt-1.0.1/manager.cpp	2023-02-23 00:35:17.133000000 +0200
@@ -73,19 +73,19 @@
     , m_isWwanEnabled(false)
     , m_isWwanHardwareEnabled(false)
 {
-	connect(&iface, &OrgFreedesktopNetworkManagerInterface::DeviceAdded,
-			this, &NetworkManagerPrivate::onDeviceAdded);
-	connect(&iface, &OrgFreedesktopNetworkManagerInterface::DeviceRemoved,
-			this, &NetworkManagerPrivate::onDeviceRemoved);
-	connect(&iface, &OrgFreedesktopNetworkManagerInterface::PropertiesChanged,
-			this, &NetworkManagerPrivate::propertiesChanged);
+    connect(&iface, SIGNAL(DeviceAdded(QDBusObjectPath)),
+	    SLOT(onDeviceAdded(QDBusObjectPath)), Qt::UniqueConnection);
+    connect(&iface, SIGNAL(DeviceRemoved(QDBusObjectPath)),
+	    SLOT(onDeviceRemoved(QDBusObjectPath)), Qt::UniqueConnection);
+    connect(&iface, SIGNAL(PropertiesChanged(QVariantMap)),
+	    SLOT(propertiesChanged(QVariantMap)), Qt::UniqueConnection);
 
-	connect(&watcher, &QDBusServiceWatcher::serviceRegistered,
-			this, &NetworkManagerPrivate::daemonRegistered);
-	connect(&watcher, &QDBusServiceWatcher::serviceUnregistered,
-			this, &NetworkManagerPrivate::daemonUnregistered);
+    connect(&watcher, SIGNAL(serviceRegistered(QString)),
+	    SLOT(daemonRegistered()));
+    connect(&watcher, SIGNAL(serviceUnregistered(QString)),
+	    SLOT(daemonUnregistered()));
 
-	init();
+    init();
 }
 
 void NetworkManager::NetworkManagerPrivate::parseVersion(const QString &version)
diff -urN libnm-qt-1.0.1.orig/modemdevice.cpp libnm-qt-1.0.1/modemdevice.cpp
--- libnm-qt-1.0.1.orig/modemdevice.cpp	2023-02-22 20:34:18.000000000 +0200
+++ libnm-qt-1.0.1/modemdevice.cpp	2023-02-23 01:52:48.025000000 +0200
@@ -72,8 +72,8 @@
 #if WITH_MODEMMANAGERQT
     d->m_modemUdi = getUdiForModemManager();
 #endif
-    QObject::connect(&d->modemIface, &OrgFreedesktopNetworkManagerDeviceModemInterface::PropertiesChanged,
-		    this, &ModemDevice::propertiesChanged);
+    connect(&d->modemIface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::ModemDevice::ModemDevice(NetworkManager::ModemDevicePrivate &dd, QObject *parent)
@@ -88,8 +88,8 @@
 #if WITH_MODEMMANAGERQT
     d->m_modemUdi = getUdiForModemManager();
 #endif
-    QObject::connect(&d->modemIface, &OrgFreedesktopNetworkManagerDeviceModemInterface::PropertiesChanged,
-		    this, &ModemDevice::propertiesChanged);
+    connect(&d->modemIface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::ModemDevice::~ModemDevice()
diff -urN libnm-qt-1.0.1.orig/olpcmeshdevice.cpp libnm-qt-1.0.1/olpcmeshdevice.cpp
--- libnm-qt-1.0.1.orig/olpcmeshdevice.cpp	2023-02-22 20:46:09.000000000 +0200
+++ libnm-qt-1.0.1/olpcmeshdevice.cpp	2023-02-23 00:33:48.278000000 +0200
@@ -39,8 +39,9 @@
     d->hardwareAddress = d->iface.hwAddress();
     d->activeChannel = d->iface.activeChannel();
     d->companion = d->iface.companion().path();
-    QObject::connect(&d->iface, &OrgFreedesktopNetworkManagerDeviceOlpcMeshInterface::PropertiesChanged,
-		    this, &OlpcMeshDevice::propertiesChanged);
+
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::OlpcMeshDevice::~OlpcMeshDevice()
diff -urN libnm-qt-1.0.1.orig/settings.cpp libnm-qt-1.0.1/settings.cpp
--- libnm-qt-1.0.1.orig/settings.cpp	2023-02-22 21:03:48.000000000 +0200
+++ libnm-qt-1.0.1/settings.cpp	2023-02-23 01:51:02.278000000 +0200
@@ -44,13 +44,13 @@
     : iface(NetworkManagerPrivate::DBUS_SERVICE, NetworkManagerPrivate::DBUS_SETTINGS_PATH, QDBusConnection::systemBus()),
       m_canModify(true)
 {
-    connect(&iface, &OrgFreedesktopNetworkManagerSettingsInterface::PropertiesChanged,
-            this, &SettingsPrivate::propertiesChanged);
-    connect(&iface, &OrgFreedesktopNetworkManagerSettingsInterface::NewConnection,
-            this, &SettingsPrivate::onConnectionAdded);
+    connect(&iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
+    connect(&iface, SIGNAL(NewConnection(QDBusObjectPath)),
+            this, SLOT(onConnectionAdded(QDBusObjectPath)));
 #if NM_CHECK_VERSION(0, 9, 10)
-    connect(&iface, &OrgFreedesktopNetworkManagerSettingsInterface::ConnectionRemoved,
-            this, &SettingsPrivate::onConnectionRemoved);
+    connect(&iface, SIGNAL(ConnectionRemoved(QDBusObjectPath)),
+            this, SLOT(onConnectionRemoved(QDBusObjectPath)));
 #endif	
     init();
     // This class is a friend of NetworkManagerPrivate thus initted there too
diff -urN libnm-qt-1.0.1.orig/vlandevice.cpp libnm-qt-1.0.1/vlandevice.cpp
--- libnm-qt-1.0.1.orig/vlandevice.cpp	2023-02-22 21:34:49.000000000 +0200
+++ libnm-qt-1.0.1/vlandevice.cpp	2023-02-23 01:37:47.672000000 +0200
@@ -59,9 +59,9 @@
     d->carrier = d->iface.carrier();
     d->hwAddress = d->iface.hwAddress();
     d->vlanId = d->iface.vlanId();
-    
-    connect(&d->iface, &OrgFreedesktopNetworkManagerDeviceVlanInterface::PropertiesChanged,
-		    this, &VlanDevice::propertiesChanged);
+
+    connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::VlanDevicePrivate::~VlanDevicePrivate()
diff -urN libnm-qt-1.0.1.orig/wimaxdevice.cpp libnm-qt-1.0.1/wimaxdevice.cpp
--- libnm-qt-1.0.1.orig/wimaxdevice.cpp	2023-02-22 21:36:31.000000000 +0200
+++ libnm-qt-1.0.1/wimaxdevice.cpp	2023-02-23 01:54:30.581000000 +0200
@@ -45,12 +45,13 @@
     d->rssi = d->wimaxIface.rssi();
     d->txPower = d->wimaxIface.txPower();
 
-    connect(&d->wimaxIface, &OrgFreedesktopNetworkManagerDeviceWiMaxInterface::PropertiesChanged,
-		    this, &WimaxDevice::propertiesChanged);
-    connect(&d->wimaxIface, &OrgFreedesktopNetworkManagerDeviceWiMaxInterface::NspAdded,
-		    this, &WimaxDevice::nspAdded);
-    connect(&d->wimaxIface, &OrgFreedesktopNetworkManagerDeviceWiMaxInterface::NspRemoved,
-		    this, &WimaxDevice::nspRemoved);
+
+    connect(&d->wimaxIface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
+    connect(&d->wimaxIface, SIGNAL(NspAdded(QDBusObjectPath)),
+            this, SLOT(nspAdded(QDBusObjectPath)));
+    connect(&d->wimaxIface, SIGNAL(NspRemoved(QDBusObjectPath)),
+            this, SLOT(nspRemoved(QDBusObjectPath)));
 
     qDBusRegisterMetaType<QList<QDBusObjectPath> >();
     QDBusReply< QList <QDBusObjectPath> > nspPathList = d->wimaxIface.GetNspList();
diff -urN libnm-qt-1.0.1.orig/wimaxnsp.cpp libnm-qt-1.0.1/wimaxnsp.cpp
--- libnm-qt-1.0.1.orig/wimaxnsp.cpp	2023-02-22 21:37:20.000000000 +0200
+++ libnm-qt-1.0.1/wimaxnsp.cpp	2023-02-23 01:48:00.517000000 +0200
@@ -69,8 +69,8 @@
         d->networkType = convertNetworkType(d->iface.networkType());
         d->name = d->iface.name();
         d->signalQuality = d->iface.signalQuality();
-	connect(&d->iface, &OrgFreedesktopNetworkManagerWiMaxNspInterface::PropertiesChanged,
-			this, &WimaxNsp::propertiesChanged);
+        connect(&d->iface, SIGNAL(PropertiesChanged(QVariantMap)),
+                this, SLOT(propertiesChanged(QVariantMap)));
     }
 }
 
diff -urN libnm-qt-1.0.1.orig/wireddevice.cpp libnm-qt-1.0.1/wireddevice.cpp
--- libnm-qt-1.0.1.orig/wireddevice.cpp	2023-02-22 21:38:06.000000000 +0200
+++ libnm-qt-1.0.1/wireddevice.cpp	2023-02-23 01:47:28.443000000 +0200
@@ -46,8 +46,8 @@
     d->permanentHardwareAddress = d->wiredIface.permHwAddress();
     d->bitrate = d->wiredIface.speed() * 1000;
     d->carrier = d->wiredIface.carrier();
-    connect(&d->wiredIface, &OrgFreedesktopNetworkManagerDeviceWiredInterface::PropertiesChanged,
-		    this, &WiredDevice::propertiesChanged);
+    connect(&d->wiredIface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
 }
 
 NetworkManager::WiredDevice::~WiredDevice()
diff -urN libnm-qt-1.0.1.orig/wirelessdevice.cpp libnm-qt-1.0.1/wirelessdevice.cpp
--- libnm-qt-1.0.1.orig/wirelessdevice.cpp	2023-02-22 21:39:07.000000000 +0200
+++ libnm-qt-1.0.1/wirelessdevice.cpp	2023-02-23 01:42:29.916000000 +0200
@@ -54,12 +54,12 @@
     d->bitRate = d->wirelessIface.bitrate();
     d->wirelessCapabilities = convertCapabilities(d->wirelessIface.wirelessCapabilities());
 
-    connect(&d->wirelessIface, &OrgFreedesktopNetworkManagerDeviceWirelessInterface::PropertiesChanged,
-		    this, &WirelessDevice::propertiesChanged);
-    connect(&d->wirelessIface, &OrgFreedesktopNetworkManagerDeviceWirelessInterface::AccessPointAdded,
-		    this, &WirelessDevice::accessPointAdded);
-    connect(&d->wirelessIface, &OrgFreedesktopNetworkManagerDeviceWirelessInterface::AccessPointRemoved,
-		    this, &WirelessDevice::accessPointRemoved);
+    connect(&d->wirelessIface, SIGNAL(PropertiesChanged(QVariantMap)),
+            this, SLOT(propertiesChanged(QVariantMap)));
+    connect(&d->wirelessIface, SIGNAL(AccessPointAdded(QDBusObjectPath)),
+            this, SLOT(accessPointAdded(QDBusObjectPath)));
+    connect(&d->wirelessIface, SIGNAL(AccessPointRemoved(QDBusObjectPath)),
+            this, SLOT(accessPointRemoved(QDBusObjectPath)));
 
     qDBusRegisterMetaType<QList<QDBusObjectPath> >();
     QDBusReply< QList <QDBusObjectPath> > apPathList = d->wirelessIface.GetAccessPoints();
Unfortunatelly, even after this patch, I have got the following compilation error:
Code:
bash-5.1# make
Consolidate compiler generated dependencies of target NetworkManagerQt
[  1%] Building CXX object CMakeFiles/NetworkManagerQt.dir/connection.cpp.o
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp: In constructor ‘NetworkManager::Connection::Connection(const QString&, QObject*)’:
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp:88:27: error: ‘class OrgFreedesktopNetworkManagerSettingsConnectionInterface’ has no member named ‘unsaved’
   88 |     d->unsaved = d->iface.unsaved();
      |                           ^~~~~~~
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp: In member function ‘QDBusPendingReply<> NetworkManager::Connection::updateUnsaved(const NMVariantMapMap&)’:
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp:154:25: error: ‘class OrgFreedesktopNetworkManagerSettingsConnectionInterface’ has no member named ‘UpdateUnsaved’
  154 |         return d->iface.UpdateUnsaved(settings);
      |                         ^~~~~~~~~~~~~
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp: In member function ‘QDBusPendingReply<> NetworkManager::Connection::save()’:
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp:160:25: error: ‘class OrgFreedesktopNetworkManagerSettingsConnectionInterface’ has no member named ‘Save’
  160 |         return d->iface.Save();
      |                         ^~~~
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp: In member function ‘void NetworkManager::Connection::onPropertiesChanged(const QVariantMap&)’:
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp:206:13: error: ‘emit’ was not declared in this scope; did you mean ‘exit’?
  206 |             emit unsavedChanged(d->unsaved);
      |             ^~~~
      |             exit
make[2]: *** [CMakeFiles/NetworkManagerQt.dir/build.make:432: CMakeFiles/NetworkManagerQt.dir/connection.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:227: CMakeFiles/NetworkManagerQt.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

bash-5.1#
How the errors are about missing class functions and I have no idea about how those classes should be, I have stoped there - supposing that I have just walked on some kind of Work In Progress.

My humble suggestion for you is to make a Virtual Machine with Slackware 15.0 where you install everything excluding KDE series. My second published build should compile all KDE4 packages, giving you a KDE4 desktop with those 4 famous issues.

Last edited by LuckyCyborg; 02-23-2023 at 03:29 AM.
 
2 members found this post helpful.
Old 02-23-2023, 03:32 AM   #44
BrunoLafleur
Member
 
Registered: Apr 2020
Location: France
Distribution: Slackware
Posts: 399

Rep: Reputation: 364Reputation: 364Reputation: 364Reputation: 364
Sorry I have forgotten to put the last version which I have compiled and put on my machine.
The one you have is broken and is not workable.

I have just upload the good one.
 
3 members found this post helpful.
Old 02-23-2023, 03:37 AM   #45
ZhaoLin1457
Senior Member
 
Registered: Jan 2018
Posts: 1,022

Rep: Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208
Quote:
Originally Posted by LuckyCyborg View Post
... a KDE4 desktop with those 4 famous issues.
In fact, I think we ended up talking about 3 problems, because it seems that I found a solution for the KDM autologin problems. It's about PAM.

post-install/kde-workspace/config/kde.pamd
Code:
#%PAM-1.0

auth       substack     system-auth

# Uncomment this line to restrict login to users with a UID greater
# than 999 (in other words, don't allow login for root):
#auth       required     pam_succeed_if.so        uid >= 1000 quiet

-auth      optional     pam_gnome_keyring.so
auth       include      postlogin

account    include      system-auth

password   substack     system-auth
-password  optional     pam_gnome_keyring.so     use_authtok

session    optional     pam_keyinit.so           force revoke
session    substack     system-auth
session    required     pam_loginuid.so
-session   optional     pam_elogind.so
-session   optional     pam_gnome_keyring.so     auto_start
session    include      postlogin
post-install/kde-workspace/config/kde-np.pamd
Code:
#%PAM-1.0

auth       requisite    pam_nologin.so
auth       required     pam_env.so
auth       required     pam_shells.so

# Uncomment this line to restrict autologin to users with a UID greater
# than 999 (in other words, don't allow autologin for root):
#auth       required     pam_succeed_if.so uid >= 1000 quiet

auth       required     pam_permit.so

account    include      system-auth

password   include      system-auth

session    substack     system-auth
session    required     pam_loginuid.so
-session   optional     pam_elogind.so
-session   optional     pam_gnome_keyring.so     auto_start
session    include      postlogin
With these PAM files there is no difference between how the KDE4 desktop works with normal login and autologin in KDM.

Please note that I have no idea if KDE4 distributes a PAM module for KWallet.

Last edited by ZhaoLin1457; 02-23-2023 at 03:48 AM.
 
3 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 09:25 PM.

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