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

2024-01-08

我遇到了一个奇怪的 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 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”而不仅仅是“ %设置'。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

/var/tmp/rpm-tmp.ajKra4 的退出状态错误 (%prep) 的相关文章

随机推荐

  • 删除重复项并附带警告

    我有一个包含 rowID 经度 纬度 businessName url 标题的表 这可能看起来像 rowID long lat businessName url caption 1 20 20 Pizza Hut yum com null
  • Angular-UI 全局键绑定

    我已经开始使用 angular ui 按键模块 并且想知道是否有一种方法可以使全局快捷键无论我放置在体内的哪个位置都可以工作 我尝试将 ui keydown 链接到正文 但由于它没有焦点 因此不会触发关键事件 eg 我知道我可以只关注一个
  • 在C++中,当我需要使用枚举时,如何避免#include头文件?

    在我的 C 头文件中 我尝试使用前向声明 class MyClass 而不是 include 类头 正如许多 C 编码标准中所建议的那样 Google C 样式指南就是其中之一 不幸的是 当我引入枚举时 我无法再进行前向声明了 像这样 my
  • 如何使用 Laravel 5.5 身份验证使电子邮件登录不区分大小写

    在构建我的应用程序时 我通过运行使用了 Laravel 身份验证脚手架php artisan make auth这很棒 节省了我很多时间 但是 我遇到了用户无法登录的问题 因为他们不记得最初注册时使用的电子邮件大小写 例如 注册的用户 em
  • Wix Burn:自定义引导程序升级,但与旧版本并排安装

    我正在努力解决自定义引导程序升级问题 依照指示这个线程 https stackoverflow com questions 17676657 wix burn bootstrapper majorupgrade 我正在使用 LaunchAc
  • 弹出窗口显示片段中的一些内容

    我正在尝试制作类似弹出窗口的东西 当单击片段中的视图时会出现该窗口 我希望这个弹出窗口或其他任何东西不要使片段变暗 就像对话框片段那样 我还希望弹出窗口位于单击视图的位置 如果它有自己的活动和布局那就太好了 这样我就可以在其中进行一些自定义
  • 无法在 Rails 4 中批量分配受保护的属性

    我无法理解我的代码有什么问题 Rails 4 帖子中的参数 name gt name 新行动 m Menu new params permit name 此代码的最后一行生成 无法为菜单批量分配受保护的属性 名称 在 Rails 4 中使用
  • 尝试在 IE11 中打开为程序生成的 PDF 生成的 URL 时显示“访问被拒绝”

    对于我正在开发的应用程序 我们有一个功能 可以在服务器端为对象生成报告 并在客户端的新选项卡 暂时 中打开它 我正在使用URL createObjectURL函数创建一个 URLBlob 它由 AJAX 调用的结果组成 每当一个 windo
  • 使用 PDO 准备语句插入密码哈希

    在基本的 mysql 插入中 您可以设置密码变量 PASSWORD password 但这会破坏 PDO 语句 使用 pdo prepare 和 pdo execute 时如何散列密码 sql INSERT INTO contractors
  • log4net配置问题

    我有一个单独的 Log4Net config 文件 我添加了 assembly log4net Config XmlConfigurator ConfigFile Log4Net config Watch true 到 AssemblyIn
  • 从两个角度算出顺时针转还是逆时针转

    我正在 XNA 中制作游戏 我有敌人和玩家 敌人应该逐渐转向玩家 他们应该弄清楚是否需要顺时针转动或逆时针转动 以较短者为准 我通过使用 Atan2 得到了敌人当前面对的角度和它应该面对的角度 敌人和玩家之间的线的角度 作为弧度 不过我有一
  • Jest 测试在 d3 导入时失败

    我正在运行测试 import render from testing library react import MyComponent from components MyComponent test renders MyComponent
  • 如何解决 Angular 中资源被阻止、MIME 类型不匹配的问题?

    我正在关注角度文档 https angular io guide web worker尝试尝试基本的 Web Worker 示例 我构建了一个基本的 Angular 模板应用程序 它运行良好 我添加了一个名为 RunnerComponent
  • 使用 SVN 自特定日期以来更改的文件列表

    我可以运行哪种 SVN 命令来获取自特定日期以来更改的文件列表 现在我把它作为 svn log
  • 我如何在带有搜索结果控制器的情节提要中使用原型单元

    I have tableview使用搜索结果控制器在搜索栏中搜索时收到此错误表明没有单元格并收到以下错误 如何创建我的prototype该方法中的细胞CellForRowAtIndexPath Code UITableViewCell ta
  • 如何中断 emacs 中打开的 IPython 解释器?

    假设我不小心评估了一个巨大的变量 一个包含八亿个元素的列表 或者其他什么 当他们向下滚动我的屏幕并且我的计算机慢慢停止时 有什么好方法可以中断此情况without杀了我的 Python 缓冲 我通过以下方式使用 IPythonpython
  • 嵌入类型和结构的多态性

    我正在创建一个 API 并且有两种不同的 JSON 响应结构 一种用于单个记录 一种用于记录集合 type Model struct Id uint type Collection struct Records Model A Model只
  • iOS 模拟器不支持此浏览器

    我在反应本机时遇到错误 This Browser is not supported 在iOS模拟器中 运行以下代码后 const firebase require firebase const firebaseConfig require
  • 如何在 flutter 中启用对现有项目的 Swift 支持

    我想知道是否有一种方法可以快速支持flutter项目 我只在创建项目时启用了 Kotlin 支持 我也需要启用 Swift Android studio 的 flutter 插件中是否有我可以执行的命令或任何可以启用的设置 或者是否有在 X
  • /var/tmp/rpm-tmp.ajKra4 的退出状态错误 (%prep)

    我遇到了一个奇怪的 RPM 问题 我是新手 所以请耐心等待 我创建了规范文件 当我运行构建时出现错误 var tmp rpm tmp ajKra4 第 36 行 cd Hero 01 没有这样的文件或目录 错误 var tmp rpm tm