[oe] [PATCH] opkg recipe overhaul - removal of opkg-nogpg and opkg-nogpg-nocurl.

Graham Gower graham.gower at gmail.com
Wed Jun 30 04:26:34 UTC 2010


None of the distros in OE appear to want/need gpg or curl support in opkg;
so have opkg.inc remove them by default. This diff makes things more consistent
across all distros/tasks/images.

The slugos recipe is kept intact and further divided from the more modern
recipes. The opkg-native recipe is the sane-srcrev version even when building
slugos, which should allow for changes to opkg related bbclasses without
breaking the slugos build.

Build tested for qemumipsel/minimal-image and nslu2/slugos-image.
minimal-image builds 10% quicker in my setup and is 1mb smaller.

Signed-off-by: Graham Gower <graham.gower at gmail.com>
---
 conf/compatibility-providers.conf                 |    1 -
 conf/distro/angstrom-2008.1.conf                  |    8 +-
 conf/distro/include/preferred-slugos-versions.inc |   10 ---
 conf/distro/jlime-2010.1.conf                     |    2 +-
 conf/distro/kaeilos-2010.conf                     |   10 ++--
 conf/distro/kaeilos.conf                          |   10 ++--
 conf/distro/micro.conf                            |    2 +-
 conf/distro/minimal.conf                          |    8 +-
 conf/distro/nylon.conf                            |    2 +-
 recipes/angstrom/angstrom-feed-configs.bb         |    2 +-
 recipes/images/minimal-gpe-image.bb               |    2 +-
 recipes/images/nas-server-image.bb                |    2 +-
 recipes/images/x11-sato-image.bb                  |    2 +-
 recipes/meta/meta-toolchain-arago.bb              |    2 +-
 recipes/opkg/files/fix_endianness.patch           |   12 ----
 recipes/opkg/files/isatty.patch                   |   64 +++++++++++++++++++++
 recipes/opkg/files/opkg-intercept-cleanup.patch   |   47 +++++++++++++++
 recipes/opkg/files/opkg-libdir.patch              |   11 ----
 recipes/opkg/opkg-native_svn.bb                   |   11 +---
 recipes/opkg/opkg-nogpg-nocurl-slugos_svn.bb      |   29 +++++++---
 recipes/opkg/opkg-nogpg-nocurl_svn.bb             |   15 -----
 recipes/opkg/opkg-nogpg_svn.bb                    |   25 --------
 recipes/opkg/opkg-sdk_svn.bb                      |    2 +-
 recipes/opkg/opkg.inc                             |   16 ++---
 recipes/opkg/opkg/isatty.patch                    |   64 ---------------------
 recipes/opkg/opkg/opkg-intercept-cleanup.patch    |   47 ---------------
 recipes/opkg/opkg_svn.bb                          |    6 --
 recipes/tasks/task-arago-toolchain-target.bb      |    2 +-
 recipes/tasks/task-sdk-sbox.bb                    |    2 +-
 29 files changed, 168 insertions(+), 248 deletions(-)
 delete mode 100644 recipes/opkg/files/fix_endianness.patch
 create mode 100644 recipes/opkg/files/isatty.patch
 create mode 100644 recipes/opkg/files/opkg-intercept-cleanup.patch
 delete mode 100644 recipes/opkg/files/opkg-libdir.patch
 delete mode 100644 recipes/opkg/opkg-nogpg-nocurl_svn.bb
 delete mode 100644 recipes/opkg/opkg-nogpg_svn.bb
 delete mode 100644 recipes/opkg/opkg/isatty.patch
 delete mode 100644 recipes/opkg/opkg/opkg-intercept-cleanup.patch

diff --git a/conf/compatibility-providers.conf b/conf/compatibility-providers.conf
index 350521a..58a0ad1 100644
--- a/conf/compatibility-providers.conf
+++ b/conf/compatibility-providers.conf
@@ -46,7 +46,6 @@ PREFERRED_PROVIDER_libxss ?= "libxss"
 PREFERRED_PROVIDER_ntp ?= "ntp"
 PREFERRED_PROVIDER_openmoko-alsa-scenarios ?= "fsodeviced"
 PREFERRED_PROVIDER_opkg ?= "opkg"
-#PREFERRED_PROVIDER_opkg ?= "opkg-nogpg"
 PREFERRED_PROVIDER_qemu-native ?= "qemu-native"
 PREFERRED_PROVIDER_qt4-embedded ?= "qt4-embedded"
 PREFERRED_PROVIDER_qt4-x11-free ?= "qt4-x11-free"
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 7c70c84..e86ced3 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -139,7 +139,7 @@ require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc
 
 PREFERRED_PROVIDER_dbus-glib             = "dbus-glib"
 PREFERRED_PROVIDER_hotplug               = "udev"
