En/TDE tdeadmin

From Studiosg
Jump to: navigation, search

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


TDEADMIN

TDE - Base Packages

A modern software like the Trinity Desktop Environment provides many functionalities to both average users and system administrators. The environment can be configured to meet user needs through the Control Center application or kcontrol which is part of the previously described tdebase package. The tdeadmin package includes some utilities for system administrators aimed at easing some repetitive tasks such as user administration and package management. Some of the included programs are:

  • kcron: A graphical interface for the cron scheduler.
  • kdat: A tape management program. Useful for backup administrators.
  • kpackage: A package manager supporting the tgz / txz package format and many other common ones.
  • ksysv: A runlevel configuration utility. Sadly ksysv only works with sysv init scripts and not the standard Slackware init system.
  • kuser: User administration tool.
  • secpolicy: A Pluggable Authentication Modules (PAM) configuration utility,

For more information about the listed programs, please refer to the respective manuals.

Tdeadmin and Slackware

The tdeadmin package replaces kdeadmin for KDE 3.5. The build system relies on autotools and has not been ported to cmake yet. The kdeadmin build script can be used for tdeadmin, but some updates and tweaks are due. To guarantee a smooth build the following guidelines were followed:

  • Directory /opt/trinity was set as package root directory.
  • Some missing makefiles were created running the make command from inside the main directory of the code extracted from the source archive.
  • The source code was patched in order to solve a version mismatch issue with libtool: the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.

No specific options were used for the configure command as the package seems not to need any. Some script lines of code and related comments follow.

Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:

   # Prepare the package for building (Create the configure script).
   echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log
   make -f admin/Makefile.common \
      2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log

A patch is needed to solve a libtool package version mismatch conflict:

   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

The script specifically sets Qt libraries paths in order for other scripts to find them at build time:

   # Add temporary paths to handle new libraries during build
   export QTDIR=/opt/trinity
   export PATH=/opt/trinity/bin:/usr/bin:$PATH
   export LIBDIR=/usr/lib${LIBDIRSUFFIX}
   export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
   export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH

Finally the script runs the ./configure command to configure source code in accordance to the destination environment:

   # Configure the package
   LDFLAGS="${SLKLDFLAGS}" \
   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ../${PRGNAM}-${VERSION}/configure \
      --prefix=${PREFIX} \
      --sysconfdir="/etc/trinity" \
      --libdir=${LIBDIR} \
      --mandir=${PREFIX}/man \
      --with-qt-dir=${QTDIR} \
      --with-qt-includes=${PREFIX}/include \
      --with-qt-libraries=${PREFIX}/lib${LIBDIRSUFFIX} \
      --disable-rpath \
      --enable-closure \
      2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log

Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.

A full script can be downloaded from the following link. The output package can be installed using command installpkg as usual in Slackware Linux.


For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net


External Links





Languages: English - Italiano