[devel] поддержка пакетов в git

Dmitriy M. Maslennikov =?iso-8859-1?q?maslennikovdm_=CE=C1_gmail=2Ecom?=
Ср Сен 24 19:52:20 MSD 2008


24 сентября 2008 г. 18:42 пользователь Damir Shayhutdinov
<damir на altlinux.org> написал:
>> А изменения чего, по сравнению с чем они тогда описывают?
> Изменения между спектром версий, установленных у пользователя и
> версией в репозитарии.
Еще раз. Если у нас есть репазиторий, то в changelog'е у нас изменения
пакета в этом репозитории. Если у нас просто пакет, то changelog
теряет смысл, поскольку неизвестно из какого он репозитория. Поэтому я
и задаюсь вопросом, если репозиторий так важен для changeloga, то
почему он находится в пакете?

>> И зачем они
>> такие нужны? Разве что не мешают сильно... Хотя я могу представить,
>> что пользователь может захотеть увидеть именно некоторую конкретную
>> SRPM описанную в истории, и сильно удивиться, что такой никогда не
>> существовало, но перед этим существенно намучается с ее поском, задаст
>> вопросы в рассылках, поматериться, наконец.
> Пользователь все может захотеть. Но репозитарий - это постоянно
> двигающаяся цель. Промежуточные src.rpm, которые были в репозитарии
> можно получить через архив.
Еще раз. Вы сказали, что в changelog'е могут оказаться записи, которые
не соответствуют ни одной из RPM оказавшихся в репозитории (о тестовой
сборке мантейнера). Так вот мой вопрос был о том, зачем такие записи
нужны, ибо они только сбивают с толку, поскольку никакие архивы таких
пакетов не содержат. Именно поэтому я считаю разумным писать изменения
именно при выкладывании пакета, так как в таком случае будет строгое
соответствие между изменениями в пакете и пакетами.

> Это не так. Для первичной установки действительно changelog не нужен.
> А вот для обновления - полезен.
Еще раз. Если у вас стоит пакет из официального репозитория и вы
пытаетесь его обновить, то changelog содержит интересную для вас
информацию. Если же у вас самосборный пакет или пакет из другого
репозитория, то он теряет всякий смысл. именно поэтому changelog --
это именно своийство конкретного репозитория, а не пакета самого по
себе, поскольку changelog описывает изменения, которых нет у пакета в
отрыве от репозитория.

> Полезна или бесполезна история - это дело каждого пользователя. Вам
> может и бесполезна. А вот мне полезна, потому что с помощью нее я
> могу:
> 1) Принять решение, обновлять мне пакет или нет
> 2) В случае если обновление чего-то сломало, посмотреть не сказано ли
> об этом в changelog.
Вот именно, но только в случае если у вас только один репозитарий.
Если у вас есть пакет в котором что-то глючит, а друг вам приносит на
флешке пакет(тот же самый но совсем от другого сборщика) и уверяет,
что там этого глюка нет, то changelog для вас абсолютно бесполезен.
Так как этот пакет может иметь совсем другую историю и в нем такого
бага нет и не было, соответственно и упоминания в changelog о нем тоже
нет. Changelog полезен, но только как свойство пакета в конкретном
репозитории, а не как свойство пакета вообще.

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

> То есть вы думаете что есть только пакет в репозитарии (самой
> последней версии), а на самом деле, есть пакет в репозитарии + весь
> спектр предыдущих версий пакета, установленных в системах различных
> пользователей.
Нет я так не думаю. Я думаю что есть великое множество пакетов,
собранных разными людьми, для разных целей, с разными требованиями и
разным результатом. И не понимаю о каком changelog'е в таком случае
идет речь. Но некоторые из этих пакетов попадают в репозитарий, с
которого их берет много людей и для их удобства необходимо каждый раз
при замене пакета писать, для чего эта замена производилась и что
теперь поменяется и что от этого стоит ожидать. И з этой информации и
должна формироваться история конкретного пакета в конкретном
репозитарии.

>> Из вышесказанных соображений заключаю, что история пакета бессмыслена,
>> если я не знаю к какому репозиторию она относиться, что и позволяет
>> мне считать ее свойством именно репозитория.
> К множеству пакетов репозитария надо приплюсовать множество
> установленных в системе пакетов. Для этой системы история changelog
> имеет смысл.
Имеет смысл, если все эти пакеты были из этого репозитария. Так вот и
пусть хранится в репозитарии и показывается apt'ом при запросе. А вот
в rpm такой сущности не место.

>> Hold -- действительно не умею, даже не знаю, что это.
> Вот видите, вы инструментом не владеете, а хаете почем зря. Выглядит
> это некрасиво. Как ругать автомобиль за то, что в нем нет задней
> передачи, если не умеете пользоваться ручкой переключения передач. Вы
> думаете это проблема производителя автомобиля?
Вы уверены, что "Hold" решает все названые мной проблемы apt?

