SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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:
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.
Last edited by solarfields; 05-11-2021 at 02:43 PM.
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.
Last edited by solarfields; 05-12-2021 at 04:59 AM.
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.
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
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
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!
Distribution: Slackware 15.0, 14.2 and Current. OpenBSD 7.3
Posts: 305
Rep:
Quote:
Originally Posted by solarfields
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.
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.
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.
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:
Distribution: Slackware 15.0, 14.2 and Current. OpenBSD 7.3
Posts: 305
Rep:
Quote:
Originally Posted by bassmadrigal
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:
(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.
Distribution: Slackware 15.0, 14.2 and Current. OpenBSD 7.3
Posts: 305
Rep:
Quote:
Originally Posted by solarfields
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!
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...
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.