<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12861">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">install: keep existing / modified etc/osmocom/*.cfg files<br><br>make install: If $prefix/etc/osmocom/*.cfg already exists, do not overwrite it.<br><br>make uninstall: If $prefix/etc/osmocom/*.cfg is modified, do not remove it.<br><br>Related: OS#3794<br>Change-Id: I95c9b5dc6117b3dd7a095b34437f5030a141c93b<br>---<br>M configure.ac<br>M doc/examples/Makefile.am<br>2 files changed, 43 insertions(+), 15 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/61/12861/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/configure.ac b/configure.ac</span><br><span>index 15976e6..6243d12 100644</span><br><span>--- a/configure.ac</span><br><span>+++ b/configure.ac</span><br><span>@@ -186,6 +186,11 @@</span><br><span>       [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])</span><br><span> AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"])</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+AC_CHECK_PROG(DIFF_PROGRAM,diff,yes)</span><br><span style="color: hsl(120, 100%, 40%);">+if test "x$DIFF_PROGRAM" != "xyes" ; then</span><br><span style="color: hsl(120, 100%, 40%);">+   AC_MSG_ERROR([Need 'diff' for 'make uninstall' to not remove modified cfg files])</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> AC_MSG_RESULT([CFLAGS="$CFLAGS"])</span><br><span> AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"])</span><br><span> </span><br><span>diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am</span><br><span>index da504f4..3c185c9 100644</span><br><span>--- a/doc/examples/Makefile.am</span><br><span>+++ b/doc/examples/Makefile.am</span><br><span>@@ -1,30 +1,53 @@</span><br><span style="color: hsl(0, 100%, 40%);">-OSMOCONF_FILES = \</span><br><span style="color: hsl(0, 100%, 40%);">-        osmo-mgw/osmo-mgw.cfg</span><br><span style="color: hsl(120, 100%, 40%);">+ETC_OSMOCOM_CFG = \</span><br><span style="color: hsl(120, 100%, 40%);">+    $(srcdir)/osmo-mgw/osmo-mgw.cfg \</span><br><span style="color: hsl(120, 100%, 40%);">+     $(NULL)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-osmoconfdir = $(sysconfdir)/osmocom</span><br><span style="color: hsl(0, 100%, 40%);">-osmoconf_DATA = $(OSMOCONF_FILES)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-EXTRA_DIST = $(OSMOCONF_FILES)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-CFG_FILES = find $(srcdir) -name '*.cfg*' | sed -e 's,^$(srcdir),,'</span><br><span style="color: hsl(120, 100%, 40%);">+ALL_CFG = find $(srcdir) -name '*.cfg*' | sed -e 's,^$(srcdir),,'</span><br><span> </span><br><span> dist-hook:</span><br><span style="color: hsl(0, 100%, 40%);">-   for f in $$($(CFG_FILES)); do \</span><br><span style="color: hsl(120, 100%, 40%);">+       for f in $$($(ALL_CFG)); do \</span><br><span>                j="$(distdir)/$$f" && \</span><br><span>            mkdir -p "$$(dirname $$j)" && \</span><br><span>            $(INSTALL_DATA) $(srcdir)/$$f $$j; \</span><br><span>         done</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-install-data-hook:</span><br><span style="color: hsl(0, 100%, 40%);">-      for f in $$($(CFG_FILES)); do \</span><br><span style="color: hsl(120, 100%, 40%);">+install_etc_osmocom_cfg:</span><br><span style="color: hsl(120, 100%, 40%);">+     for f in $(ETC_OSMOCOM_CFG); do \</span><br><span style="color: hsl(120, 100%, 40%);">+             bn="$$(basename "$$f")"; \</span><br><span style="color: hsl(120, 100%, 40%);">+                dst="$(DESTDIR)$(sysconfdir)/osmocom/$$bn"; \</span><br><span style="color: hsl(120, 100%, 40%);">+               test -e "$$dst" && echo "Already installed, not overwriting: $$dst" && continue || true; \</span><br><span style="color: hsl(120, 100%, 40%);">+                echo "Installing new cfg: $$dst" ; \</span><br><span style="color: hsl(120, 100%, 40%);">+                mkdir -p "$$(dirname "$$dst")" && \</span><br><span style="color: hsl(120, 100%, 40%);">+               $(INSTALL_DATA) "$$f" "$$dst"; \</span><br><span style="color: hsl(120, 100%, 40%);">+  done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# uninstall only the $prefix/etc/osmocom cfg files that are not modified</span><br><span style="color: hsl(120, 100%, 40%);">+uninstall_etc_osmocom_cfg:</span><br><span style="color: hsl(120, 100%, 40%);">+  for f in $(ETC_OSMOCOM_CFG); do \</span><br><span style="color: hsl(120, 100%, 40%);">+             bn="$$(basename "$$f")"; \</span><br><span style="color: hsl(120, 100%, 40%);">+                dst="$(DESTDIR)$(sysconfdir)/osmocom/$$bn"; \</span><br><span style="color: hsl(120, 100%, 40%);">+               diff -q "$$f" "$$dst" || continue; \</span><br><span style="color: hsl(120, 100%, 40%);">+              $(RM) "$$dst"; \</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+install_share_doc_cfg_examples:</span><br><span style="color: hsl(120, 100%, 40%);">+       for f in $$($(ALL_CFG)); do \</span><br><span>                j="$(DESTDIR)$(docdir)/examples/$$f" && \</span><br><span>          mkdir -p "$$(dirname $$j)" && \</span><br><span>            $(INSTALL_DATA) $(srcdir)/$$f $$j; \</span><br><span>         done</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+uninstall_share_doc_cfg_examples:</span><br><span style="color: hsl(120, 100%, 40%);">+   for f in $$($(ALL_CFG)); do \</span><br><span style="color: hsl(120, 100%, 40%);">+        j="$(DESTDIR)$(docdir)/examples/$$f" && \</span><br><span style="color: hsl(120, 100%, 40%);">+           $(RM) $$j; \</span><br><span style="color: hsl(120, 100%, 40%);">+   done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+install-data-hook: \</span><br><span style="color: hsl(120, 100%, 40%);">+  install_etc_osmocom_cfg \</span><br><span style="color: hsl(120, 100%, 40%);">+     install_share_doc_cfg_examples</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> uninstall-hook:</span><br><span>  @$(PRE_UNINSTALL)</span><br><span style="color: hsl(0, 100%, 40%);">-       for f in $$($(CFG_FILES)); do \</span><br><span style="color: hsl(0, 100%, 40%);">-         j="$(DESTDIR)$(docdir)/examples/$$f" && \</span><br><span style="color: hsl(0, 100%, 40%);">-             $(RM) $$j; \</span><br><span style="color: hsl(0, 100%, 40%);">-    done</span><br><span style="color: hsl(120, 100%, 40%);">+  $(MAKE) uninstall_etc_osmocom_cfg</span><br><span style="color: hsl(120, 100%, 40%);">+     $(MAKE) uninstall_share_doc_cfg_examples</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12861">change 12861</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12861"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-mgw </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I95c9b5dc6117b3dd7a095b34437f5030a141c93b </div>
<div style="display:none"> Gerrit-Change-Number: 12861 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>