Hi gang,
Due to some recent stupidity on my part I decided to spend this evening reading up on the Porters handbook some more and look into the several available utilities for managing your port collection.
ports-mgmt/portcheckout is what I'd call a "high profile port" because it's explicitly mentioned in the ports(7) manualpage: "The portcheckout(1) (ports-mgmt/portcheckout) script (also a port, of course!) will help to download new ports."
After you downloaded it you can check the portcheckout(1) manualpage which says that: "Portcheckout(1) uses cvs(1) by default to check-out port skeletons.". But hasn't CVS been replaced by Subversion recently?
So I decided to begin easy and try a non-destructive option from the manualpage: "Print-out the shell commands to checkout de-dict and dependences":
Needless to say, but this is not what I'd expected from what I consider to be a high profile port.
Because the manualpage mentions that this script uses CVS by default I think this somewhat implies that it also should be able to use Subversion. The "SEE ALSO" section doesn't look convincing though:
So I decided to look into /usr/local/bin/portcheckout myself and I noticed that the use of CVS is actually hard coded into the script:
The section which generates the "checkout script" seems only capable of generating a script which uses CVS:
So I'm a bit puzzled here.
Shouldn't this script have been updated or removed as well by now?
Due to some recent stupidity on my part I decided to spend this evening reading up on the Porters handbook some more and look into the several available utilities for managing your port collection.
ports-mgmt/portcheckout is what I'd call a "high profile port" because it's explicitly mentioned in the ports(7) manualpage: "The portcheckout(1) (ports-mgmt/portcheckout) script (also a port, of course!) will help to download new ports."
After you downloaded it you can check the portcheckout(1) manualpage which says that: "Portcheckout(1) uses cvs(1) by default to check-out port skeletons.". But hasn't CVS been replaced by Subversion recently?
So I decided to begin easy and try a non-destructive option from the manualpage: "Print-out the shell commands to checkout de-dict and dependences":
Code:
smtp2:/home/peter $ portcheckout de-dict
cvs checkout: No CVSROOT specified! Please use the `-d' option
cvs [checkout aborted]: or set the CVSROOT environment variable.
Cannot read INDEX file. Give up!
Because the manualpage mentions that this script uses CVS by default I think this somewhat implies that it also should be able to use Subversion. The "SEE ALSO" section doesn't look convincing though:
Code:
SEE ALSO
See also [man=7]ports[/man], [man=1]cvs[/man], [man=1]cvsup[/man].
So I decided to look into /usr/local/bin/portcheckout myself and I noticed that the use of CVS is actually hard coded into the script:
Code:
# Read the Ports Index from the CVS Repository if
# the file name is relative.
#
# Note: this can took some time if you run CVS over a
# slow link (anonymous CVS or CVS over ssh).
if ($index =~ m%^[a-z]+/INDEX%oi) {
my @exec = ('cvs', '-Q', 'co', '-p');
push(@exec, $release) if $release;
open(INDEX, "-|") ||
exec (@exec, $index) ||
die "Cannot execute @exec $index\n";
}
The section which generates the "checkout script" seems only capable of generating a script which uses CVS:
Code:
# uncomment next line if you have write permission to /usr/ports/distfiles
#print qq{DISTDIR="/usr/ports/distfiles"; export DISTDIR\n};
print "\n# checkout FreeBSD ports system Makefiles\n";
print "cvs checkout -P $release ports/Mk\n";
print "cvs checkout -P $release ports/Templates\n\n";
Shouldn't this script have been updated or removed as well by now?