%global _empty_manifest_terminate_build 0 Name: python-v8unpack Version: 0.13.5 Release: 1 Summary: Unpacking binaries 1C to JSON for GIT License: MIT URL: https://github.com/saby-integration/v8unpack Source0: https://mirrors.nju.edu.cn/pypi/web/packages/70/2a/0ff5e5b6b35e701a04dd3c0c20a55a9e55212fa7041bb3cdab7f13d9c9d9/v8unpack-0.13.5.tar.gz BuildArch: noarch Requires: python3-tqdm %description # saby v8unpack [![img lib ver](https://img.shields.io/pypi/v/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img python ver](https://img.shields.io/pypi/pyversions/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img license](https://img.shields.io/pypi/l/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img coverage](https://img.shields.io/coveralls/saby/v8unpack.svg "")](https://coveralls.io/github/saby/v8unpack) **v8unpack** - консольная утилита для сборки и распаковки бинарных файлов 1С:Предприятие 8.х (cf, cfe, epf) без использования технологической платформы. В какой-то момент жить без системы контроля версий на уровне исходников стало совсем не выносимо и обозрев все варианты выбор пал на v8unpack. Однако, без устранения основных недостатков его использование было бы крайне не удобным (плоский список из нечеловекочитаемых файлов, скрытый где-то в дебрях программный код управляемых форм). Сразу скажу, что мы с глубоким уважением относимся к труду авторов v8unpack, данная утилита отлично выполняет все свои функции и без неё создание этого решения было бы не возможным. Кроме этого её Python реализация от [Infactum](https://github.com/Infactum/onec_dtools) была взята за основу без каких либо изменений. ## Ключевые отличия от аналогичных утилит: * Структура хранения максимально приближена к структуре метаданных, человеко-читаемые имена файлов * Программный код всегда хранится в отдельных файлах и может быть разделен на несколько файлов * Общие для разных решений объекты метаданных могут автоматически браться из субмодулей * Двоичные данные макетов и картинки хранятся в исходном виде * При сборке под 8.2 и 8.1. автоматически комментируются директивы 8.3 * Файлы хранятся в формате json * Видны изменения элементов форм ## Основным назначением утилиты являются: 1. Автоматическая сборка приложений 1С (расширения конфигураций, внешние обработки) для различных платформ и конфигураций из одних и тех же исходников 2. Удобное и человекочитаемое хранение исходников в системах контроля версий. ## Алгоритм работы Утилита распаковывает и запаковывет бинарник 1С в 4 этапа: 1. Распаковка стандартным v8unpack – на выходе текстовые файлы 2. Конвертация в json 3. Декодирование заголовков и разбивка по типам метаданных 4. Организация кода и структуры хранения ![Алгоритм работы](https://github.com/saby-integration/v8unpack/blob/main/docs/stage.png?raw=true) ## Установка pip install v8unpack или [скачайте exe файл](https://github.com/saby-integration/v8unpack/raw/main/exe/v8unpack.exe) Если работаете с тяжелыми конфигурациями используйте 64-bit питон последних версий. ## Распаковка файла 1С из командной строки: v8unpack.exe -E d:/sample.cf d:/unpack из python: ```python import v8unpack if __name__ == '__main__': v8unpack.extract('d:/sample.cf', 'd:/unpack') ``` ## Сборка исходников из командной строки: v8unpack.exe -B d:/unpack d:/repacked.cf из python: ```python import v8unpack if __name__ == '__main__': v8unpack.build('d:/unpack', 'd:/repacked.cf') ``` ## Документация [Переход на сборку из одних исходников](https://github.com/saby-integration/v8unpack/blob/main/docs/transition.md) [Использование](https://github.com/saby-integration/v8unpack/blob/main/docs/usage.md) [История изменений](https://github.com/saby-integration/v8unpack/blob/main/docs/history.md) [Участие](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md) ## Отладка ## Ограничения Разметка форм и свойства объектов по прежнему является не читаемыми, но в этом виде проще проводить их анализ и при желании дополнить парсер. На текущий момент [утилита покрывает только нужные нам типы метаданных](https://github.com/saby-integration/v8unpack/blob/main/src/v8unpack/metadata_types.py), мы будем рады [любому участию в проекте](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md). %package -n python3-v8unpack Summary: Unpacking binaries 1C to JSON for GIT Provides: python-v8unpack BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-v8unpack # saby v8unpack [![img lib ver](https://img.shields.io/pypi/v/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img python ver](https://img.shields.io/pypi/pyversions/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img license](https://img.shields.io/pypi/l/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img coverage](https://img.shields.io/coveralls/saby/v8unpack.svg "")](https://coveralls.io/github/saby/v8unpack) **v8unpack** - консольная утилита для сборки и распаковки бинарных файлов 1С:Предприятие 8.х (cf, cfe, epf) без использования технологической платформы. В какой-то момент жить без системы контроля версий на уровне исходников стало совсем не выносимо и обозрев все варианты выбор пал на v8unpack. Однако, без устранения основных недостатков его использование было бы крайне не удобным (плоский список из нечеловекочитаемых файлов, скрытый где-то в дебрях программный код управляемых форм). Сразу скажу, что мы с глубоким уважением относимся к труду авторов v8unpack, данная утилита отлично выполняет все свои функции и без неё создание этого решения было бы не возможным. Кроме этого её Python реализация от [Infactum](https://github.com/Infactum/onec_dtools) была взята за основу без каких либо изменений. ## Ключевые отличия от аналогичных утилит: * Структура хранения максимально приближена к структуре метаданных, человеко-читаемые имена файлов * Программный код всегда хранится в отдельных файлах и может быть разделен на несколько файлов * Общие для разных решений объекты метаданных могут автоматически браться из субмодулей * Двоичные данные макетов и картинки хранятся в исходном виде * При сборке под 8.2 и 8.1. автоматически комментируются директивы 8.3 * Файлы хранятся в формате json * Видны изменения элементов форм ## Основным назначением утилиты являются: 1. Автоматическая сборка приложений 1С (расширения конфигураций, внешние обработки) для различных платформ и конфигураций из одних и тех же исходников 2. Удобное и человекочитаемое хранение исходников в системах контроля версий. ## Алгоритм работы Утилита распаковывает и запаковывет бинарник 1С в 4 этапа: 1. Распаковка стандартным v8unpack – на выходе текстовые файлы 2. Конвертация в json 3. Декодирование заголовков и разбивка по типам метаданных 4. Организация кода и структуры хранения ![Алгоритм работы](https://github.com/saby-integration/v8unpack/blob/main/docs/stage.png?raw=true) ## Установка pip install v8unpack или [скачайте exe файл](https://github.com/saby-integration/v8unpack/raw/main/exe/v8unpack.exe) Если работаете с тяжелыми конфигурациями используйте 64-bit питон последних версий. ## Распаковка файла 1С из командной строки: v8unpack.exe -E d:/sample.cf d:/unpack из python: ```python import v8unpack if __name__ == '__main__': v8unpack.extract('d:/sample.cf', 'd:/unpack') ``` ## Сборка исходников из командной строки: v8unpack.exe -B d:/unpack d:/repacked.cf из python: ```python import v8unpack if __name__ == '__main__': v8unpack.build('d:/unpack', 'd:/repacked.cf') ``` ## Документация [Переход на сборку из одних исходников](https://github.com/saby-integration/v8unpack/blob/main/docs/transition.md) [Использование](https://github.com/saby-integration/v8unpack/blob/main/docs/usage.md) [История изменений](https://github.com/saby-integration/v8unpack/blob/main/docs/history.md) [Участие](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md) ## Отладка ## Ограничения Разметка форм и свойства объектов по прежнему является не читаемыми, но в этом виде проще проводить их анализ и при желании дополнить парсер. На текущий момент [утилита покрывает только нужные нам типы метаданных](https://github.com/saby-integration/v8unpack/blob/main/src/v8unpack/metadata_types.py), мы будем рады [любому участию в проекте](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md). %package help Summary: Development documents and examples for v8unpack Provides: python3-v8unpack-doc %description help # saby v8unpack [![img lib ver](https://img.shields.io/pypi/v/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img python ver](https://img.shields.io/pypi/pyversions/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img license](https://img.shields.io/pypi/l/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack) [![img coverage](https://img.shields.io/coveralls/saby/v8unpack.svg "")](https://coveralls.io/github/saby/v8unpack) **v8unpack** - консольная утилита для сборки и распаковки бинарных файлов 1С:Предприятие 8.х (cf, cfe, epf) без использования технологической платформы. В какой-то момент жить без системы контроля версий на уровне исходников стало совсем не выносимо и обозрев все варианты выбор пал на v8unpack. Однако, без устранения основных недостатков его использование было бы крайне не удобным (плоский список из нечеловекочитаемых файлов, скрытый где-то в дебрях программный код управляемых форм). Сразу скажу, что мы с глубоким уважением относимся к труду авторов v8unpack, данная утилита отлично выполняет все свои функции и без неё создание этого решения было бы не возможным. Кроме этого её Python реализация от [Infactum](https://github.com/Infactum/onec_dtools) была взята за основу без каких либо изменений. ## Ключевые отличия от аналогичных утилит: * Структура хранения максимально приближена к структуре метаданных, человеко-читаемые имена файлов * Программный код всегда хранится в отдельных файлах и может быть разделен на несколько файлов * Общие для разных решений объекты метаданных могут автоматически браться из субмодулей * Двоичные данные макетов и картинки хранятся в исходном виде * При сборке под 8.2 и 8.1. автоматически комментируются директивы 8.3 * Файлы хранятся в формате json * Видны изменения элементов форм ## Основным назначением утилиты являются: 1. Автоматическая сборка приложений 1С (расширения конфигураций, внешние обработки) для различных платформ и конфигураций из одних и тех же исходников 2. Удобное и человекочитаемое хранение исходников в системах контроля версий. ## Алгоритм работы Утилита распаковывает и запаковывет бинарник 1С в 4 этапа: 1. Распаковка стандартным v8unpack – на выходе текстовые файлы 2. Конвертация в json 3. Декодирование заголовков и разбивка по типам метаданных 4. Организация кода и структуры хранения ![Алгоритм работы](https://github.com/saby-integration/v8unpack/blob/main/docs/stage.png?raw=true) ## Установка pip install v8unpack или [скачайте exe файл](https://github.com/saby-integration/v8unpack/raw/main/exe/v8unpack.exe) Если работаете с тяжелыми конфигурациями используйте 64-bit питон последних версий. ## Распаковка файла 1С из командной строки: v8unpack.exe -E d:/sample.cf d:/unpack из python: ```python import v8unpack if __name__ == '__main__': v8unpack.extract('d:/sample.cf', 'd:/unpack') ``` ## Сборка исходников из командной строки: v8unpack.exe -B d:/unpack d:/repacked.cf из python: ```python import v8unpack if __name__ == '__main__': v8unpack.build('d:/unpack', 'd:/repacked.cf') ``` ## Документация [Переход на сборку из одних исходников](https://github.com/saby-integration/v8unpack/blob/main/docs/transition.md) [Использование](https://github.com/saby-integration/v8unpack/blob/main/docs/usage.md) [История изменений](https://github.com/saby-integration/v8unpack/blob/main/docs/history.md) [Участие](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md) ## Отладка ## Ограничения Разметка форм и свойства объектов по прежнему является не читаемыми, но в этом виде проще проводить их анализ и при желании дополнить парсер. На текущий момент [утилита покрывает только нужные нам типы метаданных](https://github.com/saby-integration/v8unpack/blob/main/src/v8unpack/metadata_types.py), мы будем рады [любому участию в проекте](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md). %prep %autosetup -n v8unpack-0.13.5 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-v8unpack -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 10 2023 Python_Bot - 0.13.5-1 - Package Spec generated