#!/bin/sh
#
# Copyright (c) 2009 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# This script is part of the @@PACKAGE@@ package.
#
# It creates the repository configuration file for package updates, since
# we cannot do this during the @@PACKAGE@@ installation since the repository
# is locked.
#
# This functionality can be controlled by creating the $DEFAULTS_FILE and
# setting "repo_add_once" to "true" or "false" as desired. An empty
# $DEFAULTS_FILE is the same as setting the value to "false".

@@include@@rpm.include

## MAIN ##
DEFAULTS_FILE="/etc/default/@@PACKAGE@@"
if [ -r "$DEFAULTS_FILE" ]; then
  . "$DEFAULTS_FILE"
fi

if [ "$repo_add_once" = "true" ]; then
  determine_rpm_package_manager

  # The initial install happens in the post-install scripts, but there have been
  # reports of configuration problems, so just verify that everything looks
  # good, and if not, try to install again.
  verify_install $PACKAGEMANAGER
  if [ $? -ne 0 ]; then
    install_${PACKAGEMANAGER}
  fi

  # Now do any extra configuration that couldn't be done by post-install.
  case $PACKAGEMANAGER in
  "urpmi")
    # We need to configure urpmi after the install has finished.
    # See configure_urpmi() for details.
    configure_urpmi
    ;;
  "yast")
    # It looks as though yast/zypper has a lock on the RPM DB during
    # postinstall, so we cannot add the signing key with install_rpm_key().
    # Instead, we attempt to do this here. If the user attempt to update before
    # the cron job imports the key, Yast will grab the key from our server and
    # prompt the user to accept the key.
    install_rpm_key
    ;;
  esac

  if [ $? -eq 0 ]; then
    # Before we quit auto-configuration, check that everything looks sane, since
    # part of this happened during package install and we don't have the return
    # value of that process.
    verify_install $PACKAGEMANAGER
    if [ $? -eq 0 ]; then
      sed -i -e 's/[[:space:]]*repo_add_once=.*/repo_add_once="false"/' \
        "$DEFAULTS_FILE"
    fi
  fi
else
  update_bad_repo
fi