]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/scripts/backupiso
clamav: fix rootfile
[people/pmueller/ipfire-2.x.git] / src / scripts / backupiso
CommitLineData
f4459fc9 1#!/bin/sh
39156085
JS
2arch=$(uname -m)
3
87589bce
MT
4makeiso() {
5 local dir="${1}"
6 local output="${2}"
7
8 local args="-J -r -V 'ipfire backup ${TS}' \
9 -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \
10 -c boot/isolinux/boot.catalog"
11
12 # Add EFI options when EFI image is present
13 if [ -e "${dir}/boot/isolinux/efiboot.img" ]; then
14 args="${args} -eltorito-alt-boot -e boot/isolinux/efiboot.img -no-emul-boot"
15 fi
16
17 # Compose ISO
18 mkisofs ${args} ${dir} > ${output}
19
20 # Add DOS paritition table
21 if [ -e "${dir}/boot/isolinux/efiboot.img" ]; then
22 isohybrid --uefi ${output}
23 else
24 isohybrid ${output}
25 fi
26
27 return 0
28}
29
39156085 30case $arch in
b1b6e9f3 31 i?86)
39156085
JS
32 arch="i586"
33 echo "Your arch is $arch"
34 ;;
b1b6e9f3 35 x86_64)
39156085
JS
36 arch="x86_64"
37 echo "Your arch is $arch"
38 ;;
39 *)
40 echo "Arch is not supported"
41 exit 1
42 ;;
43esac
f4459fc9 44
2de6c649 45COREVER=$(cat /opt/pakfire/db/core/mine)
f4459fc9 46# FIXME: edit this lines before release
f32cbd89
MT
47URL="https://downloads.ipfire.org/releases/ipfire-2.x/2.21-core$COREVER/"
48ISO="ipfire-2.21.$arch-full-core$COREVER.iso"
f4459fc9 49
2de6c649 50if [ -z $1 ]; then
f4459fc9
DG
51 echo usage: $0 backup-file
52 exit
53fi
54
55TS=$1
56
57mkdir -p /var/tmp/backupiso
58cd /var/tmp/backupiso
59
39156085 60if [ ! -f ${ISO} ]
3b1dbfba
AF
61then
62 echo "Fetching ${URL}${ISO}"
63 wget --quiet -c ${URL}${ISO}
eb7fff99
AF
64fi
65
2de6c649 66echo "Fetching ${URL}${ISO}.md5"
f6281b9a 67wget --quiet -O ${ISO}.md5 ${URL}${ISO}.md5
f4459fc9
DG
68
69echo "Checking md5 of ${ISO}"
f6281b9a 70md5sum --status -c ${ISO}.md5
39156085 71if [ $? -eq 0 ] || [ $? -eq 24 ]
2de6c649
TE
72then
73 echo "md5 is OK"
74else
75 echo "md5 mismatch"
76 echo "Fetching again ${URL}${ISO}"
77 wget --quiet -O ${ISO} ${URL}${ISO}
78 echo "Checking again md5 of ${ISO}"
79 md5sum --status -c ${ISO}.md5
39156085 80 if [ $? -eq 0 ] || [ $? -eq 24 ]
2de6c649
TE
81 then
82 echo "md5 is OK"
83 else
84 echo "md5 mismatch"
85 echo "aborting backup because md5 mismatch"
86 exit 1
87 fi
f4459fc9 88fi
2de6c649 89rm ${ISO}.md5
f4459fc9
DG
90
91echo "Remastering iso"
92mkdir -p backupiso.tmp.${TS}
93mount -o loop ${ISO} backupiso.tmp.${TS}
94cp -pr backupiso.tmp.${TS} backupiso.${TS}
95umount backupiso.tmp.${TS}
96rm -r backupiso.tmp.${TS}
97
38c6822d
MT
98# Copy backup file to disk
99cp "/var/ipfire/backup/${TS}.ipf" "backupiso.${TS}/backup.ipf"
f4459fc9
DG
100
101echo "Running mkisofs"
87589bce 102makeiso backupiso.${TS} $(basename ${ISO} .iso)-${TS}.iso
f4459fc9
DG
103
104echo "Cleaning up"
105rm -rf backupiso.${TS}