Skip to contentSkip to conversation

package/netsurf: use TMP_PREFIX inside the build directory

PATCH New Thomas Petazzoni 4 participants 6 messages Dec 17, 2018 – Feb 4, 2019

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/netsurf: use TMP_PREFIX inside the build directory

The netsurf build system creates a stamp file inside TMP_PREFIX to know if the build was done, and if the stamp file exists, it doesn't do any build. Therefore, having this stamp file in STAGING_DIR prevents from rebuilding netsurf, even after removing its entire build
directory: the stamp file exists in STAGING_DIR, and netsurf doesn't build anything, causing the installation to fail.

We fix this by putting this temporary directory inside the netsurf build directory.

---
 package/netsurf/netsurf.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/netsurf/netsurf.mk +1 -1
index e5a251b9c1..e4ed4fd1a7 100644
@@ -78,7 +78,7 @@ NETSURF_MAKE_OPTS = \
 	BUILD_CC="$(HOSTCC)" \
 	CC="$(TARGET_CC)" \
 	AR="$(TARGET_AR)" \
-	TMP_PREFIX=$(STAGING_DIR)/usr \
+	TMP_PREFIX=$(@D)/tmpusr \
 	NETSURF_CONFIG="$(NETSURF_CONFIG)" \
 	PREFIX=/usr
 
Signature · 1 line
2.19.2
#1 lore raw

PATCH 1/1 package/netsurf: use TMP_PREFIX inside the build directory

Quoted 22 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

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

The netsurf build system creates a stamp file inside TMP_PREFIX to know if the build was done, and if the stamp file exists, it doesn't do any build. Therefore, having this stamp file in STAGING_DIR prevents from rebuilding netsurf, even after removing its entire build
directory: the stamp file exists in STAGING_DIR, and netsurf doesn't build anything, causing the installation to fail.

We fix this by putting this temporary directory inside the netsurf build directory.

---
 package/netsurf/netsurf.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/netsurf/netsurf.mk +0 -0
index e5a251b9c1..e4ed4fd1a7 100644

package/netsurf/netsurf.mk NETSURF_MAKE_OPTS = \ · line 81

Quoted 5 lines
package/netsurf/netsurf.mk +1 -1
@@ -78,7 +78,7 @@ NETSURF_MAKE_OPTS = \
 	BUILD_CC="$(HOSTCC)" \
 	CC="$(TARGET_CC)" \
 	AR="$(TARGET_AR)" \
-	TMP_PREFIX=$(STAGING_DIR)/usr \
+	TMP_PREFIX=$(@D)/tmpusr \

Why do we have to set it at all? It looks like it defaults to a directory under the build dir as well?

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

PATCH 1/1 package/netsurf: use TMP_PREFIX inside the build directory

Le lun. 17 d?c. 2018 ? 23:48, Peter Korsgaard <[email protected]> a ?crit :

Quoted 17 lines
Quoted 16 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

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

The netsurf build system creates a stamp file inside TMP_PREFIX to know if the build was done, and if the stamp file exists, it doesn't do any build. Therefore, having this stamp file in STAGING_DIR prevents from rebuilding netsurf, even after removing its entire build
directory: the stamp file exists in STAGING_DIR, and netsurf doesn't build anything, causing the installation to fail.

We fix this by putting this temporary directory inside the netsurf build directory.

---
 package/netsurf/netsurf.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 15 lines

package/netsurf/netsurf.mk NETSURF_MAKE_OPTS = \ · line 81

Quoted 10 lines
package/netsurf/netsurf.mk +1 -1
index e5a251b9c1..e4ed4fd1a7 100644
@@ -78,7 +78,7 @@ NETSURF_MAKE_OPTS = \
     BUILD_CC="$(HOSTCC)" \
     CC="$(TARGET_CC)" \
     AR="$(TARGET_AR)" \
-    TMP_PREFIX=$(STAGING_DIR)/usr \
+    TMP_PREFIX=$(@D)/tmpusr \

Why do we have to set it at all? It looks like it defaults to a directory under the build dir as well?

without TMP_PREFIX=$(STAGING_DIR)/usr, a fresh build fails with :
COMPILE: src/stylesheet.c
In file included from src/stylesheet.c:12:
src/stylesheet.h:14:10: fatal error: libwapcaplet/libwapcaplet.h: No such file or directory

 #include <libwapcaplet/libwapcaplet.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated. /home/dev/checkout/BR/build/lime_netsurf_fb/build/netsurf-3.8/inst-framebuffer/share/netsurf-buildsystem/makefiles/Makefile.top:584:
