IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 30676


Ignore:
Timestamp:
Feb 17, 2011, 3:20:07 PM (15 years ago)
Author:
eugene
Message:

merge changes from the trunk

Location:
branches/eam_branches/ipp-20110213
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20110213/PS-IPP-Config/lib/PS/IPP/Config.pm

    r30316 r30676  
    11481148    if ($neb->storage_object_exists($output)) {
    11491149        if ($delete_existing) {
    1150             # avoid dead instances by moving the file before deleting it.
    1151             # append current time to form new name
    1152             my $todelete;
    1153             eval {
    1154                 # parse the key so that we can compute the new name
    1155                 require Nebulous::Key;
    1156             };
    1157             if ($@) {
    1158                 carp "Can't find Nebulous::Key";
    1159                 $$r_error = $PS_EXIT_CONFIG_ERROR;
    1160                 return undef;
    1161             }
    1162             eval {
    1163                 # parse the key so that we can compute the new name
    1164                 my $neb_key = Nebulous::Key::parse_neb_key($output);
    1165                 die "parse_neb_key failed" if !$neb_key;
    1166                 my $path = $neb_key->path;
    1167                 die "neb_key has no path" if !$path;
    1168                 my $ticks = time();
    1169                 $todelete = "ipp_trash/$path.$ticks";
    1170                 $neb->move($output, $todelete);
    1171             };
    1172             if ($@) {
    1173                 carp "nebulous move failed for $output";
     1150            $$r_error = $self->_kill_nebulous_file($output);
     1151            if ($$r_error) {
    11741152                $output = undef;
    1175                 $$r_error = $PS_EXIT_SYS_ERROR;
    1176             }
    1177             if ($todelete) {
    1178                 eval {
    1179                     $neb->delete($todelete);
    1180                 };
    1181                 if ($@) {
    1182                     carp "nebulous delete for $todelete failed. Ignoring.\n";
    1183                     $$r_error = $PS_EXIT_SYS_ERROR;
    1184                 }
    11851153            }
    11861154        } else {
    11871155            # Make sure that there is only 1 instance.
    1188 
    11891156            eval {
    11901157                $neb->there_can_be_only_one($output);
     
    11981165    }
    11991166    return $output;
     1167}
     1168
     1169# _kill_nebulous_file: reliably get a nebulous file out of way.
     1170# First move it to the trash then attempt to delete it. No failure if delete fails.
     1171# The file is in the trash.
     1172# Assumes that file is a nebulous file with a storage object that exists
     1173# Users should call kill_file()
     1174# Returns 0 on success otherwise and a PS_EXIT error code on failure
     1175sub _kill_nebulous_file {
     1176    my $self = shift;
     1177    my $filename = shift;
     1178    my $neb = $self->nebulous;
     1179
     1180    # avoid dead instances by moving the file before deleting it.
     1181    # append current time to form new name
     1182    my $todelete;
     1183    eval {
     1184        # parse the key so that we can compute the new name
     1185        require Nebulous::Key;
     1186    };
     1187    if ($@) {
     1188        carp "Can't find Nebulous::Key";
     1189        return $PS_EXIT_CONFIG_ERROR;
     1190    }
     1191    eval {
     1192        # parse the key so that we can compute the new name
     1193        my $neb_key = Nebulous::Key::parse_neb_key($filename);
     1194        die "parse_neb_key failed" if !$neb_key;
     1195        my $path = $neb_key->path;
     1196        die "neb_key has no path" if !$path;
     1197        my $ticks = time();
     1198        $todelete = "ipp_trash/$path.$ticks";
     1199        $neb->move($filename, $todelete);
     1200    };
     1201    if ($@) {
     1202        carp "nebulous move failed for $filename";
     1203        return $PS_EXIT_SYS_ERROR;
     1204    }
     1205    if ($todelete) {
     1206        eval {
     1207            $neb->delete($todelete);
     1208        };
     1209        if ($@) {
     1210            carp "nebulous delete for $todelete failed. Ignoring.\n";
     1211            return $PS_EXIT_SYS_ERROR;
     1212        }
     1213    }
     1214    return 0;
     1215}
     1216
     1217# user level interface to kill_file reliably get a file out of way.
     1218#
     1219# If a nebulous file, move it to the trash then attempt to delete it.
     1220# if non nebulous file just delete it.
     1221# Returns 0 on success otherwise and a PS_EXIT error code on failure
     1222
     1223sub kill_file {
     1224    my $self = shift;
     1225    my $filename = shift;
     1226    my $neb = $self->nebulous;
     1227
     1228    my $scheme = file_scheme($filename);
     1229    if (!$scheme or ($scheme ne 'neb')) {
     1230        if ($self->file_exists($filename)) {
     1231            if (!$self->file_delete($filename)) {
     1232                carp "failed to delete $filename";
     1233                return $PS_EXIT_SYS_ERROR;
     1234            }
     1235        }
     1236    } elsif ($neb->storage_object_exists($filename)) {
     1237        $self->_kill_nebulous_file($filename);
     1238    }
     1239    return 0;
    12001240}
    12011241
  • branches/eam_branches/ipp-20110213/ippScripts/scripts/dist_bundle.pl

    r30489 r30676  
    287287        # we can use the chip mask because disttool demands that magic have been run
    288288        # and so the camera mask and the chip mask are the same
    289         $mask = $ipprc->filename("PPIMAGE.CHIP.MASK", $chip_path_base, $component);
     289        #$mask = $ipprc->filename("PPIMAGE.CHIP.MASK", $chip_path_base, $component);
     290        # XXX: hack the pending query passes in the camera path base
     291        $mask = $ipprc->filename("PSASTRO.OUTPUT.MASK", $chip_path_base, $component);
    290292        my $mask_resolved = $ipprc->file_resolve($mask);
    291293        my $fh = open_with_retries($mask_resolved);
  • branches/eam_branches/ipp-20110213/ippScripts/scripts/ipp_apply_burntool_single.pl

  • branches/eam_branches/ipp-20110213/ippScripts/scripts/ipp_cleanup.pl

    r30546 r30676  
    19001900{
    19011901    my $files = shift; # reference to a list of files to unlink
    1902 #     my $test_verbose = 1;
    1903 
    1904 #     if ($test_verbose == 1) {
    1905 #       open(TMPLOG,">>/tmp/czw.cleanup.log");
    1906 #       flock(TMPLOG,2);
    1907 #     }
    1908 
    1909     # this script is, of course, very dangerous.
     1902
    19101903    foreach my $file (@$files) {
    19111904        print STDERR "unlinking $stage $stage_id $file";
    1912         unless ($ipprc->file_exists($file)) {
    1913             print STDERR "\t File not found\n";
    1914         }
    1915         else {
    1916             print STDERR "\n";
    1917         }
    1918 
    1919 #       if ($test_verbose == 1) {
    1920 #           print TMPLOG "$stage $stage_id $file";
    1921 
    1922 #           else {
    1923 #               print TMPLOG "\n";
    1924 #           }
    1925 #       }
    1926 
    1927         $ipprc->file_delete($file);
    1928     }
    1929 
    1930 #     if ($test_verbose == 1) {
    1931 #       flock(TMPLOG,8);
    1932 #       close(TMPLOG);
    1933 #     }
     1905
     1906        my $error_code = $ipprc->kill_file($file);
     1907
     1908        &my_die("failed to kill $file", $stage, $stage_id, $PS_EXIT_CONFIG_ERROR) if $error_code;
     1909    }
    19341910
    19351911    return 1;
  • branches/eam_branches/ipp-20110213/ippScripts/scripts/magic_destreak_cleanup.pl

    r30520 r30676  
    4444           'magic_ds_id=s'  => \$magic_ds_id,# Magic destreak run identifier
    4545           'camera=s'       => \$camera,     # camera for evaluating file rules
    46            'stage=s'        => \$stage,     # camera for evaluating file rules
     46           'stage=s'        => \$stage,      # ipp stage for this magicDSRun
    4747           'save-temps'     => \$save_temps, # Save temporary files?
    4848           'dbname=s'       => \$dbname,     # Database name
     
    160160        my $backup_path_base = $comp->{backup_path_base};
    161161        my ($bimage, $bmask, $bch_mask, $bweight, $bsources, $bastrom);
    162         my ($rimage, $rmask, $rch_mask, $rweight, $rsources, $rastrom);
     162#        my ($rimage, $rmask, $rch_mask, $rweight, $rsources, $rastrom);
    163163
    164164        if ($stage eq "chip") {
     
    219219        }
    220220
    221         delete_files($bimage, $bmask, $bweight, $bsources, $bastrom, $bch_mask, $rch_mask);
     221        delete_files($bimage, $bmask, $bweight, $bsources, $bastrom, $bch_mask);
    222222
    223223        if ($stage eq "diff" and $warp_warp) {
     
    252252    foreach my $file (@_) {
    253253        if ($file) {
    254             if ($ipprc->file_exists($file)) {
    255                 if (!$no_update) {
    256                     print STDERR "deleting $file\n" if $verbose;
    257                     $ipprc->file_delete($file, 1) or my_die("Failed to delete $file", $magic_ds_id, $PS_EXIT_UNKNOWN_ERROR);
    258                     } else {
    259                     print STDERR "skipping delete $file\n";
    260                 }
    261             } else {
    262                 print STDERR "$file not found\n" if $verbose;
    263             }
     254            my $error_code = $ipprc->kill_file($file);
     255            my_die("Failed to delete $file", $magic_ds_id, $error_code) if $error_code;
    264256        }
    265257    }
  • branches/eam_branches/ipp-20110213/ippScripts/scripts/magic_destreak_revert.pl

    r30260 r30676  
    191191    # Note that when destreaking as part of an update $magicked is non-zero.
    192192    # In this case we do not touch the camera stage mask so there is no need to revert it
    193     if (!$magicked and $dynamicMasks) {
     193    if ($dynamicMasks and (!$magicked or ($run_state eq 'goto_restored'))) {
    194194        $mask = $ipprc->filename("PSASTRO.OUTPUT.MASK", $cam_path_base, $class_id);
    195195        $ch_mask = $ipprc->filename("PPIMAGE.CHIP.MASK", $path_base, $class_id);
     
    210210    $bweight = $ipprc->filename("PPIMAGE.CHIP.VARIANCE", $backup_path_base, $class_id);
    211211
    212     $rimage  = $ipprc->filename("PPIMAGE.CHIP", $recovery_path_base, $class_id);
    213     # This is somewhat kludgey but it works whether the mask is camera mask or chip mask
    214     $rmask   = dirname($recovery_path_base) . "/REC_" . basename($mask);
    215     $rch_mask= $ipprc->filename("PPIMAGE.CHIP.MASK", $recovery_path_base, $class_id);
    216     $rweight = $ipprc->filename("PPIMAGE.CHIP.VARIANCE", $recovery_path_base, $class_id);
     212    if ($recovery_path_base) {
     213        $rimage  = $ipprc->filename("PPIMAGE.CHIP", $recovery_path_base, $class_id);
     214        # This is somewhat kludgey but it works whether the mask is camera mask or chip mask
     215        $rmask   = dirname($recovery_path_base) . "/REC_" . basename($mask);
     216        $rch_mask= $ipprc->filename("PPIMAGE.CHIP.MASK", $recovery_path_base, $class_id);
     217        $rweight = $ipprc->filename("PPIMAGE.CHIP.VARIANCE", $recovery_path_base, $class_id);
     218    }
    217219} elsif ($stage eq "camera") {
    218220    $astrom =  $ipprc->filename("PSASTRO.OUTPUT", $path_base);
     
    227229    $bweight = $ipprc->filename("PSWARP.OUTPUT.VARIANCE", $backup_path_base);
    228230    $bsources = $ipprc->filename("PSWARP.OUTPUT.SOURCES", $backup_path_base);
    229     $rimage  = $ipprc->filename("PSWARP.OUTPUT", $recovery_path_base);
    230     $rmask   = $ipprc->filename("PSWARP.OUTPUT.MASK", $recovery_path_base);
    231     $rweight = $ipprc->filename("PSWARP.OUTPUT.VARIANCE", $recovery_path_base);
     231    if ($recovery_path_base) {
     232        $rimage  = $ipprc->filename("PSWARP.OUTPUT", $recovery_path_base);
     233        $rmask   = $ipprc->filename("PSWARP.OUTPUT.MASK", $recovery_path_base);
     234        $rweight = $ipprc->filename("PSWARP.OUTPUT.VARIANCE", $recovery_path_base);
     235    }
    232236} elsif ($stage eq "diff") {
    233237    my $name = "PPSUB.OUTPUT";
  • branches/eam_branches/ipp-20110213/ippScripts/scripts/receive_file.pl

    r29973 r30676  
    4141
    4242# Parse the command-line arguments
    43 my ( $file_id, $source, $product, $fileset, $fileset_id, $file, $component, $bytes, $md5sum, $workdir, $dirinfo_uri, $dbname, $verbose, $no_update, $save_temps );
     43my ( $file_id, $source, $product, $fileset, $fileset_id, $file, $component, $bytes, $md5sum, $workdir, $dirinfo_uri, $no_extract, $dbname, $verbose, $no_update, $save_temps );
    4444
    4545GetOptions(
     
    5454           'md5sum=s'          => \$md5sum, # md5sum for file from data store
    5555           'workdir=s'         => \$workdir, # Working directory for output
     56           'no-extract'        => \$no_extract, # Do not extract the tarfiles
    5657           'dirinfo=s'    => \$dirinfo_uri, # file containing the destination directories for this component
    5758           'dbname=s'          => \$dbname,    # Database name
     
    8586my $mdcParser = PS::IPP::Metadata::Config->new;
    8687
    87 
     88# select a directory for the dirinfo and dbinfo files
     89# XXX: perhaps this directory should be set by the script and passed in
     90# rather than computed here.
     91
     92my ($day, $month, $year) = (localtime)[3,4,5];
     93my $datestr = sprintf "%04d%02d%02d", $year+1900, $month + 1, $day;
     94my $dir_for_info_files = caturi($workdir, $datestr, $fileset);
     95
     96
     97my $is_tarfile = 0;
     98if ($file =~ m|.*\.tgz$|) {        # XXX: perhaps get this off of file type ?
     99    $is_tarfile = 1;
     100}
     101
     102my $filename;
     103if ($is_tarfile and $no_extract) {
     104    $filename = "$dir_for_info_files/$file";
     105} else {
     106    $filename = "$tempdir/$file";
     107}
    88108
    89109# Retrieve file
    90 my $filename = "$tempdir/$file";  # Target filename
    91110{
    92111    my $uri = "$source/$product/$fileset/$file"; # URI for datastore file
     
    107126my ($destdir, $components, $dirinfo_lines) = read_dirinfo_file($dirinfo_file_to_read, $file_id);
    108127
    109 # select a directory for the dirinfo and dbinfo files
    110 # XXX: perhaps this directory should be set by the script and passed in
    111 # rather than computed here.
    112 
    113 my ($day, $month, $year) = (localtime)[3,4,5];
    114 my $datestr = sprintf "%04d%02d%02d", $year+1900, $month + 1, $day;
    115 my $dir_for_info_files = caturi($workdir, $datestr, $fileset);
    116128
    117129# Deal with file
     
    279291
    280292
    281 } elsif ($file =~ m|.*\.tgz$|) {        # XXX: perhaps get this off of file type ?
     293} elsif ($is_tarfile and !$no_extract) {
    282294    # Get contents of tarball
    283295    my @files = ();
     
    339351        }
    340352    }
     353} elsif ($is_tarfile and $no_extract) {
     354    print "skipping extraction of tarfile $filename\n";
    341355} else {
    342356    &my_die( "Unrecognised file: $file\n", $file_id, $PS_EXIT_UNKNOWN_ERROR);
  • branches/eam_branches/ipp-20110213/ippScripts/scripts/register_imfile.pl

    r30283 r30676  
    199199    $command .= " -data_state full";
    200200}
     201elsif (is_ccim($tmp_exp_name,$exp_type)) {
     202    printf STDERR "This is a camera commanded detrend exposure that should not cause a burn.\n";
     203    $command .= " -data_state full";
     204}   
    201205else {
    202206    printf STDERR "Need to check burntool.\n";
     
    380384}
    381385
     386sub is_ccim
     387{
     388    my $exp_name = shift;
     389    my $exp_type = shift;
     390 
     391    # needs to match regtool.c checks for "is_ccim".
     392    if ($exp_name =~ /c/) {
     393        if (($exp_type eq 'DOMEFLAT')||
     394            ($exp_type eq 'DARK')||
     395            ($exp_type eq 'BIAS')) {
     396            return(1);
     397        }
     398    }
     399    return(0);
     400}
     401
    382402sub is_daytime
    383403{
  • branches/eam_branches/ipp-20110213/ippScripts/scripts/stack_skycell.pl

    r30598 r30676  
    172172my $photometry = metadataLookupBool($recipe, 'PHOTOMETRY'); # perform photometry?
    173173my $output_nocomp = metadataLookupBool($recipe, 'OUTPUT.NOCOMP'); # change filerules to produced uncompressed output images
    174 
     174my $output_logflux = metadataLookupBool($recipe, 'OUTPUT.LOGFLUX'); # change filerules to produce logflux compressed output images.
     175
     176if ($output_nocomp and $output_logflux) {
     177    &my_die("Unable to not compress and logflux compress simultaneously. Check config.",$stack_id, $PS_EXIT_CONFIG_ERROR);
     178}
    175179
    176180# Generate MDC file with the inputs
     
    252256        $command .= " -F PPSTACK.UNCONV.EXPWT PPSTACK.UNCONV.EXPWT.NOCOMP";
    253257    }
     258    if ($output_logflux) {
     259        $command .= " -R PPSTACK.OUTPUT FITS.TYPE COMP_STACK "; # Just this one output component?
     260        $command .= " -R PPSTACK.OUTPUT.VARIANCE FITS.TYPE COMP_STACK ";
     261        $command .= " -R PPSTACK.OUTPUT.EXPWT FITS.TYPE COMP_STACK ";
     262        $command .= " -R PPSTACK.UNCONV FITS.TYPE COMP_STACK ";
     263        $command .= " -R PPSTACK.UNCONV.VARIANCE FITS.TYPE COMP_STACK ";
     264        $command .= " -R PPSTACK.UNCONV.EXPWT FITS.TYPE COMP_STACK ";
     265    }
    254266    $command .= " -threads $threads" if defined $threads;
    255267    $command .= " -debug-stack" if defined $debug;
  • branches/eam_branches/ipp-20110213/ippTasks/destreak.pro

    r29883 r30676  
    395395    book getword magicDSToRevert $pageName component -var COMPONENT
    396396    book getword magicDSToRevert $pageName path_base -var PATH_BASE
     397    book getword magicDSToRevert $pageName recovery_path_base -var RECOVERY_PATH_BASE
    397398    book getword magicDSToRevert $pageName cam_path_base -var CAM_PATH_BASE
    398399    book getword magicDSToRevert $pageName cam_reduction -var CAM_REDUCTION
     
    416417    end
    417418
    418     $run = magic_destreak_revert.pl --magic_ds_id $MAGIC_DS_ID --camera $CAMERA --stage $STAGE --stage_id $STAGE_ID --component $COMPONENT --path_base $PATH_BASE --cam_path_base $CAM_PATH_BASE --cam_reduction $CAM_REDUCTION --outroot $OUTROOT --logfile $logfile --replace $REPLACE --bothways $BOTHWAYS --magicked $MAGICKED --run-state $RUN_STATE
     419    $run = magic_destreak_revert.pl --magic_ds_id $MAGIC_DS_ID --camera $CAMERA --stage $STAGE --stage_id $STAGE_ID --component $COMPONENT --path_base $PATH_BASE --cam_path_base $CAM_PATH_BASE --cam_reduction $CAM_REDUCTION --outroot $OUTROOT --logfile $logfile --replace $REPLACE --bothways $BOTHWAYS --magicked $MAGICKED --run-state $RUN_STATE --recovery_path_base $RECOVERY_PATH_BASE
    419420
    420421    add_standard_args run
  • branches/eam_branches/ipp-20110213/ippTasks/diskbalance.pro

    r30495 r30676  
    183183        break
    184184    end
    185 #    periods -exec 3
     185    # Reset the speed if we're doing something
     186    periods -exec 0.5
    186187
    187188    # look for new objects in balancePending
  • branches/eam_branches/ipp-20110213/ippTasks/dist.pro

    r30489 r30676  
    178178  host         local
    179179
    180   periods      -poll 20
    181   periods      -exec $LOADEXEC
     180  periods      -exec 20
     181  periods      -poll $LOADPOLL
    182182  periods      -timeout 300
    183183  npending     1
  • branches/eam_branches/ipp-20110213/ippTasks/receive.pro

    r24749 r30676  
    105105$receive_Advance_DB = 0
    106106
     107# set this to skip extraction of tarfiles into their destination directories
     108$NO_EXTRACT = ""
     109macro set.no.extract
     110    $NO_EXTRACT = "--no-extract"
     111end
     112macro clear.no.extract
     113    $NO_EXTRACT = ""
     114end
     115macro show.no.extract
     116    echo $NO_EXTRACT
     117end
     118
    107119task           receive.source.load
    108120  host         local
     
    416428    host anyhost
    417429
    418     $run = receive_file.pl --file_id $FILE_ID --source $SOURCE --product $PRODUCT --fileset $FILESET --fileset_id $FILESET_ID --file $FILE --component $COMPONENT --bytes $BYTES --md5 $MD5SUM --workdir $WORKDIR --dirinfo $DIRINFO
     430    $run = receive_file.pl --file_id $FILE_ID --source $SOURCE --product $PRODUCT --fileset $FILESET --fileset_id $FILESET_ID --file $FILE --component $COMPONENT --bytes $BYTES --md5 $MD5SUM --workdir $WORKDIR --dirinfo $DIRINFO $NO_EXTRACT
    419431    add_standard_args run
    420432
  • branches/eam_branches/ipp-20110213/pstamp/scripts/pstamp_checkdependent.pl

    r30588 r30676  
    193193
    194194    if (!$job_fault and ($stage eq 'chip')) {
    195         # should only get here with data_state 'full' and perhaps destreaking not done
    196         my_die ("Unexpected state for ${stage}Run $stage_id $state", $PS_EXIT_PROG_ERROR)
    197             if $it->{data_state} ne 'full';
    198 
    199         # chip processing is done, start destreaking.
    200         my @chips;
    201         push @chips, $it->{class_id};
    202         $job_fault = check_states_magicDSRun($stage, $stage_id, \@chips, $rlabel, $need_magic, $it->{raw_magicked}, $it->{magic_ds_id}, $it->{dsRun_state});
     195        # what about "error_cleaned" ?
     196        if (! ($it->{data_state} =~ /cleaned/) ) {
     197            # should only get here with data_state 'full' and perhaps destreaking not done
     198            my_die ("Unexpected state for ${stage}Run $stage_id $state", $PS_EXIT_PROG_ERROR)
     199                if $it->{data_state} ne 'full';
     200
     201            # chip processing is done, start destreaking.
     202            my @chips;
     203            push @chips, $it->{class_id};
     204            $job_fault = check_states_magicDSRun($stage, $stage_id, \@chips, $rlabel, $need_magic, $it->{raw_magicked}, $it->{magic_ds_id}, $it->{dsRun_state});
     205        }
    203206    }
    204207
     
    245248            # caller will fault the jobs
    246249            return $error_code;
     250        } elsif ($chip->{dsRun_state} eq 'failed_revert') {
     251            # XXX: revert failures are rarely fixed. give up but say it's just not available not GONE
     252            print "magicDSRun.state = $dsRun_state for chipRun $stage_id is in state failed_revert cannot update\n";
     253            return $PSTAMP_NOT_AVAILABLE;
    247254        } elsif (($chip->{data_state} ne 'update') and ($chip->{data_state} ne 'full')) {
    248255
  • branches/eam_branches/ipp-20110213/pstamp/scripts/pstamp_finish.pl

    r29330 r30676  
    228228                close JRL;
    229229            } else {
     230                my_die("No reglist for successful job: $job_id", $req_id, $PS_EXIT_PROG_ERROR)
     231                    if $fault eq $PSTAMP_SUCCESS;
    230232                print STDERR "no reglist file for job $job_id\n" if $verbose;
    231233                print $tdf "$rownum|$fault|$error_string|0|$job_id|";
  • branches/eam_branches/ipp-20110213/pstamp/scripts/pstamp_get_image_job.pl

    r29561 r30676  
    8787}
    8888
    89 my $outdir = dirname($output_base);
    90 my $prefix = basename($output_base) . "_";
    91 my $results_file = $output_base . ".bundle_results";
    9289
    9390# Look for programs we need
     
    9996}
    10097
     98my $outdir = dirname($output_base);
     99my $basename = basename($path_base);
     100my $outroot = $output_base ."_" . $basename;
     101my $results_file = $output_base . ".bundle_results";
     102
    101103{
    102104    my $command = "$dist_bundle --camera $camera --stage $stage --stage_id $stage_id";
    103     $command .= " --component $component";
    104     $command .= " --path_base $path_base --outdir $outdir --results_file $results_file";
    105     $command .= " --prefix $prefix";
     105    $command .= " --results_file $results_file";
     106    $command .= " --component $component --path_base $path_base --outroot $outroot";
     107#    XXX: we need to do some work if we want to support muggle bundles
     108#    $command .= " --no_magic if $no_magic";
    106109    $command .= " --magicked" if $magicked;
    107     # DANGER DANGER do not commit next line
    108 #    $command .= " --no_magic";
    109     # DANGER DANGER do not commit last line
    110110    $command .= " --dbname $dbname" if $dbname;
    111111    $command .= " --verbose" if $verbose;
Note: See TracChangeset for help on using the changeset viewer.