From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: ** X-Spam-Status: No, score=2.0 required=5.0 tests=BAYES_05,DNS_FROM_OPENWHOIS, FAKE_REPLY_C autolearn=no version=3.2.5 Date: Wed, 9 Mar 2011 13:20:41 +0200 From: Michael Shigorin To: ALT Devel discussion list Message-ID: <20110309112041.GA26140@osdn.org.ua> Mail-Followup-To: ALT Devel discussion list Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.4.2.1i Subject: Re: [devel] Requires optimization/pruning X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2011 11:01:32 -0000 Archived-At: List-Archive: List-Post: On Sat, Feb 05, 2011 at 08:41:03AM +0300, Alexey Tourbin wrote: > Насчет оптимизации зависимостей между подпакетами. Мне совсем недавно > пришло в голову, что зависимости можно оптимизировать ещё сильнее: > а именно, оптимизировать можно не только зависимости, удовлетворённые > через Provides, но и зависимости, удовлетворенные через Requires! Ж-) > > Пусть например пакет rpm требует две зависимости > librpm = 4.0.4-alt16 > libc.so.6()(64bit) > а пакет librpm в свою очередь требует среди прочих зависимость > libc.so.6()(64bit) > > Тогда из пакета rpm можно удалить зависимость на libc.so.6()(64bit). > То есть некоторые зависимости подпакетов иногда "отоваривать", как говорит > лидер нации, через базовый подпакет. Что в принципе имеет смысл. > > Но там сложнее сделать, поскольку две Requires зависимости нельзя > сравнивать напрямую. И это не будет хорошо работать с set-версиями, > потому что обычно будут разные/несравнимые подможества. А оптимизация > зависимостей делается прежде всего, чтобы снизить нагрузку на > pkglist/pkgcache и apt, которая подскочила из-за set-версий. Может, всё-таки обрезать в pkglist, а не в самих пакетах? Тогда пакеты будут нести достаточную индивидуальную информацию, а pkglist-ы -- отражать достаточную совокупную на момент генерации. (мысль высказана led@ и мне кажется разумной) Если вырезать из самих пакетов -- очень большой шанс напороться на ещё более неприятные грабли с разрывом цепочки, чем уже предсказанные и происшедшие с BuildRequires (см. тж. buildreq -u): http://lists.altlinux.org/pipermail/devel/2007-March/137289.html -- ---- WBR, Michael Shigorin ------ Linux.Kiev http://www.linux.kiev.ua/