[MacPorts] howto/AdvancedDailyAdm modified
MacPorts Wiki
noreply at macports.org
Mon Apr 5 22:51:18 UTC 2021
Page "howto/AdvancedDailyAdm" was changed by BjarneDMat
Diff URL: <https://trac.macports.org/wiki/howto/AdvancedDailyAdm?action=diff&version=3>
Revision 3
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: howto/AdvancedDailyAdm
=========================================================================
--- howto/AdvancedDailyAdm (version: 2)
+++ howto/AdvancedDailyAdm (version: 3)
@@ -15,14 +15,20 @@
== The Scripts ==
+=== Script 0: '''Default Values''' ===
+{{{
+declare prefix='/opt/local'
+declare version='2.6.4'
+}}}
+
=== Script 1: '''Installation''' ===
{{{
-#!/bin/bash
+#!/usr/bin/env bash
################################################################################
# copyright Bjarne D Mathiesen
-# København ; Danmark ; Europa
+# Korsør ; Danmark ; Europa
# macintosh .at. mathiesen .dot. info
# date 04/07-2007
# revised 02/12-2007 implemented automatic patching of Portfiles
@@ -31,39 +37,76 @@
# removed sudo from commands
# 18/06-2011 added default values for the parameters
# updated path values for XCode4
-#
-# this script is released under the BSD license
+# 05/03-2017 added update to actions
+# 31/01-2018 added checkpaths & fixpaths
+# updated default values for the parameters
+# 02/03-2021 removed fixpaths
+# reworked setpaths
+# added fixCLT
+#
+# this script is released under the OSS GPL v3 license
# the author welcomes feedback and improvements
#
+( cd $( dirname ${0} )
+
+source ./portDefaults
usage() {
cat <<EOT
purpose : to automate the whole install process
-\${1} : action [ install (default) , paths ]
-\${2} : install prefix ( default /macports )
-\${3} : macports base version ( default 1.9.2 )
+\${1} : action [ update (default) , install , setpaths , checkpaths , select , fixCLT ]
+\${2} : macports base version ( default ${version} ) only for install
EOT
}
-declare action=${1:-"install"}
-declare prefix=${2:-"/macports"}
-declare version=${3:-"1.9.2"}
+declare action=${1:-"update"}
+[ ! -z ${2} ] && declare version=${2}
case ${action} in
+
+########################
+# https://trac.macports.org/wiki/ProblemHotlist#reinstall-clt
+('fixCLT')
+touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
+softwareupdate -ia
+rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
+
+;;
+########################
+#
+('select')
+while read -u 9 name selected options
+do
+ options=( $( echo ${options} ) )
+ port select --set "${name}" ${options[@]: -2:1}
+done 9< <( port -q select --summary )
+port select --summary
+
+;;
+########################
+# update installed ports
+('update')
+port -dN selfupdate
+port outdated
+port clean --work outdated
+port -cuNp upgrade outdated
+port -pN clean --work installed
+# port -pN reclaim
+
+;;
########################
# setup the system paths
-'paths')
+('setpaths')
mkdir -p /etc/paths.d
cp -np /etc/paths /etc/paths.orig
mv -n /etc/paths /etc/paths.d/999macosx
touch /etc/paths
-echo "${prefix}/bin" > /etc/paths.d/000macports
-echo "${prefix}/sbin" >> /etc/paths.d/000macports
-
-echo "/Developer/usr/bin" > /etc/paths.d/888developer
-echo "/Developer/usr/sbin" >> /etc/paths.d/888developer
+echo "${prefix}/bin" > /etc/paths
+echo "${prefix}/sbin" >> /etc/paths
+
+echo "/Applications/Xcode.app/Contents/Developer/usr/bin" > /etc/paths.d/888developer
mkdir -p /etc/manpaths.d
cp -np /etc/manpaths /etc/manpaths.orig
@@ -71,42 +114,51 @@
touch /etc/manpaths
echo "${prefix}/share/man" > /etc/manpaths.d/000macports
-echo "/Developer/usr/share/man" > /etc/manpaths.d/888developer
-echo "/Developer/usr/X11/share/man" >> /etc/manpaths.d/888developer
-
-# path_helper is buggy under 10.5
-#cp -npv /usr/libexec/path_helper /usr/libexec/path_helper.orig
-#cp -v path_helper /usr/libexec/
+#echo "/Developer/usr/share/man" > /etc/manpaths.d/888developer
+#echo "/Developer/usr/X11/share/man" >> /etc/manpaths.d/888developer
+
+;;
+########################
+# check the system paths
+('checkpaths')
+/usr/libexec/path_helper
;;
##################
# install macports
-'install')
+('install')
if [ ! -e MacPorts-${version}.tar.gz ]
then
- curl -O --url "http://distfiles.macports.org/MacPorts/MacPorts-${version}.tar.gz"
+ curl -O --url "https://distfiles.macports.org/MacPorts/MacPorts-${version}.tar.gz"
fi
rm -rf ./MacPorts-${version}
tar -zxf MacPorts-${version}.tar.gz
cd MacPorts-${version}
-./configure LDFLAGS=-L/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib --prefix=${prefix}
+#patch -p0 </Volumes/Bjarne/WebServer/MacPorts/newPorts/pathces/mp-base-no-progress-if-stdout-no-tty.patch
+#./configure LDFLAGS=-L/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib --prefix=${prefix}
+./configure --prefix=${prefix}
make
make install
# update MacPorts itself
-${prefix}/bin/port -d selfupdate
-
-# let's get bash
-${prefix}/bin/port install bash
+${prefix}/bin/port -dN selfupdate
+
+# let's get bash, zsh & nano
+${prefix}/bin/port -N install bash zsh nano
+
+# cleanup
+rm -rf ./MacPorts-${version}
;;
# default
-*)
+(*)
usage
esac
+
+) ; wait
}}}
=== Script 2: '''Updating''' ===
-------8<------8<------8<------8<------8<------8<------8<------8<--------
--
Page URL: <https://trac.macports.org/wiki/howto/AdvancedDailyAdm>
MacPorts <https://www.macports.org/>
Ports system for macOS
This is an automated message. Someone added your email address to be
notified of changes on 'howto/AdvancedDailyAdm' page.
If it was not you, please report to admin at macports.org.
More information about the macports-changes
mailing list