Summary: | use one command definition for %make_build | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | viy <viy> |
Component: | rpm-build | Assignee: | placeholder <placeholder> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | arseny, glebfm, imz, ldv, placeholder, vt |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
viy
2017-11-26 15:35:17 MSK
(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 . |