Bug 57880

Summary: FR: макро для имени текущей архитектуры в терминах node
Product: Sisyphus Reporter: Ivan A. Melnikov <iv>
Component: rpm-macros-nodejsAssignee: viy <viy>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: lav, mike, viy
Version: unstable   
Hardware: all   
OS: Linux   

Description Ivan A. Melnikov 2026-02-16 18:03:29 MSK
В спеках всё чаще встречаю что-то похожее на

%ifarch x86_64
%define node_arch x64
%endif

%ifarch aarch64
%define node_arch arm64
%endif

Мне, как мейнтейнеру портов на loongarch64 и riscv64, приходится дополнять это:

%ifarch riscv64
%define node_arch riscv64
%endif

%ifarch loongarch64
%define node_arch loong64
%endif


Думаю, имеет смысл добавить подобное макро  для имени текущей архитектуры в терминах node в rpm-macros-nodejs, и потом им везде пользоваться.
Comment 1 Ivan A. Melnikov 2026-02-16 18:08:14 MSK
Полный список возможных значений, как я понимаю, можно посмотреть тут:

https://nodejs.org/api/os.html#osarch

2mike: на e2k вроде был какой-то nodejs блобовый. Для него надо вписать что-нибудь?
Comment 2 Ivan A. Melnikov 2026-02-17 14:30:38 MSK
(In reply to Ivan A. Melnikov from comment #1)
> 2mike: на e2k вроде был какой-то nodejs блобовый. Для него надо вписать
> что-нибудь?

Вспомнил, что могу и сам посмотреть:

 $ rpm -qa node-blobs
 node-blobs-18.17.1.r1.0-alt1.E2K.3.e2kv5
 $ node
 Welcome to Node.js v18.17.1.
 Type ".help" for more information.
 > require('os').arch()
 'elbrus'
 >
Comment 3 Ivan A. Melnikov 2026-02-17 14:43:59 MSK
А ещё можно поступить по аналогии с go_hostarch и вычислять нужную архитектуру на лету:

node --eval 'console.log(require("os").arch())'