Bug 195926 - please ship ksysguardd separately for servers
Summary: please ship ksysguardd separately for servers
Status: RESOLVED FIXED
Alias: None
Product: ksysguard
Classification: Unmaintained
Component: ksysguardd (show other bugs)
Version: unspecified
Platform: RedHat Enterprise Linux Linux
: NOR wishlist
Target Milestone: ---
Assignee: KSysGuard Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-10 20:57 UTC by Mathieu Jobin
Modified: 2021-03-09 11:37 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mathieu Jobin 2009-06-10 20:57:05 UTC
Version:           any (using KDE 4.2.4)
OS:                Linux
Installed from:    RedHat RPMs

this is simply a packaging issue.

i know binary packages are made by distributions. but sources package are distributed by KDE. and a separate source package for ksysguardd should be shipped by KDE so that distrib includes it on server distrib.

the reason behind this is simple: to use this software. at least, I'd like to give it a try. for now, I copied the necessary lib in a small custom tarball.

I manage several hundreds of linux system without any GUI library installed.

on a centos 4.6 system for example, If I want to install ksysguardd. (kde 3.5)
the following packages will be required and installed

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 kdebase                 i386       6:3.3.1-7.el4.centos  centos4as          24 M
Installing for dependencies:
 alsa-lib                i386       1.0.6-5.RHEL4    centos4as         302 k
 arts                    i386       8:1.3.1-2        centos4as         1.1 M
 audiofile               i386       1:0.2.6-1.el4.1  centos4as          99 k
 cdparanoia-libs         i386       alpha9.8-24      centos4as          44 k
 desktop-backgrounds-basic  noarch     2.0-26.2.1E.centos4.4  centos4as         2.3 M
 esound                  i386       1:0.2.35-2       centos4as         121 k
 hicolor-icon-theme      noarch     0.3-3            centos4as         9.7 k
 kdelibs                 i386       6:3.3.1-9.el4    centos4as          15 M
 libart_lgpl             i386       2.3.16-3         centos4as          69 k
 libidn                  i386       0.5.6-1          centos4as         169 k
 libmng                  i386       1.0.8-1          centos4as         136 k
 libogg                  i386       2:1.1.2-1        centos4as          16 k
 libraw1394              i386       0.10.1-3         centos4as          35 k
 libvorbis               i386       1:1.1.0-2.el4.5  centos4as         186 k
 qt                      i386       1:3.3.3-13.RHEL4  centos4as         2.9 M
 redhat-artwork          i386       0.120.1-1.2E.centos4.4  centos4as         5.2 M
 samba-common            i386       3.0.25b-0.4E.6   centos4as         7.5 M
 switchdesk              noarch     4.0.6-3          centos4as          13 k
 xinitrc                 noarch     4.0.14.3-3       centos4as          26 k
 xorg-x11                i386       6.8.2-1.EL.33    centos4as          13 M
 xorg-x11-xdm            i386       6.8.2-1.EL.33    centos4as         353 k

Transaction Summary
=============================================================================
Install     22 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 73 M
Is this ok [y/N]:

running ldd on my kubuntu latop is showing me, not even Qt is required.

mjobin@mjobin:~$ which ksysguardd  
/usr/bin/ksysguardd                      
mjobin@mjobin:~$ ldd `which ksysguardd` 
        linux-gate.so.1 =>  (0xb7fe6000)      
        libsensors.so.3 => /usr/lib/libsensors.so.3 (0xb7f91000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e2e000)  
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e07000)  
        libsysfs.so.2 => /lib/libsysfs.so.2 (0xb7dfb000)        
        /lib/ld-linux.so.2 (0xb7fe7000)                         
mjobin@mjobin:~$

i think this is a good candidate for a separate packages.

thanks
Comment 1 John Tapsell 2009-06-10 22:29:44 UTC
You need to file this as a redhat bug.   I have no control over this as a kde developer.
Comment 2 Mathieu Jobin 2009-06-11 15:39:07 UTC
but as a marketing point for the KDE team. instead of asking all distribution to use your software.

if you package ksysguardd (source) on it's own. all distributions will simply blind-foldly ship it the same way.

people will notice this package and start using it as a daemon on their server. and you will get a nice user base for ksysguard.

