¿Qué ajustes rigen rpm -e?

0

Tengo un problema que es exactamente lo contrario de RPM que no borrará sus directorios instalados si se han modificado después de la instalación inicial . Ese póster quería forzar la eliminación de archivos no creados por rpm en un directorio creado por rpm, en contra del comportamiento predeterminado de rpm.

Mi problema es exactamente lo contrario. Lo publiqué originalmente en Stack Overflow pero quiero preguntarlo de manera un poco diferente aquí. Al instalar / desinstalar rpms creados de la manera tradicional, usando rpmbuild y specfiles, obtengo el comportamiento predeterminado, que es lo que quiero. Mi escenario es que un rpm crea un directorio de registro en alguna parte, las aplicaciones registran archivos en ese directorio y, al desinstalarlo, la presencia de estos archivos que no fueron creados por rpm evita la eliminación de ellos o del directorio que los contiene.

Pero cuando construyo los RPM con el complemento Nebula rpm para Gradle, algo es diferente. El directorio simplemente se elimina independientemente de si se le han agregado archivos. Aún más extraño, la salida de depuración de rpm me dice que NO está eliminando el directorio, aunque en realidad es:

# 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

Como estoy ejecutando los mismos comandos rpm con rpms creados por el complemento Gradle y con rpms creados de la manera tradicional, y en la misma máquina con la misma configuración de rpm, ALGO debe ser diferente en los archivos rpm. Pero no tengo idea de lo que podría ser. ¿Alguien puede iluminarme sobre esto?

Steve Cohen
fuente
Puede ser un scriptlet. ¿Hay algunos? rpm -qp --scripts ./myapp.rpm
msuchy
D'Oh, tienes razón! Es una herida autoinfligida. ¡Responde tu comentario y te votaré!
Steve Cohen

Respuestas:

2

Puede ser un scriptlet. ¿Hay algunos?

rpm -qp --scripts ./myapp.rpm 
msuchy
fuente
Olvidé que había construido mi complemento con un script% postun predeterminado que copié de un archivo de especificaciones y me pareció razonable en ese momento. Hace un rm -rf. Tenía sentido para mí, pero ahora me doy cuenta de que es solo un encubrimiento para una mala escritura de guiones y, en cualquier caso, ¡no debería ser un defecto!
Steve Cohen