LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
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-29-2020, 12:44 PM   #31
burning
Member
 
Registered: Jan 2020
Location: Canada
Distribution: Slackware
Posts: 273

Rep: Reputation: Disabled
Seeking guidance on installing CDE on slackware current 32-bit


Hello there;
I'm fairly new to slackware and linux in general, I've slowly been setting up an old thinkpad at a leisurely pace over these past few weeks and I've been experimenting with a few Desktop Environments. I've tried ICEwm, FVWM2 and XFCE so far but I think now I'd like to try CDE; but there doesn't seem to be a slackbuild for it on slackbuilds.org.

Roaming through some threads here, I came across a thread that mentioned http://ponce.cc/slackware/testing/CDE/

Being someone who hasn't yet attempted to write their own slackbuild script, what exactly am I meant to do here?
As in, how do the files linked on that site relate to instructions on slackbuilds.org on writing your own slackbuild script? What gaps does it fill? what do I not have to do anymore that I would've had to do if I was writing a script from scratch? etc
 
Old 03-07-2020, 03:32 AM   #32
edorig
Member
 
Registered: Apr 2013
Location: France
Distribution: Slackware; Ubuntu
Posts: 134

Rep: Reputation: Disabled
The Slackbuild on ponce.cc will simply generate a .tgz package that you will be able to install with installpkg or pgktool.
I think that it is not on slackbuilds.org just because CDE wants to be in its own directory /usr/dt while slackbuilds.org prefers to place applications in standard Linux directories /usr/ or /usr/local/.
In practice, you need to download the most recent stable CDE release from http://www.sourceforge.net/p/cdesktopenv (2.3.2) and the material coming with the script on ponce.cc in the same directory, edit the version number in the Slackbuild script to match the release, make the script executable and run it. If everything works fine, you will see the compile proceed, and you will have the installable package.
Of course, you can directly compile from the source using the instructions on Sourceforge, and follow the CDE install procedure. The only downside is that you will have to remove CDE with rm -rf /usr/dt ; rm -rf /etc/dt; rm -rf /var/dt when you are fed up with it, instead of using removepkg.
 
1 members found this post helpful.
Old 04-12-2020, 04:10 PM   #33
burning
Member
 
Registered: Jan 2020
Location: Canada
Distribution: Slackware
Posts: 273

Rep: Reputation: Disabled
Quote:
Originally Posted by edorig View Post
The Slackbuild on ponce.cc will simply generate a .tgz package that you will be able to install with installpkg or pgktool.
I think that it is not on slackbuilds.org just because CDE wants to be in its own directory /usr/dt while slackbuilds.org prefers to place applications in standard Linux directories /usr/ or /usr/local/.
In practice, you need to download the most recent stable CDE release from http://www.sourceforge.net/p/cdesktopenv (2.3.2) and the material coming with the script on ponce.cc in the same directory, edit the version number in the Slackbuild script to match the release, make the script executable and run it. If everything works fine, you will see the compile proceed, and you will have the installable package.
Of course, you can directly compile from the source using the instructions on Sourceforge, and follow the CDE install procedure. The only downside is that you will have to remove CDE with rm -rf /usr/dt ; rm -rf /etc/dt; rm -rf /var/dt when you are fed up with it, instead of using removepkg.
Thank you for your reply. I've only recently had time to get back to setting up my laptop again. Now that I have some more free time, is there a way I can download the slackbuild from ponce.cc as one directory? Forgive my inexperience but it seems as if I can only download individual files from that link, not complete directories so I was wondering if there was an alternative to individually downloading each file in each directory on it's own and then grouping them together appropriately.
 
Old 04-12-2020, 04:22 PM   #34
Jeebizz
Senior Member
 
Registered: May 2004
Distribution: Slackware15.0 64-Bit Desktop, Debian 11 non-free Toshiba Satellite Notebook
Posts: 4,190

Rep: Reputation: 1382Reputation: 1382Reputation: 1382Reputation: 1382Reputation: 1382Reputation: 1382Reputation: 1382Reputation: 1382Reputation: 1382Reputation: 1382
Quote:
Originally Posted by burning View Post
Thank you for your reply. I've only recently had time to get back to setting up my laptop again. Now that I have some more free time, is there a way I can download the slackbuild from ponce.cc as one directory? Forgive my inexperience but it seems as if I can only download individual files from that link, not complete directories so I was wondering if there was an alternative to individually downloading each file in each directory on it's own and then grouping them together appropriately.
Try a browser extension like "downthemall", you should be able to filter by file types and the like with it.
 
1 members found this post helpful.
Old 05-10-2020, 07:48 AM   #35
dchmelik
Senior Member
 
