On Sun, Jan 10, 2010 at 11:05:04PM +0300, Денис Смирнов wrote: > On Sun, Jan 10, 2010 at 08:44:20PM +0300, Afanasov Dmitry wrote: > > AD> gear этим фундаментальным свойством - зависимостями - не обладает. и > > Обладает почти в той же мере, что и srpm. Ибо внутри gear repo лежит spec, > в котором указаны зависимости. и далее: > На сборку отправляется как раз фиксированный коммит -- подписанный tag. я всё-таки повторюсь: > AD> одна из причин: хотя gear и хранит в себе spec, нет фиксированого > AD> бранча, откуда его брать. нет фиксированного коммита, откуда его > AD> брать. здесь уже поднимали вопрос о прописывании коммита в rpm, из которого он вырос. до тех пор, пока данных об этом коммите не будет в самом репозаитарии (каталог Sisyphus), а не где-то на серверах git.alt, автоматически выдрать весь gear не получится. максимум, что получится - получить коммит из /gears. я же веду речь о репозитариях из /people, откуда всё и растёт. так что нет, не в той же мере. один gear хранит в себе множество srpm, что поднимает проблему поиска и выбора, где же там нужный нам коммит. > Есть правда тонкости (зависимости внутри srpm зависят от окружения, в > котором собирается этот srpm), но в целом зависимости есть -- ибо > прописаны в spec'е. я кажется действительно что-то не понимаю. окружение же строится исходя из зависимостей, почему вы считаете, что наоборот? из-за buildreq? > AD> это > AD> его главный недостаток, мешающий воспринимать его как основу для binary > AD> rpm пакета. > > Да, и именно поэтому для hasher используется промежуточный формат -- srpm. вот, кстати, hasher'у на srpm плевать - он там используется только в рамках повторного использования кода rpmbuild. будет свой парсер spec, и srpm для hasher'а будет не нужен. останется только добавить gears в сам репозитарий и тогда я соглашусь, что технически srpm не нужен. > AD> вторая причина - отсутсвие утилит. для работы rpm и source rpm есть > AD> rpmquery и apt-get, для gear'а есть только "rpmbuild". > > Брррр. apt-get не работает с srpm. За исключением apt-get source и apt-get > build-dep, причем второй работает тоже не с srpm а с базой данных. да, apt-get всюду работает с базой данных, как rpm так и srpm он дергает только на этапе установки. с srpm работает genbasedir, что генерирует эту базу, с которой работает apt-get. и genbasedir ничерта не знает про gear и его таги. засим аргумент не принят :) > AD> я не согласен. source rpm пристуствовать обязан и он не является > AD> промежуточным форматом. > > Можно список разных workflow в которых нужен сам srpm, как отдельный > имеющий самостоятельную значимость объект, а не как промежуточный формат > между gear repo и hasher? repocop, sisyphus_check, sisyphus.ru, удаление пакета из репозитария вместе с порожденными binary rpm, вычисление списка бинарных пакетов, собираемых из данного srpm. -- С уважением Афанасов Дмитрий