Friday, December 28, 2007

Dependancies

All long time Slackware users know its package management tools do not calculate dependencies. It never has and possibly never will. At least not officially.

The author of Slackware, a certain Mr Volkerding, is on record as saying Slackware will never do dependacy checking due to the inherent risks of doing such. Now, it is perfectly feasible that as he gets older and married life takes a hold and the probability of children being added to the fold, that he may change his mind. However, at this time in Slackware's development cycle, it is at version 12 with -current (the play area that will become the next Slackware version when the author deems it fit to be so) in full swing, Slackware's package tools do not support dependancy checking.

There are a couple of packages in /extra that do do dependency checking but as is witnessed all over the Internet these programs sometimes wreak havok on users systems. It is not for me to say whether these issues are caused by user or program errors but having played with these programs on my test desktop machine I can only state what happened to me. I am by no means a novice Slackware, let alone Linux, user but both Slaptget and Slacktrack (the programs deemed worthy of a place in /extra) both bit me and totally hosed my test desktop machine. Luckily, having used Slackware since forever I recovered that desktop but as sure as night follows day there are many poor tortured souls out there that do not have me experience who would be left with but one option and that is to reinstall. I would hazard a guess that Mr Volkerding knows about these oopsies that occasionally happen and until such a time as these reports and complaints stop he will never incorporate such programs into Slackware proper.

And so it should forever be so.

So, why then do various third party outfits add in extra tags to their package sets that are for dependency checking? These outfits add slack-required files into their packages which are then used by Slaptget. Linuxpackages.net started this rot and others such as slacky.it and slackbuilds.org are doing it too. It is wrong and flies in the face of what Mr Volkerding himself has stated.

I ask these package repository owners to clean up their act and remove these slack-required files from their packages.

A while ago I joined a party whose aim was to properly explain how Slackware's package tools worked. The grand plan was to document every aspect of those tools. A noble aim I am sure you will agree. However, it soon became apparent that what they wanted to do was expand on what Slackware's package management tools already did by adding in various extra bits. As soon as this became apparent I and my partner in crime for this very blog, left.

Slackware is lean and clean. Long may it remain so.

Monday, December 10, 2007

Stealing

That is the only word I can think of that hits home how I feel about this particular thing.

In the latest slackware-current changelog there is a reference to someone who is not averse to stealing scripts by other people and calling them his own. In this particular case it is the build script for XFCE4.

I put up my own build script for XFCE4 when XFCE went from the older XFCE to the newer XFCE and labled it XFCE4. In fact, I was building every new XFCE4 as and when they came out upstream. I would build it, put up the package, build script and slack-desc. For one or two releases I was prompted by users as I was slow in catching the upstream release. However, as soon as I was notified I went and downloaded it, built it etc etc.

The similarities between my own script and the script in slackware-current attributed to a particular person who has been noticed by others for stealing other peoples scripts is disappointing at worst and downright annoying at best.

Friday, December 7, 2007

Decisions.

For only the second time in some 12 years I am considering changing distributions. Over those 12 or so years I have enjoyed using first Slackware, then Slamd64 and latterly Bluewhite64. Those latter two are 64 bit ports of Slackware. Bluewhite64 is the more vanilla port as slamd64 has some additiions not found in Slackware itself.

In all that time my allegence has been with Slackware, or a port thereof and distributions have come and gone and some have been around forever but none have strung my head hard enough to make me change for more than a week.

The last time I considered changing distributions was about 6 years ago. I joined Arch Linux and did some 300+ packages for them but the administration team went off the rails around version 0.3. I argued with them. Left then rejoined only to leave again. That distribution is still going and my heart says give it another go but my head always brings back the thoughts of those arguments. The crux of those arguments concerned direction and if I am honest with myself I would end up back arguing again. To show how the current administrators act consider the fact I did over 340 packages for Arch Linux but you would not know it as my attributions have been removed from most of the PKGBUILD scripts and my name nor nick is mentioned anywhere on their web site. You would think with such a large contribution at a time when Arch was growing, and I believe I helped it grow with my huge contribution, would at least have got my name or nick mentioned somewhere but, and I strongly believe it is because of the current administration, I get no such mention.

