Index: trunk/ippScripts/scripts/dist_bundle.pl
===================================================================
--- trunk/ippScripts/scripts/dist_bundle.pl	(revision 30653)
+++ trunk/ippScripts/scripts/dist_bundle.pl	(revision 30922)
@@ -70,5 +70,5 @@
 
 # Parse the command-line arguments
-my ($camera, $stage, $stage_id, $component, $path_base, $chip_path_base, $alt_path_base, $clean);
+my ($camera, $stage, $stage_id, $component, $path_base, $chip_path_base, $alt_path_base, $clean, $exp_type);
 my ($outroot, $run_state, $data_state, $magicked, $no_magic, $poor_quality, $results_file, $prefix);
 my ($dbname, $save_temps, $verbose, $no_update, $logfile);
@@ -89,4 +89,5 @@
            'alt_path_base=s'=> \$alt_path_base,  # path to alternate inputs
            'outroot=s'      => \$outroot,    # outroot
+           'exp_type=s'     => \$exp_type,   # exp_type (only used for raw stage
            'prefix=s'       => \$prefix,     # "prefix" to apply to filenames
            'clean'          => \$clean,      # create clean distribution
@@ -99,5 +100,5 @@
 
 pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV;
-pod2usage( -msg => "Required options: --camera --stage --stage_id --component --path_base --outroot",
+pod2usage( -msg => "Required options: --camera --stage --stage_id --component --exp_type --path_base --outroot",
            -exitval => 3) unless
     defined $camera and
@@ -105,4 +106,5 @@
     defined $stage_id and
     defined $component and
+    defined $exp_type and
     defined $path_base and
     defined $outroot;
@@ -110,6 +112,9 @@
 $ipprc->redirect_output($logfile) if $logfile;
 
-if (($stage eq 'raw') and !$clean and !defined $chip_path_base) {
-    pod2usage( -msg => "Required options: --chip_path_base for raw stage", -exitval => 3);
+if ($stage eq 'raw' and !$clean and !$no_magic) {
+    # need to be able to find chip mask file
+    if ($exp_type eq 'OBJECT' and !defined $chip_path_base) {
+        pod2usage( -msg => "Required options: --chip_path_base for raw stage", -exitval => 3);
+    }
 }
 
@@ -123,5 +128,5 @@
 my $file_list = get_file_list($stage, $component, $path_base, $clean);
 
-if (($stage ne 'raw') and ($stage ne 'fake')) {
+if (($stage ne 'raw') and ($stage ne 'fake') and !$poor_quality) {
     # If the file list is empty it is an error because we should at least get a config dump file
     # except for fake stage which doesn't do anything yet
@@ -493,8 +498,10 @@
             push @file_list, \%image;
 
-            my %burntool_table;
-            $burntool_table{file_rule} = "BURNTOOL.TABLE";
-            $burntool_table{name} = "$path_base.burn.tbl";
-            push @file_list, \%burntool_table;
+            if ($exp_type eq 'OBJECT' and $camera eq 'GPC1') {
+                my %burntool_table;
+                $burntool_table{file_rule} = "BURNTOOL.TABLE";
+                $burntool_table{name} = "$path_base.burn.tbl";
+                push @file_list, \%burntool_table;
+            }
         }
         return \@file_list;
@@ -541,4 +548,8 @@
     my $resolved = $ipprc->file_resolve($config_file);
 
+    if (!$resolved and $poor_quality) {
+        print STDERR "non config file found but continuing since component has poor quality\n";
+        return undef
+    }
     &my_die("failed to resolve name of config dump file: $config_file_rule", $component,
                     $PS_EXIT_CONFIG_ERROR) if (!$resolved);
