|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Valery Shishkov 2:5040/9 12 Jul 2005 21:01:55 To : Sergey Zhemchugov Subject : Re: Таки Gentoo или Debian? -------------------------------------------------------------------------------- >>>>> Sergey Zhemchugov wrote: VS>> Дельты к tar.{gz|bz2}, patch.{gz|bz2} и т.д. Причем он смотрит VS>> в distfiles, и если лежит несколько версий исходников, то выбирает VS>> наиболее подходящую. SZ> А каков внутренний механизм этих дельт? SZ> Пускай есть версия X каких-то сорцов, есть новая версия X+1 и старая X-1. SZ> Патчи, насколько понимаю, позволяют сделать обновление сорцов X до X+1, SZ> и позволили сделать обновление X-1 до X. А как насчёт "пролётов" типа SZ> апгрейда X-1 до X+1? Или тогда просто производится последовательное SZ> пропатчивание до нужной версии (X-1 до X, X до X+1)? Механизм у этого deltup следующий: обновляю я некий пакет, пусть mutt-1.5.5 до версии 1.5.9. В distfiles у меня лежит тарбалл mutt-1.5.4.tar.bz2. emerge проверяет доступные в distfiles файлы, обнаруживает, что сорца mutt-1.5.9.tar.bz2 там нету и запускает для его скачивания программу, указанную в ${FETCHCOMMAND}. Поскольку в /etc/make.conf в качестве ${FETCHCOMMAND} прописана getgelta.sh, то именно она, родимая, и стартует. Дальше события могут развиваться по нескольким сценариям: если в distfiles вообще нет никаких версий тарбалла mutt'а, то тянется полный исходник. Если есть, то getdelta лезет на свой сервер (который на данный момент, вроде как, существует в единственном экземпляре :) и говорит: "Типа, хочу вот это, и есть у меня вот это". Дальше всё зависит от удаленной стороны: если у нее есть в репозитории mutt-1.5.4.tar.bz2 и mutt-1.5.9.tar.bz2, то генерится дельта и отсылается нам. Вполне возможно, что кто-то до нас подобную дельту уже заказывал, так что нам просто может отослаться уже готовая. Если же какого-то из этих тарбаллов на удаленной стороне нету, то нас отсылают опять таки тянуть полную версию. Если в distfiles существует несколько версий тарбалла пакета, то механизм схожий: getdelta отдает удаленной стороне чего хотим, и список того, чего у нас есть, а та уже смотрит, чего у нее есть, и что она нам может отдать. Вот механизма пополнения сервера я не знаю. Скорее всего, хозяин сервера сидит на толстом канале и тянет до кучи всего, чего можно. -- // WBR, Valery От трудной работы еще никто не умирал. Hо зачем испытывать судьбу? --- tin/1.7.7-20041215 ("Scalpay") (UNIX) (Linux/2.6.9-1.667asp (i686)) * Origin: --==-- Illusory Town --==-- (2:5040/9) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/2237d22dd834.html, оценка из 5, голосов 10
|