[wplug-bsd] /usr/ports maintenance mechanisms

Daryl_Clevenger at cs.cmu.edu Daryl_Clevenger at cs.cmu.edu
Fri Apr 9 01:11:32 EDT 2004


Rod,

I will use Mozilla firefox as an example below.  Note, I already have
Mozilla Firebird 0.6.1 installed.  I know that the port name changed
from mozilla-firebird to firefox, but let's ignore that detail.

> On Thursday 08 April 2004 9:24 pm, dlc+wplug-bsd at cs.cmu.edu wrote:
> > But the questions are:
> >
> > Is an update of /usr/ports intended to be a mechanism to maintain
> > the contents as if this were a newer version of /usr/ports from a
> > distribution CD?  This is what I want.  I do not want to be sucking
> > down distfiles, sources, etc.
> 
> You would update /usr/ports if you wanted to build from source, which you
> say you don't want to do.
> 
> To get the latest package you would issue the command.
> 
> pkg_add -r "package_name" 
> 
> The -r tell pkg_add to go fetch it from the remote site. Of course you need t
> o
> be connect to the net for it to work. man pkg_add for more detail.

This is where I am still a little confused.  If I do

-R#- pkg_add -n -r mozilla-firebird
looking up ftp.freebsd.org
connecting to ftp.freebsd.org:21
setting passive mode
opening data connection
initiating transfer
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.9-release/Latest/mozilla-firebird.tgz...

and this would be (via manual confirmation with ftp)

lrwxrwxrwx   1 ftpuser  ftpusers        35 Nov 27 23:09 mozilla-firebird.tgz -> ../All/mozilla-firebird-0.6.1_1.tgz

Now, I want to upgrade to a newer firebird/firefox.  It appears that
firefox 0.8 is available if I update /usr/ports.  I don't know if there
is a FreeBSD 4.9 precompiled package available, but let's assume there
is.

> > It seems that /usr/ports for 4.X and 5.X may be shared or common in
> > some way.  Is this true?  I do not want to discover that something
> > done for the 5.X series breaks my system when I update /usr/ports.
> 
> Yes this is true. You shouldn't break anything unless you cvsup your sys 
> files, which are different from the ports collection, using the wrong tag.

OK.

> > If I do not want to build from source, what method should I use to
> > update the "usr.bin" (?) package and other core components for FreeBSD?
> 
> If you are tracking usr.bin then you are trying to rebuild the base system no
> t 
> the packages. If you don't want to rebuild your base system from source the 
> the recommended way would be to wait for the need release and download it.
> If your tracking usr.bin then you should read about "Building World" and 
> "Keeping Current" on the FreeBSD site in the Handbook.

Not necessarily what I wanted to hear, but understandable.  If I need
a new version of /sbin/dump, I would need to download the source,
updates and/or patches and following the appropriate build instructions.

I actually did not see anything about "Keeping Current" at

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html

I found section 21.3 "Synchronizing Your Source" and it makes sense.
At some point, I may look at it in more detail when I am interested
in updating the base system.

> > Finally, do I simply need to be more patient and expect portupgrade to
> > find newer versions of packages infrequently?  I have had a 4.9 system
> > since Jan 2004 (one, then replaced with another and a clean install).
> > Everything pkg_add -r installs seems to be the same age as the 4.9
> > distribution.  Is a distribution with its /usr/ports frozen at the
> > time it is created?
> >
> > In summary, how should I maintain /usr/ports and other parts of the
> > system when I do not want or need to run make?
> 
> Since you have cvsup the ports you should just use portinstall and portupgrad
> e 
> to track the ports. The ports in FreeBSD do not move as much as they do in 
> Linux. If something is broke or your waiting on something to be ported that's

The frequency of changes was one of many reasons I wanted to give FreeBSD
a serious look.  Nostalgia another.

The portupgrade/portinstall mechanism is where I still need some
clarification.

Reading the handbook section "Synchronizing Your Source", I created
a "ports-supfile" from the example file.

If I were to run "cvsup" to update /usr/ports, then would

portupgrade -PP mozilla-firebird

remotely fetch an updated precompiled package for mozilla-firebird?
The man page for portupgrade implies that this is what would happen,
but before I cvsup /usr/ports I want to know if this is true.

For the most part, I don't care about package updates unless there is
a relevant bug fix.  In the case of Firefox, I'm curious to see if
the font rendering looks better than in 0.6.1.

> a different story. I'm running 5.2.1 and I have had to update a port in about
>  
> 2 months. I've been using FreeBSD since 3.3 and from experience you don't 
> really need to update all that much.

I tried a 5.2 install on an old 133MHz machine, but sysinstall got
a SEGV.  A 4.9 install was smooth and the system was useable running
X.  I now have a faster machine and decide to just go with 4.9.

> Now if you thinking about security patches for the kernal and base system the
> n 
> you want to talk about track "src" or "sys" not the "ports"
> 
> HTH

Yes, this helped very much.  I just need to develop a good understanding
of the maintenance and release model for the base system and /usr/ports
so that I can determine a sensible maintenance method for my systems.

Thanks,

--
Daryl Clevenger



More information about the wplug-bsd mailing list