epm-full_upgrade 2.53 KB
Newer Older
Vitaly Lipatov's avatar
Vitaly Lipatov committed
1 2
#!/bin/sh
#
3 4
# Copyright (C) 2019, 2022  Etersoft
# Copyright (C) 2019, 2022  Vitaly Lipatov <lav@etersoft.ru>
Vitaly Lipatov's avatar
Vitaly Lipatov committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#
# 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/>.
#

20 21 22 23 24 25 26 27 28 29 30 31
epm_full_upgrade_help()
{
			get_help HELPCMD $SHAREDIR/epm-full_upgrade
	cat <<EOF
Also you can comment out full_upgrade parts in /etc/eepm/eepm.conf config.
Examples:
  epm full-upgrade
  epm full-upgrade --no-flatpack
EOF
}


Vitaly Lipatov's avatar
Vitaly Lipatov committed
32 33
epm_full_upgrade()
{
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

	while [ -n "$1" ] ; do
		case "$1" in
			"-h"|"--help"|"help")      # HELPCMD: help
				epm_full_upgrade_help
				return
				;;
			"--no-epm-play")           # HELPCMD: skip epm play during full upgrade
				full_upgrade_no_epm_play=1
				;;
			"--no-flatpack")           # HELPCMD: skip flatpack update during full upgrade
				full_upgrade_no_flatpack=1
				;;
			"--no-snap")           # HELPCMD: skip snap update during full upgrade
				full_upgrade_no_snap=1
				;;
50 51 52
			"--no-kernel-update")  # HELPCMD: skip kernel update during full upgrade
				full_upgrade_no_kernel_update=1
				;;
53 54 55 56
		esac
		shift
	done

57
	docmd epm update || fatal "repository updating is failed."
Vitaly Lipatov's avatar
Vitaly Lipatov committed
58

59
	[ -n "$quiet" ] || echo
60
	docmd epm upgrade || fatal "upgrading of the system is failed."
Vitaly Lipatov's avatar
Vitaly Lipatov committed
61

62 63 64 65
	if [ -z "$full_upgrade_no_kernel_update" ] ; then
		[ -n "$quiet" ] || echo
		docmd epm update-kernel || fatal "updating of the kernel is failed."
	fi
66

67 68 69
	# disable epm play --update for non ALT Systems
	[ "$BASEDISTRNAME" = "alt" ] || full_upgrade_no_epm_play=1

70
	if [ -z "$full_upgrade_no_epm_play" ] ; then
71
		[ -n "$quiet" ] || echo
72
		docmd epm play --update all || fatal "updating of applications installed via epm play is failed."
73 74
	fi

75
	if [ -z "$full_upgrade_no_flatpack" ] ; then
76
		if is_command flatpak ; then
77 78 79 80 81 82
			[ -n "$quiet" ] || echo
			docmd flatpak update
		fi
	fi

	if [ -z "$full_upgrade_no_snap" ] ; then
83
		if is_command snap && serv snapd exists && serv snapd status >/dev/null ; then
84 85 86
			[ -n "$quiet" ] || echo
			sudocmd snap refresh
		fi
87 88
	fi

89 90
	[ -n "$quiet" ] || echo
	docmd epm clean
Vitaly Lipatov's avatar
Vitaly Lipatov committed
91
}