Skip to contentSkip to conversation

sylpheed: Fix includedir

PATCH New Valentine Barshak 2 participants 4 messages Oct 5, 2012 – Oct 7, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sylpheed: Fix includedir

The sylpheed headers are installed to the target directory, creating full staging directory path in the target rootfs, which is wrong.
This happens because the headers are installed to $(DESTDIR)$(includedir), while DESTDIR is set to $(TARGET_DIR) and includedir is $(STAGING_DIR)/usr/include.

Remove $(DESTDIR) from the include paths in the Makefile to have sylpheed install its headers to staging include directory instead.

---
 package/sylpheed/sylpheed-fix-includedir.patch | 89 ++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)
 create mode 100644 package/sylpheed/sylpheed-fix-includedir.patch
package/sylpheed/sylpheed-fix-includedir.patch new file +89 -0
new file mode 100644
index 0000000..3971699
@@ -0,0 +1,89 @@
+The sylpheed headers are installed to the target directory,
+creating full staging directory path in the target rootfs,
+which is wrong.
+This happens because the headers are installed to
+$(DESTDIR)$(includedir), while DESTDIR is set to
+$(TARGET_DIR) and includedir is $(STAGING_DIR)/usr/include.
+
+Remove $(DESTDIR) from the include paths in the Makefile
+to have sylpheed install its headers to staging include
+directory instead.
+
+Signed-off-by: Valentine Barshak <[email protected]>
+
+diff -pruN sylpheed-3.1.0.orig/libsylph/Makefile.in sylpheed-3.1.0/libsylph/Makefile.in
+--- sylpheed-3.1.0.orig/libsylph/Makefile.in	2012-09-25 22:47:21.794759554 +0400
++++ sylpheed-3.1.0/libsylph/Makefile.in	2012-09-25 22:47:39.797760345 +0400
+@@ -502,20 +502,20 @@ uninstall-info-am:
+ libsylph_0includeHEADERS_INSTALL = $(INSTALL_HEADER)
+ install-libsylph_0includeHEADERS: $(libsylph_0include_HEADERS)
+ 	@$(NORMAL_INSTALL)
+-	$(mkinstalldirs) $(DESTDIR)$(libsylph_0includedir)
++	$(mkinstalldirs) $(libsylph_0includedir)
+ 	@list='$(libsylph_0include_HEADERS)'; for p in $$list; do \
+ 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ 	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+-	  echo " $(libsylph_0includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libsylph_0includedir)/$$f"; \
+-	  $(libsylph_0includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libsylph_0includedir)/$$f; \
++	  echo " $(libsylph_0includeHEADERS_INSTALL) $$d$$p $(libsylph_0includedir)/$$f"; \
++	  $(libsylph_0includeHEADERS_INSTALL) $$d$$p $(libsylph_0includedir)/$$f; \
+ 	done
+ 
+ uninstall-libsylph_0includeHEADERS:
+ 	@$(NORMAL_UNINSTALL)
+ 	@list='$(libsylph_0include_HEADERS)'; for p in $$list; do \
+ 	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+-	  echo " rm -f $(DESTDIR)$(libsylph_0includedir)/$$f"; \
+-	  rm -f $(DESTDIR)$(libsylph_0includedir)/$$f; \
++	  echo " rm -f $(libsylph_0includedir)/$$f"; \
++	  rm -f $(libsylph_0includedir)/$$f; \
+ 	done
+ 
+ ETAGS = etags
+@@ -609,7 +609,7 @@ check: $(BUILT_SOURCES)
+ all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+ 
+ installdirs:
+-	$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(libsylph_0includedir)
++	$(mkinstalldirs) $(DESTDIR)$(libdir) $(libsylph_0includedir)
+ install: $(BUILT_SOURCES)
+ 	$(MAKE) $(AM_MAKEFLAGS) install-am
+ install-exec: install-exec-am
+diff -pruN sylpheed-3.1.0.orig/src/Makefile.in sylpheed-3.1.0/src/Makefile.in
+--- sylpheed-3.1.0.orig/src/Makefile.in	2012-09-25 22:47:21.803759364 +0400
++++ sylpheed-3.1.0/src/Makefile.in	2012-09-25 22:47:39.798760332 +0400
+@@ -771,20 +771,20 @@ uninstall-info-am:
+ libsylpheed_plugin_0includeHEADERS_INSTALL = $(INSTALL_HEADER)
+ install-libsylpheed_plugin_0includeHEADERS: $(libsylpheed_plugin_0include_HEADERS)
+ 	@$(NORMAL_INSTALL)
+-	$(mkinstalldirs) $(DESTDIR)$(libsylpheed_plugin_0includedir)
++	$(mkinstalldirs) $(libsylpheed_plugin_0includedir)
+ 	@list='$(libsylpheed_plugin_0include_HEADERS)'; for p in $$list; do \
+ 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ 	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+-	  echo " $(libsylpheed_plugin_0includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libsylpheed_plugin_0includedir)/$$f"; \
+-	  $(libsylpheed_plugin_0includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libsylpheed_plugin_0includedir)/$$f; \
++	  echo " $(libsylpheed_plugin_0includeHEADERS_INSTALL) $$d$$p $(libsylpheed_plugin_0includedir)/$$f"; \
++	  $(libsylpheed_plugin_0includeHEADERS_INSTALL) $$d$$p $(libsylpheed_plugin_0includedir)/$$f; \
+ 	done
+ 
+ uninstall-libsylpheed_plugin_0includeHEADERS:
+ 	@$(NORMAL_UNINSTALL)
+ 	@list='$(libsylpheed_plugin_0include_HEADERS)'; for p in $$list; do \
+ 	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+-	  echo " rm -f $(DESTDIR)$(libsylpheed_plugin_0includedir)/$$f"; \
+-	  rm -f $(DESTDIR)$(libsylpheed_plugin_0includedir)/$$f; \
++	  echo " rm -f $(libsylpheed_plugin_0includedir)/$$f"; \
++	  rm -f $(libsylpheed_plugin_0includedir)/$$f; \
+ 	done
+ 
+ # This directory's subdirectories are mostly independent; you can cd
+@@ -963,7 +963,7 @@ install-binPROGRAMS: install-libLTLIBRAR
+ 
+ installdirs: installdirs-recursive
+ installdirs-am:
+-	$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(libsylpheed_plugin_0includedir)
++	$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(libsylpheed_plugin_0includedir)
+ 
+ install: $(BUILT_SOURCES)
+ 	$(MAKE) $(AM_MAKEFLAGS) install-recursive
Signature · 1 line
1.7.11.4
#1 lore raw

