aur/flutter.install
2024-07-07 04:19:01 +00:00

71 lines
1.6 KiB
Text

_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
echo "Flutter requires write permission into its install directory."
echo "This package redirects writes to '~/.cache/flutter_local'."
echo "Users should clear the cache themselves after upgrades."
echo
echo "Optionally, users may be given write permission to '/opt/flutter'"
echo "by adding them to the 'flutter' group:"
echo " sudo usermod -a -G flutter [username]"
echo
echo "Warning: '/opt/flutter' will be wiped on upgrade and uninstall."
}
post_upgrade() {
post_install
}
pre_install() {
chmod -R u+rwX,go+rX,go-w opt/flutter
}
pre_upgrade() {
chmod -R u+rwX,go+rX,go-w opt/flutter
}
pre_remove() {
# 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
echo "If no longer needed, remove the 'flutter' group:"
echo " sudo groupdel flutter"
}