$ rpm --showrc|grep _topdir
-14: _builddir %/build
-14: _rpmdir %/rpms
-14: _sourcedir %/sources
-14: _specdir %/specs
-14: _srcrpmdir %/srpms
-14: _topdir %/redhat
$ rpm --showrc|grep _usrsrc
-14: _topdir %/redhat
-14: _usrsrc %/src
$ rpm --showrc|grep _usr
-14: _defaultdocdir %/share/doc
-14: _topdir %/redhat
-14: _usr /usr
-14: _usrsrc %/src
一般是在/usr/src/redhat目錄下
hello.spec
%define debug_package %
是乙個summary: hello world rpm package
name: hello
version: 0.1
release: 1
source: hello-0.1.tar.gz
license: gpl
packager: amoblin
url:
#buildroot: /usr/src/redhat/build/hello-0.1/ buildroot 代表最終的安裝目錄。換言之,如果 wget 最終安裝在 /usr/local/bin/wget 和 /usr/local 中的其他子目錄下,比如文件安裝在 /usr/local/man 下,那麼在 rpm 構建過程中 buildroot 代表 /usr/local。一旦設定了 buildroot,就可以使用 rpm_build_root 環境變數訪問其值。應該始終在 spec 檔案中設定 buildroot 並檢查該目錄的內容,確認包即將安裝的內容。
%description
this is a software for ****** your life more beautiful!
%prep
%setup -q
#%setup -q
%prep
巨集,用於自動解壓 source 中的特定 tarball 壓縮檔案
%build
g++ -o hello hello.cpp
%install
install -m 755 hello /usr/local/bin/hello
%files
/usr/local/bin/hello
把寫好的spec檔案放入specs資料夾裡
隨便找個地方新建資料夾 hello-0.1,然後編寫hello.cpp。
#includeusing namespace std;
int main()
{ cout<
$ tar zcvf hello-0.1.tar.gz hello-0.1
hello-0.1/
hello-0.1/hello.c
$ mv hello-0.1.tar.gz /usr/src/redhat/sources
在specs目錄下進行打包
驗證下是否成功了
參考:
rpm打包的流程包括以下哪些 RPM打包流程
一 rpm打包工具安裝 yum install rpm build yum install rpmdevtools 二 工具的使用方法 1.建立資料夾 root localhost rpmdev setuptree root localhost cd root root localhost ls a...
修改RPM重新打包
一 安裝軟體包 1.安裝rpmbuild yum install rpm build 2.安裝gcc yum install gcc yum utils 3.配置rpm編譯目錄 vi rpmmacros topdir data rpmbuild 二 建立檔案 1.建立目錄並解壓rpmrebuild檔...
RPM包修訂,重新打包
專案有需求,需要自己重新編譯nginx,新增一些模組,需要生成rpm包,這網上二進位制的nginx rpm包,可以根據該rpm包,修改一下spec檔案,再重新打包即可。具體步驟如下所示 1.安裝相關工具,主要是rpmbuild等相關工具 wget tar zxvf rpmrebuild 2.14.t...