]>
Commit | Line | Data |
---|---|---|
f4459fc9 DG |
1 | #!/bin/sh |
2 | ||
2de6c649 | 3 | COREVER=$(cat /opt/pakfire/db/core/mine) |
f4459fc9 | 4 | # FIXME: edit this lines before release |
2de6c649 TE |
5 | URL="http://download.ipfire.org/releases/ipfire-2.x/2.13-core$COREVER/" |
6 | ISO="ipfire-2.13.i586-full-core$COREVER.iso" | |
f4459fc9 | 7 | |
2de6c649 | 8 | if [ -z $1 ]; then |
f4459fc9 DG |
9 | echo usage: $0 backup-file |
10 | exit | |
11 | fi | |
12 | ||
13 | TS=$1 | |
14 | ||
15 | mkdir -p /var/tmp/backupiso | |
16 | cd /var/tmp/backupiso | |
17 | ||
3b1dbfba AF |
18 | if [ ! -e ${ISO} ] |
19 | then | |
20 | echo "Fetching ${URL}${ISO}" | |
21 | wget --quiet -c ${URL}${ISO} | |
22 | else | |
2de6c649 | 23 | echo "Fetching ${URL}${ISO}.md5" |
f6281b9a | 24 | wget --quiet -O ${ISO}.md5 ${URL}${ISO}.md5 |
f4459fc9 DG |
25 | |
26 | echo "Checking md5 of ${ISO}" | |
f6281b9a | 27 | md5sum --status -c ${ISO}.md5 |
2de6c649 TE |
28 | if [ $? -eq 0 -o $? -eq 24 ] |
29 | then | |
30 | echo "md5 is OK" | |
31 | else | |
32 | echo "md5 mismatch" | |
33 | echo "Fetching again ${URL}${ISO}" | |
34 | wget --quiet -O ${ISO} ${URL}${ISO} | |
35 | echo "Checking again md5 of ${ISO}" | |
36 | md5sum --status -c ${ISO}.md5 | |
37 | if [ $? -eq 0 -o $? -eq 24 ] | |
38 | then | |
39 | echo "md5 is OK" | |
40 | else | |
41 | echo "md5 mismatch" | |
42 | echo "aborting backup because md5 mismatch" | |
43 | exit 1 | |
44 | fi | |
f4459fc9 | 45 | fi |
2de6c649 | 46 | rm ${ISO}.md5 |
f4459fc9 DG |
47 | |
48 | echo "Remastering iso" | |
49 | mkdir -p backupiso.tmp.${TS} | |
50 | mount -o loop ${ISO} backupiso.tmp.${TS} | |
51 | cp -pr backupiso.tmp.${TS} backupiso.${TS} | |
52 | umount backupiso.tmp.${TS} | |
53 | rm -r backupiso.tmp.${TS} | |
54 | ||
f6281b9a | 55 | echo "RESTORE_FILE=${TS}.ipf" >> backupiso.${TS}/boot/unattended.conf |
f4459fc9 DG |
56 | cp /var/ipfire/backup/${TS}.ipf backupiso.${TS} |
57 | ||
58 | echo "Running mkisofs" | |
59 | mkisofs -J -r -V "ipfire backup ${TS}" \ | |
60 | -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \ | |
2de6c649 | 61 | -c boot/isolinux/boot.catalog backupiso.${TS} > $(basename ${ISO} .iso)-${TS}.iso |
f4459fc9 DG |
62 | |
63 | echo "Cleaning up" | |
64 | rm -rf backupiso.${TS} |