Subversion Repositories DevTools

Rev

Rev 7447 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7447 Rev 7452
Line 2302... Line 2302...
2302
        {
2302
        {
2303
            last if ($::GBE_DPKG_ESCROW);
2303
            last if ($::GBE_DPKG_ESCROW);
2304
            next;
2304
            next;
2305
        }
2305
        }
2306
 
2306
 
2307
        
-
 
2308
        #
2307
        #
2309
        #   If we are playing in a sandbox, then the version number is
2308
        #   If we are playing in a sandbox, then the version number is
2310
        #   not used. The Package suffix is still used so that we can
2309
        #   not used. The Package suffix is still used so that we can
2311
        #   differentiate sysbasetypes.xxxxx.mas and sysbasetypes.xxxxx.syd
2310
        #   differentiate sysbasetypes.xxxxx.mas and sysbasetypes.xxxxx.syd
2312
        #
2311
        #
Line 2394... Line 2393...
2394
        return $pkg, $local;
2393
        return $pkg, $local;
2395
    }
2394
    }
2396
 
2395
 
2397
    #
2396
    #
2398
    #   Package not found
2397
    #   Package not found
2399
    #   This is an error, although it can be bypassed
2398
    #       This is an error, although it can be bypassed
-
 
2399
    #       In an sandbox it will be ignored if marked as a noBuild
-
 
2400
    #       
-
 
2401
    my( $link_dir, $base) = genSandboxFile(SplitPackage ($name, $uversion ));
-
 
2402
    if ( $link_dir ) {
-
 
2403
        my $nob_path  = "$link_dir/$base.nob";
-
 
2404
        if (-f $nob_path) {
-
 
2405
            Log( "WARNING .... Package flagged as noBuild: '$name/$version'" );
-
 
2406
            return;
-
 
2407
        }
2400
    #
2408
    }
-
 
2409
 
2401
    Error ("Required package not found: '$name/$version'" ) unless ( $NoPackageError );
2410
    Error ("Required package not found: '$name/$version'" ) unless ( $NoPackageError );
2402
 
2411
 
2403
    Log( "WARNING .... Package not available: '$name/$version'" );
2412
    Log( "WARNING .... Package not available: '$name/$version'" );
2404
    return;
2413
    return;
2405
}
2414
}
Line 3778... Line 3787...
3778
        FileCreate ( $link_path, "$root_path/pkg/$BUILDNAME_PACKAGE");
3787
        FileCreate ( $link_path, "$root_path/pkg/$BUILDNAME_PACKAGE");
3779
    }
3788
    }
3780
}
3789
}
3781
 
3790
 
3782
#-------------------------------------------------------------------------------
3791
#-------------------------------------------------------------------------------
-
 
3792
# Function        : genSandboxFile 
-
 
3793
#
-
 
3794
# Description     : Generate the base part of a sandbox file name 
-
 
3795
#
-
 
3796
# Inputs          : $pkgName
-
 
3797
#                   $pkgVersion
-
 
3798
#                   $pkgSuffix
-
 
3799
#
-
 
3800
# Returns         : Base part of a sandbox file name
-
 
3801
#                       Undef if not in a sandbox
-
 
3802
#
-
 
3803
sub genSandboxFile
-
 
3804
{
-
 
3805
    my ($pkgName, $pkgVersion, $pkgSuffix) = @_;
-
 
3806
 
-
 
3807
    my $sandbox_dpkg_archive = $::GBE_DPKG_SBOX;
-
 
3808
    return unless ( $sandbox_dpkg_archive );
-
 
3809
 
-
 
3810
    unless ( -d $sandbox_dpkg_archive )
-
 
3811
    {
-
 
3812
        Error("sandbox_dpkg_archive is not a directory: $sandbox_dpkg_archive")
-
 
3813
            unless $Clobber;
-
 
3814
        return;
-
 
3815
    }
-
 
3816
 
-
 
3817
    #
-
 
3818
    #   Need to supporttwo forms of pkgsuffix
-
 
3819
    #   With and without a leading '.'
-
 
3820
    #   
-
 
3821
    if (defined $pkgSuffix ) {
-
 
3822
        unless ($pkgSuffix =~ m~^\.~) {
-
 
3823
            $pkgSuffix = '.' . $pkgSuffix;
-
 
3824
        }
-
 
3825
    }
-
 
3826
 
-
 
3827
    #
-
 
3828
    #   Create a name for this package in the sandbox
-
 
3829
    #       Must use the package name and extension - unless exact sandbox
-
 
3830
    #       Must use packahe name, version and extension if its an exact sandbox
-
 
3831
    #
-
 
3832
    my $link_dir = "$sandbox_dpkg_archive/$pkgName";
-
 
3833
    my $base = 'sandbox' . $pkgSuffix; 
-
 
3834
    if ($sandbox_exact) {
-
 
3835
        $base = 'sandbox.' . $pkgVersion . $pkgSuffix; 
-
 
3836
    }
-
 
3837
 
-
 
3838
    return $link_dir, $base;
-
 
3839
}
-
 
