blob: c759a10ab05053a02bc3cac89f7442a295079fb2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
#!/bin/sh
. /lib/gentoo/functions.sh
set -e
[ -n "${DEBUG:-}" ] && set -x
if [ "$UID" != 0 ]; then
eerror "need to be root"
exit 1
fi
# builtin emerge args
eargs=
# order:
# sync -> portage update -> update -> update unstable -> clean -> flatpak
if test $# -eq 0; then
dosync=1
doupdate=1
dolive=1
doclean=1
doflatpak=1
fi
printonly=
while getopts spulcfKXBh opt; do
case ${opt} in
s) dosync=1 ;;
u) doupdate=1 ;;
l) dolive=1 ;;
c) doclean=1 ;;
f) doflatpak=1 ;;
B) eargs="$eargs -X www-client/librewolf" ;;
K) eargs="$eargs -X sys-kernel/* -X virtual/dist-kernel" ;;
X) printonly=1 ;;
h | ?)
printf "usage: %s [-hsulcfBKX]\n" "$(basename "$0")"
printf "\n"
exit 2
;;
esac
done
shift $((OPTIND - 1))
_() {
[ -n "$printonly" ] && printf "%s\n" "$*" && return
eval $*
}
ebegin syncing
[ -n "${dosync:-}" ] &&
_ emerge --sync &&
eend
ebegin updating portage
emerge --pretend --quiet --update sys-apps/portage | grep -qE '\[.*U.*\]' &&
_ emerge -a --oneshot --getbinpkg sys-apps/portage &&
eend
ebegin updating @world
[ -n "${doupdate:-}" ] &&
_ emerge -ag --update --deep --newuse --keep-going "$@" $eargs @world &&
eend
# --binpkg-respect-use=y
# _ revdep-ebuild -- "$@" $eargs &&
ebegin updating unstable
[ -n "${dolive:-}" ] &&
_ emerge -a1 --keep-going @live-rebuild &&
eend
ebegin depcleaning
[ -n "${doclean:-}" ] &&
_ emerge -a --depclean "$@" &&
_ eclean --deep packages &&
_ eclean --deep distfiles &&
eend
ebegin updating @preserved-rebuild
[ -n "${doupdate:-}" ] &&
_ emerge -a --keep-going "$@" $eargs @preserved-rebuild &&
eend
ebegin updating flatpaks
[ -x "$(command -v flatpak)" ] && [ -n "${doflatpak:-}" ] &&
_ flatpak upgrade &&
_ flatpak uninstall --unused &&
_ flatpak repair &&
eend
|