This service is available only in Japanese-language.
【環境】
DISTRO_VERSION = "4.14-sumo"
logrotate :3.13.0-r0
【質問内容】
logrotate.conf を変更したものをオーバーライドしたいのですが、logrotate のように
当該レシピのサブディレクトリに オーバーライドさせたいファイル(logrotate.conf)が
存在しない場合、どのような方法で実現出来ますでしょうか?
・デフォルトレイヤー(poky)
└── poky
├── meta
│ ├── recipes-extended
│ │ ├── logrotate
│ │ │ ├── logrotate
│ │ │ │ ├── act-as-mv-when-rotate.patch
│ │ │ │ ├── disable-check-different-filesystems.patch
│ │ │ │ └── update-the-manual.patch
│ │ │ └── logrotate_3.13.0.bb
レシピファイル
http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-extende...
do_install(){
:
install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf
:
}
・ユーザーカスタマイズレイヤー
下記のようにしてみましたが、上手くいきませんでした。
├── recipes-extended
│ └── logrotate
│ ├── logrotate
│ │ └── logrotate.conf ・・・ <ユーザー定義>
│ └── logrotate_%.bbappend
以上、宜しくお願い致します。
yakuhito
2019/11/21 (木) 15:03
ユーザー定義のlogrotate.conf はbuildディレクトリにコピーされていますか
バージョンを特定しないbbappendを使用する場合は以下のようにFILEを検索するPATHを追加指定する必要があります。
FILESEXTRAPATHS_prepend := "$(THISDIR)/${PN};"
SRC_URI += "file://logrotate.conf"
追加したファイルをインストールする際は、以下のようにdo_install タスクに追加する記述で
ユーザー定義で上書きされます。
do_install_append(){
install -p -m 644 ${WORKDIR}/logrotate.conf ${D}{sysconfdir}/logrotate.conf
}
asb
2019/11/21 (木) 16:27
do_install()を追加することで実現出来ました
迅速なご回答ありがとうございました。
do_install()を追加することで実現出来ました。
※些細なことですが、以下の二か所を訂正いたしましたので記載させていただきます。
(1)
FILESEXTRAPATHS_prepend := "$(THISDIR)/${PN};"
↓
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
(2)
install -p -m 644 ${WORKDIR}/logrotate.conf ${D}{sysconfdir}/logrotate.conf
↓
install -p -m 644 ${WORKDIR}/logrotate.conf ${D}${sysconfdir}/logrotate.conf