こちらのページで基本的な使用方法をまとめた rpm コマンドや yum コマンドで扱う RPM パッケージファイルをビルドして作成するためのコマンドとしては rpmbuild が有名ですが、ここではより簡単な方法として、こちらのページで使用方法を把握した Gradle のタスクとして作成する方法をまとめます。
以下の設定を行うことで空の RPM パッケージを作成できます。最新のバージョンは The Central Repository で検索して確認してください。
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.netflix.nebula:gradle-ospackage-plugin:4.4.0'
}
}
apply plugin: 'nebula.ospackage'
buildRpm {
release '1'
}
ビルドの実行
./gradlew buildRpm
中身が空であることを確認
$ rpm -qpl ./build/distributions/rpmdemo-unspecified-1.noarch.rpm
(contains no files)
指定したディレクトリ以下のファイルを RPM に含めるだけのシンプルなサンプルです。
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.netflix.nebula:gradle-ospackage-plugin:4.4.0'
}
}
apply plugin: 'nebula.ospackage'
buildRpm {
packageName 'myrpm'
version '1.2.3'
release '1'
arch 'X86_64'
os 'LINUX'
into '/usr/local/myrpm'
from('src/main/resources') {
into 'conf'
}
}
ビルドの実行
mkdir -p src/main/resources
touch src/main/resources/sample.txt
./gradlew buildRpm
中身が存在することを確認
$ rpm -qpl build/distributions/myrpm-1.2.3-1.x86_64.rpm
/usr/local/myrpm
/usr/local/myrpm/conf
/usr/local/myrpm/conf/sample.txt