[kde-freebsd] devel/qmake4: gdb_dwarf_index.prf contains gsed specific syntax

Thierry Thomas thierry at pompo.net
Thu Aug 8 15:15:45 UTC 2013


>Submitter-Id:	current-users
>Originator:	Thierry Thomas
>Organization:	Kabbale Eros
>Confidential:	no 
>Synopsis:	devel/qmake4: gdb_dwarf_index.prf contains gsed specific syntax
>Severity:	non-critical
>Priority:	medium
>Category:	ports
>Class:		sw-bug
>Release:	FreeBSD 9.2-BETA2 i386
>Environment:
System: FreeBSD graf.pompo.net 9.2-BETA2 FreeBSD 9.2-BETA2 #0 r253984: Tue Aug 6 19:35:52 CEST 2013 thierry at graf.pompo.net:/usr/obj/usr/src/sys/GRAF130324 i386


	
>Description:
	qt4-qmake-4.8.4 installs the file
	$PREFIX/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf
	which contains the following lines:

    QMAKE_GDB_INDEX += \
      test \$\$(gdb --version | sed -e \'s,[^0-9]\\+\\([0-9]\\)\\.\\([0-9]\\).*,\\1\\2,;q\') -gt 72 && \
      gdb --nx --batch --quiet -ex \'set confirm off\' -ex \"save gdb-index $$QMAKE_GDB_DIR\" -ex quit \'$(TARGET)\'  && \
      test -f $(TARGET).gdb-index && \
      $$QMAKE_OBJCOPY --add-section \'.gdb_index=$(TARGET).gdb-index\' --set-section-flags \'.gdb_index=readonly\' \'$(TARGET)\' \'$
(TARGET)\' && \
      $$QMAKE_DEL_FILE $(TARGET).gdb-index || true

	Unfortunately, the regex is specific to gsed, and when the
	corresponding scriptlet

	test $(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72

	is run, it fails with the following error:

	test: GNU: unexpected operator

>How-To-Repeat:
	Test the line:
	test $(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72

	Then compare to:
	test $(gdb --version | gsed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72

>Fix:
	Either replace sed by gsed, adding the dependency, or
	translate the regex to our sed.

	Yet better, since the base GDB is older, this part might be
	ommitted?



More information about the kde-freebsd mailing list