#!/bin/sh
#
# Copyright (C) 2012, 2017  Etersoft
# Copyright (C) 2012, 2017  Vitaly Lipatov <lav@etersoft.ru>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

epm_addrepo()
{
local repo="$(eval echo "$quoted_args")"

case $DISTRNAME in
	ALTLinux)
		case "$repo" in
			etersoft)
				info "add etersoft repo"
				load_helper epm-query
				epm install --skip-installed apt-conf-etersoft-common apt-conf-etersoft-hold || fatal
				local branch="$DISTRVERSION/branch"
				[ "$DISTRVERSION" = "Sisyphus" ] && branch="$DISTRVERSION"
				# FIXME
				[ -n "$DISTRVERSION" ] || fatal "Empty DISTRVERSION"
				local arch=$(uname -m)
				[ "$arch" = "i686" ] && arch="i586"
				echo "" | sudocmd tee -a /etc/apt/sources.list
				echo "# added with eepm addrepo etersoft" | sudocmd tee -a /etc/apt/sources.list
				echo "rpm [etersoft] http://download.etersoft.ru/pub/Etersoft LINUX@Etersoft/$branch/$arch addon" | sudocmd tee -a /etc/apt/sources.list
				if [ "$arch" = "x86_64" ] ; then
					echo "rpm [etersoft] http://download.etersoft.ru/pub/Etersoft LINUX@Etersoft/$branch/$arch-i586 addon" | sudocmd tee -a /etc/apt/sources.list
				fi
				echo "rpm [etersoft] http://download.etersoft.ru/pub/Etersoft LINUX@Etersoft/$branch/noarch addon" | sudocmd tee -a /etc/apt/sources.list
				repo="$DISTRVERSION"
				return 0
				;;
			autoimports)
				[ -n "$DISTRVERSION" ] || fatal "Empty DISTRVERSION"
				repo="$repo.$(echo "$DISTRVERSION" | tr "A-Z" "a-z")"
		esac

		assure_exists apt-repo
		if [ -z "$repo" ] ; then
			docmd apt-repo add branch
			echo "etersoft"
			return
		fi
		sudocmd apt-repo add "$repo"
		return
		;;
esac


case $PMTYPE in
	apt-dpkg|aptitude-dpkg)
		info "You need manually add repo to /etc/apt/sources.list"
		;;
	yum-rpm)
		assure_exists yum-utils
		sudocmd yum-config-manager --add-repo "$repo"
		;;
	urpm-rpm)
		sudocmd urpmi.addmedia "$repo"
		;;
	zypper-rpm)
		sudocmd zypper ar "$repo"
		;;
	emerge)
		sudocmd layman -a "$repo"
		;;
	pacman)
		info "You need manually add repo to /etc/pacman.conf"
		# Only for alone packages:
		#sudocmd repo-add $pkg_filenames
		;;
	npackd)
		sudocmd npackdcl add-repo --url="$repo"
		;;
	slackpkg)
		info "You need manually add repo to /etc/slackpkg/mirrors"
		;;
	*)
		fatal "Have no suitable command for $PMTYPE"
		;;
esac

}