Shall sockets are owned by rpm or created/removed by post/preun scriptlet?

Björn Esser bjoern.esser at gmail.com
Tue May 21 07:51:15 UTC 2013


Hello!

I'm currently work on packaging `courier-authlib` (needed for pkg'ing
and running courier MTA).

In maintainer's `generic-all-purpose-and-all-rpm-dists` spec-file there
is this scriptlet inside %install for creating/providing the needed
socket:

/scriptlet/

    mkdir -p %{buildroot}%{_localstatedir}/spool/authdaemon/
    ./authmksock %{buildroot}%{_localstatedir}/spool/authdaemon/socket
    touch %{buildroot}%{_localstatedir}/spool/authdaemon/pid.lock
    touch %{buildroot}%{_localstatedir}/spool/authdaemon/pid
    chmod 0777 %{buildroot}%{_localstatedir}/spool/authdaemon/socket

/endscriptlet/

My question about this is:
Can I take this one-by-one in my fedora-rpm or is it better to provide
the same functionality during %post and %preun?

/spec/

    %install
    ...
    mkdir -p %{buildroot}%{_localstatedir}/spool/authdaemon/
    touch %{buildroot}%{_localstatedir}/spool/authdaemon/pid.lock
    touch %{buildroot}%{_localstatedir}/spool/authdaemon/pid

    %files
    ...
    {_localstatedir}/spool/authdaemon/pid*
    ...

    %post
    ...
    %{_libexecdir}/courier-authlib/authmksock \ 
	%{_localstatedir}/spool/authdaemon/socket
    chmod 0777 %{_localstatedir}/spool/authdaemon/socket

    %preun
    ...
    rm -f %{_localstatedir}/spool/authdaemon/socket

/endspec/

Cheers,
  Björn



More information about the devel mailing list