Anyway, that gripe off my chest I looked around at the current state of the Linux distribution market both big players and little players. None took my attention. Not one. Well, that is not completely true. ROCK got my attention as did one of its spin offs but something stopped me from trying them. Was it my previous go, though I cannot remember trying them. Whatever it was it was something. The Ubuntu family simply turn me off so much I find them abhorant. My wife uses Ubuntu and administrating it for her, both hands on and remotely is a breeze but it is exactly that ease, and their overreliance on the sudo command, that turns me off.

Some of the middle field players i dug into insomuch as I viewed their web sites but there was always something that held me back from actually using them as my main stay everyday distribution choice.

So, for me at least, the newer Bluewhite64 which is based on the venerable Slackware will for the forseeable future remain as the distribution of choice on my desk top rig.

Now, if I had to change which one of the 300+ disributions would I choose? If I had bags of time to install it then ROCK or EDS would be my choice. If I did not have bags of time then it would be Arch or Crux Linux. Hmm, Crux I tried before and really liked what I saw but at the time I tried it its application database(s) where very small if they existed at that time at all. These days however, Crux has come along way and now has many databases spread around the Internet some of which have lots of content.

Anyway, after a 4 weeks search and read exercise I still cannot find anything to replace my Slackware based Bluewhite64 Operating System with.

Wednesday, December 5, 2007

Time rolls on.

Indeed it does. Time rolls on and the dinosaur's disappeared. And so it is. With the above line stated I think some explanation is required, especially its deeper meaning as well as to what it is I refer to in the present tense. Many years ago some Slackware users placed many nuggets of information relating mainly to that Operating System but sometimes to every GUN Linux based Operating System. They put on to web sites information such as how to 'properly' build Slackware packages. How to get around some of the quarks that distribution had. How to change the start up scripts to make them faster at boot time. Etc, etc, etc. All this and more was put out there for public consumption and people used that information. Then other Slackware users came to be and they too put such information into the public domain. These users collected the information scattered on many web sites put there by the previous generation, updated to fit new releases and then put it all together in one place for other people to view and use. Fast forward to today and yet again a newer set of users came to be who collated information out there on the Internet, gave it a new twist, called it their own and placed the result on the Internet. The different between the three generations of Slackware users, while all had or have good intentions, follows the same path and attitudes each generations general public had or had. Lets call the generations Gen-1, Gen-2 and Gen-3. Gen-1 built the foundations the Gen-2 built on top of. Gen-2 attributed Gen-1 for the work Gen-2 created off the back of what Gen-1 created. In otherwords Gen-2 acknowledged Gen-1. Gen-3 however is a different beast all together. They took the work done by Gen-2 and called it their own. They changed the smallest bits. They give no attribution at all to Gen-1 and Gen-2. They created web sites in a mirror image of web sites created by Gen-2 and then added or edited scripts then gave no attribution to Gen-2. So, today we have a situation where Gen-3 users are coming across, and they do everything possible to put that in the minds of other people, as being the first and only generation of Slackware users that have put information and slackware build scripts on the Internet. They give not the slightest nod to all those who have gone before them doing what Gen-3 users are doing right now. I reckon there are one or two reasons for Gen-3's attitude. Reason 1 is mirrored in how todays society at large acts. Reason 2 is that most of the Gen-3 web masters are American and we all know they think they rock andthe rest of the world does not exist in their minds and that they are hellbent on ruling the world. That is my take on the current generation of Slackware users. It is bad enough to make me want to change distributions for the first time in 12 years or so. Attributes people. Attributes. Deep deep down you know I am right.

Monday, November 26, 2007

Gnome2 >2.20.0

I am unsure when Gnome2 started using PolicyKit which itself relies on SELinux and/or PAM but in my honest opinion this is a bad bad move.

I don't know how people who are building third party Gnome2 packages for Slackware are going to build it without PolicyKit. Every man and his dog knows that Slackware's author, Mr Volkerding, regards PAM as a huge security hole so does not and has said he will not include PAM in his distribution.

I have liked Gnome since its first incarnation many years ago. While I currently use the always improving without adding bloat Xfce4 I often revisit Gnome2 to see what is going on there. KDE simply does not get a look in because I have never liked QT.

