63 lines
1.7 KiB
Plaintext
63 lines
1.7 KiB
Plaintext
|
#!/bin/bash
|
||
|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||
|
|
||
|
source "$(dirname "$0")/../ulib/ulib" &&
|
||
|
urequire DEFAULTS ||
|
||
|
exit 1
|
||
|
OENC="$UTF8"
|
||
|
MAKESELFDIR="$scriptdir/makeself-2.1.5"
|
||
|
|
||
|
function display_help() {
|
||
|
uecho "$scriptname: Créer une archive auto-extractible qui installe nutools
|
||
|
|
||
|
USAGE
|
||
|
$scriptname [options]
|
||
|
|
||
|
OPTIONS
|
||
|
-o dest
|
||
|
Spécifier le fichier de sortie. Par défaut, il s'agit de
|
||
|
nutools-installer.run
|
||
|
--tmp-archive
|
||
|
Spécifier qu'il s'agit d'une archive temporaire. Cette archive
|
||
|
s'auto-détruit après utilisation."
|
||
|
}
|
||
|
|
||
|
mode=755
|
||
|
parse_opts "${PRETTYOPTS[@]}" \
|
||
|
--help '$exit_with display_help' \
|
||
|
-o: dest \
|
||
|
--tmp-archive tmp_archive \
|
||
|
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||
|
|
||
|
srcdir="$(abspath "$scriptdir/..")"
|
||
|
srcname="$(basename "$srcdir")"
|
||
|
|
||
|
[ -n "$dest" ] || dest="nutools-installer.run"
|
||
|
# si le fichier à générer se trouve dans le répertoire à installer, créer
|
||
|
# l'archive dans le répertoire au-dessus
|
||
|
dest="$(abspath "$dest")"
|
||
|
if [ "$srcdir" == "$dest" -o "${dest#$srcdir/}" != "$dest" ]; then
|
||
|
dest="$(dirname "$srcdir")/$(basename "$dest")"
|
||
|
fi
|
||
|
|
||
|
if [ -f "$dest" -a -z "$tmp_archive" ]; then
|
||
|
ask_yesno "Voulez-vous remplacer l'archive existante $(ppath "$dest")?" O || exit 0
|
||
|
fi
|
||
|
|
||
|
## préparer l'archive
|
||
|
ac_set_tmpdir archivedir
|
||
|
cpnovcs "$srcdir" "$archivedir"
|
||
|
|
||
|
## créer l'archive
|
||
|
args=("$MAKESELFDIR/makeself.sh" --quiet ${tmp_archive:+--tmp-archive} --nox11
|
||
|
"$archivedir" "$dest"
|
||
|
"nutools installer"
|
||
|
/bin/sh "./$srcname/uinst.sh" "$srcname")
|
||
|
|
||
|
estep "Création de l'archive $(ppath "$dest")"
|
||
|
"${args[@]}"
|
||
|
|
||
|
[ -n "$mode" ] && chmod "$mode" "$dest"
|
||
|
|
||
|
exit 0
|