Skip site navigation (1)Skip section navigation (2)
Date:      21 Jul 2002 16:19:33 -0700
From:      Joe Kelsey <joe@zircon.seattle.wa.us>
To:        sroberts@dsl.pipex.com
Cc:        freebsd-questions@FreeBSD.org, freebsd-gnome@FreeBSD.org
Subject:   Re: Installing gnome2  with XFree86-4 - Why is this so difficilt?????
Message-ID:  <1027293573.9621.187.camel@zircon.zircon.seattle.wa.us>
In-Reply-To: <1027288545.3d3b2de110097@netmail.pipex.net>
References:  <1027264013.3d3ace0d2ae43@netmail.pipex.net> <PBz3TBB3MtO9Ews2@caomhin.demon.co.uk> <1027267150.3d3ada4e19ce0@netmail.pipex.net> <WMqhADBSVwO9EwfI@caomhin.demon.co.uk>  <1027278885.3d3b0825bd614@netmail.pipex.net> <1027279835.9621.166.camel@zircon.zircon.seattle.wa.us>  <1027280334.3d3b0dce10b27@netmail.pipex.net> <1027284622.9621.175.camel@zircon.zircon.seattle.wa.us>  <1027288545.3d3b2de110097@netmail.pipex.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2002-07-21 at 14:55, sroberts@dsl.pipex.com wrote:
> 
> Thanks for the explanation of the points I raised. For this point you've made:
> > The important thing to remember is the -R and -r switches which
> > distinguish the entire portupgrade system from make install.  With the
> > -R switch, everything that the port depends on will be upgraded *before*
> > the port is upgraded.  This solves many problems with meta-ports like
> > gnome2.  The problem with make install in a meta-port is that the make
> > system is not smart enough to do the portupgrade -R function.
> 
> To get this clear (taking for granted that you've written this as you really 
> meant), whilst I understand what portupgrade -R does (this has been my 
> preferred method of upgrading ports), what effect does portinstall have for 
> attempts to install new apps, as against running make install?

Spicifically, in a meta-port, if you look at how the dependencies are
written, they are based on the existence of a specific file as
installed, for instance the existence of the gnome-session file or the
libfreetype.so.9 file.  That is all that make can do.  It cannot verify
that the file was installed from the latest incarnation of the port,
especially if the file name does not change between port revisions.

portinstall works exactly like portupgrade in that it uses a combination
of the /var/db/pkg information *and* the dependency list from the
Makefiles, except that it recurses *outside* of the make system to
determine whether or not the version installed as listed in /var/db/pkg
is older than the version called for in the Makefile.

Also, it uses pkg_delete to remove packages rather than make deinstall. 
If you use make deinstall *after* doing a cvsup, it will *not* remove an
installation which has a different port revision number!  That means
that you package database becomes corrupted and you end up with multiple
registered installations of the same port.  Use pkgdb -F to see this.

In other words, portinstall/portupgrade take care of all of the
nitty-gritty details of making sure that you have a consistent
installation.  make install corrupts your package installation more
often than not.

I suggest that you try pkgdb -F and see what it says.

/Joe