-PREFERRED_PROVIDER_opkg                 ?= "opkg-nogpg-nocurl"
+PREFERRED_PROVIDER_opkg                 ?= "opkg"
 
 ANGSTROM_BLACKLIST_pn-bluez-libs	= "bluez-libs 3.x has been replaced by bluez4"
 ANGSTROM_BLACKLIST_pn-bluez-utils	= "bluez-utils 3.x has been replaced by bluez4"
@@ -151,12 +151,12 @@ require conf/distro/include/angstrom.inc
 # Set DISTRO_FEED_CONFIGS to our config var, assigned in the above .inc
 DISTRO_FEED_CONFIGS = "${ANGSTROM_FEED_CONFIGS}"
 
-# If we're using an .ipk based rootfs, we want to have opkg-nogpg installed so postinst script can run
+# If we're using an .ipk based rootfs, we want to have opkg installed so postinst script can run
 # We also take this opportunity to inject angstrom-version and the feed configs into the rootfs
-IPKG_VARIANT = "opkg-nogpg-nocurl angstrom-version ${ANGSTROM_FEED_CONFIGS}"
+IPKG_VARIANT = "opkg angstrom-version ${ANGSTROM_FEED_CONFIGS}"
 
 # we need the same provider for opkg and u-a
-PREFERRED_PROVIDER_virtual/update-alternatives = "opkg-nogpg-nocurl"
+PREFERRED_PROVIDER_virtual/update-alternatives = "opkg"
 
 # Select xserver-xorg as default, since kdrive has been EOL'ed
 XSERVER ?= "xserver-xorg xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-video-fbdev" 
diff --git a/conf/distro/include/preferred-slugos-versions.inc b/conf/distro/include/preferred-slugos-versions.inc
index 84b1381..a8909d0 100644
--- a/conf/distro/include/preferred-slugos-versions.inc
+++ b/conf/distro/include/preferred-slugos-versions.inc
@@ -15,16 +15,6 @@ PREFERRED_VERSION_linux-ixp4xx = "2.6.27.8+svnr${SRCREV_pn-linux-ixp4xx}"
 #
 #===============================================================================#
 #===============================================================================#
-#                              NOTE NOTE NOTE
-#
-# Override the sane-srcrev file with regard to the opkg versions - this should
-# be removed as soon as opkg starts to work correctly again as newer opkg
-# versions fix a number of bugs and add some desireable features.
-#
-OPKG_SRCREV = "160"
-#
-#===============================================================================#
-#===============================================================================#
 
 ### Standard package preferred versions go here, sorted
 ### alphabetically.  Note that the main slugos.inc file
diff --git a/conf/distro/jlime-2010.1.conf b/conf/distro/jlime-2010.1.conf
index 3ec3e86..f62ca99 100644
--- a/conf/distro/jlime-2010.1.conf
+++ b/conf/distro/jlime-2010.1.conf
@@ -40,7 +40,7 @@ SPLASH = "psplash"
 INHERIT += "debian package_tar package_ipk src_distribute_local"
 SRC_DIST_LOCAL ?= "symlink"
 IMAGE_FSTYPES = "tar.gz tar.bz2 jffs2"
-PREFERRED_PROVIDER_virtual/update-alternatives = "opkg-nogpg-nocurl"
+PREFERRED_PROVIDER_virtual/update-alternatives = "opkg"
 
 #
 # Kernel
diff --git a/conf/distro/kaeilos-2010.conf b/conf/distro/kaeilos-2010.conf
index 4bb637c..58d7a57 100644
--- a/conf/distro/kaeilos-2010.conf
+++ b/conf/distro/kaeilos-2010.conf
@@ -64,7 +64,7 @@ require conf/distro/include/kaeilos-2010.inc
 # Select packaging system
 IMAGE_FSTYPES ?= "tar.gz jffs2"
 PREFERRED_PKG_FORMAT = "ipk"
-IPKG_VARIANT = "opkg-nogpg"
+IPKG_VARIANT = "opkg"
 
 
 
@@ -99,11 +99,11 @@ require conf/distro/include/sane-toolchain.inc
 
 PREFERRED_PROVIDER_dbus-glib             = "dbus-glib"
 PREFERRED_PROVIDER_hotplug               = "udev"
-PREFERRED_PROVIDER_opkg                 ?= "opkg-nogpg-nocurl"
+PREFERRED_PROVIDER_opkg                 ?= "opkg"
 
 # PREFERRED VERSIONS
-PREFERRED_PROVIDER_opkg ?= "opkg-nogpg"
-PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-nogpg"
+PREFERRED_PROVIDER_opkg ?= "opkg"
+PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg"
 
 
 # Select xserver-xorg as default, since kdrive has been EOL'ed
@@ -128,7 +128,7 @@ DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps"
 DISTRO_EXTRA_RDEPENDS += "\
     update-modules \
     kaeilos-version \
-    opkg-nogpg opkg-collateral \
+    opkg opkg-collateral \
     util-linux-ng-mount util-linux-ng-umount \
     ${DEBUG_APPS} \
     "
