Intégration de la branche release-5.3.0
This commit is contained in:
		
						commit
						82b62f2326
					
				| @ -1,3 +1,9 @@ | ||||
| ## Version 5.3.0 du 28/09/2016-23:31 | ||||
| 
 | ||||
| 5c466d8 ldif et ldap: match des suffixes sans tenir compte de la casse. modrdn prend un nouvel argument SUFFIX | ||||
| 9eb566a runsmod: modifier chemins par défaut | ||||
| a082788 bash_completion: bug sur certains serveurs | ||||
| 
 | ||||
| ## Version 5.2.1 du 01/09/2016-15:44 | ||||
| 
 | ||||
| 9995f95 runsmod: bug | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 5.2.1 | ||||
| 5.3.0 | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 013002000 | ||||
| 013003000 | ||||
|  | ||||
| @ -32,4 +32,9 @@ function __bash_completion_module_enabled() { | ||||
| if ! __bash_completion_enabled; then | ||||
|     __NUTOOLS_BASH_COMPLETION=1 | ||||
| fi | ||||
| [ -n "$BASH_COMPLETION" ] || BASH_COMPLETION=1 | ||||
| if [ -z "$BASH_COMPLETION" ]; then | ||||
|     BASH_COMPLETION=1 | ||||
|     # activer les options nécessaires pour la complétion, parce que ce n'est | ||||
|     # peut-être pas encore fait. | ||||
|     shopt -s extglob progcomp | ||||
| fi | ||||
|  | ||||
| @ -129,7 +129,7 @@ function get_dcsuffix() { | ||||
|     # base de donnée non administrative. | ||||
|     # retourner 1 si la valeur n'a pas pu être obtenue | ||||
|     local suffix | ||||
|     suffix="$(get_suffixes "$1" | awk '/(^|,)dc=[^,]+/ { print }')" || return 1 | ||||
|     suffix="$(get_suffixes "$1" | awk '/(^|,)[dD][cC]=[^,]+/ { print }')" || return 1 | ||||
|     <<<"$suffix" head -n1 | ||||
| } | ||||
| 
 | ||||
| @ -140,22 +140,23 @@ function get_suffix() { | ||||
|     # retourner 1 si la valeur n'a pas pu être obtenue | ||||
|     local suffixes suffix | ||||
|     suffixes="$(get_suffixes "$1")" || return 1 | ||||
|     suffix="$(<<<"$suffixes" awk '/(^|,)dc=[^,]+/ { print }')" | ||||
|     suffix="$(<<<"$suffixes" awk '/(^|,)[dD][cC]=[^,]+/ { print }')" | ||||
|     [ -n "$suffix" ] || suffix="$suffixes" | ||||
|     <<<"$suffix" head -n1 | ||||
| } | ||||
| 
 | ||||
| function reldn() { | ||||
|     local suffix="${2:-$SUFFIX}" | ||||
|     local dn="$(strlower "$1")" | ||||
|     local suffix="$(strlower "${2:-$SUFFIX}")" | ||||
| 
 | ||||
|     # exprimer le dn $1 relativement au suffixe $2(=$SUFFIX) | ||||
|     if [ -z "$suffix" ]; then | ||||
|         echo "$1" | ||||
|     elif [ -z "$1" -o "$1" == "$suffix" ]; then | ||||
|     elif [ -z "$dn" -o "$dn" == "$suffix" ]; then | ||||
|         echo "" | ||||
|     elif [ "${1%,$suffix}" != "$1" ]; then | ||||
|     elif [ "${dn%,$suffix}" != "$dn" ]; then | ||||
|         # absolu, enlever $suffix | ||||
|         echo "${1%,$suffix}" | ||||
|         echo "${1:$((${#dn} - ${#suffix}))}" | ||||
|     else | ||||
|         # relatif | ||||
|         echo "$1" | ||||
| @ -163,19 +164,20 @@ function reldn() { | ||||
| } | ||||
| 
 | ||||
| function _absdn() { | ||||
|     local suffix="$2" | ||||
|     local dn="$(strlower "$1")" | ||||
|     local suffix="$(strlower "$2")" | ||||
| 
 | ||||
|     # obtenir le dn absolu correspondant au dn $1, le dn de base étant $2 | ||||
|     if [ -z "$suffix" ]; then | ||||
|         echo "$1" | ||||
|     elif [ -z "$1" -o "$1" == "$suffix" ]; then | ||||
|         echo "$suffix" | ||||
|     elif [ "${1%,$suffix}" != "$1" ]; then | ||||
|     elif [ -z "$dn" -o "$dn" == "$suffix" ]; then | ||||
|         echo "$2" | ||||
|     elif [ "${dn%,$suffix}" != "$dn" ]; then | ||||
|         # absolu | ||||
|         echo "$1" | ||||
|     else | ||||
|         # relatif, ajouter $suffix | ||||
|         echo "$1,$suffix" | ||||
|         echo "$1,$2" | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| @ -187,7 +189,9 @@ function absdn() { | ||||
| 
 | ||||
| function subof() { | ||||
|     # tester si le dn absolu $1 est $2 ou un enfant de $2 | ||||
|     [ "$1" == "$2" -o "${1%,$2}" != "$1" ] | ||||
|     local dn="$(strlower "$1")" | ||||
|     local par="$(strlower "$2")" | ||||
|     [ "$dn" == "$par" -o "${dn%,$par}" != "$dn" ] | ||||
| } | ||||
| 
 | ||||
| function rabsdn() { | ||||
| @ -207,7 +211,7 @@ function rabsdn() { | ||||
|     if [ "${dn#/}" != "$dn" ]; then | ||||
|         echo "${dn#/}" | ||||
|     elif [ "$dn" == "~" ]; then | ||||
|         echo "$SUFFIX" | ||||
|         echo "$suffix" | ||||
|     elif [ "${dn#\~/}" != "$dn" ]; then | ||||
|         _absdn "${dn#\~/}" "$suffix" | ||||
|     else | ||||
|  | ||||
| @ -274,16 +274,27 @@ function tl_deleteentry() { | ||||
| 
 | ||||
| function tl_modrdn() { | ||||
|     local newrdn newsup keep | ||||
|     local suffix="$(strlower "$3")" | ||||
|     local dn="$(strlower "$1")" | ||||
|     if [ "${1%,}" != "$1" ]; then | ||||
|         # ignorer le suffixe éventuellement fourni | ||||
|         set -- "${1%,}" "$2" | ||||
|     elif [ -n "$suffix" -a "${dn%,$suffix}" == "$dn" ]; then | ||||
|         # rajouter le suffixe | ||||
|         set -- "$1,$3" "$2" | ||||
|     fi | ||||
|     splitfsep "$1" , newrdn newsup | ||||
|     case "$2" in | ||||
|     k|keep|keepold|keepoldrdn) keep=1;; | ||||
|     esac | ||||
|     case "$2" in k|keep|keepold|keepoldrdn) keep=1;; esac | ||||
|     awkrun newrdn:str="$newrdn" newsup:str="$newsup" keep:int="$keep" ' | ||||
| /^dn:/ { | ||||
|   dn = $0 | ||||
|   print dn | ||||
|   actual_newrdn = newrdn | ||||
|   if (actual_newrdn == "") { | ||||
|     actual_newrdn = $2 | ||||
|     gsub(/,.*$/, "", actual_newrdn) | ||||
|   } | ||||
|   print | ||||
|   print "changetype: modrdn" | ||||
|   print "newrdn: " newrdn | ||||
|   print "newrdn: " actual_newrdn | ||||
|   if (keep) print "deleteoldrdn: 0" | ||||
|   else print "deleteoldrdn: 1" | ||||
|   if (newsup != "") print "newsuperior: " newsup | ||||
| @ -1274,9 +1285,18 @@ D, moddelattr | ||||
|     Supprimer l'attribut | ||||
| delentry | ||||
|     Supprimer l'objet | ||||
| rename, modrdn NEWRDN[,NEWSUPERIOR] [keep[oldrdn]] | ||||
| rename, modrdn NEWRDN[,NEWSUPERIOR] [keep[oldrdn]] [SUFFIX] | ||||
|     Déplacer/renommer l'objet. L'ancienne valeur est supprimée, à moins que | ||||
|     l'argument keep ne soit spécifié. | ||||
|     Si NEWRDN est vide, alors ',NEWSUPERIOR' doit être spécifié (remarquez la | ||||
|     virgule avant le nouveau supérieur), et cela signifie que l'objet a le même | ||||
|     RDN dans la nouvelle branche. | ||||
|     SUFFIX est le suffixe de la base de donnée. Le DN 'NEWRDN,NEWSUPERIOR' est | ||||
|     exprimé relativement à SUFFIX, sauf s'il se termine par une virgule. Par | ||||
|     exemple, étant donné SUFFIX='dc=domain,dc=tld', les expressions suivantes | ||||
|     sont équivalentes: | ||||
|         modrdn uid=new,ou=people  <=> modrdn uid=new,ou=people,dc=domain,dc=tld | ||||
|         modrdn uid=new,cn=config, <=> modrdn uid=new,cn=config | ||||
| touchentry | ||||
|     Forcer la réplication de l'objet en simulant une modification" | ||||
| 
 | ||||
| @ -1293,6 +1313,9 @@ function get_transform_cmd() { | ||||
|     # _T_cut_after: | ||||
|     #     faut-il découper automatiquement les lignes *après* avoir lancé les | ||||
|     #     commandes. | ||||
|     # _T_suffix: | ||||
|     #     suffixe de la base de données pour les commandes qui prennent des RDN, | ||||
|     #     e.g. modrdn | ||||
|     local -a cmds cmdparts | ||||
|     local cmd dest first=1 xempty xdel | ||||
|     local auto_uncut="$_T_uncut_before" | ||||
| @ -1395,7 +1418,7 @@ function get_transform_cmd() { | ||||
|         d|md|moddel|moddelval) cmdparts=(tl_modifyattr delete);; | ||||
|         D|moddelattr) cmdparts=(tl_deleteattr);; | ||||
|         delentry|moddelentry) cmdparts=(tl_deleteentry);; | ||||
|         rename|modrdn|modrename|modmodrdn) cmdparts=(tl_modrdn "$@");; | ||||
|         rename|modrdn|modrename|modmodrdn) cmdparts=(tl_modrdn "$1" "$2" "${3:-$_T_suffix}");; | ||||
|         touch|touchentry|modtouchentry) cmdparts=(tl_touchentry);; | ||||
|         litteral) cmdparts=("$@");; | ||||
|         *) | ||||
|  | ||||
| @ -28,13 +28,13 @@ RUNSMOD_MODULES_URLS=( | ||||
| RUNSMOD_HOSTS_URLS=( | ||||
|     runsh | ||||
| ) | ||||
| RUNSMOD_BASEDIR="$HOME/runs" | ||||
| RUNSMOD_BASEDIR="$HOME/wop/runsmod" | ||||
| RUNSMOD_MAP=( | ||||
|     # mapping par défaut | ||||
|     runss:"$HOME/wop/runs" | ||||
|     modules:"$HOME/wop/modules" | ||||
|     hosts:"$HOME/wop/hosts" | ||||
|     runsh:"$HOME/wop/hosts/all/hosts" | ||||
|     hosts:"$HOME/wop/hosts.d" | ||||
|     runsh:"$HOME/wop/hosts" | ||||
| ) | ||||
| RUNSMOD_PROFILES=( | ||||
|     pvcs | ||||
| @ -49,11 +49,11 @@ RUNSMOD_pvcs_SCRIPTS_URLS=("${RUNSMOD_SCRIPTS_URLS[@]}" si/base-runs) | ||||
| RUNSMOD_pvcs_MODULES_URLS=("${RUNSMOD_MODULES_URLS[@]}") | ||||
| RUNSMOD_pvcs_HOSTS_URLS=("${RUNSMOD_HOSTS_URLS[@]}") | ||||
| RUNSMOD_pvcs_MAP=( | ||||
|     si/base-runs:"$HOME/wop/legacy-runs" | ||||
|     runss:"$HOME/wop/runs" | ||||
|     modules:"$HOME/wop/pmodules" | ||||
|     hosts:"$HOME/wop/hosts" | ||||
|     runsh:"$HOME/wop/hosts/all/hosts" | ||||
|     runsh:"$HOME/wop/hosts.d" | ||||
|     si/base-runs:"$HOME/wop/lruns" | ||||
| ) | ||||
| 
 | ||||
| # vcs | ||||
| @ -65,8 +65,8 @@ RUNSMOD_vcs_HOSTS_URLS=("${RUNSMOD_HOSTS_URLS[@]}") | ||||
| RUNSMOD_vcs_MAP=( | ||||
|     runss:"$HOME/wop/pruns" | ||||
|     modules:"$HOME/wop/modules" | ||||
|     hosts:"$HOME/wop/hosts" | ||||
|     runsh:"$HOME/wop/hosts/all/phosts" | ||||
|     hosts:"$HOME/wop/phosts" | ||||
|     runsh:"$HOME/wop/phosts.d" | ||||
| ) | ||||
| 
 | ||||
| # jclain | ||||
| @ -78,5 +78,5 @@ RUNSMOD_jclain_MAP=( | ||||
|     runss:"$HOME/wop/j/runs" | ||||
|     modules:"$HOME/wop/j/modules" | ||||
|     hosts:"$HOME/wop/j/hosts" | ||||
|     runsh:"$HOME/wop/j/hosts/all/hosts" | ||||
|     runsh:"$HOME/wop/j/hosts.d" | ||||
| ) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user