Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH RFC 0/3] opkg upgrade
@ 2013-11-20 16:41 Paul Barker
  2013-11-20 16:41 ` [PATCH RFC 1/3] opkg: Update to version 0.2.0 Paul Barker
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Paul Barker @ 2013-11-20 16:41 UTC (permalink / raw)
  To: openembedded-core

These three patches upgrade opkg and improve the recipe. I've build tested the
new version but haven't had time to give it any testing on qemu or on real
hardware (opkg-0.2.0 has itself been tested, but not with this recipe in
openembedded).

Of the new PACKAGECONFIG options, curl and ssl-curl cause a dependency loop if
you enable them and pathfinder doesn't work as there isn't currently any recipe
to build pathfinder (may also be called libpathfinder-openssl). Is it best to
leave in these options with a note that you'll need to make some changes if you
want to use them, or to drop them?

Many thanks,

Paul Barker (3):
  opkg: Update to version 0.2.0
  opkg: Add PACKAGECONFIG options
  opkg: Don't use update-alternatives

 meta/recipes-devtools/opkg/opkg.inc      | 28 ++++++++++++++--------------
 meta/recipes-devtools/opkg/opkg_0.2.0.bb | 14 ++++++++++++++
 meta/recipes-devtools/opkg/opkg_svn.bb   | 14 --------------
 3 files changed, 28 insertions(+), 28 deletions(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg_0.2.0.bb
 delete mode 100644 meta/recipes-devtools/opkg/opkg_svn.bb

-- 
1.8.4.2



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH RFC 1/3] opkg: Update to version 0.2.0
  2013-11-20 16:41 [PATCH RFC 0/3] opkg upgrade Paul Barker
@ 2013-11-20 16:41 ` Paul Barker
  2013-11-20 18:33   ` Saul Wold
  2013-11-20 16:41 ` [PATCH RFC 2/3] opkg: Add PACKAGECONFIG options Paul Barker
  2013-11-20 16:41 ` [PATCH RFC 3/3] opkg: Don't use update-alternatives Paul Barker
  2 siblings, 1 reply; 5+ messages in thread
From: Paul Barker @ 2013-11-20 16:41 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
---
 meta/recipes-devtools/opkg/opkg_0.2.0.bb | 14 ++++++++++++++
 meta/recipes-devtools/opkg/opkg_svn.bb   | 14 --------------
 2 files changed, 14 insertions(+), 14 deletions(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg_0.2.0.bb
 delete mode 100644 meta/recipes-devtools/opkg/opkg_svn.bb

diff --git a/meta/recipes-devtools/opkg/opkg_0.2.0.bb b/meta/recipes-devtools/opkg/opkg_0.2.0.bb
new file mode 100644
index 0000000..7affbff
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg_0.2.0.bb
@@ -0,0 +1,14 @@
+require opkg.inc
+
+SRC_URI = "https://opkg.googlecode.com/files/${BPN}-${PV}.tar.gz \
+           file://no-install-recommends.patch \
+           file://add-exclude.patch \
+           file://opkg-configure.service \
+"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+SRC_URI[md5sum] = "e8a6fd34fb2529191fe09dc14c934cc3"
+SRC_URI[sha256sum] = "81b7055eb4c12c5e5652339305c9236cf357890717d4bea063963f3f434d966f"
+
+PR = "${INC_PR}.0"
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
deleted file mode 100644
index cd0485f..0000000
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require opkg.inc
-
-SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
-           file://no-install-recommends.patch \
-           file://add-exclude.patch \
-           file://opkg-configure.service \
-"
-
-S = "${WORKDIR}/trunk"
-
-SRCREV = "653"
-PV = "0.1.8+svnr${SRCPV}"
-
-PR = "${INC_PR}.0"
-- 
1.8.4.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH RFC 2/3] opkg: Add PACKAGECONFIG options
  2013-11-20 16:41 [PATCH RFC 0/3] opkg upgrade Paul Barker
  2013-11-20 16:41 ` [PATCH RFC 1/3] opkg: Update to version 0.2.0 Paul Barker
@ 2013-11-20 16:41 ` Paul Barker
  2013-11-20 16:41 ` [PATCH RFC 3/3] opkg: Don't use update-alternatives Paul Barker
  2 siblings, 0 replies; 5+ messages in thread
From: Paul Barker @ 2013-11-20 16:41 UTC (permalink / raw)
  To: openembedded-core

Instead of hardcoding EXTRA_OECONF to disable things, we add PACKAGECONFIG
options for gpg, curl, ssl-curl, openssl, sha256 and pathfinder. By default all
these options are disabled.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
---
 meta/recipes-devtools/opkg/opkg.inc | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/meta/recipes-devtools/opkg/opkg.inc b/meta/recipes-devtools/opkg/opkg.inc