diff --git a/conf/distro/kaeilos.conf b/conf/distro/kaeilos.conf
index eb12d2e..c1c2e36 100644
--- a/conf/distro/kaeilos.conf
+++ b/conf/distro/kaeilos.conf
@@ -127,7 +127,7 @@ require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc
 
 PREFERRED_PROVIDER_dbus-glib             = "dbus-glib"
 PREFERRED_PROVIDER_hotplug               = "udev"
-PREFERRED_PROVIDER_opkg                 ?= "opkg-nogpg-nocurl"
+PREFERRED_PROVIDER_opkg                 ?= "opkg"
 
 # see recipes/bluez/bluez4*.bb for further dependencies of this setting 
 ANGSTROM_BLACKLIST_pn-bluez-libs	= "bluez-libs 3.x has been replaced by bluez4"
@@ -137,12 +137,12 @@ ANGSTROM_BLACKLIST_pn-fso-apm       = "regular apmd is good enough"
 
 require conf/distro/include/kaeilos.inc
 
-# If we're using an .ipk based rootfs, we want to have opkg-nogpg installed so postinst script can run
+# If we're using an .ipk based rootfs, we want to have opkg installed so postinst script can run
 # We also take this opportunity to inject angstrom-version and the feed configs into the rootfs
-IPKG_VARIANT = "opkg-nogpg-nocurl angstrom-version ${ANGSTROM_FEED_CONFIGS}"
+IPKG_VARIANT = "opkg angstrom-version ${ANGSTROM_FEED_CONFIGS}"
 
 # we need the same provider for opkg and u-a
-PREFERRED_PROVIDER_virtual/update-alternatives = "opkg-nogpg-nocurl"
+PREFERRED_PROVIDER_virtual/update-alternatives = "opkg"
 
 # Select xserver-xorg as default, since kdrive has been EOL'ed
 XSERVER ?= "xserver-xorg xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-video-fbdev" 
@@ -167,7 +167,7 @@ DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps"
 DISTRO_EXTRA_RDEPENDS += "\
     update-modules \
     kaeilos-version \
-    opkg-nogpg opkg-collateral ${ANGSTROM_FEED_CONFIGS} \
+    opkg opkg-collateral ${ANGSTROM_FEED_CONFIGS} \
     util-linux-ng-mount util-linux-ng-umount \
     ${DEBUG_APPS} angstrom-libc-fixup-hack \
     "
diff --git a/conf/distro/micro.conf b/conf/distro/micro.conf
index 9885425..5c58ce2 100644
--- a/conf/distro/micro.conf
+++ b/conf/distro/micro.conf
@@ -32,7 +32,7 @@ INHERIT += "debian"
 #############################################################################
 # Select packaging system
 PREFERRED_PKG_FORMAT = "ipk"
-IPKG_VARIANT = "opkg-nogpg"
+IPKG_VARIANT = "opkg"
 
 require conf/distro/include/sane-feed.inc
 require conf/distro/include/sane-feed-${PREFERRED_PKG_FORMAT}.inc
diff --git a/conf/distro/minimal.conf b/conf/distro/minimal.conf
index 1e72efd..64333c3 100644
--- a/conf/distro/minimal.conf
+++ b/conf/distro/minimal.conf
@@ -58,8 +58,8 @@ PREFERRED_PKG_FORMAT ?= "ipk"
 INHERIT += "src_distribute_local"
 SRC_DIST_LOCAL ?= "symlink"
 
-# If we're using an .ipk based rootfs, we want to have opkg-nogpg installed so postinst script can run
-IPKG_VARIANT = "opkg-nogpg"
+# If we're using an .ipk based rootfs, we want to have opkg installed so postinst script can run
+IPKG_VARIANT = "opkg
 
 #############################################################################
 # IMAGES
@@ -101,8 +101,8 @@ require conf/distro/include/preferred-e-versions.inc
 require conf/distro/include/preferred-opie-versions-1.2.4.inc
 require conf/distro/include/preferred-xorg-versions-X11R7.5.inc
 
-PREFERRED_PROVIDER_opkg ?= "opkg-nogpg"
-PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-nogpg"
+PREFERRED_PROVIDER_opkg ?= "opkg"
+PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg"
 
 #############################################################################
 # CONTENTS
diff --git a/conf/distro/nylon.conf b/conf/distro/nylon.conf
index 7ab7b35..ae8d064 100644
--- a/conf/distro/nylon.conf
+++ b/conf/distro/nylon.conf
@@ -86,4 +86,4 @@ PREFERRED_VERSION_e2fsprogs-libs = "1.41.8"
 PREFERRED_VERSION_dbus = "1.2.1"
 
 PREFERRED_PROVIDER_hotplug = "linux-hotplug"
