Subversion Repositories DevTools

Rev

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

Rev 7311 Rev 7319
Line 45... Line 45...
45
my @opt_delFilters;
45
my @opt_delFilters;
46
my $opt_showFiles;
46
my $opt_showFiles;
47
my @opt_addFiles;
47
my @opt_addFiles;
48
my @opt_delFiles;
48
my @opt_delFiles;
49
my $opt_symlinks;
49
my $opt_symlinks;
50
 
50
my $opt_ignore;
51
 
51
 
52
#
52
#
53
#   Constants
53
#   Constants
54
#
54
#
55
my $CONFFILE = '.bomGen';
55
my $CONFFILE = '.bomGen';
Line 98... Line 98...
98
                "addfiles=s"       => \@opt_addFiles,           # multiple strings
98
                "addfiles=s"       => \@opt_addFiles,           # multiple strings
99
                "delfiles=s"       => \@opt_delFiles,           # multiple strings
99
                "delfiles=s"       => \@opt_delFiles,           # multiple strings
100
                "showfiles"        => \$opt_showFiles,          # flag
100
                "showfiles"        => \$opt_showFiles,          # flag
101
 
101
 
102
                "test"              => \$opt_test,              # flag
102
                "test"              => \$opt_test,              # flag
-
 
103
                'ignoreManifest'    => \$opt_ignore,            # flag
103
                );
104
                );
104
 
105
 
105
#
106
#
106
#   Process help and manual options
107
#   Process help and manual options
107
#
108
#
Line 217... Line 218...
217
            $data->{release} =~ s~[PD]$~~;
218
            $data->{release} =~ s~[PD]$~~;
218
            $alias = join('.', $data->{name}, $data->{prj}, $data->{release}, $data->{arch}, $data->{type} );
219
            $alias = join('.', $data->{name}, $data->{prj}, $data->{release}, $data->{arch}, $data->{type} );
219
        }
220
        }
220
        elsif ( $file =~ m~^(.*)_(.*)\.([^_]+)_(.*)\.(deb|tgz|rpm)$~i)
221
        elsif ( $file =~ m~^(.*)_(.*)\.([^_]+)_(.*)\.(deb|tgz|rpm)$~i)
221
        {
222
        {
-
 
223
            # name_version.project_arch_type
-
 
224
#Debug0("File Mode 3: $file");
222
            $data->{name} = $1;
225
            $data->{name} = $1;
223
            $data->{version} = $2;
226
            $data->{version} = $2;
224
            $data->{prj} = $3;
227
            $data->{prj} = $3;
225
            $data->{arch} = $4;
228
            $data->{arch} = $4;
226
            $data->{type} = $5;
229
            $data->{type} = $5;
227
            $data->{arch} =~ s~_[PD]~~;
230
            $data->{arch} =~ s~_[PD]~~;
228
            $alias = join('.', $data->{name}, $data->{prj}, $data->{arch}, $data->{type} );
231
            $alias = join('.', $data->{name}, $data->{prj}, $data->{arch}, $data->{type} );
229
        }
232
        }
230
        elsif ( $file =~ m~^(.*)-(.*)-(.*)\.(.*)\.(rpm)$~i)
233
        elsif ( $file =~ m~^(.*)-(.*)-(.*)\.(.*)\.(rpm)$~i)
231
        {
234
        {
-
 
235
            # name-version-release.arch.rpm
-
 
236
            $data->{name} = $1;
-
 
237
            $data->{version} = $2;
-
 
238
            $data->{release} = $3;
-
 
239
            $data->{arch} = $4;
-
 
240
            $data->{type} = $5;
-
 
241
            $alias = join('.', $data->{name}, $data->{arch}, $data->{type} );
-
 
242
        }
-
 
243
        elsif ( $file =~ m~^(.*)-(.*)-(.*)-(.*)\.(rpm)$~i)
-
 
244
        {
-
 
245
            # name-version-release-arch.rpm
-
 
246
            # Not a valid form - but that doesn't stop Oracle
232
            $data->{name} = $1;
247
            $data->{name} = $1;
233
            $data->{version} = $2;
248
            $data->{version} = $2;
234
            $data->{release} = $3;
249
            $data->{release} = $3;
235
            $data->{arch} = $4;
250
            $data->{arch} = $4;
236
            $data->{type} = $5;
251
            $data->{type} = $5;
237
            $alias = join('.', $data->{name}, $data->{arch}, $data->{type} );
252
            $alias = join('.', $data->{name}, $data->{arch}, $data->{type} );
238
        }
253
        }
-
 
254
 
239
        elsif ( $file =~ m~^(.*)-($pv)\.(.*)\.(rpm)$~i)
255
        elsif ( $file =~ m~^(.*)-($pv)\.(.*)\.(rpm)$~i)
