Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  run.sh

  Sprache: Shell
 

#!/bin/sh

set -v -e -x

base="$(realpath "$(dirname "$0")")"
export PATH="$PATH:$base:${MOZ_FETCHES_DIR}/dmg:${MOZ_FETCHES_DIR}/7zz"

cd /builds/worker
mkdir -p /opt/data-reposado artifacts

ROUTE=$(curl -sSL "${TASKCLUSTER_ROOT_URL}/api/queue/v1/task/${TASK_ID}" | jq -r '.routes[] | select(contains("latest")) | select(contains("pushdate") | not)' | sed -e 's/^index\.//')
if test "$ROUTE" && test "$REPOSADO_METADATA_PATH" && test "$TASKCLUSTER_ROOT_URL"then
  REPOSADO_METADATA_URL="$TASKCLUSTER_ROOT_URL/api/index/v1/task/$ROUTE/artifacts/$REPOSADO_METADATA_PATH"
  rm -f reposado-metadata.tar.gz
  if test `curl --output /dev/null --silent --head --location "$REPOSADO_METADATA_URL" -w "%{http_code}"` = 200then
    curl -L "$REPOSADO_METADATA_URL" -o reposado-metadata.tar.gz
    tar -zxf reposado-metadata.tar.gz -C /opt/data-reposado
  fi
fi

if [ ! -d /opt/data-reposado/html ] || [ ! -d /opt/data-reposado/metadata ]; then
  mkdir -p /opt/data-reposado/html /opt/data-reposado/metadata
fi

# First, just fetch all the update info.
python3 /usr/local/bin/repo_sync --no-download

# Save the update catalog metadata for reuse in future runs
tar -czf artifacts/reposado-metadata.tar.gz \
  --exclude='html/content/downloads' \
  -C /opt/data-reposado html metadata

# Restore processed-packages list
if test "$ROUTE" && test "$PROCESSED_PACKAGES_PATH" && test "$TASKCLUSTER_ROOT_URL"then
  PROCESSED_PACKAGES="$TASKCLUSTER_ROOT_URL/api/index/v1/task/$ROUTE/artifacts/$PROCESSED_PACKAGES_PATH"
fi

if test "$PROCESSED_PACKAGES"then
  rm -f processed-packages
  if test `curl --output /dev/null --silent --head --location "$PROCESSED_PACKAGES" -w "%{http_code}"` = 200then
    curl -L "$PROCESSED_PACKAGES" | gzip -dc > processed-packages
  elif test -f "$PROCESSED_PACKAGES"then
    gzip -dc "$PROCESSED_PACKAGES" > processed-packages
  fi
fi

# Next, fetch just the update packages we're interested in.
touch processed-packages
grep -E '^[0-9]+-[0-9]+(::[0-9]+)?$' processed-packages | sort -t- -k1,1nr -k2,2Vr -u > processed-packages.filtered || true
mv processed-packages.filtered processed-packages
rm -f downloaded-packages
touch downloaded-packages

packages=$(python3 "${base}/list-packages.py")

for package in ${packages}; do
  if grep -Fxq "$package" processed-packages; then
    continue
  fi

  tmp_stderr="artifacts/tmp.repo_sync-product-id-${package}.stderr"
  final_stderr="artifacts/repo_sync-product-id-${package}.stderr"

  # repo_sync is super-chatty, let's pipe stderr to separate files
  python3 /usr/local/bin/repo_sync "--product-id=${package}" 2"$tmp_stderr"

  # Filter out known warning lines
  grep -v "has not been downloaded" "$tmp_stderr" > "$final_stderr" || true

  # Only keep non-empty stderr files
  if [ ! -s "$final_stderr" ]; then
    rm -f "$final_stderr"
  fi

  rm -f "$tmp_stderr"
  echo "$package" >> downloaded-packages

  # Stop downloading packages if we have more than 10 GiB of them to process
  download_size=$(du -B1073741824 -s /opt/data-reposado | cut -f1)
  if [ ${download_size} -gt 10 ]; then
    break
  fi
done

du -sh /opt/data-reposado

# Now scrape symbols out of anything that was downloaded.
mkdir -p symbols tmp
if test -s downloaded-packages; then
  rm -f failed-package-ids successful-packages
  touch failed-package-ids
  env TMP=tmp python3 "${base}/PackageSymbolDumper.py" --failed-package-ids-file=/builds/worker/failed-package-ids --dump_syms=$MOZ_FETCHES_DIR/dump_syms/dump_syms /opt/data-reposado/html/content/downloads /builds/worker/symbols
  grep -Fvx -f failed-package-ids downloaded-packages > successful-packages || true
  cat processed-packages successful-packages | sort -t- -k1,1nr -k2,2Vr -u > processed-packages.merged
  mv processed-packages.merged processed-packages
fi

# Hand out artifacts
gzip -c processed-packages > artifacts/processed-packages.gz

cd symbols
zip -r9 /builds/worker/artifacts/target.crashreporter-symbols.zip ./* || echo "No symbols dumped"

Messung V0.5 in Prozent
C=93 H=98 G=95

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet am  2026-08-26) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=434850
#Domains=655579