After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 685388 - Confused shell syntax in omf.make
Confused shell syntax in omf.make
Status: RESOLVED FIXED
Product: gnome-common
Classification: Core
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: Gnome Common Maintainer(s)
Gnome Common Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-10-03 13:35 UTC by Colin Watson
Modified: 2012-10-03 17:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add missing semicolons to omf_timestamp rule (815 bytes, patch)
2012-10-03 13:36 UTC, Colin Watson
committed Details | Review

Description Colin Watson 2012-10-03 13:35:07 UTC
While investigating this failure in a test rebuild of Ubuntu, I tracked it down to a bug in gnome-common:

  https://launchpadlibrarian.net/117450436/buildlog_ubuntu-quantal-i386.gbonds_2.0.3-2.1_FAILEDTOBUILD.txt.gz

make[4]: Entering directory `/build/buildd/gbonds-2.0.3/help/C'
for file in gbonds-C.omf; do \
	  absfile=./$file \
	  test -r $file && absfile=$file \
	  scrollkeeper-preinstall /usr/share/gnome/help/gbonds/C/gbonds.xml $absfile $file.out; \
	done; \
	touch omf_timestamp
ERROR: Cannot parse gbonds-C.omf.out.  Is it valid?
make[4]: Leaving directory `/build/buildd/gbonds-2.0.3/help/C'
...
make[6]: Entering directory `/build/buildd/gbonds-2.0.3/help/C'
/bin/bash ../../mkinstalldirs /build/buildd/gbonds-2.0.3/debian/tmp/usr/share/omf/gbonds
mkdir -p -- /build/buildd/gbonds-2.0.3/debian/tmp/usr/share/omf/gbonds
for file in gbonds-C.omf; do \
		absfile=./$file.out; \
		test -r $file.out && absfile=$file.out; \
		/usr/bin/install -c -m 644 $absfile /build/buildd/gbonds-2.0.3/debian/tmp/usr/share/omf/gbonds/$file; \
	done
/usr/bin/install: cannot stat `./gbonds-C.omf.out': No such file or directory
make[6]: *** [install-data-hook-omf] Error 1
make[6]: Leaving directory `/build/buildd/gbonds-2.0.3/help/C'

The problem comes down to two missing semicolons in the omf_timestamp rule, causing its commands to be parsed completely wrongly such that $absfile is empty at the point when the shell expands the scrollkeeper-preinstall command.  I've verified that the attached trivial patch fixes this.
Comment 1 Colin Watson 2012-10-03 13:36:07 UTC
Created attachment 225684 [details] [review]
Add missing semicolons to omf_timestamp rule
Comment 2 Colin Watson 2012-10-03 13:36:59 UTC
This bug was introduced in commit 1b2fb3fb47405908eb53d0db46329a64a1697a59 while fixing bug 315320.
Comment 3 David King 2012-10-03 17:55:02 UTC
Comment on attachment 225684 [details] [review]
Add missing semicolons to omf_timestamp rule

Pushed to master as commit ee12b92340223bb33b9da232132c44cacecc7968, thanks.