Russian Qt Forum
Май 10, 2024, 22:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: создание инсталляций для линукса  (Прочитано 13178 раз)
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« : Январь 02, 2009, 04:31 »

Собственно сабж - порекомендуйте пож-та нормальный софт для этого Улыбающийся
Нужно что то типа InstallShield, для создания "однокликовых" бинарных инсталляторов.

Пробовал BitRock - показался сильно корявым и маломощным.
autopackage нормально не встал.
installjammer - делает вроде инсталляции, но нормально в меню КДЕ не создает ярлычки...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Dendy
Гость
« Ответ #1 : Январь 02, 2009, 05:00 »

Всё это изначально "Defected by design" хлам. Инсталляторы в линуксе есть зло. Единственный тру-способ - заворачивать прогу в пакет под конкретный дистрибутив с цифровой подписью и разрешением зависимостей. Вы же не хотите чтобы ваши пользователи выгребали вирусы из ваших инсталляторов под якобы безопастным Линуксом?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #2 : Январь 02, 2009, 15:04 »

Хм... честно говоря, не совсем понял, при чем тут вирусы и при чем "DbD", который, помоему, к DRM относится...

Инсталлятор в моем понимании - это прога, которая нормальным способом (т.е. через гуй, без всяких левых заморочек типа spec и т.д.) позволяет указать: "вот эти файлы запакуй в пакет, создай такие-то пункты в меню и возможность деинсталляции". После чего она формирует один или несколько пакетов (хотя бы RPM), полностью готовых к установке без лишнего гемороя для пользователя.

В общем надо что то типа alien, но с гуем и с возмножностью формирования описания пакетов и элементов меню.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Dendy
Гость
« Ответ #3 : Январь 02, 2009, 17:43 »

Термин "Defected by Design" относится ко всему где качеством было пожертвовано изначально и исправить это возможности нет.

Инсталляция в каждом дистрибутиве Линукса должна выполняться как это было задумано разработчиками дистрибутива. Из-за зоопарка единого "однокликового универсального инсталлятора" быть не может. Всё что есть на рынке типа "Next, Next, Finish" есть плохо, так как вынуждают конечного пользователя хранить и запускать потенциально инфицированный исполняемый файл. Именно это я и понял из слов:

Цитировать
Нужно что то типа InstallShield, для создания "однокликовых" бинарных инсталляторов.

Если вам нужна универсальная система для сборки пакетов - советую обратить внимание на openSUSE Build Service.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Январь 02, 2009, 18:19 »

Инсталляция в каждом дистрибутиве Линукса должна выполняться как это было задумано разработчиками дистрибутива. Из-за зоопарка единого "однокликового универсального инсталлятора" быть не может. Всё что есть на рынке типа "Next, Next, Finish" есть плохо, так как вынуждают конечного пользователя хранить и запускать потенциально инфицированный исполняемый файл.

Tut ja ne sovsem soglasen (proshu proshenija za translit - nemeckij nout).
Vo pervyh, otkuda vzjatsa virusu v binarnike, kotoryj ja sam sobirayu.
Vo vtoryh, nuzhny ochen bolshie usilija, chtoby sobrat pakety dlja vseh suschestvujushih distribov.
V tretih, s RPM gorazdo bolshe problem v plane razreshenija zavisimostey.
Elsi by idea installerov byla ploha, vrjad li razrabotchiki Qt Creator ih primenjali.

No daje esli ne instaler - est li normalnyy soft dlya upakovki RPM? rpmbuild - eto proshlyy vek.

openSUSE Build Service posmotrju, naskolko ja ponjal, eto online shtuka...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Dendy
Гость
« Ответ #5 : Январь 02, 2009, 18:39 »

Цитировать
Vo pervyh, otkuda vzjatsa virusu v binarnike, kotoryj ja sam sobirayu.

Откуда вообще берутся вирусы? Согласитесь, каждый заражёный бинарник под Windows тоже когда-то не был инфицирован. Проблема в том, что такой бинарник нужно скачать руками, хранить у себя и потом возможно дать кому-либо ещё, ведь он создавался быть универсальным для всех. На любом из этих этапов он может быть инфицирован и способов проверки этого нет кроме как сравнивать хеш-сумму с оригинальной. Что уже противоречит простоте и удобству. Поэтому все самописные бинарные блобы нужно уже расценивать как потенциально заражённые.

