Bug 36349 - node-gyp tries to download node-devel headers from the internet.
Summary: node-gyp tries to download node-devel headers from the internet.
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: node-gyp (show other bugs)
Version: unstable
Hardware: all Linux
: P3 critical
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-22 21:59 MSK by viy
Modified: 2020-01-24 21:00 MSK (History)
2 users (show)

See Also:


Attachments
Вот пример. (658.58 KB, application/x-rpm)
2019-03-24 22:17 MSK, viy
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description viy 2019-03-22 21:59:46 MSK
Вот, к примеру:
см. [gyp http GET https://nodejs.org/download/release/v10.15.3/node-v10.15.3-headers.tar.gz]
у федоры для борьбы с этим есть патч (для версии 3.6).
Его надо приложить, даже если придется откатиться на версию 3.6.х


Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.42738
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd package
+ /usr/share/rpm-build-nodejs/nodejs-symlink-deps /usr/lib/node_modules --build
+ export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2'
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export 'LDFLAGS=-Wl,-z,relro -Wl,-z,undefs'  
+ LDFLAGS='-Wl,-z,relro -Wl,-z,undefs'  
+ node-gyp rebuild -- -Dnode_iconv_use_system_libiconv=1
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.15.3 | linux | x64
gyp http GET https://nodejs.org/download/release/v10.15.3/node-v10.15.3-headers.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: getaddrinfo EAI_AGAIN nodejs.org nodejs.org:443
gyp ERR! stack     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
gyp ERR! System Linux 4.9.150-std-def-alt0.M80P.1
gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild" "--" "-Dnode_iconv_use_system_libiconv=1"
gyp ERR! cwd /usr/src/RPM/BUILD/package
gyp ERR! node -v v10.15.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok   
error: Bad exit status from /usr/src/tmp/rpm-tmp.42738 (%build)


RPM build errors:
    Bad exit status from /usr/src/tmp/rpm-tmp.42738 (%build)
Command exited with non-zero status 1
1.36user 0.14system 0:01.45elapsed 103%CPU (0avgtext+0avgdata 54092maxresident)k
0inputs+0outputs (0major+30870minor)pagefaults 0swaps
hsh-rebuild: rebuild of `nodejs-iconv-2.3.0-alt1_10.src.rpm' failed.
Comment 1 viy 2019-03-22 22:03:03 MSK
Такое поведение только для arch пакетов. noarch-ам headers не нужны,
с ними node-gyp работает.

и нужен ли такой строгий acl: lav ?
Comment 2 Alexey Shabalin 2019-03-23 17:38:44 MSK
Посмотрите, как я собираю grafana. Там локально собирается gyp, но с системными хедерами. Не претендую на верное решение, но возможно так удобнее.
Comment 3 Vitaly Lipatov 2019-03-23 22:01:29 MSK
(In reply to comment #2)
> Посмотрите, как я собираю grafana. Там локально собирается gyp, но с системными
> хедерами. Не претендую на верное решение, но возможно так удобнее.
Я бы предложил не собирать gyp - у нас есть такой пакет в системе.
Comment 4 Vitaly Lipatov 2019-03-23 22:04:15 MSK
(In reply to comment #1)
> Такое поведение только для arch пакетов. noarch-ам headers не нужны,
> с ними node-gyp работает.

Как воспроизвести проблему?

> 
> и нужен ли такой строгий acl: lav ?
Обязательно. Иначе вы возьмётесь патчить пакет.
Comment 5 viy 2019-03-24 22:17:22 MSK
Created attachment 8055 [details]
Вот пример.
Comment 6 viy 2019-03-24 22:27:27 MSK
И надо подключить autoimports,
в Сизифе многих зависимостей нет.
Comment 7 viy 2019-03-29 19:32:51 MSK
Я собрал в autoimports node-gyp-3.6.0-alt1_7,
с его помощью собрал  в autoimports arch пакеты,
такие, как nodejs-iconv, nodejs-sqlite3, ...
Comment 8 Vitaly Lipatov 2020-01-20 03:36:13 MSK
(В ответ на комментарий №2)
> Посмотрите, как я собираю grafana. Там локально собирается gyp, но с системными
> хедерами. Не претендую на верное решение, но возможно так удобнее.
Правильное решение — это выявить, какие npm-модули собирают бинарники (видимо, brotli) и собрать эти модули отдельными пакетами. Чтобы контролировать, с чем они собраны.
Comment 9 Vitaly Lipatov 2020-01-24 21:00:27 MSK
* Mon Jan 20 2020 Vitaly Lipatov <lav@altlinux.ru> 5.0.5-alt3
- use system node include dir to binary build (ALT bug 36349)
- first use python3 to gyp run