>> Архив Сизифа -- это не решение вообще.
> Вы вот зря стучите ложкой. Архив Сизифа - отличное решение для
> проблемы "ой, а я сделал дистапгрейд и у меня все сломалось, верните
> все взад".
Зато совсем некудышнее в случае: "Ой, я залил в Сизиф пакет, который у
всех все ломает, как мне вернуть все взад?"

>> Вот тут недавно про проблему с xserver большой
>> тред был. Что ж все эти люди не смогли-то архивом воспользоваться?
> Могли, и наверняка воспользовались. Просто им хочется участвовать в
> развитии репозитария, а не сидеть на какой-то более-менее стабильной
> архивной версии. В рамках развития репозитария решение с архивом
> Сизифа конечно несистемно и неконструктивно.
Неконструктивно ломать его надолго. Я понимаю, что Сизиф нестабилен,
но очень неприятно, когда он ломается больше чем на день.

>> Это
>> по вашему правильно, что проблемы мантейнера должны решать
>> пользователи? Логичнее было, чтобы мантейнер откатил бы версию, а как
>> с дровами проблема решилась бы, так и выложил свою новую сборку.
> Боюсь в данном конкретном случае такое решение невозможно, так как
> ситуация с дровами никогда не решится. Проприетарщики не будут
> выпускать свои старые дрова для нового xorg. Им выгодно, чтобы старые
> версии карт оставались неподдерживаемыми, и люди делали апгрейд.
Боюсь, что все-таки сделают. Но в любом случае время покажет. В данном
случае мантейнер, по-моему, все-таки поторопился, но сейчас не об
этом.

> Кстати, я вот пользуюсь драйвером ati для моего X1400 - отлично
> работает 3D и вообще ускорение. Проприетарным драйвером пользоваться
> невозможно - настолько он глючный.
Дело даже не в драйверах, а в том, что автоматика по определению
правильного драйвера отказала, это раз, открытого драйвера для nvidia
с 3D в Сизифе нет, это два. Так что можно было хотя бы решить эти два
вопроса. А до их решения откатить пакет. А то вот мне пришлось
отрубить всю автоматику и настраивать вручную. И я не знаю, работает
ли она сейчас. Поскольку ее проверка совсем не то, чем я хочу
заниматься ежедневно.

>> До той поры новая версия могла бы полежать в личном репозитарии
>> мантейнера.
> Она там и лежала - никто не жаловался.
Не, там ее никто не смотрел(ну почти). Как только ее выложили в Сизиф,
то посыпались жалобы. Надо было ее быстро откатить, починить, что
возможно, и снова выложить. Но это очень трудоемко, а могло бы быть
легко, если бы apt умел работать по-иному.

> Прежде чем чего-то хаять, сначала изучите. Вдруг, магическим образом,
> ваши проблемы могут быть решены без вашего радикального "отнять и
> поделить".
Так вот уже несколько лет изучаю, а все никак не доросту.

> А я говорю что апт может это сделать на компьютере отдельного
> пользователя, но общесистемно в рамках дистрибутива можно делать
> только через Serial.  А все из-за того что вы не учитываете
> установленные в системе пакеты.
Не понимаю, как пакеты установленные у пользователя мешают нормальной
работе репозитория.

> Если вы можете - поясните пожалуйста свою точку зрения. Пока это
> голословные утверждения, если не сказать жестче.
Так я и стараюсь пояснить. Может и не понятно, так давайте попробуем
разобраться.

>> Это по вашему не оверхед? Если я в одном символе, где-нибудь в %post в
>> том же openoffice опечатался, то неприменно должен его пересобрать?
> Если вы не умеете по-другому - то таки да.
> (hint: rpm -bb --short-circuit может помочь)
> Почитайте побольше про rpm чтоли :)
Про "--short-circuit" я знаю. Только hasher и Incominger так не умеют.

>> Так это же хорошо, если мои проблемы не глобальны. Значит я смогу их
>> быстро разрешить) Только пока не получается и уже давольно долго...
> Вы пришли по адресу. Вам помогут :)
Вот уж спасибо.

> http://www.altlinux.org/Советы_по_использованию_APT (раздел Обновление
> системы "вниз" )
> man apt_preferences

>> Так что я уже и о их глобальности задумался. Так что давайте выводите
>> же меня из этого заблуждения.
> Я могу лишь показать направление. Выйти должны вы сами.
Пока что направление выглядит не убедительно. У меня впечатление, что
прямо по нему стена. И я в нее уже бился.

-- 
Dmitriy M. Maslennikov
rlz на etersoft.ru
rlz на altlinux.org
maslennikovdm на gmail.com
master на armory.ru


Подробная информация о списке рассылки Devel