LINUX.ORG.RU
ФорумTalks

Установщик (несвободных) программ для Linux, идеальный на мой взгляд


0

1

Вставляем DVD-диск в DVD-привод, он автоматически монтируется и мы видим файл setup.sh. Запускаем его. Открывается X-овое окно с информацией:

«Программа установки Героев Меча и Магии V для Linux

Эта программа установит игру Герои Меча и Магии V на Ваш компьютер. Игра существует в версиях для архитектур процессора x86, AMD64, PowerPC, ARM, MIPS и SPARC. Для работы программы установки необходимо наличие системной библиотеки GTK 2. Если вы запускаете нашу программу установки в те далёкие времена, когда библиотека GTK 2 уже неактуальна, установите внизу галочку „Задействовать свою библиотеку GTK 2“.

Чтобы выполнить установку игры из консоли, просто запустите программу с отключенным X-сервером, либо с ключом --no-x-server в графическом эмуляторе консоли».

И снизу надпись на английском языке «Если язык интерфейса выбран неправильно, выберите нужный из выпадающео списка».

Поле нажатия на кнопку мы видим красивое GTK 2 окно, приветствующее нас. «Далее >».

«Ознакомьтесь с текстом лицензионного соглашения. Перемещайте текст для того, чтобы увидеть его полностью, после этого вы сможете принять лицензионное соглашение».

Принимаем.

«Зависимости игры

Процессор - 1.7 ГГц (зелёный цвет)

Оперативная память - 512 Мб (красный цвет, в системе только 256)

Раздел подкачки - 128 мегабайтов (зелёный свет)

Аппаратно ускоряемый OpenGL 2.0 (зелёный цвет)

Внимание: на вашем компьютере только 256 мегабайтов памяти, в то время как для беспроблемной работы игры необходимо 256. Возможна замедленная работа игры.

Игра зависит от следующий системных библиотек:

libGL.so - библиотека OpenGL версии 2.0 или выше, устанавливается вместе с драйвером видеокарты

libopenal.so - библиотека OpenAL версии 0 или выше

libstdc++.so.6 - системная библиотека, входящая в состав GCC 4

Если какой-либо из этих библиотек нет, программа установки скопирует в каталог игры свои версии (кроме libGL) - однако желательно использовать версии именно для совего дистрибутива Linux, установив их вручную.

Игра использует OpenGL версии 2 или выше. На момент выпуска игры возможны некоторые проблемы только со свободным драйвером nouveau.

Также необходима системная библиотека glibc такой-то версии минимум - её содержат дистрибутивы Linux, выпущенные в январе 2005 года. В случае невозможности запуска игры из-за несовместимости версий glibc системы и игры, вам необходимо вручную обновить glibc».

Вводим серийный номер.

Устанавливаем комплектацию игры. Сама игра, редактор карт и кампаний. Бинарники игры, для i386 и AMD64 галочки уже стоят, их можно поснимать, и поставить галочки напротив ARM, PowerPC, SPARC и MIPS.

«Выберите каталог для установки игры. Для того чтобы усановить игру в системный каталог вам потребуется ввести пароль суперпользователя».

либо

«Вы запустили программу установки от имени суперпользователя. Для того, чтобы установить игру в пользовательские каталоги, необходимо запустить игру от имени того пользователя, в чей домашний каталог вы собираетесь установить игру. Вы также можете выставить необходимые права на файлы игры после установки».

«Если вы желаете интегрировать игру в основной репозитарий системы, программа установки может сгенерировать RPM или DEB пакет, имитирующий в себе файлы игры. На самом деле они пустые. Устанавливать этот пакет необходимо ДО того, как начнётся копирование файлов. Желаете ли вы сгенерировать такой пакет?».

При этом можно вернуться на несколько пунктов назад и что-нибудь поменять, при этом всё, что я делал далее, сохранится.

«Всё готово для начала копирования файлов игры. Посмотрите что вы выбрали и начните установку».

Красивое копирование файлов.

«Готово!

Прочитать README?

Установить ярлыки запуска в главное меню?

