首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RPM构建错误:宏展开中递归级别太多。它可能是由递归宏声明引起的。

RPM构建错误:宏展开中递归级别太多。它可能是由递归宏声明引起的。
EN

Stack Overflow用户
提问于 2020-02-13 14:03:13
回答 2查看 1.2K关注 0票数 2

我一直试图使用rpmbuild构建一个rpm,但是我一直收到以下错误-

错误:宏展开中递归级别太多。它可能是由递归宏声明引起的。

环境详细信息- rpmbuild --版本RPM 4.11.3

.spec文件的一部分-

代码语言:javascript
复制
############# we define product here ###################
%define name abc

%define installdir /direc

############### product Info ###################
Summary: ABC management package
Name: %{name}
Version: %{version}
Release: %{release}
Source: %{name}-%{version}.tgz
Vendor: XYZ
License: Commercial
Group: System Environment/Libraries
Prefix: %{_prefix}
Buildroot: %{_tmpbuildroot}
################Dependencies ###########################
Requires : %{name} = %{version}, mod_php, php-pgsql

.rpmmacros文件

代码语言:javascript
复制
    %_topdir               /home/jan/rpmbuild/
    %_tmppath              /home/jan/rpmbuild/tmp
    %_tmpbuildroot          /home/jan/rpmbuild/build
    %_buildroot         /home/jan/rpmbuild/BUILD
    %version                100.0.111.20200213
    %release                R_jenkins-XXXXXX-61
   %extra_require ameyocrm = 100.0.111.20200213

用于构建rpm - sudo rpmbuild -bb -vv /home/jan/Work/BuildMachine/RPM/rpm_spec/rpm/SPECS/myspecfile.spec --target "\x86_64-redhat-linux\"的命令。

EN

回答 2

Stack Overflow用户

发布于 2020-02-13 14:45:12

%name%version%release宏都是内置的.你不应该试图覆盖它们。%name宏被定义为Name:标记的内容,%version%release也是如此。

将其改写为如下内容:

代码语言:javascript
复制
Name: abc
Version: 100.0.111.20200213
Release: R_jenkins-XXXXXX-61
Source: %{name}-%{version}.tgz
...

编辑:@Danila注意到:

代码语言:javascript
复制
Requires : %{name} = %{version}

意味着您的包需要自己,这是没有意义的。

EDIT2

如果您希望能够定义版本号并从外部发布,则只需定义另一个宏:

代码语言:javascript
复制
%{!?_version: %define _version 100.0.111.20200213 }
%{!?_release: %define _release R_jenkins-XXXXXX-61 }

Name:       abc
Version:    %{_version}
Release:    %{_release}

这些宏_version_release不是标准的,可以在规范文件之外定义。

票数 4
EN

Stack Overflow用户

发布于 2022-04-25 17:05:35

尝试将--define name <name> --define release <number>添加到rpmbuild命令中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60209660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档