[devel] [#154910] EPERM (try 2) mkimage.git=0.2.17-alt1.1
Michael Shigorin
mike на altlinux.org
Пн Дек 21 15:01:17 MSK 2015
On Mon, Dec 21, 2015 at 10:50:03AM +0000, Girar Builder awaiter robot wrote:
> http://git.altlinux.org/tasks/154910/logs/events.2.1.log
>
> 2015-Dec-21 10:47:35 :: test-only task #154910 for sisyphus resumed by solo:
> #100 removed
> #200 build 0.2.17-alt1.1 from /people/solo/packages/mkimage.git
Лёш, аккуратней надо. Если б ты не отправил лишний тег на сборку,
а попросил вычитать -- я бы тоже вычитал и указал на слом.
-mkdir $verbose -p -- \$boot
+[ -d \$boot ] || mkdir $verbose -p -- \$boot
Зачем? mkdir -p молча обеспечит наличие каталога, если не было.
- mkdir $verbose -p "\$dest"
+ [ -d "\$dest" ] mkdir $verbose -p "\$dest"
Здесь помимо того же вопроса ещё и синтаксическая ошибка.
- cp $verbose -pLf "\$src" "\$dest/memtest86.efi" &&
+ cp $verbose -pLn "\$src" "\$dest/memtest86.efi" &&
Как вариант -- хотя как раз здесь было бы уместно проверить
наличие целевого бинарника и если уже есть, то не копировать
ресурсы, т.к. не исключено, что профиль мог копировать не всё:
find /usr/share/efi-memtest86 -type f |
- xargs cp $verbose -pLft "\$dest"
+ xargs cp $verbose -pLnt "\$dest"
Аналогично и далее с refind.
- mkdir $verbose -p \$cert
- cp $verbose -pLft \$cert -- "\$keyfile"
+ [ -d "\$cert" ] || mkdir $verbose -p \$cert
+ cp $verbose -pLnt \$cert -- "\$keyfile"
Просто mkdir -p, пожалуйста (как и далее в аналогичных случаях).
+ [ ! -e "\$boot/elilo.conf" ] || return 0
Здесь как раз следует обламываться, если нет конфига --
copy_elilo() вызывается в случаях, когда он точно нужен.
Т.е. || exit 1
- [ ! -d \$refind_aux/altlinux ] ||
+ [ -d "\$boot/icons/altlinux" ] || [ ! -d \$refind_aux/altlinux ] ||
mv \$refind_aux/altlinux \$boot/icons
Добавлена логическая ошибка (проверять при таком методе обработки
следует _отсутствие_ каталога, а не его наличие).
--
---- WBR, Michael Shigorin / http://altlinux.org
------ http://opennet.ru / http://anna-news.info
Подробная информация о списке рассылки Devel