Index: Makefile =================================================================== --- Makefile (révision 73663) +++ Makefile (copie de travail) @@ -133,6 +133,7 @@ # when starting Asterisk ASTCONFPATH=$(ASTETCDIR)/asterisk.conf MODULES_DIR=$(ASTLIBDIR)/modules +ASTROLLBACKDIR=$(ASTLIBDIR)/oldbin AGI_DIR=$(ASTDATADIR)/agi-bin # If you use Apache, you may determine by a grep 'DocumentRoot' of your httpd.conf file @@ -411,6 +412,48 @@ NEWHEADERS=$(notdir $(wildcard include/asterisk/*.h)) OLDHEADERS=$(filter-out $(NEWHEADERS),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h))) +# Brief support for backup/restore of working binaries. +# contact tristan.mahe@gmail.com if you need further enhancements +rollback: + mkdir -p $(DESTDIR)$(ASTROLLBACKDIR)/bin + mkdir -p $(DESTDIR)$(ASTROLLBACKDIR)/modules + mkdir -p $(DESTDIR)$(ASTROLLBACKDIR)/headers + if [ -f $(DESTDIR)$(ASTSBINDIR)/asterisk ]; then \ + echo "BACKUP: " $(DESTDIR)$(ASTSBINDIR)/asterisk $(DESTDIR)$(ASTROLLBACKDIR)/bin/ ; \ + cp -f $(DESTDIR)$(ASTSBINDIR)/asterisk $(DESTDIR)$(ASTROLLBACKDIR)/bin/; \ + fi ; \ + if [ -d $(DESTDIR)$(MODULES_DIR) ]; then \ + echo "BACKUP: " $(DESTDIR)$(MODULES_DIR)/* $(DESTDIR)$(ASTROLLBACKDIR)/modules/; \ + rm -f $(DESTDIR)$(ASTROLLBACKDIR)/modules/*; \ + cp -f $(DESTDIR)$(MODULES_DIR)/* $(DESTDIR)$(ASTROLLBACKDIR)/modules/; \ + fi ; \ + if [ -d $(DESTDIR)$(ASTHEADERDIR) ]; then \ + echo "BACKUP: " $(DESTDIR)$(ASTHEADERDIR) $(DESTDIR)$(ASTROLLBACKDIR)/headers; \ + rm -f $(DESTDIR)$(ASTROLLBACKDIR)/headers/*; \ + cp -f $(DESTDIR)$(ASTHEADERDIR)/* $(DESTDIR)$(ASTROLLBACKDIR)/headers; \ + fi ; \ + if [ -f $(DESTDIR)$(includedir)/asterisk.h ]; then \ + echo "BACKUP: " $(DESTDIR)$(includedir)/asterisk.h $(DESTDIR)$(ASTROLLBACKDIR)/asterisk.h; \ + cp -f $(DESTDIR)$(includedir)/asterisk.h $(DESTDIR)$(ASTROLLBACKDIR); \ + fi ; \ + +rollback-install: + if [ -f $(DESTDIR)$(ASTROLLBACKDIR)/bin/asterisk ]; then $(INSTALL) -m 755 $(DESTDIR)$(ASTROLLBACKDIR)/bin/asterisk $(DESTDIR)$(ASTSBINDIR)/; fi + if [ -d $(DESTDIR)$(ASTROLLBACKDIR)/modules/ ]; then \ + echo "Restoring modules..."; \ + rm -f $(DESTDIR)$(MODULES_DIR)/*; \ + cp -f $(DESTDIR)$(ASTROLLBACKDIR)/modules/* $(DESTDIR)$(MODULES_DIR)/; \ + fi ; \ + if [ -d $(DESTDIR)$(ASTROLLBACKDIR)/headers ]; then \ + echo "Restoring headers... "; \ + rm -rf $(DESTDIR)$(ASTHEADERDIR)/*; \ + cp -f $(DESTDIR)$(ASTROLLBACKDIR)/headers/* $(DESTDIR)$(ASTHEADERDIR); \ + fi ; \ + if [ -f $(DESTDIR)$(ASTROLLBACKDIR)/asterisk.h ]; then \ + echo "Restoring asterisk.h"; \ + cp -f $(DESTDIR)$(ASTROLLBACKDIR)/asterisk.h $(DESTDIR)$(includedir); \ + fi ; \ + bininstall: _all mkdir -p $(DESTDIR)$(MODULES_DIR) mkdir -p $(DESTDIR)$(ASTSBINDIR)