Regenerate ports tree from installed ports?

Jordi Espasa Clofent jespasac at minibofh.org
Thu Sep 25 21:44:53 UTC 2008


Hi all,

I suppose it's a dumb (and crazy) question, but as post subject says:
¿Is it possible to regenerate the /usr/ports tree _from_ the installed 
ports?

Let's me to explain. I've a lot of production servers with 6.2 and 6.3 
version, and I wanna update them to new 7.x branch. I'll use the 
'traditional' method (cvsup, make buildworld, make kernel...etc) instead 
the new binary method (freebsd-update) because of I've a customized 
kernel in these boxes.

Until that point, it's all right. But everybody knows that you have to 
recompile all your installed ports after the kernel and userland 
upgrade, to re-link the new libraries and disappeared ones. But in my 
case, these boxes are used as shared web-hostings, and a lot of 
particularities are present. Change the php version, for example, can 
means that tens of webs not work fine.

If I would have a perfect ports tree it would be easy: simple recompile 
all the ports with portupgrade; but the nasty reality is that I'm not 
sure that the present ports tree is the identical mirror of installed 
ports. Even there are more possibilities that ports tree is more updated 
than the majority of installed ports.

So, the only way I can see is the next:

* update buildworld and kernel
* remove /usr/ports
* regenerate the /usr/ports from _installed_ ports
* recompile all ports in new kernel/userland

¿Is it possible? Please, be polite if I'm saying a stupid things
:P

-- 
Thanks,
Jordi Espasa Clofent


More information about the freebsd-hackers mailing list