Powrót do Ubuntu narzędzia cp z Rust Coreutils spowodował awarię podczas kompilacji livecd-rootfs

Разработчики Ubuntu вернули вариант утилиты cp из набора GNU Coreutils после выявления несовместимости в реализации cp из состава Rust Coreutils, из-за которой стал завершаться ошибкой скрипт для сборки Live-образов (livecd-rootfs).

В релизе Ubuntu 24.04 из-за выявленных уязвимостей были возвращены утилиты cp, mv и rm из GNU Coreutils, но в обновлении пакета coreutils-from-uutils 0.0.0~ubuntu26 было возобновлено использование утилит из набора Rust Coreutils. Проблема возникла из-за вызова в сборочном скрипте утилиты cp с опциями «-afL», которые нормально обрабатывались в GNU Coreutils, но в Rust Coreutils привели к возвращению ошибки «cp: -r not specified; omitting directory <dir-name>».

Ошибка возникала из-за иного поведения при обработке конфликтующих между собой опций «-L» и «-a». Опция «-L» предписывает разыменовывать символические ссылки, в то время как составная опция «-a», заменяемая на «-dR —preserve=all», содержит опцию «-d», запрещающую разыменование символических ссылок. В Rust Coreutils составная опция «-a» отбрасывалась целиком вместо отдельного удаления конфликтующего флага «-d», что приводило к пропаданию флага «-R», необходимого для рекурсивного копирования директорий, а также флага «—preserve=all», используемого для сохранения прежних атрибутов в копии.

Źródło: opennet.ru

Kup solidny hosting dla stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting dla stron z ochroną przed DDoS, serwery VPS VDS | ProHoster