【问题标题】:rpmbuild issues on CentOS - Bad exit status from /home/me/rpmbuild/tmp/rpm-tmp.58942CentOS 上的 rpmbuild 问题 - /home/me/rpmbuild/tmp/rpm-tmp.58942 的退出状态错误
【发布时间】:2023-03-02 22:26:01
【问题描述】:

我正在尝试创建一个仅更新系统上文件的软件包,但在运行 rpmbuild 时我不断收到错误消息。该错误表示文件丢失。

我在 CentOS 5 和 6 上试过这个,结果相同。

我使用rpmdev-setuptree 设置文件系统,同时设置~/.rpmmacros 文件。然后我使用rpmdev-newspec 来初始化规范文件。

我以非 root 用户身份运行。

我在~/rpmbuild/SPECS/test.spec 中有规范文件,我的来源是:~/rpmbuild/SOURCES/test-1.tar.gz。提取此文件会创建一个名为 test-1 的目录,其中包含 2 个文件。当我尝试构建包时,我已经确认它确实被提取到~/rpmbuild/BUILD/test-1

我跑:rpmbuild -ba ~/rpmbuild/SPECS/test.spec

然后我得到这个错误:

  • ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu --program-prefix= --prefix=/ usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir =/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info /home/ me/rpmbuild/tmp/rpm-tmp.58942: line 37: ./configure: No such file or directory error: Bad exit status from /home/me/rpmbuild/tmp/rpm-tmp.58942 (%build)

RPM 构建错误: /home/me/rpmbuild/tmp/rpm-tmp.58942 (%build) 的错误退出状态

这是我的规范文件:

Name:           test
Version:        1
Release:        1%{?dist}
Summary:        Test

Group:          Test
License:        GPL
URL:            http://example.com 
Source0:        test-1.tar.gz 
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

#BuildRequires:  
#Requires:       

%description
This is a test to push files.

%prep
%setup -q

%build
#%configure
#make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
#make install DESTDIR=$RPM_BUILD_ROOT
install -m 0755 -d $RPM_BUILD_ROOT/opt/test

%clean
rm -rf $RPM_BUILD_ROOT

%files
%dir /opt/test
%defattr(-,root,root,-)
%doc

关于我可能做错了什么有什么想法吗?

【问题讨论】:

    标签: rpm rpmbuild


    【解决方案1】:

    看起来默认的 GNU "./configure" 脚本不存在,因此您不能在规范文件中使用默认的 %setup 宏,需要自定义 %prep 部分...(One source) (mirror)

    【讨论】:

    • 我不知道如何覆盖宏以阻止它执行./configure,但我在源代码的根目录中放置了一个空配置文件,它允许我完成构建。感谢您让我走上正轨。
    • 对不起 - 我应该仔细看看! RPM 的一个众所周知的 PITA “功能”是您不能像上面那样注释掉宏。您必须输入#%%configure 否则它只会退出宏的第一行! (第一个 % 转义了第二个。)
    • 确认我现在可以在没有配置文件的情况下构建 rpm,并在注释中添加额外的 %,或者完全删除该行。我认为我的评论有效。谢谢!
    • 一个源链接已关闭,Fedora's wiki 有一些有用的内容,但可能不适用于您的打包或目标环境
    • @efx 谢谢我也添加了镜像链接。
    猜你喜欢
    • 2015-02-05
    • 1970-01-01
    • 2012-03-06
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2015-03-18
    相关资源
    最近更新 更多