“Armando ConditionNeedsUpdate” erro ao construir o pacote Arch Linux

3

Estou tentando criar um pacote do Arch Linux para algum tema de ícones, então usei este arquivo 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

}

e o processo de compilação funciona bem, mas ao instalá-lo, recebi esta mensagem:

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

Então, o que eu perdi no meu arquivo PKGBUILD , e o que devo alterar para corrigir esse erro

    
por Hayder Ctee 02.01.2018 / 00:08

1 resposta

1

Isso não é uma mensagem de erro, é um dos ganchos do pacman .

Ele foi introduzido em uma atualização do systemd e é essencialmente explicado por Lennart aqui :

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.

Em essência, o gancho garante que os serviços que precisam ser executados na inicialização, se /usr tiver sido atualizado, serão executados. Você pode ler mais em man 5 systemd.unit

    
por 11.01.2018 / 23:00