Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Jan 2001 14:05:26 -0600
From:      Conrad Sabatier <cjsabatier@home.com>
To:        Christopher Farley <chris@northernbrewer.com>
Cc:        FreeBSD-questions@FreeBSD.ORG
Subject:   Re: cannot build ports - too old for bsd.port.mk?
Message-ID:  <20010120140526.A6526@home.com>
In-Reply-To: <20010120123236.A3485@northernbrewer.com>; from chris@northernbrewer.com on Sat, Jan 20, 2001 at 12:32:36PM -0600
References:  <001001c0830c$4fa78a00$0c00a8c0@amgroupadmin.com> <20010120123236.A3485@northernbrewer.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 20, 2001 at 12:32:36PM -0600, Christopher Farley wrote:
> Chris Smith (chris@amgroupadmin.com) wrote:
> 
> > Hi all, after the last 4.2-STABLE (Jan 17) buildworld I get the following
> > whenever I try to build a port.
> > 
> > ===>  ntop-1.1 : Your system is too old to use this bsd.port.mk. You need a
> > fresh make world or an upgrade kit. Please go to
> > http://www.FreeBSD.org/ports/ or a mirror site and follow the instructions.
> 
> This is a pretty common error that occurs the first time you use
> cvsup to update your ports tree. (Should a solution for this be in
> the handbook?)
> 
> The problem is that cvsup will not delete files unknown to the cvsup
> server. (If you place a file in the ports tree and run cvsup, it should
> not delete your file in an effort to synchronize the trees.)
> 
> /usr/local/bin/bash: }fmt: command not found /usr/ports /usr/ports.old
> (just in case) and then I run cvsup to get a fresh ports tree.

I ran into the same thing recently after reformatting my system and 
reinstalling (to get rid of Windows).

A little probing in /usr/ports/Mk (grep "too old" *) turned up an easy 
solution:

(In bsd.port.mk)

# Don't build a port if the system is too old.
################################################################

.if ${OSVERSION} >= 300000
# You need an upgrade kit or make world newer than this
BSDPORTMKVERSION=       20001103
.if exists(/var/db/port.mkversion)
VERSIONFILE=    /var/db/port.mkversion
.else
VERSIONFILE=    ${PKG_DBDIR}/.mkversion
.endif
.if exists(${VERSIONFILE})
.if !defined(SYSTEMVERSION)
SYSTEMVERSION!= cat ${VERSIONFILE}
.endif
.else
SYSTEMVERSION=  0
.endif
.if ${BSDPORTMKVERSION} > ${SYSTEMVERSION}
IGNORE= ": Your system is too old to use this bsd.port.mk.  You need a 
fresh mak
e world or an upgrade kit.  Please go to http://www.FreeBSD.org/ports/ or 
a mirror site and follow the instructions"
.endif
.endif

A simple "echo 20001103 > /var/db/.mkversion" and
"echo 20001103 > /var/db/pkg/port.mkversion" did
the trick.

Perhaps the "make update" target in /usr/ports/Makefile should take care 
of this automatically?

-- 
Conrad Sabatier
cjsabatier@home.com



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




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