unless you dont want to grow your userbase
Comment 3 John Tapsell 2009-06-11 17:08:44 UTC
(In reply to comment #2)
> but as a marketing point for the KDE team. instead of asking all distribution
> to use your software.

I don't know what you're saying.

> if you package ksysguardd (source) on it's own. all distributions will simply
> blind-foldly ship it the same way.

KDE just releases one big source tar ball of everything in kdebase.  I don't think any distro at all releases one big binary.

> people will notice this package and start using it as a daemon on their server.
> and you will get a nice user base for ksysguard.
> 
> unless you dont want to grow your userbase

Not really.  More users means more bug reports, and that means more work for me.  I prefer to keep my work load small.
Comment 4 Mathieu Jobin 2009-06-12 21:38:31 UTC
i am trying to compile ksysguardd on a system without Qt or anything.
but I am missing some cmake macro, how can I include them ?

[root@qcsmbs01 tmp]# cd kdebase-workspace-4.2.4/ksysguard/
[root@qcsmbs01 ksysguard]# cd ksysguardd/
[root@qcsmbs01 ksysguardd]# cd _building/
[root@qcsmbs01 _building]# cmake ..
CMake Error at CMakeLists.txt:13 (macro_optional_find_package):
  Unknown CMake command "macro_optional_find_package".


-- Configuring incomplete, errors occurred!
[root@qcsmbs01 _building]# vim ../CMakeLists.txt # commenting out the like 13 for testing... 
[root@qcsmbs01 _building]# cmake ..
CMake Error at CMakeLists.txt:14 (macro_bool_to_01):
  Unknown CMake command "macro_bool_to_01".


-- Configuring incomplete, errors occurred!
[root@qcsmbs01 _building]#
Comment 5 John Tapsell 2009-06-13 11:13:41 UTC
SVN commit 981314 by johnflux:

Move CContLib inside ksysguardd to make ksysguardd completely self contained

CCBUG:195926


 D             CContLib (directory)  
 M  +2 -0      gui/SensorDisplayLib/SensorDisplay.cc  
 AM            ksysguardd/CContLib (directory)   CContLib#976553
 M  +2 -2      ksysguardd/CMakeLists.txt  
 M  +1 -1      ksysguardd/FreeBSD/CMakeLists.txt  
 M  +1 -1      ksysguardd/Irix/CMakeLists.txt  
 M  +1 -1      ksysguardd/Linux/CMakeLists.txt  
 M  +1 -1      ksysguardd/NetBSD/CMakeLists.txt  
 M  +1 -1      ksysguardd/OpenBSD/CMakeLists.txt  
 M  +1 -1      ksysguardd/Solaris/CMakeLists.txt  
 M  +1 -1      ksysguardd/Tru64/CMakeLists.txt  


WebSVN link: http://websvn.kde.org/?view=rev&revision=981314
Comment 6 John Tapsell 2009-06-13 11:33:49 UTC
SVN commit 981321 by johnflux:

Add minimum cmake version, incase ksysguardd is compiled just byself

CCBUG:195926


 M  +1 -0      CMakeLists.txt  


WebSVN link: http://websvn.kde.org/?view=rev&revision=981321
Comment 7 Mathieu Jobin 2009-06-13 17:34:45 UTC
great stuff ! I am looking forward trying this very soon.
Comment 8 Mathieu Jobin 2009-06-13 21:11:20 UTC
still having problem ... 

[root@qcsmbs01 tmp]# rm ksysguardd ; svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase/workspace/ksysguard/ksysguardd
A    ksysguardd/NetBSD
...
A    ksysguardd/Solaris/LoadAvg.c
A    ksysguardd/Solaris/Memory.h
A    ksysguardd/CMakeLists.txt
 U   ksysguardd
Checked out revision 981614.
[root@qcsmbs01 tmp]# cd ksysguardd/
[root@qcsmbs01 ksysguardd]# ls
CContLib  CMakeLists.txt  Command.c  Command.h  conf.c  conf.h  config-ksysguardd.h.cmake  FreeBSD  Irix  ksysguardd.c  ksysguardd.h  Linux  modules.h  NetBSD  OpenBSD  Porting-HOWTO  PWUIDCache.c  PWUIDCache.h  Solaris  Tru64
[root@qcsmbs01 ksysguardd]# mkdir _building
[root@qcsmbs01 ksysguardd]# cd _building/
[root@qcsmbs01 _building]# cmake .. 
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at CMakeLists.txt:12 (macro_optional_find_package):
  Unknown CMake command "macro_optional_find_package".


-- Configuring incomplete, errors occurred!
[root@qcsmbs01 _building]# cmake --version
cmake version 2.6-patch 4
[root@qcsmbs01 _building]#
Comment 9 John Tapsell 2009-06-13 23:20:21 UTC
Yeah my changes weren't a fix for the macro problem - just a change to make it more self contained.
Comment 10 John Tapsell 2009-06-14 00:47:47 UTC
The problems are:

1) The various cmake macros are not defined.  This can be worked around by adding the macro definitions into the CMakeLists.txt like:

if(NOT COMMAND macro_optional_find_package)
    FIND_PACKAGE(${_name} ${ARGN})
