Subversion Repositories DevTools

Rev

Rev 5767 | Rev 5873 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5767 Rev 5771
Line 24... Line 24...
24
 
24
 
25
require 5.6.1;
25
require 5.6.1;
26
use strict;
26
use strict;
27
use warnings;
27
use warnings;
28
use Digest::file qw(digest_file_hex);
28
use Digest::file qw(digest_file_hex);
-
 
29
use Digest::file qw(digest_file_base64);
29
 
30
 
30
#
31
#
31
#   Globals
32
#   Globals
32
#
33
#
33
my @Manifests;                      # Manifest entries
34
my @Manifests;                      # Manifest entries
Line 93... Line 94...
93
    my $default_arch = $::ScmPlatform;
94
    my $default_arch = $::ScmPlatform;
94
    my $default_prod = '';
95
    my $default_prod = '';
95
    my $imported_manifest = 0;
96
    my $imported_manifest = 0;
96
    my $include_md5 = 0;
97
    my $include_md5 = 0;
97
    my $generate_dmf = 0;
98
    my $generate_dmf = 0;
98
    my $dmf_version = $::ScmBuildVersion;
99
    my $dmf_version = $::ScmBuildVersionFull;
99
 
100
 
100
    #
101
    #
101
    #   Collect user options
102
    #   Collect user options
102
    #
103
    #
103
    foreach ( @elements )
104
    foreach ( @elements )
Line 796... Line 797...
796
    my $name = $entry->{name};
797
    my $name = $entry->{name};
797
    my $version = $entry->{dmf_version};
798
    my $version = $entry->{dmf_version};
798
 
799
 
799
    # Configure base manifest information.
800
    # Configure base manifest information.
800
    my %manifest;
801
    my %manifest;
-
 
802
    $manifest{'mugsetId'} = $name . '_' . $version;
801
    $manifest{'name'} = $name;
803
    $manifest{'name'} = $name;
802
    $manifest{'version'} = $version;
804
    $manifest{'version'} = $version;
803
    $manifest{'package_name'} = $::ScmBuildPackage;
805
    $manifest{'packageName'} = $::ScmBuildPackage;
804
    $manifest{'package_version'} = $::ScmBuildVersion;
806
    $manifest{'packageVersion'} = $::ScmBuildVersionFull;
805
    $manifest{'datetime'} = localtime($gen_time);
807
    $manifest{'datetime'} = localtime($gen_time);
806
    $gen_time *= 1000;  # Make to milliseconds
808
    $gen_time *= 1000;  # Make to milliseconds
807
    $manifest{'timestamp'} = $gen_time;
809
    $manifest{'timestamp'} = $gen_time;
808
    $manifest{'architecture'} = $entry->{arch};
-
 
809
    $manifest{'tier'} = $entry->{tier};
810
    $manifest{'tier'} = $entry->{tier};
810
 
811
 
811
    # Process each file.
812
    # Process each file.
812
    my @files = @{ $entry->{files} };
813
    my @files = @{ $entry->{files} };
813
    my $zip = Archive::Zip->new();
814
    my $zip = Archive::Zip->new();
Line 826... Line 827...
826
            my $file_member = $zip->addFile( $aup_file, $publish_file );
827
            my $file_member = $zip->addFile( $aup_file, $publish_file );
827
 
828
 
828
            $manifest{'tasks'}[$i]{'order'} = 1 * $order;
829
            $manifest{'tasks'}[$i]{'order'} = 1 * $order;
829
            $manifest{'tasks'}[$i]{'filename'} = $base_file;
830
            $manifest{'tasks'}[$i]{'filename'} = $base_file;
830
            $manifest{'tasks'}[$i]{'download'} = $publish_file;
831
            $manifest{'tasks'}[$i]{'download'} = $publish_file;
-
 
832
            $manifest{'tasks'}[$i]{'sha256'} = digest_file_base64($file, 'SHA-256');
-
 
833
            $manifest{'tasks'}[$i]{'size'} = -s $file;
-
 
834
 
831
            if ($base_file =~ /\.sh$/)
835
            if ($base_file =~ /\.sh$/)
832
            {
836
            {
833
                $manifest{'tasks'}[$i]{'action'} = 'exec-shell';
837
                $manifest{'tasks'}[$i]{'action'} = 'exec-shell';
834
            }
838
            }
835
            elsif ($base_file =~ /\.deb$/)
839
            elsif ($base_file =~ /\.deb$/)
836
            {
840
            {
837
                $manifest{'tasks'}[$i]{'action'} = 'dpkg-install';
841
                $manifest{'tasks'}[$i]{'action'} = 'dpkg-install';
-
 
842
 
-
 
843
                my ($pkg_name, $pkg_version, $pkg_arch) = ($base_file =~ /([^_]*)_([^_]*)_(.*)/);
-
 
844
                $manifest{'tasks'}[$i]{'arch'} = $pkg_arch;
-
 
845
                $manifest{'tasks'}[$i]{'name'} = $pkg_name;
-
 
846
                $manifest{'tasks'}[$i]{'version'} = $pkg_version;
838
            }
847
            }
839
            else
848
            else
840
            {
849
            {
841
                ReportError ("Manifest entry $base_file does not have a supported DMF install action");
850
                ReportError ("Manifest entry $base_file does not have a supported DMF install action");
842
            }
851
            }