столкнулся при импорте, что наше определение %make_build хуже, чем в других дистрибутивах. Предлагаю определить одной командой, например %make_build %_make_bin -j${NPROCS:-%__nprocs} работает в т.ч. под ash. наше старое определение %make_build [ -n "$NPROCS" ] || NPROCS=%__nprocs; %_make_bin -j$NPROCS ломает конструкции вида LD_LIBRARY_PATH=.libs %make_build check
(In reply to comment #0) > столкнулся при импорте, что наше определение %make_build > хуже, чем в других дистрибутивах. > > Предлагаю определить одной командой, например > %make_build %_make_bin -j${NPROCS:-%__nprocs} > работает в т.ч. под ash. Так, конечно, лучше, но тогда переменная NPROCS не будет определена в результате использования %make_build. Надо пройтись по спекфайлам и посмотреть, не используется ли в них NPROCS после %make_build без инициализации.
прошелся, нашел кандидаты с помощью .repocop/testcache/specfile $ grep NPROC `grep -rl '%make_build'` kernel-image-std-def-4.9.67-alt1.src.spec:export NPROCS=%nprocs kernel-image-std-pae-4.4.104-alt1.src.spec:export NPROCS=%nprocs kernel-image-un-def-4.14.4-alt1.src.spec:export NPROCS=%nprocs qcad-3.19.1.0-alt2.src.spec:export NPROCS=1 samba-4.6.11-alt2.S1.src.spec:[ -n "$NPROCS" ] || NPROCS=%__nprocs; export JOBS=$NPROCS samba-4.6.11-alt2.S1.src.spec:%make_build NPROCS=%__nprocs samba-DC-4.6.11-alt2.S1.src.spec:[ -n "$NPROCS" ] || NPROCS=%__nprocs; export JOBS=$NPROCS samba-DC-4.6.11-alt2.S1.src.spec:%make_build NPROCS=%__nprocs 0ad-0.0.22-alt1.src.spec:[ -n "$NPROCS" ] || NPROCS=%__nprocs; build/workspaces/update-workspaces.sh \ 0ad-0.0.22-alt1.src.spec: -j$NPROCS \ bamg-0.60-alt4.src.spec:NPROCS=1 chasm-1.4.0-alt5.cvs20131111.src.spec:[ %__nprocs -gt %max_nprocs ] && NPROCS=%max_nprocs dvdisaster-0.72.3-alt3.src.spec:NPROCS=1 kernel-image-ovz-el-2.6.32-alt158.src.spec:[ "%__nprocs" -gt "%nprocs" ] || export NPROCS=%nprocs openldap-2.4.45-alt2.src.spec:export NPROCS=1 portaudio2-19-alt6.src.spec:[ %__nprocs -le 3 ] || export NPROCS=3 qt-creator-4.4.1-alt2.src.spec:NPROCS=1 qt5-webengine-5.9.2-alt1.S1.src.spec:NUM_PROCS=$NPROCS qt5-webkit-5.9.2-alt2.S1.src.spec:[ "%__nprocs" != 1 ] || export NPROCS=3 yate-3.3.2-alt5.src.spec:NPROCS=1 yices-2.3.0-alt2.src.spec:NPROCS=1 посмотрел в спеки - нет, не используется без определения.
rpm-build-4.0.4-alt107 -> sisyphus: Sun Jan 07 2018 Dmitry V. Levin <ldv@altlinux> 4.0.4-alt107 - compare_deps: fixed a bug in handling epochs. - platform.in: + %optflags_core: added -frecord-gcc-switches (see: #34162); + %make_build: implemented as a simple command (closes: #34237). - genCpioListAndHeader: implemented remapping of device and inode numbers (by Vladimir D. Seleznev and me; closes: #34398).
(In reply to comment #1) > (In reply to comment #0) > > столкнулся при импорте, что наше определение %make_build > > хуже, чем в других дистрибутивах. > > > > Предлагаю определить одной командой, например > > %make_build %_make_bin -j${NPROCS:-%__nprocs} > > работает в т.ч. под ash. > > Так, конечно, лучше, но тогда переменная NPROCS не будет определена в > результате использования %make_build. Надо пройтись по спекфайлам и > посмотреть, не используется ли в них NPROCS после %make_build без > инициализации. А можно было бы так, чтобы значение запоминалось, как раньше: %make_build %_make_bin -j${NPROCS:=%__nprocs} Реальных примеров использования я не встречал, но чуть было не написал -j$NPROCS в одном спеке, а потом переписал на %_smp_mflags . Теперь разошлось значение у rpm-build и rpm -- https://bugzilla.altlinux.org/show_bug.cgi?id=34684 .