[Nagiosplug-checkins] CVS: nagiosplug/pkg/solaris pkginfo.in,NONE,1.1 solpkg,NONE,1.1

Jeremy T. Bouse undrgrid at users.sourceforge.net
Sat Mar 22 23:02:19 CET 2003


Update of /cvsroot/nagiosplug/nagiosplug/pkg/solaris
In directory sc8-pr-cvs1:/tmp/cvs-serv14281/pkg/solaris

Added Files:
	pkginfo.in solpkg 
Log Message:
Solaris package build system


--- NEW FILE ---
PKG="NPDTplugins"
NAME="nagiosplugins"
DESC="Nagios network monitoring plugins"
ARCH="@PKG_ARCH@"
VERSION="@PACKAGE_VERSION@,REV=@REV_DATESTAMP@"
CATEGORY="application"
VENDOR="Nagios Plugin Development Team"
EMAIL="nagiosplug-devel at lists.sourceforge.net"
PSTAMP="sfw at REV_TIMESTAMP@"
BASEDIR="/usr/local"
CLASSES="none"


--- NEW FILE ---
#!/usr/bin/perl

$pkgdevice = $ARGV[0] || die "Unable to determine device ($!)\n";

$find = "/usr/bin/find";
$pkgproto = "/usr/bin/pkgproto";
$pkgmk = "/usr/bin/pkgmk";
$pkgtrans = "/usr/bin/pkgtrans";
$prototype = "prototype";
$pkginfo = "pkginfo";

# Sanity check

$pwd = `pwd`;
if ($pwd =~ '\/usr\/local') {
        $pwd = $`;
}            
die  "Wrong location, please cd to <PKGBASE>/usr/local/ and run again.\n"
        if ($pwd eq "");

open (PREPROTO,"$find . -print |$pkgproto |") ||
	die "Unable to read prototype information ($!)\n";
open (PROTO,">$prototype") ||
	die "Unable to write file prototype ($!)\n";
print PROTO "i pkginfo=./$pkginfo\n";
while (<PREPROTO>) {
	# Read in the prototype information
	chomp;
	$thisline = $_;
	if ($thisline =~ " prototype "
	  or $thisline =~ " pkginfo ") {
	    # Don't do anything as they aren't important
	} elsif ($thisline =~ "^[fd] ") {
	  # Change the ownership of files and directories
	  ($dir, $none, $file, $mode, $user, $group) = split / /,$thisline;
	  print PROTO "$dir $none $file $mode bin bin\n";
	} else {
	  # Symlinks and other stuff should be printed also
	  print PROTO "$thisline\n";
	}
}
close PROTO;
close PREPROTO;

# Now we can start building the package

$os = `uname -r`;
$os =~ '\.'; 
$os = "sol$'";
chomp $os;   

open (PKGINFO,"<$pkginfo") ||
	die "Unable to read package information ($!)\n";
while (<PKGINFO>) {
	# Read in the package information
	chomp;
	$thisline = $_;
	($var,$value) = split /=/,$thisline;
	if ("$var" eq "NAME" 
	  or "$var" eq "VERSION"
	  or "$var" eq "ARCH") {
		$tmp = lc($var);
		$value =~ s/\"//g;
		if ("$tmp" eq "version"
		  and $value =~ ",REV") {
			($value,$var) = split /\,/,$value;
			$$tmp = $value;
		} else {
			$$tmp = $value;
		}
	}
}	
close PKGINFO;

$packagename = "$name-$version-$os-$arch-local";

print "Building package\n";
system ("$pkgmk -o -r `pwd` -d $pkgdevice");
system ("(cd $pkgdevice && $pkgtrans -s `pwd` ../$packagename)");
print "Done. ($packagename)\n";





More information about the Commits mailing list