如何修改 Fedora 软件包并修复错误

2023-12-02

我有一个来自 Fedora 的老游戏,位于一个名为 6 的包中。它有一个错误,我想添加一些简单的功能。我在这里询问了该过程的一部分,(参见如何处理源 RPM 中的构建依赖关系?)得到了一些答案,发现学习曲线对于我的老大脑来说实在是太难了。文档往往想要涵盖一个包可以做的所有事情,而我很难挑选出我需要的部分。

我真正希望的是一个完整的工作流程(希望只是命令列表和所涉及目录的提及)。

它将以此开始(它有效,甚至可能是标准的):

  • 使用 rpm -qi 6 查找 SRPM | grep 源
  • 使用 rpm -i 6-0.5.3-38.fc35.src.rpm 获取

结果:~/rpmbuild 中的源文件和规范文件

我修改并测试新版本后需要填写以下步骤:

  • 构建新的 SRPM(模拟可以做到这一点吗?)
  • 构建新的 RPM 并在本地安装它们(我将根据需要进行测试和重复)
  • 报告错误和修复,可能作为拉取请求

如果需要,可以重新组织这些步骤。我知道mock可以从SRPM构建RPM,但我没有看到如何直接从源代码到安装,并且在mock之外构建失败(qt-mt的一些问题)。

我希望有一个可以协同工作来完成这些事情的命令列表。我已经尽我所能,没有花一周的时间来理解各个手册页之间的术语不匹配。或者只是奇怪的用法(为什么 SRPM 的 REbuild 会构建二进制 RPMS 而不是 SRPM?)

顺便说一句,如果你想看看我提到的错误,

  • 安装六个
  • start it
  • 将黑色设置为人类
  • 将白棋设置为专家
  • 设置启用交换
  • 单击顶部(或底部)行中的任何十六进制,然后观察六个报告崩溃并退出。

您可以再试一次,单击板的中间,发现它没有崩溃。

对于之前没有注意到这个错误,我并不感到惊讶。交换通常只在经验丰富的玩家之间启用。我怀疑经验丰富的玩家是否会在顶排或底排与其他玩家进行第一步行动。


你处理得很好。你实际上只错过了一件事。安装 src.rpm 后:

rpm -i 6-0.5.3-38.fc35.src.rpm

你有six.spec in ~/rpmbuild/SPECS and six-SOMETHING.tar.gz in ~/rpmbuild/SOURCES

快速而肮脏的方法是打开它six-SOMETHING.tar.gz。修改文件并打包回来。进入与原始焦油球相同的结构。

然后就是:

rpmbuild -bs ~/rpmbuild/SPECS/six.spec

这将生成 src.rpm,然后您可以使用模拟构建它:

模拟六.src.rpm

(一种更快更脏的方法是调用rpmbuild -ba它直接构建 rpm,但模拟是一种更干净的方式)。

处理包中的修复的标准方法是添加补丁。https://rpm-packaging-guide.github.io/#patching-software但如果你不关心可持续性和长期安全,那么上面的路径就可以了。

如果您想针对 fedora 6 的软件包提交错误,您可以在此处进行https://bugz.fedoraproject.org/6

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

