Patchwork [1/2] opkg: fix header installation for libopkg

login
register
mail settings
Submitter Paul Barker
Date June 17, 2013, 12:22 a.m.
Message ID <1371428523-21377-1-git-send-email-paul@paulbarker.me.uk>
Download mbox | patch
Permalink /patch/51767/
State Accepted
Commit 873689bbabba25e7be5c12317c04519a7bc8d0ef
Headers show

Comments

Paul Barker - June 17, 2013, 12:22 a.m.
When opkg is built outside the source directory, libopkg headers aren't all
installed as the search path for headers only includes the directory that make
is being ran in, not the source directory. So we fix this by adding
$(srcdir)/*.h to the list of header files to install.

Without this patch, "/usr/include/libopkg" will only include the file config.h.
With this patch, other files such as "opkg.h" are present which are needed to
compile software which uses libopkg.

The new patch has also been submitted upstream as a fix to opkg itself.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
---
 .../0001-Fix-libopkg-header-installation.patch     | 32 ++++++++++++++++++++++
 meta/recipes-devtools/opkg/opkg_svn.bb             |  1 +
 2 files changed, 33 insertions(+)
 create mode 100644 meta/recipes-devtools/opkg/opkg/0001-Fix-libopkg-header-installation.patch
Khem Raj - June 17, 2013, 5:24 a.m.
On Sun, Jun 16, 2013 at 5:22 PM, Paul Barker <paul@paulbarker.me.uk> wrote:
> When opkg is built outside the source directory, libopkg headers aren't all
> installed as the search path for headers only includes the directory that make
> is being ran in, not the source directory. So we fix this by adding
> $(srcdir)/*.h to the list of header files to install.

do we need to export all headers like that or just the ones that
contain interfaces e.g. opkg.h

Patch

diff --git a/meta/recipes-devtools/opkg/opkg/0001-Fix-libopkg-header-installation.patch b/meta/recipes-devtools/opkg/opkg/0001-Fix-libopkg-header-installation.patch
new file mode 100644
index 0000000..c27fdb1
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/0001-Fix-libopkg-header-installation.patch
@@ -0,0 +1,32 @@ 
+From 79a40cc4c3b5d6f8a90d9dc0ac5d2c40983764f7 Mon Sep 17 00:00:00 2001
+From: Paul Barker <paul@paulbarker.me.uk>
+Date: Sun, 16 Jun 2013 23:27:27 +0100
+Subject: [PATCH] Fix libopkg header installation.
+
+When opkg is built outside the source directory, libopkg headers aren't all
+installed as the search path for headers only includes the directory that make
+is being ran in, not the source directory. So we fix this by adding
+$(srcdir)/*.h to the list of header files to install.
+
+Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
+Upstream-status: Submitted
+---
+ libopkg/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libopkg/Makefile.am b/libopkg/Makefile.am
+index 043c5c4..b6f4f7b 100644
+--- a/libopkg/Makefile.am
++++ b/libopkg/Makefile.am
+@@ -2,7 +2,7 @@
+ AM_CFLAGS=-Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@ -DLIBDIR=\"@libdir@\" -DOPKGLIBDIR=\"@opkglibdir@\" -DOPKGETCDIR=\"@opkgetcdir@\" -DOPKGLOCKFILE=\"@opkglockfile@\" -DDATADIR=\"@datadir@\" -I$(top_srcdir) $(BIGENDIAN_CFLAGS) $(CURL_CFLAGS) $(GPGME_CFLAGS) $(PATHFINDER_CFLAGS)
+ 
+ libopkg_includedir=$(includedir)/libopkg
+-libopkg_include_HEADERS= *.h
++libopkg_include_HEADERS= *.h $(srcdir)/*.h
+ 
+ 
+ opkg_libcore_sources = \
+-- 
+1.8.3
+
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
index 382bfdd..9f3512d 100644
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg_svn.bb
@@ -2,6 +2,7 @@  require opkg.inc
 
 SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
            file://obsolete_automake_macros.patch \
+	   file://0001-Fix-libopkg-header-installation.patch \
 "
 
 S = "${WORKDIR}/trunk"