Bug 20202

Summary: Сообщения при указании OUTDIR не в подкаталоге
Product: Sisyphus Reporter: Evgeny Sinelnikov <sin>
Component: mkimageAssignee: Alexey Gladkov <legion>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: minor    
Priority: P3 CC: glebfm, legion, mike
Version: unstable   
Hardware: all   
OS: Linux   

Description Evgeny Sinelnikov 2009-05-27 22:13:47 MSD
При указании OUTDIR в текущем или вышестоящих каталогах выдаются не нужные сообщения:

Например для Makefile:
CONFIGDIR = /usr/share/mkimage

include $(CONFIGDIR)/config.mk

IMAGE_PACKAGES = ../packages

MKI_PACK_RESULTS = cpio:micro.cpio

include $(CONFIGDIR)/targets.mk

pack-image: OUTDIR = $(shell pwd)/..
all: build-image run-image-scripts run-scripts pack-image

$ make
[....]
mkimage: Processing 'pack-image' ...
find: ./root/.work/chroot/boot: Отказано в доступе
find: ./root/.work/chroot/lib/modules: Отказано в доступе
find: ./root/.work/chroot/etc/tcb: Отказано в доступе
find: ./root/.work/chroot/root: Отказано в доступе
find: ./root/.work/chroot/var/lock/subsys: Отказано в доступе
find: ./root/.work/chroot/var/cache/ldconfig: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/boot: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/lib/modules: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/etc/tcb: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/etc/cron.d: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/etc/security/console.apps: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/etc/security/console.perms.d: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/root: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/spool/cron: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/lock/makewhatis: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/lock/subsys: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/run/netreport: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/run/console: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/cache/ldconfig: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/cache/man/tmp: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/usr/lib/chkpwd: Отказано в доступе
find: ./root/.work/chroot/usr/lib/chkpwd: Отказано в доступе
267948 blocks
find: ./root/.work/chroot/boot: Отказано в доступе
find: ./root/.work/chroot/lib/modules: Отказано в доступе
find: ./root/.work/chroot/etc/tcb: Отказано в доступе
find: ./root/.work/chroot/root: Отказано в доступе
find: ./root/.work/chroot/var/lock/subsys: Отказано в доступе
find: ./root/.work/chroot/var/cache/ldconfig: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/boot: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/lib/modules: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/etc/tcb: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/etc/cron.d: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/etc/security/console.apps: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/etc/security/console.perms.d: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/root: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/spool/cron: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/lock/makewhatis: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/lock/subsys: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/run/netreport: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/run/console: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/cache/ldconfig: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/var/cache/man/tmp: Отказано в доступе
find: ./root/.work/chroot/.work/chroot/usr/lib/chkpwd: Отказано в доступе
find: ./root/.work/chroot/usr/lib/chkpwd: Отказано в доступе
Comment 1 Alexey Gladkov 2009-05-27 22:38:20 MSD
README.ru:
<----------------------------
В директорию `.out' копируется результат обработки стадии. Именно результат обработки, потому что им может быть как один файл, так и несколько файлов или каталогов. Так как результат заранее не известен, эта директория очищается перед каждой операцией записи. Это нужно учитывать и не оставлять в ней ничего ценного между сборками. Это поведение можно изменить переменной CLEANUP_OUTDIR, но это потенциально опасно, т.к. результаты будут накладываться друг на друга.
...
OUTDIR - Переопределяет директорию, в которую сохраняется результат сборки образа. По умолчанию это ".work/.out" .
---------------------------->

Это не бага. Это документированное поведение. Если вы переопределяете OUTDIR, то в ней не должно быть ничего ценного или нужно сделать ещё и CLEANUP_OUTDIR= .
Comment 2 Evgeny Sinelnikov 2009-05-27 23:22:10 MSD
Странно всё-таки...
Во-первых потому, что каталог тем не менее всё равно не очищается, что хорошо... А, во-вторых, потому что там (в OUTDIR) к тому же обычно хранятся результаты предыдущих сборок. В текущих профилях этот каталог выставляется из configure:
pack-image: OUTDIR = @OUTDIR@
и обычно там лежат предыдущие сборки...
Если эта фича, починится так, как вы говорите, то кто может лишится ранних сборок, поскольку сейчас она не работает... То есть, видимо, CLEANUP_OUTDIR остаётся старым, поэтому всё и работает... И, в общем-то это всё и устраивает, кроме странной ругани в консоль.