Victor_VG
Tracker Mod | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору pzaytsev Один из вариантов это задать параметры в custom_user.ini и использовать конвейер команд в формате: <команда1>&&<команда2>&&... - основное достоинство данного конвеера в том, что следующая команда будет выполнена только после успешного выполнения предыдущей. Мелкий "ремонт" targz.fmt - поправлен gcc варнинг приводивший к сбою, а заодно и данная форматка научилась сжимать тарбалы. Патч (включая changelog): Цитата: Index: changelog =================================================================== --- changelog (revision 3393) +++ changelog (working copy) @@ -1,3 +1,31 @@ +VictorVG 28.08.2009 21:52:56 +0300 + +1. targz.fmt build 1.34 + + а) Добавлена возможность сжимать архивы tar. Для её использования Вы + должны отметить чекбокс "Точное соответствие имени архива", а tar сам + вызовет нужный внешний архиватор после создания архива и затем сожмёт его. + Архиваторы должны быть доступны в %PATH%. По умолчанию выключено. Работает + с любой версией tar, но, вследствии особенностей tar не рекомендуется + использовать этот модуль для распаковки. + + б) Добавлена возможность передавать tar дополнительные ключи и модификаторы + операций через стандартную строку "Ключи|Switches" диалога архивирования. + По умолчанию передаётся пустое значение игнорируемое tar. Функция работает + с любой версией tar. + + в) Добавлена функция тестирования тарбалов. По умолчаннию выводит подробный + листинг архива. + + Предупреждение: + + Настоятельно рекомендуется сбросить настройки формата TAR в стандартные + для модуля иначе Вы практически гарантировано получите повреждённые архивы, + либо потеряете данные на дисках! + + Это особенность tar - при некорректно заданных опциях и ключах, tar + выполнит команду, но результаты операции будут абсолютно не предсказуемы, + так же надо следить за регистром букв команд и ключей tar - это UNIX + программа, и все её опции и ключи регистрово-зависимые! Для справки по + ключам вызова утилиты tar используйте команды tar [--help] [--usage]. + + г) Прибиты некоторые gcc варнининги. + Index: makefile_gcc_def_inc =================================================================== --- makefile_gcc_def_inc (revision 3393) +++ makefile_gcc_def_inc (working copy) @@ -81,6 +81,10 @@ CP = cp -f M4 = m4 -P MV = mv -f +RMR = rm -fR +RMJ = rm -fR $(OBJDIR) +CPT = cp -f -t +CVT = $(COMMON)/convert.exe MKDIR = mkdir -p WINDRES = windres AR = ar Index: makefile_gcc =================================================================== --- makefile_gcc (revision 3393) +++ makefile_gcc (working copy) @@ -10,8 +10,8 @@ arcread.cpp \ arcreg.cpp \ global.cpp -DOCS = arceng.hlf arcrus.hlf arceng.lng arcrus.lng - +DOCS = arceng.hlf arcrus.hlf arceng.lng arcrus.lng changelog +CPT = cp -f -t include ../makefile_gcc_def_inc include ../makefile_gcc_target_inc @@ -32,3 +32,6 @@ $(MAKE) -f makefile_gcc_fmt FMT=rar $(MAKE) -f makefile_gcc_fmt FMT=targz $(MAKE) -f makefile_gcc_fmt FMT=zip + @$(CPT) $(DLLDIR)/Formats custom.ini + @$(RMR) $(OBJDIR) + @$(MV) $(DLLDIR) MultiArc \ No newline at end of file Index: targz.cpp =================================================================== --- targz.cpp (revision 3393) +++ targz.cpp (working copy) @@ -490,18 +490,18 @@ { // TAR_FORMAT "tar --force-local -xf %%A %%FSq32768", "%comspec% /c tar --force-local -O -xf %%A %%fSq > %%fWq", + "tar -tvf %%A --totals --check-links --show-stored-names", + "tar --delete --force-local %%S -f %%A %%FSq32768", "", - "tar --delete --force-local -f %%A %%FSq32768", "", "", "", "", "", - "", - "tar --force-local -rf %%A %%FSq32768", - "tar --force-local --remove-files -rf %%A %%FSq32768", - "tar --force-local -rf %%A %%FSq32768", - "tar --force-local --remove-files -rf %%A %%FSq32768", + "tar --force-local %%S -caf %%A %%FSq32768", + "tar --force-local %%S --remove-files -caf %%A %%FSq32768", + "tar --force-local %%S -caf %%A %%FSq32768", + "tar --force-local %%S --remove-files -caf %%A %%FSq32768", "*" }, Index: targz.rc =================================================================== --- targz.rc (revision 3393) +++ targz.rc (working copy) @@ -1,7 +1,7 @@ #include "multiarcversion.hpp" #define PLUGIN_MAJOR 1 -#define PLUGIN_MINOR 33 +#define PLUGIN_MINOR 34 #define PLUGIN_NAME "targz" #define PLUGIN_FILENAME "targz.fmt" | 2) В следствии особенностей сжатия в блочном алгоритме bzip2 сжимть с его помощью исполняемые файлы не расположенные в каталоге не рекомендую - риск повреждения файлов сисльно зависит от их структуры и в среднем составляет 50%. Лучше пользоваться gzip, хотя степень сжатия у него ниже примерно на 10% - 15%. И на сладкое: заодно и в gcc мэйках мелкие баги пришиб, ну, сиё уже "традиция" - custom.ini в мэйке форматок не копируется - команды заданы не верно, changelog в makefile_gcc просто забыли прописать. Видимо случайно, все мы ошибаемся.
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti |
| Всего записей: 33134 | Зарегистр. 31-07-2002 | Отправлено: 15:58 01-09-2009 | Исправлено: Victor_VG, 16:45 01-09-2009 |
|