Linux发行版从源码制作一个RPM包

  1. 准备构建环境
    sudo yum install rpm-build rpmdevtools gcc
    接着,设置您的RPM构建环境:
    rpmdev-setuptree
    这将在您的主目录下创建一个rpmbuild目录,其中包含BUILD, RPMS, SOURCES, SPECS, 和 SRPMS等子目录。
  2. 将wget-1.11.4.tar.gz源码包移动到~/rpmbuild/SOURCES目录下。
    如果有必要的补丁,也应该放在这个目录下。
  3. 创建RPM规范文件
    在~/rpmbuild/SPECS目录下创建一个名为wget.spec的规范文件。这个文件定义了如何构建RPM包。
    下面是一个简化的例子(请根据需要调整)
%define _unpackaged_files_terminate_build 0
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}

Name: wget
Version: 1.11.4
Release: 1%{?dist}
Summary: A utility for retrieving files using the HTTP or FTP protocols
License: GPL
Group: Applications/Internet
URL: https://www.gnu.org/software/wget/
Source0: %{name}-%{version}.tar.gz

BuildRequires: gcc
Requires: glibc

%description
GNU Wget is a free software package for retrieving files using HTTP, HTTPS, FTP and FTPS the most widely-used Internet protocols.


%prep
%setup -q

%build
./configure
make %{?_smp_mflags}

%install
make install DESTDIR=%{buildroot}

%files
%defattr(-,root,root,-)
/usr/local/bin/wget

%changelog
* Tue Apr 10 2024 Your Name <your.email@example.com> - 1.11.4-1
- First build of wget

注意,这只是一个示例,您可能需要根据wget的实际构建依赖和文件布局进行调整

  1. 构建RPM包
    在~/rpmbuild/SPECS目录下,使用rpmbuild命令开始构建过程
    rpmbuild -ba wget.spec
    这个命令将会开始构建过程,包括编译和打包wget。如果一切顺利,构建的二进制RPM包将会放在~/rpmbuild/RPMS目录下,你可以在其他相同架构的机器上使用rpm命令安装它:
    rpm -ivh ~/rpmbuild/RPMS/x86_64/wget-1.11.4-1.x86_64.rpm
    参考链接:
  • . https://www.dbarj.com.br/en/2013/05/oracle-validated-rpm-red-hat-el5-2/ # rpmdevtools install in redhat 5
  • https://stackoverflow.com/questions/1879734/rpm-build-error # /usr/src/redhat/BUILD/RPMS find: invalid predicate `’ error: Bad exit status from
  • https://stackoverflow.com/questions/13401727/rpmbuild-installed-but-unpackaged-files-source # rpmbuild Installed (but unpackaged) files source
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值