Merging several branches with ports tree

olli hauer ohauer at gmx.de
Fri Jul 25 20:35:42 UTC 2014


On 2014-07-25 16:13, Beeblebrox wrote:
> I have several ports branches that get merged to the ports tree. The
> structure is such that a pristine (un-merged) copy of each branch is located
> under: /asp/git/ports, /asp/git/marcuscom, /asp/git/linux-c6, /asp/git/my-pc
> 
> I then want to copy all files under each branch to /usr/ports using a
> combination of rsync and the marcusmerge script. The steps I wish to run:
> 1. rsync -uav --exclude=.git /asp/git/ports/ /usr/ports/
> 2. marcusmerge (works, no problem)
> 3. rsync -av --exclude=.git/ /asp/git/linux-c6/ /usr/ports/ (works, no
> problem)
> 4. rsync -av /asp/git/my-pc/ /usr/ports/
> 
> Steps #1 and #4 are the problem.
> * a simple "rsync -a OR -ua" in step 1 does not seem to work when rsyncing
> onto a merged structure and causes problems. What can I use here, so as to
> ensure updates to the primary port tree get written to the combined folder
> (/usr/ports)?
> * my-pc is a self maintained my ports collection. It has one folder with my
> collection in it, but the problem is that the top-level Makefile and
> Mk/bsd.port.mk "VALID_CATEGORIES" must be modified to include the myports
> collection. How can I merge this set to /usr/ports?
> 
> 

Perhaps ports-mgmt/portshaker is a possible tool.

With the line in make.conf there is no need to patch bsd.port.mk for own $CAT
  VALID_CATEGORIES+=foo bar

Use .sinclude instead .include for own Makefile extensions, then there is no issue in case the file is missing.

-- 
olli


More information about the freebsd-ports mailing list