rhel: Fix "make distcheck" failure due to regenerating spec files.
authorBen Pfaff <blp@nicira.com>
Thu, 25 Aug 2011 17:18:47 +0000 (10:18 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 15 Sep 2011 18:19:59 +0000 (11:19 -0700)
We want to regenerate the RPM spec files whenever the version number
changes, hence the dependency on config.status.  But that means that we
try to modify the spec files even when the version number doesn't change,
which cause "make distcheck" to fail because it write-protects the source
directory.  So this commit instead just "touch"es the spec files when
they don't really change, which still works OK with a write-protected
source directory.

rhel/automake.mk

index 34abe5b..d3c089b 100644 (file)
@@ -18,15 +18,16 @@ EXTRA_DIST += \
        rhel/openvswitch.spec.in \
        rhel/usr_share_openvswitch_scripts_sysconfig.template
 
+update_spec = \
+  ($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \
+    < $(srcdir)/rhel/$(@F).in > $(@F).tmp || exit 1; \
+  if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv $(@F).tmp $@; fi
 
 $(srcdir)/rhel/openvswitch-kmod-rhel5.spec: rhel/openvswitch-kmod-rhel5.spec.in $(top_builddir)/config.status
-       ($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \
-               < $(srcdir)/rhel/openvswitch-kmod-rhel5.spec.in > $@
+       $(update_spec)
 
 $(srcdir)/rhel/openvswitch-kmod-rhel6.spec: rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status
-       ($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \
-               < $(srcdir)/rhel/openvswitch-kmod-rhel6.spec.in > $@
+       $(update_spec)
 
 $(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in $(top_builddir)/config.status
-       ($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \
-               < $(srcdir)/rhel/openvswitch.spec.in > $@
+       $(update_spec)