[Mailman-Developers] mm_cfg.py overwrite when upgrading intentional?

Harald Meland Harald.Meland@usit.uio.no
21 Oct 1998 21:35:50 +0200


From Mailman/Makefile.in:

    44  MODULES=        *.py
  [...]
    64  install: 
    65          for f in $(MODULES); \
    66          do \
    67              $(INSTALL) -m $(FILEMODE) $$f $(PACKAGEDIR); \
    68          done

This means that Mailman/mm_cfg.py is copied over the existing
mm_cfg.py when upgrading.  I don't think this is intentional, as the
next lines in Makefile.in are:

    69          $(INSTALL) -m $(FILEMODE) mm_cfg.py $(PACKAGEDIR)/mm_cfg.py.dist
    70          if test ! -f $(PACKAGEDIR)/mm_cfg.py; \
    71          then \
    72              $(INSTALL) -m $(FILEMODE) mm_cfg.py $(PACKAGEDIR); \
    73          fi

The bug is giving me problems because I'm not compiling Mailman on the
same host that's running it, and therefore each upgrade messes up my
DEFAULT_HOST_NAME and DEFAULT_URL.

The below patch (well, hack really :) should fix this.  A cleaner fix
would be to rename the distributed "mm_cfg.py.in" into
"mm_cfg.py.dist.in" (and thereby avoid the overwriting due to the name
not ending in ".py"), but I'll leave the implementation of that to
someone else.

--- Mailman/Makefile.in.orig	Wed Oct 21 21:26:16 1998
+++ Mailman/Makefile.in	Wed Oct 21 21:26:37 1998
@@ -64,7 +64,7 @@
 install: 
 	for f in $(MODULES); \
 	do \
-	    $(INSTALL) -m $(FILEMODE) $$f $(PACKAGEDIR); \
+	    test "$$f" = mm_cfg.py || $(INSTALL) -m $(FILEMODE) $$f $(PACKAGEDIR); \
 	done
 	$(INSTALL) -m $(FILEMODE) mm_cfg.py $(PACKAGEDIR)/mm_cfg.py.dist
 	if test ! -f $(PACKAGEDIR)/mm_cfg.py; \

-- 
Harald