Warning: Mepis 3.3.x and xfree86-common Package

Posts: 5513
All, my systems are set up to run "safe" software upgrades. They normally only update packages that already exist on the system. I have a script that I wrote that obtains the list of "upgradable" packages using dpkg and then I use "apt-get install packagename" to install them individually. This has been a safe/sane practice until recently.
I am running 3.3.1-1 on my laptop as well as a number of servers at a client's site. Since I monitor the update logs I can usually see where the problem is if things go wrong. My repositories include the testing and unstable branch, but things have been fine until this last week 
My last good system backup is from 2006-05-02. Later that day/evening I did my usual (safe) upgrades. I didn't notice until the next day when I tried to boot up my laptop that the kde gui would not start. The system would boot but would drop me to the system console "login" screen 
I was unable to trace down the problem until this last weekend. I restored my system to 05-02 and slowly went up through upgrades of packages. Things were "slightly ok" but when I came in to my client today I decided to perform a reboot on their development box to see what it would do. Sure enough, it would no longer boot kdm!
By performing a system restore to 05-03 I was able to get a list of packages that needed to be upgraded on that day. The list is:
The following packages will be upgraded: base-files binfmt-support console-tools dictionaries-common dpkg-dev java-common kernel-package libacl1 libconsole ncurses-base po-debconf ssl-cert ttf-freefont ttf-opensymbol ucf xfree86-common 16 upgraded, 0 newly installed, 0 to remove and 417 not upgraded. Need to get 3707kB of archives. After unpacking 991kB disk space will be freed. Do you want to continue [Y/n]?
Note, this is with "testing" and "unstable" repos active. Also note that no items were listed to be "removed". To save you the suspense, I was able to then do individual "apt-get -s install packagename" for everything but xfree86-common. I did reboots after each one and kdm and the gui would start.
The reason why xfree86-common slipped by my eyeballs is this, even if you do "apt-get -s install xfree86-common" what you will see is:
# apt-get -s install xfree86-common Reading package lists... Done Building dependency tree... Done Suggested packages: x-window-system-core x-window-system The following packages will be upgraded: xfree86-common 1 upgraded, 0 newly installed, 0 to remove and 417 not upgraded. Inst xfree86-common [4.3.0.dfsg.1-14] (1:7.0.16 Debian:unstable) Conf xfree86-common (1:7.0.16 Debian:unstable) #
Now I even tested this by using only the stable repository and xfree86-common is there too. What does it do? According to the description, "This package is provided to smooth upgrades from Debian 3.1 ("sarge") to Debian etch. It may be safely removed from your system" (emphasis mine). But if you "remove" it or update it then all sorts of libraries and XF86Config stuff will be incorrectly replaced by xorg. The end result is X will not start, the GUI will not start, and kdm will not start 
Yes, I have been bad in using "testing" and "unstable" repos on production systems, but I haven't been burned until recently. And this package shows no removal information unless you commit within synaptic; apt-get installs it with no warning, and this is from the "stable" repositories.
So it looks like 3.3x will have to be frozen and I'll have to be extra careful on doing my upgrades until I move my systems to 3.4 and/or 6.0.
So what is "Du Quesne's Dumb-Dumb 'Rool Number One'"? Always Have a Backup.
'Rool Number Two': Before doing anything else, see 'Rool Number One' 
BTW, I don't know whether this is a problem with Mepis 3.4x since I think it has already switched over to xorg configuration. And I'm pretty sure that it will not be a problem with 6.0x.
I hope this will help someone to fix (or better yet, avoid) a problem on their system.
Jon

that burnt me too
Posts: 4864
and that is why I suddenly decided to install 6.0 beta 2 rather than try to chase down the xfree86-common error with multiple claims that my font directories weren't properly installed.
I rarely upgrade anything, but was trying to upgrade hal and udev and make a foolish decision to upgrade some other packages.

Thanks Drlizau...
Posts: 5513
...for confirmation. Last night I went to apply my changes to my 3.3.1-1 version. It worked ok, and I backed things up, before checking the other repositories. Obviously there are other things wrong between "stable", "testing", and "unstable" 'cause after applying other changes (don't have specifics yet) I could then get kdm, but after entering my login id and password I blinked back to kdm (grrr). Glad I had the backup 
Anyway, I'm probably going to leave my 3.3.1-1 system about the same and roll it forward into my 6.0 beta partition. Since the wireless issue was taken care of it seems to work quite nicely. I have the beta2 that I need to test with, tweak some other settings, and prepare for the plunge. Perhaps this weekend...
I just wish there were an "undo" for apt-get or synaptic or other packaging system. I may be doing something wrong (wouldn't be the first time) but the old "dpkg --get-selections > package.txt" is great for storing package names but it is extremely difficult to store package versions 
Although, I must say, I've gotten pretty good at restoring entire OSes from my backups (rsync is your friend) 
Jon

Nope, Definitely Doesn't Work
Posts: 5513
I have confirmed with all of my systems that simply adding the symbolic link does not work. It works in that I can get the GUI login screen, but X immediately restarts and takes me back to the login screen 
xfree86-common does something to hose the rest of the system so that it doesn't work. I went back and did the restore and updates of everything but xfree86-common and the system works.
So your idea was a good one oguz, but it does not apply in this case (alas).
Jon
A Solution Has Been Found!
Posts: 5513
Thanks to oguz, who found a similar problem, he was able to create a "symbolic link" to the X11 subdirectory. The other post is here:
http://www.mepis.org/node/9731
It appears that xfree86-common either deletes, or doesn't create, the link to /usr/bin/X11.
I first did "apt-get install xfree86-common". Then I performed the following command as root:
The system rebooted and kdm started just fine.
I shall send this info to so that perhaps they know whom to contact that is in charge of the xfree86-common package.
Thanks again to oguz!
Jon