240
        {
256
        {
241
            # COTS package
257
            # COTS package
242
            $data->{name} = $1;
258
            $data->{name} = $1;
243
            $data->{version} = $2;
259
            $data->{version} = $2;
Line 254... Line 270...
254
            $data->{type} = $3;
270
            $data->{type} = $3;
255
            $data->{prj} = $proj;
271
            $data->{prj} = $proj;
256
        }
272
        }
257
        elsif ( $file =~ m~^(.*)-($pv)\.(.*)\.(deb)$~i)
273
        elsif ( $file =~ m~^(.*)-($pv)\.(.*)\.(deb)$~i)
258
        {
274
        {
-
 
275
#Debug0("File Mode 8: $file");
-
 
276
            # COTS package
-
 
277
            $data->{name} = $1;
-
 
278
            $data->{version} = $2;
-
 
279
            $data->{arch} = $3;
-
 
280
            $data->{type} = $4;
-
 
281
            $data->{prj} = $proj;
-
 
282
        }
-
 
283
        elsif ( $file =~ m~^(.*)_(.*)-(.*)_(.*)\.(deb)$~i)
-
 
284
        {
-
 
285
#Debug0("File Mode 9: $file");
259
            # COTS package
286
            # COTS package
260
            $data->{name} = $1;
287
            $data->{name} = $1;
261
            $data->{version} = $2;
288
            $data->{version} = $2;
262
            $data->{arch} = $3;
289
            $data->{arch} = $3;
263
            $data->{type} = $4;
290
            $data->{type} = $4;
264
            $data->{prj} = $proj;
291
            $data->{prj} = $proj;
265
        }
292
        }
-
 
293
 
266
        elsif ( $file =~ m~^(.*)\.(sh|zip|msi|tar\.gz)$~i)
294
        elsif ( $file =~ m~^(.*)\.(sh|zip|msi|tar\.gz)$~i)
267
        {
295
        {
268
            $data->{name} = $1;
296
            $data->{name} = $1;
269
            $data->{arch} = 'NOARCH';
297
            $data->{arch} = 'NOARCH';
270
            $data->{type} = $2;
298
            $data->{type} = $2;
Line 273... Line 301...
273
            $data->{prj} = $proj;
301
            $data->{prj} = $proj;
274
        }
302
        }
275
 
303
 
276
        unless (($data && $data->{name} && $data->{prj} && $data->{type}) || $alias) {
304
        unless (($data && $data->{name} && $data->{prj} && $data->{type}) || $alias) {
277
            push @elist, $file;
305
            push @elist, $file;
-
 
306
Debug0("File: $file");
278
            next;
307
            next;
279
        }
308
        }
280
        $data->{fullname} = $file;
309
        $data->{fullname} = $file;
281
 
310
 
282
        #
311
        #
Line 294... Line 323...
294
        delete $data->{type};
323
        delete $data->{type};
295
        $bomInfo->{files}{$alias} = $data;
324
        $bomInfo->{files}{$alias} = $data;
296
#Debug0("Alias: $file-> $alias");
325
#Debug0("Alias: $file-> $alias");
297
    }
326
    }
298
 
327
 
-
 
328
    if ($opt_ignore)
-
 
329
    {
-
 
330
        Warning ("Cannot extract file metadata from:", @elist)  if (@elist);
-
 
331
        Warning ("Duplicate aliases for:", @edup)  if (@edup);
-
 
332
    }
-
 
333
    else
-
 
334
    {
299
    ReportError ("Cannot extract file metadata from:", @elist)  if (@elist);
335
        ReportError ("Cannot extract file metadata from:", @elist)  if (@elist);
300
    ReportError ("Duplicate aliases for:", @edup)  if (@edup);
336
        ReportError ("Duplicate aliases for:", @edup)  if (@edup);
-
 
337
    }
301
    ErrorDoExit();
338
    ErrorDoExit();
302
}
339
}
303
 
340
 
304
#-------------------------------------------------------------------------------
341
#-------------------------------------------------------------------------------
305
# Function        : CopyInNew 
342
# Function        : CopyInNew 
Line 1003... Line 1040...
1003
 
1040
 
1004
    -showfiles              - Display current kept file set and exit
1041
    -showfiles              - Display current kept file set and exit
1005
    -addfiles=xxx[,yyy]     - Add a new file to the kept file set
1042
    -addfiles=xxx[,yyy]     - Add a new file to the kept file set
1006
    -delfiles=xxx[,yyy]     - Delete a file from the kept file set
1043
    -delfiles=xxx[,yyy]     - Delete a file from the kept file set
1007
 
1044
 
-
 
1045
    -ignoreManifest         - Ignore manifest generation errrors
1008
    -test                   - Just log actions without copying files.
1046
    -test                   - Just log actions without copying files.
1009
    -verbose                - Enable verbose output
1047
    -verbose                - Enable verbose output
1010
 
1048
 
1011
=head1 OPTIONS
1049
=head1 OPTIONS
1012
 
1050