Upgrade 9.0 --> ? follies

Multiple attempts to update a 9.0 server to 9.3-RELEASE via freebsd-update(8) always bombed out with the 'cowardly refusing...' message. The sed(1) trick did not help. Oddly, I was able to update to 9.1-RELEASE, then to 9.2-RELEASE. Ultimately I would like to make it to 9.3, but prior to that I want to address some old ports and switch the system to pkgng, but that is now failing.

Code:
configure: error: Unable to find the libarchive headers
===>  Script "configure" failed unexpectedly.
Please report the problem to pkg@FreeBSD.org [maintainer] and attach the
"/usr/ports/ports-mgmt/pkg/work/pkg-1.6.1/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. a
/usr/ports/ports-mgmt/pkg/work/pkg-1.6.1/src/pkg-static info -g -Ea).
*** [do-configure] Error code 1

Stop in /usr/ports/ports-mgmt/pkg.
*** [/usr/ports/ports-mgmt/pkg/work/.config

Thoughts / ideas?
 
Update: I did manage to get to 9.3-RELEASE, but it has not addressed the libarchive issue that appears to be preventing the switch to pkg(8), or the building of just about any port for that matter. I did locate libarchive.h and it is where it should be. I just finished extracting the src.txz tarball just in case rebuilding some of the base system is required.
 
Last edited by a moderator:
If the system is this old it might be easier just to remove all packages and start fresh.
 
I ran into this issue myself. One way to deal with this is to remove all the packages on the system and delete the package database. Then delete /usr/ports by doing rm -rf /usr/ports and then recreate the ports tree by doing mkdir /usr/ports and then while inside the ports directory, run svn checkout https://svn.freebsd.org/ports/head /usr/ports to recreate the ports tree.

You can kickstart the package reinstallation by running pkg install <pkgname> where <pkgname> is the name of the package excluding the package version number. For example, if you want to install bash-4.3.42, you would run pkg install bash and it will install.

I have a related thread here, that has a little more info. Once you recreate the ports system using subversion, it creates metadata to keep track of everything.
 
Once you recreate the ports system using subversion, it creates metadata to keep track of everything.
The ports tree isn't necessary, pkg(8) keeps track of things using /var/db/pkg/local.sqlite (installed packages) and /var/db/pkg/repo-FreeBSD.sqlite (version cache of remote FreeBSD package repository).

If you only use packages there's no need to have a ports tree around. It's helpful but not strictly necessary.
 
Mostly I stick to ports, only using pkg(8) when something is buggered up with ports. I'll check out that other thread to see if I can go that route.
 
The ports tree isn't necessary, pkg(8) keeps track of things using /var/db/pkg/local.sqlite (installed packages) and /var/db/pkg/repo-FreeBSD.sqlite (version cache of remote FreeBSD package repository).

If you only use packages there's no need to have a ports tree around. It's helpful but not strictly necessary.

True, but with packages, you have to know the name of the software that you are installing. However, having the ports tree is nice because then you can run the following commands in /usr/ports:

make fetchindex - Grabs the latest index from the repository
make readmes - Builds a tree of browseable html readme files starting in /usr/ports.
make search name=<name> - Allows a search by name for software.
make search key=<keyword> - Allows a keyword search for software.

For more information see the ports(7) man page.
 
I might move this whole conversation over to the ports board - I've got the OS up to 9.3, but I cannot add or update any ports, nor convert to pkgng. Also cannot do the svn(1) try because svn(1) does not exist and I cannot build it from ports. # portsnap fetch update did work, but that is about it.
 
See my post #3. Make a note of what's installed now and just remove it all. Then start building.
 
If subversion isn't installed, then install the pre-compiled binary. Using pkg install svn I think will work for that. It's so common and critical, it's on the build list anyways.
 
Back
Top