From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 23 Aug 2012 01:29:44 +0400 From: Alexey Tourbin To: ALT Linux Team development discussions Message-ID: <20120822212941.GA1465@altlinux.org> References: <20120822195649.GA23099@dad.imath.kiev.ua> <20120822211157.GA15257@t60p.mithraen.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20120822211157.GA15257@t60p.mithraen.ru> X-Mailman-Approved-At: Thu, 23 Aug 2012 01:31:04 +0400 Subject: Re: [devel] I: repocop test for %{get_version ...} is disabled. 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, 22 Aug 2012 21:29:48 -0000 Archived-At: List-Archive: List-Post: On Thu, Aug 23, 2012 at 01:11:57AM +0400, Денис Смирнов wrote: > On Wed, Aug 22, 2012 at 10:56:49PM +0300, Igor Vlasenko wrote: > > IV> Пыль осела, и начал сомневаться, а нужно ли удалять %get_version? > IV> В большинстве случаев он избыточен, но ведь вреда вроде бы от него нет? > > Подобные конструкции запрещают устанавливать пакет, если зависимость имеет > меньшую версию. > > Это помогает с библиотеками, в которые добавляют новые символы, но не > удаляют их. > > set-versions помогает в обоих случаях (но без абсолютной гарантии). Гарантия разрешимости символов, которую дают set-версии, довольно высокая: в предельном случае, когда по сравнению с предыдущей версией требуется всего один новый символ, она зафиксирована на уровне не хуже 2^{-10} т.е. около 0.1%. Когда требуется два новых символа, гарантия уже подскакивает до милионной. Гарантию следует интуитивно соотносить с количеством пакетов в репозитории: мы допускаем, что либо несколько пакетов, либо в среднем один-два пакета, либо скорее всего ни одного пакета не лишаются гарантии. Гарантию можно поднять: удвоение гарантии стоит 1 бит, в "base62" кодировке каждый символ несет 5.9+ битов.