建立工作環境

  1. 安裝工作套件
    [root@dywH ~]# yum install rpm-build -y
    
  2. 大部份以 CentOS 作為重建目標的 SRPM 亦需要特定的 rpmbuild 建立巨集及輔助腳本,這些都收錄在 redhat-rpm-config 套件內。如果沒安裝此套件,重建的 RPM 檔檔案大小會變大。
    [root@dyH ~]# yum install redhat-rpm-config
    
  3. 增加工作帳號
    [root@dyH ~]# useradd -s /sbin/nologin mockbuild
    
  4. 千萬不要使用 root 的身份來建立 RPM。建立 RPM 檔一定要以沒有特殊權限的用戶進行,以 root 身份來建立 RPM 不但可能會損壞系統,且建立的檔案也比較大。
    [root@dywH ~]# su - dywang
    [dywang@dywH ~]$
    
  5. 建立工作目錄
    [dywang@dywH ~]$ mkdir -p ~/rpmbuild/{RPMS,SOURCES,SPECS,SRPMS}
    [dywang@dywH ~]$ mkdir -p ~/rpmbuild/RPMS/{noarch,x86_64}
    
  6. 建立用戶個人巨集設定
    [dywang@dywH ~]$ echo '%_topdir %(echo $HOME)/rpmbuild' >> ~/.rpmmacros
    
  7. 如果不要建立 debuginfo package,可以在巨集設定中取消,但是沒有將 debuginfo 分離,RPM 套件檔案會比較大。
    [dywang@dywH ~]$ echo '%debug_package %{nil}' >> ~/.rpmmacros
    
  8. 如果巨集設定沒作用,請安裝 redhat-rpm-config 套件,其可設定全域變數,其中_enable_debug_packages 1 啟動 debug package。
    [root@dyw219 ~]# yum install redhat-rpm-config
    [root@dyw219 ~]# grep debug_package /usr/lib/rpm/redhat/macros
    %_enable_debug_packages 1
        %{!?__debug_package:/usr/lib/rpm/redhat/brp-strip %{__strip}} \
        %{?__debug_package:%{__debug_install_post}}\
    %debug_package \
    %global __debug_package 1\
    %install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\