Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Nov 2012 16:18:49 GMT
From:      Anton Shterenlikht <mexas@bristol.ac.uk>
To:        fbsd8@a1poweruser.com, freebsd-questions@freebsd.org
Subject:   Re: csup to svn
Message-ID:  <201211211618.qALGInRp081114@mech-cluster241.men.bris.ac.uk>
In-Reply-To: <50ACFCF4.50206@a1poweruser.com>

next in thread | previous in thread | raw e-mail | index | archive | help
	Date: Wed, 21 Nov 2012 11:10:28 -0500
	From: Fbsd8 <fbsd8@a1poweruser.com>

	I use packages for all my ports.
	But some times I have to use ports make files because I need to change 
	the default configuration.

	I use a custom csup script to just download the desired single port.

	Since the CVSup/Csup service is being phased out as of February 28, 
	2013, How can I duplicate this function using svn?

	Following is a sample csup script I use to download a single port.


	  #! /bin/sh
	  # This script is used to download make files for ytree port.

	  # Load script symbolic field with path & file name
	  cvsupfile=/root/temp.work.file

	  # Check to see if file exists & delete it if it does
	  [ -e "$cvsupfile" ] && rm -f "$cvsupfile"

	  # Load instream data to file
	  cat >> "$cvsupfile" <<EOD
	  *default  base=/usr                # create CVSup tree off /usr directory
	  *default  release=cvs
	  *default  delete use-rel-suffix    # no compression, for DSL or t1 lines
	  *default  host=cvsup11.FreeBSD.org #  Virginia
	  *default tag=.      # set tag value to nulls to get most current version
	  ports-misc
	  EOD

	  # Exec csup to download just the selected port make files
	  cd /usr/ports/
	  csup -g -L 2 -i ports/misc/ytree "$cvsupfile"

	  # Delete file we are done with it
	  rm -f "$cvsupfile"

	  echo " Ytree port download completed."

I would do:

# cd /usr/ports
# svn co svn://svn0.us-east.freebsd.org/ports/head/ .

This will populate your ports tree.
Then, you can update anything and everything,
e.g. the whole ports tree:

# svn up /usr/ports

or just a single port:

# svn up /usr/ports/misc/ytree

I think it's way simpler than your current method.
In my opinion, svn is way better (at least in this regard)
than csup.

Other useful thing that is easy with svn is reverting
port updates, e.g. when new ports don't build or give
other problems. For example, right now the latest sudo
doesn't work for me on ia64. So I do

# svn up /usr/ports
# svn up -r302692 /usr/ports/security/sudo

to build an older working version of sudo.

Anton




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211211618.qALGInRp081114>