LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Xfce 4.12 on Slackware 15.0 beta (GTK2 desktop) (https://www.linuxquestions.org/questions/slackware-14/xfce-4-12-on-slackware-15-0-beta-gtk2-desktop-4175695004/)

solarfields 05-11-2021 12:49 PM

Xfce 4.12 on Slackware 15.0 beta (GTK2 desktop)
 
Hi all!

Since I am not particularly fond of GTK3 and would like to keep using a GTK2-based Xfce, I prepared a few SlackBuilds that build Xfce 4.12 on Slackware 15.0 beta:

https://github.com/slackalaxy/tales

I used as a starting point the SlackBuilds from Slackware 14.2, but followed the template of SBo. Some components are updated to their latest GTK2 version (minor version bump) and in some cases I found additional patches, like for xfce4-weather-plugin (and of course, now I checked Slackware's 14.2 patches/ and there was a patch for it all the time...). Everything builds and seems to run just fine in a VM, but I have not installed it on my host yet.

For the record, just recompiling Xfce from 14.2 on 15.0 beta worked for me. However, I wanted to dig a bit.

I did this mainly for myself, but though someone else might be interested. It was educational and I would like to express my gratitude to Patrick and Robby for the hard work, as well as anyone who have contributed.

Comments and suggestions are welcome. :)

vladimir_vist 05-11-2021 01:14 PM

Thanks for your work.

I thought they would do the same in the coming days, but you got ahead of me.

keithpeter 05-11-2021 01:48 PM

Thanks for putting these up. I'll try them on a fresh current install on my testing machine.

What would be the best way to automate the downloading of the source files into a 'tales' tree so I can do a mass compile?

solarfields 05-11-2021 02:24 PM

Hi, I used sbopkg (https://sbopkg.org/). First, I copied the sub-folders:

apps/
art/
borrowed/
legacy/
plugins/
xfce/

into /var/lib/sbopkg/local (it was empty), so sbopkg sees them as a local repository. Then, I loaded the "tales.sqf" queue into sbopkg and it did everything automatically. Somehow, sbopkg appended the "_SBo" tag instead of the one I specified, so keep it in mind... I will write a script that will do the download and install automatically in the next couple of days.

EDIT: directory structure is updated, see this post below.

TheRealGrogan 05-11-2021 04:34 PM

Hah... I run XFCE 4.12.0 also, it's my favourite. I don't build all of it though, just the parts I want. xfce4-panel is the only thing that has GTK+3 support ported, and it can be disabled at compile time.

What I do is just send it to /opt/xfce, I don't package it. I just add bin to path and lib to ld.so.conf.

I haven't done this on current -current, glad to hear it still compiles. I'm using Plasma on my current, -current box.

bassmadrigal 05-11-2021 04:36 PM

Quote:

Originally Posted by keithpeter (Post 6250057)
Thanks for putting these up. I'll try them on a fresh current install on my testing machine.

What would be the best way to automate the downloading of the source files into a 'tales' tree so I can do a mass compile?

You could also do something like this if you don't want to use sbopkg (you'd run this from within the git tree after you clone it):

Code:

while IFS= read -r PRGM; do
  cd */$PRGM
  . $PRGM.info
  wget $DOWNLOAD
  sh $PRGM.SlackBuild
  cd -
  upgradepkg --reinstall --install-new /tmp/$PRGM-$VERSION-*
done < tales.sqf

Optionally, you could add an md5sum check after the wget and before running the SlackBuild:

Code:

if [ ! "$(md5sum < "$(basename "$DOWNLOAD")")" = "$MD5SUM  -" ]; then
  printf "MD5SUM doesn't match. Would you like to continue anyway? Y/n "
  read answer
  echo $answer | grep -qi "n" && exit 1
fi

I haven't checked this code, but it should build and install everything in the order of the tales.sqf file.

Quote:

Originally Posted by solarfields (Post 6250065)
Somehow, sbopkg appended the "_SBo" tag instead of the one I specified, so keep it in mind... I will write a script that will do the download and install automatically in the next couple of days.

sbopkg has that as a changeable setting in /etc/sbopkg/repos.d/. You would need to edit the file for the repo you're using (or create a new repo file, see below) and change the 6th field to show the tag you want.

Code:

# Repo Branch Description Tag Tool Link CheckGPG
Tales main "Xfce 4.12 SlackBuilds" _tales git git://github.com/slackalaxy/tales.git@main ""

You could just save this as something like /etc/sbopkg/repos.d/65-tales-xfce.repo and then you can select it through the menu or via sbopkg -V Tales/main then sync the repo via sbopkg -r, then move the tails.sqf to /var/lib/sbopkg/queues, then simply sbopkg -i tales.sqf and sit back and wait :)

solarfields 05-11-2021 04:44 PM

