# New Packages



## pilchard_power (Dec 8, 2011)

I don't quite understand how the FreeBSD packaging system works. Do the packages for -RELEASE versions come from the -STABLE branch? To give an example,if FreeBSD 9.0-RELEASE ships with KDE 4.7.2 but then FreeBSD 9-STABLE recieves KDE 4.8.x, will this update come to the FreeBSD 9.0-RELEASE branch?

Thanks


----------



## bbzz (Dec 8, 2011)

-RELEASE is a snapshot of -STABLE, basically. Packages are built for -RELEASE once its out and no more. On the other hand they are rebuilt every two, three weeks for packages on -STABLE. 

You don't have to use -STABLE to get packages from -STABLE version. Just set PACKAGESITE env like so:

`# setenv PACKAGESITE [url]ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/[/url]`


----------



## phoenix (Dec 8, 2011)

Binary packages are created using the ports tree.

When a new FreeBSD release is made, the ports tree is frozen (no updates to the tree allowed), and binary packages are built.  For example, the tree was (mostly) frozen recently in preparation for 9.0-RELEASE, and 9.0-RELEASE packages will be built shortly.  These are stored on the FTP server in the 9.0-release packages directory.  These (most likely) won't change for the life of 9.0-RELEASE.

Once the release is done, the ports tree is thawed, updates are made, and life continues on.  When 9.1-RELEASE is about to be released, the tree will be frozen again, new binary packages built based on the state of the ports tree at that time, and the packages put on the FTP server in the 9.1-release packages directory.

And so on.

There's also a 9-STABLE packages directory on the FTP server.  The packages in this directory are built on a (roughly) monthly-ish schedule, based on the state of the ports tree at the time the packages are built.

So, if you want to always have the same versions of software, you use the 9.x-RELEASE packages on your 9.x-RELEASE system.

And, if you want to have (occasionally) more up-to-date versions of software, you set *PACKAGESITE* environment variable to point to the 9-STABLE FTP directory.  See the ports(7) man page for information on how to do that.


----------



## pilchard_power (Dec 9, 2011)

Aren't security updates/other patches backported to the -RELEASE branch then?

Thanks.


----------



## wblock@ (Dec 9, 2011)

pilchard_power said:
			
		

> Aren't security updates/other patches backported to the -RELEASE branch then?



Yes, but those are patches to the operating system, not packages.


----------



## pilchard_power (Dec 10, 2011)

I still don't quite understand. If, for example, firefox recieves a security patch, will the package in 9.0-RELEASE recieve the patch?

Thanks


----------



## wblock@ (Dec 10, 2011)

The key thing to understand is that FreeBSD (the operating system) is separate from ports/packages (applications).

Updating FreeBSD (the operating system) is done with csup(1) through source, or freebsd-update(8) for binaries.

Applications like Firefox are updated by building new versions from source with the "Ports Collection" (also known as the "ports tree" or just "ports") or by installing newer binary packages.

There is no separate branch for application security updates versus feature updates or bug fixes, usually people just track the latest version of the ports.

Ports are typically updated with portsnap(8) and portmaster(8).

There's no built-in utility for updating packages, but sysutils/bsdadminscripts has pkg_upgrade(1).


----------



## DutchDaemon (Dec 11, 2011)

To add a slight explanation: if you're running 9.0-RELEASE and use precompiled packages (either from the installation media, or from the ftp repositories), you will always keep using packages from 9.0-RELEASE as they were built on the day 9.0-RELEASE was released. There will never be updates to those packages. The entire package repository from a -RELEASE will be frozen in time.

If you want updates, newer versions, etc., either use ports, or change the PACKAGESITE environment variable to 9-STABLE (search the forum for examples). Packages for the -STABLE branch are rebuilt regularly.


----------



## nigelnomates (Jan 6, 2012)

So is it pretty stupid to install 8.2 RELEASE and then change PACKAGESITE to 8-STABLE and run *portupgrade -a*?  The reason I ask is because I installed 8.2 RELEASE today (my first freebsd FreeBSD install), wanted to upgrade to the latest firefox, and this is what I have ended up doing.

I don't mind starting over if what I have done is not a good idea.

Thanks


----------



## SirDice (Jan 6, 2012)

nigelnomates said:
			
		

> So is it pretty stupid to install 8.2 RELEASE and then change PACKAGESITE to 8-STABLE and run portupgrade -a?


Nothing wrong with that. Lot of people are running -STABLE packages on a -RELEASE.


----------



## DutchDaemon (Jan 6, 2012)

Assuming you mean *portupgrade -aPP*? Or you would be in for a nice surprise ..


----------



## nigelnomates (Jan 6, 2012)

Yes, a surprise it was.  But I have killed the update and will run it to completion with the -aPP flag.  Thanks for the help.


----------

