Compare commits

..

34 Commits

Author SHA1 Message Date
Jephté Clain 0527aee96e Intégration de la branche release-11.3.0 2024-09-24 16:02:01 +04:00
Jephté Clain f156fe0b1e Init changelog & version 11.3.0 2024-09-24 16:02:00 +04:00
Jephté Clain 625d5f1d25 bug mineur 2024-09-24 16:01:36 +04:00
Jephté Clain e30820261a dkbuild: améliorer from_glob() 2024-07-12 23:04:43 +04:00
Jephté Clain 5c03184c94 lgrep, lless: modifier la doc pour ne parler que d'un fichier 2024-07-05 10:13:19 +04:00
Jephté Clain 0ed5ddf6b9 Intégration de la branche release-11.2.0 2024-06-21 20:34:15 +04:00
Jephté Clain f39787c6ec Intégration de la branche release-11.2.0 2024-06-21 20:34:14 +04:00
Jephté Clain 11145f686a Init changelog & version 11.2.0 2024-06-21 20:34:14 +04:00
Jephté Clain 21042e4677 bug 2024-06-21 20:33:50 +04:00
Jephté Clain e4176dfd94 reginc: possibilité de renommer des fichiers 2024-06-17 10:44:53 +04:00
Jephté Clain 1787aa2310 bug 2024-05-13 09:44:50 +04:00
Jephté Clain d1f77aa354 dkbuild: support dist none et tag LATEST 2024-05-10 17:15:30 +04:00
Jephté Clain c2cfd7739a bug 2024-05-10 16:04:54 +04:00
Jephté Clain e7745c2dd4 dk: support --plain-output 2024-03-19 07:26:06 +04:00
Jephté Clain ce8f541520 dkbuild: -g pour --profile 2024-03-06 22:36:49 +04:00
Jephté Clain 9d8e3c53d1 Intégration de la branche release-11.1.0 2024-02-01 20:59:56 +04:00
Jephté Clain 1b7b2744ba Intégration de la branche release-11.0.0 2023-09-05 14:29:29 +04:00
Jephté Clain 771bd1c563 Intégration de la branche release-10.0.0 2023-08-12 21:06:39 +04:00
Jephté Clain 6e36d26471 Intégration de la branche release-9.16.0 2023-06-15 15:28:28 +04:00
Jephté Clain e5ab8dd240 Intégration de la branche release-9.15.0 2023-06-14 15:41:57 +04:00
Jephté Clain c0d4e950e9 Intégration de la branche release-9.14.0 2023-03-15 17:48:48 +04:00
Jephté Clain e76a6a6a84 Intégration de la branche release-9.13.0 2022-02-07 22:20:41 +04:00
Jephté Clain b03df72236 Intégration de la branche release-9.12.0 2021-03-29 09:41:20 +04:00
Jephté Clain 44f719b2e6 Intégration de la branche release-9.11.0 2020-12-11 15:43:15 +04:00
Jephté Clain 337f24c447 Intégration de la branche release-9.10.0 2020-11-12 23:05:13 +04:00
Jephté Clain 246b9473aa Intégration de la branche release-9.9.0 2020-09-21 18:08:31 +04:00
Jephté Clain 9d5713c1f9 Intégration de la branche release-9.8.0 2020-04-28 16:42:19 +04:00
Jephté Clain 05fd86acc7 Intégration de la branche release-9.7.0 2020-04-17 10:20:37 +04:00
Jephté Clain abd178bf0d Intégration de la branche release-9.6.0 2020-02-24 09:13:57 +04:00
Jephté Clain 2283a66201 Intégration de la branche release-9.5.0 2020-01-28 14:06:01 +04:00
Jephté Clain 7f143c0fd4 Intégration de la branche release-9.4.4 2020-01-27 08:48:56 +04:00
Jephté Clain 046ba0d323 Intégration de la branche release-9.4.3 2020-01-24 13:02:50 +04:00
Jephté Clain c8b8f107a1 Intégration de la branche release-9.4.2 2020-01-24 08:52:31 +04:00
Jephté Clain 1210ca7382 Intégration de la branche release-9.4.1 2020-01-20 14:46:16 +04:00
11 changed files with 188 additions and 112 deletions

View File

