Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jan 2012 22:05:46 +0100
From:      Polytropon <freebsd@edvax.de>
To:        Dick Hoogendijk <dick@nagual.nl>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: freebsd-update and src.txz
Message-ID:  <20120120220546.b65fb0ce.freebsd@edvax.de>
In-Reply-To: <4F199555.2000800@nagual.nl>
References:  <4F199555.2000800@nagual.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 20 Jan 2012 17:24:53 +0100, Dick Hoogendijk wrote:
> Is it true that freebsd-update does not update the souce files from 
> 8.2-R to 9.0-RELEASE?

I think also updating src/ is the default behaviour.
See "man freebsd-update.conf", setting "Components":

	The parameters following this keyword are the
	components or sub-components of FreeBSD which
	will be updated.  The components are ``src''
	(source code), ``world'' (non-kernel binaries),
	and ``kernel''; the sub-components are the indi-
	vidual distribution sets generated as part of
	the release process (e.g., ``src/base'',
	``src/sys'', ``world/base'', ``world/catpages'',
	``kernel/smp'').  Note that prior to
	FreeBSD 6.1, the ``kernel'' component was dis-
	tributed as part of ``world/base''.

The file /etc/freebsd-update.conf contains this line:

	Components src world kernel

So sources should be updated.



> And if not what is the best way to get the src.txz 
> installed on an updated system?

If Internet connection is available, I prefer using
CVS for that particular task (the "make update" method),
as it's easy to specify a certain release. However, you
need some basic files in /usr/src to perform this task.
If the system has been installed without the sources,
it's easier to get the source archive file from CD or
DVD, or download it from an official FTP mirror.

The 9.0/i386 sources are here:
ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/9.0-RELEASE/src.txz

Example:

	# cd /tmp
	# ftp ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/9.0-RELEASE/src.txz
	# tar -xz -C / -f src.txz

After getting the RELEASE sources and installing them,
for LATER use you could create or modify /etc/make.conf
to contain those lines:

	SUP=		/usr/bin/csup
	SUP_UPDATE=	/usr/bin/csup
	SUPFLAGS=	-L 2
	SUPHOST=	cvsup.freebsd.org
	SUPFILE=	/etc/sup/stable.sup
	#PORTSSUPFILE=	/etc/sup/ports.sup		# optional
	#DOCSUPFILE=	/etc/sup/doc.sup		# optional
	#DOC_LANG=	en_US.ISO8859-1 de_DE.ISO8859-1	# change

You can use the same mechanism to update your ports
tree and the documentation for the languages you select.
The file name for getting the exact RELEASE sources
could be /etc/sup/release.sup, containing the RELEASE
instead of the STABLE tag shown in the next example.

Then create directory /etc/sup and file /etc/sup/release.sup:

	*default host=cvsup.freebsd.org
	*default base=/var/db
	*default prefix=/usr
	*default release=cvs tag=RELENG_9
	*default delete use-rel-suffix
	*default compress
	src-all

This one will keep you on 9-STABLE. You can specify any
other version you need (even _older_ versions if you want
to downgrade) by using the tag= parameter.

	RELENG_9_0_0_RELEASE	-> 9.0-RELEASE
	RELENG_9_0		-> 9.0-pX (security patches)
	RELENG_9		-> 9-STABLE

The different tags are explained here:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvs-tags.html

Then the simple thing you need to do is:

	# cd /usr/src
	# make update

That's a versatile and easy approach. With the example
above, you should get the sources of 9.0-RELEASE properly.



> I do have the disc1 iso. Is src.txz 
> installed under /usr/src or /usr/src/sys?

I think it will be obvious place, which is /usr/src,
as "usr/src/" is "hardcoded" in the path prefix of the
archive file, so extraction "beginning" in / should
do the correct thing.



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



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