From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 23 Aug 2012 00:53:34 +0400 From: Alexey Tourbin To: ALT Linux Team development discussions Message-ID: <20120822205334.GA32338@altlinux.org> References: <20120822195649.GA23099@dad.imath.kiev.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20120822195649.GA23099@dad.imath.kiev.ua> X-Mailman-Approved-At: Thu, 23 Aug 2012 00:56:28 +0400 Cc: viy@altlinux.org 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 20:53:34 -0000 Archived-At: List-Archive: List-Post: On Wed, Aug 22, 2012 at 10:56:49PM +0300, Igor Vlasenko wrote: > Уважаемые коллеги, > по поводу макроса get_version в spec-файлах. > В свое время Алексей реализовал set:versions, > и тогда в devel@ были заявения, что теперь с set:versions %get_version > не нужен и его пора удалять, > в результате чего я даже написал тест репокоп, который удаляет в spec-файлах > макрос get_version, как, например, в > http://repocop.altlinux.org/pub/repocop/reports/diff/by-acl/zerg/poppler26-0.20.2-alt1.diff -Requires: libqt4-core >= %{get_version libqt4-core} +Requires: libqt4-core Надо было удалять всю зависимость на libqt4-core, а не только %get_version. > Пыль осела, и начал сомневаться, а нужно ли удалять %get_version? > В большинстве случаев он избыточен, но ведь вреда вроде бы от него нет? > > Я обсудил ситуацию с Сергеем (zerg@, на него робот приготовил большое NMU > с удалением %get_version в kde пакетах), и пришли к выводу, > что раз формально set:versions не дает полных гарантий, > то и убирать %get_version не надо, хуже от него не будет. Set-версии формально не дают полной гарантии, а какую тогда гарантию формально дает %get_version? Можно подумать, что указание версии, не меньшей текущей, дает полную гарантию, и разводить демагогию, а на самом деле гарантии нет вообще никакой. Нет никакой гарантии, что в следующих версиях сохранится полная обратная совместимость. А set-версии как раз пытаются выразить, и притом довольно успешно и совершенно автоматически, определенный критерий совместимости между версиями библиотек. То, что "хуже не будет", aka "от балды" - я тогда сейчас сделаю в rpmbuild, чтобы он и все зависимости дополнял текущими версиями, хуже не будет. А будет круто! В чем вообще смысл зависимости Requires: libqt4-core >= %{get_version libqt4-core} в системе с хорошо развитыми автоматическими зависимостями? Это какое-то ретроградство и оксюморон из 1998 года. Вообще, мега-идея была, чтобы не указывать зависимости вручную вообще: все Requires зависимости из спекфайлов снести, а BuildRequires зависимости добавлять только с помощью /usr/bin/buildreq. Понятно, что не предлагалось следовать этой идее с особым фанатизмом, но в то же время было многое сделано для того, чтобы в большинстве случаев получался приемлемый результат. Так что роботу следовало бы попросту косить все зависимости из спекфайлов под корень. :-) > В общем, отключил тест. Если есть возражения, прошу высказать. > > -- > > Dr. Igor Vlasenko > -------------------- > Topology Department > Institute of Math > Kiev, Ukraine