From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 21 Dec 2015 15:01:17 +0300 From: Michael Shigorin To: devel@lists.altlinux.org Message-ID: <20151221120117.GA9467@imap.altlinux.org> Mail-Followup-To: devel@lists.altlinux.org References: <20151221105003.GA12022@gyle.altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20151221105003.GA12022@gyle.altlinux.org> User-Agent: Mutt/1.5.23.88.hg577987ca2d02 (2014-03-12) Subject: Re: [devel] [#154910] EPERM (try 2) mkimage.git=0.2.17-alt1.1 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Dec 2015 12:01:17 -0000 Archived-At: List-Archive: List-Post: 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