-PREFERRED_PROVIDER_opkg = "opkg-nogpg"
+PREFERRED_PROVIDER_opkg = "opkg"
diff --git a/recipes/angstrom/angstrom-feed-configs.bb b/recipes/angstrom/angstrom-feed-configs.bb
index d25cba7..cad2b8b 100644
--- a/recipes/angstrom/angstrom-feed-configs.bb
+++ b/recipes/angstrom/angstrom-feed-configs.bb
@@ -1,6 +1,6 @@
 DESCRIPTION = "Configuration files for online package repositories aka feeds"
 
-RRECOMMENDS_${PN} += "opkg-nogpg-nocurl"
+RRECOMMENDS_${PN} += "opkg"
 
 #PV = "${DISTRO_VERSION}"
 PR = "r11"
diff --git a/recipes/images/minimal-gpe-image.bb b/recipes/images/minimal-gpe-image.bb
index c37225d..0c5c863 100644
--- a/recipes/images/minimal-gpe-image.bb
+++ b/recipes/images/minimal-gpe-image.bb
@@ -17,7 +17,7 @@ IMAGE_INSTALL = "\
     matchbox-wm \
     gpe-terminal \
     angstrom-feed-configs \
-    opkg-nogpg opkg-collateral \
+    opkg opkg-collateral \
     ${SPLASH} \
     "
 
diff --git a/recipes/images/nas-server-image.bb b/recipes/images/nas-server-image.bb
index 85b2bae..61e8296 100644
--- a/recipes/images/nas-server-image.bb
+++ b/recipes/images/nas-server-image.bb
@@ -20,7 +20,7 @@
 # intended to be distro-agnostic.
 
 DISTRO_SSH_DAEMON ?= "dropbear"
-DISTRO_PACKAGE_MANAGER ?= "opkg-nogpg opkg-collateral"
+DISTRO_PACKAGE_MANAGER ?= "opkg opkg-collateral"
 
 DEPENDS = "\
 	task-boot \
diff --git a/recipes/images/x11-sato-image.bb b/recipes/images/x11-sato-image.bb
index 0a127f8..c2ed50e 100644
--- a/recipes/images/x11-sato-image.bb
+++ b/recipes/images/x11-sato-image.bb
@@ -1,5 +1,5 @@
 DISTRO_SSH_DAEMON ?= "dropbear"
-DISTRO_PACKAGE_MANAGER ?= "opkg-nogpg opkg-collateral"
+DISTRO_PACKAGE_MANAGER ?= "opkg opkg-collateral"
 
 XSERVER ?= "xserver-kdrive-fbdev"
 
