Сценарий оболочки работал и для меня :) У меня были проблемы с архивированием после разархивирования файла odt. Угадай, что в манифесте не хватает.
Приведенный выше скрипт оболочки не обрабатывал встроенные изображения / графику, поэтому я сделал несколько небольших корректировок, которые сработали для меня (кроме того, в скрипте была ошибка в том, что END_HEREDOC не было выделенной строки):
#!/bin/sh
# Convert folder (unzipped OpenDocument file) to OpenDocument file (odt, ods, etc.)
# Usage: ./folder2od.sh "path/to/folder" "file.odt"
cmdfolder=$(cd `dirname "$0"`; pwd -P)
folder=$(cd `dirname "$2"`; pwd -P)
file=$(basename "$2")
absfile="$folder/$file"
cd "$1"
zip -0 -X "$file" "mimetype"
list=$(cat <<'END_HEREDOC'
meta.xml
settings.xml
content.xml
Pictures/
Thumbnails/
Configurations2/
styles.xml
manifest.rdf
META-INF/manifest.xml
END_HEREDOC
)
for f in $list
do
zip -r "$absfile" "$f"
done
cd "$cmdfolder"