[MacPorts] #24786: Mailman: preserve configuration file after uninstall (was: Mailman -- preserve configuration file after uninstall)

MacPorts noreply at macports.org
Sat May 15 05:05:27 PDT 2010


#24786: Mailman: preserve configuration file after uninstall
---------------------------------+------------------------------------------
 Reporter:  mfisher@…            |       Owner:  macports-tickets@…                   
     Type:  enhancement          |      Status:  new                                  
 Priority:  Normal               |   Milestone:                                       
Component:  ports                |     Version:  1.8.2                                
 Keywords:                       |        Port:  mailman                              
---------------------------------+------------------------------------------
Changes (by ryandesign@…):

  * port:  mail/mailman => mailman


Old description:

> This is a hack/enhancement based on
> [http://trac.macports.org/wiki/PortfileRecipes#configfiles] that causes
> the mm_cfg.py file to be preserved (the Mailman installer creates it from
> mm_cfg.py.dist) after port uninstall.
>
> {{{
> --- Portfile    2010-05-04 16:00:20.000000000 -0400
> +++ mailman-portfile    2010-05-04 15:59:59.000000000 -0400
> @@ -91,8 +109,7 @@
>         reinplace "s|@DATADIR@|${datadir}|"
> ${destroot}${confdir}/${name}.conf
>         reinplace "s|@SHAREDIR@|${sharedir}|"
> ${destroot}${confdir}/${name}.conf
>         reinplace "s|@CONFDIR@|${confdir}|" \
> -               ${destroot}${sharedir}/Mailman/mm_cfg.py.dist \
> -               ${destroot}${sharedir}/Mailman/mm_cfg.py
> +               ${destroot}${sharedir}/Mailman/mm_cfg.py.dist
>
>         # Install documentation files
>         xinstall -d -m 0755 ${destroot}${docdir}
> @@ -103,6 +120,12 @@
>         # Check installation under destroot
>         system "cd ${destroot}${sharedir} && \
>                 DESTDIR=${destroot} PYTHONPATH=.:./pythonlib
> ./bin/check_perms"
> +
> +       # Don't pull forward the system-built mm_cfg.py because it'd
> +       # be uninstalled, even if modified by the user.
> +       if {[file exists ${destroot}${sharedir}/Mailman/mm_cfg.py]} {
> +               delete ${destroot}${sharedir}/Mailman/mm_cfg.py
> +       }
>  }
>
>  post-install {
> @@ -141,3 +164,12 @@
>         ui_msg
> "------------------------------------------------------------"
>  }
>
> +post-activate {
> +       # Check for an existing mm_cfg.py and copy the "dist" version
> +       # into place (like the real build does) if there isn't one.
> +       if {![file exists ${sharedir}/Mailman/mm_cfg.py]} {
> +               file copy ${sharedir}/Mailman/mm_cfg.py.dist \
> +                       ${sharedir}/Mailman/mm_cfg.py
> +       }
> +}
>
> }}}

New description:

 This is a hack/enhancement based on [wiki:PortfileRecipes#configfiles
 PortfileRecipes] that causes the mm_cfg.py file to be preserved (the
 Mailman installer creates it from mm_cfg.py.dist) after port uninstall.

 {{{
 --- Portfile    2010-05-04 16:00:20.000000000 -0400
 +++ mailman-portfile    2010-05-04 15:59:59.000000000 -0400
 @@ -91,8 +109,7 @@
         reinplace "s|@DATADIR@|${datadir}|"
 ${destroot}${confdir}/${name}.conf
         reinplace "s|@SHAREDIR@|${sharedir}|"
 ${destroot}${confdir}/${name}.conf
         reinplace "s|@CONFDIR@|${confdir}|" \
 -               ${destroot}${sharedir}/Mailman/mm_cfg.py.dist \
 -               ${destroot}${sharedir}/Mailman/mm_cfg.py
 +               ${destroot}${sharedir}/Mailman/mm_cfg.py.dist

         # Install documentation files
         xinstall -d -m 0755 ${destroot}${docdir}
 @@ -103,6 +120,12 @@
         # Check installation under destroot
         system "cd ${destroot}${sharedir} && \
                 DESTDIR=${destroot} PYTHONPATH=.:./pythonlib
 ./bin/check_perms"
 +
 +       # Don't pull forward the system-built mm_cfg.py because it'd
 +       # be uninstalled, even if modified by the user.
 +       if {[file exists ${destroot}${sharedir}/Mailman/mm_cfg.py]} {
 +               delete ${destroot}${sharedir}/Mailman/mm_cfg.py
 +       }
  }

  post-install {
 @@ -141,3 +164,12 @@
         ui_msg
 "------------------------------------------------------------"
  }

 +post-activate {
 +       # Check for an existing mm_cfg.py and copy the "dist" version
 +       # into place (like the real build does) if there isn't one.
 +       if {![file exists ${sharedir}/Mailman/mm_cfg.py]} {
 +               file copy ${sharedir}/Mailman/mm_cfg.py.dist \
 +                       ${sharedir}/Mailman/mm_cfg.py
 +       }
 +}

 }}}

--

-- 
Ticket URL: <http://trac.macports.org/ticket/24786#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list