トップ 一覧 置換 検索 ヘルプ RSS ログイン

rpmを作成するの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!make install するものからrpmを作る(checkinstallを使う)
!!!CentOS7でcheckinstallを使う
make install するものからrpmを作る。
https://qiita.com/kiida/items/62a86db073feaa2660da
http://elsur.xyz/checkinstall-to-centos
https://qiita.com/hnakamur/items/55ed1bc496b2e72a5ca6

!!準備
!必要なパッケージ導入
 sudo yum -y install rpmdevtools
 rpmdev-setuptree
 sudo yum -y install make gcc rpm-build gettext git
!checkinstallをインストール
 git clone http://checkinstall.izto.org/checkinstall.git
 cd checkinstall
ファイルを修正
 vi installwatch/Makefile 
14行目付近の
 LIBDIR=$(PREFIX)/lib
を
 LIBDIR=$(PREFIX)/lib64
に修正する。
 vi checkinstallrc-dist 
120行目付近の
 EXCLUDE=""
を
 EXCLUDE="/sys"
に修正する。
コンパイル、インストール
 make
 sudo make install

!!rpmを作成する
Makefileがあるパスに移動して
 sudo /usr/local/sbin/checkinstall
rpmに /sys が入ってしまう場合は
 sudo /usr/local/sbin/checkinstall --exclude=/sys
で /sys を除外する。

!!エラーになる
バージョンによっては、
 不明なタグ: Recommends
や
 不明なタグ: Suggests
などがでる。
とりあえず、動かすだけなら.specファイルにRecommendsやSuggetsを書くのをやめる。
checkinstall.inの2431行付近にある
 Recommends: $RECOMMENDS
 Suggests:  $SUGGESTS
を削除して、checkinstallをコンパイルし直す。


!!!fpm
checkinstallでうまくいかない場合はfpmを使う
!!準備
 yum -y install gcc ruby ruby-devel ruby-libs rubygems rpm-build
 sudo gem install fpm
!!rpmを作成する
対象のソフトを
 make install DESTDIR=/path/to/destdir 
でパスを指定してインストールする。
 cd /path/to/destdir/
 fpm -s dir -t rpm -n hogehoge -v 0.0.1 -C /path/to/destdir -p hogehoge-0.0.1.rpm .

{{category2 OS,Linux}}