[v3] sylpheed: Fix includedir

Submitted by Valentine Barshak on Oct. 7, 2012, 10:39 p.m.

Details

Message ID 1349649599-12615-1-git-send-email-gvaxon@gmail.com
State Accepted
Commit 0e572092a920592bae08db58e5e701b53cabf46b
Headers show

Commit Message

Valentine Barshak Oct. 7, 2012, 10:39 p.m.
The sylpheed headers are installed to $(DESTDIR)$(includedir),
while DESTDIR is $(TARGET_DIR) and includedir is set to
$(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.
Thus, the full staging directory path is created in the
target root filesystem, which is wrong.

The includedir was set to staging include because sylpheed
incorrectly adds includedir to its include path, and does
not cross-compile with the default includedir set to
/usr/include.

This removes includedir setting and also removes it from
include paths in Makefiles to prevent using host headers
from /usr/include. The same approach is used in the OE.

Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
---
 package/sylpheed/sylpheed.mk | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

Comments

Arnout Vandecappelle Oct. 8, 2012, 7:32 a.m.
On 08/10/12 00:39, Valentine Barshak wrote:
> The sylpheed headers are installed to $(DESTDIR)$(includedir),
> while DESTDIR is $(TARGET_DIR) and includedir is set to
> $(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.
> Thus, the full staging directory path is created in the
> target root filesystem, which is wrong.
>
> The includedir was set to staging include because sylpheed
> incorrectly adds includedir to its include path, and does
> not cross-compile with the default includedir set to
> /usr/include.
>
> This removes includedir setting and also removes it from
> include paths in Makefiles to prevent using host headers
> from /usr/include. The same approach is used in the OE.
>
> Signed-off-by: Valentine Barshak<gvaxon@gmail.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  (untested)


  Regards,
  Arnout
Thomas Petazzoni Oct. 8, 2012, 9:01 a.m.
Dear Valentine Barshak,

On Mon,  8 Oct 2012 02:39:59 +0400, Valentine Barshak wrote:
> The sylpheed headers are installed to $(DESTDIR)$(includedir),
> while DESTDIR is $(TARGET_DIR) and includedir is set to
> $(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.
> Thus, the full staging directory path is created in the
> target root filesystem, which is wrong.
> 
> The includedir was set to staging include because sylpheed
> incorrectly adds includedir to its include path, and does
> not cross-compile with the default includedir set to
> /usr/include.
> 
> This removes includedir setting and also removes it from
> include paths in Makefiles to prevent using host headers
> from /usr/include. The same approach is used in the OE.
> 
> Signed-off-by: Valentine Barshak <gvaxon@gmail.com>

If you have the time, it would be great to submit a patch to the
upstream project in order to fix this problem.

Thanks,

Thomas
Valentine Barshak Oct. 8, 2012, 6:37 p.m.
On 10/08/2012 01:01 PM, Thomas Petazzoni wrote:
> Dear Valentine Barshak,
>
> On Mon,  8 Oct 2012 02:39:59 +0400, Valentine Barshak wrote:
>> The sylpheed headers are installed to $(DESTDIR)$(includedir),
>> while DESTDIR is $(TARGET_DIR) and includedir is set to
>> $(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.
>> Thus, the full staging directory path is created in the
>> target root filesystem, which is wrong.
>>
>> The includedir was set to staging include because sylpheed
>> incorrectly adds includedir to its include path, and does
>> not cross-compile with the default includedir set to
>> /usr/include.
>>
>> This removes includedir setting and also removes it from
>> include paths in Makefiles to prevent using host headers
>> from /usr/include. The same approach is used in the OE.
>>
>> Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
>
> If you have the time, it would be great to submit a patch to the
> upstream project in order to fix this problem.

Done.

Thanks,
Val.

>
> Thanks,
>
> Thomas
>
Peter Korsgaard Oct. 8, 2012, 7:40 p.m.
>>>>> "Valentine" == Valentine Barshak <gvaxon@gmail.com> writes:

 Valentine> The sylpheed headers are installed to $(DESTDIR)$(includedir),
 Valentine> while DESTDIR is $(TARGET_DIR) and includedir is set to
 Valentine> $(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.
 Valentine> Thus, the full staging directory path is created in the
 Valentine> target root filesystem, which is wrong.

Committed, thanks.
Valentine Barshak Oct. 10, 2012, 12:58 p.m.
On 10/08/2012 01:01 PM, Thomas Petazzoni wrote:
> Dear Valentine Barshak,
>
> On Mon,  8 Oct 2012 02:39:59 +0400, Valentine Barshak wrote:
>> The sylpheed headers are installed to $(DESTDIR)$(includedir),
>> while DESTDIR is $(TARGET_DIR) and includedir is set to
>> $(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.
>> Thus, the full staging directory path is created in the
>> target root filesystem, which is wrong.
>>
>> The includedir was set to staging include because sylpheed
>> incorrectly adds includedir to its include path, and does
>> not cross-compile with the default includedir set to
>> /usr/include.
>>
>> This removes includedir setting and also removes it from
>> include paths in Makefiles to prevent using host headers
>> from /usr/include. The same approach is used in the OE.
>>
>> Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
>
> If you have the time, it would be great to submit a patch to the
> upstream project in order to fix this problem.

Applied upstream:
http://www.sraoss.jp/pipermail/sylpheed/2012-October/005424.html

Thanks,
Val.

>
> Thanks,
>
> Thomas
>
Peter Korsgaard Oct. 10, 2012, 2:42 p.m.
>>>>> "Valentine" == Valentine Barshak <gvaxon@gmail.com> writes:

 >> If you have the time, it would be great to submit a patch to the
 >> upstream project in order to fix this problem.

 Valentine> Applied upstream:
 Valentine> http://www.sraoss.jp/pipermail/sylpheed/2012-October/005424.html

Great, thanks!

Patch hide | download patch | download mbox

diff --git a/package/sylpheed/sylpheed.mk b/package/sylpheed/sylpheed.mk
index 451c4de..32c0a82 100644
--- a/package/sylpheed/sylpheed.mk
+++ b/package/sylpheed/sylpheed.mk
@@ -9,11 +9,20 @@  SYLPHEED_VERSION = $(SYLPHEED_VERSION_MAJOR).$(SYLPHEED_VERSION_MINOR)
 SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.bz2
 SYLPHEED_SITE = http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR)
 
-SYLPHEED_CONF_OPT = --disable-gtkspell \
-                    --includedir=$(STAGING_DIR)/usr/include
+SYLPHEED_CONF_OPT = --disable-gtkspell
 
 SYLPHEED_DEPENDENCIES = host-pkg-config libgtk2
 
+# Remove the -I$(includedir) from the Makefiles
+# because it refers to the host /usr/include.
+define SYLPHEED_PRECONFIGURE
+	for i in $$(find $(@D) -name "Makefile*"); do \
+		sed -i 's:-I$$(includedir)::g' $$i; \
+	done
+endef
+
+SYLPHEED_PRE_CONFIGURE_HOOKS += SYLPHEED_PRECONFIGURE
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 SYLPHEED_DEPENDENCIES += openssl
 SYLPHEED_CONF_OPT += --enable-ssl