Creation of workflow

Hi All,
i am new to this tool
can u please provide the link how to create work flows in oracle warehouse builder
Reg,
jell

You cannot create workflows using Oracle Warehouse Builder - you need Oracle Workflow Builder.
Pl use the search feature to find previous such discussions
http://forums.oracle.com/forums/search.jspa?threadID=&q=workflow+AND+builder&objID=c3&dateRange=all&userID=&numResults=15
HTH
Srini

Similar Messages

  • Customer Creation Approval Workflow

    Hi Folks - Does R12 has a Customer creation approval workflow ? If not ,Can we create a custom workflow and hook it to Customer screen?
    Any Ideas?
    Thanks.

    SanDan wrote:
    Hi Folks - Does R12 has a Customer creation approval workflow ? Please see (How Can We Have Customer Creation Approval Workflow [ID 883262.1]).
    If not ,Can we create a custom workflow and hook it to Customer screen?
    Any Ideas?Yes you can create a custom workflow.
    Thanks,
    Hussein

  • Order creation using workflow

    Hello,
    I'm trying to create sales order automatically using event triggered by user status changes. I need no user participation in this process. Can i use workflow for this purpose? As i see from documentation' examples user activity is needed...Do i understand correctly?
    Please advise.
    Thanks in advance!

    I still want to point out that you don't necessarily need a workflow. Maybe you could call the BAPI for creating the sales order at the same point when you change user status in this quotation (I don't know really what you mean by this, and how you do this). Maybe the workflow solution is the correct one, but it isn't always the case. You are in workflow forum and people are enthusiastic about using it for everything (including myself ;). But let's say you wanted to have a control about the sales order creation already in the user status change - for example if the sales order couldn't be created, you would like to issue an error message for the user doing the status change - in this kind of case the WF solution would not probably be the best one, because the workflow will execute the BAPI in the background.
    But I am sure you will find the best solution for your requirement.
    Regards,
    Karri

  • Creation of Workflow related to Invoice Posting

    Hello,
      I need to create a Workflow which gets triggered whenever an Invoice is posted and should be sending a mail to a specific agent two days before the clearing date, intimating him that the clearing date is nearing.
      I have used the Event IncomingInvoice.Posted to trigger the Workflow, but I am confused as to how to send a mail two days prior to Clearing date. I thought I would create a Condition in which I will be using Posting date and Clearing Date and check when Posting date will be two days less than Clearing Date and send a mail. But I dont understand how exactly to write that.
    Can someone Please give their suggestion as to what can be done or if it is even possible. Will be very grateful to you. Would REWARD heavily.
             Thanks in Advance.
    Edited by: Dagny on Jul 23, 2008 2:36 PM
    Edited by: Dagny on Jul 23, 2008 2:38 PM

    Hi,
    There is already some of tables which keeps record of the t-codes executed by the user
    by giving the login id you can fetch all the data, currently I don't remamber the table name but there is table, this will solve your problem.
    Regards
    Bikas

  • Vendor Master Creation  / Change workflow

    How can we have   facility of vendor master workflow.  After the vendor master gets created, unless there is an approval, no transactions to be posted.  How it can be achieved .  Pl. send some details
    thanks
    amit

    Pl. refer
    Re: Vendor Master Workflow
    It may help you.

  • Material Creation using Workflow

    This is my scenario .
    Initially when a new Material created it will have only the Basic 1 & 2 views alone .
    At the same time a workflow have to be triggered such that it have to send to a workitem to person who should define the MRP views only not other views of the material after it is finished another workitem to another person to define the account assignment views only not other views .Kindly help to proceed.
    - David Boon.

    Hi Martina,
    If you have done that then you are almost on the verge of completion!
    Follow this binding procedure between the task container and the method container and get the results.
    In the BO method, add an output parameter that would store the plant detail.
    Now create a data element in the method code of the same type as plant detail type.
    Then use swc_set_element to store the value of the plant detail in the output parameter.
    In the workflow task, create an output parameter of the same type as the BO method output parameter.
    In the binding between the task container and the method container fetch the value of plant details from method container to task container element.
    Now pass this parameter to the workflow container and use in the send mail step in the mail text.
    Make sure to save and generate the BO after doing all the changes.
    Regards,
    Saumya

  • Article Creation Using workflow

    Hi Experts,
    i am new to workflow.
    i have a requirement to Create a Article using workflow. i am using BO BUS1001006. and my requirement is to fill the data in mm01 with different agents.
    Now my main problem is now how can we give a user only BASIC DATA screen of MM01 and 2nd user only MRP data screen and 3rd so on.... i.e BASIC DATA input guy should not have access to MRP and vice versa..hope u understood.
    How to Achieve this requirement. can you please explain.

    You might want to talk to the MM and/or authorization guys - they should know this stuff. This is hardly a workflow issue (at least at this point). Do few searches here in SCN with key words "material master", "screen sequences", "authorization roles" or "restrict material master views" etc. and that should bring you to the right direction.
    Kind regards,
    Karri

  • Bussiness Object creation for workflow

    Hi Experts,
    I am new in workflow and want to make the workflow for addition of two numbers.
    Please can anyone guide me the steps which i have to follow.
    I want to make my own BO , But there  several options like supertype,object type ..etc.
    Please explain the BO and other steps to follow .
    Rgds,
    Premraj

    Hi,
    U want to add two no. using BO.
    For this u have to create 'z' Object .
    Inside that create 'z'Method.
    Now after that u can write ur functionality of adding two no. in that method.
    this u can use in ur WF.
    Or u can use delegation also.
    Take selfitem as a supertype for BO.
    Or there is one step-conatiner operation...
    u can directly use that for addition of two numbers.
    details:
    Each business object has the following properties:
    a.     Object Type ID u2013 It is used for internal identification of the business object.
    b.     Object Name u2013 It is used for external identification of the business object.
                    Using this property external system can interact with SAP system.
    c.     Super Type u2013 It is the parent object from which all the components of the BO are inherited.
    d.     Name u2013 It is a descriptive name of the BO.
    e.     Description u2013 It is a brief description of the business object type.
    f.     Application - The application component to which the BO belongs to.
    g.     Program - Program that will contain the ABAP code of the BO.
    hope it helps u!
    Regards,
    Mamta

  • EBP PO creation - Approval workflow is ambiguous

    Hi!
    We have ECS scenario up and running. I try to create PO from PR that has come from ERP system, but when I check PO the following message is appeared:
    "Approval workflow is ambiguous. Inform system administrator"
    Could you please help me to fix this issue?
    Thanks and Regards,
    Siarhei

    More than one WF is active which satisfies the same start condition. Please check if there are any WF's without start condition. This also contributes to this error.
    Regards, IA

  • Creation Approve Workflow

    Hi:
    I am making a approve workflow. I have a problem in the Approval Activity, I choose the Agent Rule, (I create de Rule) and the workflow is not appearing in the web page.
    I had another workflow that in the approval activity, in the agents I choose Expression -- &Agent_0001.Agents& and the workflow is appearing in the web page, Why do I have that problem?
    Thanks and Best Regards
    Jessica

    Hello,
    Yes approval preview is posssible only with adhoc agent because they can be instanciated independently from the workflow.
    Check note 391674, it explains how creating adhoc agent for customer workflow.
    Rgds,
    Pierre

  • New material creation with workflow approval

    the scenario is when the new material master(mm01) is being created, the request will sent to manager for approval. so the manager can either approve or reject it. if it were rejected, is it possiable to resubmit this material master for approve after the amendement? any information on this config will be appreciated!

    You can put your approval in a loop and loop till it is approved. In rejection branch put a dialog step for creator of material and give to person who is responsible to changeing and call MM02 or something from that step and yes also give an option here where creator of approver can choose to abondone the material totaly which will bring it out of loop and completes teh workflow, which will other wise complete only on approval.
    Warm Regards,
    Anuj Nagpal.

  • Dynamic creation for Workflow Transitions

    Hi,
    I have a custom wf to deprovision and move users.
    Depending on the entries in the list $userNames i want to create transitions for each user and do these activities parallel with an and-split
    How can i do that?
    Greetings,
    Rabb

    Hi,
    U want to add two no. using BO.
    For this u have to create 'z' Object .
    Inside that create 'z'Method.
    Now after that u can write ur functionality of adding two no. in that method.
    this u can use in ur WF.
    Or u can use delegation also.
    Take selfitem as a supertype for BO.
    Or there is one step-conatiner operation...
    u can directly use that for addition of two numbers.
    details:
    Each business object has the following properties:
    a.     Object Type ID u2013 It is used for internal identification of the business object.
    b.     Object Name u2013 It is used for external identification of the business object.
                    Using this property external system can interact with SAP system.
    c.     Super Type u2013 It is the parent object from which all the components of the BO are inherited.
    d.     Name u2013 It is a descriptive name of the BO.
    e.     Description u2013 It is a brief description of the business object type.
    f.     Application - The application component to which the BO belongs to.
    g.     Program - Program that will contain the ABAP code of the BO.
    hope it helps u!
    Regards,
    Mamta

  • Automatic Creation of PO by workflow once PR is released.

    Hi All,
    Can anybody explain the details steps for creation of workflow template if PR is released then automatic creation of PO needs to be created with reference to PR.?
    Thanks,
    Ravi

    You can take a look at standard Workflow WS20000075(PO). Regarding your requirement most probably you need to do some configuration. In SRM this is possible once a Shopping Cart is completed it can be converted to a PO.
    Thanks
    Arghadip

  • Reg: How to deactive seeded workflow process(HZ User Creation API worflow)

    Dear Friends,
    I do have a question for deactivate the seeded worflow process. Which means the current process i am not going to use anywhere. I needed to create the new process for Seeded worflow why because this is the worflow having some standard Procedure. Those procedure only will meet my requirement. In such case i wanted to create new processes in that going to call seeded procedure.
    Could you please help me out how to deacivate the seeded processes from Oracle Standard workflow ( Name of the workflow is HZ USER CREATION API Workflow) Now current they are created for Customer creation processes. I didn't find currently where they are calling. My requirement is need to Create the new process for User-Id creation.
    I hope everybody will understand my requirement.
    Thanks in advance.
    Thanks,
    Velu.
    Edited by: Krishna Vamshi on Jul 14, 2009 1:29 AM

    Hi,
    IIRC (and I haven't got a Workflow system handy to check), the Workflow is launched by a business event - if you disable the seeded business event, then that will stop the workflow launching.
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://www.workflowfaq.com/blog ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • Image creation failed?

    Trying to create a NetRestore image.
    Used SuperDuper to repair peremissions and create DMG of Client Zero HD
    Ran SIU. Log Follows. Seemed to be going OK but hung at this point, or was I too impatient to wait any longer? had been sitting there for 20+ minutes before I Quit SIU...
    Any pointers, please?
    Starting image creation.
    Workflow Started (2011-03-17 08:47:57 +0000)
    Mac OS X Server 10.6.6 (10J567), System Image Utility 10.6.5 (447)
    Starting action: Define Image Source (1.2)
    Finished running action: Define Image Source
    Starting action: Create Image (1.5.3)
    Starting image creation process...
    Create NetInstall Image
    Initiating NetInstall from Restore Media.
    progressPrefix="_progress"
    ++ progressPrefix=_progress
    scriptsDebugKey="DEBUG"
    ++ scriptsDebugKey=DEBUG
    imageIsUDIFKey="1"
    ++ imageIsUDIFKey=1
    mountPoint="/tmp/mnt.pde0nj"
    ++ mountPoint=/tmp/mnt.pde0nj
    ownershipInfoKey="505:20"
    ++ ownershipInfoKey=505:20
    mkextPathKey="/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mk ext"
    ++ mkextPathKey=/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mk ext
    sourceVol="/Volumes/Macintosh HD 1"
    ++ sourceVol='/Volumes/Macintosh HD 1'
    skipFileChecksumKey="0"
    ++ skipFileChecksumKey=0
    dmgTarget="NetInstall"
    ++ dmgTarget=NetInstall
    destPath="/image in here/NetRestore ofRolloutDMG"
    ++ destPath='/image in here/NetRestore ofRolloutDMG'
    asrSource="ASRInstall.pkg"
    ++ asrSource=ASRInstall.pkg
    blockCopyDeviceKey="0"
    ++ blockCopyDeviceKey=0
    . "$1/createCommon.sh"
    + . /tmp/niutemp.laZrfc41/createCommon.sh
    # createCommon.sh
    # Common functionality for the Image creation process.
    # sourced in by the various SIU scripts
    # Copyright 2007 Apple Inc. All rights reserved.
    # Using dscl, create a user account
    AddLocalUser()
    # $1 long name
    # $2 short name
    # $3 isAdminUser key
    # $4 password hash
    # $5 user picture path
    # $6 Language string
    local databasePath="/Local/Target/Users/${2}"
    # Find a free UID between 501 and 599
    for ((i=501; i<600; i++)); do
    output=`/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -search /Local/Target/Users UniqueID $i`
    # If there is already an account dscl returns it, so we're looking for an empty return value.
    if [ "$output" == "" ]; then
    break
    fi
    done
    # Create the user record
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -create $databasePath || exit 1
    # Add long name
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath RealName "${1}" || exit 1
    # Add PrimaryGroupID
    if [ "${3}" == 1 ]; then
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 80 || exit 1
    else
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 20 || exit 1
    fi
    # Add UniqueID
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath UniqueID ${i} || exit 1
    # Add Home Directory entry
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath dsAttrTypeNative:home /Users/${2} || exit 1
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath authentication_authority ";ShadowHash;" || exit 1
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath picture "${5}" || exit 1
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath passwd "*" || exit 1
    # Add shell
    /usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath UserShell "/bin/bash" || exit 1
    # lookup generated uid
    genUID=`/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -read /Local/Target/Users/${2} GeneratedUID` || exit 1
    genUID=${genUID:14:36}
    # make sure the shadow/hash directory exists
    if [ ! -e "${mountPoint}/var/db/shadow/hash" ] ; then
    /bin/mkdir -p "${mountPoint}/var/db/shadow/hash" || exit 1
    /bin/chmod -R 700 "${mountPoint}/var/db/shadow" || exit 1
    fi
    # to copy our password hash in there...
    echo "${4}" > "${mountPoint}/var/db/shadow/hash/$genUID"
    /bin/chmod 600 "${mountPoint}/var/db/shadow/hash/$genUID" || exit 1
    # Create Home directory
    if [ -e "/System/Library/User Template/${6}.lproj/" ]; then
    /usr/bin/ditto "/System/Library/User Template/${6}.lproj/" "${mountPoint}/Users/${2}" || exit 1
    else
    /usr/bin/ditto "/System/Library/User Template/English.lproj/" "${mountPoint}/Users/${2}" || exit 1
    fi
    /usr/sbin/chown -R $i:$i "${mountPoint}/Users/${2}" || exit 1
    # If they exist, apply any Append.bom changes
    ApplyAppendBom()
    local tempDir="$1"
    local srcVol="$2"
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    if [ -e "$tempDir/Append.bom" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Applying Append.bom additions from System Image Utility"
    fi
    /usr/bin/ditto $opt -bom "$tempDir/Append.bom" "$srcVol" "${mountPoint}" || exit 1
    fi
    if [ -e "$srcVol/Library/Application Support/Apple/System Image Utility/Append.bom" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Applying Append.bom additions from $srcVol"
    fi
    /usr/bin/ditto $opt -bom "$srcVol/Library/Application Support/Apple/System Image Utility/Append.bom" "$srcVol" "${mountPoint}" || exit 1
    fi
    # Copies a list of packages (full paths contained in the file at $1) from source to .../System/Installation/Packages/
    CopyPackagesFromFile()
    local theFile="$1"
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    while read FILE
    do
    if [ -e "${FILE}" ]; then
    local leafName=`basename "${FILE}"`
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Copying ${FILE}."
    fi
    /usr/bin/ditto $opt "${FILE}" "${mountPoint}/System/Installation/Packages/${leafName}" || exit 1
    fi
    done < "
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    while read FILE
    do
    if [ -e "${FILE}" ]; then
    local leafName=`basename "${FILE}"`
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Copying ${FILE}."
    fi
    read SUB_PATH
    /usr/bin/ditto $opt "${FILE}" "${mountPoint}/System/Installation/Packages/${SUB_PATH}${leafName}" || exit 1
    fi
    done < "${theFile}"
    # Create the dyld shared cache files
    CreateDyldCaches()
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Creating dyld shared cache files"
    # This spews too much for verbose mode... only enable for debug
    if [ "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-debug"
    fi
    fi
    /usr/bin/updatedyld_sharedcache -root "${mountPoint}" -universal_boot -force $opt
    # Validate or create the destination directory and mount point
    CreateOrValidateDestination()
    local destDir="$1"
    if [ ! -d "$destDir" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Creating working path at $destDir"
    fi
    /bin/mkdir -p "$destDir" || exit 1
    fi
    # Create mount point
    if [ ! -d "${mountPoint}" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Creating mountpoint for in $destDir"
    fi
    /bin/mkdir -p "${mountPoint}" || exit 1
    fi
    # If any exist, apply any user accounts
    CreateUserAccounts()
    local count="${#userFullName[*]}"
    if [ $count -gt 0 ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Adding $count user account(s) to the image"
    fi
    for ((index=0; index<$count; index++)); do
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Adding user ${userFullName[$index]}"
    fi
    #lay down user here
    AddLocalUser "${userFullName[$index]}" "${userUnixName[$index]}" "${userIsAdmin[$index]}" "${userPassHash[$index]}" "${userImagePath[$index]}" "${userLanguage[$index]}"
    done
    # "touch"
    /usr/bin/touch "${mountPoint}/private/var/db/.AppleSetupDone"
    /usr/bin/touch "${mountPoint}/Library/Receipts/.SetupRegComplete"
    fi
    # retry the hdiutil detach until we either time out or it succeeds
    retryhdiutildetach()
    local mount_point="${1}"
    local tries=0
    local forceAt=0
    local limit=24
    local opt=""
    forceAt=$(($limit - 1))
    while [ $tries -lt $limit ]; do
    tries=$(( tries + 1 ))
    /bin/sleep 5
    echo "Attempting to detach the disk image again..."
    /usr/bin/hdiutil detach "${mount_point}" $opt
    if [ $? -ne 0 ]; then
    # Dump a list of any still open files on the mountPoint
    if [ "${scriptsDebugKey}" == "DEBUG" ]; then
    /usr/sbin/lsof +fg "${mount_point}"
    fi
    if [ $tries -eq $forceAt ]; then
    echo "Failed to detach disk image at '${mount_point}' normally, adding -force."
    opt="-force"
    fi
    if [ $tries -eq $limit ]; then
    echo "Failed to detach disk image at '${mount_point}'."
    exit 1
    fi
    else
    tries=$limit
    fi
    done
    # Create the dyld shared cache files
    DetachAndRemoveMount()
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Detaching disk image"
    # Dump a list of any still open files on the mountPoint
    if [ "${scriptsDebugKey}" == "DEBUG" ]; then
    /usr/sbin/lsof +fg "${mountPoint}"
    fi
    fi
    # Finally detach the image and dispose the mountPoint directory
    /usr/bin/hdiutil detach "${mountPoint}" || retryhdiutildetach "${mountPoint}" || exit 1
    /bin/rmdir "${mountPoint}" || exit 1
    # If the pieces exist, enable remote access for the shell image
    EnableRemoteAccess()
    local srcVol="$1"
    local opt=""
    if [ -e "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Enabling shell image remote access support"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    # install some things (again which aren't part of BaseSystem) needed for remote ASR installs
    /usr/bin/ditto $opt "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" "${mountPoint}/usr/lib/pam/pam_serialnumber.so.2" || exit 1
    if [ -e "${srcVol}/usr/sbin/installer" ]; then
    /usr/bin/ditto $opt "${srcVol}/usr/sbin/installer" "${mountPoint}/usr/sbin/installer" || exit 1
    fi
    # copy the sshd config and add our keys to the end of it
    if [ -e "${srcVol}/etc/sshd_config" ]; then
    /bin/cat "${srcVol}/etc/sshd_config" - > "${mountPoint}/etc/sshd_config" << END
    HostKey /private/var/tmp/sshhostkey
    HostKey /private/var/tmp/sshhost_rsakey
    HostKey /private/var/tmp/sshhost_dsakey
    END
    fi
    fi
    # If it exists, install the sharing names and/or directory binding support to the install image
    HandleNetBootClientHelper()
    local tempDir="$1"
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    if [ -e "$tempDir/bindingNames.plist" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing Directory Service binding information"
    fi
    /usr/bin/ditto $opt "$tempDir/bindingNames.plist" "${mountPoint}/etc/bindingNames.plist" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/etc/bindingNames.plist"
    /bin/chmod 644 "${mountPoint}/etc/bindingNames.plist"
    fi
    if [ -e "$tempDir/sharingNames.plist" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing Sharing Names support"
    fi
    /usr/bin/ditto $opt "$tempDir/sharingNames.plist" "${mountPoint}/etc/sharingNames.plist" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/etc/sharingNames.plist"
    /bin/chmod 644 "${mountPoint}/etc/sharingNames.plist"
    fi
    if [ -e "$tempDir/NetBootClientHelper" ]; then
    /usr/bin/ditto $opt "$tempDir/NetBootClientHelper" "${mountPoint}/usr/sbin/NetBootClientHelper" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/usr/sbin/NetBootClientHelper"
    /bin/chmod 555 "${mountPoint}/usr/sbin/NetBootClientHelper"
    /usr/bin/ditto $opt "$tempDir/com.apple.NetBootClientHelper.plist" "${mountPoint}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist " || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist "
    /bin/chmod 644 "${mountPoint}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist "
    # finally, make sure it isn't disabled...
    /usr/libexec/PlistBuddy -c "Delete :com.apple.NetBootClientHelper" "${mountPoint}/var/db/launchd.db/com.apple.launchd/overrides.plist" > /dev/null 2>&1
    fi
    # Create an installer package in /System/Installation/Packages/ wrapping the supplied script
    InstallerPackageFromScript()
    local tempDir="$1"
    local scriptPath="$2"
    local scriptName=`basename "${scriptPath}"`
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Create installer for script $scriptName"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    # shouldn't exist on entry...
    if [ -e "${tempDir}/emptyDir" ]; then
    /bin/rm -rf "${tempDir}/emptyDir"
    fi
    # make some directories to work in
    /bin/mkdir $opt -p "${tempDir}/$scriptName.pkg/Contents/Resources"
    /bin/mkdir $opt "${tempDir}/emptyDir" || exit 1
    cd "${tempDir}/emptyDir"
    # Create Archive.pax.gz
    /bin/pax -w -x cpio -f "$tempDir/$scriptName.pkg/Contents/Archive.pax" .
    /usr/bin/gzip "$tempDir/$scriptName.pkg/Contents/Archive.pax"
    # Create the Archive.bom file
    /usr/bin/mkbom "$tempDir/emptyDir/" "$tempDir/$scriptName.pkg/Contents/Archive.bom"
    # Create the Info.plist
    /bin/cat > "$tempDir/$scriptName.pkg/Contents/Info.plist" << END
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>CFBundleIdentifier</key>
    <string>com.apple.server.SystemImageUtility.$scriptName</string>
    <key>CFBundleShortVersionString</key>
    <string>1</string>
    <key>IFMajorVersion</key>
    <integer>1</integer>
    <key>IFMinorVersion</key>
    <integer>0</integer>
    <key>IFPkgFlagDefaultLocation</key>
    <string>/tmp</string>
    <key>IFPkgFlagInstallFat</key>
    <false/>
    <key>IFPkgFlagIsRequired</key>
    <false/>
    <key>IFPkgFormatVersion</key>
    <real>0.10000000149011612</real>
    </dict>
    </plist>
    END
    echo "pkmkrpkg1" > "$tempDir/$scriptName.pkg/Contents/PkgInfo"
    echo "major: 1\nminor: 0" > "$tempDir/$scriptName.pkg/Contents/Resources/package_version"
    # Copy the script
    /bin/cp "$scriptPath" "$tempDir/$scriptName.pkg/Contents/Resources/postflight"
    # copy the package to the Packages directory
    /usr/bin/ditto $opt "$tempDir/$scriptName.pkg" "${mountPoint}/System/Installation/Packages/$scriptName.pkg" || exit 1
    # clean up
    /bin/rm -r "$tempDir/emptyDir"
    /bin/rm -r "$tempDir/$scriptName.pkg"
    # If it exists, install the PowerManagement.plist onto the install image
    InstallPowerManagementPlist()
    local tempDir="$1"
    local opt=""
    if [ -e "$tempDir/com.apple.PowerManagement.plist" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing PowerManagement plist to install image"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    /usr/bin/ditto $opt "$tempDir/com.apple.PowerManagement.plist" "${mountPoint}/Library/Preferences/SystemConfiguration/com.apple.PowerManagemen t.plist" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/Library/Preferences/SystemConfiguration/com.apple.PowerManagemen t.plist"
    /bin/chmod 644 "${mountPoint}/Library/Preferences/SystemConfiguration/com.apple.PowerManagemen t.plist"
    fi
    # If it exists, install the InstallerStatusNotifications.bundle and progress emitter onto the install image
    InstallProgressPieces()
    local tempDir="$1"
    local opt=""
    if [ -e "$tempDir/InstallerStatusNotifications.bundle" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing progress announcer to install image"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    /usr/bin/ditto $opt "$tempDir/InstallerStatusNotifications.bundle" "${mountPoint}/System/Library/CoreServices/InstallerStatusNotifications.bundle" || exit 1
    /usr/sbin/chown -R root:wheel "${mountPoint}/System/Library/CoreServices/InstallerStatusNotifications.bundle"
    /bin/chmod 755 "${mountPoint}/System/Library/CoreServices/InstallerStatusNotifications.bundle"
    fi
    if [ -e "$tempDir/com.apple.ProgressEmitter.plist" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing status emitter to image"
    fi
    /usr/bin/ditto $opt "$tempDir/progress_emitter" "${mountPoint}/usr/sbin/progress_emitter" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/usr/sbin/progress_emitter"
    /bin/chmod 555 "${mountPoint}/usr/sbin/progress_emitter"
    /usr/bin/ditto $opt "$tempDir/com.apple.ProgressEmitter.plist" "${mountPoint}/System/Library/LaunchDaemons/com.apple.ProgressEmitter.plist" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/System/Library/LaunchDaemons/com.apple.ProgressEmitter.plist"
    /bin/chmod 644 "${mountPoint}/System/Library/LaunchDaemons/com.apple.ProgressEmitter.plist"
    fi
    # Converts a list of scripts (full paths contained in the file at $1) into packages in .../System/Installation/Packages/
    InstallScriptsFromFile()
    local tempDir="$1"
    local theFile="$2"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Converting scripts into install packages"
    fi
    while read FILE
    do
    if [ -e "${FILE}" ]; then
    # make an installer package out of the script
    InstallerPackageFromScript "$tempDir" "${FILE}"
    fi
    done < "
    local destDir="$2"
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Performing post install cleanup"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
    opt="-v"
    fi
    fi
    # delete the DS indices to force reindexing...
    if [ -e "${mountPoint}/var/db/dslocal/indices/Default/index" ]; then
    /bin/rm $opt "${mountPoint}/var/db/dslocal/indices/Default/index"
    fi
    # detach the disk and remove the mount folder
    DetachAndRemoveMount || exit 1
    # copy the NBImageInfo.plist file
    /usr/bin/ditto $opt "$tempDir/NBImageInfo.plist" "$destDir/NBImageInfo.plist" || exit 1
    echo "Correcting permissions. ${ownershipInfoKey} $destDir"
    /usr/sbin/chown -R "${ownershipInfoKey}" "$destDir"
    # rename the folder to .nbi
    if [ ! -e "$destDir.nbi" ]; then
    /bin/mv $opt "$destDir" "$destDir.nbi" || exit 1
    else
    local parentDir=`dirname "${destDir}"`
    local targetName=`basename "${destDir}"`
    for ((i=2; i<1000; i++)); do
    if [ ! -e "${parentDir}/${targetName}_$i.nbi" ]; then
    /bin/mv $opt "$destDir" "${parentDir}/${targetName}_$i.nbi" || exit 1
    break
    fi
    done
    fi
    # Prepare the source by deleting stuff we don't want to copy if sourcing a volume
    PreCleanSource()
    local srcVol="$1"
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
    opt="-v"
    fi
    fi
    if [ -e "$srcVol/private/var/vm/swapfile*" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Removing swapfiles on $1"
    fi
    /bin/rm $opt "$srcVol/private/var/vm/swapfile*"
    fi
    if [ -d "$srcVol/private/tmp" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Cleaning out /private/tmp on $1"
    fi
    /bin/rm -r $opt "$srcVol/private/tmp/*"
    fi
    if [ -d "$srcVol/private/var/tmp" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Cleaning out /private/var/tmp on $1"
    fi
    /bin/rm -r $opt "$srcVol/private/var/tmp/*"
    fi
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Cleaning out devices and volumes on $1"
    fi
    if [ -d "$srcVol/Volumes" ]; then
    /bin/rm -r $opt "$srcVol/Volumes/*"
    fi
    if [ -d "$srcVol/dev" ]; then
    /bin/rm $opt "$srcVol/dev/*"
    fi
    if [ -d "$srcVol/private/var/run" ]; then
    /bin/rm -r $opt "$srcVol/private/var/run/*"
    fi
    # Copy kernel and build the kext cache on the boot image
    PrepareKernelAndKextCache()
    local destDir="$1"
    local opt=""
    local archx8664=`/usr/bin/file -b "${mountPoint}/mach_kernel" | /usr/bin/sed -ne 's/.(x86_64)):./\1/p'`
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Preparing the kernel and kext cache for the boot image"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    # Insure the kext cache on our source volume (the boot shell) is up to date
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Updating kext cache on source volume"
    fi
    /usr/sbin/kextcache -update-volume "${mountPoint}" || exit 1
    # Copy the i386 and, if it exists, the x86_64 architecture
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Preparing Intel architecture"
    fi
    # Prepare the kernel
    /bin/mkdir $opt "$destDir/i386" || exit 1
    /usr/bin/lipo -extract i386 "${mountPoint}/mach_kernel" -output "$destDir/i386/mach.macosx" || exit 1
    # Build kext cache
    /usr/sbin/kextcache -a i386 -s -l -n -z -mkext2 "$destDir/i386/mach.macosx.mkext" "${mountPoint}/System/Library/Extensions" || exit 1
    # If the x86_64 architecture exists, copy it
    if [ "${archx8664}" = "x86_64" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Preparing x86_64 architecture"
    fi
    # Prepare the kernel
    /bin/mkdir $opt "$destDir/i386/x86_64" || exit 1
    /usr/bin/lipo -extract x86_64 "${mountPoint}/mach_kernel" -output "$destDir/i386/x86_64/mach.macosx" || exit 1
    # Build kext cache
    /usr/sbin/kextcache -a x86_64 -s -l -n -z -mkext2 "$destDir/i386/x86_64/mach.macosx.mkext" "${mountPoint}/System/Library/Extensions" || exit 1
    fi
    # Create the i386 and x86_64 boot loaders on the boot image
    PrepareBootLoader()
    local srcVol="$1"
    local destDir="$2"
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Preparing boot loader"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    # Copy the i386 and, by default, the x86_64 architecture
    if [ -e "${mountPoint}/usr/standalone/i386/boot.efi" ]; then
    /usr/bin/ditto $opt "${mountPoint}/usr/standalone/i386/boot.efi" "$destDir/i386/booter" || exit 1
    else
    /usr/bin/ditto $opt "$srcVol/usr/standalone/i386/boot.efi" "$destDir/i386/booter" || exit 1
    fi
    # If it exists, install the partitioning application and data onto the install image
    ProcessAutoPartition()
    local tempDir="$1"
    local opt=""
    if [ -e "$tempDir/PartitionInfo.plist" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing Partitioning application and data to install image"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    /usr/bin/ditto $opt "$tempDir/PartitionInfo.plist" "${mountPoint}/System/Installation/PartitionInfo.plist" || exit 1
    /usr/bin/ditto $opt "$tempDir/AutoPartition.app" "${mountPoint}/System/Installation/AutoPartition.app" || exit 1
    # Tell the installer to run the Partitioning application
    /bin/echo "#!/bin/sh
    /System/Installation/AutoPartition.app/Contents/MacOS/AutoPartition" > "${mountPoint}/private/etc/rc.cdrom.postWS"
    # Due to the way rc.install sources the script, it needs to be executable
    /usr/sbin/chown root:wheel "${mountPoint}/private/etc/rc.cdrom.postWS"
    /bin/chmod 755 "${mountPoint}/private/etc/rc.cdrom.postWS"
    fi
    # If it exists, install the InstallPreferences.plist onto the install image
    ProcessInstallPreferences()
    local tempDir="$1"
    local opt=""
    if [ -e "$tempDir/InstallPreferences.plist" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing InstallPreferences.plist to install image"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    /usr/bin/ditto $opt "$tempDir/InstallPreferences.plist" "${mountPoint}/System/Installation/Packages/InstallPreferences.plist" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/System/Installation/Packages/InstallPreferences.plist"
    /bin/chmod 644 "${mountPoint}/System/Installation/Packages/InstallPreferences.plist"
    fi
    # If it exists, install the minstallconfig.xml onto the install image
    ProcessMinInstall()
    local tempDir="$1"
    local opt=""
    if [ -e "$tempDir/minstallconfig.xml" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing minstallconfig.xml to install image"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    /usr/bin/ditto $opt "$tempDir/minstallconfig.xml" "${mountPoint}/etc/minstallconfig.xml" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/etc/minstallconfig.xml"
    /bin/chmod 644 "${mountPoint}/etc/minstallconfig.xml"
    fi
    # untar the OSInstall.mpkg so it can be modified
    untarOSInstallMpkg()
    local tempDir="$1"
    local opt=""
    # we might have already done this, so check for it first
    if [ ! -d "${tempDir}/OSInstall_pkg" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "uncompressing OSInstall.mpkg"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    fi
    /bin/mkdir "${tempDir}/OSInstall_pkg"
    cd "${tempDir}/OSInstall_pkg"
    /usr/bin/xar $opt -xf "${mountPoint}/System/Installation/Packages/OSInstall.mpkg"
    # make Distribution writeable
    /bin/chmod 777 "${tempDir}/OSInstall_pkg"
    /bin/chmod 666 "${tempDir}/OSInstall_pkg/Distribution"
    fi
    handler ()
    echo "Terminated. Cleaning up. Unmounting $destPath"
    # detach the disk and remove the mount folder
    DetachAndRemoveMount
    # Remove the items we created
    /bin/rm -r "$destPath/i386"
    /bin/rm "$destPath/$dmgTarget.dmg"
    /bin/rm "$destPath/System.dmg"
    # Finally, remove the directory IF empty
    /bin/rmdir "$destPath"
    exit 1
    InstallNetBootClientHelper()
    local tempDir="$1"
    local destDir="${mountPoint}/System/Installation/Packages/SIUExtras"
    local opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    opt="-v"
    fi
    if [ -e "${tempDir}/bindingNames.plist" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing Directory Service binding information"
    fi
    /usr/bin/ditto $opt "${tempDir}/bindingNames.plist" "${destDir}/bindingNames.plist" || exit 1
    /usr/sbin/chown root:wheel "${destDir}/bindingNames.plist"
    /bin/chmod 644 "${destDir}/bindingNames.plist"
    fi
    if [ -e "${tempDir}/sharingNames.plist" ]; then
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
    echo "Installing Sharing Names support"
    fi
    /usr/bin/ditto $opt "${tempDir}/sharingNames.plist" "${destDir}/sharingNames.plist" || exit 1
    /usr/sbin/chown root:wheel "${destDir}/sharingNames.plist"
    /bin/chmod 644 "${destDir}/sharingNames.plist"
    fi
    # This is required, make sure it's here
    /usr/bin/ditto $opt "${tempDir}/NetBootClientHelper" "${destDir}/NetBootClientHelper" || exit 1
    /usr/sbin/chown root:wheel "${destDir}/NetBootClientHelper"
    /bin/chmod 555 "${destDir}/NetBootClientHelper"
    /usr/bin/ditto $opt "${tempDir}/com.apple.NetBootClientHelper.plist" "${destDir}/com.apple.NetBootClientHelper.plist" || exit 1
    /usr/sbin/chown root:wheel "${destDir}/com.apple.NetBootClientHelper.plist"
    /bin/chmod 644 "${destDir}/com.apple.NetBootClientHelper.plist"
    /usr/bin/ditto $opt "${tempDir}/installClientHelper.sh" "${mountPoint}/var/tmp/niu/postinstall/installClientHelper.sh" || exit 1
    /usr/sbin/chown root:wheel "${mountPoint}/var/tmp/niu/postinstall/installClientHelper.sh"
    /bin/chmod 555 "${mountPoint}/var/tmp/niu/postinstall/installClientHelper.sh"
    trap "handler" TERM INT
    + trap handler TERM INT
    # Set up for script debugging
    debug_opt=""
    + debug_opt=
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
    debug_opt="-v"
    fi
    + '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
    + debug_opt=-v
    # See if the source volume was overridden (NetRestore from install media workflow)
    isRestoreFromInstallMedia="NO"
    + isRestoreFromInstallMedia=NO
    if [ ! -z "${3:-}" ]; then
    sourceVol="${3}"
    isRestoreFromInstallMedia="YES"
    fi
    + '[' '!' -z '' ']'
    # Prepare the destination
    CreateOrValidateDestination "$destPath"
    + CreateOrValidateDestination '/image in here/NetRestore ofRolloutDMG'
    + local 'destDir=/image in here/NetRestore ofRolloutDMG'
    + '[' '!' -d '/image in here/NetRestore ofRolloutDMG' ']'
    + '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
    + echo 'Creating working path at /image in here/NetRestore ofRolloutDMG'
    Creating working path at /image in here/NetRestore ofRolloutDMG
    + /bin/mkdir -p '/image in here/NetRestore ofRolloutDMG'
    + '[' '!' -d /tmp/mnt.pde0nj ']'
    # If the sourceVol is the boot drive we have an asr:// type source
    if [ "$sourceVol" == "/" ]; then
    # Create an empty image to skip the ASR volume creation
    /usr/bin/touch "${destPath}/System.dmg"
    fi
    + '[' '/Volumes/Macintosh HD 1' == / ']'
    # Look for an existing System.dmg
    if [ ! -e "$destPath/System.dmg" ]; then
    # update progress information
    echo "${progressPrefix}imagingSource"
    # Create an image of the source volume
    # /usr/bin/hdiutil create "$destPath/System" -srcfolder "$sourceVol" -format UDBZ -uid 0 -gid 80 -mode 1775 -ov -puppetstrings || exit 1
    if [ "${blockCopyDeviceKey}" == 1 ] ; then
    theDevice=`/usr/sbin/diskutil info "$sourceVol" | grep "Device Identifier:" | awk '{print $3}'`
    /usr/sbin/diskutil umount "${theDevice}"
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
    echo "Creating block-level image of $theDevice"
    fi
    /usr/bin/hdiutil create "$destPath/System" -srcdevice "${theDevice}" -uid 0 -gid 80 -mode 1775 -ov -puppetstrings || exit 1
    /usr/sbin/diskutil mount "${theDevice}"
    else
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
    echo "Creating image of $sourceVol"
    fi
    /usr/bin/hdiutil create "$destPath/System" -srcfolder "${sourceVol}" -fsargs "-c a=16384,c=8192,e=1280" -uid 0 -gid 80 -mode 1775 -ov -puppetstrings || exit 1
    fi
    # update progress information
    echo "${progressPrefix}preparingASR"
    # "Scan the image for restore"
    asr_opt="--filechecksum"
    if [ "${skipFileChecksumKey}" == 1 ] ; then
    asr_opt=""
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
    echo "Preparing image for restore without file checksums"
    fi
    else
    if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
    echo "Preparing image for restore"
    fi
    fi
    /usr/sbin/asr imagescan --source "$destPath/System.dmg" $asr_opt || exit 1
    fi
    + '[' '!' -e '/image in here/NetRestore ofRolloutDMG/System.dmg' ']'
    + echo progress_imagingSource
    + '[' 0 == 1 ']'
    + '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
    + echo 'Creating image of /Volumes/Macintosh HD 1'
    Creating image of /Volumes/Macintosh HD 1
    + /usr/bin/hdiutil create '/image in here/NetRestore ofRolloutDMG/System' -srcfolder '/Volumes/Macintosh HD 1' -fsargs '-c a=16384,c=8192,e=1280' -uid 0 -gid 80 -mode 1775 -ov -puppetstrings
    PERCENT:0.000000
    PERCENT:0.433633
    PERCENT:87.806953
    PERCENT:-1.000000
    Finalizing disk image.
    detachTempimageFile: synchronous unmount /dev/disk1 returned 49153
    lsof: status error on /Volumes/Macintosh: No such file or directory
    lsof: status error on HD: No such file or directory
    lsof 4.82
    latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
    latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
    latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
    usage: [-?abhlnNoOPRtUvV] [+|-c c] [+|-d s] [+D D] [+|-f[cgG]]
    [-F [f]] [-g [s]] [-i ] [+|-L [l]] [+|-M] [-o [o]] [-p s]
    [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
    Use the ``-h'' option to get more help information.
    retrying unmount (#1)...
    detachTempImageFile: synchronous retry (#1) unmount /Volumes/Macintosh HD (/dev/disk1) returned 0
    Workflow Stopped (2011-03-17 10:01:33 +0000)
    Workflow Stopped (2011-03-17 10:01:34 +0000)
    Stopping image creation.
    Terminating script!

    Thanks for your input...I did wonder if I was being impatient...
    subsequently ran it again and was taken out of the office for a few hours, lo and behold on return all was well....
    Now however, netboot service won't start, netboot folder is not being created within library...another posting to follow
    Message was edited by: DaiVernon

Maybe you are looking for

  • Purchase record with Fixed Overhead

    Hi friends, Is there is a a report that can help us to identify any purchase orders which should have fixed ohd condition types Thanks, Raju

  • HT1491 purchase could not be completed

    i would like to perchase on candy crush app. but some reasion purchase could not be completed. i changed my payment option from paypal to card. still does't work. any solution.....?

  • How to create a project in Solman with PSCD content

    Hi All, I am looking for any potential article on creating a u2018projectu2019 in Solman, we are looking into creating an project in solman with the PCSD and Grantor content but we donu2019t know where we can find this info. Can some one please tell

  • Pixel shift in PDF after flattening

    Hi, I made this post some time ago in the Illustrator forum, but it's most likely an Acrobat issue. Here's the link. Perhaps it can be picked up or moved here by admins. http://forums.adobe.com/thread/1383150?tstart=0 Thanks.

  • CJR2-The plan data transfer is locked

    Hi, I am planning costs by CJR2 on a WBS element for a certain period and version by cost element.When I execute CJR2,it allows me to enter the values against periods but when I try to save ,system gives error message-The plan data transfer is locked