Цитировать
Vo vtoryh, nuzhny ochen bolshie usilija, chtoby sobrat pakety dlja vseh suschestvujushih distribov.

Каюсь, сам ещё не пробовал, хотя тоже горит. Но насколько я понял Build Service призван как раз решить эту проблему.

P.S.
Цитировать
Elsi by idea installerov byla ploha, vrjad li razrabotchiki Qt Creator ih primenjali.

Под Линуксом? Не пробовал, но что-то с трудом представляется. Под альтернативными осями вроде Windows и OS X другого способа установки просто не существует. А под Линукс Qt Creator и так будет Open Source. И тогда он автоматом появится в каждом репозитории в виде пакета.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #6 : Январь 02, 2009, 19:11 »

Qt Creator for Linux zapakovan chem to tipa InstallShield, tam odin binarnik (*.bin).
Ja ne raz videl takie installery v Linux, hotelos by svoju progu tozhe zapakovat vo shto to podobnoe.
Konechno, tozhe horosho imet' ee v repositorii, no poka eto nereal'no - hotja by sdelat' normalnyy distr...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Dendy
Гость
« Ответ #7 : Январь 02, 2009, 20:03 »

Когда я был маленьким, а деревья большими - то писал кипятком от всяких инсталлеров, носился с выпучеными глазами вокруг велосипедоскриптов и схватывал оргазм от вида установки/деинсталляции своих прог. Познакомившись с Линуксом был возмущён отсутствием столь продвинутой технологичной возможности в оном. Как это нет инсталлеров? "Next - Next - Finish" это же глобально и надёжно! Потом подрос и близорукость прошла. Лучше .tar.gz с бинарями, так по крайней мере конечный юзер поймёт что это архив, который нужно распаковать куда ему пожелается, и оттуда же при желании стереть всем скопом.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #8 : Январь 02, 2009, 20:13 »

tar.gz с бинарями это хорошо, но к сожалению придется бинари под разные платформы отдельно собирать...
Это раз. Во вторых, далеко не каждому юзеру захочется таким образом прогу ставить - обычно народ лезет в репозиторий, если там нет - пытаются качнуть rpm, а с ним уже настоящие чудеса начинаются - то архитектура не та, то либы не те стоят и т.д. Это отбивает охоту у юзера пользоваться такой прогой. А из сырцов собирать станет только 1 из 10, и соберется в лучшем случае только у 50% осмелившихся... тоже не есть гут.

Но кроме этого, есть другие грабли - а как, допустим, имея только архив с бинарями-сырцами, создать элемент в меню? Я себе это слабо представляю, гуглил - не нашел. Я ж почему про тулз и спрашиваю - чтобы можно было собрать более-менее полноценный дистр своей проги, который хотя бы под пару систем станет без проблем и "красиво". Просто чем-то же это делается, только не пойму чем...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #9 : Январь 02, 2009, 20:29 »

openSUSE Build Service выдает такое:

OpenSUSE Webclient Error:

Error Details:
Errorcode: create_project_no_permission
Message: not allowed to create new project

похоже он не работает - там много мессаг по поводу того, что это еще бета и т.д.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #10 : Январь 02, 2009, 22:11 »

Креатор запакован с помощью BitRock InstallBuilder for Qt Apps
Записан

Юра.
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #11 : Январь 02, 2009, 22:47 »

Собственно сабж - порекомендуйте пож-та нормальный софт для этого Улыбающийся
Нужно что то типа InstallShield, для создания "однокликовых" бинарных инсталляторов.

Пробовал BitRock - показался сильно корявым и маломощным.
autopackage нормально не встал.
installjammer - делает вроде инсталляции, но нормально в меню КДЕ не создает ярлычки...

Чувак, под линухом нет бинарной совместимости между дистрибутивами, и даже между разными версиями одного и того же дистриба, выпущенные с разность в пол-года. Посему, создание бинарных инсталляторов с человеческим интерфейсом - это прерогатива крупных компаний типа Sun (виртуал бокс, опенофис), VmWare. И как они делают свои инсталляторы, и что лежит в их установочных пакетах - тайна, тщательно охраняемая владельцами. Все остальные сосут.

Положение дел было бы не так печально, если бы помогала статическая компиляция. Но статически собранные программы не работают какнадо, сегфолтятся, требуют конкретные системные библиотеки, требуют конкретные видеодрова.

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

