[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