But, this new reliance on PolicyKit which in turn relies on PAM and/or SELinux to be able to do its work is going to prove to be a massive turn off for me and no doubt a lot of Slackware users and for that reason alone unless I, and others, can find a way to build the latest version of Gnome2 without PolicyKit then Gnome2 will simply fall by the wayside as so many other DTE's and WM's have done over the years. Xfce4 will be the only DTE (DeskTop Environment) left on my system for those times I load up X.

Time and time again I have dabbled with PAM. Built it, installed it, configured it for my needs but always I have felt that PAM is simply a security bolt on that is not needed on a properly configured system. Because it is a bolt on this alone makes it a security hole. Look at PAM's record on vulnerabilities and you will see just how poor a record PAM has in this area. After a week or two usage with PAM running on my systems and adding a patch or 3 to cover some hole within it or updating it yet again because of a vulnerability I get fed up with it and remove it. Look around the Internet and you will see problem after problem regarding PAM and now we have parts of Gnome2 relying on it. If I feel this way how many others out there feel the same?

I downloaded the latest, at time of writing 2.21.2, Garnome (that is how I have tested various versions of Gnome2 for quite some time. Garnome itself is a wonderful tool as it allows you to test Gnome2 without actually installing it system wide) and because I have no PAM or SELinux installed it will not build. I have edited various files within the Garnome environment to try and eliminate the need for PolicyKit, PAM and SELinux but every effort resulted the same. It simply will not build.

This reliance on PolicyKit, PAM and SELinux is a shame as I said earlier on, Gnome2 has been one of my favourite DTE's and because of these reliances I will soon be consigning it to the bin.

Sunday, November 25, 2007

Creative XFI Fata1ity.

Is this card a dead duck under a Linux Operating System? As of this time I have to say a resounding yes. However, read on. You may be surprised.

I will hold my hand up and say up front I am no audiophile. My partner in crime on this blog seVen however is. He has often winced at sounds I have found reasonable to my ears. Anyway, what is said here in this blog post is not about sound itself but about the state of Creative's drivers for the Linux Operating System.

The last time I had a Creative sound card in my main system they had just released what turned out to be probably one of their longest life card range. The Sound Blaster Live! I had two variants of these excellent cards within a 6 month time frame. My first one was a 4.1 one. My second one about 6 months later was a SB Platinum which of course was a 5.1 card.

So called on-board audio is audio that sits on your motherboard rather than being an external PCI/ISA/PCIe etc card. Not all motherboards have on-board sound but more and more do these days and the quality, for a desktop system with an OpSys that has everyday ears for sound receptacle's, the sound is really rather good. Of course there are some on-board audio chips that suck more than a suckything at a suck fest but by and large on-board audio has come on leaps and bounds in the desktop space.

As on-board audio became more ubiquitous and became better and better with 5.1 and 7.1 being the norm the good old SB Live! was consigned to the desk drawer where all good cards go and which I call my "Use again Someday" drawer and while the sound emanating through my 5.1 speakers via the SB Live! Platinum still punched out some excellent bass from the sub woofer I had no choice but to free up a PCI slot and reluctantly move to onboard audio.

