rlm@8: #!/bin/perl rlm@8: rlm@8: $tmp_iso="/home/r/tmp/image.iso"; rlm@8: rlm@8: rlm@8: use File::Basename; rlm@8: rlm@8: $session_info = `cdrecord -minfo 2>/dev/null`; rlm@8: $multi_sessionP = false; rlm@8: rlm@8: rlm@8: # get the last 2 lines from $session_info, and use them to construct rlm@8: # the proper flags for mkisofs. rlm@8: rlm@8: @session_info_lines = split("\n", $session_info); rlm@8: rlm@8: $session_number_line = $session_info_lines[-2]; rlm@8: $start_address_line = $session_info_lines[-1]; rlm@8: rlm@8: if ($session_number_line =~ m/^Last session start address:\s*(\d+)/){ rlm@8: $session_number = $1; rlm@8: if ($start_address_line =~ m/^Last session leadout start address:\s*(\d+)/){ rlm@8: $start_address = $1; rlm@8: $multi_sessionP = true; rlm@8: } rlm@8: } rlm@8: rlm@8: #print "$multi_sessionP\n$session_number\n$start_address\n"; rlm@8: rlm@8: @graft_points = ("-graft-points"); rlm@8: rlm@8: for $graft_point(@ARGV){ rlm@8: push(@graft_points, basename($graft_point) . "=" . $graft_point); rlm@8: } rlm@8: rlm@8: @create_iso_command = ("mkisofs", "-iso-level", "4", "-r", "-J", "-T"); rlm@8: rlm@8: rlm@8: if ($multi_sessionP){ rlm@8: $C_spec = "$session_number,$start_address"; rlm@8: @additional_args = ("-M", "/dev/cdrom", "-C", $C_spec); rlm@8: @create_iso_command = (@create_iso_command, @additional_args); rlm@8: } rlm@8: rlm@8: @create_iso_command = (@create_iso_command, "-o", $tmp_iso, @graft_points); rlm@8: rlm@8: rlm@8: @remove_previous_iso_command = ("rm", "-f", $tmp_iso); rlm@8: print "@remove_previous_iso_command\n"; rlm@8: system(@remove_previous_iso_command); rlm@8: rlm@8: print "@create_iso_command\n"; rlm@8: system(@create_iso_command); rlm@8: rlm@8: print "Created $tmp_iso.\n"; rlm@8: print "Use burn-tmp-iso-image to write to CD.\n"; rlm@8: if ($multi_sessionP){ rlm@8: print "Note: this will be a multisession disk!.\n" rlm@8: } rlm@8: rlm@8: # #START=`cdrecord -msinfo` rlm@8: rlm@8: # #echo "$START" rlm@8: rlm@8: # GRAFT_POINTS='' rlm@8: rlm@8: # for var in "$@" rlm@8: # do rlm@8: # GRAFT_POINTS="$GRAFT_POINTS \"`basename "$var"`\"=\"$var\"" rlm@8: # done rlm@8: rlm@8: rlm@8: # #echo $GRAFT_POINTS rlm@8: rlm@8: # #if [ "$START" == "0,0" ]; then rlm@8: # COMMAND="mkisofs -iso-level 4 -rJT -o $TARGET -graft-points $GRAFT_POINTS" rlm@8: # # echo $COMMAND rlm@8: # # eval $COMMAND rlm@8: # #else rlm@8: # # COMMAND="mkisofs -iso-level 4 -rJT -M /dev/cdrom \ rlm@8: # # -C $START -o $TARGET -graft-points $GRAFT_POINTS" rlm@8: # echo $COMMAND rlm@8: # eval $COMMAND rlm@8: # #fi rlm@8: rlm@8: rlm@8: # echo "files copied to $TARGET. use 'burn-tmp-iso-image' to burn it." rlm@8: rlm@8: # #cd-burn