Registered: Nov 2008
Location: USA
Distribution: Slackware, FreeBSD, Illumos, NetBSD, DragonflyBSD, Plan9, Inferno, OpenBSD, FreeDOS, HURD
Posts: 1,074

Rep: Reputation: 149Reputation: 149
Tried CDE again last several months or 2019... nice to see multiple monitor support... and most--not all--GUI features I'd like. For now I'll have to stay on KDE5 I guess (still miss some things about KDE3.5 and people on ##slackware miss things about all older versions.) I really wish one or the other would allow both Windows 3 & 95/98/ME-style features. Originally I liked program groups in their own windows (never liked start menu as much, to this day) but also like taskbar... which became more important to me than program groups. I felt more productive when I could switch between program groups and see everything else I might use, which of course, you can in CDE. However I also need to see what I have running, preferably (like KDE4+) on a taskbar with launchers that disappear when you start their programs. Nevertheless, I'll keep watching/trying CDE, and if possible I'd donate to the project but unsure they accept... (already did for KDE, TDE...)

Last edited by dchmelik; 05-10-2020 at 07:50 AM.
 
1 members found this post helpful.
Old 05-20-2020, 05:15 AM   #36
burning
Member
 
Registered: Jan 2020
Location: Canada
Distribution: Slackware
Posts: 273

Rep: Reputation: Disabled
Quote:
Originally Posted by edorig View Post
The Slackbuild on ponce.cc will simply generate a .tgz package that you will be able to install with installpkg or pgktool.
I think that it is not on slackbuilds.org just because CDE wants to be in its own directory /usr/dt while slackbuilds.org prefers to place applications in standard Linux directories /usr/ or /usr/local/.
In practice, you need to download the most recent stable CDE release from http://www.sourceforge.net/p/cdesktopenv (2.3.2) and the material coming with the script on ponce.cc in the same directory, edit the version number in the Slackbuild script to match the release, make the script executable and run it. If everything works fine, you will see the compile proceed, and you will have the installable package.
Of course, you can directly compile from the source using the instructions on Sourceforge, and follow the CDE install procedure. The only downside is that you will have to remove CDE with rm -rf /usr/dt ; rm -rf /etc/dt; rm -rf /var/dt when you are fed up with it, instead of using removepkg.

Thanks. I'm finally getting around to installing it now. I've downloaded all of the necessary files from ponce and the source. Though, As I'd like to better understand what I'm doing in each step before executing it just to make sure I'm learning as I go, do you think you could answer a few questions I have on the README.slackware file?
In the README.slackware files, it lists multiple steps I need to take before running the slackbuild script.

Quote:
1) Add some additional locales symlinks:

cd /usr/lib@LIBDIRSUFFIX@/locale/
ln -s de_DE de_DE.ISO-8859-1
ln -s es_ES es_ES.ISO-8859-1
ln -s fr_FR fr_FR.ISO-8859-1
ln -s it_IT it_IT.ISO-8859-1

2) Get rpcbind to run into insecure mode:

chmod +x /etc/rc.d/rc.rpc
/etc/rc.d/rc.rpc start

3) Build/install the dependency xlt
( https://slackbuilds.org/repository/14.2/libraries/xlt/ )

4) You will need a cde group on the system to run this script:
create one with a command like

groupadd -g 310 cde

Don't forget to add the user that you want to run CDE to this
group: you can use a command like

gpasswd -a myuser cde

5) Build using this SlackBuild.

VARIOUS IMPORTANT NOTES - *MUST* READ

- The build process will install stuff into your /usr, /etc/ and /var,
spamming everywhere, so if you have already installed CDE, you
should remove its stuff prior to building this: this is because CDE
devs have hardcoded building/installing thingies and we can't do
anything about it.

- The LANG environment variable of your user *must* have one of the
following values:

C
fr_FR.ISO8859-1
de_DE.ISO8859-1
es_ES.ISO8859-1
it_IT.ISO8859-1

It will be set to LANG=C by default in your
/etc/profile.d/CDE.{sh,csh} but your enviroment could override it:
be warned.
You can change this default also in /etc/rc.d/rc.4 and
/usr/dt/bin/startxsession.sh.

- When you first run CDE and try to run an application from the
front panel, it may fail with a TT error.
Log out and log back in and it will run without errors.

- If you prefer to run its internal login manager, add this on
top of /etc/rc.d/rc.4, before the gdm lines

# Regardless of the comments below, let's check for dtlogin first:
if [ -x /usr/dt/bin/dtlogin ]; then
export PATH="/usr/dt/bin:$PATH"
export LANG=C
cd /usr/dt/bin
exec ./dtlogin
fi