My first on-board experience came via a VIA AC`97 chip which frankly was utter rubbish. I went through motherboard after motherboard all of which had some form of on-board audio chip. I will say that the best of these is probably my current one which is a VIA High Definition Audio used via the intel driver under Linux.

This brings me to something else. Driver support. It is a rare sound chip that has no support at all, though there are some. Under a Linux Operating System many chipsets are collected into one driver. So, if you check your kernel sources you may not see your audio chip, on-board or not but via the ALSA sound sub system more often than not there is support for most sound chips. In some cases you may need third party drivers. Nvidia's nForce series is one such example as is Creative's latest and greatest the XFI range.

Not being totally enamored with my current on-board audio I decided to purchase a PCI external sound card. Plenty of choices out there but I wanted something good. My attention immediately switched to Creative's range. In particular the XFI range. I settled in the end for a Creative XFI Fata1ity. Now, usually I check Linux compatibility before purchasing any hardware but this time around I simply bought the card and thought I'll worry about support later.

Oh dear. What a mistake that was! First time in years I have not checked compatibility first and sure enough that decision came back to bite me in the arse. There was no support for the Creative XFI range whatsoever when I bought it. None. I had a card sat in my machine that registered itself but the kernel said "Unknown device". For approximately 6 months this card was useless under a Linux Operating System. I was absolutely gutted.

Then just last September Creative released some closed source driver for the XFI range. And they released it for 64bit Operating Systems only. The rights and wrongs of that decision will play out in time but for what it is worth I think it was the wrong decision. There are plenty of x86_64 or AMD64/EMT64 systems out there but by and large the majority are x86 or 32bit. I will not get into the closed versus open source argument as honestly I couldn't care less either way. As long as the driver gets my hardware working then the fact the driver is open or closed makes no odds to me at all.

Having downloaded the driver I proceeded to use their 'installer' script. This failed miserably. After some editing of the 'installer' script to fix obvious mistakes I tried again. This time it failed on some kernel header file. By now I was slightly pissed off but decided my best course of action would be to Google it. I did exactly that and found many other people around the globe had hit the same issues as I had hit. As is usual for closed source drivers, Linux users set about fixing all the issues. Notably, Gentoo users fixed the issues. Some Gentoo users are a world apart from other Gentoo and other Distribution users. I tip my hat to these people. This web site documents everything so I won't go through it here. If you have a Creative XFI range audio card then go take a look. It will save you some hair loss.

So, finally, what is the actual sound like? Hmm, it is listenable but certainly no great shakes. There are serious issues with this driver like 'scratching' as the file or video plays, the driver sometimes locking up the system on boot etc etc. I am sure that given time Creative will sort all these issues. Let us be fair here this Creative released closed source driver is ALPHA status so given that status there is plenty of room for improvement. I think Creative's best bet would be to release the driver as true Open Source with a relevant, possibly restrictive, license. By doing this they are guaranteed to have hundreds, possibly thousands, of eyes on the code which with Creative's help with 'hidden' details should yield a driver that matches or possibly beats its MS Windows driver.

As of the time of writing I am not overly happy with this card. I will sit quietly, patiently and wait for the next few releases of the driver which should see both stability and usability improve. I hope so. The card itself can and does produce excellent sound under MS Windows and apart from Creative blocking coders by withholding vital information regarding this card there is no reason why this Linux based driver cannot improve.

If you, the reader, are a Bluewhite64 or Slamd64 or any other copycat 64bit Slackware based Operating system would like a fully patched Slackpak of the Creative XFI driver then tell me and I will see what I can do about creating one for you. Do not ask me for a 32bit Slackpak of this driver as as of the time of writing the closed source portion of this driver has no 32bit support.

Saturday, November 24, 2007

Slackware package build scripts

Long time Slackware users have since the beginning created their own Slackware build scripts that created Slackware compatible packages. These packages made for easy installation as well as removal. They also eased the pain for administrators with multiple machines.

Over time these long time Slackware users built up a huge collection of build scripts. Most, like myself, have kept these build scripts to themselves. Only releasing the odd one or two to friends and colleagues or if some package that came with Slackware itself could be built in an alternative way. Gaim, now called Pidgin, comes to mind here as it can be built against mozilla's NSS or against GnuTLS. Slackwares own is built again Mozilla's NSS but many users don't install Mozilla so the alternative build against GnuTLS that I created a long time ago was born. That build script was downloaded over 2 million times. The packages were downloaded over 1.2 million times. These numbers vindicated my releasing the build scripts and packages.

Many friends and colleagues urged me to release more of my own build scripts and packages but I did not. One, probably the major reason why I did not, because I considered Slackware users would rather create their own.

Latterly, lots of web sites dedicated to Slackware build scripts have popped up. Some borrowed my Gaim/Pidgin build scripts and called them their own. Others simply copied them, changed a few bits here and there within the build scripts then called them their own.

But the point of this post is not to complain about that but to ask the various administrators of those Slackware build script sites to add support to all their scripts for the x86_64 architecture.

I have no idea which of the two main x86_64 distributions, Bluewhite64 or Slamd64, is the most popular. Nor do I care. I use Bluewhite64 myself purely because the packages are one for one with Slackware itself whereas Slamd64 has some changes.

I don't care if these newer sites have stolen or reworked Slackware build scripts from other places on the Internet. Simply put these collections offer a great service to Slackware users by having lots of build scripts in one place. However, by leaving out x86_64 support in their build script repository's they are leaving out a large, and growing by the day, proportion of Bluewhite64/Slamd64 users.