Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 May 2001 00:24:44 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        dannyman@toldme.com (dannyman)
Cc:        jmallett@newgold.net (Joseph Mallett), freebsd-questions@FreeBSD.ORG, freebsd-chat@FreeBSD.ORG
Subject:   Re: question/rant: upgrade kit for 3.x ports?!
Message-ID:  <200105100026.RAA04754@usr06.primenet.com>
In-Reply-To: <20010509140838.C17000@dell.dannyland.org> from "dannyman" at May 09, 2001 02:08:38 PM

next in thread | previous in thread | raw e-mail | index | archive | help
> > Make a package from the port, and install it on the boxes that can't
> > build. What's the problem with doing it that way?
> 
> All my boxes should be able to build.
> 
> This way, I get to make the package, oh wait, every sub-package dependancy,
> on ONE 3.5-RELEASE box, and then go back and install the packages on my OTHER
> 3.5 box, when I should be able to "upgrade" the other 3.5 box to make its own
> darned port installs in the first place, as it works on the other 3.5 boxes
> that I installed the "upgrade" package on before it was revoked from
> www.freebsd.org/ports/
> 
> 0-13:43 dannyman@you /usr/ports/mail/postfix> sudo make install
> Password:
> ===>  postfix-20010228.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.
> 
> I go to http://www.FreeBSD.org/ports/ and I'm told that 3.x is no longer
> supported.  Okay, that's fine with me, but where's the upgrade package that
> worked to fix my other 3.5-RELEASE boxen? :<

-------------
SHORT ANSWER
-------------

You have shot yourself in the foot, and you need to _manually_
downgrade, and pray you can find the older distribution files
which the /usr/ports which matches your OS version _somewhere_,
or you must _resign yourself to upgrading_.

-------------
LONG ANSWER
-------------

What it is saying is that the /usr/ports you installed is newer
than the version of the operating system you have installed.

You can not do this.

The reason you can not do this is that the ports .mk files, which
are in /usr/ports/Mk/, _MUST_ match your system .mk files, which
are in /usr/share/mk.

If you were to look at /usr/ports/Mk/bsd.port.mk in "vi", and use
the command "/^IGNORE=", you will see the exact line which prohibits
your make from working.

You could replace you /usr/share/mk files... _IF_ you were willing
to never be able to build another kernel or anything else in /usr/src
on that system!


What you _need_ to do is reinstall a matching version of /usr/ports
on your system, _OR_ to _fully upgrade_ your system to a newer
(supported) version, so that /usr/ports/Mk and /usr/share/mk will
_once again match, like they used to when you first installed_.


The easiest way to fix your system would probably be to (on the
broken system):

	cd /usr
	rm -rf ports

Then go to a system _of the same version_ where the build _works_,
and:

	cd /tmp
	tar czf ports.tar.gz /usr/ports

FTP this new file over to the broken system (e.g. in /tmp), and
then do (again on the broken system):

	cd /
	tar xzf /tmp/ports.tar.gz

NOTE:	One _very_ common reason that _old_ machines have ports
	which work on _one_ of them, but _not_ on another, is
	that the ports system _caches_ distribution files, and
	the _broken_ machine doesn't have a cached copy of the
	distribution file, but the _working_ machine does.  If
	you follow the process outlined above, it will _also_
	copy the cached copy of the distribution file, and things
	will work on the _broken_ machine as well, after you
	have unpacked the /usr/ports from the _working_ machine.

NOTE!:	The main reason that ports are not supported on older
	machines is that the people who created the software
	have moved onto newer versions, but there is no ports
	maintainer among the FreeBSD ports maintainers for the
	older versions of FreeBSD, so there is _no_ "new"
	/usr/ports for that version of FreeBSD which references
	the _newer_ distribution files, which the authors of
	those files have changed out from under the FreeBSD ports
	system (usually by releasing a new version of their
	software, and deleting the old version from their FTP
	site, instead of archiving it for all eternity, so that
	people who refuse to upgrade their OS will not suffer).

NOTE!!:	There is _no way in hell_ you can use a newer /usr/ports
	on an older machine.  Ever.  Forget about trying.  The
	message you got when you tried should probably have been
	_MUCH_ more strongly worded!  You will _BREAK_ your
	ability to use /usr/ports _at all_ if you unpack a new
	version of a mismatched /usr/ports onto an old system.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

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?200105100026.RAA04754>