Re: Релиз Unit 1.6

2018-11-17 Пенетрантность Vadim A. Misbakh-Soloviov
> У меня установка (без опции --local) прошла успешно с таким патчем:
> + ${NXT_NPM} install -g --user=root ${PWD}/${NXT_NODE_TARBALL}
> Либо с таким:
> + ${NXT_NPM} install -g --unsafe-perm ${PWD}/${NXT_NODE_TARBALL}

Ну, вот, у меня тоже она успешно проходит только с `--unsafe`

И да, я, похоже, закоммитив, забыл запушить на гитхаб изменения с добавленным 
sed'о'патчем на `--unsafe`, вот и не собирается :)
// а всё потому, что экспериментировал с --local



Собственно, теперь встаёт вопрос о том, что же делать?
Сильно для вас будет проблематично "апстримно" добавить туда что-нибудь типа
> --user=$(whoami)

или как-нибудь так? :)
Ну, чтобы, с одной стороны, в *этом* кейсе оно превращалось в --user=root, а с 
другой - не мешало другим юзерам ставить не-под-рутом (если таковые есть)?
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Релиз Unit 1.6

2018-11-17 Пенетрантность Валентин Бартенев
On Saturday, 17 November 2018 17:12:13 MSK Валентин Бартенев wrote:
> On Saturday, 17 November 2018 08:16:41 MSK Vadim A. Misbakh-Soloviov wrote:
> > Что-то я тут подебажил ещё, и заметил вообще страннейшую вещь:
> > нижеуказанная ошибка вываливается если использовать --local=/usr/lib64 и 
> > export USER=root (потому что под ним и происходит install-фаза, просто 
> > переменная пуста).
> > 
> > > ```
> > > gyp WARN EACCES user "root" does not have permission to access the dev dir
> > > "/ var/tmp/portage/www-servers/nginx-unit-/homedir/.node-gyp/9.8.0" 
> > > gyp
> > > cc1plus: error: /var/tmp/portage/www-servers/nginx-unit-/work/nginx-
> > > unit-/src: Permission denied
> > > ```
> > 
> > Однако (!!!)
> > 1) не просто у юзера root есть права доступа в директории, на которые 
> > ссылается билдлог, но и прямо даже из секции src_install (откуда потом 
> > вызывается `make install`), непосредственно перед этим `make install`'ом я 
> > прекрасно могу создать (touch'ем) файлы в указанных директориях...
> > Ну, точнее, первая не существует, но прекрасно создаётся `mkdir -p` (хотя 
> > это 
> > и не помогает, а приводит к другой ошибке с правами), а вот во второй 
> > прекрасно создаютмя любые файлы.
> > 
> > А вот gyp почему-то выкабенивается...
> 
> 
> Я ровно это сейчас и наблюдаю, но только без --local:
> 
> npm install -g 
> /tmp/portage/www-servers/nginx-unit-/work/nginx-unit-/build/node-unit-http.tar.gz
> 
> > unit-http@1.0.0 install 
> > /tmp/portage/www-servers/nginx-unit-/image/usr/lib64/node_modules/unit-http
> > node-gyp configure build
> 
> gyp WARN EACCES user "root" does not have permission to access the dev dir 
> "/tmp/portage/www-servers/nginx-unit-/homedir/.node-gyp/8.12.0"
> gyp WARN EACCES attempting to reinstall using temporary dev dir 
> "/tmp/portage/www-servers/nginx-unit-/image/usr/lib64/node_modules/unit-http/.node-gyp"
> gyp WARN install got an error, rolling back install
> gyp WARN install got an error, rolling back install
> gyp ERR! configure error 
> gyp ERR! stack Error: EACCES: permission denied, mkdir 
> '/tmp/portage/www-servers/nginx-unit-/image/usr/lib64/node_modules/unit-http/.node-gyp'
> gyp ERR! System Linux 4.14.81-gentoo
> gyp ERR! command "/usr/bin/node" 
> "/usr/lib64/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" 
> "configure" "build"
> 
> 
> И пока непонятно, что с этим делать.  Будем разбираться.
> 

По всей видимости, опция USER влияет исключительно на вывод ошибки в логе,
а пользователь при этом остается тем, что был указан в конфигах npm, а по
умолчанию это "nobody".  Очень удобно!

Если в npm install скормить явно --user=root, то всё успешно отрабатывает.
Похоже --unsafe-perm там необходим, иначе оно неработоспособно при таких 
сборках.

У меня установка (без опции --local) прошла успешно с таким патчем:

diff -r cb3595d83966 auto/modules/nodejs
--- a/auto/modules/nodejs   Thu Nov 15 21:50:00 2018 +0300
+++ b/auto/modules/nodejs   Sat Nov 17 17:21:05 2018 +0300
@@ -161,7 +161,7 @@ install: ${NXT_NODE}-$NXT_NODE_INSTALL
 ${NXT_NODE}-install: ${NXT_NODE_TARBALL} \
 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
${NXT_NODE_EXPORTS} && \\
-   ${NXT_NPM} install -g ${PWD}/${NXT_NODE_TARBALL}
+   ${NXT_NPM} install -g --user=root ${PWD}/${NXT_NODE_TARBALL}
 
 ${NXT_NODE}-uninstall:
${NXT_NPM} uninstall -g unit-http

Либо с таким:

diff -r cb3595d83966 auto/modules/nodejs
--- a/auto/modules/nodejs   Thu Nov 15 21:50:00 2018 +0300
+++ b/auto/modules/nodejs   Sat Nov 17 17:21:05 2018 +0300
@@ -161,7 +161,7 @@ install: ${NXT_NODE}-$NXT_NODE_INSTALL
 ${NXT_NODE}-install: ${NXT_NODE_TARBALL} \
 $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
${NXT_NODE_EXPORTS} && \\
-   ${NXT_NPM} install -g ${PWD}/${NXT_NODE_TARBALL}
+   ${NXT_NPM} install -g --unsafe-perm ${PWD}/${NXT_NODE_TARBALL}
 
 ${NXT_NODE}-uninstall:
${NXT_NPM} uninstall -g unit-http


--
Валетин Бартенев
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Релиз Unit 1.6

2018-11-17 Пенетрантность Валентин Бартенев
On Saturday, 17 November 2018 08:16:41 MSK Vadim A. Misbakh-Soloviov wrote:
> Что-то я тут подебажил ещё, и заметил вообще страннейшую вещь:
> нижеуказанная ошибка вываливается если использовать --local=/usr/lib64 и 
> export USER=root (потому что под ним и происходит install-фаза, просто 
> переменная пуста).
> 
> > ```
> > gyp WARN EACCES user "root" does not have permission to access the dev dir
> > "/ var/tmp/portage/www-servers/nginx-unit-/homedir/.node-gyp/9.8.0" gyp
> > cc1plus: error: /var/tmp/portage/www-servers/nginx-unit-/work/nginx-
> > unit-/src: Permission denied
> > ```
> 
> Однако (!!!)
> 1) не просто у юзера root есть права доступа в директории, на которые 
> ссылается билдлог, но и прямо даже из секции src_install (откуда потом 
> вызывается `make install`), непосредственно перед этим `make install`'ом я 
> прекрасно могу создать (touch'ем) файлы в указанных директориях...
> Ну, точнее, первая не существует, но прекрасно создаётся `mkdir -p` (хотя это 
> и не помогает, а приводит к другой ошибке с правами), а вот во второй 
> прекрасно создаютмя любые файлы.
> 
> А вот gyp почему-то выкабенивается...


Я ровно это сейчас и наблюдаю, но только без --local:

npm install -g 
/tmp/portage/www-servers/nginx-unit-/work/nginx-unit-/build/node-unit-http.tar.gz

> unit-http@1.0.0 install 
> /tmp/portage/www-servers/nginx-unit-/image/usr/lib64/node_modules/unit-http
> node-gyp configure build

gyp WARN EACCES user "root" does not have permission to access the dev dir 
"/tmp/portage/www-servers/nginx-unit-/homedir/.node-gyp/8.12.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir 
"/tmp/portage/www-servers/nginx-unit-/image/usr/lib64/node_modules/unit-http/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir 
'/tmp/portage/www-servers/nginx-unit-/image/usr/lib64/node_modules/unit-http/.node-gyp'
gyp ERR! System Linux 4.14.81-gentoo
gyp ERR! command "/usr/bin/node" 
"/usr/lib64/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" 
"build"


И пока непонятно, что с этим делать.  Будем разбираться.

--
Валентин Бартенев
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru