# Question/Feature-request?



## CoryG (Nov 12, 2022)

So I have a FreeBSD-13 installation image and the current is FreeBSD-13.1, and I'm upgrading a bunch of servers as a result.  Is there a way to do: `make install` --> `cd whatever` --> `make clean` `make` `make install` --> `cd original` --> `make clean` `make` `make install` recursively, wherein `whatever` is any library throwing an error and `original` is whichever port you're trying to update?  This is a very redundant process which seems to be easy to automate, or maybe I'm just a moron and don't know the correct extant way to go about this?  Direction in either direction would be appreciated.


----------



## zirias@ (Nov 12, 2022)

I can only guess which problem you are trying to solve.

If you're upgrading from an older major version (12?), you'll have to rebuild/reinstall all ports anyways.

If you're upgrading from 13.0 (same major), there's no need to rebuild anything, except some ports with kernel modules. In that case, if you still have issues with shared libs, you probably have packages installed built from different states of the ports tree. Managing ports manually (building/installing directly from the ports tree) can be done, but is really cumbersome.

For managing a "bunch of servers" where you want to build yourself (probably because of some non-default port options), the only sane way is to build your own packages repository with ports-mgmt/poudriere (or ports-mgmt/poudriere-devel, to be able to mix in official binary packages) and use pkg to install/upgrade your servers from there.


----------