如何修改 Fedora 软件包并修复错误 的相关文章

  • 如何让 Debug.WriteLine 与其他进程一起工作?

    我有一个程序可以使用以下命令生成另外两个进程System Diagnostics Process 他们的输出被第一个程序捕获 players p Key StartInfo new ProcessStartInfo FileName arg
  • 在 JellyBean 上使用 LogCat

    我有一个非常随机发生的错误 所以我依赖LogCat我从 Play 商店购买的监控应用程序 以查看发生时设备上抛出的异常 自从使用 Jelly Bean 以来 我没有看到任何日志记录 我读过 使用 Jelly Bean 应用程序只能看到Log
  • 如何进入system.web.mvc

    有谁知道我如何进入system web mvc 我收到隐藏在 System Web Mvc DefaultModelBinder CreateModel 方法中的错误 无法创建抽象类 并且我无法判断代码的哪一部分导致了问题 有人建议我可以从
  • 我可以调试Exe吗

    我需要比较我的应用程序和工作应用程序之间的一些函数调用和签名 这里我并不是指任何逆向工程或访问其他应用程序的源代码的方法 而是真正需要知道工作应用程序使用的方法和接口是什么 我尝试将我的应用程序附加到 Visual Studio 然后 St
  • Eclipse java 断点 - 目的是什么?

    我正在学习 Android 教程 刚刚进入调试部分 我想知道断点的用途是什么 我还不能告诉 它实际上停止了应用程序 以便我可以确定它运行到该点 或者我可以设置多个断点并将它们用作标记来从断点到断点检查 停止和运行 我的代码 断点是执行停止的
  • 有没有办法确定 Firebug 或 Web Inspector 中发出 XHR 的行?

    有没有办法确定 Firebug 或 Web Inspector 可能是 Opera Dragonfly IE 开发人员工具栏 中发出 XHR 的行和文件名 如果没有 找出答案的最佳方法是什么 只是在代码库中搜索调用的 URI 不过 通常它会
  • 无法在 Windows 7 上安装 Android USB 驱动程序

    所以我想使用我的新 Nexus 5 来调试我的应用程序 我尝试通过以下方式安装 Android USB 驱动程序装置经理 http developer android com tools extras oem usb html Win7但我
  • 多线程调试技术

    我想知道是否有人知道多线程应用程序调试技术的一个很好的调查 理想情况下 我正在寻找基于案例的分析 死锁 饥饿 损坏的共享状态 Net 特定的或通用的 我不知道有哪篇文章或书籍可以满足您的需求 因此这是我从 12 年 Windows 多线程调
  • Visual Studio 2010“找不到或打开 PDB 文件”

    我尝试在 Visual Studio 10 中调试程序 但遇到断点问题 我将与 dll 文件对应的 pdb 文件放在同一目录中 但是在检查模块时 我发现每个 DLL 文件都被签名为Cannot find or open the PDB fi
  • 获取局部变量

    当从已部署的应用程序获取堆栈跟踪作为错误报告时 获取实际变量值以重建抛出异常之前的系统状态也会很有帮助 类似的事情在 Java 中可行吗 如何才能做到这一点 干杯 最大限度 我很确定您无法获取堆栈跟踪中的局部变量 因为输出是从 StackT
  • Visual Studio C# 2010 Express 调试运行速度比发布速度更快

    我有一个恰好有 2 个线程的 Windows 窗体应用程序 这些线程彼此之间的交互为零 第一个线程运行时不会干扰第二个线程 它们之间没有同步 因为不需要发生这种情况 第一个线程处理应用程序的 UI 更改颜色和标签 并运行一个计时器来捕获一些
  • 不知从何而来的用户断点

    我正在调试 MS VC 6 0 中的一些代码 出于某种原因 在我试图删除一些动态分配的内存的某个时刻 它崩溃了 我收到一个弹出消息框 上面写着 从代码中调用的用户断点等等 然后弹出 反汇编 窗口 我看 memory address int
  • 使用 jstl 进行调试 - 具体如何进行?

    我一直试图理解BalusC的回答 https stackoverflow com questions 3177733 how to avoid java code in jsp files关于可调试性 我仍然无法弄清楚 jstl 标签如何比
  • 如何检查 MVC cshtml 页面中的调试模式

    如何检查 MVC cshtml 页面中的调试模式 此代码在 cshtml 页面中不起作用 bool isRelease false if DEBUG isRelease false else isRelease true endif if
  • Eclipse 在单独的窗口中打开代码

    我正在 eclipse 中编程 在两个显示器设置上运行 在其中一台显示器上 我只获得了项目资源管理器和编辑器作为自定义透视图 而在另一台显示器上 我获得了其他工具 例如控制台 调试 任务 变量 断点等 例如 当我单击任务视图中的任务时 这将
  • 莫名其妙的 MissingFieldException

    在下面的代码片段中 它会抛出 MissingFieldException Field Not Found DepthBidLevels 异常 但仅在下面描述的某些奇怪情况下才会抛出 for int i DomSize 1 i gt 0 i
  • 跟踪所有 ObjC 方法调用?

    有时 当查看别人的大型 Objective C 程序时 很难知道从哪里开始 在这种情况下 我认为记录对每个非 Apple 方法的每次调用会很有帮助 有没有办法做到这一点 基本上 在某个中心位置进行一项更改 并记录调用的每个方法 最好仅限于非
  • Android SQLite 从代码中转储数据库以进行错误报告

    我正在为我的一个 Android 程序开发一种诊断工具 本质上 如果用户遇到问题 我想做一些类似 SQLite 的事情dump 参考 http www sqlite org sqlite html http www sqlite org s
  • 为什么 console.log() polyfill 不使用 Function.apply()?

    我一直在看一些流行的console log 包装 填充 保罗 爱尔兰的 http paulirish com 2009 log a lightweight wrapper for consolelog 本阿尔曼的 http benalman
  • 深入了解崩溃的根源

    我遇到了以下崩溃 我无法按需复制 但确实发生了足以引起用户注意的事件 该崩溃报告也已被符号化 怎么查原因啊 这似乎只发生在 4 1 上 Exception Type SIGSEGV Exception Codes SEGV ACCERR a

