Linux stuff

This site is still under construction. It will hold a collection of patched pieces of software I built over years for my own usage, and will also provide tricks and workarounds for glitches encountered in the Linux distribution I am currently using (PCLinuxOS).

You will find the RPM packages in:

You may add the above packages collection as a new repository in Synaptic. Using, URI: http://linux.developer.free.fr/ - Distribution: PCLinuxOS - Categories: x86_64 noarch.

I used the following release naming convention for the packages:


You will also find in the scripts/ directory various shell scripts. In order to use them, you will need to make them executable after download (chmod +x ...).


GCC: PCLinuxOS now provides gcc v10.2.0 as its system compiler; while "cutting edge" this compiler also quite new and fails to compile many old programs (worstened by the fact that glibc v2.30+ also introduced some backward compatibility breakage). I therefore recompiled gcc v4.6.4 (suitable for very old programs not compiant with C++11), gcc v4.9.4 (that does not comply with the new C+11 gcc ABI), and gcc v5.5.0 (more compatible than gcc v10.2 and also able to produce C++ compiled binaries using the new ABI). So, you will find here the corresponding compiler packages (for C and C++ only), that can be installed along with the system compiler (gcc v10.2).

In order to register gcc v4.6.4, v4.9.4 and gcc v5.5.0 after installing them, simply run the gcc-alternatives script, then you can choose the compiler at any time with:

alternatives --config gcc

LLVM-CLANG: PCLinuxOS' clang and llvm packages are non-fonctionnal to compile C/C++ programs, because the "mandriva" vendor support is missing from the upstream sources. I made a patch and recompiled the whole shebang, also adding compiler-rt and OpenMP along llvm/clang. Of course, I also used the latest llvm-clang release. You will find the all-in-one "llvm-clang" package in this repository, which deprecates PCLinuxOS' "clang*" and "llvm*" packages. And since PCLinuxOS' qt5tools depends on a shared llvm library, I also provide here the recompiled qt5tools version (with statically linked llvm libraries so that qt5tools does not depend on it).


MESA: PCLinuxOS' Mesa is using dynamic llvm libraries, and since my llvm-clang package uses static libraries (as recommended by llvm's authors themselves), I'm providing here a recompiled set of mesa package, linked against the llvm's static libraries (this also entitles you to update llvm/clang at any time, or even uninstall it completely, without having to worry about recompiling Mesa !).


IA32-LIBS: PCLinuxOS' ia32-libs package lacks many required 32 bits libraries needed to run old 32 bits programs (especially GTK+ v1 and GNOME v1 ones), and many of its libraries are too old (e.g. fontconfig/freetype/harfbuzz) when compared to their 64 bits counterparts (leading to a lot of errors in fontconfig 32 bits, for example, since the 64 bits counterpart got newer config files that the old library does not understand). Not to mention the PCLinuxOS official package wrongly places the 32 bits libraries in /opt/lib32 instead of LSB's standard /lib and /usr/lib... I therefore provide here a properly laid out and modernized ia32-libs package which libraries were recompiled on an updated 32 bits PCLinuxOS 2015 system. Also, because liblzma 64 bits libraries are wrongly placed in /lib (instead of /lib64) by the PCLinuxOS packager, you will find here repackaged xz and 64 bits liblzma libraries that won't conflict with the ia32-libs liblzma...


TCL/TK stuff: I provide here tkimg v1.4.6 and dbus-tcl v2.2 which are missing from PCLinuxOS packages, and a newer tcltls (v1.6.7 , i.e. the last working version: v1.7 is fucked up).


SAWFISH: a very nice and fully customizable window manager, which will happily replace the dumb ones provided with the Gnome/Mate or KDE desktop environments... It's alas missing from PCLinuxOS and its associated libraries (librep, rep-gtk), while present, are also quite old in PCLinuxOS' repository. I'm providing them all in this repository.

NOTE: in order to run Sawfish happily with Mate, use dconf-editor to change the org/mate/desktop/session/required-components/windowmanager key value to "sawfish", then place both the sawfish.desktop and mate-panel.desktop files into your ~/.local/share/applications/ directory; they will ensure that sawfish gets started one second after Mate, and that the mate-panel will be started one second after sawfish: a different order or the removal of the initial 1 second delay may cause the mate-panel to malfunction such as not showing when setup for auto-hiding, or having immovable buttons (via drag and drop) in the windows list applet. The sawfish.desktop file also ensures that sawfish signals itself to Mate as the window manager and that it would get auto-restarted if accidentally killed/crashed.


