[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