# portsnap: Quarterly or HEAD?



## eldaemon (Apr 13, 2020)

Does portsnap use Quarterly or HEAD?

This doesn't seem to be documented in portsnap(8) or the FreeBSD Handbook. I can't see mention of "quarterly" in /usr/sbin/portsnap, either.

Wondering what the best practice is.


----------



## teo (Apr 13, 2020)

eldaemon said:


> Does portsnap use Quarterly or HEAD?
> 
> This doesn't seem to be documented in portsnap(8) or the FreeBSD Handbook. I can't see mention of "quarterly" in /usr/sbin/portsnap, either.
> 
> Wondering what the best practice is.



For the security of the system I prefer the latest repository and do not detect vulnerabilities in the system.


----------



## Alain De Vos (Apr 13, 2020)

The advantage of using "portsnap" instead of "svn checkout" is not clear to me. I use the latter.


----------



## tingo (Apr 13, 2020)

It doesn't say so either in ports(7), portsnap(8) or the ports and packages chapter in the handbook, but portsnap always used HEAD. AFAIUI, the branches quarterly and latest are only used for packages.


----------



## eldaemon (Apr 13, 2020)

It seems like it would depend on which brand portsnap.freebsd.org uses, right? It would be nice to have pkg and portsnap in sync, in my opinion.


----------



## drhowarddrfine (Apr 14, 2020)

eldaemon You must be unfamiliar with the difference between packages and ports then. Packages should be expected to trail behind ports.


----------



## eldaemon (Apr 14, 2020)

drhowarddrfine said:


> eldaemon You must be unfamiliar with the difference between packages and ports then. Packages should be expected to trail behind ports.



I understand that packages should trail ports in terms of it taking a while to build the packages on all architectures after an update. That said, I don't understand why packages would trail behind ports beyond that. There's quarterly and head for ports and thus for packages. It isn't clear which portsnap uses to me.

Am I missing something?


----------



## teo (Apr 14, 2020)

eldaemon said:


> I understand that packages should trail ports in terms of it taking a while to build the packages on all architectures after an update. That said, I don't understand why packages would trail behind ports beyond that. There's quarterly and head for ports and thus for packages. It isn't clear which portsnap uses to me.
> 
> Am I missing something?



portsnap I don't use, svnlite  for repository head ports and the latest for fonts and binary software.


----------



## SirDice (Apr 14, 2020)

eldaemon said:


> There's quarterly and head for ports and thus for packages. It isn't clear which portsnap uses to me.


They're snapshots from HEAD, made at intervals (don't know the interval though).


----------



## outpaddling (Apr 16, 2020)

The interval is very short.  When I commit a port change to head, I usually see it reflected in portsnap within an hour.


----------



## Alain De Vos (Apr 16, 2020)

I mix quarterly packages with quarterly ports and both are always very close.


----------



## outpaddling (Apr 17, 2020)

Quarterly ports are frozen at a particular version and receive only bug fixes or security updates.  You should almost never see a version mismatch between ports and packages in a quarterly branch and if you ever do, it should only be a revision or minor version change.

With head/latest, it may take a few days before a package is built for a new ports commit, but if you keep both ports and packages up-to-date, problems are extremely rare.  Problems are likely to arise if you mismatch the ports tree and pacakge repo, such as using quarterly packages (which is default) + head ports, which can easily happen to an unsuspecting new user installing the ports tree with portsnap, or if you use head/latest for both and lag on updates for one or the other.

portsnap only supports head as mentioned earlier, so if you use it, you should also use latest packages.  The file below will switch you to latest packages (built from head ports):


```
FreeBSD coral.acadix  bacon ~ 1008: cat /usr/local/etc/pkg/repos/bleeding-edge.conf
FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest"
}
```


----------