endif(NOT COMMAND macro_optional_find_package)
if(NOT COMMAND MACRO_BOOL_TO_01)
    MACRO(MACRO_BOOL_TO_01 FOUND_VAR )
        IF(${FOUND_VAR})
            SET(${_current_VAR} 1)
        ELSE(${FOUND_VAR})
            SET(${_current_VAR} 0)
        ENDIF(${FOUND_VAR})
    ENDMACRO(MACRO_BOOL_TO_01)
endif(NOT COMMAND MACRO_BOOL_TO_01)
if(NOT COMMAND KDE4_ADD_LIBRARY)
    MACRO(KDE4_ADD_LIBRARY)
        ADD_LIBRARY(${ARGN})
    ENDMACRO(KDE4_ADD_LIBRARY)
endif(NOT COMMAND KDE4_ADD_LIBRARY)


2) We don't know where to install to.  This could be solved by surrounding the following line with some sort if statement that is true only if we know where to install to:
  install(TARGETS ksysguardd ${INSTALL_TARGETS_DEFAULT_ARGS})

3) We don't have a FindSensors.cmake.  We could move/copy this to the ksysguardd directory then do:
  set(CMAKE_MODULE_PATH ".")

4) Lots of files have:
      #include <config-workspace.h>
which seems to define lots of includes.  I don't know what to do about this or what the effect is to try to remove all these #defines
Comment 11 Mathieu Jobin 2009-06-14 02:00:19 UTC
thanks for all the additional information and the time you have taken answering this issue. again, I believe there would be a great advantage to ksysguardd compilable by itself.

here is the new issues I am encountering.

1) I had to change the snippet of code you've include. and it seems to be ok no.
 thank you very much for that.

if(NOT COMMAND macro_optional_find_package)
    MACRO(macro_optional_find_package)
        FIND_PACKAGE(${_name} ${ARGN})
    ENDMACRO(macro_optional_find_package)
endif(NOT COMMAND macro_optional_find_package)

3) setting the module path did not seems to work for me at all. so I took the content of FindSensors and I put it in my CMakeLists.txt

two more macro are undefined. 
- check_include_files
- MACRO_LOG_FEATURE

i tried setting this myself...
set(SENSORS_INCLUDE_DIR "/usr/include/linux/")

but it will still miss the rest ... 

-- Could NOT find Sensors  (missing:  SENSORS_LIBRARIES)
CMake Error at CMakeLists.txt:49 (check_include_files):
  Unknown CMake command "check_include_files".

thanks
Comment 12 John Tapsell 2009-10-02 13:06:45 UTC
Sorry for updating for so long.

This commit takes us a step closer:

SVN commit 1030162 by neundorf:

-require cmake 2.6.2 here, not 2.6.0
-the add_dependencies() is not necessary, the dependency is created automatically by the target_link_libraries()
-for a library, which
 * is STATIC
 * is C, not C++
 * which does not use Qt
 using KDE4_ADD_LIBRARY() has no benefits over using ADD_LIBRARY()
Comment 13 Mathieu Jobin 2011-05-06 15:02:44 UTC
I am still looking forward being able to compile ksysguardd by itself.
Comment 14 Mathieu Jobin 2011-05-06 21:10:44 UTC
with most recent git

mjobin@mjobin-laptop:~/kde-workspace$ cd ksysguard/ksysguardd/
mjobin@mjobin-laptop:~/kde-workspace/ksysguard/ksysguardd$ ls
CContLib  CMakeLists.txt  Command.c  Command.h  conf.c  conf.h  config-ksysguardd.h.cmake  FreeBSD  GNU  Irix  ksysguardd.c  ksysguardd.h  Linux  modules.h  NetBSD  OpenBSD  Porting-HOWTO  PWUIDCache.c  PWUIDCache.h  Solaris  Tru64
mjobin@mjobin-laptop:~/kde-workspace/ksysguard/ksysguardd$ mkdir _building
mjobin@mjobin-laptop:~/kde-workspace/ksysguard/ksysguardd$ cd _building
mjobin@mjobin-laptop:~/kde-workspace/ksysguard/ksysguardd/_building$ cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at CMakeLists.txt:12 (macro_optional_find_package):
  Unknown CMake command "macro_optional_find_package".


-- Configuring incomplete, errors occurred!
mjobin@mjobin-laptop:~/kde-workspace/ksysguard/ksysguardd/_building$
Comment 15 John Tapsell 2011-05-07 00:53:49 UTC
If you come up with a fix, I'll be happy to commit it :P
Comment 16 Mathieu Jobin 2021-01-02 07:05:16 UTC
this is now properly split in archlinux and *buntu.
Comment 17 2wxsy58236r3 2021-03-09 11:37:31 UTC
(In reply to Mathieu Jobin from comment #16)
> this is now properly split in archlinux and *buntu.

Really? But from [1] ksysguardd is still shipped in the ksysguard package in Arch Linux.

*buntu does ship ksysguardd separately though.

[1] https://archlinux.org/packages/extra/x86_64/ksysguard/