Subversion Repositories DevTools

Rev

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

Rev 413 Rev 417
Line 32... Line 32...
32
#
32
#
33
# Description     : Create a Debian Package
33
# Description     : Create a Debian Package
34
#
34
#
35
# Inputs          : PkgName                 - Symbolic Package Name
35
# Inputs          : PkgName                 - Symbolic Package Name
36
#                   --Script=Name           - Script to use in the packaging process
36
#                   --Script=Name           - Script to use in the packaging process
-
 
37
#                   --Name=Name             - Debian Package name(optional)
-
 
38
#                   --Variant=Text          - Package Variant(optional)
37
#
39
#
38
# Returns         : 
40
# Returns         : 
39
#
41
#
40
sub MakeDebianPackage
42
sub MakeDebianPackage
41
{
43
{
Line 43... Line 45...
43
    Debug2( "MakeDebianPackage($platforms, @elements)" );
45
    Debug2( "MakeDebianPackage($platforms, @elements)" );
44
    return if ( ! ActivePlatform($platforms) );
46
    return if ( ! ActivePlatform($platforms) );
45
 
47
 
46
    my $build_name =  $::ScmBuildPackage;
48
    my $build_name =  $::ScmBuildPackage;
47
    my $build_version = $::ScmBuildVersionFull;
49
    my $build_version = $::ScmBuildVersionFull;
-
 
50
    my $build_variant = '';
-
 
51
 
-
 
52
    my $script_set=0;
-
 
53
    my $name_set=0;
-
 
54
    my $variant_set=0;
48
 
55
 
49
    #
56
    #
50
    #   Take the project name and convert it into a full path
57
    #   Take the project name and convert it into a full path
51
    #
58
    #
52
    my $script;
59
    my $script;
Line 57... Line 64...
57
    #
64
    #
58
    foreach ( @elements )
65
    foreach ( @elements )
59
    {
66
    {
60
        if ( m/^--Script=(.+)/ ) {
67
        if ( m/^--Script=(.+)/ ) {
61
            $script = $1;
68
            $script = $1;
-
 
69
            $script_set++;
62
 
70
 
-
 
71
        } elsif ( m/^--Name=(.+)/ ) {
-
 
72
            $build_name = $1;
-
 
73
            $name_set++;
-
 
74
 
-
 
75
        } elsif ( m/^--Variant=(.+)/ ) {
-
 
76
            $build_variant = $1;
-
 
77
            $variant_set++;
-
 
78
            
63
        } elsif ( m/^--/ ) {
79
        } elsif ( m/^--/ ) {
64
            Error("MakeDebianPackage. Unknown option: $_");
80
            Error("MakeDebianPackage. Unknown option: $_");
65
 
81
 
66
        } else {
82
        } else {
67
            Error("MakeDebianPackage. Unknown argument: $_");
83
            Error("MakeDebianPackage. Unknown argument: $_");
Line 70... Line 86...
70
 
86
 
71
    #
87
    #
72
    #   Sanity test
88
    #   Sanity test
73
    #
89
    #
74
    Error ("MakeDebianPackage: Script name not defined") unless ( $script );
90
    Error ("MakeDebianPackage: Script name not defined") unless ( $script );
-
 
91
    Error ("MakeDebianPackage: --Script option can only be used once") if ( $script_set > 1 );
-
 
92
    Error ("MakeDebianPackage: --Name option can only be used once") if ( $name_set > 1 );
-
 
93
    Error ("MakeDebianPackage: --Variant option can only be used once") if ( $variant_set > 1 );
75
 
94
 
-
 
95
    #
-
 
96
    #   Build up the build name
-
 
97
    #       Add variant to base name.
-
 
98
    #
-
 
99
    if ( $build_variant )
-
 
100
    {
-
 
101
        $build_name .= '-' . $build_variant;
-
 
102
    }
76
 
103
 
77
    #
104
    #
78
    #   Sanity check the package name and version
105
    #   Sanity check the package name and version
79
    #   Debian has strict requirements than JATS
106
    #   Debian has strict requirements than JATS
80
    #       Name:    Lower case letters (a-z), digits (0-9), plus (+) and minus (-) signs, and periods (.).
107
    #       Name:    Lower case letters (a-z), digits (0-9), plus (+) and minus (-) signs, and periods (.).
Line 156... Line 183...
156
 
183
 
157
                        '--Var(LocalIncDir)',                     # Installed Artifacts
184
                        '--Var(LocalIncDir)',                     # Installed Artifacts
158
                        '--Var(LocalLibDir)',
185
                        '--Var(LocalLibDir)',
159
                        '--Var(LocalBinDir)',
186
                        '--Var(LocalBinDir)',
160
 
187
 
-
 
188
                        "-Name=$build_name",                      # Base Package Name
161
                        "-Output=--GeneratedProg($DebianPkgName)",# Specify output file
189
                        "-Output=--GeneratedProg($DebianPkgName)",# Specify output file
162
                        );
190
                        );
163
 
191
 
164
    #
192
    #
165
    #   The Packager has created a binary in the 'PROG' directory
193
    #   The Packager has created a binary in the 'PROG' directory