[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