@ -1,3 +1,22 @@
## Version 11.3.0 du 24/09/2024-16:02
* `625d5f1` bug mineur
* `e308202` dkbuild: améliorer from_glob()
* `5c03184` lgrep, lless: modifier la doc pour ne parler que d'un fichier
## Version 11.2.0 du 21/06/2024-20:34
* `21042e4` bug
* `e4176df` reginc: possibilité de renommer des fichiers
* `1787aa2` bug
* `d1f77aa` dkbuild: support dist none et tag LATEST
* `c2cfd77` bug
* `e7745c2` dk: support --plain-output
* `ce8f541` dkbuild: -g pour --profile
* `30594aa` maj distributions
* `2df175e` dkbuild: cosmetic
* `fbb05f8` support des versions AMUE
## Version 11.1.0 du 01/02/2024-20:59 ## Version 11.1.0 du 01/02/2024-20:59
* `8570d12` pff: les répertoires liés peuvent contenir des fichiers * `8570d12` pff: les répertoires liés peuvent contenir des fichiers

View File

@ -1,45 +0,0 @@
# TODO
* [ ] réordonner les versions: version la plus récente en premier, pour être cohérent avec setdists
* [ ] gestion de la version de façon incrémentale
~~~
addversion "$DIST" # est implicite
addversion j11
addversion 75
# donne les tags suivants:
# - latest $DIST j11 75 j11-$DIST 75-j11-$DIST
addversion d12 d11 # est implicite
addversion j11 j8
addversion 89
# donne les tags suivants:
# - latest d12 j11 89 j11-d12 89-j11-d12
# - j8-d12 89-j8-d12
# - d11 j11-d11 89-j11-d11
# - j8-d11 89-j8-d11
~~~
* [ ] supprimer le support des versions avec les profils et les distributions
* en définitive:
* les versions sont indépendantes des profils et des distributions
* la distribution est rajoutée implicitement à la version sauf avis contraire
* pour compatibilité, les deux lignes suivantes sont équivalentes:
~~~
setversion a-b-c
# équivalent à
addversion c; addversion b; addversion a
~~~
* la version est utilisée pour construire les tags (faut-il renommer addversion en addtag?)
* [ ] faire tourner chaque build dans un sous-shell pour améliorer la gestion des variables
* [ ] comme dans runs, faire une section run: ?
ATTENTION! build() déclenche AUTOBUILD=, et si on fait une section run:,
cette commande ne sera pas lancée, et donc le build sera fait en deux fois
* [ ] setversion peut prendre la version depuis la branche git d'un dépôt
* un argument permettrait de spécifier comment la version est calculée à
partir du dépôt
* [ ] si cela a du sens, une commande setlatest qui permet de désigner quelle
distribution/version est la dernière
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

10
TODO.md Normal file
View File

@ -0,0 +1,10 @@
# TODO
dkbuild
* setversion peut prendre la version depuis la branche git d'un dépôt
* un argument permettrait de spécifier comment la version est calculée à
partir du dépôt
* si cela a du sens, une commande setlatest qui permet de désigner quelle
distribution/version est la dernière
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -1 +1 @@
11.1.0 11.3.0

7
dk
View File

