Хочу сделать программу под Linux,возник вопрос, как же при таком большом разнообразии менеджеров пакетов производить обновления. Должно ли быть взаимодействие с менеджерами пакетов, с помощью api или еще чего нибудь, или просто достаточно кидать новую версию в репозиторий и старая заменяется на новую?И еще как я понял придется на стороне программы делать какой то супер костыль который будит "приделывать" обновления?
Или всё совсем не так?Просветите на данный вопрос :rolleyes: .
Разработка ПО
способ для ленивых: открываете исходники, кому надо - сам соберёт пакет и поделится со всеми остальными. :cool: (потом можете этот пакет повесить на видном месте и тогда [смотрите дальше].)
более человеческий способ: делаете ебилд для генту и собираете пакеты для пары дистрибутивов, выкладываете их в каком-нить видном месте и ждёте, пока ментейнеры дистрибутивов заметят их и добавят в свои репозитарии. Тут возможны варианты: они сами могут пересобрать пакеты, вы можете их просить добавить итп... smile
тяжёлый и почти никому не нужный способ: самому поддерживаете свой репозитарий для каждого дистрибутива и оверлей для генты, при обновлении добавлять туда пакет с новой версией. но ради одной небольшой программки этим заниматься скорей всего не стоит... :o
или просто достаточно кидать новую версию в репозиторий и старая заменяется на новую?
именно так.
И еще как я понял придется на стороне программы делать какой то супер костыль который будит "приделывать" обновления?
не понял, зачем?
Мне просто казалось, что если будут идти обновления из репозитория то программа все забудит что в ней было до этого.....
А что такое ебилд генты? :rolleyes:
Я просто на ней не сижу.
А что такое ебилд генты? rolleyes
Ну те получается что в генте можно написать скрипт который будит создавать пакет для определенных дистрибутивов?Я правильно понял? :o
Ну те получается что в генте можно написать скрипт который будит создавать пакет для определенных дистрибутивов?Я правильно понял? huh
Теоретически — да.
man ebuild
...
rpm Builds a RedHat RPM package from the files in the temporary install directory. At the moment, the ebuild's dependency
information is not incorporated into the RPM.
......но информация о зависимостях не будет помещаться в созданный RPM-пакет.
Мне кажется что rpm пакет можно сделать и на fedore, если в генте не получится. А как же быть с .deb и тп пакетами?
А как же быть с .deb и тп пакетами?
alien
rpm2targz
epm — временно не доступен.
suse-build
gnomsi, не обращайте внимания... я просто пошутил, что мол про гентушников не забывайте smile ... в принципе ебилды годятся только для генты и являются стандартным методом установки, управления пакетыми и сборкой из исходников.
в любом случае, под каждый дистрибутив пакет, скорей всего, придётся отдельно собирать...
Какая красота удобная.
gnomsi, не обращайте внимания... я просто пошутил, что мол про гентушников не забывайте smile ... в принципе ебилды годятся только для генты и являются стандартным методом установки, управления пакетыми и сборкой из исходников.
в любом случае, под каждый дистрибутив пакет, скорей всего, придётся отдельно собирать...
Я то же об этом подумал, а можно еще держать машину виртуальную с дистрибутивами основными и собирать на них пакеты. Но это мне кажется будит совсем аморально wink
вот это ещё можно попробовать: http://linuxforum.ru/viewtopic.php?id=14134
Я то же об этом подумал, а можно еще держать машину виртуальную с дистрибутивами основными и собирать на них пакеты. Но это мне кажется будит совсем аморально wink
ИМХО так и делают в серьёзных местах, заодно тестят быстренько...
Не знал что так делают серьеные дяди,стоит задуматься.
В итоге что я понял из данной дискусии:
1)Менеджеры пакетов сами все обовляют, что разработчику не надо париться поповоду внедрения костыля для обновления.
2)Надо завести пару дистрибутивов, у которых разные бинарники (.deb,.rpm и тп).
И всё, или есть ещё какие то секреты? :rolleyes:
В итоге что я понял из данной дискусии:
1)Менеджеры пакетов сами все обовляют, что разработчику не надо париться поповоду внедрения костыля для обновления.
2)Надо завести пару дистрибутивов, у которых разные бинарники (.deb,.rpm и тп).
3)И всё, или есть ещё какие то секреты? :rolleyes:
1) да нихрена. :(
если маинтейнер не озаботился, ПМ нихрена не сделает. но это не проблема разработчика.
2) ну заведите...
3) не надо расстраиваться. если ваша прога кому-то нужна, её и без вас встроят. Если она конечно под GPL.