@@ -35,6 +35,9 @@ grep docker /proc/1/cgroup >/dev/null && export DOCKER_BUILD=1 || true
3535# Detect system architecture to know which binaries of AppImage tools
3636# should be downloaded and used.
3737case " $( uname -i) " in
38+ aarch64|arm64)
39+ # echo "aarch64 system architecture"
40+ SYSTEM_ARCH=" aarch64" ;;
3841 x86_64|amd64)
3942# echo "x86-64 system architecture"
4043 SYSTEM_ARCH=" x86_64" ;;
@@ -47,6 +50,9 @@ case "$(uname -i)" in
4750 unknown|AuthenticAMD|GenuineIntel)
4851# uname -i not answer on debian, then:
4952 case " $( uname -m) " in
53+ aarch64|arm64)
54+ # echo "aarch64 system architecture"
55+ SYSTEM_ARCH=" aarch64" ;;
5056 x86_64|amd64)
5157# echo "x86-64 system architecture"
5258 SYSTEM_ARCH=" x86_64" ;;
@@ -249,7 +255,7 @@ generate_type2_appimage()
249255 GLIBC_NEEDED=$( glibc_needed)
250256 _APP_DIR=" ${PWD} /$APP .AppDir/"
251257 export OWD=" ${PWD} "
252-
258+
253259 if ( [ ! -z " $KEY " ] ) && ( ! -z " $TRAVIS " ) ; then
254260 wget https://github.com/AppImage/AppImageKit/files/584665/data.zip -O data.tar.gz.gpg
255261 ( set +x ; echo $KEY | gpg2 --batch --passphrase-fd 0 --no-tty --skip-verify --output data.tar.gz --decrypt data.tar.gz.gpg )
@@ -375,16 +381,29 @@ patch_strings_in_file() {
375381
376382function apt-get.update(){
377383 echo -n > cache.txt
378-
384+
379385 cat Packages.gz | gunzip -c | grep -E " ^Package:|^Filename:|^Depends:|^Version:" >> cache.txt || true
380-
386+
387+ local arch=$SYSTEM_ARCH
388+ case " $SYSTEM_ARCH " in
389+ x86_64)
390+ arch=" amd64" ;;
391+ aarch64)
392+ arch=" arm64" ;;
393+ i686)
394+ arch=" i386" ;;
395+ * )
396+ echo " Unsupported system architecture"
397+ exit 1;;
398+ esac
399+
381400 echo APT_GET_UPDATE
382401 while read line; do
383402 local line=$( echo " ${line} " | sed ' s|[[:space:]]| |g' )
384403 local repo_info=($( echo ${line} | tr " " " \n" ) )
385404 local base_url=${repo_info[1]}
386405 local dist_name=${repo_info[2]}
387-
406+
388407 echo line=${line}
389408 echo repo_info=${repo_info}
390409 echo base_url=${base_url}
@@ -398,7 +417,7 @@ function apt-get.update(){
398417 else
399418 for i in $( seq 3 $(( ${# repo_info[@]} - 1 )) ) ; do
400419 echo " Caching ${base_url} ${dist_name} ${repo_info[${i}]} ..."
401- local repo_url=" ${base_url} /dists/${dist_name} /${repo_info[${i}]} /binary-amd64 /Packages.gz"
420+ local repo_url=" ${base_url} /dists/${dist_name} /${repo_info[${i}]} /binary-${arch} /Packages.gz"
402421 wget -q " ${repo_url} " -O - | gunzip -c | grep -E " ^Package:|^Filename:|^Depends:|^Version:" | sed " s|^Filename: |Filename: ${base_url} /|g" >> cache.txt
403422 done
404423 fi
@@ -409,18 +428,18 @@ function apt-get.do-download(){
409428 [ -f " status" ] && {
410429 grep -q ^" Package: ${1} " $ status && return
411430 }
412-
431+
413432 local package_name=$( echo ${1} | cut -d= -f1)
414433 local package_version=` echo ${1} | cut -s -d= -f2-`
415434
416435 echo " ${already_downloaded_package[@]} " | sed ' s| |\n|g' | grep -q ^" ${package_name} " $ && return
417-
436+
418437 if ! test -z " ${package_version} " ; then
419438 local package_url=` cat cache.txt | grep -v ^" Depends: " \
420439 | grep -A 3 ^" Package: ${package_name} " $ \
421440 | grep -A 2 ^" Version: ${package_version} " \
422441 | grep ^" Filename: " \
423- | cut -c 11-`
442+ | cut -c 11-`
424443 else
425444 local package_url=` cat cache.txt | grep -v ^" Depends: " \
426445 | grep -A 3 -m 1 ^" Package: ${package_name} " $ \
@@ -429,7 +448,7 @@ function apt-get.do-download(){
429448 fi
430449
431450 already_downloaded_package+=(${package_name} )
432-
451+
433452 local dependencies=($( cat cache.txt | grep -A 2 -m 1 ^" Package: ${package_name} " $ \
434453 | grep ^" Depends: " \
435454 | cut -c 9- \
@@ -440,17 +459,17 @@ function apt-get.do-download(){
440459 echo PACKAGE NAME: ${package_name}
441460 echo PACKAGE_VERSION: ${package_version}
442461 echo PACKAGE_URL: ${package_url}
443-
462+
444463 [ ! -f " ${package_url} " ] && {
445464 [ ! " ${package_url} " = " " ] && {
446465 wget -c " ${package_url} "
447466 } || {
448467 echo ${1} >> teste_123
449468 }
450469 }
451-
470+
452471 unset package_url
453-
472+
454473 for depend in " ${dependencies[@]} " ; do
455474 apt-get.do-download ${depend}
456475 done
0 commit comments