Skip to content

Instantly share code, notes, and snippets.

@dgeo
Created July 21, 2018 11:16
Show Gist options
  • Save dgeo/a040e30dedb08134b5721d6c2fcb8f2c to your computer and use it in GitHub Desktop.
Save dgeo/a040e30dedb08134b5721d6c2fcb8f2c to your computer and use it in GitHub Desktop.
upgrade/downgrade php version on FreeBSD
#!/bin/sh
#
# replace php version on FreeBSD
#
# usage: $0 [php56|php70|php71|php72|…] | sh
OVERS=$(pkg info -q |grep '^php[0-9][0-9]-[0-9]'| sed 's/-[0-9].*$//')
NVERS=${1:-php71}
echo "from $OVERS to $NVERS (CTRL+C ?)" >&2
read nimp
TOREINSTALL=""
pkg info -q| grep $OVERS | sed 's/-[0-9].*//' | while read op; do
for np in $NVERS${op#$OVERS} $NVERS-pecl${op#$OVERS} $(echo $NVERS${op#$OVERS} | sed 's/pecl-//'); do
pkg search $np > /dev/null && break || np=''
done
if [ -n "$np" ]; then
echo "pkg set -yn ${op}:${np}"
echo -n "$np " >&3
continue
fi
echo "#PB: $op n'a pas de remplacant" >&2
done 3>/tmp/pkg_to_reinstall.list
echo "pkg install -f $(cat /tmp/pkg_to_reinstall.list)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment