Upgrade questions

John E Hein jhein at timing.com
Sun Apr 27 01:00:05 UTC 2008


Wow... quite a list.

Most of these questions are more related to the ports infrastructure
than specifically x11.  You will get better response to general ports
questions on ports at freebsd.org or questions at freebsd.org than here.

Second, you'll get much better response if you send out email for one
issue at a time.  And I'm afraid I think you're going to have to learn
something along the way ;).  And as a result, you'll be less afraid
of the whole process.

I'll respond to some of these questions, but a lot of them are general
and can be addressed a number of different ways.

It sounds like you have a bit of a learning curve, and we have no idea
how much you know or don't know.  It seems you picked a big
complicated beast with lots of twisty interactions to start learning
with.  If you're patient and willing to experiment/learn, you can do
it.  If not, perhaps try a binary install from 6.3 release CDs.

I don't mean to scare you.  None of this is really rocket science.
But there's lots of niggly details with the upgrade from xorg 6.9 (I
assume) to the latest (changes to modular X.org build infrastructure
and from /usr/X11R6 to /usr/local).

Having said that, I'll answer some of your questions inline...

Ronald F. Guilmette wrote at 00:48 -0700 on Apr 26, 2008:
 > First, a short while after I started up "make index" in the /usr/ports
 > directory, I received these messages:
 > 
 > Generating INDEX-6 - please wait../usr/local/bin/python2.5: not found
 > "Makefile", line 43: warning: "/usr/local/bin/python2.5 -c "import sys; print sys.version[:3]"" returned non-zero status

a few comments...
 - out of date or corrupt ports tree (cvsup or other tool to update your ports tree)

 - corrupt ports installation (try 'pkg_info -g -x .')

 - corrupt /var/db/pkg database (ditto)

 - if you haven't customized your ports tree and
   it's up to date, try just fetching the index instead of building it...
      (cd <your_ports_tree> ; make fetchindex PORTSDIR=.)


 > OK, next question... The 20070519 note in the /usr/ports/UPGRADING file
 > says "If your machine does NOT have any gstreamer ports installed..."
 > OK, so excuse my ignorance, but how the bleep am I supposed to know if
 > I have any gstreamer ports installed?  I don't even know what a gstreamer
 > port is!

pkg_info | grep gstreamer

You probably should be reading the handbook rather than asking the x11
mailing list these kinds of basic questions.

Note I have no idea whether following the 20070519 note verbatim is
guaranteed to work anymore now that the ports tree has evolved.  Maybe
someone else knows if it is still an effective tool.


 > 	... you can then just run:
 > 
 > 	# portupgrade -a
 > 
 > but that upgrades _all_ my ports, doesn't it??

Yes... well it'll try to anyway.


 > What do I do if I'm not prepared for that?  What do I do if I want
 > to take this process a step at a time, and first just upgrade
 > _only_ the Xorg stuff and any other ports that are dependant upon
 > that stuff?  How can I do _just_ that?

Yes, it's possible to update incrementally, but I won't try to
explain it in a sentence or two here.  Try it, and ask more
specific questions as you run into trouble.

One possibility to consider is to install fresh ports into a chroot.
Consider also using packages (pkg-add -r or portupgrade/portinstall -P
or -PP) to save time and complications with build-time issues,
although that means you have to take ports that were built the way the
packaging machine built them.

Another is to just pkg_delete your old xorg ports, then install new
ones fresh.  You'll have to live without X while you do, however
(well, in theory, you could start the old X, then delete its packages
but keep running the old X until you get the new one started - I've done
that before and tried running the new X with startx -- :1 leaving
the old one runing on :0).

There's about 50 other ways to skin this cat I'm afraid.


 > Lastly, the 20070519 note in /usr/ports/UPGRADING also says:
 > 
 > 	Make sure you have the x11/xorg meta-port installed.  If you do not
 > 	have this meta-port installed with X.Org 6.9, you will miss out on
 > 	a lot of the new X.Org 7.2 sub-ports.
 > 
 > I'm sorry, but these comments are entirely opaque to me.  Can somebody
 > please lend a hand and explain what all this is actually supposed to mean?
 > You know...  I mean to somebody like me who isn't steeped in this stuff?

"Make sure you have the x11/xorg meta-port installed".

What's a meta-port?  A port that really doesn't install anything of
its own (at least not much, usually), but rather doing 'make install'
in the port triggers it to go out and build/install a list of other
ports recorded in its dependency lists (see the *DEPENDS variables in
the Makefiles or run 'make pretty-print-build-depends-list
pretty-print-run-depends-list' or other ways).

You may then ask, "How do I tell if the xorg meta-port is installed?"

If it was installed properly, this is one way...
pkg_info -O x11/xorg

Note that 'pkg_info -L -O x11/xorg' won't list contents because, being
a meta-port, it doesn't actually install any files of its own.


 > P.S.  OH!  One other thing... I just now updated my ports tree... the first
 > and _only_ time I've ever done that in my life... using "portsnap fetch"
 > and "portsnap extract" and then I wanted to see what things I had installed
 > that might be worthy of upgrading, so I did:
 > 
 >    pkg_version -v
 > 
 > well, THAT didn't work out well at all.  I got a whole raft of errors from
 > that which mostly looked a lot like this one:
 > 
 > xorg-6.9.0                          <   needs updating (port has 7.3_1)
 > "Makefile", line 85: Could not find /usr/ports/x11/xorg-clients/../../x11-servers/xorg-server/Makefile.inc

If your ports tree is really up to date, that file should
 a) not be there
 b) not be referenced (grep -r xorg-server.Makefile.inc /usr/ports)


 > "Makefile", line 92: Malformed conditional (${X_WINDOW_SYSTEM:L} != xorg)
 > "Makefile", line 96: if-less endif

That happens if a Makefile or included .mk file tries to reference
${X_WINDOW_SYSTEM} and that var is undefined.  If you have a ports
tree that matches the port tree from the 6.3 release (note: not the
same as the latest ports tree as of today, the so-called HEAD) then
there should be a line in ports/Mk/bsd.port.mk that has
'X_WINDOW_SYSTEM ?= xorg' which defines that variable.

It seems something is not right with your ports tree.  Why?  I don't
know, but fixing that may alleviate lots of your other problems.


More information about the freebsd-x11 mailing list