#!/bin/sh -e
# ==================================================================================
# portsreinstall upgrade main script
# Copyright (C) 2018 Mamoru Sakaue, MwGhennndo, All Rights Reserved.
# This software is distributed under the 2-Clause BSD License.
# ==================================================================================

# ==================================================
# ================== ENVIRONMENT ===================
# ==================================================

# ============ Set up of environment =============
PROGRAM=portsreinstall
APPNAME=`basename "$0"`

MYPREFIX=`dirname "\`realpath $0\`"`
LIBDIR=${MYPREFIX}/lib
LIBEXECDIR=${MYPREFIX}/libexec/${PROGRAM}
ETCDIR=${MYPREFIX}/etc

. ${LIBDIR}/libcommand.sh
. ${LIBDIR}/libcommand_do.sh
. ${LIBDIR}/libcommand_flexconf.sh
. ${LIBDIR}/libcommand_forget.sh
. ${LIBDIR}/libcommand_pkgs.sh
. ${LIBDIR}/libcommand_show.sh
. ${LIBDIR}/libconf.sh
. ${LIBDIR}/libdatabase_build.sh
. ${LIBDIR}/libdatabase_maintain.sh
. ${LIBDIR}/libdatabase_query.sh
. ${LIBDIR}/libdatabase_record.sh
. ${LIBDIR}/libdeinstall.sh
. ${LIBDIR}/libfileedit.sh
. ${LIBDIR}/libmain.sh
. ${LIBDIR}/libmessage.sh
. ${LIBDIR}/libmisc.sh
. ${LIBDIR}/liboptions.sh
. ${LIBDIR}/libpkgsys.sh
. ${LIBDIR}/libprogram.sh
. ${LIBDIR}/libreinstall.sh
. ${LIBDIR}/libstr.sh
. ${LIBDIR}/libtemp.sh
. ${LIBDIR}/libusage.sh

. ${LIBDIR}/upgrade/libcommand.sh
. ${LIBDIR}/upgrade/libcommand_do.sh
. ${LIBDIR}/upgrade/libmain.sh
. ${LIBDIR}/upgrade/libmessage.sh
. ${LIBDIR}/upgrade/liboptions.sh
. ${LIBDIR}/upgrade/libusage.sh

DBDIR=/var/tmp/${APPNAME}.db
SAVEDENV=${ETCDIR}/setenv.sh
SAVEDCONF=${ETCDIR}/complete_setup.sh

main_set_version
misc_init_vardefs
temp_trap_init

. "${SAVEDENV}"

# ==================================================
# ========= PARSING OPTIONS AND ARGUMENTS ==========
# ==================================================

main_parse_options_arguments "$@"

# ========================================================
# ================== SET UP OF PARAMETERS ==================
# ========================================================

main_setup_parameters "$@"

# ==================================================
# ====================== MAIN =======================
# ==================================================

# Execute command operations which must be done before the main process
command_all_exec_before_main "$@"

# Execute command operations as the main process
command_all_exec_main "$@"
