rpmbuild генерирует RPM, в котором подкаталог - PullRequest
2 голосов
/ 02 апреля 2010

rpmbuild создает RPM в каком каталоге?

Я проверил каталог RPMS: -

[root@tom adil]# ls /usr/src/redhat/
BUILD  RPMS  SOURCES  SPECS  SRPMS
[root@tom adil]# ls /usr/src/redhat/RPMS/
athlon  i386  i486  i586  i686  noarch
[root@tom adil]# 

Как определить выходные данные rpmbuild в каком из указанных выше подкаталогов? Контролируется ли он спецификацией? Какая опция по умолчанию?

Я думал, uname -p, но дело не в вероятности uname -i используется.
Связано с моим последним вопросом Разница между "аппаратным обеспечением машины" и "аппаратной платформой"

Ответы [ 3 ]

4 голосов
/ 03 апреля 2010

Двоичный пакет назван в соответствии с макросом %_build_name_fmt. По умолчанию этот макрос содержит %{ARCH}/ в начале, так что именно там находится двоичный пакет.

2 голосов
/ 03 апреля 2010

После вашего последнего комментария по умолчанию RPM перейдет в подкаталог, соответствующий платформе, на которой вы строите. Вы можете переопределить это, передав параметр --target в rpmbuild, но это применимо только там, где допустимо; Например, вы можете использовать --target i386 в системе x86_64 для создания 32-битной RPM, но вы не можете построить 64-битную RPM на 32-битной платформе.

0 голосов
/ 02 апреля 2010

RPM переходит в папку RPMS, а исходный RPM - в SRPMS. Это не контролируется файлом спецификации - это соглашение. Что именно вы пытаетесь сделать?

...