index fb99fb5..d16b8c2 100644
--- a/meta/recipes-devtools/opkg/opkg.inc
+++ b/meta/recipes-devtools/opkg/opkg.inc
@@ -27,15 +27,18 @@ python () {
 target_localstatedir := "${localstatedir}"
 OPKGLIBDIR = "${target_localstatedir}/lib"
 
-SHARED_EXTRA_OECONF = "\
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,gpgme libgpg-error"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
+PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256"
+PACKAGECONFIG[pathfinder] = "--enable-pathfinder,--disable-pathfinder,pathfinder"
+
+EXTRA_OECONF = "\
   --with-opkglibdir=${OPKGLIBDIR} \
-  --disable-gpg \
-  --disable-curl \
-  --disable-openssl \
 "
-EXTRA_OECONF_class-target = "${SHARED_EXTRA_OECONF} --disable-ssl-curl --disable-sha256"
-EXTRA_OECONF_class-native = "${SHARED_EXTRA_OECONF}"
-EXTRA_OECONF_class-nativesdk = "${SHARED_EXTRA_OECONF}"
 
 PROVIDES += "virtual/update-alternatives"
 RPROVIDES_update-alternatives-cworth += "update-alternatives"
-- 
1.8.4.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH RFC 3/3] opkg: Don't use update-alternatives
  2013-11-20 16:41 [PATCH RFC 0/3] opkg upgrade Paul Barker
  2013-11-20 16:41 ` [PATCH RFC 1/3] opkg: Update to version 0.2.0 Paul Barker
  2013-11-20 16:41 ` [PATCH RFC 2/3] opkg: Add PACKAGECONFIG options Paul Barker
@ 2013-11-20 16:41 ` Paul Barker
  2 siblings, 0 replies; 5+ messages in thread
From: Paul Barker @ 2013-11-20 16:41 UTC (permalink / raw)
  To: openembedded-core

The symlink from 'opkg' to 'opkg-cl' doesn't need to be created with
update-alternatives as there isn't any alternative. Instead it can be created by
hand in do_install_append.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
---
 meta/recipes-devtools/opkg/opkg.inc | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/meta/recipes-devtools/opkg/opkg.inc b/meta/recipes-devtools/opkg/opkg.inc
index d16b8c2..f476e67 100644
--- a/meta/recipes-devtools/opkg/opkg.inc
+++ b/meta/recipes-devtools/opkg/opkg.inc
@@ -69,6 +69,10 @@ do_install_append() {
 			-e 's,@SYSTEMD_UNITDIR@,${systemd_unitdir},g' \
 			${D}${systemd_unitdir}/system/opkg-configure.service
 	fi
+
+	# The installed binary is 'opkg-cl' but people and scripts often expect
+	# it to just be 'opkg'
+	ln -sf opkg-cl ${D}${bindir}/opkg
 }
 
 do_install_append_class-native() {
@@ -97,13 +101,6 @@ rm -f ${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts
 fi
 }
 
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "opkg"
-ALTERNATIVE_LINK_NAME[opkg] = "${bindir}/opkg"
-ALTERNATIVE_TARGET[opkg] = "${bindir}/opkg-cl"
-
 BBCLASSEXTEND = "native nativesdk"
 
 # Define a variable to allow distros to run configure earlier.
-- 
1.8.4.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH RFC 1/3] opkg: Update to version 0.2.0
  2013-11-20 16:41 ` [PATCH RFC 1/3] opkg: Update to version 0.2.0 Paul Barker
@ 2013-11-20 18:33   ` Saul Wold
  0 siblings, 0 replies; 5+ messages in thread
From: Saul Wold @ 2013-11-20 18:33 UTC (permalink / raw)
  To: Paul Barker, openembedded-core

On 11/20/2013 08:41 AM, Paul Barker wrote:
> Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
> ---
>   meta/recipes-devtools/opkg/opkg_0.2.0.bb | 14 ++++++++++++++
>   meta/recipes-devtools/opkg/opkg_svn.bb   | 14 --------------
>   2 files changed, 14 insertions(+), 14 deletions(-)
>   create mode 100644 meta/recipes-devtools/opkg/opkg_0.2.0.bb
>   delete mode 100644 meta/recipes-devtools/opkg/opkg_svn.bb
>
> diff --git a/meta/recipes-devtools/opkg/opkg_0.2.0.bb b/meta/recipes-devtools/opkg/opkg_0.2.0.bb
> new file mode 100644
> index 0000000..7affbff
> --- /dev/null
> +++ b/meta/recipes-devtools/opkg/opkg_0.2.0.bb
> @@ -0,0 +1,14 @@
> +require opkg.inc
> +
> +SRC_URI = "https://opkg.googlecode.com/files/${BPN}-${PV}.tar.gz \
> +           file://no-install-recommends.patch \
> +           file://add-exclude.patch \
> +           file://opkg-configure.service \
> +"
> +
> +S = "${WORKDIR}/${BPN}-${PV}"
> +
> +SRC_URI[md5sum] = "e8a6fd34fb2529191fe09dc14c934cc3"
> +SRC_URI[sha256sum] = "81b7055eb4c12c5e5652339305c9236cf357890717d4bea063963f3f434d966f"
> +
> +PR = "${INC_PR}.0"

Since we are creating new version, we can completely drop the PR here 
and the INC_PR in the opkg.inc.

Sau!

> diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
> deleted file mode 100644
> index cd0485f..0000000
> --- a/meta/recipes-devtools/opkg/opkg_svn.bb
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -require opkg.inc
> -
> -SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
> -           file://no-install-recommends.patch \
> -           file://add-exclude.patch \
> -           file://opkg-configure.service \
> -"
> -
> -S = "${WORKDIR}/trunk"
> -
> -SRCREV = "653"
> -PV = "0.1.8+svnr${SRCPV}"
> -
> -PR = "${INC_PR}.0"
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-11-20 18:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-20 16:41 [PATCH RFC 0/3] opkg upgrade Paul Barker
2013-11-20 16:41 ` [PATCH RFC 1/3] opkg: Update to version 0.2.0 Paul Barker
2013-11-20 18:33   ` Saul Wold
2013-11-20 16:41 ` [PATCH RFC 2/3] opkg: Add PACKAGECONFIG options Paul Barker
2013-11-20 16:41 ` [PATCH RFC 3/3] opkg: Don't use update-alternatives Paul Barker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox