MozillaFirefox/create-tar.sh
author Wolfgang Rosenauer <wr@rosenauer.org>
Sun, 26 Mar 2023 12:50:07 +0200
branchfirefox111
changeset 1185 da29365b0b2c
parent 1184 1c3d3217d679
permissions -rwxr-xr-x
Firefox 111.0.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
262
b680975515e0 probably last working Firefox-on-xulrunner build
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
#!/bin/bash
b680975515e0 probably last working Firefox-on-xulrunner build
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
     3
function main() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
     4
  # Exit script on CTRL+C
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
     5
  trap "exit" INT
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
     6
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
     7
  if [ $# -ne 1 ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
     8
    print_usage_and_exit
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
     9
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    10
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    11
  check_required_tools
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    12
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    13
  # Sourcing the given tar_stamps-file to have the variables available
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    14
  TAR_STAMP="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    15
  source "$TAR_STAMP" || print_usage_and_exit
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    16
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    17
  set_internal_variables
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    18
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    19
  check_what_to_do_with_source_tarballs
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    20
  download_upstream_source_tarballs
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    21
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    22
  if [ -z ${SKIP_LOCALES+x} ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    23
    check_what_to_do_with_locales_tarballs
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    24
    create_locales_tarballs
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    25
  else 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    26
    printf "%-40s: User forced skip (SKIP_LOCALES set)\n" "locales"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    27
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    28
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    29
  clean_up_old_tarballs
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    30
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    31
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    32
function print_usage_and_exit() {
1111
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
    33
  echo "Usage: create-tar.sh tar_stamps"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    34
  echo ""
1111
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
    35
  echo "Where tar_stamps should look like this:"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    36
  echo ""
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    37
  cat << EOF
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    38
# Node ID: 64ee63facd4ff96b3e8590cff559d7e97ac6b061
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    39
PRODUCT="firefox" # "firefox" or "thunderbird"
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    40
CHANNEL="esr60"
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    41
VERSION="60.7.0"
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    42
VERSION_SUFFIX="esr"
1111
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
    43
RELEASE_TAG="" # Needs only to be set if no tar-ball can be downloaded
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    44
PREV_VERSION="60.6.3" # Prev. version only needed for locales (leave empty to force l10n-generation)
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    45
PREV_VERSION_SUFFIX="esr"
1119
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1117
diff changeset
    46
#SKIP_LOCALES="" # Uncomment to skip l10n-generation
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    47
EOF
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    48
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    49
  exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    50
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    51
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    52
function check_required_tools() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    53
  # check required tools
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    54
  check_for_binary /usr/bin/hg "mercurial"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    55
  check_for_binary /usr/bin/jq "jq"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    56
  which python3 > /dev/null || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    57
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    58
  # use parallel compression, if available
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    59
  compression='-J'
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    60
  pixz -h > /dev/null 2>&1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    61
  if (($? != 127)); then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    62
    compression='-Ipixz'
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    63
  fi
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    64
}
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    65
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    66
function set_internal_variables() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    67
  # Internal variables
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    68
  BRANCH="releases/mozilla-$CHANNEL"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    69
  if [ "$PRODUCT" = "firefox" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    70
    FF_LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    71
  else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    72
    FF_LOCALE_FILE="thunderbird-$VERSION/browser/locales/l10n-changesets.json"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    73
    TB_LOCALE_FILE="thunderbird-$VERSION/comm/mail/locales/l10n-changesets.json"
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    74
    FF_PREV_LOCALE_FILE="thunderbird-$PREV_VERSION/browser/locales/l10n-changesets.json"
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    75
    TB_PREV_LOCALE_FILE="thunderbird-$PREV_VERSION/comm/mail/locales/l10n-changesets.json"
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    76
    L10N_STRING_PATTERNS="thunderbird-$VERSION/comm/python/l10n/tbxchannel/l10n_merge.py"
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    77
  fi
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    78
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    79
  SOURCE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    80
  PREV_SOURCE_TARBALL="$PRODUCT-$PREV_VERSION$PREV_VERSION_SUFFIX.source.tar.xz"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    81
  FTP_URL="https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    82
  FTP_CANDIDATES_BASE_URL="https://ftp.mozilla.org/pub/%s/candidates"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    83
  LOCALES_URL="https://product-details.mozilla.org/1.0/l10n"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    84
  PRODUCT_URL="https://product-details.mozilla.org/1.0"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    85
  ALREADY_EXTRACTED_LOCALES_FILE=0
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    86
}
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    87
1114
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
    88
function get_ftp_candidates_url() {
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    89
  local CURR_PRODUCT="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    90
  local VERSION_WITH_SUFFIX="$2"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    91
  printf "$FTP_CANDIDATES_BASE_URL/$VERSION_WITH_SUFFIX-candidates" "$CURR_PRODUCT"
1114
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
    92
}
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
    93
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    94
function check_tarball_source () {
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    95
  TARBALL=$1
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    96
  # Print out what is going to be done:
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    97
  if [ -e "$TARBALL" ]; then
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
    98
      echo "Reuse existing file"
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    99
  elif wget --spider "$FTP_URL/$TARBALL" 2> /dev/null; then
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   100
      echo "Download file"
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   101
  else 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   102
      local CANDIDATE_TARBALL_LOCATION=""
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   103
      CANDIDATE_TARBALL_LOCATION="$(printf "%s/%s/source/%s" "$(get_ftp_candidates_url "$PRODUCT" "$VERSION$VERSION_SUFFIX")" "$BUILD_ID" "$TARBALL" )"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   104
      if wget --spider "$CANDIDATE_TARBALL_LOCATION" 2> /dev/null; then
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   105
          echo "Download UNRELEASED candidate ($BUILD_ID)"
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   106
      else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   107
          echo "Mercurial checkout"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   108
      fi
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   109
  fi
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   110
}
909
c6717354928b Firefox 46.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 906
diff changeset
   111
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   112
function ask_cont_abort_question() {
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   113
  while true; do
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   114
    read -r -p "$1 [(c)ontinue/(a)bort] " ca
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   115
    case $ca in
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   116
        [Cc]* ) return 0 ;;
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   117
        [Aa]* ) return 1 ;;
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   118
        * ) echo "Please answer c or a.";;
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   119
    esac
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   120
  done
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   121
}
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   122
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   123
function check_for_binary() {
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   124
  if ! test -x "$1"; then
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   125
    echo "$1 is missing: execute zypper in $2"
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   126
    exit 5
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   127
  fi
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   128
}
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   129
1114
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   130
function get_source_stamp() {
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   131
  local CURR_BUILD_ID="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   132
  local FTP_CANDIDATES_BASE_URL=$(get_ftp_candidates_url "$PRODUCT" "$VERSION$VERSION_SUFFIX")
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   133
  local FTP_CANDIDATES_JSON_SUFFIX="${CURR_BUILD_ID}/linux-x86_64/en-US/$PRODUCT-$VERSION$VERSION_SUFFIX.json"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   134
  local BUILD_JSON=$(curl --silent --fail "$FTP_CANDIDATES_BASE_URL/$FTP_CANDIDATES_JSON_SUFFIX") || return 1;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   135
  local REV=$(echo "$BUILD_JSON" | jq .moz_source_stamp)
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   136
  local SOURCE_REPO=$(echo "$BUILD_JSON" | jq .moz_source_repo)
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   137
  local TIMESTAMP=$(echo "$BUILD_JSON" | jq .buildid)
1114
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   138
  echo "Extending $TAR_STAMP with:"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   139
  echo "RELEASE_REPO=${SOURCE_REPO}"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   140
  echo "RELEASE_TAG=${REV}"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   141
  echo "RELEASE_TIMESTAMP=${TIMESTAMP}"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   142
  # We "remove and add" instead of "replace" in case the entries are not there yet
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   143
  # Removing the old RELEASE_-tags
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   144
  sed -i "/RELEASE_\(TAG\|REPO\|TIMESTAMP\)=.*/d" "$TAR_STAMP"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   145
  # Appending the new 
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   146
  echo "RELEASE_REPO=$SOURCE_REPO" >> "$TAR_STAMP"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   147
  echo "RELEASE_TAG=$REV" >> "$TAR_STAMP"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   148
  echo "RELEASE_TIMESTAMP=$TIMESTAMP" >> "$TAR_STAMP"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   149
}
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   150
1114
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   151
function get_build_number() {
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   152
  local LAST_FOUND=""
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   153
  local CURR_PRODUCT="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   154
  local VERSION_WITH_SUFFIX="$2"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   155
  local CURR_BUILD_ID=""
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   156
  local CURR_FTP_BASE_URL=""
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   157
  CURR_BUILD_ID=$(curl --silent "$PRODUCT_URL/$CURR_PRODUCT.json" | jq -e '.["releases"] | .["'$CURR_PRODUCT-$VERSION_WITH_SUFFIX'"] | .["build_number"]')
1117
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   158
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   159
  # Slow fall-back
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   160
  if [ $? -ne 0 ]; then
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   161
      echo "Build number not found in product URL, falling back to slow FTP-parsing." 1>&2
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   162
      CURR_FTP_BASE_URL=$(get_ftp_candidates_url "$CURR_PRODUCT" "$VERSION_WITH_SUFFIX")
1117
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   163
      # Unfortunately, locales-files are not associated to releases, but to builds.
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   164
      # And since we don't know which build was the final build, we grep them all from
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   165
      # the candidates-page, sort them and take the last one which should be the oldest
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   166
      # Error only if not even the first one exists
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   167
      LAST_FOUND=$(curl --silent --fail "$CURR_FTP_BASE_URL/" | grep -o "build[0-9]*/" | sort | uniq | tail -n 1 | cut -d "/" -f 1)
1117
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   168
  else
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   169
      LAST_FOUND="build$CURR_BUILD_ID"
1117
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   170
  fi
1098
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   171
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   172
  if [ "$LAST_FOUND" != "" ]; then
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   173
    echo "$LAST_FOUND"
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   174
    return 0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   175
  else
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   176
    echo "Error: Could not find build-number for $CURR_PRODUCT $VERSION_WITH_SUFFIX !"  1>&2
1114
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   177
    return 1
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   178
  fi
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   179
}
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   180
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   181
function locales_get() {
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   182
  local CURR_PRODUCT="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   183
  local TMP_VERSION="$2"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   184
  local CURR_BUILD_ID="$3"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   185
  # Make first letter of CURR_PRODUCT upper case
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   186
  CURR_PRODUCT_CAP="${CURR_PRODUCT^}"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   187
  URL_TO_CHECK="${LOCALES_URL}/${CURR_PRODUCT_CAP}-${TMP_VERSION}"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   188
  FINAL_URL="${URL_TO_CHECK}-${CURR_BUILD_ID}.json"
1114
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   189
  if wget --quiet --spider "$FINAL_URL"; then
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   190
    echo "$FINAL_URL"
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   191
    return 0
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   192
  else
1098
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   193
    echo "Error: Could not find locales-file (json) for Firefox $TMP_VERSION !"  1>&2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   194
    return 1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   195
  fi
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   196
}
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   197
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   198
function locales_parse_file() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   199
  FILE="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   200
  python3 -c "import json; import sys; \
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   201
             print('\n'.join(['{} {}'.format(key, value['revision']) \
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   202
                for key, value in sorted(json.load(sys.stdin).items())]));" < "$FILE" 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   203
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   204
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   205
function locales_parse_url() {
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   206
  URL="$1"
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   207
  curl -s "$URL" | python3 -c "import json; import sys; \
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   208
             print('\n'.join(['{} {}'.format(key, value['changeset']) \
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   209
                for key, value in sorted(json.load(sys.stdin)['locales'].items())]));"
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   210
}
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   211
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   212
function extract_locales_file() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   213
    if [ $ALREADY_EXTRACTED_LOCALES_FILE -ne 1 ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   214
      # still need to extract the locale information from the archive
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   215
      echo "extract locale changesets"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   216
      if [ "$PRODUCT" = "thunderbird" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   217
        tar -xf "$SOURCE_TARBALL" "$FF_LOCALE_FILE" "$TB_LOCALE_FILE" "$L10N_STRING_PATTERNS"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   218
      else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   219
        tar -xf "$SOURCE_TARBALL" "$FF_LOCALE_FILE"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   220
      fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   221
      ALREADY_EXTRACTED_LOCALES_FILE=1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   222
    else 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   223
      echo "Skipping locale changeset extraction, as it was already done."
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   224
    fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   225
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   226
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   227
function locales_unchanged() {
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   228
  local CURR_PRODUCT="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   229
  local CURR_BUILD_ID="$2"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   230
  local PREV_BUILD_ID=$(get_build_number "$CURR_PRODUCT" "$PREV_VERSION$PREV_VERSION_SUFFIX")
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   231
  # If no json-file for one of the versions can be found, we say "they changed"
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   232
  prev_url=$(locales_get "$CURR_PRODUCT" "$PREV_VERSION$PREV_VERSION_SUFFIX" "$PREV_BUILD_ID") || return 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   233
  prev_content=$(locales_parse_url "$prev_url") || exit 1
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   234
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   235
  curr_url=$(locales_get "$CURR_PRODUCT" "$VERSION$VERSION_SUFFIX" "$CURR_BUILD_ID")
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   236
  if [ $? -ne 0 ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   237
    # We did not find a locales file upstream on the servers
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   238
    if [ -e "$SOURCE_TARBALL" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   239
        # We can find out what the locales are, by extracting the json-file from the tar-ball
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   240
        # instead of getting it from the server
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   241
        extract_locales_file || return 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   242
        curr_content=$(locales_parse_file "$FF_LOCALE_FILE") || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   243
      else 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   244
        # We can't know what the locales are in the current version
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   245
        return 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   246
      fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   247
  else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   248
    curr_content=$(locales_parse_url "$curr_url") || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   249
  fi
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   250
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   251
  diff -y --suppress-common-lines -d <(echo "$prev_content") <(echo "$curr_content")
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   252
}
262
b680975515e0 probably last working Firefox-on-xulrunner build
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   253
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   254
function get_locales_directories() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   255
  pattern="$1"
1032
8220ea23b47d remove obsolete patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1031
diff changeset
   256
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   257
  # This file contains a list of directories, upstream uses to build locales
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   258
  # If it is there, use it. If not, default to all FF + 3 TB-dirs.
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   259
  if [ -e "$L10N_STRING_PATTERNS" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   260
    python3 -c "import os; import sys; \
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   261
               sys.path.append(os.path.dirname(\"$L10N_STRING_PATTERNS\")); \
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   262
               from l10n_merge import $pattern; \
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   263
               print(\" \".join([p.strip('*') for p in $pattern]));"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   264
  else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   265
    if [ "$pattern" = "GECKO_STRINGS_PATTERNS" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   266
      # Default of Firefox: Take all
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   267
      echo "{lang}/"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   268
    else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   269
      # Default of Thunderbird: Take those 3 dirs
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   270
      echo "{lang}/calendar/" "{lang}/chat/" "{lang}/mail/"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   271
    fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   272
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   273
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   274
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   275
function create_and_copy_locales() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   276
    locale="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   277
    source_base="$2"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   278
    source_template="$3"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   279
    final_dest="$4"
990
0d76004e9fa4 support parallel compression if available
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 986
diff changeset
   280
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   281
    # Replace {lang} with the actual language-basedir
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   282
    for template in $source_template; do
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   283
      locale_source=$(echo "$template" | sed "s|{lang}|./$source_base/$locale|g")
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   284
      locale_dest=$(echo "$template" | sed "s|{lang}|./$final_dest/$locale|g")
1114
572ec48f3fe8 Firefox 71.0b11
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1113
diff changeset
   285
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   286
      # Create intermediary folders
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   287
      for destdir in $locale_dest; do
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   288
        mkdir -p "$destdir"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   289
      done
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   290
    
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   291
      # Copy over FF-files
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   292
      cp -r "$locale_source"/* "$locale_dest"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   293
    done
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   294
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   295
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   296
function check_what_to_do_with_source_tarballs() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   297
  # Get ID 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   298
  BUILD_ID=$(get_build_number "$PRODUCT" "$VERSION$VERSION_SUFFIX")
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   299
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   300
  # Check what is going to be done and ask for consent
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   301
  for ff in $SOURCE_TARBALL $SOURCE_TARBALL.asc; do
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   302
    printf "%-40s: %s\n" "$ff" "$(check_tarball_source $ff)"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   303
  done
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   304
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   305
  ask_cont_abort_question "Is this ok?" || exit 0
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   306
}
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   307
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   308
function check_what_to_do_with_locales_tarballs() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   309
  LOCALES_CHANGED=1
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   310
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   311
  extract_locales_file
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   312
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   313
  if [ "$PREV_VERSION" != "" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   314
    # If we have a previous version, check either FF or (TB and FF)
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   315
    if [ "$PRODUCT" = "firefox" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   316
      locales_unchanged "$PRODUCT" "$BUILD_ID"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   317
    else
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   318
      # Currently, upstream 'forgets' which Firefox-locales get used for which Thunderbird-release upon release
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   319
      # so, instead of parsing upstream JSON-files, we rely on the previous tarball being there and comparing
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   320
      # the lang-files directly
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   321
      # FF_BUILD_ID=$(get_build_number "firefox" "$VERSION$VERSION_SUFFIX")
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   322
      # locales_unchanged "$PRODUCT" "$BUILD_ID" && locales_unchanged "firefox" "$FF_BUILD_ID"
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   323
      if [ -e "$PREV_SOURCE_TARBALL" ]; then 
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   324
        echo "extract previous locale changesets"
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   325
        tar -xf "$PREV_SOURCE_TARBALL" "$FF_PREV_LOCALE_FILE" "$TB_PREV_LOCALE_FILE"
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   326
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   327
        curr_ff_content=$(locales_parse_file "$FF_LOCALE_FILE") || exit 1
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   328
        prev_ff_content=$(locales_parse_file "$FF_PREV_LOCALE_FILE") || exit 1
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   329
        curr_tb_content=$(locales_parse_file "$TB_LOCALE_FILE") || exit 1
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   330
        prev_tb_content=$(locales_parse_file "$TB_PREV_LOCALE_FILE") || exit 1
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   331
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   332
        diff -y --suppress-common-lines -d <(echo "$prev_ff_content") <(echo "$curr_ff_content") ||
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   333
        diff -y --suppress-common-lines -d <(echo "$prev_tb_content") <(echo "$curr_tb_content")
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   334
      fi
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   335
    fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   336
    LOCALES_CHANGED=$?
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   337
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   338
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   339
  # New line for better visibility
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   340
  echo ""
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   341
  if [ $LOCALES_CHANGED -eq 1 ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   342
    printf "%-40s: Need to download.\n" "locales"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   343
    ask_cont_abort_question "Is this ok?" || exit 0
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   344
  else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   345
    printf "%-40s: Did not change. Skipping.\n" "locales"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   346
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   347
}
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   348
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   349
function download_release_or_candidate_file() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   350
  local upstream_file="$1"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   351
  if [ -e "$upstream_file" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   352
    return;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   353
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   354
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   355
  if ! wget --quiet --show-progress --progress=bar "$FTP_URL/$upstream_file"; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   356
      local CANDIDATE_TARBALL_LOCATION=""
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   357
      CANDIDATE_TARBALL_LOCATION="$(printf "%s/%s/source/%s" "$(get_ftp_candidates_url "$PRODUCT" "$VERSION$VERSION_SUFFIX")" "$BUILD_ID" "$upstream_file" )"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   358
      wget --quiet --show-progress --progress=bar "$CANDIDATE_TARBALL_LOCATION"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   359
  fi
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   360
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   361
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   362
function download_upstream_source_tarballs() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   363
  # Try to download tar-ball from officiall mozilla-mirror
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   364
  download_release_or_candidate_file "$SOURCE_TARBALL"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   365
  download_release_or_candidate_file "$SOURCE_TARBALL.asc"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   366
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   367
  # we might have an upstream archive already and can skip the checkout
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   368
  if [ -e "$SOURCE_TARBALL" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   369
    get_source_stamp "$BUILD_ID"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   370
  else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   371
    # We are working on a version that is not yet published on the mozilla mirror
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   372
    # so we have to actually check out the repo
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   373
    clone_and_repackage_sources
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   374
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   375
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   376
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   377
function clone_and_repackage_sources() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   378
  if [ -d "$PRODUCT-$VERSION" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   379
    pushd "$PRODUCT-$VERSION" || exit 1
1056
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   380
    _repourl=$(hg paths)
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   381
    case "$_repourl" in
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   382
      *$BRANCH*)
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   383
        echo "updating previous tree"
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   384
        hg pull
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   385
        popd || exit 1
1056
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   386
        ;;
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   387
      * )
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   388
        echo "removing obsolete tree"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   389
        popd || exit 1
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   390
        rm -rf "$PRODUCT-$VERSION"
1056
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   391
        ;;
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   392
    esac
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   393
  fi
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   394
  if [ ! -d "$PRODUCT-$VERSION" ]; then
1056
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   395
    echo "cloning new $BRANCH..."
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   396
    hg clone "https://hg.mozilla.org/$BRANCH $PRODUCT-$VERSION"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   397
    if [ "$PRODUCT" = "thunderbird" ]; then
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   398
      hg clone "https://hg.mozilla.org/releases/comm-$CHANNEL" "$PRODUCT-$VERSION/comm"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   399
    fi
1056
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   400
  fi
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   401
  pushd "$PRODUCT-$VERSION" || exit 1
1111
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   402
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   403
  # parse out the Firefox-release tag for this Thunderbird-checkout
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   404
  if [ "$PRODUCT" = "thunderbird" ]; then
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   405
    FF_RELEASE_TAG=$(grep ^GECKO_HEAD_REV ./comm/.gecko_rev.yml | awk -F ' ' '{print $2}') || exit 1
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   406
    echo "Parsed Firefox base ID from .gecko_rev.yml: $FF_RELEASE_TAG"
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   407
  else
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   408
    FF_RELEASE_TAG="$RELEASE_TAG"
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   409
  fi
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1098
diff changeset
   410
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   411
  hg update --check "$FF_RELEASE_TAG"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   412
  [ "$FF_RELEASE_TAG" == "default" ] || hg update -r "$FF_RELEASE_TAG"
1056
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   413
  # get repo and source stamp
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   414
  local REV=$(hg -R . parent --template="{node|short}\n")
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   415
  local SOURCE_REPO=$(hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/https:/")
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   416
  local TIMESTAMP=$(date +%Y%m%d%H%M%S)
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   417
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   418
  if [ "$PRODUCT" = "thunderbird" ]; then
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   419
    pushd comm || exit 1
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   420
    hg update --check "$RELEASE_TAG"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   421
    popd || exit 1
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   422
    rm -rf thunderbird-"${VERSION}"/{,comm/}other-licenses/7zstub
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   423
  fi
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   424
  popd || exit 1
1056
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   425
1117
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   426
  echo "Extending $TAR_STAMP with:"
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   427
  echo "RELEASE_REPO=${SOURCE_REPO}"
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   428
  echo "RELEASE_TAG=${REV}"
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   429
  echo "RELEASE_TIMESTAMP=${TIMESTAMP}"
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   430
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   431
  # We "remove and add" instead of "replace" in case the entries are not there yet
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   432
  # Removing the old RELEASE_-tags
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   433
  sed -i "/RELEASE_\(TAG\|REPO\|TIMESTAMP\)=.*/d" "$TAR_STAMP"
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   434
  # Appending the new 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   435
  echo "RELEASE_REPO=$SOURCE_REPO" >> "$TAR_STAMP"
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   436
  echo "RELEASE_TAG=$REV" >> "$TAR_STAMP"
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   437
  echo "RELEASE_TIMESTAMP=$TIMESTAMP" >> "$TAR_STAMP"
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1114
diff changeset
   438
1056
90e1f32cf034 several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1053
diff changeset
   439
  echo "creating archive..."
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   440
  tar "$compression" -cf "$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz" --exclude-vcs "$PRODUCT-$VERSION"
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   441
  ALREADY_EXTRACTED_LOCALES_FILE=1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   442
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   443
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   444
function create_locales_tarballs() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   445
  if [ ! -z ${SKIP_LOCALES+x} ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   446
    echo "Skipping locales-creation."
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   447
    exit 0
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   448
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   449
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   450
  if [ "$LOCALES_CHANGED" -ne 0 ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   451
    clone_and_repackage_locales
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   452
  elif [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   453
    # Locales did not change, but the old tar-ball is in this directory
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   454
    # Simply rename it:
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   455
    echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to l10n-$VERSION$VERSION_SUFFIX.tar.xz"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   456
    mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" "l10n-$VERSION$VERSION_SUFFIX.tar.xz"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   457
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   458
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   459
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   460
function clone_and_repackage_locales() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   461
  # l10n
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   462
  FINAL_L10N_BASE="l10n"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   463
  FF_L10N_BASE="l10n" # Only change this in TB-builds to a separate dir
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   464
  TB_L10N_BASE="l10n_tb"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   465
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   466
  # If we are doing Thunderbird, we'll have to checkout both TB and FF l10n-repos
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   467
  # Thunderbird has one single mono-repo, FF has one for each language
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   468
  if [ "$PRODUCT" = "thunderbird" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   469
    echo "Fetching Thunderbird locales..."
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   470
    if [ -d "$TB_L10N_BASE/.hg" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   471
      pushd "$TB_L10N_BASE/" || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   472
      hg pull || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   473
      popd || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   474
    else
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   475
      hg clone "https://hg.mozilla.org/projects/comm-l10n/" "$TB_L10N_BASE/" || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   476
    fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   477
    # Just using the first entry here, as all languages have the same changeset
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   478
    tb_changeset=$(jq -r 'to_entries[0]| "\(.key) \(.value|.revision)"' "$TB_LOCALE_FILE" | cut -d " " -f 2)
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   479
    [ "$RELEASE_TAG" == "default" ] || hg -R "$TB_L10N_BASE/" up -C -r "$tb_changeset" || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   480
    FF_L10N_BASE="l10n_ff"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   481
  fi
262
b680975515e0 probably last working Firefox-on-xulrunner build
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   482
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   483
  test ! -d $FF_L10N_BASE && mkdir $FF_L10N_BASE
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   484
  # No-op, if we are building FF:
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   485
  test ! -d $FINAL_L10N_BASE && mkdir $FINAL_L10N_BASE
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   486
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   487
  # This is only relevant for Thunderbird-builds
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   488
  # Here, the relevant directories we need to copy from FF and from TB
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   489
  # are specified in a python-file in the tarball
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   490
  # Is of form '{lang}/Foo/bar/ {lang}/Baz/bar/ ..'
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   491
  ff_locale_template=$(get_locales_directories "GECKO_STRINGS_PATTERNS")
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   492
  tb_locale_template=$(get_locales_directories "COMM_STRINGS_PATTERNS")
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   493
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   494
  echo "Fetching Browser locales..."
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   495
  jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' "$FF_LOCALE_FILE" | \
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   496
    while read -r locale changeset ; do
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   497
      case $locale in
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   498
        ja-JP-mac|en-US)
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   499
          ;;
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   500
        *)
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   501
          echo "reading changeset information for $locale"
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   502
          echo "fetching $locale changeset $changeset ..."
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   503
          if [ -d "$FF_L10N_BASE/$locale/.hg" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   504
            pushd "$FF_L10N_BASE/$locale" || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   505
            hg pull || exit 1
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   506
            popd || exit 1
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   507
          else
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   508
            hg clone "https://hg.mozilla.org/l10n-central/$locale" "$FF_L10N_BASE/$locale" || exit 1
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   509
          fi
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   510
          [ "$RELEASE_TAG" == "default" ] || hg -R "$FF_L10N_BASE/$locale" up -C -r "$changeset" || exit 1
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   511
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   512
          # If we are doing TB, we have to merge both l10n-repos
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   513
          if [ "$PRODUCT" = "thunderbird" ] && test -d "$TB_L10N_BASE/$locale/" ; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   514
            create_and_copy_locales "$locale" "$FF_L10N_BASE" "$ff_locale_template" "$FINAL_L10N_BASE"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   515
            create_and_copy_locales "$locale" "$TB_L10N_BASE" "$tb_locale_template" "$FINAL_L10N_BASE"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   516
          fi
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   517
          ;;
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   518
      esac
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   519
    done
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1096
diff changeset
   520
  echo "creating l10n archive..."
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   521
  local TAR_FLAGS="--exclude-vcs"
1098
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   522
  if [ "$PRODUCT" = "thunderbird" ]; then
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   523
    TAR_FLAGS="$TAR_FLAGS --exclude=suite"
1098
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
   524
  fi
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
   525
  tar "$compression" -cf "l10n-$VERSION$VERSION_SUFFIX.tar.xz" $TAR_FLAGS "$FINAL_L10N_BASE"
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   526
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   527
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   528
function clean_up_old_tarballs() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   529
  if [ -e "$PREV_SOURCE_TARBALL" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   530
      echo ""
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   531
      echo "Deleting old sources tarball $PREV_SOURCE_TARBALL"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   532
      ask_cont_abort_question "Is this ok?" || exit 0
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   533
      rm "$PREV_SOURCE_TARBALL"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   534
      rm "$PREV_SOURCE_TARBALL.asc"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   535
      # if old and new lang-tarball are there, delete the old one
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   536
      if [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ] && [ -f "l10n-$VERSION$VERSION_SUFFIX.tar.xz" ]; then
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   537
          rm "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   538
      fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   539
  fi
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   540
}
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   541
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
   542
main "$@"