[devel] Почему в chroot'е хашера установлена переменная MAKEFLAGS?
Slava Semushin
=?iso-8859-1?q?slava=2Esemushin_=CE=C1_gmail=2Ecom?=
Чт Мар 15 16:23:06 MSK 2007
Всем привет!
Вопрос, наверное, больше к Диме, но, чтобы все имели ввиду, пишу в devel на .
Я столкнулся с тем, что переменные среды в чруте при сборке в хашере и
при входе в него через hsh-shell различаются. Причем различаются
весьма существенно. Кроме переменных самого RPM, там также есть и
другие. Вот diff из вывода env'а в чруте при сборке и при входе под
builder'ом:
[builder на alt0 bmake]$ env - | diff -u - ../ENV.orig | grep -v ^RPM_
@@ -0,0 +1,72 @@
+HOSTNAME=alt0.xxx.xxx.xx
+TERM=dumb
+MAKEFLAGS=-w PAM_SO_SUFFIX=
+HISTSIZE=999
+TMPDIR=/usr/src/tmp
+USER=builder
+HISTFILESIZE=9999
+LS_COLORS=
+PAM_SO_SUFFIX=
+PATH=/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+MAIL=/var/mail/builder
+PWD=/usr/src/RPM/BUILD/godi-bootstrap-20061228
+PAM_NAME_SUFFIX=
+SHLVL=2
+HOME=/usr/src
+LOGNAME=builder
+G_BROKEN_FILENAMES=1
+_=/usr/bin/env
+OLDPWD=/usr/src/RPM/BUILD
Эти различия в некоторых ситуациях выливаются в очень трудно
отлавливаемые, и что ещё хуже трудно воспроизводимые, работы программ
и скриптов.
К примеру, при сборке godi (и pkgsrc) в хашере со 100% повторением
происходила следующая ошибка:
./bmake: invalid option -- w
Usage: bmake [-Beiknqrst] [-D variable] [-d flags] [-f makefile ]
[-I directory] [-j max_jobs] [-m directory] [-V variable]
[variable=value] [target ...]
Причем, после входа в чрут с помощью hsh-shell и выполнения в точности
такой же команды -- она отрабатывала!! Я потерял несколько дней
рабочего времени и несколько недель (!) своего времени, чтобы понять в
чем же причина такого поведения. Проблема в том, что в "чистом" чруте
устанавливается переменная MAKEFLAGS!! При этом воспроизвести такую
ситуации почти невозможно: ни в хост системе, ни от пользователя
builder.
Вопрос: откуда эта переменная MAKEFLAGS?! Зачем она устанавливется и
нужна в чруте?
--
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru
Подробная информация о списке рассылки Devel