Makefile Overwrites Existing rssh.conf
Brought to you by:
xystrus
From: Ken S. <ke...@by...> - 2006-08-11 13:22:32
|
I just upgraded to version 2.3.2 and after some troubleshooting found that my modified version of rssh.conf had been overwritten with the distribution's rssh.conf file. I've never needed to modify, or write, a makefile, so I'm not sure how to properly patch it, but here is what I found. Here is the subroutine from 'Makefile': 425 install-dist_sysconfDATA: $(dist_sysconf_DATA) 426 @$(NORMAL_INSTALL) 427 test -z "$(sysconfdir)" || $(mkdir_p) "$(DESTDIR)$ (sysconfdir)" 428 @list='$(dist_sysconf_DATA)'; for p in $$list; do \ 429 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ 430 f=$(am__strip_dir) \ 431 echo " $(dist_sysconfDATA_INSTALL) '$$d$$p' '$ (DESTDIR)$(sysconfdir)/$$f'"; \ 432 $(dist_sysconfDATA_INSTALL) "$$d$$p" "$(DESTDIR)$ (sysconfdir)/$$f"; \ 433 done If I understand it correctly, this would copy the distribution version of rssh.conf whenever it is installed, or in my case, upgraded. If there was a test after line 427 that tested for the existence of rssh.conf and just continued without installing it if it found one I think that would fix it. Perhaps something like: 425 install-dist_sysconfDATA: $(dist_sysconf_DATA) 426 @$(NORMAL_INSTALL) 427 test -z "$(sysconfdir)" || $(mkdir_p) "$(DESTDIR)$ (sysconfdir)" if [ ! -z "$(sysconfdir)/$(dist_sysconf_DATA)" ] then 428 @list='$(dist_sysconf_DATA)'; for p in $$list; do \ 429 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ 430 f=$(am__strip_dir) \ 431 echo " $(dist_sysconfDATA_INSTALL) '$$d$$p' '$ (DESTDIR)$(sysconfdir)/$$f'"; \ 432 $(dist_sysconfDATA_INSTALL) "$$d$$p" "$(DESTDIR)$ (sysconfdir)/$$f"; \ 433 done else echo "Found existing rssh.conf, skipping." fi I haven't verified if the above works, or if this even how you would do it in a makefile, but I think the logic works. If it is this easy, it seems kind of pointless to do a patch for 5 lines of code. Does this look right? How hard would it be to get this in to the next release? Thanks! -- Ken Schweigert, Network Administrator Byte Productions, LLC |