Установить значки игры в системные каталоги?

Установить значок игры на рабочий стол?»

«Для того чтобы прочитать файл README программа установки попытается воспользоваться стандартной программой просмотра PDF файлов системы. Если файл не откроется, предлагаем открыть этот файл вручную, открыв его в любом свободном просмотрщике PDF-файлов системы. Если у вас нет программы для просмотра PDF-файлов, предлагаем установить несвободный Adobe Reader (x86) с установочного диска».

Открывается KPDF с текстом ReadME.

неужели так сложно?

Ответ на: комментарий от Zenitar

>И ещё, с каких пор RPM работает в Synatic?

rpm лишь для примера я привел. С тем же успехом можно и deb или pacmanовские пакеты.

для каждого из них есть over 9000 гуевых нашлепок, из которых в свою очередь 99% не нужно.

dikiy ★★☆☆☆
()
Ответ на: комментарий от Zenitar

>Ты попугай.

А ты толстый тролль и виндузятник. Но я тебя так и быть, покормлю :)

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

Ну а насчёт открышегося синаптика при запуске диска - мечтать не вредно, но увы, убунта хоть и лидер, но 15-17% от всех... RPM ценится больше.

Про серийный номер это не ко мне, а к разработчикам 5-х Героев.

Ну и наконец - всё это уже давно есть! Только страдает кучей глюков.

Zenitar
() автор топика
Ответ на: комментарий от fang90

> Диски не нужны!

Ладно - тогда так «Вставляем установочный Flash-диск в USB-разъём».

А так все правильно

Спасибо!

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

>Ну а насчёт открышегося синаптика при запуске диска - мечтать не вредно, но увы, убунта хоть и лидер, но 15-17% от всех... RPM ценится больше.

во-первых: абсолютно монофаллически, какой менеджер пакетов. Они все достаточно продвинутые.

во-вторых: RPM ценится больше только в твоем воображении. Понятие «ценится» тут вообще неприменимо.

в-третьих: запуск менеджера пакетов при вставке соотв. диска был еще в mandrake 8, ЕМНИП. Необходимо и достаточно иметь возможность автомонтирования. Все остальное прикручивается кому надо (или дистростроителями по дефолту).

Ну и наконец - всё это уже давно есть! Только страдает кучей глюков.

Это потому, что это костыль, который не нужен //Ваш К.О.

dikiy ★★☆☆☆
()

Слишком нудно. Лучше все библиотеки нести с собой. По поводу всяких драйверов генерировать инструкцию для самых популярных дистрибутивов, для остальных дистров - общая инструкция. Генерация пакетов - автоопределение на основе дистрибутива.

h31 ★★★★
()
Ответ на: комментарий от Zenitar

Если уж так хочется создавать пакеты, то можно запихнуть на диск небольшие пакеты-лаунчеры, которые всё будут распаковывать куда-нибудь в $HOME.

h31 ★★★★
()
Ответ на: комментарий от vurdalak

8гб игра весит только потому, что там библиотеки для каждой версии каждого дистрибутива.

в играх обычно 7.95 гигабайт ресурсов, и 5 мегабайт исполняемого кода

stevejobs ★★★★☆
()

>Поле нажатия на кнопку мы видим красивое GTK 2 окно

красивое GTK 2 окно

Ну покажите мне хоть одно такое, а?
Ну и вообще. man YaST/synaptic/DrakRPM/etc., либо man zypper/APT/urpmi/portage/etc. Остальное не нужно.

unikoid ★★★
()

за установку «в каталог» уже пристрелить надо.

dll hell хотим? или бинарники хз откуда? чем плохо просто сделать репозиторий?

andrew_tch
()

По-моему, нормальная идея.
Многое уже почти так распространяется, например, тот же самый свободный glest: установка в произвольную директори + свои библиотеки; правда, без возможности выбора — устанавливается всё и сразу, хотя в системе уже они есть, только называются по-другому.
Хорошо бы, чтобы был универсальный расширенный вариант, как предлагает ТС.