recipe for target
'build-x86_64-linux-gnu-arm-linux-gnueabihf-release-lib-static/src_stylesheet.o'
failed
make[2]: ***
[build-x86_64-linux-gnu-arm-linux-gnueabihf-release-lib-static/src_stylesheet.o]
Error 1
make[2]: Leaving directory
'/home/dev/checkout/BR/build/lime_netsurf_fb/build/netsurf-3.8/libcss'
Makefile:119: recipe for target '/home/dev/checkout/BR/build/lime_netsurf_fb/build/netsurf-3.8/inst-framebuffer/build-stamp'
failed
make[1]: ***
[/home/dev/checkout/BR/build/lime_netsurf_fb/build/netsurf-3.8/inst-framebuffer/build-stamp]
Error 2
make[1]: Leaving directory
'/home/dev/checkout/BR/build/lime_netsurf_fb/build/netsurf-3.8'
package/pkg-generic.mk:229: recipe for target '/home/dev/checkout/BR/build/lime_netsurf_fb/build/netsurf-3.8/.stamp_built'
failed
make: ***
[/home/dev/checkout/BR/build/lime_netsurf_fb/build/netsurf-3.8/.stamp_built]
Error 2

Fran?ois

Quoted 7 lines

--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181218/47380e71/attachment.html>

#3 lore raw

PATCH 1/1 package/netsurf: use TMP_PREFIX inside the build directory

In reply to Peter Korsgaard

Hello,

Quoted 17 lines · Peter Korsgaard
Quoted 16 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

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

The netsurf build system creates a stamp file inside TMP_PREFIX to know if the build was done, and if the stamp file exists, it doesn't do any build. Therefore, having this stamp file in STAGING_DIR prevents from rebuilding netsurf, even after removing its entire build
directory: the stamp file exists in STAGING_DIR, and netsurf doesn't build anything, causing the installation to fail.

We fix this by putting this temporary directory inside the netsurf build directory.

---
 package/netsurf/netsurf.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)  
Quoted 13 lines

package/netsurf/netsurf.mk NETSURF_MAKE_OPTS = \ · line 81

Quoted 10 lines
package/netsurf/netsurf.mk +1 -1
index e5a251b9c1..e4ed4fd1a7 100644
@@ -78,7 +78,7 @@ NETSURF_MAKE_OPTS = \
 	BUILD_CC="$(HOSTCC)" \
 	CC="$(TARGET_CC)" \
 	AR="$(TARGET_AR)" \
-	TMP_PREFIX=$(STAGING_DIR)/usr \
+	TMP_PREFIX=$(@D)/tmpusr \  

Why do we have to set it at all? It looks like it defaults to a directory under the build dir as well?

Indeed, it does. So it's obviously simpler to drop it. I'll respin the patch. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#4 lore raw

PATCH 1/1 package/netsurf: use TMP_PREFIX inside the build directory

Quoted 14 lines · Thomas Petazzoni

Hello,

Quoted 11 lines · Peter Korsgaard
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

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

The netsurf build system creates a stamp file inside TMP_PREFIX to know if the build was done, and if the stamp file exists, it doesn't do any build. Therefore, having this stamp file in STAGING_DIR prevents from rebuilding netsurf, even after removing its entire build
directory: the stamp file exists in STAGING_DIR, and netsurf doesn't build anything, causing the installation to fail.

We fix this by putting this temporary directory inside the netsurf build directory.

As observed by Francois, this makes the build fail the first time. Adding an
mkdir solves the issue, so I've added that and applied to master, thanks.

Probably a better solution would be an upstreamable patch that does it, but oh
well.

Regards,
Arnout

Quoted 17 lines
Quoted 17 lines
Quoted 16 lines
---
 package/netsurf/netsurf.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)  
package/netsurf/netsurf.mk +1 -1
index e5a251b9c1..e4ed4fd1a7 100644
@@ -78,7 +78,7 @@ NETSURF_MAKE_OPTS = \
 	BUILD_CC="$(HOSTCC)" \
 	CC="$(TARGET_CC)" \
 	AR="$(TARGET_AR)" \
-	TMP_PREFIX=$(STAGING_DIR)/usr \
+	TMP_PREFIX=$(@D)/tmpusr \  
Quoted 5 lines
Quoted 2 lines

Why do we have to set it at all? It looks like it defaults to a directory under the build dir as well?

Indeed, it does. So it's obviously simpler to drop it. I'll respin the patch. Thanks!

As

#5 lore raw

PATCH 1/1 package/netsurf: use TMP_PREFIX inside the build directory

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 10 lines
Quoted 8 lines
Quoted 5 lines

package/netsurf/netsurf.mk NETSURF_MAKE_OPTS = \ · line 81

Quoted 2 lines
package/netsurf/netsurf.mk +1 -1
-	TMP_PREFIX=$(STAGING_DIR)/usr \
+	TMP_PREFIX=$(@D)/tmpusr \  

Why do we have to set it at all? It looks like it defaults to a directory under the build dir as well?

Indeed, it does. So it's obviously simpler to drop it. I'll respin the patch. Thanks!

As

As?

Signature · 1 line
Bye, Peter Korsgaard