作成日
2017/07/31最終更新
2019/11/06記事区分
一般公開rpm コマンドや yum コマンドで扱う RPM パッケージファイルをビルドして作成するためのコマンドとしては rpmbuild が有名ですが、ここではより簡単な方法として Gradle のタスクとして作成する方法をまとめます。
空の RPM パッケージを作成
以下の設定を行うことで空の 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 パッケージを作成
指定したディレクトリ以下のファイルを 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
関連記事
- Spring Security フォームログインのサンプルコードSpring フレームワークによる Web アプリケーション開発で、ログイン処理を実装する際は Spring Security が便利です。ここでは特に Spring Boot で Web アプリケーションを開発する場合を対象とし、フォームによる ID/Password ログインを行うためのサンプルコードをまとめます。 公式ドキュメント [Spring Security チュートリアル](http...
- Java配列の宣言方法 (C/C++との違い)Javaの配列 Javaの配列宣言方法はC/C++と似ているようで若干異なる。 初期化しない場合 C/C++の int array[10]; はJavaでは int array[] = new int[10]; となる。同様にC/C++の int array[3][3]; はJavaでは int array[][] = new int[3][3]; となる。 初期化
- PlantUML による UML 図の描き方PlantUML はテキスト形式で表現されたシーケンス図やクラス図といった UML (Unified Modeling Language) 図の情報から画像を生成するためのツールです。簡単な使い方をまとめます。 インストール方法の選択 Atom や Eclipse のプラグインをインストールしてエディタから利用する方法、JAR をダウンロードして Java コマンドで実行する方法、Redmine ...
- Akka HTTP サンプルコード (Scala)Akka アクターを用いて実装された汎用 HTTP フレームワークです。Spray の後継です。コアモジュールである akka-http-core は 2016/2/17 に experimental が外れました。akka-http などのいくつかのサブモジュールは 2016/3/1 現在 experimental のままですが、基本的な
- Kestrel の使用例Kestrel は Message Queue (MQ) の実装のひとつです。一般に MQ はアプリケーション間やプロセス間、スレッド間で非同期に通信するために用いられます。メッセージの送信側は MQ に書き込めば受信側の応答を待たずに次の処理に非同期に進むことができます。Kestrel はわずか 2500 行程の Scala で実装されており JVM で動作します。MQ 自体はメモリ上に存在する...