> Thanks for taking the time.
> 
> Stacey
> 
> 
> Quoting Joe Kelsey <joe@zircon.seattle.wa.us>:
> 
> > On Sun, 2002-07-21 at 12:38, sroberts@dsl.pipex.com wrote:
> > > 
> > > I'll answer for each point here, if its okay:
> > > 
> > > > Step 0.  cvsup your ports tree.
> > > Ports tree already cvsup'd (three times since yesterday morning)
> > > 
> > > > Step 0.5  Install portupgrade from /usr/ports/portupgrade.  Learn
> > how to
> > > > properly use the new tools, especially the -R and -r flags to
> > > > portinstall/portupgrade.
> > > Portupgrade is already installed ( and I can't upgrade something that
> > isn't 
> > > already installed, or am I wrong?)
> > > 
> > > I haven't tried portinstall.., how is this different to running "make
> > && make 
> > > install clean in /usr/ports/x11/gnome2?
> > 
> > portinstall and portupgrade are virtually the same thing relative to the
> > install first time/upgrade already installed ports.
> > 
> > The important thing to remember is the -R and -r switches which
> > distinguish the entire portupgrade system from make install.  With the
> > -R switch, everything that the port depends on will be upgraded *before*
> > the port is upgraded.  This solves many problems with meta-ports like
> > gnome2.  The problem with make install in a meta-port is that the make
> > system is not smart enough to do the portupgrade -R function.
> > 
> > Embrace portupgrade and all of its attendant stuff like pkgdb,
> > pkg_delete, ports_glob and pkg_glob.
> > 
> > The make system is not good enough.  make deinstall in the make system
> > *will not* remove installed executables if you have already done a
> > cvsup!  makedeinstall fails more times than it succeeds.  pkg_delete
> > works off the /var/db/pkg area.  make deinstall works off the /usr/ports
> > area.  There is a difference.  Do not rely on make deinstall.
> > 
> > That is why I recommended that you read the portupgrade man page and all
> > related man pages in order to learn what the entire system of ruby tools
> > can do for you.
> > 
> > /Joe
> > 
> >  
> > > > portinstall -R gnome2
> > > Again, I've not tried portinstall for gnome2 either.
> > > 
> > > Seeing that gnome2 flaked out on the gle error, would "make distclean"
> > be 
> > > sufficient for removing the bins that got downloaded for this failed
> > install?
> > > 
> > > Thanks for the information here.
> > > 
> > > Stacey
> > > 
> > > 
> > > Quoting Joe Kelsey <joe@zircon.seattle.wa.us>:
> > > 
> > > > Step 0.  cvsup your ports tree.
> > > > 
> > > > Step 0.5  Install portupgrade from /usr/ports/portupgrade.  Learn
> > how to
> > > > properly use the new tools, especially the -R and -r flags to
> > > > portinstall/portupgrade.
> > > > 
> > > > On Sun, 2002-07-21 at 12:14, sroberts@dsl.pipex.com wrote:
> > > > > 
> > > > > Hi Kevin,
> > > > >    Okay.., I'm at the point of considering rebuilding the box
> > here.
> > > > > 
> > > > > Before I do, I'd appreciate though, frank answers to two scenarios
> > if
> > > > you can..,
> > > > > 
> > > > > 1] Stop the current re-install of XFree86-4 (with the constant
> > > > failings due to 
> > > > > components being already installed:-
> > > > > 
> > > > > Can I stop this re-install?
> > > > 
> > > > You can stop any re-install at any point.
> > > > 
> > > > 
> > > > > Is there a procedure for then ensuring that I *copmpletely* wipe
> > all
> > > > instances 
> > > > > of XFree-<anything> from the system, before attempting installing
> > via
> > > > a package?
> > > > 
> > > > pkg_delete -f 'XFree*'
> > > > 
> > > > > 2] Seeing that this whole situation is all about my initial failed
> > > > attempts to 
> > > > > install gnome2,:
> > > > > 
> > > > > After completion of the XFree86-4 install (via ports or packages),
> > > > should I 
> > > > > proceed on from the point where the gnome2 install fails (at the
> > gle
> > > > error)?
> > > > 
> > > > portinstall -R gnome2
> > > > 
> > > > > If not, and I have to re-fetch fresh gnome2 sources, is there a
> > > > procedure for 
> > > > > *completely* removing ALL instances of gnome from the system?
> > > > > 
> > > > > For both scenarios above, how do I ensure that I get the latest
> > > > (hopefully 
> > > > > correct) binaries for installation?
> > > > > 
> > > > > Thanks again Kevin., Please don't think that I mean to place you
> > in a
> > > > spot or 
> > > > > anything., you're just the *only* person that's bothered to reply
> > to
> > > > my post on 
> > > > > this list.
> > > > > 
> > > > > Stacey
> > > > > 
> > > > > Quoting Kevin Golding <kevin@caomhin.demon.co.uk>:
> > > > > 
> > > > > > Someone, quite probably , once wrote:
> > > > > > >I'm actually running the re-install of XFree86-4 at the moment
> > > > wihtout
> > > > > > having 
> > > > > > >done a make distclean. Is this the reason why for each
> > component,
> > > > it
> > > > > > fails 
> > > > > > >with "error: XFree86-4<component> already installed, perhaps an
> > > > older 
> > > > > > >version..,"?
> > > > > > >
> > > > > > >Would it be in my interest then to stop this and restart from
> > the
> > > > > > beginning?
> > > > > > 
> > > > > > It sounds like everything wasn't quite removed when you
> > deinstalled.
> > > > > > 
> > > > > > ls /var/db/pkg | grep -i xfree
> > > > > > 
> > > > > > That should show up a few things that might need removing.  Else
> > > > make
> > > > > > sure your ports tree is fully up to date and then run:
> > > > > > 
> > > > > > portversion -L =
> > > > > > 
> > > > > > That may show up a few out of date things that could be worth
> > > > upgrading.
> > > > > > 
> > > > > > portupgrade -rR XFree86-4
> > > > > > 
> > > > > > The above might resolve a few issues if you are out of date. 
> > Else
> > > > it
> > > > > > might be worth thinking about packages this time: 
> > > > > > 
> > > > > > pkg_add -r XFree86-4
> > > > > > 
> > > > > > Will get the latest binary and hopefully get you back to a
> > working
> > > > > > state.  Then you could probably track X using portupgrade to
> > reduce
> > > > > > hassle.
> > > > > > 
> > > > > > Kevin
> > > > > > 
> > > > > > >Quoting Kevin Golding <kevin@caomhin.demon.co.uk>:
> > > > > > >
> > > > > > >> Someone, quite probably Stacey Roberts, once wrote:
> > > > > > >> >1] From the *one* reply I've had to my earlier post
> > concerning
> > > > the
> > > > > > >> gnome2 
> > > > > > >> >install failure, it appear that I have to re-install
> > > > XFree86-4.2.0.
> > > > > > Why
> > > > > > >> is that 
> > > > > > >> >after running pkg_delete on XFree86-4.0.2, "make" doesn't go
> > out
> > > > and
> > > > > > >> get a 
> > > > > > >> >fresh set of files for the re-install?
> > > > > > >> >
> > > > > > >> >Am I missing something about the make process here?
> > Presumably
> > > > there
> > > > > > >> was 
> > > > > > >> >something wrong with the XFree86-4 sources I got yesterday
> > when
> > > > I
> > > > > > >> installed it, 
> > > > > > >> >so I would have thought it logical that I should be
> > obtaining a
> > > > > > fresh
> > > > > > >> set of 
> > > > > > >> >source files for the new install.
> > > > > > >> 
> > > > > > >> To fetch new sources you need to remove the old ones from
> > > > > > >> /usr/ports/distfiles.  You can either manually rm each
> > tarball or
> > > > > > just
> > > > > > >> run "make distclean" before "make".
> > > > > > >> 
> > > > > > >> It can also be worth running "make fetch" as your first step
> > to
> > > > > > install
> > > > > > >> a port as that simply downloads any files you are missing for
> > > > that
> > > > > > port
> > > > > > >> (although not dependencies).
> > > > > > >> 
> > > > > > >> >2] To do the install of XFree86-4 anyways, what I did was
> > > > pkg_delete
> > > > > > of
> > > > > > >> XFree86-
> > > > > > >> >3 in /var/db/pkg; rm -rf /usr/X11R6/*, then editing
> > > > /etc/make.conf
> > > > > > to
> > > > > > >> reflect 
> > > > > > >> >that the XFree version is now 4
> > > > > > >> 
> > > > > > >> Since 4.6 I believe the default X has been 4 making such a
> > config
> > > > > > >> redundant.  It might be worth running through
> > > > /etc/defaults/make.conf
> > > > > > >> and seeing if you need to change anything else.  If you're
> > not
> > > > using
> > > > > > 4.6
> > > > > > >> then don't worry about it.
> > > > > > >> 
> > > > > > >> Kevin
> > > > > > >> -- 
> > > > > > >> kevin@caomhin.demon.co.uk
> > > > > > >> 
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >To Unsubscribe: send mail to majordomo@FreeBSD.org
> > > > > > >with "unsubscribe freebsd-questions" in the body of the message
> > > > > > 
> > > > > > -- 
> > > > > > kevin@caomhin.demon.co.uk
> > > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > > > > with "unsubscribe freebsd-gnome" in the body of the message
> > > > > 
> > > > 
> > > > 
> > > > 
> > > > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > > > with "unsubscribe freebsd-questions" in the body of the message
> > > > 
> > > 
> > > 
> > > 
> > > 
> > > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > > with "unsubscribe freebsd-gnome" in the body of the message
> > > 
> > 
> > 
> > 
> 
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-gnome" in the body of the message
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-gnome" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1027293573.9621.187.camel>