(these notes have been written originally by notKlatuu and Christopher
Turkel for the cde wikii and has been modified by Matteo Bernardini))
1. What exactly are those symlinks connecting? What's the purpose of making those symlinks?
2. What is rcpbind? and why does is need to be run in insecure mode?
3. why do I need to make a new usergroup to run this script specifically?
4. And what exactly is a LANG environment variable? Is it just what determines what language the DE uses? If so, I'd assume C is English? or is it something else?

Last edited by burning; 05-20-2020 at 09:28 AM.
 
1 members found this post helpful.
Old 05-20-2020, 09:11 PM   #37
dchmelik
Senior Member
 
Registered: Nov 2008
Location: USA
Distribution: Slackware, FreeBSD, Illumos, NetBSD, DragonflyBSD, Plan9, Inferno, OpenBSD, FreeDOS, HURD
Posts: 1,074

Rep: Reputation: 149Reputation: 149
what about NsCDE?
 
1 members found this post helpful.
Old 05-21-2020, 06:39 AM   #38
burning
Member
 
Registered: Jan 2020
Location: Canada
Distribution: Slackware
Posts: 273

Rep: Reputation: Disabled
Quote:
Originally Posted by dchmelik View Post
what about NsCDE?
Looks interesting. Would I need to make my own SlackBuild from the ground up in order to install it?
 
Old 05-21-2020, 08:32 AM   #39
ehartman
Senior Member
 
Registered: Jul 2007
Location: Delft, The Netherlands
Distribution: Slackware
Posts: 1,674

Rep: Reputation: 888Reputation: 888Reputation: 888Reputation: 888Reputation: 888Reputation: 888Reputation: 888
Quote:
Originally Posted by burning View Post
4. And what exactly is a LANG environment variable? Is it just what determines what language the DE uses? If so, I'd assume C is English? or is it something else?
Not just the DE: LANG is a setting (global environment variable) that termines language, character coding etc for the whole system. Nowadays it is often set to
Code:
 $ echo $LANG
en_US.UTF-8
that is: ENglish, in the US variant, using the UTF-8 characterset.

LANG=C is the original C charset, pure 7-bits ASCII, no national or international extensions. A lot of older programs still need this setting as they cannot handle multi-byte chars like UTF-8 can use.
 
1 members found this post helpful.
Old 05-21-2020, 09:56 AM   #40
edorig
Member
 
Registered: Apr 2013
Location: France
Distribution: Slackware; Ubuntu
Posts: 134

Rep: Reputation: Disabled
Quote:
Originally Posted by burning View Post
1. What exactly are those symlinks connecting? What's the purpose of making those symlinks?
The CDE build process is expecting the locales in the format de_CH.ISO8859-1 (de=language=German, CH=country=switzerland, ISO8859-1=encoding). On Slackware, this would be simply de_CH. The locales fr_FR,de_DE,it_IT,es_ES are required for the build process. They are already on Slackware, but the build process would not find them without the symlinks.
Quote:
Originally Posted by burning View Post
2. What is rcpbind? and why does is need to be run in insecure mode?
rpcpbind is described in the manual page (man rpcbind) . It is used to connect programs that
make RPC calls to the right RPC service.
The Tooltalk RPC service allows CDE programs to communicate with each other, and the cmsd RPC service is needed by the CDE calendar. Runnning rpcbind in insecure mode is unnecessary with recent versions of CDE since they use tirpc by default.
 
2 members found this post helpful.
Old 05-21-2020, 04:52 PM   #41
burning
Member
 
Registered: Jan 2020
Location: Canada
Distribution: Slackware
Posts: 273

Rep: Reputation: Disabled
Quote:
Originally Posted by edorig View Post
The CDE build process is expecting the locales in the format de_CH.ISO8859-1 (de=language=German, CH=country=switzerland, ISO8859-1=encoding). On Slackware, this would be simply de_CH. The locales fr_FR,de_DE,it_IT,es_ES are required for the build process. They are already on Slackware, but the build process would not find them without the symlinks.

rpcpbind is described in the manual page (man rpcbind) . It is used to connect programs that
make RPC calls to the right RPC service.
The Tooltalk RPC service allows CDE programs to communicate with each other, and the cmsd RPC service is needed by the CDE calendar. Runnning rpcbind in insecure mode is unnecessary with recent versions of CDE since they use tirpc by default.
Thanks for the explanation!
 
Old 06-21-2020, 03:58 AM   #42
burning
Member
 
Registered: Jan 2020
Location: Canada
Distribution: Slackware
Posts: 273

Rep: Reputation: Disabled
Actually, after looking into it some more, I think I might try NsCDE. Anyone know if there's a slackbuild for it?
 
1 members found this post helpful.
Old 06-23-2020, 02:28 AM   #43
dchmelik
Senior Member
 