З.Ы. И обязательно, чтобы setup.sh запускался по двойному клику :-)

valentin_v13 ★★★
()
Ответ на: комментарий от andrew_tch

> «в каталог»

В папку?

dll hell хотим?

http://www.linux.org.ru/jump-message.jsp?msgid=5874800&cid=5874923

или бинарники непонятно откуда

Официальные бинарники от изготовителя игры с официального диска.

чем плохо просто сделать репозиторий

http://www.linux.org.ru/jump-message.jsp?msgid=5874800&cid=5874882Steam

Zenitar
() автор топика
Ответ на: комментарий от andrew_tch

> dll hell хотим?

если код - закрытый проприетарный блоб, никто не будет компилировать подо все возможные версии дистров. dll/assembly hell по-любому будет, главное грамотно им управлять. например, установкой в каталоги, или многоверсионными пакетами.

stevejobs ★★★★☆
()
Ответ на: комментарий от unikoid

> YaST/synaptic/DrakRPM/etc.

На один установочный диск не получится запихнуть 3 8-гигабайтных пакета с одинаковым содержимым.

Zenitar
() автор топика
Ответ на: комментарий от stevejobs

> в играх обычно 7.95 гигабайт ресурсов, и 5 мегабайт исполняемого кода

Поэтому можно на одном диске и выпускать версии игр для всех систем. Просто Heroes III уже были выпущены, поэтому диск для Linux был отдельный. А Unreal Tournament 2004 уже один диск для всех.

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

а почему бы не написать в топике «как в винде»? или твое описание чем-то отличается?

stevejobs ★★★★☆
()

Выдыхай. Достаточно пакета под бубунту (лучше в canonical store, DVD мертвы, флешки — практически тоже), alien и ebuild/pkgbuild для маргиналов. Пользователю не надо думать вообще ни о чём.

Игра существует в версиях для архитектур процессора x86, AMD64, PowerPC, ARM, MIPS и SPARC.

Ты невменяем.

x3al ★★★★★
()
Ответ на: комментарий от andrew_tch

>чем плохо просто сделать репозиторий?

А кто-то будет делать? Производители игр будут распихивать файлы по пакетам, писать правила для установки? И всё это для нескольких форматов установочных пакетов, притом что в рамках одного формата пакеты могут быть несовместимые между дистрибутивами?


за установку «в каталог» уже пристрелить надо.

dll hell хотим? или бинарники хз откуда?



Дык ведь библиотеки лежат не в общей куче, как в некоторых системах, а в диреториях тех программ, для которых они нужны; программы же, в свою очередь, лежат не в той же куче а распиханы в свои директории в специально отведённом для этого месте; при удалении которого системе ровным счётом ничего не будет..

valentin_v13 ★★★
()
Ответ на: комментарий от Zenitar

>Как можно на один 8,5-гб диск положить 8-гигабайтный пакет rpm и 8-гигабайтый пакет deb?

хинт: в пакетах есть внутри скрипты.

dikiy ★★☆☆☆
()
Ответ на: комментарий от x3al

> Достаточно пакета под бубунту

Не у всех убунта

Ты невменяем.

В свой время icculus делал порты игр для amd64. Сегодня я играю во всё что угодно не устанавливая 32-юитных библиотек. В видне я так не могу.

Zenitar
() автор топика

> Вставляем DVD-диск в DVD-привод, он автоматически монтируется и мы видим файл setup.sh

Мне нравится идея.

alman ★★★
()
Ответ на: комментарий от Zenitar

>А я что предлагаю?
Ты предлагаешь пользователю сделать работу компьютера. То есть обработать тонну ненужной информации.

x3al ★★★★★
()

Диски не нужны, даёшь steam.deb!

PolarFox ★★★★★
()
Ответ на: комментарий от Zenitar

>А я что предлагаю?

ты предлагаешь задрачивать пользователя картинками и вопросами.

dikiy ★★☆☆☆
()
Ответ на: комментарий от alman

Эта идея взята у официального диска Heroes III от Loki Software. Она же повторяется у Amnesia, UT2004, и ещё у кучи игр.

