nutools/wosign

80 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
function display_help() {
uecho "$scriptname: signer les jars d'un bundle
USAGE
$scriptname <app.woa|fwk.framework>
OPTIONS
-f Forcer la (re)signature des jars
-d Enlever la signature des jars originaux
-s Signer les jar du bundle [PAR DEFAUT]
--init
Initialiser les fichiers de configuration pour la signature des bundles."
}
source "$(dirname "$0")/ulib/ulib" &&
urequire DEFAULTS prefixes apache webobjects wosign ||
exit 1
sign=
unsign=
resign=
init=
default=1
parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with display_help' \
-f resign=1 \
-d '$default=; unsign=1' \
-s '$default=; sign=1' \
--init '$default=; init=1' \
@ args -- "$@" && set -- "${args[@]}" || die "$args"
[ -n "$default" ] && sign=1
compute_apache_prefixes
compute_webobjects_prefixes
create_wodirs_maybe
if [ -n "$init" ]; then
wosign_setup_maybe
mkdir -p "$WOSIGN_CONFDIR"
echo "# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
# chemin complet vers le keystore qui convient la clé utilisée pour signer les
# jars
keystore=
# mot de passe pour accéder à la clé dans le keystore
storepass=
# alias de la clé dans le keystore
keyalias=" >"$WOSIGN_CONF" &&
chmod 644 "$WOSIGN_CONF" &&
ewarn "Le fichier
$(ppath "$WOSIGN_CONF")
a été créé avec les droits 644.
Vérifiez les autorisations pour protéger ce fichier des accès inapropriés."
else
[ -n "$1" ] || die "Il faut spécifier le bundle à signer"
wosign_setup_maybe || die "Pour pouvoir signer les jars, il faut installer la configuration des signatures
dans $WOCONFIGURATION/Signatures
Essayer avec l'option --init"
for bundle in "$@"; do
if reason="$(wosignable "$bundle")"; then
if [ -f "$bundle" ]; then
etitle -s "Signature de $(ppath "$bundle")"
else
etitle -s "Signature des jars de $(ppath "$bundle")"
fi
wosign ${sign:+-s }${unsign:+-d }${resign:+-f }"$bundle"
eend
else
die "Impossible de signer les jars pour $(ppath "$bundle"): $reason"
fi
done
fi