WINE/Разработчику/RPM
Содержание
Упаковка 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.