#!/usr/bin/perl # # By Matt Wagner <matt@mysql.com> 2005 # # This script generates HP Depot packages for MySQL Server. # It basically repackages a binary tarball as a depot. # # Usage: ./Do-hpux-depot <untarred-binary-tarball> # $fullname = shift @ARGV; $fullname or die "No package name was specified"; -d $fullname or die "That directory is not present!"; $fullname =~ s,/+$,,; # Remove ending slash if any chomp($pwd= `pwd`); %title= ( "mysql-standard" => "MySQL Community Edition - Standard (GPL)", "mysql-debug" => "MySQL Community Edition - Debug (GPL)", "mysql-max" => "MySQL Community Edition - Experimental (GPL)", "mysql-pro" => "MySQL Pro (Commercial)", "mysql-classic" => "MySQL Classic (Commercial)", "mysql-cluster" => "MySQL Cluster (Commercial)", ); %architecture= ( "hpux11.23" => "HP-UX_B.11.23", "hpux11.11" => "HP-UX_B.11.11", "hpux11.00" => "HP-UX_B.11.00", ); %os_release= ( "hpux11.23" => "?.11.2?", "hpux11.11" => "?.11.1?", "hpux11.00" => "?.11.0?", ); %machine_type= ( "ia64" => "ia64*", "hppa2.0w" => "9000/*", ); $fullname =~ m/^(mysql-\w+)-([\d\.]+)-hp-(hpux11\.\d\d)-(hppa2\.0w|(ia64))-?(64bit)?$/; # print "title: $1\n"; # print "version: $2\n"; # print "os: $3\n"; # print "cpu: $4\n"; # print "64: $6\n"; $cpu64= ($6 ne "") ? "_64" : ""; open (PSF,">${fullname}.psf") or die "Unable to write PSF file ($!)\n"; print PSF <<EOF; product tag $1 vendor_tag "MySQL_AB" title "$title{$1}" description "MySQL Database Server and Clients" revision $2 architecture $architecture{$3}$cpu64 machine_type $machine_type{$4} os_name HP-UX os_release $os_release{$3} directory /usr/local fileset tag all revision $2 directory $fullname=/usr/local/$fullname file_permissions -u 222 -g bin -o bin file * end end EOF close(PSF); system("/usr/sbin/swpackage -v -d \"|gzip -c > $fullname.depot.gz\" -x target_type=tape -s ${pwd}/${fullname}.psf");