rpm - RPM:未找到 rpmbuild 文件
问题描述
我正在尝试为我的 tar.gz 创建一个非常简单的 RPM。这是我的文件:
.
├── BUILD
├── RPMS
├── SOURCES
│ └── bpf-10_24_2018.tar.gz
├── SPECS
│ └── bpf.spec
└── SRPMS
这是我的 bpf.spec:
# This is a spec file for BPF samples
%define _topdir %(pwd)
%define name bpf
%define release 0
%define version 10_24_2018
%define buildroot %{_topdir}/%{name}-%{version}-root
BuildRoot: %{buildroot}
Summary: BPF samples
License: -
Name: %{name}
Version: %{version}
Release: %{release}
Source: %{name}-%{version}.tar.gz
Prefix: /usr
Group: Verification/Tools
%description
The BPF samples test basic xdp functionality.
%prep
%setup -q
基本上我已经编译了我需要的所有东西并将它放在 tar.gz 中,现在我想为它构建 RPM。但我一直失败。在我的 tar.gz 中,我有 3 个文件,我希望在以后安装 RPM 后可以执行这些文件(xdp1、xdp2 和 xdp_redirect,都已经是可执行文件),它们都存在于 tar.gz 中。我知道我在规范中遗漏了一些东西,但不确定是什么。我不需要构建或安装任何东西,所以......
解决方案
您需要填写安装和文件部分;我无法准确提供它们,因为这取决于 tar.gz 文件中的内容,但它看起来像这样:
%install
install -D -m 0755 path/in/tar/to/binary $RPM_BUILD_ROOT/usr/bin/my-binary
%files
/usr/bin/my-binary
在install
您将所有文件置于正确结构的部分中$RPM_BUILD_ROOT
;然后在该files
部分中指定哪些文件有效地包含在最终 rpm 中。
推荐阅读
- python - Scrapy:无法绑定:24:打开的文件太多
- java - 如何在不再次读取相同元素的情况下以随机顺序获取数组元素?
- stm32f4 - STM32F4 的 OpenOCD SWO 输出和缓冲
- c# - 为什么 HashSet.Contains 后跟 HashSet.Add 允许重复?
- excel - 合并许多 xlsx 文件的最简单方法是什么?
- node.js - Ngrok:带有自定义域的“找不到隧道”
- java - 多对多关系设计是否正确
- kubernetes - 有多少执行者在 Kubernetes 中部署了气流
- python - 计算熊猫数据框中的回报的最佳方法是什么?
- python - 如何使用“DATE”类型将 pandas 数据框推送到 bigquery?