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 ...).

libX11: with v1.8.0, libX11 now calls by default (on first libary use) the XInitThreads() function: the BIG problem is that the official X11 documentation always specified that Xlib thread initialization is not required. It is recommended that single-threaded programs not call this function. The reason is that once called, you must explicitely call XLockDisplay() and XUnockDisplay() were appropriate and care about recursive locking... This change causes many old mono-threaded X11 programs, to dead-lock randomly (case of Nedit, for example), or right out crash in your face at the most unexpected moment. I therefore provide here libX11 packages compiled with the "--disable-thread-safety-constructor" option (i.e. XInitThreads() is no more called by default), restoring proper operation of all existing X11 programs (threaded or not).


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 !).


IA32LIBS: 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, and lacks devel files to rebuild, for example, 32 bits wine (for running the latter, PCLinuxOS' package also lacks SPIRV and FAudio libs)... I therefore provide here properly laid out and modernized ia32libs and ia32libs-devel packages which libraries were recompiled on an updated 32 bits PCLinuxOS 2015 system.


WINE: PCLinuxOS' wine packages lack FAudio and 32 bits SPIRV support. I provide here the Faudio libs and a single wine v8.0 package (that replaces and obsoletes PCLInuxOS' wine32 and wine64 packages), as well as wine-mono v7.4.0. Note that, on purpose, I did not make the wine binary package dependent on wine-mono and wine-gecko, so you are free not to install the latter: just make sure, in this case, to insert an 'export WINEDLLOVERRIDES="mscoree,mshtml="' line, somewhere in your bash environment (e.g. inside a new /etc/profile.d/wine-no-mono-no-gecko.sh file), so that Wine won't pester you everytime you launch a program to install Mono/Gecko... For info, here is the output of the configure script for Wine 32 and 64 bits (listing the few limitations of this Wine build).


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.


OPEN MOTIF: PCLinuxOS' OpenMotif packages are old and outdated. I provide v2.3.8 here. If you wish to give the old Motif user interface a more modern look, add the contents of Xdefaults.modernized_motif to your ~/.Xdefaults file (and re-read the latter with 'xrdb ~/.Xdefaults').


NEDIT and XNEDIT: PCLinuxOS lacks these totally lovely editors (note: nedit cannot deal with UTF-8 files and locale; xnedit can). They depend on OpenMotif (see above).