web-dev-qa-db-ja.com

ArchLinuxパッケージをビルドする際の「ArmingConditionNeedsUpdate」エラー

アイコンテーマ用のArchLinuxパッケージを作成しようとしているので、次のPKGBUILDファイルを使用しました。

pkgname=masalla
pkgver=1.1
pkgrel=1
pkgdesc="A flat design icon theme by Hayder Majid"
Arch=('any')
url="https://github.com/masalla-art/masalla-icon-theme"
license=('GPL3')
makedepends=('git')
conflicts=('masalla-icon-theme-git' 'masalla-icon-theme' 'masalla')
source=("${url}/releases/download/${pkgver}/${pkgname}_${pkgver}.tar.xz")
md5sums=('8c11f0fd04abc6c7f9086f7275d939be')

package() {
  cd $srcdir
  install -d -m 755 ${pkgdir}/usr/share/icons
  cp -r ${srcdir}/${pkgname}_${pkgver}/masalla ${pkgdir}/usr/share/icons
  cp -r ${srcdir}/${pkgname}_${pkgver}/masalla-dark ${pkgdir}/usr/share/icons

}

コンパイルプロセスは正常に機能しますが、インストールすると、次のメッセージが表示されます。

(1/2) Updating icon theme caches...
gtk-update-icon-cache: The generated cache was invalid.
error: command failed to execute correctly
(2/2) Arming ConditionNeedsUpdate...

だから、PKGBUILDファイルで見逃したこと、そしてこのエラーを修正するために何を変更する必要があるか

3
Hayder Ctee

これはエラーメッセージではなく、 パックマンのフック のいずれかです。

これはsystemdのアップデートで導入され、基本的に ここではLennart :によって説明されています。

新しい条件ConditionNeedsUpdate =が追加されました。このメカニズムを使用すると、/ usrが/ etcまたは/ varよりも新しいかどうかに応じて、サービスの実行を条件付きにすることができます。アップグレード時にブートプロセスに追加する必要のあるさまざまなサービスは、これを利用して通常のブートでのブートアップを遅らせませんが、最後のブート以降に/ usrが更新されている場合は必要に応じて実行します。これは、/ usrのmtimeタイムスタンプに基づいて実装されます。OSが更新されている場合、パッケージングソフトウェアはディレクトリにアクセスする必要があるため、すべてのインスタンスに/ etcと/ varのアップグレードが必要になる可能性があることを通知します。

本質的に、フックは、/usrが更新された場合に起動時に実行する必要があるサービスが実行されることを保証します。詳細については、man 5 systemd.unitをご覧ください。

1
jasonwryan