WINE/Разработчику/RPM

Материал из Русский WINE
Версия от 21:56, 13 мая 2012; МаксимКузьмик (обсуждение)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Wackowiki-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была автоматически перемещена с old.wiki.etersoft.ru.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Упаковка RPM

Упаковка Windows-программ в RPM-пакет (далее доступна конвертация через alien в пакеты других систем).


Недалёк тот час, когда Windows-программы будут практически неотличимы для пользователя от программ, скомпилированных непосредственно для Linux. Исполнение Win32-программ осуществляется с помощью среды WINE. При этом необходимо, чтобы исполняемый файл (EXE) был скомпилирован для Intel-архитектуры, и программа выполнялась также на x86-совместимой системе. Чтобы программа работа нормально, её нужно установить, возможно определённым образом настроив среду WINE, установить ассоциации типов файлов, выполнить другие подготовительные действия. Именно это и достигается упаковкой Win32-программы в RPM-пакет.


Упаковка придаёт Win32-программе все характеристики стандартной GUI-программы:

  • размещение в иерархии меню (наравне с Linux-приложениями)
  • регистрация MIME-типов и формирование ассоциаций типов файлов с приложением
  • возможность установки/удаления стандартными средствами (rpm, apt-get)
  • запуск из командной строки с необходимыми параметрами
  • независимость от настроек пользователя
  • поскольку файлы программы недоступны для записи, нет опасности заражения вирусом


Недостатки:

  • для таких программ приходится открывать доступ к каталогу с документами
  • требуется перепаковки оригинального дистрибутива программы


Упаковка Windows-программ

Общее описание

Программа устанавливается в отдельное дерево корневого диска WINE. Название пакета состоит из названия программы и wine в качестве префикса.

Например: wine-ПРОЕКТ. Корневое дерево и конфигурационные файлы устанавливаются в /usr/share/wine-ПРОЕКТ (подкаталоги wine и config соответственно).

См. спек-файл для примера.

Для полноценной работы программе потребуется доступ к каталогу TMP (TEMP), это обеспечивается использованием /tmp

Также отдельно выносится профайл (Profile) пользователя.

Для запуска используется специальный скрипт с названием wine-ПРОЕКТ, который первоначально копирует реестр и настройки в .wine/ПРОЕКТ и запускает wine в расчёте на этот каталог. Отдельно оформляется файл меню и пиктограммы.

Так как корень системы (C:\WINDOWS) находится на диске, недоступном для записи, то допустимо разрешить для упакованной программы доступ ко всему диску (через альтернативную схему с regsvr32 shell32)


Достоинства и недостатки подхода

  • Не нужно устанавливать программу отдельно, она будет идти в виде rpm-пакета, установка, удаление и обновление осуществляется штатными средствами системы
  • Программа, оформленная таким образом, не будет сообщаться с другими программами (в этом есть и плюс - никаких конфликтов).


Основные требования

  • rpm-пакеты должны устанавливаться в любую RPM-основанную систему, поддерживающую LSF.