ROX-FILER: I used this file manager, in its GTK+ v1 flavour, for many years... I resisted migrating to its GTK+ v2 incarnation all this time, because it had many drawbacks. I finally updated to v2, but not without patching it a lot first, to remove all the annoyances and make it more like its v1 version (all patches in the rox package found on this repository are from me, with the exception of the "rox-2.1.0-gnuclient.patch" one). I use ROX-Filer to replace the Gnome/Mate file manager (you will find here a script to emulate most of caja's functions with rox).


GTK-MURRINE: this old GTK engine causes recent Cairo versions to crash whenever a bitmap font is used (for this reason, most distros, PCLinuxOS included, had their fontconfig default configuration set up so that bitmap fonts are replaced with TTF fonts): the version available on this site got a patch which fixes this nasty issue (and allows to use bitmap fonts if you so wish !).


FONTCONFIG: the version shipped with PCLinuxOS got added configuration files from Mandriva which prevent the usage of bitmap fonts (e.g. PCF X11 fonts such as Adobe Helvetica, Times New Roman, Courier New, etc...). I provide here the latest fontconfig version with the offending configuration files moved from /etc/fonts/conf.d/ to /usr/share/fontconfig/conf.avail/ (so that you may still link to them from /etc/fonts/conf.d/ if it fancies you).


MATE:

The Mate desktop environment was recently updated to v1.16 in PCLinuxOS. Alas, the latter version, which (partly) uses GTK3 instead of GTK2, is very buggy. You will find in this repository the Mate v1.14 desktop packages (renamed as mate114-*, and obsoleting their mate-* counterparts, meaning there is no risk of seeing them "updated" by Synaptic with v1.16 or newer version, after you will have (re-)installed Mate v1.14 manually).

The following packages also differ from PCLinuxOS' ones:
  • The Mate panel package got a patch of mine to restore a proper shadow/border.

  • I patched the mate114-applets package which got a debugged and much improved disk mounter applet (which ressembles "drivemount-original", see the picture on the right).

  • mate114-file-manager* and mate114-window-manager* were split between programs and libraries, allowing to unsinstall the corresponding programs (Caja, Marco) without breaking other components (control panel, applets...) which need the associated libraries; this way you may use replacement, non-Mate programs (e.g. ROX-Filer, Sawfish) and not have your system cluttered with Mate stuff you won't use...

  • The Mate mixer was compiled with OSS v4 support, is case you would use the latter instead of ALSA or Pulseaudio...

  • The mate menu editor was patched so that it works properly for systems configured with an ISO locale (e.g. fr_FR@euro) instead of an UTF-8 one. While not strictly Mate stuff, you will find as well the system-config-printer utility that got patched to work properly with ISO locales (same problem as with the Mate menu editor).

  • The mate session manager was compiled without "upower" support (the latter being quite annoying for desktop PCs): if needed, you may recompile it from the SRPMS, passing "--with upower" to rpmbuild in order to get back upower support.


FIRESTARTER: an old but very nice IPv4 (iptables-based) firewall/router/NAT GUI for Linux. I added the necessary patches (crash fixes, recent kernel compatibility, etc).


OPEN-ISCSI and TGT: PCLinuxOS lacks the tools to setup iSCSI targets and initiators. Here are open-scsi for the initiator (client) and tgt for the target (server, on which the storage unit is located), and you will also find librdmacm (needed by tgt) since the latter is not part of the PCLinuxOS packages.


ECRYPTFS-UTILS: PCLinuxOS lacks the tools to setup and use ecryptfs file systems. You will find the ecryptfs-utils packages here.


MONO: PCLinuxOS now lacks Mono !... This totally essential tool to run .NET software under Linux was outdated in PCLinuxOS and removed in 2018. I am providing here Mono v6.6.0 together with a newer gdiplus (v6.0). You will also find gtk-sharp2 and gnome-sharp2 packages.


Intel OpenCL runtimes: If you got an Intel CPU with a "GEN" iGPU (and a Linux kernel compiled with i915 support), you will want the packages for the "Intel compute runtimes" (AKA "NEO"), so that you can use your iGPU with OpenCL-capable software. The packages I provide here have been tested and work fine (contrarily to the binary packages provided by Intel on their git and that crash all applications using the ICD OpenCL loader: there is apparently a bug in llvm/clang that causes the optimized builds of llvm-spirv to crash). Note however that one software, blender, is known to crash when NEO drivers are installed: to work around that bug, you will need to rename /etc/OpenCL/vendors/intel.icd to something else (not ending with ".icd", e.g. /etc/OpenCL/vendors/intel.icd.off) before starting blender... To verify that your iGPU is properly recognized and does work fine after installing the intel-compute-runtime package and its ancillaries, you could use LuxMark, for example.