From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ivan Zakharyaschev To: Subject: Re: [devel] buildreqs In-Reply-To: <20010304025307.C3371@LDV.fandra.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT Sender: devel-admin@linux.iplabs.ru Errors-To: devel-admin@linux.iplabs.ru X-BeenThere: devel@linux.iplabs.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: devel@linux.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: IPLabs Linux Team Developers mailing list List-Unsubscribe: , List-Archive: X-Original-Date: Sun, 4 Mar 2001 18:40:10 +0300 (MSK) Date: Sun, 4 Mar 2001 18:40:10 +0300 (MSK) Archived-At: List-Archive: List-Post: On Sun, 4 Mar 2001, Dmitry V. Levin wrote: > On Sat, Mar 03, 2001 at 02:21:23PM +0300, Ivan Zakharyaschev wrote: > > Еще предложение: можно ли buildreqs научить выявлять статическую > линковку > > с glibc (чтобы знать, можно ли пакет собирать для i586 в системе с > glibc > > для i686)? > > Не совсем понятно. Было бы здорово эту мысль развить. Попробую. Хотя я тоько теоретически понимаю, что такое динамическая и статическая линковка, и зачем она нужна. Я имею в виду вот что: buildreqs следит за тем, что происходит во время сборки, к каким файлам, библиотекам, архивам происходят обращения. Если buildreqs замечает, что происходят обращения к архивам, используемым для статической линковки с glibc, то записывается информация об этом в spec-файл в виде комментария. Чтобы packager знал, что собирать он может пакет только для своей архитектуры. Buildreqs может вести себя и строже и не полагаться на совесть packager'а, а посмотреть на то, для какой архитектуры собрана установленная glibc, и записать это явно в spec-файл в тэг, например, BuildArchitecture: i686 Тогда у него, наверное, возникнут проблемы при попытке сделать rpm -bb --target i586. Но этот вариант плох тем, что если этот spec-файл попадет на другую системус другой архитектурой, то эта информация он может стать неверной. Можно добавлять в spec-файл таких пакетов BuildArchitecture: %(rpm -q glibc-devel --queryformat=%%{ARCH}) или еще как-нибудь выразить информацию, полученную buildreqs (ввести специальный макрос, проверяющий соответствие target и архитектуры glibc; встроить проверку в rpm и т.д.) А ведь, наверное, могут аналогичные проблемы наблюдаться и при статической линковке не только с glibc, но и c другими библиотеками для не тех архитектур (несовпадающих с target)? Можно за всеми статическими линковками, производимыми при сборке следить, определить специальный макрос типа %needsSameArch ... -- Best regards, Ivan Z. _______________________________________________ Devel mailing list Devel@linux.iplabs.ru http://www.logic.ru/mailman/listinfo/devel