#ident $Id: cvslib.pl,v 2.1 2009/11/06 10:26:22 lukeh Exp $ $CVSVERSIONDIR = $ENV{'CVSVERSIONDIR'}; $INFOFILE = $CVSVERSIONDIR ne "" ? $CVSVERSIONDIR."/CVSVersionInfo.txt" : "CVSVersionInfo.txt"; $DISTDIR = $ENV{'HOME'} . "/dist"; sub getSGSFile { if (-f "version.h") { return "version.h"; } elsif (-f "vers.c") { return "vers.c"; } else { return; } } sub nameToTag { local($tag) = shift; $tag =~ s/\./\~/g; return ($tag); } sub getCVSRepository { if (!(-d "CVS")) { return; } open(ROOT, "CVS/Root") || return; open(REPOSITORY, "CVS/Repository") || return; local ($CVSROOT) = ; chop ($CVSROOT); if ($CVSROOT =~ '^:') { local(@C) = split(/:/, $CVSROOT); $CVSROOT = $C[3]; } local ($CVSREPOSITORY) = ; chop ($CVSREPOSITORY); close(ROOT); close(REPOSITORY); if ($CVSREPOSITORY =~ /^\//) { $CVSREPOSITORY =~ s/^$CVSROOT\///g; } return($CVSREPOSITORY); } sub getCVSVersionInfo { local ($VERSION, $PROJECT); if (-f $INFOFILE) { open(INFOFILE, $INFOFILE) || return; while() { if (/^#/) { next; } local ($key, $value) = split(/:\s+/); chop($value); if ($key eq "ProjectVersion") { $VERSION = $value; } elsif ($key eq "ProjectName") { $PROJECT = $value; } } } close(INFOFILE); return "$PROJECT-$VERSION"; }