The backup iso script did not check the arch of the host. On x86_64 host the wrong iso was downloaded.
Furthermore, there were some if clauses which could cause trouble which I also tried to improve. (For example: -e is valid if we have a directory or a file, but we want to check for a file only )
Fixes: 11258
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- src/scripts/backupiso | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/scripts/backupiso b/src/scripts/backupiso index 014e8e9..1a682d0 100644 --- a/src/scripts/backupiso +++ b/src/scripts/backupiso @@ -1,9 +1,25 @@ #!/bin/sh +arch=$(uname -m) + +case $arch in + "i?86") + arch="i586" + echo "Your arch is $arch" + ;; + "x86_64") + arch="x86_64" + echo "Your arch is $arch" + ;; + *) + echo "Arch is not supported" + exit 1 + ;; +esac
COREVER=$(cat /opt/pakfire/db/core/mine) # FIXME: edit this lines before release URL="http://download.ipfire.org/releases/ipfire-2.x/2.19-core$COREVER/" -ISO="ipfire-2.19.i586-full-core$COREVER.iso" +ISO="ipfire-2.19.$arch-full-core$COREVER.iso"
if [ -z $1 ]; then echo usage: $0 backup-file @@ -15,7 +31,7 @@ TS=$1 mkdir -p /var/tmp/backupiso cd /var/tmp/backupiso
-if [ ! -e ${ISO} ] +if [ ! -f ${ISO} ] then echo "Fetching ${URL}${ISO}" wget --quiet -c ${URL}${ISO} @@ -26,7 +42,7 @@ wget --quiet -O ${ISO}.md5 ${URL}${ISO}.md5
echo "Checking md5 of ${ISO}" md5sum --status -c ${ISO}.md5 -if [ $? -eq 0 -o $? -eq 24 ] +if [ $? -eq 0 ] || [ $? -eq 24 ] then echo "md5 is OK" else @@ -35,7 +51,7 @@ else wget --quiet -O ${ISO} ${URL}${ISO} echo "Checking again md5 of ${ISO}" md5sum --status -c ${ISO}.md5 - if [ $? -eq 0 -o $? -eq 24 ] + if [ $? -eq 0 ] || [ $? -eq 24 ] then echo "md5 is OK" else
Thank you very much for your fixes. Merged.
-Michael
On Mon, 2017-01-02 at 16:17 +0100, Jonatan Schlag wrote:
The backup iso script did not check the arch of the host. On x86_64 host the wrong iso was downloaded.
Furthermore, there were some if clauses which could cause trouble which I also tried to improve. (For example: -e is valid if we have a directory or a file, but we want to check for a file only )
Fixes: 11258
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org
src/scripts/backupiso | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/scripts/backupiso b/src/scripts/backupiso index 014e8e9..1a682d0 100644 --- a/src/scripts/backupiso +++ b/src/scripts/backupiso @@ -1,9 +1,25 @@ #!/bin/sh +arch=$(uname -m)
+case $arch in
- "i?86")
arch="i586"
echo "Your arch is $arch"
;;
- "x86_64")
arch="x86_64"
echo "Your arch is $arch"
;;
- *)
echo "Arch is not supported"
exit 1
;;
+esac COREVER=$(cat /opt/pakfire/db/core/mine) # FIXME: edit this lines before release URL="http://download.ipfire.org/releases/ipfire-2.x/2.19-core$COREVER/" -ISO="ipfire-2.19.i586-full-core$COREVER.iso" +ISO="ipfire-2.19.$arch-full-core$COREVER.iso" if [ -z $1 ]; then echo usage: $0 backup-file @@ -15,7 +31,7 @@ TS=$1 mkdir -p /var/tmp/backupiso cd /var/tmp/backupiso -if [ ! -e ${ISO} ] +if [ ! -f ${ISO} ] then echo "Fetching ${URL}${ISO}" wget --quiet -c ${URL}${ISO} @@ -26,7 +42,7 @@ wget --quiet -O ${ISO}.md5 ${URL}${ISO}.md5 echo "Checking md5 of ${ISO}" md5sum --status -c ${ISO}.md5 -if [ $? -eq 0 -o $? -eq 24 ] +if [ $? -eq 0 ] || [ $? -eq 24 ] then echo "md5 is OK" else @@ -35,7 +51,7 @@ else wget --quiet -O ${ISO} ${URL}${ISO} echo "Checking again md5 of ${ISO}" md5sum --status -c ${ISO}.md5
- if [ $? -eq 0 -o $? -eq 24 ]
- if [ $? -eq 0 ] || [ $? -eq 24 ]
then echo "md5 is OK" else
Hi,
Tested. But it won't download anything. The scripts creates the IPF-file and stops.
Old script creates the IPF-file:
"Backup von 20170102-2039.ipf"
Downloads the correct ISO:
"Backup von ipfire-2.19.i586-full-core108.iso"
...and works as usual:
"Backup von ipfire-2.19.i586-full-core108-20170102-2039.iso"
For today, I haven't got the time to look any further - will try again tomorrow. Perhaps something wrong with...
..." case $arch in "i?86") ..."
"uname -m" says => "i686"
Best, Matthias
On 02.01.2017 20:17, Michael Tremer wrote:
Thank you very much for your fixes. Merged.
-Michael
On Mon, 2017-01-02 at 16:17 +0100, Jonatan Schlag wrote:
The backup iso script did not check the arch of the host. On x86_64 host the wrong iso was downloaded.
Furthermore, there were some if clauses which could cause trouble which I also tried to improve. (For example: -e is valid if we have a directory or a file, but we want to check for a file only )
Fixes: 11258
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org
src/scripts/backupiso | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/scripts/backupiso b/src/scripts/backupiso index 014e8e9..1a682d0 100644 --- a/src/scripts/backupiso +++ b/src/scripts/backupiso @@ -1,9 +1,25 @@ #!/bin/sh +arch=$(uname -m)
+case $arch in
- "i?86")
arch="i586"
echo "Your arch is $arch"
;;
- "x86_64")
arch="x86_64"
echo "Your arch is $arch"
;;
- *)
echo "Arch is not supported"
exit 1
;;
+esac
COREVER=$(cat /opt/pakfire/db/core/mine) # FIXME: edit this lines before release URL="http://download.ipfire.org/releases/ipfire-2.x/2.19-core$COREVER/" -ISO="ipfire-2.19.i586-full-core$COREVER.iso" +ISO="ipfire-2.19.$arch-full-core$COREVER.iso"
if [ -z $1 ]; then echo usage: $0 backup-file @@ -15,7 +31,7 @@ TS=$1 mkdir -p /var/tmp/backupiso cd /var/tmp/backupiso
-if [ ! -e ${ISO} ] +if [ ! -f ${ISO} ] then echo "Fetching ${URL}${ISO}" wget --quiet -c ${URL}${ISO} @@ -26,7 +42,7 @@ wget --quiet -O ${ISO}.md5 ${URL}${ISO}.md5
echo "Checking md5 of ${ISO}" md5sum --status -c ${ISO}.md5 -if [ $? -eq 0 -o $? -eq 24 ] +if [ $? -eq 0 ] || [ $? -eq 24 ] then echo "md5 is OK" else @@ -35,7 +51,7 @@ else wget --quiet -O ${ISO} ${URL}${ISO} echo "Checking again md5 of ${ISO}" md5sum --status -c ${ISO}.md5
- if [ $? -eq 0 -o $? -eq 24 ]
- if [ $? -eq 0 ] || [ $? -eq 24 ] then echo "md5 is OK" else
Am Mo, 2. Jan, 2017 um 8:53 schrieb Matthias Fischer matthias.fischer@ipfire.org:
Hi,
Tested. But it won't download anything. The scripts creates the IPF-file and stops.
Old script creates the IPF-file:
"Backup von 20170102-2039.ipf"
Downloads the correct ISO:
"Backup von ipfire-2.19.i586-full-core108.iso"
...and works as usual:
"Backup von ipfire-2.19.i586-full-core108-20170102-2039.iso"
For today, I haven't got the time to look any further - will try again tomorrow. Perhaps something wrong with...
..." case $arch in "i?86") ..."
Just remove all "" in the case statement "i?86" => i?68 and it should work. I will send a patch later today.
"uname -m" says => "i686"
Best, Matthias
On 02.01.2017 20:17, Michael Tremer wrote:
Thank you very much for your fixes. Merged.
-Michael
On Mon, 2017-01-02 at 16:17 +0100, Jonatan Schlag wrote:
The backup iso script did not check the arch of the host. On x86_64 host the wrong iso was downloaded.
Furthermore, there were some if clauses which could cause trouble which I also tried to improve. (For example: -e is valid if we have a directory or a file, but we want to check for a file only )
Fixes: 11258
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org
src/scripts/backupiso | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/scripts/backupiso b/src/scripts/backupiso index 014e8e9..1a682d0 100644 --- a/src/scripts/backupiso +++ b/src/scripts/backupiso @@ -1,9 +1,25 @@ #!/bin/sh +arch=$(uname -m)
+case $arch in
- "i?86")
arch="i586"
echo "Your arch is $arch"
;;
- "x86_64")
arch="x86_64"
echo "Your arch is $arch"
;;
- *)
echo "Arch is not supported"
exit 1
;;
+esac
COREVER=$(cat /opt/pakfire/db/core/mine) # FIXME: edit this lines before release
URL="http://download.ipfire.org/releases/ipfire-2.x/2.19-core$COREVER/" -ISO="ipfire-2.19.i586-full-core$COREVER.iso" +ISO="ipfire-2.19.$arch-full-core$COREVER.iso"
if [ -z $1 ]; then echo usage: $0 backup-file @@ -15,7 +31,7 @@ TS=$1 mkdir -p /var/tmp/backupiso cd /var/tmp/backupiso
-if [ ! -e ${ISO} ] +if [ ! -f ${ISO} ] then echo "Fetching ${URL}${ISO}" wget --quiet -c ${URL}${ISO} @@ -26,7 +42,7 @@ wget --quiet -O ${ISO}.md5 ${URL}${ISO}.md5
echo "Checking md5 of ${ISO}" md5sum --status -c ${ISO}.md5 -if [ $? -eq 0 -o $? -eq 24 ] +if [ $? -eq 0 ] || [ $? -eq 24 ] then echo "md5 is OK" else @@ -35,7 +51,7 @@ else wget --quiet -O ${ISO} ${URL}${ISO} echo "Checking again md5 of ${ISO}" md5sum --status -c ${ISO}.md5
- if [ $? -eq 0 -o $? -eq 24 ]
- if [ $? -eq 0 ] || [ $? -eq 24 ] then echo "md5 is OK" else
Jonatan