Skip to contentSkip to conversation

mesa3d-headers: fix logic to generate the dri.pc file

PATCH New Thomas Petazzoni 3 participants 4 messages Aug 10, 2018 – Aug 24, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mesa3d-headers: fix logic to generate the dri.pc file

As noted by Arnout in [1], the logic in mesa3d-headers.mk generates a bogus dri.pc file, which looks like this:

prefix=/usr
exec_prefix=/usr
libdir=/lib
includedir=/include
dridriverdir=/dri

Indeed, the ${...} are expanded as shell variables when the sed command is executed, while the intention is that those ${...} should go in the .pc file. By escaping those using $${...}, we get the expected .pc file:

prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
dridriverdir=${libdir}/dri

This was detected by the not yet committed check-package improvement from Ricardo that detects bogus ${...} usage to reference make variables.

[1] http://lists.busybox.net/pipermail/buildroot/2018-July/225402.html

---
 package/mesa3d-headers/mesa3d-headers.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
package/mesa3d-headers/mesa3d-headers.mk +3 -3
index de8a9dc7cf..fc88f0ed60 100644
@@ -35,9 +35,9 @@ ifeq ($(BR2_PACKAGE_XORG7),y)
 # contains -i.
 define MESA3D_HEADERS_BUILD_DRI_PC
 	sed -e 's:@\(exec_\)\?prefix@:/usr:' \
-	    -e 's:@libdir@:${exec_prefix}/lib:' \
-	    -e 's:@includedir@:${prefix}/include:' \
-	    -e 's:@DRI_DRIVER_INSTALL_DIR@:${libdir}/dri:' \
+	    -e 's:@libdir@:$${exec_prefix}/lib:' \
+	    -e 's:@includedir@:$${prefix}/include:' \
+	    -e 's:@DRI_DRIVER_INSTALL_DIR@:$${libdir}/dri:' \
 	    -e 's:@VERSION@:$(MESA3D_HEADERS_VERSION):' \
 	    -e 's:@DRI_PC_REQ_PRIV@::' \
 	    $(@D)/src/mesa/drivers/dri/dri.pc.in \
Signature · 1 line
2.14.4
#1 lore raw

PATCH 1/1 mesa3d-headers: fix logic to generate the dri.pc file

Thomas, All,

On 2018-08-10 23:46 +0200, Thomas Petazzoni spake thusly:

Quoted 20 lines

As noted by Arnout in [1], the logic in mesa3d-headers.mk generates a bogus dri.pc file, which looks like this:

prefix=/usr
exec_prefix=/usr
libdir=/lib
includedir=/include
dridriverdir=/dri

Indeed, the ${...} are expanded as shell variables when the sed command is executed, while the intention is that those ${...} should go in the .pc file. By escaping those using $${...}, we get the expected .pc file:

prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
dridriverdir=${libdir}/dri

Quoted 7 lines

This was detected by the not yet committed check-package improvement from Ricardo that detects bogus ${...} usage to reference make variables.

[1] http://lists.busybox.net/pipermail/buildroot/2018-July/225402.html

Regards,
Yann E. MORIN.

Quoted 24 lines
---
 package/mesa3d-headers/mesa3d-headers.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
package/mesa3d-headers/mesa3d-headers.mk +3 -3
index de8a9dc7cf..fc88f0ed60 100644
@@ -35,9 +35,9 @@ ifeq ($(BR2_PACKAGE_XORG7),y)
 # contains -i.
 define MESA3D_HEADERS_BUILD_DRI_PC
 	sed -e 's:@\(exec_\)\?prefix@:/usr:' \
-	    -e 's:@libdir@:${exec_prefix}/lib:' \
-	    -e 's:@includedir@:${prefix}/include:' \
-	    -e 's:@DRI_DRIVER_INSTALL_DIR@:${libdir}/dri:' \
+	    -e 's:@libdir@:$${exec_prefix}/lib:' \
+	    -e 's:@includedir@:$${prefix}/include:' \
+	    -e 's:@DRI_DRIVER_INSTALL_DIR@:$${libdir}/dri:' \
 	    -e 's:@VERSION@:$(MESA3D_HEADERS_VERSION):' \
 	    -e 's:@DRI_PC_REQ_PRIV@::' \
 	    $(@D)/src/mesa/drivers/dri/dri.pc.in \
Signature · 1 line
2.14.4
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
author Applied
#2 lore raw

PATCH 1/1 mesa3d-headers: fix logic to generate the dri.pc file

In reply to Thomas Petazzoni

Hello,

Quoted 24 lines · Thomas Petazzoni

As noted by Arnout in [1], the logic in mesa3d-headers.mk generates a bogus dri.pc file, which looks like this:

prefix=/usr
exec_prefix=/usr
libdir=/lib
includedir=/include
dridriverdir=/dri

Indeed, the ${...} are expanded as shell variables when the sed command is executed, while the intention is that those ${...} should go in the .pc file. By escaping those using $${...}, we get the expected .pc file:

prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
dridriverdir=${libdir}/dri

This was detected by the not yet committed check-package improvement from Ricardo that detects bogus ${...} usage to reference make variables.

Quoted 6 lines

[1] http://lists.busybox.net/pipermail/buildroot/2018-July/225402.html

---
 package/mesa3d-headers/mesa3d-headers.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#3 lore raw

PATCH 1/1 mesa3d-headers: fix logic to generate the dri.pc file

In reply to Thomas Petazzoni
Quoted 22 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

As noted by Arnout in [1], the logic in mesa3d-headers.mk generates a bogus dri.pc file, which looks like this:

prefix=/usr
exec_prefix=/usr
libdir=/lib
includedir=/include
dridriverdir=/dri

Indeed, the ${...} are expanded as shell variables when the sed command is executed, while the intention is that those ${...} should go in the .pc file. By escaping those using $${...}, we get the expected .pc file:

prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
dridriverdir=${libdir}/dri

Quoted 7 lines

This was detected by the not yet committed check-package improvement from Ricardo that detects bogus ${...} usage to reference make variables.

[1] http://lists.busybox.net/pipermail/buildroot/2018-July/225402.html

Committed to 2018.02.x and 2018.05.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard