Quali impostazioni governano rpm -e?


0

Ho un problema che è esattamente l'opposto di RPM non cancellerà le sue directory installate se sono state modificate dopo l'installazione iniziale . Quel poster voleva forzare la cancellazione di file non creati da rpm in una directory creata da rpm, andando contro il comportamento predefinito di rpm.

Il mio problema è esattamente l'opposto. L'ho pubblicato originariamente su Stack Overflow ma voglio chiedergli un po 'diversamente qui. Durante l'installazione / disinstallazione di rpms nel modo tradizionale, usando rpmbuild e specfiles, ottengo il comportamento predefinito, che è quello che voglio. Il mio scenario è che un rpm crea una directory di registro da qualche parte, le applicazioni registrano i file in quella directory e, durante la disinstallazione, la presenza di questi file che non sono stati creati da rpm impedisce la cancellazione di essi o della directory che li contiene.

Ma quando costruisco gli RPM con Nebula rpm plugin per Gradle qualcosa è diverso La directory viene eliminata indipendentemente dal fatto che siano stati aggiunti dei file. Ancora più bizzarramente, l'output di debug di rpm mi dice che NON sta eliminando la directory, anche se in realtà è:

# rpm -evv myapp
...
D: fini      040755  2 (7007, 500)      4096 /usr/local/myapp/logs 
D:    erase rmdir of /usr/local/myapp/logs failed: Directory not empty
...
# ls -al /usr/local/myapp/logs
ls: cannot access /usr/local/myapp/logs: No such file or directory

Poiché eseguo gli stessi comandi rpm con rpms creati dal plugin Gradle e con rpms creati in modo tradizionale, e sulla stessa macchina con la stessa configurazione rpm, SOMETHING deve essere diverso nei file rpm stessi. Ma non ho idea di cosa possa essere. Qualcuno può illuminarmi su questo?


Può essere uno scriptlet. Ce ne sono alcuni? rpm -qp --scripts ./myapp.rpm
msuchy

D'oh, hai ragione! È una ferita autoinflitta. Rendi il tuo commento una risposta e ti inviterò!
Steve Cohen

Risposte:


2

Può essere uno scriptlet. Ce ne sono alcuni?

rpm -qp --scripts ./myapp.rpm 

Ho dimenticato di aver creato il mio plug-in con uno script di postun predefinito che ho copiato da un file spec e mi sembrava ragionevole al momento. Fa un rm -rf. Aveva senso per me, ma ora mi rendo conto che è solo una copertura per la cattiva sceneggiatura e in ogni caso non dovrebbe essere un default!
Steve Cohen
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.