Using Quarterly Ports Branches
Chris Wells
freebsd at chriswells.io
Sat Mar 4 01:01:18 UTC 2017
On 03/03/17 05:09, Mathieu Arnold wrote:
>
> Currently, all our tools working automatically with the quarterly
> branches do this before any run:
>
> latest_branch=$(svn ls https://svn.freebsd.org/ports/branches/|sed -ne
> '/^2.*Q./s|/$||p'|tail -1)
>
> All you'd need to do before running svn update would be to run:
>
> svn switch ^/branches/$(svn ls
> https://svn.freebsd.org/ports/branches/|sed -ne '/^2.*Q./s|/$||p'|tail -1)
>
> and it would automagically switch to the new branch when a new branch
> happens.
>
Thank you! At least I can create a script to update ports. That solves
the problem for me.
>> If the symlink would work and easy enough to manage, it would be a
>> great portsnap default in the base system to match pkg. The icing on
>> the cake would be a persistent local setting to tell portsnap what
>> branch to use so the commands to fetch/update the ports tree are
>> consistent whether using HEAD or a branch.
>
> The problems with symbolic links, is that they do not work on all
> filesystems.
>
I've never managed an SVN server, so please forgive my ignorance. If a
symlink can't (always) be created on the server side, maybe an Apache
alias or a rewrite could be used. It sounds like an SVN external might
serve a similar purpose on the SVN side:
http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html
The goal would be to both simplify the pkg/ports management process and
reduce the learning curve for new users. Imagine never having used
FreeBSD before (or even SVN!) and needing to learn that pkg pointed to
"latest" builds from HEAD of the ports tree, but the default for pkg is
to use "quarterly" which points to whatever is the current quarterly
branch with a naming convention of YYYYQ#. If you use ports, you can't
use them by default unless you change pkg to latest so it builds from
HEAD. You could use SVN to get a quarterly ports tree instead, but then
you have to use a tool other than portsnap. I'm sure you can see the
frustration a new user would have, and that's just to manage software on
the system.
It would be nice to have some consistency at a minimum in the
terminology/settings. For example, having a latest and quarterly SVN
external (?) in the ports tree so "SVN" doesn't have to come up in the
conversation about managing packages and ports: we could have a config
property for portsnap set to "quarterly" by default so it "just works"
no matter what month and year it is today. Alternatively, both pkg and
portsnap could use the same CURRENT/STABLE labels as the base system
rather than latest/quarterly so all 3 make sense once you learn the
terminology.
No pressure here. I'm 110% sure you guys are all very busy already, but
the back and forth in the following thread sparked the idea for me and I
thought it was worth mentioning:
https://forums.freebsd.org/threads/49694/
Chris
More information about the freebsd-ports
mailing list