GNOME2 больше не поставляется в дистрибутивах Linux и даже в их репозиториях в интернете. Есть форк MATE, в который добавляют поддержку то нового udisks, то нового Bluez, то сборку в новом компиляторе GCC. Но мне он не нравится: компонент mate-media прибит гвоздями к PulseAudio, тогда как gnome-media умеет ALSA. Проблемы с рамочкой окон, неработающий F10 в mc. Я хочу всё то же самое, но оригинальный GNOME2, а не MATE. Даже просто набрать в Alt-F2 «gedit» вместо «pluma» приятно!
Итак, я хочу пакеты с GNOME 2.32, чтобы можно было установить по «rpm -ivh» или из репозитория. Цена от $100 до $1000.
- Нужна беспроблемность установки в любой дистрибутив Linux.
- Самый простой вариант - написать сложные SPEC-файлы с кучей «если». Например «Если убунта версии ниже 10.10, то --enable-hal, иначе --enable-udisks». Затем залить исходный код в сервис онлайн-сборки OBS, который выдаст пакеты для 30 популярных дистрибутивов Linux. Пользователю останется только выбрать свой дистрибутив Linux из выпадающего списка, а затем подключить репозиторий с индивидуальными пакетами именно для его системы.
- Компиляция одного варианта пакетов по стандарту LSB, который установится и заработает во всех дистрибутивах Linux. Суть в том что дистрибутивы Linux хранят в своих /usr/lib не одну версию системной библиотеки, а две. libjpeg стабильной и новой версии, libncurses, libcups (полный список 1, 2, 3, 4). Можно компилировать не по LSB и класть с программой новый libjpeg (вдруг у конечного пользователя другая версия библитеки), а можно по LSB и не класть ничего.
- Пакеты RPM/DEB/tar.gz для x86/x86_64 по принципу Humble Bundle.
- Адаптация с особенностями дистрибутива Linux, в котором будет осуществляться запуск, по принципу Flash Player, Skype и Crossover. То, что настраивается ключами для ./configure, должен уметь и бинарник (если не будет сделано через OBS). dlopen() вместо линковки! Это самый дорогостоящий вариант.
dlopen() для Bluez: если в системе его нет, программа не должна сегфолтиться. dlopen() для PulseAudio: если его нет, в системном трее всё равно должен быть gnome-sound-mixer. DE должно работать с Xinput и первой, и второй версии. Уметь монтировать диски и с HAL, и с Udisks. Gnome-disk-utility не имеет ключей для сборки с HAL, так что пусть выдаёт варнинг что udisks в системе нет.
Skype запускается в системах с физически отсутствующим libpulse.so.0 и меняет своё GUI настройки в этом случае, Flash Player работает с физически отсутствующим libhal.so, который ему нужен для DRM-контента. Но не умеет работать на компьютере без SSE2. Crossover - Платформа для сборки - CentOS 5 (если не выбран вариант с OBS). Если отдельные компоненты GNOME 2.32 не хотят GCC 4.1, нарушать совместимость с CentOS 5 для этих пакетов всё равно нельзя. Нужно в него же установить GCC 4.7 из репозитория Devtoolkit, а в пакет положить libstdc++.so.6 от GCC 4.7. Если GTK 2.10 из CentOS 5 слишком стар для GNOME 2.32, новый пусть будет вложен в пакет.
- Я собираюсь заплатить только за базовые компоненты GNOME2. Дополнительные пакеты в репозитории не нужны (Gstreamer, Pidgin, NetworkManager).
Мне не важно, иметь 30 репозиториев для 30 линуксов, или 1 для 30 линуксов. Мне нужно чтобы я установил новый линукс, подключил репозиторий с ванильным GNOME 2.32, и установил его. Но не MATE.
Перемещено catap из job