| CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Fri, 09 Jan 2026 23:44:08 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20091012105356
location: https://web.archive.org/web/20091012105356/https://www.darwinports.com/update_darwinports_bash.txt
server-timing: captures_list;dur=0.946195, exclusion.robots;dur=0.041948, exclusion.robots.policy;dur=0.032543, esindex;dur=0.010997, cdx.remote;dur=22.446878, LoadShardBlock;dur=161.058864, PetaboxLoader3.resolve;dur=77.026548, PetaboxLoader3.datanode;dur=59.423154
x-app-server: wwwb-app219-dc8
x-ts: 302
x-tr: 210
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app219; path=/
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Fri, 09 Jan 2026 23:44:09 GMT
content-type: text/plain
content-length: 4462
x-archive-orig-date: Mon, 12 Oct 2009 10:44:21 GMT
x-archive-orig-server: Apache
x-archive-orig-last-modified: Fri, 28 Oct 2005 12:51:06 GMT
x-archive-orig-etag: "1542a5-116e-f159a280"
x-archive-orig-accept-ranges: bytes
x-archive-orig-content-length: 4462
x-archive-orig-vary: Accept-Encoding
x-archive-orig-connection: close
cache-control: max-age=1800
x-archive-guessed-content-type: text/plain
x-archive-guessed-charset: ibm852
memento-datetime: Mon, 12 Oct 2009 10:53:56 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 51_12_20091012024023_crawl101-c/51_12_20091012105255_crawl103.arc.gz
server-timing: captures_list;dur=0.470213, exclusion.robots;dur=0.016300, exclusion.robots.policy;dur=0.007078, esindex;dur=0.010886, cdx.remote;dur=7.461407, LoadShardBlock;dur=94.988772, PetaboxLoader3.datanode;dur=116.723727, load_resource;dur=179.113885, PetaboxLoader3.resolve;dur=136.935697
x-app-server: wwwb-app219-dc8
x-ts: 200
x-tr: 314
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
accept-ranges: bytes
#!/bin/bash
################################################################################
# copyright Bjarne D Mathiesen
# K?benhavn ; Danmark ; Europa
# macintosh .at. mathiesen .dot. info
# date 20/10-2005
#
# this script is released under the OSS GPL license
# the author welcomes feedback and improvements
#
# purpose : to automate the whole 'port -acu upgrade' process
# recursively uninstalling and re-installing ports
# that are dependent upon the ports that need upgrading
# update DarwinPorts itself
sudo port selfupdate
sudo port sync
# get a list of the installed ports
portList=( $( port installed | sed 1,1d | cut -f 3 -d ' ' ) )
# get a list of the outdated ports
echo
port outdated
portOutdated=( $( port outdated | sed 1,1d | cut -f 1 -d ' ' ) )
declare -a portDeactivate # a list of the ports dependent on a single port
declare -a portDeactivateCurrent # accumulated list of port dependencies for a single iteration of the search
declare -a portDeactivateTotal # the total list of the found dependencies
declare -a portTesting # a list of the ports under scrutiny
declare -a portDependencies # the total list of port dependencies
# build the total list of ports that have dependencies
(( index=0 ))
for listet in ${portList[@]}
do
portDepends=( $( port deps ${listet} | sed "/${listet}/d" |tr -d '\t' ) )
if [ ${#portDepends[@]} -ne 0 ]
then
portDependencies[${index}]=$( echo "${listet}: ${portDepends[@]}" )
(( index++ ))
fi
done
# intiate the first search for dependencies
portDeactivateCurrent=( $( echo ${portOutdated[@]} ) )
# keep on testing recursively
while [ ! ]
do
portTesting=( $( echo ${portDeactivateCurrent[@]} ) )
unset -v portDeactivateCurrent[@]
# portTesting has now been initiated with the ports found in the last iteration
# portDeactivateCurrent has been cleared and is ready to receive newly found dependencies
for deactivate in ${portTesting[@]}
do
# search through all the installed ports for ports that has a
# dependency on one of the ports that's being tested
portDeactivate=( \
$( { for (( index=0 ; index < ${#portDependencies[@]} ; index++ ))
do
echo "${portDependencies[${index}]}"
done } \
| grep ${deactivate} | sed -E "/^${deactivate}:/d" | cut -f 1 -d ':' ) )
# remove duplicates from the list of currently found dependencies
for portName in ${portDeactivate[@]}
do
portDeactivateCurrent=( $( echo "${portDeactivateCurrent[@]}" \
| sed "s/${portName}//" ) )
done
portDeactivateCurrent=( $( echo "${portDeactivate[@]} ${portDeactivateCurrent[@]}" ) )
done
# don't recurse down through the outdated ports
# so remove them if they should turn up as dependencies
for portName in ${portOutdated[@]}
do
portDeactivateCurrent=( $( echo "${portDeactivateCurrent[@]}" \
| sed "s/${portName}//" ) )
done
# test if new dependecies have been discovered
if [ -n "$(echo -n ${portDeactivateCurrent[@]} | tr -d ' ')" ]
then
# remove instances of dependencies that already are present in the total list
for portName in ${portDeactivateCurrent[@]}
do
portDeactivateTotal=( $( echo "${portDeactivateTotal[@]}" | sed "s/${portName}//" ) )
done
# concatenate the newly discovered dependencies with the old list
portDeactivateTotal=( $( echo "${portDeactivateCurrent[@]} ${portDeactivateTotal[@]}" ) )
else
# stop the search
break
fi
done
echo -e "\n\rThe following installed ports seem to have dependencies on the outdated ports."
for deactivate in ${portDeactivateTotal[@]}
do
echo $(port installed ${deactivate} | sed 1,1d)
(sudo port uninstall ${deactivate}) ; wait
done
echo -e "\n\rupgrade the outdated ports"
echo "and uninstall and remove the outdated version(s)"
for outdated in ${portOutdated[@]}
do
echo $(port installed ${outdated} | sed 1,1d)
(sudo port -acu upgrade ${outdated}) ; wait
done
echo -e "\n\rre-install all the ports that in some way is dependent on the upgraded ports"
for activate in ${portDeactivateTotal[@]}
do
(sudo port install ${activate}) ; wait
done
exit