# So what is it going to be...



## Niatross (Sep 22, 2012)

We have two different opinions when it comes to re-installing ports after a minor or major upgrade.

Experienced FreeBSD users will say "do not" reinstall ports after a "minor" upgrade. Only re-install ports after a "major" upgrade.

The manual says: Re-install ports after a "minor" or "major" upgrade.

Who's right?


----------



## freemason (Sep 22, 2012)

only you decide
ports are independent from the sys.


----------



## Uniballer (Sep 22, 2012)

If you just want it to work, then you do not need to reinstall ports.  But if you want/need port security updates, or to be able to add packages, or whatever, then you will be better off in the long run if you reinstall ports.  I usually build ports on a clean test machine and generate packages to take to the production machines, and wait to upgrade the production machines until I can get all the ports to build (usually easy, but sometimes not so much).


----------



## Majorix (Sep 22, 2012)

I would say it would be wise to rebuild all ports should you do a "major" update (say from 9.x to 10.x) but it is not entirely necessary to do it with minor updates. Believe me you won't be able to finish the compiling, so by the time you are done for 9.1, 9.2 will be out


----------



## Niatross (Sep 22, 2012)

Why does the FreeBSD manual state that a user needs to re-install their third party software ("/usr/local") after a "minor" or "major" upgrade?

Many people do not remove and re-install their third party software after doing a "minor" upgrade. They only remove and re-install third party software after a "major" upgrade.

If "minor" upgrades do not require the user to remove their packages and reinstall, then why not remove the requirement from the FreeBSD manual. I see people on these forums telling users "You don't have to reinstall your software after a minor upgrade....just ignore the FreeBSD manual and what it says".


----------



## jb_fvwm2 (Sep 22, 2012)

The manual exists from a time where it essentially *was* a requirement to do a full reinstall, AFAIK.  The first time I found all ports still worked after an upgrade was, if I recall correctly, v8 > v9. [OTOH, it might have been v7 > v8. or v6 > v7, that is a long way to remember for just a few items (ports actually in use) after an upgrade.] ] YMMV.  (It also depends upon the quantity of ports installed.  The manual was written, I think, in a time when users were likely to have far fewer ports installed, in addition to the remaining factors to consider.) 
The requirement in the manual is just words, there is AFAIK no one "in charge" of it per se (though I cannot cite an absolute reference for that.)


----------



## wblock@ (Sep 22, 2012)

Niatross said:
			
		

> We have two different opinions when it comes to re-installing ports after a minor or major upgrade.
> 
> Experienced FreeBSD users will say "do not" reinstall ports after a "minor" upgrade. Only re-install ports after a "major" upgrade.
> 
> The manual says: Re-install ports after a "minor" or "major" upgrade.



Where does it say that?


----------



## Niatross (Sep 22, 2012)

wblock@ said:
			
		

> Where does it say that?



Right Here: http://www.freebsd.org/doc/handbook/updating-upgrading-freebsdupdate.html

25.2.3 Major and Minor Upgrades

"All third party software will now need to be rebuilt and re-installed. This is required as installed software may depend on libraries which have been removed during the upgrade process."


----------



## plamaiziere (Sep 23, 2012)

Niatross said:
			
		

> "All third party software will now need to be rebuilt and re-installed. This is required as installed software may depend on libraries which have been removed during the upgrade process."



If you don't remove old system libraries (ie doing a make delete-old-libs in /usr/src) it should work. You may install a misc/compatXX ports to get these old libs and it should work.

In my experience, few programs closed to the system need to be rebuilt anyway (smartctl, cdrecord, virtualbox, drivers (nvidia)). Even (sometimes) while following STABLE or doing a minor upgrade.

Regards.


----------



## kpa (Sep 23, 2012)

In general there's no need to recompile ports when doing a minor upgrade of the OS, the ABI stability guarantees that ports compiled on the older minor version will continue to work on the newer one. There are couple exceptions to this rule though. Any port that installs kernel modules or depends on kernel data structures will not work necessarily, examples include emulators/virtualbox-ose and sysutils/lsof.


----------



## wblock@ (Sep 23, 2012)

jb_fvwm2 said:
			
		

> The manual exists from a time where it essentially *was* a requirement to do a full reinstall, AFAIK.  The first time I found all ports still worked after an upgrade was, if I recall correctly, v8 > v9. [OTOH, it might have been v7 > v8. or v6 > v7, that is a long way to remember for just a few items (ports actually in use) after an upgrade.] ] YMMV.  (It also depends upon the quantity of ports installed.  The manual was written, I think, in a time when users were likely to have far fewer ports installed, in addition to the remaining factors to consider.)
> The requirement in the manual is just words, there is AFAIK no one "in charge" of it per se (though I cannot cite an absolute reference for that.)



I'm utterly confused at this.  Been using ports without rebuild after minor upgrades at least since the FreeBSD 4.x days.  For major upgrades, there have been "compat" ports and packages for backwards compatibility since at least as far back as 4.x.

But I have not used freebsd-update(8).  The language used in parts of that section of the Handbook makes little sense to me: portupgrade -af does not do a "test build", but a forced rebuild of all ports.  I'm hesitant to edit that because, as a non-user of freebsd-update, it may have a meaning I just don't see.


----------



## jb_fvwm2 (Sep 23, 2012)

Well, I never actually rebuilt all, just a few; maybe I wasn't clear enough, just stating an overview, not as fact per se (In fact the port rebuilds are what I specifically have very little recollection of, prior to the surprise of the one which needed *no* rebuild...). [ In some upgrades I had other more pressing issues. Some were uneventful, typically the recent ones. ]
[With the exception of the v6 > v9 "rsync method... [installworld > rsync > installworld > rsync > installworld > rsync " (p2 266mhz) which I completed ok, but hope no one else ever tries... ]


----------



## roddierod (Sep 24, 2012)

/usr/ports/UPDATING get used to reading that, then you'll know when you need to rebuild all your ports.


----------