PATCH 1/1 sylpheed: Fix includedir

Quoted 10 lines · Valentine Barshak

The sylpheed headers are installed to the target directory, creating full staging directory path in the target rootfs, which is wrong.
This happens because the headers are installed to $(DESTDIR)$(includedir), while DESTDIR is set to $(TARGET_DIR) and includedir is $(STAGING_DIR)/usr/include.

Remove $(DESTDIR) from the include paths in the Makefile to have sylpheed install its headers to staging include directory instead.

Actually, includedir should be /usr/include instead of
$(STAGING_DIR)/usr/include. Peter set it to $(STAGING_DIR)/usr/include because sylpheed incorrectly adds includedir to its include path. So maybe it's better to patch src/Makefile and remove the --includedir=... from sylpheed.mk.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH 1/1 sylpheed: Fix includedir

Quoted 12 lines · Arnout Vandecappelle
Quoted 10 lines · Valentine Barshak

The sylpheed headers are installed to the target directory, creating full staging directory path in the target rootfs, which is wrong.
This happens because the headers are installed to $(DESTDIR)$(includedir), while DESTDIR is set to $(TARGET_DIR) and includedir is $(STAGING_DIR)/usr/include.

Remove $(DESTDIR) from the include paths in the Makefile to have sylpheed install its headers to staging include directory instead.

Quoted 5 lines

Actually, includedir should be /usr/include instead of
$(STAGING_DIR)/usr/include. Peter set it to $(STAGING_DIR)/usr/include because sylpheed incorrectly adds includedir to its include path. So maybe it's better to patch src/Makefile and remove the --includedir=... from sylpheed.mk.

Right, I'll submit an updated patch that I've prepared and tested on the vmware.

BTW, are there any objections to bump it to version 3.2, which is the latest. It seems to work fine for me (though to be honest I haven't seen any issues with 3.1 either). Version 3.2 needs the same includedir fix as well.

Thanks,
Val.

Quoted 4 lines

Regards,
Arnout

#3 lore raw

PATCH 1/1 sylpheed: Fix includedir

Quoted 2 lines · Valentine Barshak

BTW, are there any objections to bump it to version 3.2, which is the latest. It seems to work fine for me (though to be honest I haven't seen any issues with 3.1 either). Version 3.2 needs the same includedir fix as well.

Not at all. Preferably as separate patches.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F