[Ilugc] Re: Suggestions for software in IITM mirror

  • From: girish1729@xxxxxxxxx (Girish Venkatachalam)
  • Date: Sat Sep 16 08:23:11 2006

On Sat, Sep 16, 2006 at 06:08:49AM +0530, Suresh Ramasubramanian wrote:
|cvsup is a tool that gets you the freebsd OS source cvs tree, and the
|ports tree
|
|So you get source to build the base OS, and you get a ports tree - a
|bunch of software ported to bsd but the tree just has makefiles,
|location + md5sum of various source tarballs, a list of OS specific patches

Couple of points here.

  a) The ports tree does not come with source of course. It is the job of the 
Makefile rule to fetch the source from various sources. It could even be the 
FreeBSD mirror itself. But on a FreeBSD machine, the ports directory simply 
contains as Suresh rightly mentioned, only the Makefile( which is very very 
small since it includes majority of its macros from a master makefile), and the 
URLs for different locations for the same source and its MD5 sum. Once u hit 
make or make install inside say /usr/ports/net/netcat or something, it 
downloads the original source either from soureforge or elsewhere as the case 
may be, checks the integrity with size and checksum, unpacks it, applies the 
FreeBSD specific patches, then compiles and installs.

  Of course, you can tune certain parameters like which library to link 
against, what should be the database backend etc. using make config. But in 
most cases it doesnt bother u with questions since most ports have sensible 
default options already set.

  Sorry for the digression. I just wanted to clear the point that the ports 
tree doesnt actually have sources apiori.

   b) This is the most important point. CVSup may have been written for FreeBSD 
but it is by no means restricted to FreeBSD at all. It is just a network 
efficient tool for syncing CVS sources since it understands CVS quite well. It 
is a good improvement on the stupid network protocol of CVS. I have used CVSup 
only on Debian so far ironically. I used to use both CVSup and rsync for 
synching my sources and backing up the CVS repository with a cron job. 

   Now, CVSup has two modes of operation, one in which it replicates the CVS 
repository itself and another in which it syncs the source checked out of CVS.

   I am not really sure how CVSup compares to rsync. It  looks as though CVS 
uses rsync on its backend. rsync actually is quite generic for syncing any sort 
of data, as it is a mathematical algo whereas CVSup works at a higher level for 
synchig CVS trees.

   And to add to the confusion I see lot of discussions on the mailing lists 
about portsnap being the latest tool for the job of CVSup and that CVSup is 
obsolete. :-)

   I think we should just forget about CVSup and look at portsnap. It certainly 
is going to kill CVSup just like how ssh(1) killed  the insecure dinosaur 
telnet(1).

   Just google for portsnap. I think we should be using portsnap for syncing 
the mirrors too. I will do more digging and get back on that.

   So long,
   Girish

Other related posts: