gpt4 book ai didi

centos - 来自/var/tmp/rpm-tmp.ajKra4 (%prep) 的错误退出状态

转载 作者:太空宇宙 更新时间:2023-11-03 17:12:42 27 4
gpt4 key购买 nike

我有一个奇怪的 RPM 问题,我是新手所以请多多包涵...我创建了规范文件,当我运行构建时出现错误:

/var/tmp/rpm-tmp.ajKra4: 第 36 行:cd: hero-01: 没有那个文件或目录错误:来自/var/tmp/rpm-tmp.ajKra4 (%prep) 的错误退出状态

然后我检查那个临时文件,它试图将 CD 到一个不存在的目录。它应该在规范文件中创建这个吗?如果是,在哪里?

这是我的规范文件:

    Summary: Install Hero
Name: hero
Version: 01
Release: 1
Group: Billing reporting
Source: %{name}-%{version}.tar.gz
License: SLA

%description
Hero billing reports system

%prep
rm -rf %{_topdir}/BUILD/*

%setup

%install
mkdir -p /opt/%{name}
cp -r * /opt/%{name}

%post
find /opt/%{name} -type d -exec chmod 755 {} \;
find /opt/%{name} -type f -exec chmod 644 {} \;
chmod -R 755 /opt/%{name}/bin



%files
/opt/%{name}
%defattr(-,root,root,0755)

%clean
rm -rf $RPM_BUILD_ROOT

%postun
rm -rf /opt/%{name}

也许我遗漏了什么?不会是第一个哈哈,谢谢

这也是 tmp 文件输出的内容:

    #!/bin/sh

RPM_SOURCE_DIR="/root/rpmbuild/SOURCES"
RPM_BUILD_DIR="/root/rpmbuild/BUILD"
RPM_OPT_FLAGS="-O2 -g"
RPM_ARCH="x86_64"
RPM_OS="linux"
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="/usr/share/doc"
export RPM_DOC_DIR
RPM_PACKAGE_NAME="hero"
RPM_PACKAGE_VERSION="01"
RPM_PACKAGE_RELEASE="1"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
LANG=C
export LANG
unset CDPATH DISPLAY ||:
RPM_BUILD_ROOT="/root/rpmbuild/BUILDROOT/hero-01-1.x86_64"
export RPM_BUILD_ROOT

PKG_CONFIG_PATH="/usr/lib64/pkgconfig:/usr/share/pkgconfig"
export PKG_CONFIG_PATH

set -x
umask 022
cd "/root/rpmbuild/BUILD"
rm -rf /root/rpmbuild/BUILD/*

cd '/root/rpmbuild/BUILD'
rm -rf 'hero-01'
/usr/bin/gzip -dc '/root/rpmbuild/SOURCES/hero-01.tar.gz' | /bin/tar -xvvf -
STATUS=$?
if [ $STATUS -ne 0 ]; then
exit $STATUS
fi
cd 'hero-01'
/bin/chmod -Rf a+rX,u+w,g-w,o-w .

exit 0

最佳答案

查看 http://www.rpm.org/max-rpm/s1-rpm-inside-macros.html ,特别是“-n — 设置构建目录的名称”部分。

%setup 宏期望在解压 tar.gz 后,会有一个 hero-01 目录可用,但是你的 hero-01.tar.gz 可能会创建一些其他的目录名称,可能没有包含在名字。

因此,例如,如果在解压后/root/rpmbuild/BUILD 中有一个 'hero' 目录而不是 'hero-01' 目录,则更新规范文件以使用 '%setup -n hero'只是“%setup”。

关于centos - 来自/var/tmp/rpm-tmp.ajKra4 (%prep) 的错误退出状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com