随机推荐

  • 如何更新 Google Colab 的 Python 版本?

    Google Colab 上运行的当前默认 Python 版本是 3 7 但我的笔记本需要 3 9 才能工作 如何将 Google Colab 的 Python 版本更新到 3 9 或更高版本 在 Google Colab 中 您拥有基于
  • 从上传的文件中获取文件扩展名

    这里我的要求是上传文件并将其存储在磁盘中 我将其存储在磁盘中没有问题 但获取文件的扩展名 问题是当我单击上传并处理文件以存储在磁盘中时 它会保存为具有以下名称的临时文件 tmp multipartBody623808107601419981
  • 需要验证数据合约和数据成员

    我正在使用 Web api 构建一个 API 当接收发布的值并将它们绑定到我的模型时 我收到一个似乎不合适的错误 我有一个简单的模型 如下所示 public class Client ScaffoldColumn false JsonIgn
  • ZF2:如何使用 InArray 验证器来验证多选表单元素?

    我有一个 ZF2 表单 出于特定原因 我必须禁用本机验证器 然后 当以编程方式向表单添加元素时 我还添加了验证器 其中元素之一是多选数组 form gt add array type gt Zend Form Element Select
  • 正则表达式 BBCode 到 HTML

    我将 BBcode 转换器编写为 html 转换器应跳过未封闭的标签 我考虑了两种选择 1 使用一个正则表达式调用一次匹配所有标签 例如 Regex re2 new Regex b i u quote strike MatchCollect
  • 使用 appcompat-v7 更改操作栏中的后退箭头图像

    我有一个Actionbar from android support v7 widget Toolbar 它有带有向后箭头动画的汉堡包图像 我想将向后箭头从 我怎样才能在 Android Studio 中做到这一点 我在某处读到要更改它se
  • (接口)检测到类型服务的循环依赖

    我有2个接口 public interface IPedidoService UsuarioDrogueria CUsuarioDrogueria string userId int idDrogueria List
  • @SessionScoped CDI bean 注入时是一个不同的实例

    我的配置是一个 bean 我可以在代码中任何需要的地方注入它 然而 当注入时 我得到了一个新的 bean 实例 而不是会话中的实例 My bean Named SessionScoped public class TestModel imp
  • Django添加/删除表单无需多次提交

    我想要 Django 中的一个简单的编辑 删除表单 我希望它看起来像 Item A edit remove Item B edit remove Item C edit remove 我想编辑和删除 按钮 作为超链接 或者至少看起来像它们
  • 从自引用数据库表填充递归数据结构

    这个问题指的是http www matthidinger com archive 2009 02 08 asp net mvc recursive treeview helper aspx 假设我有一个如下所示的表 source matth
  • Docker-compose 未将环境变量传递给容器

    我正在使用 Docker 17 04 0 ce 使用 docker compose 1 12 0 构建 4845c56 在 Ubuntu 16 04 2 LTS 上构建 b31ff33 我只想传递一个环境变量并从在容器中运行的脚本中显示它
  • Docker 与 Vagrant

    据我了解 每个 Docker 镜像都基于基础图像 例如 Ubuntu 如果我想隔离任何进程 我应该部署 ubuntu docker 基础镜像 这里与 Vagrant 的区别在哪里 并在安装到 ubuntu 映像上后创建必要的子映像 那么 如
  • Heroku + Node(解析服务器)+ nginx 不工作

    我知道有一个类似的问题 但这个问题更具体 因为我有一个nginx服务器设置但是location参数没有任何影响 这是我的nginx conf erb daemon off Heroku dynos have at least 4 cores
  • SEHException .net 难题

    谁能解释为什么下面的代码会抛出错误 通过将 1 值转换为十进制 1M 更改运算符重载以接受 int 或不使用可为 null 的对象 可以轻松修复此问题 我注意到仅在 VS2008 中不会在 VS2010 中抛出该错误 class Progr
  • Microsoft.ExceptionMessageBox 没有被“找到”

    我有一个通过 clickOnce 部署的 winform 解决方案 有一个主项目 然后是一个名为psWinForms 该项目有一个参考Microsoft ExceptionMessageBox我在自定义错误报告中使用的 I have psW
  • 反转数组字符串中与 Javascript 中标点符号匹配的单词

    如何反转该字符串中的单词 包括标点符号 String prototype reverse function return this split reverse join var str This is fun hopefully str r
  • Flutter 项目 - XCode 构建失败

    这几天我一直在处理很多问题 我在pod文件中更新了需要更新的地方 我尝试了太多的方法来修复我的错误 我尝试删除我的 podfile 更新我的 podfile 我尝试 pod 更新 Firebase Firestore 然后我尝试用这种方法来
  • 如何从 Windows 10 UWP 应用连接到 SQL Server 数据库

    我正在尝试从通用 Windows 应用程序连接到本地 MS SQL 数据库 我正在使用 UWP 制作 LOB 应用程序 以支持桌面 平板电脑和移动设备使用 当尝试连接到本地 内联网 SQL Server 数据库时 我习惯于使用sql连接连接
  • scala 编译错误

    我是scala的新手 我最近开始使用 netbeans 编写 scala 程序 我已经安装了 scala 版本 2 11 0 400 及其 netbeans 插件 当我尝试编译我的 scala 代码时 package scalaapplic
  • 如何修改 Fedora 软件包并修复错误

    我有一个来自 Fedora 的老游戏 位于一个名为 6 的包中 它有一个错误 我想添加一些简单的功能 我在这里询问了该过程的一部分 参见如何处理源 RPM 中的构建依赖关系 得到了一些答案 发现学习曲线对于我的老大脑来说实在是太难了 文档往