Ver código fonte

Ports: Do not download sources if they're already present

When running ./package.sh to rebuild an already installed port, we would not
want to spend time re-downlodaing the same tarball again. Ideally, this should
use some sort of hash checking to ensure the file is not truncated or something,
but this is good enough for now.
Sergey Bugaev 5 anos atrás
pai
commit
ccfc9d8923
2 arquivos alterados com 12 adições e 4 exclusões
  1. 6 2
      Ports/.port_include.sh
  2. 6 2
      Ports/gcc/package.sh

+ 6 - 2
Ports/.port_include.sh

@@ -42,7 +42,11 @@ func_defined fetch || fetch() {
     for f in $files; do
     for f in $files; do
         IFS=$OLDIFS
         IFS=$OLDIFS
         read url filename <<< $(echo "$f")
         read url filename <<< $(echo "$f")
-        run_nocd curl ${curlopts:-} "$url" -o "$filename"
+        if [ -f "$filename" ]; then
+            echo "$filename already exists"
+        else
+            run_nocd curl ${curlopts:-} "$url" -o "$filename"
+        fi
         case "$filename" in
         case "$filename" in
             *.tar*|.tbz*|*.txz|*.tgz)
             *.tar*|.tbz*|*.txz|*.tgz)
                 run_nocd tar xf "$filename"
                 run_nocd tar xf "$filename"
@@ -57,7 +61,7 @@ func_defined fetch || fetch() {
                 echo "Note: no case for file $filename."
                 echo "Note: no case for file $filename."
                 ;;
                 ;;
         esac
         esac
-    done    
+    done
     if [ -d patches ]; then
     if [ -d patches ]; then
         for f in patches/*; do
         for f in patches/*; do
             run patch -p"$patchlevel" < "$f"
             run patch -p"$patchlevel" < "$f"

+ 6 - 2
Ports/gcc/package.sh

@@ -9,8 +9,12 @@ installopts="DESTDIR=$SERENITY_ROOT/Root install-gcc install-target-libgcc insta
 depends="binutils"
 depends="binutils"
 
 
 fetch() {
 fetch() {
-    read url filename <<< $(echo "$files")    
-    run_nocd curl -O "$url" -o "$filename"
+    read url filename <<< $(echo "$files")
+    if [ -f "$filename" ]; then
+        echo "$filename already exists"
+    else
+        run_nocd curl -O "$url" -o "$filename"
+    fi
     run_nocd tar xf "$filename"
     run_nocd tar xf "$filename"
     run contrib/download_prerequisites
     run contrib/download_prerequisites
     for f in patches/*; do
     for f in patches/*; do