Официальный форум СВД Встраиваемые Системы
05 Декабря, 2016, 19:39:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: XZ Utils для QNX  (Прочитано 4581 раз)
Олег Большаков
Администратор
Житель форума

Сообщений: 2931



WWW
« : 06 Декабря, 2009, 12:24:40 »

XZ Utils для QNX
(English version)



XZ Utils -- это универсальное программное обеспечение сжатия данных с высокой степенью сжатия. XZ Utils были разработаны для POSIX-подобных операционных систем (GNU/Linux, *BSD и т.д.), но могут работать на некоторых не POSIX системах, например, Windows. XZ Utils это замена для LZMA Utils.

Ядро кода сжатия XZ Utils основано на во многом переработанном коде LZMA SDK. Теперь основным алгоритмом сжатия стал LZMA2, который используется внутри .xz контейнера. При сжатии среднестатистического файла при помощи XZ Utils, получается файл на 30% меньше, чем при сжатии gzip, и на 15% меньше, чем при использовании bzip2.

XZ Utils  состоят из нескольких компонент:

 - библиотека сжатия liblzma с API подобному библиотеке zlib;
 - утилита командной строки xz с синтаксисом подобным утилите gzip;
 - утилита распаковки xzdec, меньшего размера, чем полнофункциональная программа xz;
 - набор небольших скриптов (xzgrep, xzdiff и т.д.) адаптированных из gzip для облегчения просмотра, обработки при помощи grep и сравнения сжатых файлов;
 - имитация утилит командной строки LZMA Utils облегчает переход с LZMA Utils на XZ Utils.

Несмотря на то, что liblzma имеет API подобный zlib, сама библиотека liblzma не включает некоторые функции ввода-вывода. Проектируется отдельная библиотека ввода-вывода, которая будет абстрактно обрабатывать файлы .gz, .bz2 и .xz и иметь простой API.

Формат XZ используется GNU coreutils начиная с версии 7.1. Начиная с версии 1.22, GNU tar позволяет автоматически сжимать и распаковывать архивы tar с помощью xz, обеспечивая прозрачную работу с ними (так же как это делают gzip и bzip2).

На самом деле очень интересное и перспективное ПО. Сборка в QNX6 проходит без проблем. Также существует проект XZ Embedded на который, тоже стоит обратить внимание, т.к. при достаточно маленьком объёме исполняемого кода (от 8 до 20 кб) обеспечивается распаковка данных с высокой степенью сжатия.


Лицензирование

Большинство интересных частей XZ Utils (например, liblzma) находятся в общественном достоянии. Вы можете делать всё, что Вам угодно с частями, находящимися в общественном достоянии.

Некоторые части XZ Utils (например, система сборки и некоторые утилиты) находятся под различными свободными программными лицензиями такими как GNU LGPLv2.1, GNU GPLv2 или GNU GPLv3.

Начиная с версии 5.0, планируется перевести XZ Utils в общественное достояние.


Установка XZ Utils 5.0.1 в QNX4

Для сборки XZ Utils 5.0.1 под QNX4 понадобится исходный код, патч и скрипт для сборки. Сборка проводится в инструментальной среде Linux при помощи OpenWatcom. Чтобы не утомлять малозначительными подробностями процесса сборки, необходимые команды были собраны в один скрипт. Если собирать XZ Utils из исходных кодов не планируется, то можно скачать и установить уже собранный архив. Все ссылки на скачивание расположены внизу этого сообщения.


1. Сборка

Скачиваем архив с исходным кодом, патч и скрипт сборки в один каталог. При необходимости надо отредактировать скрипт -- можно изменить каталог, в который будет выполняться установка XZ Utils или указат дополнительные опции для компилятора. После этого необходимо запустить скрипт:

Код:
./xz-5.0.1-qnx4-build.sh

В результате будет создан архив xz-5.0.1-qnx4-bin-YYYYMMDD.tar.gz с исполняемыми модулями для QNX4. Полномасштабное тестирование этого пакета не проводилось. Из известных особенностей стоит упомянуть, что некоторые скрипты (xzmore, xzdiff) не работают. Возможно, что это будет исправлено в будущем. Также будем благодарны сообщениям об ошибках в версии для QNX4.


2. Установка из архива

Необходимо скопировать архив xz-5.0.1-qnx4-bin-YYYYMMDD.tar.gz в корневой каталог QNX4 и выполнить команду:

Код:
#cd /
# /etc/install -u xz-5.0.1-qnx4-bin-YYYYMMDD.tar.gz


Установка XZ Utils 5.0.1 в QNX6

Для сборки XZ Utils 5.0.1 под QNX6 понадобится исходный код и скрипт для сборки. Сборка проводится в инструментальной среде Linux при помощи QNX SDP. Чтобы не утомлять малозначительными подробностями процесса сборки, необходимые команды были собраны в один скрипт. Если собирать XZ Utils из исходных кодов не планируется, то можно скачать и установить уже собранный архив. Все ссылки на скачивание расположены внизу этого сообщения.


1. Сборка

Скачиваем архив с исходным кодом и скрипт сборки в один каталог. При необходимости надо отредактировать скрипт -- можно установить платформу, для которой будет выполняться сборка, и каталог, в который будет выполняться установка XZ Utils. После этого необходимо запустить скрипт:

Код:
./xz-5.0.1-qnx6-build.sh

В результате будет создан архив xz-5.0.1-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2 с исполняемыми модулями для QNX6.


2. Установка из архива

Необходимо скопировать архив xz-5.0.1-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2 в корневой каталог QNX6 и выполнить команду:

Код:
# tar -C / -xf /xz-5.0.1-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2

Если требуется установка в инструментальную машину, то команда может быть следующей:

Код:
# tar -C ${QNX_HOST} -xf /xz-5.0.1-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2


Ссылки

 - Сайт проекта XZ Utils
 - Описании в Wikipedia
 - Дистрибутив XZ Utils 5.0.1 для QNX6
 - Скрипт сборки для QNX6
 - Настройка OpenWatcom для QNX4
 - Утилита wacc

Ссылки для QNX4



« Последнее редактирование: 17 Мая, 2011, 12:24:38 от Александр Молодцов » Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2931



WWW
« Ответ #1 : 05 Марта, 2011, 17:57:23 »

Обновил версию XZ Utils до 5.0.1, добавил скрипт сборки для QNX6.
Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2931



WWW
« Ответ #2 : 18 Марта, 2011, 21:29:01 »

Опубликовал сборку XZ Utils для QNX4.
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2016 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 18 Ноября, 2016, 00:15:53