RPMビルド環境を作るスクリプト

たまにRPMをビルドしたくなることがあるのですが、
毎回一般ユーザー用のビルド環境を用意するのは面倒だなと思っていました。


今日はちょっとしたスクリプトを書いてみたので公開します。


実行したユーザーのホームディレクトリにRPMビルド用の環境を作り、「.rpmmacros」ファイルを作成します。
※「.rpmmacros」ファイルが既に存在する場合は上書きしますので使う場合はご注意下さい。

#!/bin/sh

# Author  : think-t
# Blog    : http://d.hatena.ne.jp/think-t

RPM_DIR=$HOME/RPM
mkdir -p $RPM_DIR/BUILD
mkdir -p $RPM_DIR/RPMS
mkdir -p $RPM_DIR/SOURCES
mkdir -p $RPM_DIR/SPECS
mkdir -p $RPM_DIR/SRPMS

cat << EOF > $HOME/.rpmmacros
%_topdir      $RPM_DIR
%_builddir    %{_topdir}/BUILD
%_rpmdir      %{_topdir}/RPMS
%_sourcedir   %{_topdir}/SOURCES
%_specdir     %{_topdir}/SPECS
%_srcrpmdir   %{_topdir}/SRPMS
EOF

exit 0

実行結果


実行するとこんな感じで、ディレクトリと「.rpmmacros」が作成されます。

$ ls -la /home/myuser/RPM/
total 32
drwxrwxr-x 7 myuser myuser 4096 Jun 25 13:31 .
drwx------ 3 myuser myuser 4096 Jun 25 13:31 ..
drwxrwxr-x 2 myuser myuser 4096 Jun 25 13:31 BUILD
drwxrwxr-x 2 myuser myuser 4096 Jun 25 13:31 RPMS
drwxrwxr-x 2 myuser myuser 4096 Jun 25 13:31 SOURCES
drwxrwxr-x 2 myuser myuser 4096 Jun 25 13:31 SPECS
drwxrwxr-x 2 myuser myuser 4096 Jun 25 13:31 SRPMS

$ cat /home/myuser/.rpmmacros 
%_topdir      /home/myuser/RPM
%_builddir    %{_topdir}/BUILD
%_rpmdir      %{_topdir}/RPMS
%_sourcedir   %{_topdir}/SOURCES
%_specdir     %{_topdir}/SPECS
%_srcrpmdir   %{_topdir}/SRPMS

ちょっとだけ、楽になりました。
今日はこんなところで。