nutools/mkiso

53 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source "$(dirname "$0")/lib/ulib/ulib" || exit 1
urequire DEFAULTS
function display_help() {
uecho "$scriptname: créer une image iso d'un répertoire
USAGE
$scriptname [options] srcdir [dest.iso]
OPTIONS
-M, --hfs
créer une image hybride ISO/HFS
-V, --volume
Nom du volume. Par défaut, prendre le nom de base du répertoire
d'origine. La taille est de 32 caractères max.
-A, --application
Description de l'application qui est sur l'image créée. Par défaut,
prendre le nom de base du répertoire d'origine. La taille est de 128
caractères max."
}
hfsmode=
volume=
application=
parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with display_help' \
-M,--hfs hfsmode=1 \
-V:,--volume: volume= \
-A:,--application: application= \
@ args -- "$@" && set -- "${args[@]}" || die "$args"
srcdir="$(abspath "${1:-.}")"; shift
srcname="$(basename "$srcdir")"
dest="$(abspath "${1:-$srcname.iso}")"; shift
found=
for prog in genisoimage mkisofs; do
if progexists "$prog"; then
found=1
break
fi
done
[ -n "$found" ] || die "Impossible de trouver genisoimage/mkisofs"
[ -n "$volume" ] || volume="$srcname"
[ -n "$application" ] || application="CD: $srcname"
if ask_yesno "$(ppath "$srcdir")/* --> $(ppath "$dest")" O; then
"$prog" -V "$volume" -A "$application" -r -hide-rr-moved -J ${hfsmode:+-hfs -part --netatalk} "$@" -o "$dest" "$srcdir"
fi