From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 23 Aug 2007 16:12:53 +0300 From: Michael Shigorin To: ALT Devel discussion list Message-ID: <20070823131252.GV9721@osdn.org.ua> Mail-Followup-To: ALT Devel discussion list References: <20070821214321.GB28786@solemn.turbinal> <20070823101945.GA6155@solemn.turbinal> <20070823111018.GI9721@osdn.org.ua> <20070823115225.GM9721@osdn.org.ua> <20070823121940.GB6155@solemn.turbinal> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20070823121940.GB6155@solemn.turbinal> User-Agent: Mutt/1.4.2.1i Subject: Re: [devel] =?koi8-r?b?W0pUXSBSZTogUkZDOiDUxdPUydLP18HOycUg18jPxNHd?= =?koi8-r?b?ycgg0MHLxdTP1yDQz8zOz8og0MXSxdPCz9LLz8og08naycbB?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Aug 2007 13:12:52 -0000 Archived-At: List-Archive: List-Post: On Thu, Aug 23, 2007 at 04:19:40PM +0400, Alexey Tourbin wrote: > То что ты предлагаешь я делал 2 года назад. Для каждого > src.rpm пакета хранится список пакетов билдрута от предыдущей > его сборки. То есть таблица . > (На самом деле достаточно хранить только rpm-file-basename, > потому что отрезанием -version-release-*.rpm получается > pkg-name). Теперь достаточно "гнепнуть" (join'ом) старые > списки на предмет совпадения pkg-name относительно прибывших > пакетов. Это не только не решает Provides+Obsolets, это не > решает даже виртуальных зависимостей. Хорошо, а инвалидировать такой кэш на основании сравнения выдранных из пакета BR? > Например пришёл пакет libstdc++4.2-devel. Его в предыдущих > списках нигде нет. Значит, наша система "не догадается" > пересобрать приплюснутые пакеты. Такое простое опровержение Согласен; хотя на такие варианты можно попробовать тоже найти эвристику подешевле, чем --print-uris -- например, ^([a-zA-Z_+-]+)[0-9]+(\.[0-9]+)-devel или около того сводится к более общей сущности \1-devel, которая и проверяется на наличие в BR (или по /etc/buildreqs/packages/substitute.d/ -- хотя для новой сборки записи ещё нет). Я к тому, что если решение задачи "в лоб" оказывается слишком дорогим, может иметь смысл разбавить решаемую задачу до "в большинстве практических случаев". -- ---- WBR, Michael Shigorin ------ Linux.Kiev http://www.linux.kiev.ua/