Fedora

如何使用 rpmbuild 從二進制 tarball 建構 rpm 包?

  • June 1, 2021

Internet 上的資源都是關於如何從原始碼建構 rpm 文件的。

但是我已經編譯好了軟體的二進制壓縮包。但是我不想直接解壓到/,因為很難維護。如何從二進制 tarball 建構 rpm 包。

有一個著名的軟體提供了一個tarball中的二進制包,它具有清晰的樹結構,與根目錄中的樹結構相同。

等等。

許多軟體提供商發布通用壓縮包以使軟體在不同的 Linux 發行版中通用。

有沒有必要的方法?

UPD感謝@msuchy 糾正了我。

假設您已經在主目錄中創建了一個“rpmbuild”目錄框架:SPECS、BUILD、SOURCES… 將 tarball 複製到 SOURCE 目錄並編寫簡單的規範文件,跳過以下部分:%prep、%build。

小例子:

壓縮包:

[yurij@centos7 SOURCES]$ ls -lah
total 4.0K
drwxrwxr-x. 2 user user  33 Mar 12 12:22 .
drwxrwxr-x. 8 user user  89 Dec  8 15:54 ..
-rw-rw-r--  1 user user 231 Mar 12 12:14 binarius-0.1.tar.gz
[yurij@centos7 SOURCES]$ tar -tvf binarius-0.1.tar.gz
drwxrwxr-x user/user       0 2018-03-12 12:11 ./binarius-0.1/
drwxrwxr-x user/user       0 2018-03-12 12:11 ./binarius-0.1/usr/
drwxrwxr-x user/user       0 2018-03-12 12:11 ./binarius-0.1/usr/local/
drwxrwxr-x user/user       0 2018-03-12 12:12 ./binarius-0.1/usr/local/bin/
-rwxr-xr-x user/user      30 2018-03-12 12:12 ./binarius-0.1/usr/local/bin/binarius

規格文件:

Name:       binarius
Version:    0.1
Release:    1%{?dist}
Summary:    Binarius package

Group:      System Environment/Base
License:    GPLv3+
Source0:    binarius-0.1.tar.gz

%description
Testing package.

%prep
%setup -q #unpack tarball

%build

%install
cp -rfa * %{buildroot}


%files
/*

引用自:https://unix.stackexchange.com/questions/429511