rpm erro de assinatura rpmMkTemp falhou

3

Estou com esse erro ao assinar um arquivo rpm. Eu não tenho muito para continuar, como você pode ver, e o Google parece ter ficado vazio. Estou perplexo!

Alguém sabe o que causa isso? Eu estou supondo que está tentando fazer algum tipo de arquivo temporário ... em algum lugar.

$: rpm -D "_gpg_name rpmbuilder" --addsign outputs/sllop-0.0.6-1.x86_64.rpm --verbose --debug
Enter pass phrase: 
Pass phrase is good.
outputs/sllop-0.0.6-1.x86_64.rpm:
D: Expected size:        51827 = lead(96)+sigs(180)+pad(4)+data(51547)
D:   Actual size:        51827
D: GPG sig size: 72
D: Got 72 bytes of GPG sig
D: GPG sig size: 72
D: Got 72 bytes of GPG sig
error: rpmMkTemp failed
    
por Sirex 24.10.2014 / 07:48

1 resposta

3

Auto respondendo este caso, qualquer outra pessoa fica confusa com isso.

Essa mensagem de erro acabou sendo um pouco enganosa. Na verdade, era um problema de permissões (como esperado), mas não em nenhum dos diretórios tmp relacionados às variáveis de rpm.

Usando strace com

strace -p 'ps --no-headers -fC rpmsign | awk '{print $2}'' -e trace=open,close

Strace mostrou que depois de todo o trabalho dentro do diretório tmp (/ var / tmp neste caso), ele tentou fazer uma versão alterada do rpm no mesmo diretório que o rpm, antes (suponho) movê-lo no lugar. Esse rpm era o "temporário" a que se referia.

Então, depois de tudo isso, esse usuário simplesmente não tinha permissões de gravação para onde o rpm estava localizado ao ser assinado.

Ugh.

    
por 27.10.2014 / 20:41