I'm trying to build an Arch Linux package for some icon theme, so I used this PKGBUILD file :

pkgdesc="A flat design icon theme by Hayder Majid"
conflicts=('masalla-icon-theme-git' 'masalla-icon-theme' 'masalla')

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


and the compiling process is work fine, but when i installing it, i got this message :

(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...

so,what i missed in my PKGBUILD file, and what should i change to fix this error


That is not an error message, it is one of pacman's hooks.

It was introduced in an update to systemd, and is essentially explained by Lennart here:

A new condition ConditionNeedsUpdate= has been added. With this mechanism it is possible to conditionalize execution of services depending on whether /usr is newer than /etc or /var. The idea is that various services that need to be added into the boot process on upgrades make use of this to not delay boot-ups on normal boots, but run as necessary should /usr have been update since the last boot. This is implemented based on the mtime timestamp of the /usr: if the OS has been updated the packaging software should touch the directory, thus informing all instances that an upgrade of /etc and /var might be necessary.

In essence, the hook ensures that those services that need to be run on boot if /usr has been updated will be run. You can read more in man 5 systemd.unit

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.