3840
 
-
 
3841
#-------------------------------------------------------------------------------
3783
# Function        : BuildSandboxData
3842
# Function        : BuildSandboxData
3784
#
3843
#
3785
# Description     : Create data structures to allow this package to be built
3844
# Description     : Create data structures to allow this package to be built
3786
#                   within a multi-package sandbox.
3845
#                   within a multi-package sandbox.
3787
#
3846
#
Line 3800... Line 3859...
3800
#
3859
#
3801
# Returns         : Nothing
3860
# Returns         : Nothing
3802
#
3861
#
3803
sub BuildSandboxData
3862
sub BuildSandboxData
3804
{
3863
{
3805
    my $sandbox_dpkg_archive = $::GBE_DPKG_SBOX;
-
 
3806
    return unless ( $sandbox_dpkg_archive );
-
 
3807
 
3864
 
3808
    unless ( -d $sandbox_dpkg_archive )
-
 
3809
    {
-
 
3810
        Error("sandbox_dpkg_archive is not a directory: $sandbox_dpkg_archive")
3865
    my( $link_dir, $base) = genSandboxFile($BUILDNAME_PACKAGE, $BUILDNAME_VERSION, $BUILDNAME_SUFFIX );
3811
            unless $Clobber;
3866
    return unless ( $link_dir );
3812
        return;
-
 
3813
    }
-
 
3814
 
-
 
3815
    #
-
 
3816
    #   Create a name for this package in the sandbox
-
 
3817
    #       Must use the package name and extension - unless exact sandbox
-
 
3818
    #       Must use packahe name, version and extension if its an exact sandbox
-
 
3819
    #
-
 
3820
    my $link_dir = "$sandbox_dpkg_archive/$BUILDNAME_PACKAGE";
-
 
3821
    my $base = 'sandbox' . ${BUILDNAME_SUFFIX}; 
-
 
3822
    if ($sandbox_exact) {
-
 
3823
        $base = 'sandbox.' . ${BUILDNAME_VERSION} . ${BUILDNAME_SUFFIX}; 
-
 
3824
    }
-
 
3825
 
3867
 
3826
    my $nob_path  = $base . ".nob";
3868
    my $nob_path  = $base . ".nob";
3827
    my $ffp_path  = $base . ".ffp";
3869
    my $ffp_path  = $base . ".ffp";
3828
    my $int_path  = $base . ".int";
3870
    my $int_path  = $base . ".int";
3829
 
3871
 
Line 4253... Line 4295...
4253
 
4295
 
4254
#-------------------------------------------------------------------------------
4296
#-------------------------------------------------------------------------------
4255
# Function        : NoBuildMarker
4297
# Function        : NoBuildMarker
4256
#
4298
#
4257
# Description     : Maintain the nobuild marker
4299
# Description     : Maintain the nobuild marker
4258
#                   This is file placed in the interface directory simply
4300
#                   This file is created to indicate that this build does nothing useful
4259
#                   to indicate to the 'create_dpkg' utility that this build
4301
#                   Used by:
4260
#                   does not do anything useful.
4302
#                       'create_dpkg' utility that this build does not do anything useful.
4261
#
-
 
4262
#                   It will only be used on a build machine by the build daemon
4303
#                                     but on a build machine we still need to generate a package fragment
4263
#
4304
#
4264
#                   Its not placed in the interface directory as it would be
4305
#                   Used on a build machine by the build daemon
4265
#                   harder for create_dpkg to find it.
4306
#                   Used in a sandbox
4266
#
4307
#
4267
# Inputs          : None
4308
# Inputs          : None
4268
# Globals         : $NoBuild, $Clobber
4309
# Globals         : $NoBuild, $Clobber
4269
#
4310
#
4270
# Returns         : Nothing
4311
# Returns         : Nothing