1. Открыть исходники, и отдать все на откуп майнтейнерам-распиздяям, которые из твоей программы будут пытаться собрать работающий пакет с бинарем для своего любимого дистра. Процесс длительный, нервный, майнтейнеры что хотят, то и делают, соирают нерабочие версии, забывают что-то доложить, в общем делают все, чтобы твоей программой никто не стал пользоваться. Частично помогает написание спеков, но освоить это искусство посложнее, чем разобраться что такое ссылка и указатель в языке C. По сути, вместо написания программы тебе придется заниматься изучением искусства написания спеков для обеспечения кроссплатформенной переносимости. Еще проблема - пакет будет доступен только для самой новой версии дистра. Пользователи предыдущей версии дистра скорее всего отсосут, если не найдется майтнейнер, который сделает пакет для устаревшего на год дистра.

2. Сделать свою билдферму, выкачать около 50 всевозможноых более-менее актуальных дистров и их версий. Засунуть каждый дистр в отдельную виртуальную машину, написать срипты, которые будут запускать сборку под каждый дистр в своей виртуалке, делать пакет под дистр, и складывать готовые пакеты в отдельное место. Разрабатывать и отлаживать такую билдферму ты будешь несколько лет, о своей программе можешь забыть. Можно попробовать воспользоваться онлайновой билдфермой от SUSE. Но она сделает пакеты только для SUSE, RedHat, CentOS, Fedora, Mandriva. Как нетрудно заметить, пользователи Ubuntu и всяких ALTLinux-ов отсосут.

Больше более-менее рабочих (и простых для конечного пользователя) вариантов нет. Посему линух как был нах ненужен корпорациям и клиентам с деньгами, готовыми платить за десктоп, так им и остается. И так будет продолжаться до тех пор пока в лялихе не появится простой и удобный механизм установки нужных программ. Главное не упустить момент, сделать простую инсталляцию софта, а момент походу все больше и больше упускается. Микрософт со своей Win7 сгрызет весь линух за пару месяцев, если их ситема будет хотя бы вполовину удобна, как была XP. В линухе проблема установки софта - это самый главный недостаток, слихвой перекрывающий все его достоинства.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Dendy
Гость
« Ответ #12 : Январь 02, 2009, 23:33 »

Согласен с предыдущим оратором. Всё что вы думали, но не могли сказать.

Build Service от openSUSE - пока единственная вменяемая платформа для обеспечения переносимости программы на различные дистрибутивы. Не знаю, чешутся ли они в сторону .deb-ориентированых дистрибов. Но не всё так печально - Canonical со своей стороны недавно анонсировала такой же сервис билд-фермы, только для своего зоопарка. Как называется - не помню, гугл в помощь.

Цитировать
Микрософт со своей Win7 сгрызет весь линух за пару месяцев, если их ситема будет хотя бы вполовину удобна, как была XP.

Ничё оно не сгрызёт, даже если система будет вылизана как кошачьи яйца. Тем более Майкрософт - не та контора, от которой можно это ждать. Главный критерий для пользователя - выполняет ли ОС задачи юзера. XP - выполняет, и пока это так, никаких массовых поползновений на Висту, Линукс или Вин7 не ждите. Выдыхайте и спите спокойно.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #13 : Январь 02, 2009, 23:45 »

Да я понимаю, что на все дистры пакетов не наделать... не пару дней с пингвинами общаюсь Улыбающийся
Но вот что меня реально напрягает - это то, что нету даже вменяемых аналогов rpmbuild ДАЖЕ под конкретный дистр.
Пусть даже там на выходе не будет окошек "дальше-ближе-готово" - хотя бы простой rpm, но который смог бы установиться по-человечески хотя бы на одной системе (имею в виду - положить бинари куда надо и создать ярлычки в меню КДЕ или гнома). Чтобы можно было просто запустить прогу, указать на каталог с бинарями, забить в нее инфу "имя-описание-версия-иконка" и нажать ОК - и сделало бы оно rpm, и было бы счастье. Пусть даже под одну систему, но по нормальному...


Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Detonator
Гость
« Ответ #14 : Январь 03, 2009, 00:37 »

А на уровне obj / lib (или какие там под линухом расширения файлов) версии линукса совместимы?
Возможно при инcталяции слинковать их в рабочий бинарник? И исходники будет не обязательно открывать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.161 секунд. Запросов: 23.