]> git.phdru.name Git - audio-cdr-video.git/blob - cdr-dvdrw-tools/clone-cd
Initail import
[audio-cdr-video.git] / cdr-dvdrw-tools / clone-cd
1 #! /bin/sh
2
3 . .config
4
5 [ -f "$cd_image_iso" ] && die "$cd_image_iso found, remove it first"
6 [ -d "$source_dir" ] && die "$source_dir found, remove it first"
7
8
9 while getopts bdl:Ow opt; do
10    case $opt in
11       b ) blank=blank ;;
12       d ) dvd=dvd ;;
13       l ) label="$OPTARG" ;;
14       O ) over=over ;;
15       w ) cdrw=cdrw ;;
16    esac
17 done
18 shift `expr $OPTIND - 1`
19
20
21 if [ -z "$cdrw" ]; then
22    device="$dev_cdrom"
23    fs="$fs_cdrom"
24    eject="$eject_cdrom"
25 else
26    device="$dev_cdrw"
27    fs="$fs_cdrw"
28    eject="$eject_cdrw"
29 fi
30
31 wait-cd "$device"
32
33 if [ -z "$label" ]; then
34    label="`get_label \"$device\"`"
35    if [ -z "$label" ]; then
36       echo -n "Enter label: "
37       read label
38    fi
39 fi
40
41
42 echo "Reading source disk, please wait..."
43
44 mount "$fs" || die "Cannot mount the source disk"
45 cpdir "$fs" "$work_dir" || die "Cannot copy the source disk"
46 eject "$eject"
47
48 chmod -R u+w "$work_dir"
49 mv "$work_dir" "$source_dir"
50
51
52 echo ""
53
54 if [ -z "$dvd" ]; then
55    mk-image "$label" || die "Cannot make new disk image"
56    ls-image
57 fi
58
59 echo ""
60
61
62 if [ -z "$dvd" ]; then
63    until wodim dev="$dev_scsi" -atip >/dev/null 2>&1; do
64       echo "Insert blank disk into CD/DVD-Burner and press Enter..."
65       read
66    done
67    if [ "$blank" = blank ]; then
68       blank+"$over"burn
69    else
70       "$over"burn
71    fi || die "Error burning disk"
72
73 else
74
75    echo "Insert blank disk into CD/DVD-Burner and press Enter..."
76    read
77    dvdrec-data "$label" || die "Error burning disk"
78 fi
79
80 echo ""
81
82 if [ -z "$cdrw" ]; then
83    echo "Insert newly written disk into CD/DVD-ROM and press Enter..."
84    read
85 fi
86
87 echo "Comparing, please wait..."
88 echo ""
89
90
91 mount "$fs" || die "Cannot mount the disk"
92 cd "$source_dir"
93
94 if diff -r --speed-large-files . "$fs"; then
95    echo "The disk has been successfully copied!"
96    echo ""
97 else
98    exit 1
99 fi
100
101 eject "$eject" &
102 if [ -z "$dvd" ]; then
103    rm -r "$cd_image_iso"
104 fi
105 exec rm -r "$source_dir"