构建 Arch Linux 软件包时出现“Arming ConditionNeedsUpdate”错误

构建 Arch Linux 软件包时出现“Arming ConditionNeedsUpdate”错误

我正在尝试为某些图标主题构建 Arch Linux 包,所以我使用了这个 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,我应该更改什么来修复此错误

答案1

这不是错误消息,而是其中之一吃豆人的钩子

它是在 systemd 的更新中引入的,本质上是由伦纳特在这里:

添加了新条件 ConditionNeedsUpdate=。通过这种机制,可以根据 /usr 是否比 /etc 或 /var 新来限制服务的执行。这个想法是,在升级时需要添加到引导过程中的各种服务都可以利用这一点来不延迟正常引导的引导,而是在 /usr 自上次引导以来已更新的情况下根据需要运行。这是基于 /usr 的 mtime 时间戳来实现的:如果操作系统已更新,打包软件应接触该目录,从而通知所有实例可能需要升级 /etc 和 /var。

本质上,该钩子确保那些需要在启动时运行的服务(如果/usr已更新)将运行。您可以阅读更多内容man 5 systemd.unit

相关内容