Известная проблема с программой uname из этого пакета заключается в том, что переключатель -p всегда возвращает значение unknown (неизвестно). Следующий патч исправляет эту проблему для архитектуры Intel:
case `uname -m` in i?86 | x86_64) patch -Np1 -i ../coreutils-8.10-uname-1.patch ;;esac
Стандарт POSIX требует, чтобы программы пакета Coreutils правильно распознавали символы даже в случае, если используются многобайтовые локали. Следующий патч исправляет несоответствие этому требованию, а также другие ошибки, касающиеся интернационализации:
patch -Np1 -i ../coreutils-8.10-i18n-1.patch
Замечание
В прошлом, в этом патче было найдено много ошибок. Перед тем, как сообщать о новых ошибках в пакете Coreutils, пожалуйста, сначала проверьте, будет ли эта ошибка воспроизводится без этого патча.
Теперь подготовьте пакет Coreutils для компиляции:
Назначение этого параметра — предотвратить в пакете Coreutils установку двоичных пакетов, которые позже будут установлены в других пакетах.
Откомпилируйте пакет:
make
Если вы не планируете запускать набор тестов, то перейдите сразу к установке пакета.
Теперь набор тестов готов к запуску. Сначала запустите набор тестов, который требуется запускать под пользователем root:
make NON_ROOT_USERNAME=nobody check-root
Оставшиеся тесты мы собираемся запустить под пользователем nobody. Однако, для некоторых тестов требуется, чтобы этот пользователь был членом более, чем одной группы. Так что для того, чтобы эти тесты не были пропущены, мы добавим временную группу и добавим в нее пользователя nobody:
echo "dummy:x:1000:nobody" >> /etc/group
Изменим некоторые права доступа с тем, чтобы пользователь, не являющийся пользователем root, мог компилировать и выполнять тесты:
Некоторые из скриптов из пакета LFS-Bootscripts зависят от head, sleep и nice. Поскольку директорий /usr может отсутствовать на ранних стадиях загрузки, эти двоичные модули должны находиться в корневом разделе: