diff --git a/pff b/pff index 57931e7..ac0112e 100755 --- a/pff +++ b/pff @@ -777,7 +777,19 @@ function new__prepare_archive() { # nom de l'archive sans la version local ban="${banv%$(get_archive_versionsuffix "$archive")}" local filename="$(basename "$file")" - [ "$filename" == "$banv" -o "$filename" == "$ban" ] || unwrap= + # nom du répertoire sans la version + local filenv="${filename%-$version}" + if [ "$filename" == "$banv" -o "$filename" == "$ban" ]; then + # le nom du répertoire correspond au nom de l'archive. cool! + unwrap=1 + elif [ "$filenv" == "$banv" ]; then + # le nom du répertoire n'est pas contruit correctement + # mais ce n'est pas grave (e.g ban-VERSION au lieu de + # banVERSION comme l'archive) + unwrap=1 + else + unwrap= + fi fi [ -n "$unwrap" -a -d "$file" ] && srcdir="$file" fi