Home | History | Annotate | Download | only in src
      1 package CoolStackPkg;
      2 @ISA = qw(CoolStackPkgBase);
      3 use strict;
      4 use CoolStackPkgBase;
      5 use Cwd;
      6 my $cskVersion = "1.2";
      7 
      8 
      9 sub new($$$$)
     10 {
     11     my $pkgName = shift;
     12     my $self = $pkgName->allocate(@_);
     13     my ($buildDir, $packagesDir, $doSrcPacakge) = @_;
     14     $self->{"_buildDir"} = $buildDir;
     15     $self->{"_packagesDir"} = $packagesDir;
     16     $self->{"_doSrcPackage"} = $doSrcPacakge;
     17     return $self;
     18 }
     19 
     20 
     21 sub _translatePackages
     22 {
     23     my $self = shift;
     24     my $workdir = getcwd();
     25     chdir "pkgdata" or die "Unable to change directory to pkgdata";
     26     my $buildDir = $self->{"_buildDir"};
     27     my $outputfile = "$workdir/$buildDir/transpkglog.txt";
     28     my $args = "";
     29     my $doSrcPackage = $self->{"_doSrcPackage"};
     30     if ($doSrcPackage) {
     31         $args = "--source"
     32     }
     33     system("./mktranspkg.sh $args > $outputfile 2>&1");
     34     print "package translate log is present in $outputfile\n";
     35     print "\n";
     36     chdir $workdir;
     37 }
     38 
     39 sub _cleanupPackages
     40 {
     41     my $self = shift;
     42     my @pkgList = ("apache2", "php5", "mysql32",
     43                    "phplibs", "ncurses", "tds"
     44                   );
     45     my $arch = `uname -p`;
     46     chomp $arch;
     47     if ("$arch" eq "i386") {
     48         $arch="x86";
     49     }
     50     my $packagesDir = $self->{"_packagesDir"};
     51     foreach my $comp (@pkgList) {
     52         my $pkgName = "$packagesDir/CSK$comp" . "_$cskVersion" . "_$arch.pkg";
     53         if ( -e $pkgName ) {
     54             print "Removing $pkgName\n";
     55             system ("rm -f $pkgName")
     56         }
     57         $pkgName = "$packagesDir/CSK$comp". "_$cskVersion"  . "Src.pkg";
     58         if ( -e $pkgName ) {
     59             print "Removing $pkgName\n";
     60             system ("rm -f $pkgName")
     61         }
     62     }
     63 }
     64 
     65 sub _createPackage
     66 {
     67     my $self = shift;
     68     my ($comp) = @_;
     69     my $workdir = getcwd();
     70     chdir "pkgdata/$comp" or die "Unable to change directory to pkgdata/$comp";
     71     print "Going to generate $comp package\n";
     72     my $buildDir = $self->{"_buildDir"};
     73     my $outputfile = "$workdir/$buildDir/$comp" . "_packagelog.txt";
     74     system("./mkpkg.sh > $outputfile 2>&1");
     75     print "package file output is present in $outputfile\n";
     76     print "\n";
     77     chdir $workdir;
     78 }
     79 
     80 sub createPackages
     81 {
     82     my $self = shift;
     83     my @pkgList = ("runtime", "apache2", "php5", "mysql32",
     84                    "phplibs", "ncurses", "tds",
     85                    "mysql", "perl",
     86                    "memcached", "squid", "ruby", "tomcat", "lighttpd");
     87     foreach my $comp (@pkgList) {
     88         $self->_createPackage($comp);
     89     }
     90     $self->_translatePackages();
     91     $self->_cleanupPackages();
     92 }
     93 
     94 sub createSrcPackages
     95 {
     96     my $self = shift;
     97     my ($srcPackagelocation) = @_;
     98     my @srcPkgList = ("apache2",
     99                       "mysql",
    100                       "perl",
    101                       "phplibs",
    102                       "runtime",
    103                       "tds",
    104                       "memcached",
    105                       "ncurses",
    106                       "php5",
    107                       "ruby",
    108                       "squid",
    109                       "lighttpd"
    110                       );
    111     my $workdir = getcwd();
    112     chdir "pkgdata/" or die "Unable to change directory to pkgdata";
    113     foreach my $comp (@srcPkgList) {
    114         print "Going to generate $comp source package\n";
    115         my $srcPackageDir = $srcPackagelocation;
    116         if ($srcPackageDir eq "") {
    117             $srcPackageDir = "$workdir"
    118         }
    119 
    120         my $buildDir = $self->{"_buildDir"};
    121         my $outputfile = "$workdir/$buildDir/$comp" . "_Srcpackagelog.txt";
    122         my $retval = 0;
    123         print("./mksrcpkg.sh $srcPackageDir $comp > $outputfile\n");
    124         $retval = system("./mksrcpkg.sh $srcPackageDir $comp > $outputfile 2>&1");
    125         if ($retval != 0) {
    126             print "Source package creation failed for $comp\n";
    127         }
    128     }
    129     chdir $workdir;
    130 }
    131 
    132 1;
    133 
    134