From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sat, 5 Feb 2011 08:41:03 +0300 From: Alexey Tourbin To: ALT Devel discussion list Message-ID: <20110205054103.GA14181@altlinux.org> References: <20110131152337.GO30604@altlinux.org> <20110131154640.GB17803@altlinux.org> <20110203092032.GE5284@altlinux.org> <20110204174010.GA11630@altlinux.org> <20110204203819.GA9423@altlinux.org> <20110204222150.GA29815@altlinux.org> <20110204230024.GB9423@altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20110204230024.GB9423@altlinux.org> Subject: Re: [devel] Q: debuginfo strip controls & deps 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: Sat, 05 Feb 2011 05:41:04 -0000 Archived-At: List-Archive: List-Post: On Sat, Feb 05, 2011 at 02:00:24AM +0300, Alexey Tourbin wrote: > On Sat, Feb 05, 2011 at 01:21:50AM +0300, Dmitry V. Levin wrote: > > > %brp_strip_debug, название по аналогии с опцией strip --strip-debug. > > Я уже посмотрел код и пришел к аналогичному выводу. > > Из крупных недоделок осталось доделать только коррекцию %{SIZE}. > Кажется, это не очень сложно. Я отклчил тестовую i586-пересборку - > скорее всего, включу её через пару часов. Отпарвил в сизиф rpm 4.0.4-alt100.16 с исправленным %{SIZE}, с debug64() зависимостями и с оптимизатором зависимостей между подпакетами. Запустил тестовую пересборку. 2ldv: пожалуйста повнимательнее проверь как собралась glibc (напр. в /tasks/38013/build/200/x86_64/rpms), всё ли тебе нравится. Кстати, кажется, оптимизированные под sse4.2 функции не подцепились. [apiary@ssh rpms]$ rpmpeek glibc-core-2.11.3-alt3.x86_64.rpm readelf -aW ./lib64/libc.so.6 |fgrep strcmp 2022: 000000000007a220 5289 FUNC GLOBAL DEFAULT 12 strcmp@@GLIBC_2.2.5 [apiary@ssh rpms]$ rpmpeek glibc-core-2.11.3-alt3.x86_64.rpm readelf -aW ./lib64/libc.so.6 |fgrep strlen 751: 000000000007bc40 69 FUNC GLOBAL DEFAULT 12 strlen@@GLIBC_2.2.5 [apiary@ssh rpms]$ rpmpeek glibc-core-2.11.3-alt3.x86_64.rpm readelf -aW ./lib64/libc.so.6 |fgrep IFUNC [apiary@ssh rpms]$ И ещё обрати внимание, что, кажется, на i586 эти функции должны подцепиться через i686. Насчет оптимизации зависимостей между подпакетами. Мне совсем недавно пришло в голову, что зависимости можно оптимизировать ещё сильнее: а именно, оптимизировать можно не только зависимости, удовлетворённые через 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-версий. В общем пока не решил, делать ещё одну оптимизацию зависимостей или нет. Предлагаю дождаться окончания i586-пересборки, чтобы оценить степень разлома. Потом можно решить, что нужно будет достаточно быстро доделать или переделать. Впрочем, glibc вроде бы можно собирать в любом случае.