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 (better not adding i586: these should be installed manually with 'rpm -ivh' so that they will live along with the x86_64 packages instead of replacing them; this is due to the bad package naming conventions (x86_64 and i586 packages should always bear a different name) in PCLinuxOS).

I used the following release naming convention for the packages:

(*) some of the source packages may lack the upstream source tarball (the source tarball is replaced with an empty file of the same name; this is done so to save space on my website, since I got a limited quota for it !): I call these package "bootstraping SRPMS" because I wrote their .spec file in such a way that they can, if needed, automatically download the source tarball from the upstream site when they get rebuilt. To rebuild them and re-create the (full) SRPMS, simply install the SRPMS package downloaded from this site, then rebuild the packages using "rpmbuild -ba".


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 v7.3.0 as its system compiler, but that move from v4.9 to 7.3 was a bold (and probably unwise) move, since gcc v7.3, while "cutting edge" is also quite new and fails to compile many old programs (worstened by the fact that the new glibc v2.26 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 (the previous gcc branch used in PCLinuxOS, but that does not comply with the new C+11 gcc ABI), and gcc v5.5.0 (more compatible than gcc v7.3 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 v7.3).

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 (6.0.0). You will find the all-in-one "llvm-clang" package in this repository, which deprecates PCLinuxOS' "clang*" and "llvm*" packages.


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 without having to worry about recompiling Mesa !).


TCL/TK stuff: I provide here tkimg v1.4.6 which is missing from PCLinuxOS packages, and a newer tcl-tls (v1.6.7).


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:
  • 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.