1010}
1111
1212get () {
13- file_path=$1
14- shift
13+ mode=$1
14+ file_path=$2
15+ shift 2
1516 links=(" $@ " )
16- command -v sudo > /dev/null && SUDO=sudo
17- for link in " ${links[@]} " ; do
18- status_code=$( ${SUDO} curl -w " %{http_code}" -o " $file_path " -sL " $link " )
19- [ " $status_code " = " 200" ] && break
20- done
17+ if [ " $mode " = " -s" ]; then
18+ sudo curl -sL " ${links[0]} "
19+ else
20+ for link in " ${links[@]} " ; do
21+ status_code=$( sudo curl -w " %{http_code}" -o " $file_path " -sL " $link " )
22+ [ " $status_code " = " 200" ] && break
23+ done
24+ fi
2125}
2226
2327set_base_version_id () {
2428 [[ " $ID " =~ ubuntu| debian ]] && return ;
2529 if ! [ -d " $dist_info_dir " ]; then
2630 sudo mkdir -p " $dist_info_dir "
27- get " $dist_info_dir " /os_releases.csv https://raw.githubusercontent.com/shivammathur/setup-php/develop/src/configs/os_releases.csv
31+ get -q " $dist_info_dir " /os_releases.csv https://raw.githubusercontent.com/shivammathur/setup-php/develop/src/configs/os_releases.csv
2832 fi
2933 for base in ubuntu debian; do
3034 [[ " $ID_LIKE " =~ $base ]] && ID=" $base " && VERSION_ID=" $( grep -hr -m 1 " $VERSION_CODENAME " /usr/share/distro-info | cut -d ' ,' -f 1 | cut -d ' ' -f 1) " && break
@@ -95,15 +99,15 @@ check_lists() {
9599
96100ubuntu_fingerprint () {
97101 ppa=$1
98- curl -sL " $ lp_api" /~ " ${ppa%/* } " /+archive/" ${ppa##*/ } " | jq -r ' .signing_key_fingerprint'
102+ get -s " " " ${ lp_api[@] /%// ~ ${ppa%/* } / +archive/ ${ppa##*/ } }" | jq -r ' .signing_key_fingerprint'
99103}
100104
101105debian_fingerprint () {
102106 ppa=$1
103107 ppa_url=$2
104108 package_dist=$3
105109 release_pub=/tmp/" ${ppa/ \/ / -} " .gpg
106- get " $release_pub " " $ppa_url " /dists/" $package_dist " /Release.gpg
110+ get -q " $release_pub " " $ppa_url " /dists/" $package_dist " /Release.gpg
107111 gpg --list-packets " $release_pub " | grep -Eo ' fpr\sv4\s.*[a-zA-Z0-9]+' | head -n 1 | cut -d ' ' -f 3
108112}
109113
@@ -114,20 +118,20 @@ add_key() {
114118 key_source=$4
115119 key_file=$5
116120 key_urls=(" $key_source " )
117- if [[ " $key_source " =~ launchpad.net| debian.org| setup-php.com ]]; then
121+ if [[ " $key_source " =~ launchpad.net| launchpadcontent.net | debian.org| setup-php.com ]]; then
118122 fingerprint=" $( " ${ID} " _fingerprint " $ppa " " $ppa_url " " $package_dist " ) "
119123 sks_params=" op=get&options=mr&exact=on&search=0x$fingerprint "
120124 key_urls=(" ${sks[@]/%/ \/ pks\/ lookup\? " $sks_params " } " )
121125 fi
122- [ ! -e " $key_source " ] && get " $key_file " " ${key_urls[@]} "
126+ [ ! -e " $key_source " ] && get -q " $key_file " " ${key_urls[@]} "
123127 if [[ " $( file " $key_file " ) " =~ .* (' Public-Key (old)' | ' Secret-Key' ) ]]; then
124128 sudo gpg --batch --yes --dearmor " $key_file " > /dev/null 2>&1 && sudo mv " $key_file " .gpg " $key_file "
125129 fi
126130}
127131
128132add_list () {
129133 ppa=${1-ondrej/ php}
130- ppa_url=${2:- " $lp_ppa /$ppa /ubuntu" }
134+ ppa_url=${2:- " $lpc_ppa /$ppa /ubuntu" }
131135 key_source=${3:- " $ppa_url " }
132136 package_dist=${4:- " $VERSION_CODENAME " }
133137 branches=${5:- main}
@@ -148,8 +152,10 @@ add_list() {
148152
149153remove_list () {
150154 ppa=${1-ondrej/ php}
151- ppa_url=${2:- " $lp_ppa /$ppa /ubuntu" }
152- grep -lr " $ppa_url " " $list_dir " | xargs -n1 sudo rm -f
155+ [ -n " $2 " ] && ppa_urls=(" $2 " ) || ppa_urls=(" $lp_ppa /$ppa /ubuntu" " $lpc_ppa /$ppa /ubuntu" )
156+ for ppa_url in " ${ppa_urls[@]} " ; do
157+ grep -lr " $ppa_url " " $list_dir " | xargs -n1 sudo rm -f
158+ done
153159 sudo rm -f " $key_dir " /" ${ppa/ \/ / -} " -keyring || true
154160}
155161
@@ -280,7 +286,7 @@ install() {
280286 to_wait=($! )
281287 fi
282288 tar_file=" php_$version$PHP_PKG_SUFFIX +$ID$VERSION_ID$ARCH_SUFFIX .tar.zst"
283- get " /tmp/$tar_file " " https://github.com/shivammathur/php-builder/releases/download/$version /$tar_file "
289+ get -q " /tmp/$tar_file " " https://github.com/shivammathur/php-builder/releases/download/$version /$tar_file "
284290 sudo rm -rf /etc/php/" $version " /tmp/php" $version "
285291 sudo mkdir -m 777 -p /tmp/php" $version " /var/run /run/php /lib/systemd/system /usr/lib/tmpfiles.d /etc/apache2/mods-available /etc/apache2/conf-available /etc/apache2/sites-available /etc/nginx/sites-available /usr/lib/apache2/modules
286292 extract_build " $tar_file " /tmp/php" $version "
@@ -415,8 +421,12 @@ list_file="$list_dir/ubuntu.sources"
415421[ -e " $list_file " ] || list_file=' /etc/apt/sources.list'
416422debconf_fix=' DEBIAN_FRONTEND=noninteractive'
417423upstream_lsb=' /etc/upstream-release/lsb-release'
418- lp_api=' https://api.launchpad.net/1.0'
424+ lp_api=(
425+ ' https://api.launchpad.net/1.0'
426+ ' https://api.launchpad.net/devel'
427+ )
419428lp_ppa=' http://ppa.launchpad.net'
429+ lpc_ppa=' https://ppa.launchpadcontent.net'
420430key_dir=' /usr/share/keyrings'
421431dist_info_dir=' /usr/share/distro-info'
422432sury=' https://packages.sury.org'
0 commit comments