@ -336,6 +336,8 @@ OPTIONS build
deploy, by, bpy et update impliquent --stack deploy, by, bpy et update impliquent --stack
-j, --no-cache -j, --no-cache
Ne pas utiliser le cache lors du build Ne pas utiliser le cache lors du build
--plain-output
Afficher la sortie complète des containers lors du build
-U, --pull -U, --pull
Essayer de récupérer une version plus récente de l'image source Essayer de récupérer une version plus récente de l'image source
-g, --ug, --no-update-apps -g, --ug, --no-update-apps
@ -1245,6 +1247,7 @@ function default_compose_build() {
"${replace_env_args[@]}" "${env_args[@]}" \ "${replace_env_args[@]}" "${env_args[@]}" \
build \ build \
${NO_CACHE:+--no-cache} \ ${NO_CACHE:+--no-cache} \
${PROGRESS:+--progress "$PROGRESS"} \
${PULL:+--pull} \ ${PULL:+--pull} \
"${replace_build_args[@]}" "${build_args[@]}" \ "${replace_build_args[@]}" "${build_args[@]}" \
"$@" "$@"
@ -1256,6 +1259,7 @@ function default_docker_build() {
done done
${FAKE:+qvals} "$DOCKER" build \ ${FAKE:+qvals} "$DOCKER" build \
${NO_CACHE:+--no-cache} \ ${NO_CACHE:+--no-cache} \
${PROGRESS:+--progress "$PROGRESS"} \
${PULL:+--pull} \ ${PULL:+--pull} \
"${replace_env_args[@]}" "${env_args[@]}" \ "${replace_env_args[@]}" "${env_args[@]}" \
"${replace_build_args[@]}" "${build_args[@]}" \ "${replace_build_args[@]}" "${build_args[@]}" \
@ -1305,6 +1309,7 @@ function auto_build() {
done done
${FAKE:+qvals} "$DOCKER" build \ ${FAKE:+qvals} "$DOCKER" build \
${NO_CACHE:+--no-cache} \ ${NO_CACHE:+--no-cache} \
${PROGRESS:+--progress "$PROGRESS"} \
${PULL:+--pull} \ ${PULL:+--pull} \
"${replace_build_args[@]}" "$@" "${replace_build_args[@]}" "$@"
fi fi
@ -2499,6 +2504,7 @@ FAKE=
VARS=() VARS=()
FORCE= FORCE=
NO_CACHE= NO_CACHE=
PROGRESS=
PULL= PULL=
HOST= HOST=
WITH_REGISTRY_AUTH=1 WITH_REGISTRY_AUTH=1
@ -2522,6 +2528,7 @@ args=(
-e:,--build-arg:,--env: VARS -e:,--build-arg:,--env: VARS
-f,--force FORCE=1 -f,--force FORCE=1
-j,--no-cache NO_CACHE=1 -j,--no-cache NO_CACHE=1
--plain-output PROGRESS=plain
-U,--pull PULL=1 -U,--pull PULL=1
-h:,--host: HOST= -h:,--host: HOST=
-g,--ug,--no-update-apps update_apps_mode=b -g,--ug,--no-update-apps update_apps_mode=b

50
dkbuild
View File

@ -100,7 +100,7 @@ $scriptname build [OPTIONS] [BUILDVARS...]
le build pour toutes les distributions définies. Si la distribution le build pour toutes les distributions définies. Si la distribution
sélectionnée n'est pas valide pour ce build, elle est ignorée sélectionnée n'est pas valide pour ce build, elle est ignorée
--profile PROFILE -g, --profile PROFILE
-P, --prod -P, --prod
-T, --test -T, --test
-E, --dtest -E, --dtest
@ -224,9 +224,13 @@ construites. Une version est définie en ajoutant un préfixe à la distribution
La commande 'setdists' permet de lister explicitement les distributions valides La commande 'setdists' permet de lister explicitement les distributions valides
(et les versions associées le cas échéant). Si la distribution sélectionnée par (et les versions associées le cas échéant). Si la distribution sélectionnée par
l'utilisateur n'est pas dans la liste fournie, le script s'arrête sans erreur. l'utilisateur n'est pas dans la liste fournie, le script s'arrête sans erreur.
La première distribution listée est spéciale: c'est la distribution la plus La première distribution listée est spéciale: c'est la distribution la plus
récente, celle qui reçoit le tag :latest récente, celle qui reçoit le tag :latest
La distribution 'none' est spéciale aussi: elle n'est pas mentionnée dans les
tags automatiquement attribués aux images.
La commande 'dist' permet de tester si la distribution spécifiée en argument a La commande 'dist' permet de tester si la distribution spécifiée en argument a
été sélectionnée par l'utilisateur. L'argument 'LATEST' permet de tester la été sélectionnée par l'utilisateur. L'argument 'LATEST' permet de tester la
dernière distribution. dernière distribution.
@ -678,7 +682,8 @@ Les paramètres optionnels sont
* set-tag=TAGS... ou set-tags=TAGS... * set-tag=TAGS... ou set-tags=TAGS...
spécifier des tags à rajouter au nom de l'image, séparés par un espace. cette spécifier des tags à rajouter au nom de l'image, séparés par un espace. cette
liste remplace celle calculée automatiquement. ce paramètre est ignoré pour liste remplace celle calculée automatiquement. ce paramètre est ignoré pour
les noms d'images comportant un tag les noms d'images comportant un tag.
Utiliser le tag spécial LATEST pour rajouter :latest si c'est approprié
* add-tag=TAGS... ou add-tags=TAGS... * add-tag=TAGS... ou add-tags=TAGS...
spécifier des tags à rajouter à la liste calculée automatiquement, séparés par spécifier des tags à rajouter à la liste calculée automatiquement, séparés par
un espace. ce paramètre est ignoré pour les noms d'images comportant un tag un espace. ce paramètre est ignoré pour les noms d'images comportant un tag
@ -941,8 +946,8 @@ SHARED_ARGS2=(
-d:,--dist: DIST= -d:,--dist: DIST=
-0,--d10 DIST=d10 -0,--d10 DIST=d10
-1,--d11 DIST=d11 -1,--d11 DIST=d11
-2,--d12 DIST=d11 -2,--d12 DIST=d12
-3,--d13 DIST=d11 -3,--d13 DIST=d13
--r7,--rhel7 DIST=rhel7 --r7,--rhel7 DIST=rhel7
--r8,--rhel8 DIST=rhel8 --r8,--rhel8 DIST=rhel8
--r9,--rhel9 DIST=rhel9 --r9,--rhel9 DIST=rhel9
@ -950,7 +955,7 @@ SHARED_ARGS2=(
--ol8,--oracle8 DIST=ol8 --ol8,--oracle8 DIST=ol8
--ol9,--oracle9 DIST=ol9 --ol9,--oracle9 DIST=ol9
-p:,--profile: PROFILE= -g:,--profile: PROFILE=
-P,--prod PROFILE=prod -P,--prod PROFILE=prod
-T,--test PROFILE=test -T,--test PROFILE=test
-E,--dtest PROFILE=dtest -E,--dtest PROFILE=dtest
@ -1078,12 +1083,13 @@ function reset_functions() {
function include() { function include() {
edebug "include $(qvals "$@")" edebug "include $(qvals "$@")"
local file="$1" local file="$1" cwd="$(pwd)"
[ -d "$file" ] && file="$file/dkbuild" [ -d "$file" ] && file="$file/dkbuild"
[ -f "$file" ] || die "$file: fichier introuvable" [ -f "$file" ] || die "$file: fichier introuvable"
setx file=abspath "$file" setx file=abspath "$file"
cd "$(dirname "$file")" cd "$(dirname "$file")"
source "$file" source "$file"
cd "$cwd"
} }
function machine() { function machine() {
local machine version local machine version
@ -1182,12 +1188,14 @@ function load_environ() {
} }
function from_glob() { function from_glob() {
local var=value value local vvalue=value value vfile=file file
[[ "$1" != *=* ]] && { var="$1"; shift; } [[ "$1" != *=* ]] && { vvalue="$1"; shift; }
[[ "$1" != *=* ]] && { vfile="$1"; shift; }
local path extract add_prefix add_suffix local basedir path extract add_prefix add_suffix
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
case "$1" in case "$1" in
basedir=*) basedir="${1#basedir=}";;
path=*) path="${1#path=}";; path=*) path="${1#path=}";;
extract=*) extract="${1#extract=}";; extract=*) extract="${1#extract=}";;
add-prefix=*) add_prefix="${1#add-prefix=}";; add-prefix=*) add_prefix="${1#add-prefix=}";;
@ -1197,7 +1205,9 @@ function from_glob() {
esac esac
shift shift
done done
value="$(list_all . "$path" | sort -rn | head -1)" [ -n "$basedir" ] || basedir=.
value="$(list_all "$basedir" "$path" | sort -rn | head -1)"
file="$basedir/$value"
[ -n "$extract" ] || extract="${path//\*/(.*)}" [ -n "$extract" ] || extract="${path//\*/(.*)}"
if [ -n "$extract" ]; then if [ -n "$extract" ]; then
extract="${extract//\//\\/}" extract="${extract//\//\\/}"
@ -1207,7 +1217,7 @@ function from_glob() {
}")$add_suffix" }")$add_suffix"
fi fi
local "$var"; upvar "$var" "$value" local "$vvalue" "$vfile"; upvars "$vvalue" "$value" "$vfile" "$file"
} }
function define_functions_env() { function define_functions_env() {
function setversion() { function setversion() {
@ -2042,6 +2052,14 @@ function define_functions_cmd() {
imagetags+=("$imagetag") imagetags+=("$imagetag")
else else
for tag in "${set_tags[@]}" "${add_tags[@]}"; do for tag in "${set_tags[@]}" "${add_tags[@]}"; do
if [ "$tag" == LATEST ]; then
if [ -n "$HAVE_VERSION" -a "$VERSION" == "$LAST_VERSION" ]; then
tag=latest
else
# ignorer le tag LATEST s'il n'est pas applicable
continue
fi
fi
imagetags+=("$imagetag:$tag") imagetags+=("$imagetag:$tag")
done done
fi fi
@ -2054,10 +2072,16 @@ function define_functions_cmd() {
imagetags+=("$imagetag") imagetags+=("$imagetag")
else else
for tag in "${add_tags[@]}"; do for tag in "${add_tags[@]}"; do
if [ "$tag" == LATEST ]; then
# toujours ignorer le tag LATEST dans add_tags
continue
fi
imagetags+=("$imagetag:$tag") imagetags+=("$imagetag:$tag")
done done
[ -n "$VERSION" ] && imagetags+=("$imagetag:$VERSION-$DIST") [ -n "$VERSION" ] && imagetags+=("$imagetag:$VERSION-$DIST")
[ -n "$DIST" -a -z "$HAVE_VERSION" ] && imagetags+=("$imagetag:$DIST") if [ -n "$DIST" -a "$DIST" != none -a -z "$HAVE_VERSION" ]; then
imagetags+=("$imagetag:$DIST")
fi
fi fi
done done
fi fi
@ -2066,7 +2090,7 @@ function define_functions_cmd() {
if [ -z "$HAVE_VERSION" ]; then if [ -z "$HAVE_VERSION" ]; then
dist LATEST && imagetags+=("$imagetag:latest") dist LATEST && imagetags+=("$imagetag:latest")
elif [ "$VERSION" == "$LAST_VERSION" ]; then elif [ "$VERSION" == "$LAST_VERSION" ]; then
imagetags+=("$imagetag:$DIST") [ "$DIST" != none ] && imagetags+=("$imagetag:$DIST")
dist LATEST && imagetags+=("$imagetag:latest") dist LATEST && imagetags+=("$imagetag:latest")
fi fi
elif [ -n "$PROFILE" ]; then elif [ -n "$PROFILE" ]; then

4
lgrep
View File

@ -3,10 +3,10 @@
source "$(dirname "$0")/lib/ulib/auto" || exit 1 source "$(dirname "$0")/lib/ulib/auto" || exit 1
function display_help() { function display_help() {
uecho "$scriptname: frontend de grep pour lire des fichiers encodés en latin1 uecho "$scriptname: frontend de grep pour chercher dans un fichier encodé en latin1
USAGE USAGE
$scriptname [options] files... $scriptname [options] FILE
OPTIONS OPTIONS
options de grep qui sont reprises telles quelles" options de grep qui sont reprises telles quelles"

View File

@ -154,7 +154,7 @@ function ctmatch_one(ctval, ref, parts, part, i, j, start, end, ste
#print "final: is " ref " ~ " ctval " ? " (ok? "yes": "no") #DEBUG #print "final: is " ref " ~ " ctval " ? " (ok? "yes": "no") #DEBUG
return ok return ok
} }
function ctmatch_all(M, H, dom, mon, dow, refM, refH, refdom, refmon, refdow, Mok, Hok, domok, monok, dowok) { function ctmatch_all(M, H, dom, mon, dow, refM, refH, refdom, refmon, refdow, Mok, Hok, alldom, domok, monok, alldow, dowok, doxok) {
if (refM == "**ANY**") return 1 if (refM == "**ANY**") return 1
gsub(/\*/, "0-59", M) gsub(/\*/, "0-59", M)
@ -163,16 +163,28 @@ function ctmatch_all(M, H, dom, mon, dow, refM, refH, refdom, refmon, refdow,
gsub(/\*/, "0-23", H) gsub(/\*/, "0-23", H)
Hok = ctmatch_one(H, refH) Hok = ctmatch_one(H, refH)
alldom = dom == "*"
gsub(/\*/, "1-31", dom) gsub(/\*/, "1-31", dom)
domok = ctmatch_one(dom, refdom) domok = ctmatch_one(dom, refdom)
gsub(/\*/, "1-12", mon) gsub(/\*/, "1-12", mon)
monok = ctmatch_one(mon, refmon) monok = ctmatch_one(mon, refmon)
alldow = dow == "*"
gsub(/\*/, "1-7", dow) gsub(/\*/, "1-7", dow)
dowok = ctmatch_one(dow, refdow) dowok = ctmatch_one(dow, refdow)
return Mok && Hok && monok && (domok || dowok) if (alldom && alldow) {
doxok = 1
} else if (alldom) {
doxok = dowok
} else if (alldow) {
doxok = domok
} else {
doxok = domok || dowok
}
return Mok && Hok && monok && doxok
} }
function print_cmd(cmd) { function print_cmd(cmd) {
print "__ctexec " quote_value(cmd) print "__ctexec " quote_value(cmd)

View File

@ -213,7 +213,7 @@ function tl_modifyattr() {
dn = "" dn = ""
} }
sub(/:+$/, "", attr) sub(/:+$/, "", attr)
if (lastattr != attr) { if (tolower(lastattr) != tolower(attr)) {
if (lastattr != "") { if (lastattr != "") {
print "-" print "-"
} }
@ -248,7 +248,7 @@ function tl_deleteattr() {
dn = "" dn = ""
} }
sub(/:+$/, "", attr) sub(/:+$/, "", attr)
if (lastattr != attr) { if (tolower(lastattr) != tolower(attr)) {
if (lastattr != "") { if (lastattr != "") {
print "-" print "-"
} }

4
lless
View File

@ -3,10 +3,10 @@
source "$(dirname "$0")/lib/ulib/auto" || exit 1 source "$(dirname "$0")/lib/ulib/auto" || exit 1
function display_help() { function display_help() {
uecho "$scriptname: frontend de less pour lire des fichiers encodés en latin1 uecho "$scriptname: frontend de less pour lire un fichier encodé en latin1
USAGE USAGE
$scriptname [options] files... $scriptname [options] FILE
OPTIONS OPTIONS
-S, --chop-long-lines -S, --chop-long-lines

67
reginc
View File

@ -12,18 +12,23 @@ remplacer les nombres de FROMmin à FROMmax par leur valeur correspondante,
sachant que FROMmin doit être remplacé par TO. On peut mentionner autant de sachant que FROMmin doit être remplacé par TO. On peut mentionner autant de
couples (FROM, TO) que nécessaire: ils seront traités dans l'ordre couples (FROM, TO) que nécessaire: ils seront traités dans l'ordre
$scriptname -r FROMmin-FROMmax TO FILEs...
renommer les fichiers en remplaçant les nombres de FROMmin à FROMmax par leur
valeur correspondante, sachant que FROMmin doit être remplacé par TO
OPTIONS OPTIONS
-n, --fake -n, --fake
Afficher le fichier tel qu'il serait modifié au lieu de le modifier en Afficher le fichier tel qu'il serait modifié au lieu de le modifier en
place" place
-r, --rename
Renommer les fichiers au lieu de modifier le texte à l'intérieur du
fichier. Attention, l'ordre des arguments est différent avec cette
option"
} }
fake= function process_file() {
args=( local file from to fromb frome seds r
--help '$exit_with display_help'
-n,--fake fake=1
)
parse_args "$@"; set -- "${args[@]}"
file="$1"; shift file="$1"; shift
[ -n "$file" ] || die "vous devez spécifier le fichier à modifier" [ -n "$file" ] || die "vous devez spécifier le fichier à modifier"
@ -68,6 +73,50 @@ done
edebug "Script sed: $seds" edebug "Script sed: $seds"
[ -n "$fake" ] && args=() || args=(-i) [ -n "$Fake" ] && args=() || args=(-i)
args+=("$seds" "$file") args+=("$seds" "$file")
sed "${args[@]}" sed "${args[@]}"; r=$?
[ -z "$Fake" -a $r -eq 0 ]
}
Fake=
rename=
args=(
--help '$exit_with display_help'
-n,--Fake Fake=1
-r,--rename rename=1
)
parse_args "$@"; set -- "${args[@]}"
if [ -n "$rename" ]; then
from="$1"; to="$2"; shift 2
froms=("$@")
ac_set_tmpfile tmptos
echo "tos=(" >>"$tmptos"
for file in "${froms[@]}"; do
qval "$file" >>"$tmptos"
done
echo ")" >>"$tmptos"
Fake= process_file "$tmptos" "$from" "$to"
eval "$(<"$tmptos")"
i=0
count=${#froms[*]}
while [ $i -lt $count ]; do
from="${froms[$i]}"
to="${tos[$i]}"
if [ "$to" == "$from" ]; then
ewarn "$from: renommage non nécessaire"
else
estep "$from --> $to"
[ -z "$Fake" ] && mv "$from" "$to"
fi
let i=i+1
done
else
process_file "$@"
fi