Zenitar
() автор топика
Ответ на: комментарий от x3al

Какой информации? Типа «Хотите ли вы редактор карт?» «У вас не установлен OpenGL?».

Zenitar
() автор топика

идеальный установщик: на диске setup.sh README

в README список используемых библиотек

при запуске скрипта от root-а сообщение об ошибке

каталог для установки по умолчанию ~/Games/имя игры правится передачей параметра

alpha ★★★★★
()
Ответ на: комментарий от Zenitar

>Как можно на один 8,5-гб диск положить 8-гигабайтный пакет rpm и 8-гигабайтый пакет deb?

и да, существует alien

dikiy ★★☆☆☆
()
Ответ на: комментарий от Zenitar

>ещё
Это не повод использовать устаревшие методы.
Насчёт лишнего:

Игра существует в версиях для архитектур процессора x86, AMD64, PowerPC, ARM, MIPS и SPARC.

Ну и зачем это мне?

Если вы запускаете нашу программу установки в те далёкие времена, когда библиотека GTK 2 уже неактуальна, установите внизу галочку «Задействовать свою библиотеку GTK 2».

Проверить установщик сам может.

Чтобы выполнить установку игры из консоли, просто запустите программу с отключенным X-сервером

Должно выводиться подобное при запуске с --help

Если язык интерфейса выбран неправильно, выберите нужный из выпадающео списка

Про $LANG тут уже говорили.

Поле нажатия на кнопку мы видим красивое GTK 2 окно, приветствующее нас. «Далее >».

Зачем?

«Ознакомьтесь с текстом лицензионного соглашения. Перемещайте текст для того, чтобы увидеть его полностью, после этого вы сможете принять лицензионное соглашение».

Терпимо, хотя можно сказать, где валяется лицензия.

Зависимости игры

Процессор - 1.7 ГГц (зелёный цвет)


Раздел подкачки - 128 мегабайтов (зелёный свет)


Аппаратно ускоряемый OpenGL 2.0 (зелёный цвет)


Если всё ОК, нафиг об этом упоминать?

Внимание: на вашем компьютере только 256 мегабайтов памяти, в то время как для беспроблемной работы игры необходимо 256. Возможна замедленная работа игры.

Можно и при первом запуске упомянуть.

Игра зависит от следующий системных библиотек:

Мне пофиг, от чего оно зависит.

Если какой-либо из этих библиотек нет, программа установки скопирует в каталог игры свои версии (кроме libGL) - однако желательно использовать версии именно для совего дистрибутива Linux, установив их вручную.

С пакетами таких проблем нет. А скрипт может сам проверить и сделает это быстрее/надёжнее, чем пользователь.

Игра использует OpenGL версии 2 или выше. На момент выпуска игры возможны некоторые проблемы только со свободным драйвером nouveau.

А мне пофиг, что там возможно.

Также необходима системная библиотека glibc такой-то версии минимум - её содержат дистрибутивы Linux, выпущенные в январе 2005 года. В случае невозможности запуска игры из-за несовместимости версий glibc системы и игры, вам необходимо вручную обновить glibc".

Это точно пользователю?

Вводим серийный номер.

Терпимо, хотя можно его спрашивать и при подключении к сети/создании аккаунта.

«Всё готово для начала копирования файлов игры. Посмотрите что вы выбрали и начните установку».

С учётом вышеупомянутого — не нужно. Не ОС же ставится.

Красивое копирование файлов.

Дважды не нужно.

x3al ★★★★★
()
Ответ на: комментарий от Cancellor

А перед этим

aptitude install

Это чего за дистрибутив такой?

У меня:

rpm -i --no-deps --force dep1.rpm, dep2.rpm ...
Но последнее время я этим гиблым делом не заморачиваюсь: все нужные библиотеки в свою мандриву устанавливаю из джентовского репозитория: получаю сразу и so-библиотеки, и заголовочные файлы, и библиотеки для статической компиляции :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от x3al

