On Thu, May 8, 2014 at 6:43 AM, Gianluca Cecchi <gianluca.cecchi@gmail.com> wrote:
Hello,
sorry if this question is more for rpm devs...
I know that in a spec file the definition

%confg ......./file_name1
will cause update of an edited file_name1, saving the on disk one into .rpmsave before overwriting

while
%confg(noreplace) ......./file_name2
will retain the edited file_name2 on disk and save the provided new config file into .rpmnew

The question is:
can I see if a config file was defined in its spec with or without (noreplace) if I have not the spec file and the .src.rpm file, but I have only the final binary rpm?

I think this is what you're looking for:

$ rpm -q --scripts httpd
preinstall scriptlet (using /bin/sh):
# Add the "apache" user
/usr/sbin/useradd -c "Apache" -u 48 \
-s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null || :
postinstall scriptlet (using /bin/sh):

if [ $1 -eq 1 ] ; then 
        # Initial installation 
        /usr/bin/systemctl preset httpd.service htcacheclean.service >/dev/null 2>&1 || : 
fi
preuninstall scriptlet (using /bin/sh):

if [ $1 -eq 0 ] ; then 
        # Package removal, not upgrade 
        /usr/bin/systemctl --no-reload disable httpd.service htcacheclean.service > /dev/null 2>&1 || : 
        /usr/bin/systemctl stop httpd.service htcacheclean.service > /dev/null 2>&1 || : 
fi
postuninstall scriptlet (using /bin/sh):

/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : 


# Trigger for conversion from SysV, per guidelines at:
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
posttrans scriptlet (using /bin/sh):
test -f /etc/sysconfig/httpd-disable-posttrans || \
  /bin/systemctl try-restart httpd.service htcacheclean.service >/dev/null 2>&1 || :
---end---

Add a pipe to grep for config and you should get what you need.

Richard