# Update ports on CURRENT?



## sk8harddiefast (Feb 18, 2015)

Due to hardware limitation on my wifi on my laptop, I moved to 11-CURRENT.
Just because I have no big experience  with svn. How can I download an update my ports everyday using svn?


----------



## hukadan (Feb 18, 2015)

Hi,

I guess you have pretty much all the details here.

Have fun.


----------



## woodsb02 (Feb 18, 2015)

I would add that if you already have ports tree either installed during FreeBSD install, or fetched/extracted using portsnap(8), it will not work with devel/subversion. You will have to check out a separate ports tree using svn(1) as per that handbook chapter (you may want to delete your existing one first).

Alternatively, you could download a ports tree and keep it updated using the portsnap(8) utility, as explained by this handbook chapter: https://www.freebsd.org/doc/handbook/ports-using.html

However, there are a few alternatives if all you want is to keep your third party software updated on a FreeBSD 11-current installation:

Packages are regularly built for FreeBSD 11-current. You can still use pkg(8) on 11-current if you ensure you are updating your kernel/world base system around the same time as you update your packages.
You could use ports-mgmt/portmaster to update your software from ports regularly (once updating your ports tree with svn(1) or portsnap(8)
You could setup your own package repository using ports-mgmt/poudriere as per this handbook chapter: https://www.freebsd.org/doc/handbook/ports-poudriere.html


----------



## gkontos (Feb 18, 2015)

sk8harddiefast said:


> Due to hardware limitation on my wifi on my laptop, I moved to 11-CURRENT.
> just because I have no big experience  with snv. How can I download an update my ports everyday using svn?



You don't need svn for the ports. Just use portsnap() instead. 

So, for example the first time you would need to run `#portsnap fetch extract` and then every time you want to update the tree you can run `#portsnap fetch update`. If you have any problems with the index file, I had it in CURRENT in the past, you can also run `#make fetchindex` from /usr/ports/.

The you can use a port management software to update them.


----------



## wblock@ (Feb 18, 2015)

Ports on -CURRENT are no different from any other branch.  To use Subversion, remove any existing /usr/ports, check out the ports tree with `svn checkout`, then update it whenever desired with `svn update`.


----------



## sk8harddiefast (Feb 18, 2015)

Thank you all for your answers. I rebuild all ports now
For updating CURRENT I run:
`sudo svn update /usr/src`

To update ports:
`sudo svn update /usr/ports`
or using portsnap(8) as always.


----------



## t1066 (Feb 19, 2015)

I just migrate to current two days ago to try the new ath() driver.
Some tips:
First run `pkg-static install -f pkg`. Also you can install misc/compat10x instead of recompiling all the ports. But some ports had to be recompile, e.g., x11/nvidia-driver.


----------



## wblock@ (Feb 19, 2015)

Do not mix Subversion and portsnap(8), use one or the other.



t1066 said:


> Also you can install misc/compat10x instead of recompiling all the ports. But some ports had to be recompile, e.g., x11/nvidia-driver.


Careful.  The only way this works is if you do not rebuild any ports or install any new packages.  If you ever want to upgrade any ports or packages after a major version upgrade, they _all_ must be rebuilt or reinstalled.


----------



## kpa (Feb 19, 2015)

wblock@ said:


> Do not mix Subversion and portsnap(8), use one or the other.
> 
> 
> Careful.  The only way this works is if you do not rebuild any ports or install any new packages.  If you ever want to upgrade any ports or packages after a major version upgrade, they _all_ must be rebuilt or reinstalled.



There is no danger of linking against the compat libraries when building ports. The /usr/local/lib/compat path is only an additional run-time path for the dynamic linker, when building ports it's not included in the linker's search path. It is however a good idea to use the compat packages only as a stopgap measure and rebuild everything when there's a chance.


----------