TheRealGrogan, the only component that uses GTK3 in the 'tales' repo is xfce4-pulseaudio-plugin. I would not mess with that and I do need it to switch between speakers and bluetooth headphones (the blueman-applet that stays in the system tray is also GTK3...). I am considering to add xfce4-mixer, as an alternative option, though.

bassmadrigal, that's great! Thank you so much for the script and explanations about sbopkg. I will give them a try tomorrow!

keithpeter 05-12-2021 04:29 AM

Quote:

Originally Posted by solarfields (Post 6250089)
bassmadrigal, that's great! Thank you so much for the script and explanations about sbopkg. I will give them a try tomorrow!

Thanks to solarfields hard work sorting out what to build and bassmadrigal's script I'm posting this off a fresh install of -current64 (11th May from Alienbob's install image) and xfce4 4.12.

Full install apart from kde and xfce

I split bassmadrigal's script into one that downloaded all the sources and another that ran the slackbuilds and installed the built packages. I ran into one issue with the pattern used in the upgradepkg line, error below...

Code:

/home/keith/Downloads/tales
Cannot install /tmp/gnome-icon-theme--*: file not foun

...somehow an extra dash was added to the package names in tales/art. So I munged that line as shown below in the script that runs all the slackbuilds...

Code:

bash-5.1$ cat compile.sh
while IFS= read -r PRGM; do
  cd */$PRGM
  . $PRGM.info
#  wget $DOWNLOAD
  sh $PRGM.SlackBuild
  cd -
  upgradepkg --reinstall --install-new /tmp/$PRGM*_tales.tgz
done < tales.sqf

The tales/legacy directories don't have info files so the source wasn't downloaded. I might install the older version of evince manually.

solarfields 05-12-2021 04:39 AM

Hi!

I merged apps/ and plugins/ folders into apps-plugins/. Also, I put the stuff from art/ into legacy/, so now things are a bit simpler:

xfce/
apps-plugins/
borrowed/
legacy/

I also included xfce4-mixer. This depends on gstreamer0, gst0-plugins-base and gst0-plugins-good, so I added them to borrowed/, but you can install them from ponce's SBo-current repo (https://github.com/Ponce/slackbuilds), as well.

keithpeter, let me know how things run. I am a bit puzzled a about the info files... don't you have them? I will double check.

bassmadrigal 05-12-2021 04:48 AM

Quote:

Originally Posted by keithpeter (Post 6250175)
I ran into one issue with the pattern used in the upgradepkg line, error below...

Code:

/home/keith/Downloads/tales
Cannot install /tmp/gnome-icon-theme--*: file not foun

...somehow an extra dash was added to the package names in tales/art. So I munged that line as shown below in the script that runs all the slackbuilds...

That's certainly odd and I'm not seeing why it would've happened.

Quote:

Originally Posted by keithpeter (Post 6250175)
Code:

  upgradepkg --reinstall --install-new /tmp/$PRGM*_tales.tgz

I had intended to keep the version in there just to make sure any potential version updates in the repo won't cause the system to try and upgradepkg multiple packages. Maybe an alternative would be to leave the dash after the version out. But I do like including the tag, so maybe a better upgradepkg command would be:

Code:

upgradepkg --reinstall --install-new /tmp/${PRGM}-${VERSION}*_tales.tgz
(I included the variables within curly brackets, just in case that was the issue, but I doubt it was...)

keithpeter 05-12-2021 04:58 AM

Quote:

Originally Posted by bassmadrigal (Post 6250182)
I had intended to keep the version in there just to make sure any potential version updates in the repo won't cause the system to try and upgradepkg multiple packages. Maybe an alternative would be to leave the dash after the version out. But I do like including the tag, so maybe a better upgradepkg command would be:

Code:

upgradepkg --reinstall --install-new /tmp/${PRGM}-${VERSION}*_tales.tgz
(I included the variables within curly brackets, just in case that was the issue, but I doubt it was...)

I'll try that one when I reclone the git repository sometime tomorrow. I take the point about version numbers in the command and I was running these scripts on a completely fresh install with no packages in /tmp previously.

keithpeter 05-12-2021 04:59 AM

Quote:

Originally Posted by solarfields (Post 6250179)
keithpeter, let me know how things run. I am a bit puzzled a about the info files... don't you have them? I will double check.

Just checked, and yes there *was* an info file but the source wasn't downloaded for some reason. Just downloaded it manually fine so put that one down to the operator!

solarfields 05-12-2021 05:03 AM

keithpeter, just to say it: the stuff in legacy/ is there simply because of my own preferences. I like the old file-roller more than xarchiver, but I can add xarchiver (newest v0.5.4.17, compiled with --enable-gtk2) to apps-plugins/. I am sure most users don't care about such ancient software...


All times are GMT -5. The time now is 04:23 AM.