mirror of
https://github.com/archlinux/aur.git
synced 2026-03-14 23:16:48 +01:00
104 lines
2.1 KiB
Text
104 lines
2.1 KiB
Text
note() {
|
|
printf "${BOLD}${BLUE}==>${YELLOW} $1 ${WHITE}$2${ALL_OFF}\n"
|
|
}
|
|
|
|
msg1() {
|
|
printf "${BOLD}${BLUE}==>${WHITE} $1${ALL_OFF}\n"
|
|
}
|
|
|
|
msg2() {
|
|
printf " ${WHITE} $1${ALL_OFF}\n"
|
|
}
|
|
|
|
ALL_OFF="$(tput sgr0)"
|
|
BOLD="${ALL_OFF}$(tput bold)"
|
|
BLACK="$(tput setaf 0)"
|
|
RED="$(tput setaf 1)"
|
|
GREEN="$(tput setaf 2)"
|
|
YELLOW="$(tput setaf 3)"
|
|
BLUE="$(tput setaf 4)"
|
|
MAGENTA="$(tput setaf 5)"
|
|
CYAN="$(tput setaf 6)"
|
|
WHITE="$(tput setaf 7)"
|
|
|
|
_builders=(
|
|
builder
|
|
builduser
|
|
main-builder
|
|
)
|
|
|
|
_groups=(
|
|
flutter
|
|
flutteruser
|
|
)
|
|
|
|
post_install() {
|
|
# primary flutter group
|
|
groupadd -f flutter
|
|
|
|
for i in "${_groups[@]}"; do
|
|
if grep -q "$i" /etc/passwd > /dev/null; then
|
|
setfacl -R -m "g:$i:rwX" /opt/flutter
|
|
fi
|
|
done
|
|
|
|
# clean chroot/container builders
|
|
for i in "${_builders[@]}"; do
|
|
if grep -q "$i" /etc/passwd > /dev/null; then
|
|
setfacl -R -m "u:$i:rwX" /opt/flutter
|
|
fi
|
|
done
|
|
|
|
note 'Warning:' "'/opt/flutter' will be wiped on upgrade and uninstall."
|
|
echo
|
|
msg2 "Flutter requires write permission to the install directory."
|
|
echo
|
|
msg2 "This package redirects writes to '~/.cache/flutter_*'."
|
|
msg2 "Users should unmount and clear the cache after upgrades."
|
|
echo
|
|
msg2 " fusermount -uq ~/.cache/flutter_sdk"
|
|
msg2 " rm -rf ~/.cache/{flutter_sdk,flutter_local}"
|
|
echo
|
|
msg2 "Optionally, adding users to the 'flutter' group would"
|
|
msg2 "give them direct access to '/opt/flutter':"
|
|
echo
|
|
msg2 " sudo usermod -a -G flutter [username]"
|
|
}
|
|
|
|
post_upgrade() {
|
|
post_install
|
|
}
|
|
|
|
pre_install() {
|
|
pre_remove
|
|
}
|
|
|
|
pre_upgrade() {
|
|
pre_remove
|
|
}
|
|
|
|
pre_remove() {
|
|
if [ ! -e opt/flutter ]; then
|
|
return
|
|
fi
|
|
|
|
# remove extra permissions
|
|
for i in ${_builders[@]} ${_groups[@]}; do
|
|
if grep -q "group:$i" <<< $(getfacl -ac /opt/flutter 2> /dev/null); then
|
|
setfacl -R -x "g:$i" /opt/flutter
|
|
fi
|
|
if grep -q "user:$i" <<< $(getfacl -ac /opt/flutter 2> /dev/null); then
|
|
setfacl -R -x "u:$i" /opt/flutter
|
|
fi
|
|
done
|
|
|
|
chmod -R u+rwX,go+rX,go-w opt/flutter
|
|
}
|
|
|
|
post_remove() {
|
|
rm -rf opt/flutter
|
|
|
|
msg1 "If no longer needed, remove the 'flutter' group:"
|
|
echo
|
|
msg2 " sudo groupdel flutter"
|
|
}
|