# Upgrading to Freebsd 8-STABLE - Effect on Ports/Packages



## mimic (Dec 20, 2009)

Hello,

I am interested in using FreeBSD for desktop usage, migrating away from Linux (RedHat) (I love the design and ideas behind FreeBSD).

I have recently installed FreeBSD-RELEASE, and upgraded to FreeBSD-STABLE. I expected the package system and ports system to follow suit,recognizing that the system has changed from the RELEASE branch to STABLE.

However, packages are still being fetched by default from the RELEASE section.

Is this intentional/by design? Or, would it be recommended for me to use the PACKAGESITE variable to have it automatically fetch from the STABLE branch? I thought this would be automatic, but it was not.

Is the ports collection common to both RELEASE and STABLE? I am using csup to update the ports collection. I don't know if there is something that should be changed to use STABLE ports, as opposed to ones frozen from release.

Essentially, I would like to have everything on the system reflect that I am using the STABLE branch, and would like to make sure that it is working correctly. I am picking up on FreeBSD, and would like to make sure I am doing it correctly.

If this post is in the wrong section (perhaps should be in the ports section? It seems relevent to upgrading/STABLE), please feel free to move it.


----------



## dennylin93 (Dec 20, 2009)

Just set PACKAGESITE to your desired location.

The ports tree for FreeBSD is the same for all versions (-RELEASE, -STABLE, and -CURRENT).


----------



## zeiz (Dec 20, 2009)

Strange... it must be automatic. I use 8-stable (updated from 8 -release) and it fetches ports from -stable, normally.
How did you upgrade?


----------



## mimic (Dec 20, 2009)

Ah, thanks!

So, the package system works independent of which branch you are following? The 'note' made it seem as though the package system chose which packages to download based on which branch was currently being followed.


----------



## mimic (Dec 20, 2009)

zeiz said:
			
		

> Strange... it must be automatic. I use 8-stable (updated from 8 -release) and it fetches ports from -stable, normally.
> How did you upgrade?



I updated exclusively by following the handbook. (http://www.freebsd.org/doc/en/books/handbook/current-stable.html and http://www.freebsd.org/doc/en/books/handbook/makeworld.html)., using the csup method.Perhaps there were a few caveats that I missed.

The system worked fine after the upgrade, and the uname -a showed that I was using stable.


----------



## zeiz (Dec 20, 2009)

I also upgrade through make buildworld/buildkernel. Must be the same result.
If you search ftp://ftp.freebsd.org/pub/FreeBSD/ports/ARCH/ (I don't know what is your ARCH: i386 or amd64 or other)
there are a number of package-subdirs like packages-8.0-release and packages-8-stable and they are not the same inside  Although they have same names but may have different versions.
`# pkg_add -r` command has a default url depending on it's version so if you had 8.0-release it would search in packages-8-0-release but if you rebuilt world with 8-stable sources pkg_add must be also upgraded to 8-stable and then search in packages-8-stable.
However if you only upgraded kernel without rebuilding world `# pkg_add -r` could be still from 8.0-release despite `uname -a` shows 8-stable.

Of course you can use PACKAGESITE variable to change default but it works till first logout/reboot, then it must be entered again:


```
# setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/yourARCH/packages-8-stable/All/
```
I prefer "All" but you may use "Latest" instead (there are just symlinks to All forlder in Latest folder). Don't forget / (slash) after All.
You can always check if you have correct path:
`# echo $PACKAGESITE`


----------



## mimic (Dec 20, 2009)

I'm using i386 on the systems that I am performing the upgrade with (somewhat old systems, no x64 support). I am rebuilding world as well as the kernel. I performed the upgrade on another system with the same result (pkg_add using RELEASE after upgrading to STABLE).

This isn't a big issue, as I can just override the behavior with the PACKAGESITE variable, as was detailed previously. My main concern was just that, once changing to the STABLE branch, that all following software installations/updates follow suit, and are done with respect to a STABLE release.


----------



## zeiz (Dec 20, 2009)

I am really puzzled because in the Handbook is written (dennylin93's link):


> Note: pkg_add(1) *will* download the latest version of your application if you are using FreeBSD-CURRENT or FreeBSD-STABLE. If you run a -RELEASE version, it will grab the version of the package that was built with your release.


It is clear written that pkg_add *WILL* download the latest version if... but in your case it won't :\
I'm on 9-CURRENT now and I have same problem but (hopefully) only because there is no packages for 9-CURRENT yet so I use just -current.
I edited /root/.cshrc file to add below last line starting with *setenv*:

```
setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-current/Latest/
```
Now it works beyond just current session. Please note that this time I use "Latest" instead of "All". If use "All" in this line pkg_add needs exact version of a port (not just a name), but if use "Latest" it works as advertised!
But again: for 8-STABLE I did just nothing and it works itself. So your main question is still unanswered... a bug?


----------

