On Thu, Feb 22, 2001 at 03:18:21AM +0300, Konstantin Volckov wrote: > Попробовал я на днях поставить к себе на комп пакет, собранный под > архитектуру athlon, и rpm ругнулся о несовместимости архитектур. Оказывается, > rpm определяется текущую архитектуру через uname, и для Athlon & Duron > прописывается i686, а для k6 - i586. Соответственно, пакеты, собранные под k6 > и athlon нельзя установить на правильные архитектуры. Можно. Просто rpm не в курсе о том, что они правильные. :) > Думаю, эту проблему можно решить добавление в rpmrc строк archcompat i686: > athlon и archcompat i586: k6. А для того, чтобы эти строки не мешали народу, > работающему на реальных i586 & i686, можно сделать скрипт, который будет > парсить /proc/cpuinfo и раскомментировать эти строчки, и поместить его в > initscripts. Если такая необходимость (т.е. возможность использования > архитектур k6 & athlon) имеется, я могу написать такой скрипт. Нет, это слишком криво. > Есть идеи и/или предложения? 1. Радикальное решение: Пропатчить функцию identify_cpu() в linux/arch/i386/kernel/setup.c (или что-то еще) с тем, чтобы system_utsname.machine в конечном итоге содержало реальную архитектуру (k6/athlon), а не ix86 (как сейчас). Не уверен, что подобное (принципиально правильное) решение не сломает сборку многих пакетов на реальных k6/athlon. 2. Обходной вариант: Усовершенствовать логику функции defaultMachine() в rpm/lib/rpmrc.c с тем, чтобы она пользовалась не только информацией из uname(), но и из /proc/cpuinfo К релизу наиболее реален второй вариант. Есть желающие сделать? Regards, Dmitry +-------------------------------------------------------------------------+ Dmitry V. Levin mailto://ldv@fandra.org Software Engineer PGP pubkey http://www.fandra.org/users/ldv/pgpkeys.html IPLabs Linux Team http://linux.iplabs.ru Fandra Project http://www.fandra.org +-------------------------------------------------------------------------+ UNIX is user friendly. It's just very selective about who its friends are.