diff --git a/recipes/meta/meta-toolchain-arago.bb b/recipes/meta/meta-toolchain-arago.bb
index 0478e97..425af6d 100644
--- a/recipes/meta/meta-toolchain-arago.bb
+++ b/recipes/meta/meta-toolchain-arago.bb
@@ -15,7 +15,7 @@ TOOLCHAIN_TARGET_EXCLUDE += "\
     libthread-db1 \
     sln \
     curl \
-    opkg-nogpg \
+    opkg \
     alsa-conf-base \
     update-rc.d \
     update-rc.d-dev \
diff --git a/recipes/opkg/files/fix_endianness.patch b/recipes/opkg/files/fix_endianness.patch
deleted file mode 100644
index 8632ce5..0000000
--- a/recipes/opkg/files/fix_endianness.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN opkg.orig/configure.ac opkg/configure.ac
---- opkg.orig/configure.ac	2008-03-20 13:29:09.000000000 +0100
-+++ opkg/configure.ac	2008-03-25 09:39:52.000000000 +0100
-@@ -94,7 +94,7 @@
- AC_CHECK_MEMBERS([struct stat.st_rdev])
- 
- # Checks endianness
--AC_C_BIGENDIAN(ENDIAN_CFLAGS="-DWORDS_BIGENDIAN=1",)
-+AC_C_BIGENDIAN(BIGENDIAN_CFLAGS="-DWORDS_BIGENDIAN=1",)
- AC_SUBST(BIGENDIAN_CFLAGS)
- 
- # Don't do annoying tests that don't work when cross-compiling, just trust them.
diff --git a/recipes/opkg/files/isatty.patch b/recipes/opkg/files/isatty.patch
new file mode 100644
index 0000000..c935f15
--- /dev/null
+++ b/recipes/opkg/files/isatty.patch
@@ -0,0 +1,64 @@
+Copyright (c) 2009 MontaVista Software, Inc.  All rights reserved.
+
+Don't prompt for user input from stdin if it's not a tty.  Fixes a minor
+memory leak while we're at it, as the code was strdup'ing the malloc'd string
+read from stdin without ever freeing the original.
+---
+ libopkg/libopkg.c      |   13 ++++++++-----
+ libopkg/opkg_install.c |    3 +++
+ libopkg/user.c         |   10 +++++++---
+ 3 files changed, 18 insertions(+), 8 deletions(-)
+
+--- trunk.orig/libopkg/libopkg.c
++++ trunk/libopkg/libopkg.c
+@@ -71,11 +71,14 @@ int default_opkg_status_callback(char *n
+ char* default_opkg_response_callback(char *question)
+ {
+      char *response = NULL;
+-     printf("%s",question);
+-     fflush(stdout);
+-     do {
+-	  response = (char *)file_read_line_alloc(stdin);
+-     } while (response == NULL);
++     if (isatty(fileno(stdin)))
++     {
++	  printf("%s",question);
++	  fflush(stdout);
++	  do {
++	       response = (char *)file_read_line_alloc(stdin);
++	  } while (response == NULL);
++     }
+      return response;
+ }
+ 
+--- trunk.orig/libopkg/user.c
++++ trunk/libopkg/user.c
+@@ -44,9 +44,13 @@ char *get_user_response(const char *form
+ 	  len = vsnprintf(question,question_len,format,ap);
+           va_end(ap);
+      } while (len > question_len);
+-     response = strdup(opkg_cb_response(question));
+-     str_chomp(response);
+-     str_tolower(response);
++
++     response = opkg_cb_response(question);
++     if (response)
++     {
++         str_chomp(response);
++         str_tolower(response);
++     }
+ 
+      return response;
+ }
+--- trunk.orig/libopkg/opkg_install.c
++++ trunk/libopkg/opkg_install.c
+@@ -1613,6 +1613,9 @@ static int user_prefers_old_conffile(con
+ 				       "          D     : show the differences between the versions (if diff is installed)\n"
+ 				       "     The default action is to keep your current version.\n"
+ 				       "    *** %s (Y/I/N/O/D) [default=N] ? ", file_name, short_file_name);
++	  if (!response)
++	       return 1;
++
+ 	  if (strcmp(response, "y") == 0
+ 	      || strcmp(response, "i") == 0
+ 	      || strcmp(response, "yes") == 0) {
diff --git a/recipes/opkg/files/opkg-intercept-cleanup.patch b/recipes/opkg/files/opkg-intercept-cleanup.patch
new file mode 100644
index 0000000..12893e3
--- /dev/null
+++ b/recipes/opkg/files/opkg-intercept-cleanup.patch
@@ -0,0 +1,47 @@
+---
+ libopkg/opkg_cmd.c |   13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+--- trunk.orig/libopkg/opkg_cmd.c
++++ trunk/libopkg/opkg_cmd.c
+@@ -19,6 +19,7 @@
+ #include "includes.h"
+ #include <dirent.h>
+ #include <glob.h>
++#include <unistd.h>
+ 
+ #include "opkg_conf.h"
+ #include "opkg_cmd.h"
+@@ -350,7 +351,6 @@ static opkg_intercept_t opkg_prep_interc
+ 
+ static int opkg_finalize_intercepts(opkg_intercept_t ctx)
+ {
+-    char *cmd;
+     DIR *dir;
+     int err = 0;
+ 
+@@ -376,6 +376,10 @@ static int opkg_finalize_intercepts(opkg
+ 		    err = errno;
+ 		    perror (de->d_name);
+ 		}
++		if (unlink (path)) {
++		    err = errno;
++		    perror (path);
++		}
+ 	    }
+ 	    free (path);
+ 	}
+@@ -383,9 +387,10 @@ static int opkg_finalize_intercepts(opkg
+     } else
+ 	perror (ctx->statedir);
+ 	
+-    sprintf_alloc (&cmd, "rm -rf %s", ctx->statedir);
+-    err = system (cmd);
+-    free (cmd);
++    if (rmdir (ctx->statedir)) {
++	err = errno;
++	perror (ctx->statedir);
++    }
+ 
+     free (ctx->statedir);
+     free (ctx);
diff --git a/recipes/opkg/files/opkg-libdir.patch b/recipes/opkg/files/opkg-libdir.patch
deleted file mode 100644
index 1d48b9a..0000000
--- a/recipes/opkg/files/opkg-libdir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- trunk/utils/update-alternatives.orig	2009-06-23 15:33:56.000000000 -0300
-+++ trunk/utils/update-alternatives	2009-06-23 15:34:10.000000000 -0300
-@@ -21,7 +21,7 @@
- set -e
- 
- # admin dir
--ad="$OPKG_OFFLINE_ROOT/usr/lib/opkg/alternatives"
-+ad="$OPKG_OFFLINE_ROOT/${libdir}/opkg/alternatives"
- 
- usage() {
- 	echo "update-alternatives: $*
diff --git a/recipes/opkg/opkg-native_svn.bb b/recipes/opkg/opkg-native_svn.bb
index fe3ed4e..33d84ff 100644
--- a/recipes/opkg/opkg-native_svn.bb
+++ b/recipes/opkg/opkg-native_svn.bb
@@ -1,19 +1,10 @@
 require opkg.inc
 
-DEPENDS = "curl-native openssl-native"
 PR = "${INC_PR}"
 PROVIDES =+ "virtual/update-alternatives-native"
 
-SRC_URI += "file://opkg-libdir.patch;maxrev=342"
-
 target_libdir := "${libdir}"
 
 inherit native
 
-# The nogpg version isn't getting much love and has an unused variable which trips up -Werror
-do_configure_prepend() {
-        sed -i -e s:-Werror::g ${S}/libopkg/Makefile.am
-}
-
-
-EXTRA_OECONF += "--with-opkglibdir=${target_libdir} --disable-gpg"
+EXTRA_OECONF += "--with-opkglibdir=${target_libdir}"
diff --git a/recipes/opkg/opkg-nogpg-nocurl-slugos_svn.bb b/recipes/opkg/opkg-nogpg-nocurl-slugos_svn.bb
index 4d49dff..cda5115 100644
--- a/recipes/opkg/opkg-nogpg-nocurl-slugos_svn.bb
+++ b/recipes/opkg/opkg-nogpg-nocurl-slugos_svn.bb
@@ -2,7 +2,7 @@
 # recipe, intended for temporary use by the SlugOS distro.
 
 # DO NOT USE this recipe for anything other than SlugOS and svn version 160
-# of the opkg sources.  Also note that This recipe will be removed without
+# of the opkg sources.  Also note that this recipe will be removed without
 # notice when the unfortunate commits to the original opkg-nogpg-nocurl_svn.bb
 # recipe are repaired, the small-memory patches updated to a newer opkg svn
 # version, and appropriate testing confirms that the resulting binary actually
@@ -10,12 +10,23 @@
 
 # DO NOT CHANGE THIS RECIPE!
 
-require opkg.inc
+DESCRIPTION = "Opkg Package Manager"
+DESCRIPTION_libopkg = "Opkg Package Manager Library"
+SECTION = "base"
+LICENSE = "GPLv2"
+SRCREV = "160"
+PV = "0.1.6+svnr${SRCPV}"
+PR = "r22"
 
-DEPENDS = ""
 PROVIDES += "opkg"
+S = "${WORKDIR}/trunk"
+
+inherit autotools pkgconfig
 
 SRC_URI += " \
+	    svn://opkg.googlecode.com/svn;module=trunk;proto=http \
+	    file://opkg_unarchive.patch;maxrev=201 \
+	    file://opkg-intercept-cleanup.patch;maxrev=241 \
 	    file://isatty.patch \
 	    file://opkg_wget.patch;maxrev=180 \
 	    file://reduce-nogpg-noise.patch;maxrev=180 \
@@ -23,11 +34,16 @@ SRC_URI += " \
 	    file://opkg_wget_nogpg_02_use_vfork_system.patch \
 	    file://opkg_wget_nogpg_03_fix_tmpdirs.patch \
 	    file://opkg_wget_nogpg_04_default_tmpdir.patch \
+	    file://configure \
 	   "
-PR = "${INC_PR}"
 
 EXTRA_OECONF += "--disable-gpg --enable-static --disable-shared"
 
+do_install_prepend() {
+  install -d ${D}${sysconfdir}/rcS.d
+  install -m 0755 ${WORKDIR}/configure ${D}${sysconfdir}/rcS.d/S98configure
+}
+
 # Not sure this is needed; needs to be investigated and removed if not
 do_stage() {
 	autotools_stage_all
@@ -44,11 +60,6 @@ FILES_libopkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
 # not happens automatically for opkg-nogpg:
 FILES_${PN} += "${datadir}/opkg/intercept"
 
-# Define a variable to allow distros to run configure earlier.
-# (for example, to enable loading of ethernet kernel modules before networking starts)
-OPKG_INIT_POSITION = "98"
-OPKG_INIT_POSITION_slugos = "41"
-
 pkg_postinst_${PN} () {
   update-alternatives --install ${bindir}/opkg opkg ${bindir}/opkg-cl 100
 }
diff --git a/recipes/opkg/opkg-nogpg-nocurl_svn.bb b/recipes/opkg/opkg-nogpg-nocurl_svn.bb
deleted file mode 100644
index 66e8dbc..0000000
--- a/recipes/opkg/opkg-nogpg-nocurl_svn.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require opkg-nogpg_svn.bb
-
-DEPENDS = ""
-PROVIDES += "opkg"
-
-PR = "${INC_PR}"
-
-EXTRA_OECONF += " --disable-curl --enable-static --disable-shared"
-
-# The nogpg version isn't getting much love and has an unused variable which trips up -Werror
-do_configure_prepend() {
-	sed -i -e s:-Werror::g ${S}/libopkg/Makefile.am
-}
-
-DEFAULT_PREFERENCE = "-1"
diff --git a/recipes/opkg/opkg-nogpg_svn.bb b/recipes/opkg/opkg-nogpg_svn.bb
deleted file mode 100644
index bee639f..0000000
--- a/recipes/opkg/opkg-nogpg_svn.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require opkg_svn.bb
-
-DEPENDS = "curl"
-PROVIDES += "opkg"
-
-PR = "${INC_PR}.1"
-
-EXTRA_OECONF += " --disable-gpg \ 
-                  --disable-openssl \ 
-                  --disable-ssl-curl \
-                  --enable-gpg=no \
-                  --enable-ssl-curl=no \
-                  --enable-openssl=no"
-
-LDFLAGS_append = " -Wl,--as-needed"
-
-# The nogpg version isn't getting much love and has an unused variable which trips up -Werror
-do_configure_prepend() {
-	sed -i -e s:-Werror::g ${S}/libopkg/Makefile.am
-}
-do_configure_prepend_nylon() {
-	LDFLAGS="`echo "$LDFLAGS" | sed "s/ -Wl,--as-needed//"`"
-}
-
-DEFAULT_PREFERENCE = "-1"
diff --git a/recipes/opkg/opkg-sdk_svn.bb b/recipes/opkg/opkg-sdk_svn.bb
index f7f9c9e..5970f8e 100644
--- a/recipes/opkg/opkg-sdk_svn.bb
+++ b/recipes/opkg/opkg-sdk_svn.bb
@@ -5,4 +5,4 @@ PR = "${INC_PR}"
 target_libdir := "${libdir}"
 inherit sdk
 
-EXTRA_OECONF += "--with-opkglibdir=${target_libdir} --disable-gpg"
+EXTRA_OECONF += "--with-opkglibdir=${target_libdir}"
diff --git a/recipes/opkg/opkg.inc b/recipes/opkg/opkg.inc
index 1149b72..b88ae4b 100644
--- a/recipes/opkg/opkg.inc
+++ b/recipes/opkg/opkg.inc
@@ -2,20 +2,14 @@ DESCRIPTION = "Opkg Package Manager"
 DESCRIPTION_libopkg = "Opkg Package Manager Library"
 SECTION = "base"
 LICENSE = "GPLv2"
-DEPENDS = "curl gpgme openssl"
 SRCREV = ${OPKG_SRCREV}
-PV = "0.1.6+svnr${SRCPV}"
-INC_PR = "r21"
-
-FILESPATHPKG =. "opkg:"
+PV = "0.1.8+svnr${SRCPV}"
+INC_PR = "r0"
 
 SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \
-	file://opkg_unarchive.patch;maxrev=201 \
-	file://opkg-intercept-cleanup.patch;maxrev=241 \
+	   file://configure \
 "
 
-SRC_URI += "file://configure"
-
 S = "${WORKDIR}/trunk"
 
 inherit autotools pkgconfig
@@ -25,3 +19,7 @@ do_install_prepend() {
   install -m 0755 ${WORKDIR}/configure ${D}${sysconfdir}/rcS.d/S98configure
 }
 
+EXTRA_OECONF += " --disable-gpg \ 
+                  --disable-openssl \ 
+                  --disable-ssl-curl \
+                  --disable-curl"
diff --git a/recipes/opkg/opkg/isatty.patch b/recipes/opkg/opkg/isatty.patch
deleted file mode 100644
index c935f15..0000000
--- a/recipes/opkg/opkg/isatty.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Copyright (c) 2009 MontaVista Software, Inc.  All rights reserved.
-
-Don't prompt for user input from stdin if it's not a tty.  Fixes a minor
-memory leak while we're at it, as the code was strdup'ing the malloc'd string
-read from stdin without ever freeing the original.
----
- libopkg/libopkg.c      |   13 ++++++++-----
- libopkg/opkg_install.c |    3 +++
- libopkg/user.c         |   10 +++++++---
- 3 files changed, 18 insertions(+), 8 deletions(-)
-
---- trunk.orig/libopkg/libopkg.c
-+++ trunk/libopkg/libopkg.c
-@@ -71,11 +71,14 @@ int default_opkg_status_callback(char *n
- char* default_opkg_response_callback(char *question)
- {
-      char *response = NULL;
--     printf("%s",question);
--     fflush(stdout);
--     do {
--	  response = (char *)file_read_line_alloc(stdin);
--     } while (response == NULL);
-+     if (isatty(fileno(stdin)))
-+     {
-+	  printf("%s",question);
-+	  fflush(stdout);
-+	  do {
-+	       response = (char *)file_read_line_alloc(stdin);
-+	  } while (response == NULL);
-+     }
-      return response;
- }
- 
---- trunk.orig/libopkg/user.c
-+++ trunk/libopkg/user.c
-@@ -44,9 +44,13 @@ char *get_user_response(const char *form
- 	  len = vsnprintf(question,question_len,format,ap);
-           va_end(ap);
-      } while (len > question_len);
--     response = strdup(opkg_cb_response(question));
--     str_chomp(response);
--     str_tolower(response);
-+
-+     response = opkg_cb_response(question);
-+     if (response)
-+     {
-+         str_chomp(response);
-+         str_tolower(response);
-+     }
- 
-      return response;
- }
---- trunk.orig/libopkg/opkg_install.c
-+++ trunk/libopkg/opkg_install.c
-@@ -1613,6 +1613,9 @@ static int user_prefers_old_conffile(con
- 				       "          D     : show the differences between the versions (if diff is installed)\n"
- 				       "     The default action is to keep your current version.\n"
- 				       "    *** %s (Y/I/N/O/D) [default=N] ? ", file_name, short_file_name);
-+	  if (!response)
-+	       return 1;
-+
- 	  if (strcmp(response, "y") == 0
- 	      || strcmp(response, "i") == 0
- 	      || strcmp(response, "yes") == 0) {
diff --git a/recipes/opkg/opkg/opkg-intercept-cleanup.patch b/recipes/opkg/opkg/opkg-intercept-cleanup.patch
deleted file mode 100644
index 12893e3..0000000
--- a/recipes/opkg/opkg/opkg-intercept-cleanup.patch
+++ /dev/null
@@ -1,47 +0,0 @@
----
- libopkg/opkg_cmd.c |   13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
---- trunk.orig/libopkg/opkg_cmd.c
-+++ trunk/libopkg/opkg_cmd.c
-@@ -19,6 +19,7 @@
- #include "includes.h"
- #include <dirent.h>
- #include <glob.h>
-+#include <unistd.h>
- 
- #include "opkg_conf.h"
- #include "opkg_cmd.h"
-@@ -350,7 +351,6 @@ static opkg_intercept_t opkg_prep_interc
- 
- static int opkg_finalize_intercepts(opkg_intercept_t ctx)
- {
--    char *cmd;
-     DIR *dir;
-     int err = 0;
- 
-@@ -376,6 +376,10 @@ static int opkg_finalize_intercepts(opkg
- 		    err = errno;
- 		    perror (de->d_name);
- 		}
-+		if (unlink (path)) {
-+		    err = errno;
-+		    perror (path);
-+		}
- 	    }
- 	    free (path);
- 	}
-@@ -383,9 +387,10 @@ static int opkg_finalize_intercepts(opkg
-     } else
- 	perror (ctx->statedir);
- 	
--    sprintf_alloc (&cmd, "rm -rf %s", ctx->statedir);
--    err = system (cmd);
--    free (cmd);
-+    if (rmdir (ctx->statedir)) {
-+	err = errno;
-+	perror (ctx->statedir);
-+    }
- 
-     free (ctx->statedir);
-     free (ctx);
diff --git a/recipes/opkg/opkg_svn.bb b/recipes/opkg/opkg_svn.bb
index 5138458..b193d7c 100644
--- a/recipes/opkg/opkg_svn.bb
+++ b/recipes/opkg/opkg_svn.bb
@@ -8,14 +8,8 @@ PACKAGES =+ "libopkg-dev libopkg"
 
 FILES_libopkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
 FILES_libopkg = "${libdir}/*.so.*"
-# not happens automatically for opkg-nogpg:
 FILES_${PN} += "${datadir}/opkg/intercept"
 
-# Define a variable to allow distros to run configure earlier.
-# (for example, to enable loading of ethernet kernel modules before networking starts)
-OPKG_INIT_POSITION = "98"
-OPKG_INIT_POSITION_slugos = "41"
-
 pkg_postinst_${PN} () {
   update-alternatives --install ${bindir}/opkg opkg ${bindir}/opkg-cl 100
 }
diff --git a/recipes/tasks/task-arago-toolchain-target.bb b/recipes/tasks/task-arago-toolchain-target.bb
index e22ac2b..8f85a89 100644
--- a/recipes/tasks/task-arago-toolchain-target.bb
+++ b/recipes/tasks/task-arago-toolchain-target.bb
@@ -30,6 +30,6 @@ RDEPENDS_${PN} = "\
     zlib-dev \
     mtd-utils-dev \
     ncurses-dev \
-    opkg-nogpg-dev \
+    opkg-dev \
     sysvinit-dev \
     "
diff --git a/recipes/tasks/task-sdk-sbox.bb b/recipes/tasks/task-sdk-sbox.bb
index bf75402..25829cc 100644
--- a/recipes/tasks/task-sdk-sbox.bb
+++ b/recipes/tasks/task-sdk-sbox.bb
@@ -8,6 +8,6 @@ RDEPENDS_${PN} = "\
     gdb \
     sbrsh \
     fakeroot \
-    opkg-nogpg \
+    opkg \
     opkg-utils \
     "
-- 
1.7.1





More information about the Openembedded-devel mailing list