Registered: Nov 2008
Location: USA
Distribution: Slackware, FreeBSD, Illumos, NetBSD, DragonflyBSD, Plan9, Inferno, OpenBSD, FreeDOS, HURD
Posts: 1,074

Rep: Reputation: 149Reputation: 149
Quote:
Originally Posted by burning View Post
Looks interesting. Would I need to make my own SlackBuild from the ground up in order to install it?
No, but you should and release it.
 
Old 06-24-2020, 04:35 PM   #44
burning
Member
 
Registered: Jan 2020
Location: Canada
Distribution: Slackware
Posts: 273

Rep: Reputation: Disabled
So I'm trying to write a SlackBuild script for NsCDE using the file available here as a template.
This is my first time attempting to write a SlackBuild script so I am sure that I've made many errors in making this rough draft.

This is what I have so far:

Code:
#!/bin/sh -e

# Slackware build script for NsCDE

# last revised on: 2020/06/24



# NsCDE  Copyright (C) 2020 burning 
# ----------------------------------
All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



PRGNAM=NsCDE
VERSION=${VERSION:-1.0rc21}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} 

# Automatically determines the architecture being built on:
# ----------------------------------------------------------
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=1586 ;;
    arm*) ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) ARCH=$( uname -m ) ;;
  esac
fi

# Setting initial variables:
# ---------------------------

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}  #for consistency's sake, use this
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp} # Drop the package in /tmp
fi

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e # Exit on most errors
# If you prefer to do selective error checking with
# command || exit 1
# Then that's also acceptable.

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

# Instructions from the INSTALL file
# -----------------------------------
umask 0022
cd /tmp
wget https://github.com/NsCDE/NsCDE/archive/1.0rc21.tar.gz
tar xpzf 1.0rc21.tar.gz
cd NsCDE-1.0rc21
./Installer.ksh -w -i
cd /usr/local/bin
ln -s /opt/NsCDE/bin/nscde


# Compile the application and install it into the $PKG directory
make || exit
make install DESTDIR=$PKG || exit

# Strip binaries and libraries - this can be done with 'make install-strip'
# in many source trees, and that's usually acceptable if so, but if not,
# use this:
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 2 -d : | xargs strip --strip-unneeded 2> /dev/null || true

# Compress man pages
# If the man pages are installed to /usr/share/man instead, you'll need to either
# add the --mandir=/usr/man flag to configure or move them manually after the
# make install process is run.
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done

# Compress info pages and remove the package's dir file
# if no info pages are installed by the software, don't leave this in the script
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*.info*

# Remove perllocal.pod and other special files that don't need to be installed,
# as they will overwrite what's already on the system. If this is not needed,
# remove it from the script.
# Remove 'special' files
find $PKG -name perllocal.pod \
  -o -name ".packlist" \
  -o -name "*.bs" \
  | xargs rm -f

# Copy program documentation into the package
# The included documentation varies from one application to another, so be sure
# To adjust your script as needed
# Also, include the SlackBuild script in the documentation directory
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
  <documentation> \
  $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

# Copy the slack-desc (and a custom doinst.sh if necessary) into ./install
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

# Make the package; be sure to leave it in $OUTPUT
# If package symlinks need to be created during install *before*
# your custom contetns of doinst.sh runs, then add the -p switch to
# the makepkg command below -- see makepkg(8) for details
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
I am aware at the lack of a ./configure section. This was because the source did not include a ./configure file.
I also got the instructions from the INSTALL file here

Are there any recommended/necessary amendments I should make? Please let me know.

Last edited by burning; 06-26-2020 at 08:56 AM.
 
1 members found this post helpful.
Old 06-29-2020, 05:41 PM   #45
demifiend
LQ Newbie
 
Registered: Aug 2019
Location: USA
Distribution: Slackware
Posts: 17

Rep: Reputation: Disabled
Quote:
Originally Posted by burning View Post
Are there any recommended/necessary amendments I should make? Please let me know.
Hi. If you're planning to submit this to slackbuilds.org, you should be aware that they'll probably ask you to remove the wget commands because all of the dependencies should be locally available (verified as valid using MD5 checks) before the slackbuild script starts.
 
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
CDE on Slackware woomia Slackware 21 09-08-2012 01:43 PM
Trouble building CDE (Slackware 64 13.37) penduin Linux - Software 16 09-02-2012 08:03 PM
CDE for Slackware on the horizon? pargoo Slackware 29 08-17-2012 01:16 PM
Are there any linux distros with cde, or any way to install cde? woms14 Linux - General 5 01-15-2010 09:08 PM
CDE graphical-login/cde-login in maintenance state czezz Solaris / OpenSolaris 1 09-30-2009 09:20 AM

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

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