Ну ты прям виндузятник какой-то. Не линуксоид. Если линуксоиду дать Windows, он точно так же будет возмущаться. «Установка DirectX - это точно пользователю? .NET - аналогично. Лицензионное соглашение - что, не могли просто рядом с утсановщиком положить? Драйверы видеокарты - а что, разве в Windows их надо самому ставить?». Знать надо где работаешь и особенности этого.

И ещё: играть за тебя тоже система будет?

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

>. Если линуксоиду дать Windows, он точно так же будет возмущаться. «Установка DirectX - это точно пользователю? .NET - аналогично.
Именно. Потому, что в windows нет способа проверить.

играть за тебя тоже система будет?

Посмотри на установщик игр на xbox/ps3. Или на ямобилках. Чем линукс хуже?

x3al ★★★★★
()
Ответ на: комментарий от Zenitar

>Драйверы видеокарты - а что, разве в Windows их надо самому ставить?"
А такой маразм даже в windows не упоминается.

x3al ★★★★★
()
Ответ на: комментарий от Zenitar

>установочный диск
Какой еще диск? Сейчас все ПО распространяется через системы цифровой дистрибьюции, Steam, AppStore, Android Market. Что мешает производителю собрать пакеты для самых популярных дистров и сделать репозиторий, тем более что rpm'ы и deb'ы c ресурсами будут одни для всех RPM и Deb-based дистрибутивов соответственно. Для всех остальных просто tar.xz архив. Гентушники сделают для него ебилд, арчеводы засунут в AUR и т. д.

Да и в случае с установочным диском ничего не мешает положить на диск 1 архив и кучу маленьких пакетов, которые будут иметь все зависимости игры и в которых будут только скрипты установки файлов игры с диска из аржива на диск пользователя и удаления.

unikoid ★★★
()
Ответ на: комментарий от unikoid

>Что мешает производителю собрать пакеты для самых популярных дистров и сделать репозиторий,

Т.е. обеспечивать весь зоопарк пакетами? Не будут они этим заниматься.

valentin_v13 ★★★
()
Ответ на: комментарий от valentin_v13

>Т.е. обеспечивать весь зоопарк пакетами?

для самых популярных дистров

По-моему, немного есть разницы, не? Да и откуда зоопарк? По сути Debian, Ubuntu, openSUSE, Mandriva, Fedora. Есть еще действительно популярные некрасноглазые дистрибутивы, не совместимые с вышеперечисленными? Красноглазые себе и из архива поставят, да и из чужого пакета тоже.
Да, DistroWatch таки подтверждает, в первой 20ке из некрасноглазого и несовместимого с вышеперечисленными только PCLinuxOS. Хотя у меня таки есть сомнения в ее популярности.

unikoid ★★★
()
Ответ на: комментарий от unikoid

Пакеты для пяти систем — идеальный вариант (про репозиторий пока помолчу). А так — хорошо если хотя бы установочный .sh-пакет есть. Если программа свободная, то часто даже его не бывает.

valentin_v13 ★★★
()

Вообще-то это УЖЕ реализовано.

Quasar ★★★★★
()
Ответ на: комментарий от Zenitar

Zenitar> И ещё, с каких пор RPM работает в Synatic?

Не знаю, с каких, но у меня работает.

Quasar ★★★★★
()

Зачем игре зависеть от GTK? Уходите на виндовс со своими инсталляторами. Там полно всяких извращений. Наверняка и лишние зависимости установщика, которые могут не заработать, которые игре не нужны, найдутся.

Нормальная игра должна идти копипастом каталога с ней (обычные либы не в счёт, но их тоже можно положить рядом, в отдельном каталоге, для потомков).

Deleted
()

> Открывается KPDF

Kpdf лежит на диске? Собран статически? Нахер он нужен?

Igron ★★★★★
()
Ответ на: комментарий от zhuravlik

>Ага. После запуска wine у меня текстовые файлы начинают открываться в wine notepad, переопределяя то, что я настроил до этого. Чудесная интеграция.

Они считают это фичей, и отступать не думают, кстати.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.