Monday, May 28, 2007

Brief Thought on FreeBSD X.org Update

Since I do not run X on my FreeBSD servers, and my laptop now runs Ubuntu (heretical but productive, I know), I have not been affected by the update of X.org to 7.2 on FreeBSD. I read Updating Firefox 2 and FreeBSD 6.2 and the response Not everybody will be happy with the X.org upgrade. Basically there's a difference of opinion concerning the appropriateness of radically changing a key addition to the operating system mid-stream, i.e., during the life of 6.2.

If I were running FreeBSD 6.2 with X, I probably would have tried avoiding X.org 7.2 if possible. Losing X is a very disruptive event if the upgrade fails, and with so many ports affected it would be very invasive. I would have waited until the release of FreeBSD 6.3 or 7.0 before using X.org 7.2. Alternatively, I might have reinstalled 6.2 without X.org, and then added it and all other software as packages.

I understand the developers wanting to get X.org 7.2 into users hands as soon as possible, given the amount of work involved and their desire to have finished months ago. However, changing from a monolithic version of X.org to a modular one seems disruptive enough to have waited for coordination with the release of FreeBSD 6.3 and 7.0. I'm not a developer but that's my thoughts on the matter. I would be curious to hear how others might be handling this issue.

12 comments:

alam said...

Yes, specially when dealing with portupgrade, I've spent many hour to upgrade xorg, till I choose pkg-add :-) than upgrade via script provided.

Marc said...

I did it and it and it took a bit of time to recompile everything, couple of evenings actually, but I am quite pleased with the result. With that said I would do it differently if I was doing it now. I would use pkg_tree to find all leaf packages that depend on X and make a list. Then I would delete all the packages that depend on X and delete /usr/X11R6 and make the symlink. Then I would just reinstall all of the leaf node ports and the xorg meta port and things should workout ok.

Ceri Davies said...

Well, we need to get this done well before 6.3 and 7.0 enter the prerelease stages so that all the bugs are ironed out. No big surprise there.

Oliver Herold said...

Did the upgrade during the testing with git without any major difficulties. Did it later again after the commit on an other machine, some hick-ups but nothing special. They did a very good job porting Xorg 7.2 in my opinion.

Rob Gallagher said...

Upgrade went fine. As usual if you read /usr/ports/UPDATING beforehand you won't have any difficulty. The only downside is the time it takes to recompile X and all the forward+reverse dependencies.

The only issues I had were due to the modular nature of Xorg 7x itself - I forgot to install the keyboard/graphics drivers which left me scratching my head for a few seconds. *oops* :)

wxs said...

I did the upgrade on a laptop at work (my only FreeBSD box which runs X) and had no problems with it at all. I followed the instructions in UPDATING and it worked.

Xorg had to go in sometime, and I'd rather see it in sooner rather than later - that way all bugs are worked out before the packages for 6.3 are built. To be perfectly honest I'm not aware of any major issues in the port as it stands now, so I think the people who did the work did an excellent job.

And BTW, packages for the new xorg were built shortly after it was comitted.

MikeP said...

Marc, there's the pkg_cutleaves package that does precisely what you describe, except much more easily.

That being said, the machine I tried that strategy with was an abject failure. I wound up doing a pkg_delete -a and re-adding with pkg_add -r.

The machine I used portupgrade-devel following all directions to the letter with went much better - it was the first one I did. I followed everything with the second machine too though, which makes me wonder if there's some odd failure conditions.

I think either way, users were going to be in for some pain. As somebody who typically upgrades from sources, I actually prefer an upgrade of this sort that doesn't come along at the same time as an OS upgrade - then I'm not fighting two things at once.

Matthew said...

I had a less than happy experience:

Following the instructions in /usr/ports/UPDATING worked, sort of -- I had to run portupgrade -a about 5 times for it to iteratively upgrade all the various ports I had installed.

When it finally 'completed', I attempted to run X only to have it complain that there were no servers installed (i.e. /usr/local/bin/X).

I have a feeling I became a little pro-active at this point, because I decided to pkg_deinstall -rRf 'xorg*' under the assumption that something must have gone wrong, and a fresh 'xorg' umbrella port install would sort things out. However this time I ran into a build error.

Having cluttered my system with 600+ ports, I then decided I might need to recreate a sane environment by doing: portsclean -CD; pkg_delete -a; rm -rf /var/db/ports/*; rm -rf /var/db/pkg/*; cvsup [ports sup file]; cd /usr/ports/x11/xorg; make install

I still have a build error (x11/xdriinfo fails in configure: "error: Package requirements (x11 glproto) were not met: No package 'x11' found....").

Now, will it be easier to really buckle down and track down the problem and fix it? Or should I just wipe the disk and start with a fresh install? (and will that even help?) ....

Anonymous said...

I have been working with FreeBSD for a while and ALWAYS liked it, but now making the port tree broken for the xorg7.2 lib is just stuid!! trying to compile php5-gd and the intruction UPDATING is just a morons work (apologies) but really, not telling much at all what happening or what is needed to fix. I have no ports to update just want to link gd to the fukking xorg7.2 and not working. BAD JOB!!!

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

I havent developed for FreeBSD since 2000 (and never had to do much system administration, or run the desktop), been using Suse, Ubuntu, Red Hat ever since.

But I just took a 3-month FreeBSD contract, so I installed it. Compared to modern Linux installers and package managers it is about 5 years behind in friendliness but I think I have it down now.

Performance is excellent or outstanding on bare hardware (vm not so much).

Until I tried to install Firefox 2.
W T F.

I understand and appreciate the stability approach to FreeBSD, but a distro cannot be pointing you to manuals on how to upgrade your x server base just to get the latest version of Firefox (!)

I really need the Fox on this machine but I cannot risk the hours in doing this, especially if something goes wrong.

to bring our own end said...

xorg ruind my life too :\