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 34abe5b9db3df12ab2e5d81ed6aa23fc680313d2..d3c089b5d12288f4957f8c58bc82cad48e437e7a 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)