diff options
35 files changed, 1260 insertions, 239 deletions
diff --git a/conf/distro/maemo-preferred.inc b/conf/distro/maemo-preferred.inc index 6a8c311837..9c087f3b3c 100644 --- a/conf/distro/maemo-preferred.inc +++ b/conf/distro/maemo-preferred.inc @@ -3,3 +3,5 @@ PREFERRED_PROVIDER_tslib = "tslib-maemo" PREFERRED_VERSION_dbus = "0.23.1-osso5" PREFERRED_VERSION_audiofile = "0.2.6-3osso4" PREFERRED_PROVIDER_esd = "osso-esd" +PREFERRED_VERSION_gtk+ = "2.6.4-1.osso7" +PREFERRED_VERSION_diet-x11 ?= "6.2.1"
\ No newline at end of file diff --git a/conf/machine/nokia770.conf b/conf/machine/nokia770.conf index 77296e3b8e..f24c842d7b 100644 --- a/conf/machine/nokia770.conf +++ b/conf/machine/nokia770.conf @@ -26,16 +26,16 @@ ROOT_FLASH_SIZE = "123" EXTRA_IMAGECMD_jffs2_nokia770 = "--pad --little-endian --eraseblock=0x20000 --no-cleanmarkers" # serial console port on devboard rev. B3 -SERIAL_CONSOLE = "115200 ttyS0" +SERIAL_CONSOLE = "115200 tts/0" #build omap1 till nokia releases the patches PREFERRED_PROVIDER_virtual/kernel = "linux-omap1" -BOOTSTRAP_EXTRA_DEPENDS = "virtual/kernel udev sysfsutils \ +BOOTSTRAP_EXTRA_DEPENDS = "virtual/kernel udev sysfsutils nokia770-init \ pcmcia-cs apmd ppp wireless-tools console-tools openswan wpa-supplicant-nossl lrzsz ppp-dialin" -BOOTSTRAP_EXTRA_RDEPENDS = "kernel udev sysfsutils \ +BOOTSTRAP_EXTRA_RDEPENDS = "udev sysfsutils nokia770-init \ pcmcia-cs apm ppp wireless-tools irda-utils udev-utils console-tools" # NFS Modules diff --git a/packages/boost/.mtn2git_empty b/packages/boost/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/boost/.mtn2git_empty diff --git a/packages/boost/boost-jam-native_3.1.9.bb b/packages/boost/boost-jam-native_3.1.9.bb new file mode 100644 index 0000000000..e13d160a37 --- /dev/null +++ b/packages/boost/boost-jam-native_3.1.9.bb @@ -0,0 +1,35 @@ +# The Boost web site provides free peer-reviewed portable +# C++ source libraries. The emphasis is on libraries which +# work well with the C++ Standard Library. The libraries are +# intended to be widely useful, and are in regular use by +# thousands of programmers across a broad spectrum of applications. +DESCRIPTION = "Make system for boost (native)" +HOMEPAGE = "http://www.boost.org/" +MAINTAINER = "John Bowler <jbowler@acm.org>" +SECTION = "devel" +PRIORITY = "optional" +LICENSE = "Boost Software License" + +SRC_URI = "http://download.sourceforge.net/boost/boost-jam-${PV}.tgz" + +inherit native + +S = "${WORKDIR}/boost-jam-${PV}" + +do_compile() { + set -ex + rm -rf bin.* + ./build.sh gcc +} + +# This is too terrible - the build script doesn't give any good +# way I can see to find out where the binaries are placed, so +# rely on only one bin.foo directory being created. +do_stage() { + set -ex + install -c -m 755 bin.*/jam ${bindir} + install -c -m 755 bin.*/mkjambase ${bindir} + install -c -m 755 bin.*/yyacc ${bindir} + rm -f ${bindir}/bjam + ln ${bindir}/jam ${bindir}/bjam +} diff --git a/packages/boost/boost_1.32.0.bb b/packages/boost/boost_1.32.0.bb new file mode 100644 index 0000000000..2dd2a0da28 --- /dev/null +++ b/packages/boost/boost_1.32.0.bb @@ -0,0 +1,139 @@ +# The Boost web site provides free peer-reviewed portable +# C++ source libraries. The emphasis is on libraries which +# work well with the C++ Standard Library. The libraries are +# intended to be widely useful, and are in regular use by +# thousands of programmers across a broad spectrum of applications. +DESCRIPTION = "Free peer-reviewed portable C++ source libraries" +HOMEPAGE = "http://www.boost.org/" +MAINTAINER = "John Bowler <jbowler@acm.org>" +SECTION = "devel" +PRIORITY = "optional" +LICENSE = "Boost Software License" +PR = "r1" + +# need debian package naming for the libs +inherit debian + +DEPENDS += "boost-jam-native" + +BOOST_VER = "${@"_".join(bb.data.getVar("PV",d,1).split("."))}" +BOOST_MAJ = "${@"_".join(bb.data.getVar("PV",d,1).split(".")[0:2])}" +BOOST_P = "boost_${BOOST_VER}" +SRC_URI = "http://download.sourceforge.net/boost/${BOOST_P}.tar.bz2 \ + file://unit_test_log10f.patch;patch=1 \ + file://linux-uclibc.patch;patch=1 \ + " + +S = "${WORKDIR}/${BOOST_P}" + +# Make a package for each library, plus -dev and -python +PACKAGES = + +PACKAGES += boost-date-time +FILES_boost-date-time = "${libdir}/libboost_date_time.so.${PV}" + +PACKAGES += boost-filesystem +FILES_boost-filesystem = "${libdir}/libboost_filesystem.so.${PV}" + +PACKAGES += boost-prg-exec-monitor +FILES_boost-prg-exec-monitor = "${libdir}/libboost_prg_exec_monitor.so.${PV}" + +PACKAGES += boost-program-options +FILES_boost-program-options = "${libdir}/libboost_program_options.so.${PV}" + +PACKAGES += boost-regex +FILES_boost-regex = "${libdir}/libboost_regex.so.${PV}" + +PACKAGES += boost-signals +FILES_boost-signals = "${libdir}/libboost_signals.so.${PV}" + +PACKAGES += boost-test-exec-monitor +FILES_boost-test-exec-monitor = "${libdir}/libboost_test_exec_monitor.so.${PV}" + +PACKAGES += boost-thread-mt +FILES_boost-thread-mt = "${libdir}/libboost_thread-mt.so.${PV}" + +PACKAGES += boost-unit-test-framework +FILES_boost-unit-test-framework = "${libdir}/libboost_unit_test_framework.so.${PV}" + +# Python - remove this and set: +#PYTHON_ROOT = "/dev/null" +# to remove the python build +DEPENDS += "python" +PYTHON_ROOT = "${STAGING_DIR}/${HOST_SYS}" +PYTHON_VERSION = "2.4" + +PACKAGES += boost-python +FILES_boost-python = "${libdir}/libboost_python.so.${PV}" + +# -dev last to pick up the remaining stuff +PACKAGES += "${PN}-dev" +FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a" + +# Oh yippee, a new build system, it's sooo cooool I could eat my own +# foot. inlining=on lets the compiler choose, I think. At least this +# stuff is documented... +# NOTE: if you leave <debug-symbols>on then in a debug build the build sys +# objcopy will be invoked, and that won't work. Building debug apparently +# requires hacking gcc-tools.jam +# +# Sometimes I wake up screaming. Famous figures are gathered in the nightmare, +# Steve Bourne, Larry Wall, the whole of the ANSI C committee. They're just +# standing there, waiting, but the truely terrifying thing is what they carry +# in their hands. At first sight each seems to bear the same thing, but it is +# not so for the forms in their grasp are ever so slightly different one from +# the other. Each is twisted in some grotesque way from the other to make each +# an unspeakable perversion impossible to perceive without the onset of madness. +# True insanity awaits anyone who perceives all of these horrors together. +# +# Quotation marks, there might be an easier way to do this, but I can't find +# it. The problem is that the user.hpp configuration file must receive a +# pre-processor macro defined as the appropriate string - complete with "'s +# around it. (<> is a possibility here but the danger to that is that the +# failure case interprets the < and > as shell redirections, creating +# random files in the source tree.) +# +#bjam: '-DBOOST_PLATFORM_CONFIG=\"config\"' +#do_compile: '-sGCC=... '"'-DBOOST_PLATFORM_CONFIG=\"config\"'" +SQD = '"' +EQD = '\"' +#boost.bb: "... '-sGCC=... '${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}config${EQD}'${SQD} ..." +BJAM_CONF = "${SQD}'-DBOOST_PLATFORM_CONFIG=${EQD}boost/config/platform/${TARGET_OS}.hpp${EQD}'${SQD}" + +BJAM_TOOLS = "-sTOOLS=gcc \ + '-sGCC=${CC} '${BJAM_CONF} \ + '-sGXX=${CXX} '${BJAM_CONF} \ + -sBUILD='release <optimization>space <inlining>on <debug-symbols>off' \ + '-sPYTHON_VERSION=${PYTHON_VERSION}' \ + --layout=system \ + " + +BJAM_OPTS = '${BJAM_TOOLS} \ + --builddir=${S}/${TARGET_SYS} \ + --with-python-root=${PYTHON_ROOT} \ + ${BJAM_EXTRA}' + + +do_compile() { + set -ex + bjam ${BJAM_OPTS} --prefix=${prefix} \ + --exec-prefix=${exec_prefix} \ + --libdir=${libdir} \ + --includedir=${includedir} +} + +do_stage() { + set -ex + bjam ${BJAM_OPTS} \ + --libdir=${STAGING_LIBDIR} \ + --includedir=${STAGING_INCDIR} \ + install +} + +do_install() { + set -ex + bjam ${BJAM_OPTS} \ + --libdir=${D}${libdir} \ + --includedir=${D}${includedir} \ + install +} diff --git a/packages/boost/files/.mtn2git_empty b/packages/boost/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/boost/files/.mtn2git_empty diff --git a/packages/boost/files/linux-uclibc.patch b/packages/boost/files/linux-uclibc.patch new file mode 100644 index 0000000000..79f14dea88 --- /dev/null +++ b/packages/boost/files/linux-uclibc.patch @@ -0,0 +1,10 @@ +--- /dev/null 1969-12-31 16:00:00.000000000 -0800 ++++ boost_1_32_0/boost/config/platform/linux-uclibc.hpp 2005-07-05 14:51:56.237294460 -0700 +@@ -0,0 +1,7 @@ ++// Modifications required to support uClibC libc implementation. ++// Default to Linux... ++#include "linux.hpp" ++ ++// Override anything uClibC doesn't support. ++// At present (0.9.27) the nl_types.h header exists but is not implemented ++#undef BOOST_HAS_NL_TYPES_H diff --git a/packages/boost/files/unit_test_log10f.patch b/packages/boost/files/unit_test_log10f.patch new file mode 100644 index 0000000000..b235e12446 --- /dev/null +++ b/packages/boost/files/unit_test_log10f.patch @@ -0,0 +1,20 @@ +--- boost_1_32_0/libs/test/src/unit_test_result.cpp.orig 2005-07-05 11:00:53.887594850 -0700 ++++ boost_1_32_0/libs/test/src/unit_test_result.cpp 2005-07-05 11:01:20.683533034 -0700 +@@ -144,7 +144,7 @@ + unit_test_counter num_passed, unit_test_counter num_failed ) + { + unit_test_counter total_test_cases = num_passed + num_failed; +- std::size_t width = static_cast<std::size_t>( std::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1; ++ std::size_t width = static_cast<std::size_t>( std::log10( (double)(std::max)( num_passed, num_failed ) ) ) + 1; + + where_to << std::setw( indent ) << "" << std::setw( width ) << num_passed + << " test " << ps_name( num_passed != 1, "case" ) << " out of " << total_test_cases << " passed\n" +@@ -158,7 +158,7 @@ + { + unit_test_counter total_assertions = num_passed + num_failed; + std::size_t width = total_assertions > 0 +- ? static_cast<std::size_t>( std::log10( (float)(std::max)( num_passed, num_failed ) ) ) + 1 ++ ? static_cast<std::size_t>( std::log10( (double)(std::max)( num_passed, num_failed ) ) ) + 1 + : 1; + + where_to << std::setw( indent ) << "" << std::setw( width ) << num_passed diff --git a/packages/devio/devio-native_r2.bb b/packages/devio/devio-native_r2.bb new file mode 100644 index 0000000000..6f4e9b7f7e --- /dev/null +++ b/packages/devio/devio-native_r2.bb @@ -0,0 +1,7 @@ +# This package builds the devio program for the build architecture +include devio_${PV}.bb + +# Set the installation dir back to the default +sbindir = "${exec_prefix}/sbin" + +inherit native diff --git a/packages/devio/devio_r2.bb b/packages/devio/devio_r2.bb new file mode 100644 index 0000000000..4dc70b2311 --- /dev/null +++ b/packages/devio/devio_r2.bb @@ -0,0 +1,25 @@ +# This package builds the devio program +PR = "r0" +DESCRIPTION = "devio - block devio io" +HOMEPAGE = "http://devio.sourceforge.net/" +MAINTAINER = "John Bowler <jbowler@acm.org>" +SECTION = "base" +LICENSE = "MIT" + +SRC_URI = "cvs://anonymous@cvs.sourceforge.net/cvsroot/devio;method=pserver;module=devio;tag=${PV}" +# This accesses the head version, anonymous pserver access is +# only updated once per day (and it is necessary to change +# 'jbowler' to the name of a developer with ssh access.) +#SRC_URI = "cvs://jbowler@cvs.sourceforge.net/cvsroot/devio;method=ext;rsh=ssh;tag=HEAD;module=devio" + +# The source will end up in the subdirectory 'devio' - no release name +S = "${WORKDIR}/devio" + +# Just the one package at present +PACKAGES = "${PN}" + +# Set the install dir to /sbin, not /usr/sbin, because devio is used +# during bootstrap (we want it to be posible to mount /usr separately) +sbindir = "/sbin" + +inherit autotools diff --git a/packages/libusb/libusb-0.1.10a/.mtn2git_empty b/packages/libusb/libusb-0.1.10a/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/libusb/libusb-0.1.10a/.mtn2git_empty diff --git a/packages/libusb/libusb-0.1.10a/debian-changes.patch b/packages/libusb/libusb-0.1.10a/debian-changes.patch new file mode 100644 index 0000000000..6f79bc7950 --- /dev/null +++ b/packages/libusb/libusb-0.1.10a/debian-changes.patch @@ -0,0 +1,407 @@ +diff -urN libusb_0.1.10a.orig/bsd.c libusb-0.1.10a/bsd.c +--- libusb_0.1.10a.orig/bsd.c 2004-02-18 08:34:52.000000000 +0100 ++++ libusb-0.1.10a/bsd.c 2005-06-30 19:40:00.000000000 +0200 +@@ -25,6 +25,10 @@ + * for both read and write. + */ + ++#if defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) ++#define __FreeBSD_kernel__ __FreeBSD__ ++#endif ++ + #include <stdlib.h> + #include <unistd.h> + #include <string.h> +@@ -142,7 +146,7 @@ + USB_ERROR(-ENOMEM); + dev->impl_info = info; + +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + snprintf(ctlpath, PATH_MAX, "%s", dev->device->filename); + #else + snprintf(ctlpath, PATH_MAX, "%s.00", dev->device->filename); +@@ -255,7 +259,7 @@ + ep = UE_GET_ADDR(ep); + + if (info->ep_fd[ep] < 0) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + snprintf(buf, sizeof(buf) - 1, "%s.%d", dev->device->filename, ep); + #else + snprintf(buf, sizeof(buf) - 1, "%s.%02d", dev->device->filename, ep); +@@ -286,7 +290,7 @@ + fd = ensure_ep_open(dev, ep, O_WRONLY); + if (fd < 0) { + if (usb_debug >= 2) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); + #else + fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); +@@ -302,7 +306,7 @@ + + ret = write(fd, bytes, size); + if (ret < 0) +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + USB_ERROR_STR(-errno, "error writing to bulk endpoint %s.%d: %s", + dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); + #else +@@ -324,7 +328,7 @@ + fd = ensure_ep_open(dev, ep, O_RDONLY); + if (fd < 0) { + if (usb_debug >= 2) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); + #else + fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); +@@ -343,7 +347,7 @@ + + ret = read(fd, bytes, size); + if (ret < 0) +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + USB_ERROR_STR(-errno, "error reading from bulk endpoint %s.%d: %s", + dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); + #else +@@ -365,7 +369,7 @@ + fd = ensure_ep_open(dev, ep, O_WRONLY); + if (fd < 0) { + if (usb_debug >= 2) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); + #else + fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); +@@ -382,7 +386,7 @@ + do { + ret = write(fd, bytes+sent, size-sent); + if (ret < 0) +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + USB_ERROR_STR(-errno, "error writing to interrupt endpoint %s.%d: %s", + dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); + #else +@@ -407,7 +411,7 @@ + fd = ensure_ep_open(dev, ep, O_RDONLY); + if (fd < 0) { + if (usb_debug >= 2) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); + #else + fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); +@@ -427,7 +431,7 @@ + do { + ret = read(fd, bytes+retrieved, size-retrieved); + if (ret < 0) +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%d: %s", + dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); + #else +@@ -543,7 +547,7 @@ + /* best not to play with things we don't understand */ + continue; + +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + snprintf(buf, sizeof(buf) - 1, "/dev/%s", di.udi_devnames[0]); + #else + snprintf(buf, sizeof(buf) - 1, "/dev/%s.00", di.udi_devnames[0]); +diff -urN libusb_0.1.10a.orig/linux.c libusb-0.1.10a/linux.c +--- libusb_0.1.10a.orig/linux.c 2005-02-11 03:16:10.000000000 +0100 ++++ libusb-0.1.10a/linux.c 2005-06-30 19:40:00.000000000 +0200 +@@ -156,6 +156,8 @@ + return ret; + } + ++#define URB_USERCONTEXT_COOKIE ((void *)0x1) ++ + /* Reading and writing are the same except for the endpoint */ + static int usb_urb_transfer(usb_dev_handle *dev, int ep, int urbtype, + char *bytes, int size, int timeout) +@@ -163,14 +165,16 @@ + struct usb_urb urb; + unsigned int bytesdone = 0, requested; + struct timeval tv, tv_ref, tv_now; +- void *context; ++ struct usb_urb *context; + int ret, waiting; + + /* +- * FIXME: The use of the URB interface is incorrect here if there are +- * multiple callers at the same time. We assume we're the only caller +- * and if we get completions from another caller, this code will fail +- * in interesting ways. ++ * HACK: The use of urb.usercontext is a hack to get threaded applications ++ * sort of working again. Threaded support is still not recommended, but ++ * this should allow applications to work in the common cases. Basically, ++ * if we get the completion for an URB we're not waiting for, then we update ++ * the usercontext pointer to 1 for the other threads URB and it will see ++ * the change after it wakes up from the the timeout. Ugly, but it works. + */ + + /* +@@ -198,10 +202,10 @@ + urb.flags = 0; + urb.buffer = bytes + bytesdone; + urb.buffer_length = requested; +- urb.usercontext = (void *)ep; + urb.signr = 0; + urb.actual_length = 0; + urb.number_of_packets = 0; /* don't do isochronous yet */ ++ urb.usercontext = NULL; + + ret = ioctl(dev->fd, IOCTL_USB_SUBMITURB, &urb); + if (ret < 0) { +@@ -212,18 +216,28 @@ + FD_ZERO(&writefds); + FD_SET(dev->fd, &writefds); + ++restart: + waiting = 1; +- while (((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) { ++ context = NULL; ++ while (!urb.usercontext && ((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) { + tv.tv_sec = 0; + tv.tv_usec = 1000; // 1 msec + select(dev->fd + 1, NULL, &writefds, NULL, &tv); //sub second wait + +- /* compare with actual time, as the select timeout is not that precise */ +- gettimeofday(&tv_now, NULL); ++ if (timeout) { ++ /* compare with actual time, as the select timeout is not that precise */ ++ gettimeofday(&tv_now, NULL); ++ ++ if ((tv_now.tv_sec > tv_ref.tv_sec) || ++ ((tv_now.tv_sec == tv_ref.tv_sec) && (tv_now.tv_usec >= tv_ref.tv_usec))) ++ waiting = 0; ++ } ++ } + +- if ((tv_now.tv_sec > tv_ref.tv_sec) || +- ((tv_now.tv_sec == tv_ref.tv_sec) && (tv_now.tv_usec >= tv_ref.tv_usec))) +- waiting = 0; ++ if (context && context != &urb) { ++ context->usercontext = URB_USERCONTEXT_COOKIE; ++ /* We need to restart since we got a successful URB, but not ours */ ++ goto restart; + } + + /* +@@ -231,14 +245,14 @@ + * something happened during the reaping and we should return that + * error now + */ +- if (ret < 0 && errno != EAGAIN) ++ if (ret < 0 && !urb.usercontext && errno != EAGAIN) + USB_ERROR_STR(-errno, "error reaping URB: %s", strerror(errno)); + + bytesdone += urb.actual_length; +- } while (ret == 0 && bytesdone < size && urb.actual_length == requested); ++ } while ((ret == 0 || urb.usercontext) && bytesdone < size && urb.actual_length == requested); + + /* If the URB didn't complete in success or error, then let's unlink it */ +- if (ret < 0) { ++ if (ret < 0 && !urb.usercontext) { + int rc; + + if (!waiting) +diff -urN libusb_0.1.10a.orig/usb.h.in libusb-0.1.10a/usb.h.in +--- libusb_0.1.10a.orig/usb.h.in 2004-08-03 20:20:38.000000000 +0200 ++++ libusb-0.1.10a/usb.h.in 2005-06-30 19:40:00.000000000 +0200 +@@ -13,8 +13,9 @@ + + #include <unistd.h> + #include <stdlib.h> ++#include <stdint.h> + #include <limits.h> +- ++#include <sys/param.h> + #include <dirent.h> + + /* +@@ -63,40 +64,40 @@ + + /* All standard descriptors have these 2 fields in common */ + struct usb_descriptor_header { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +-}; ++ uint8_t bLength; ++ uint8_t bDescriptorType; ++} __attribute__ ((packed)); + + /* String descriptor */ + struct usb_string_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int16_t wData[1]; +-}; ++ uint8_t bLength; ++ uint8_t bDescriptorType; ++ uint16_t wData[1]; ++} __attribute__ ((packed)); + + /* HID descriptor */ + struct usb_hid_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int16_t bcdHID; +- u_int8_t bCountryCode; +- u_int8_t bNumDescriptors; +- /* u_int8_t bReportDescriptorType; */ +- /* u_int16_t wDescriptorLength; */ ++ uint8_t bLength; ++ uint8_t bDescriptorType; ++ uint16_t bcdHID; ++ uint8_t bCountryCode; ++ uint8_t bNumDescriptors; ++ /* uint8_t bReportDescriptorType; */ ++ /* uint16_t wDescriptorLength; */ + /* ... */ +-}; ++} __attribute__ ((packed)); + + /* Endpoint descriptor */ + #define USB_MAXENDPOINTS 32 + struct usb_endpoint_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int8_t bEndpointAddress; +- u_int8_t bmAttributes; +- u_int16_t wMaxPacketSize; +- u_int8_t bInterval; +- u_int8_t bRefresh; +- u_int8_t bSynchAddress; ++ uint8_t bLength __attribute__ ((packed)); ++ uint8_t bDescriptorType __attribute__ ((packed)); ++ uint8_t bEndpointAddress __attribute__ ((packed)); ++ uint8_t bmAttributes __attribute__ ((packed)); ++ uint16_t wMaxPacketSize __attribute__ ((packed)); ++ uint8_t bInterval __attribute__ ((packed)); ++ uint8_t bRefresh __attribute__ ((packed)); ++ uint8_t bSynchAddress __attribute__ ((packed)); + + unsigned char *extra; /* Extra descriptors */ + int extralen; +@@ -114,15 +115,15 @@ + /* Interface descriptor */ + #define USB_MAXINTERFACES 32 + struct usb_interface_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int8_t bInterfaceNumber; +- u_int8_t bAlternateSetting; +- u_int8_t bNumEndpoints; +- u_int8_t bInterfaceClass; +- u_int8_t bInterfaceSubClass; +- u_int8_t bInterfaceProtocol; +- u_int8_t iInterface; ++ uint8_t bLength __attribute__ ((packed));; ++ uint8_t bDescriptorType __attribute__ ((packed));; ++ uint8_t bInterfaceNumber __attribute__ ((packed));; ++ uint8_t bAlternateSetting __attribute__ ((packed));; ++ uint8_t bNumEndpoints __attribute__ ((packed));; ++ uint8_t bInterfaceClass __attribute__ ((packed));; ++ uint8_t bInterfaceSubClass __attribute__ ((packed));; ++ uint8_t bInterfaceProtocol __attribute__ ((packed));; ++ uint8_t iInterface __attribute__ ((packed));; + + struct usb_endpoint_descriptor *endpoint; + +@@ -140,14 +141,14 @@ + /* Configuration descriptor information.. */ + #define USB_MAXCONFIG 8 + struct usb_config_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int16_t wTotalLength; +- u_int8_t bNumInterfaces; +- u_int8_t bConfigurationValue; +- u_int8_t iConfiguration; +- u_int8_t bmAttributes; +- u_int8_t MaxPower; ++ uint8_t bLength __attribute__ ((packed)); ++ uint8_t bDescriptorType __attribute__ ((packed)); ++ uint16_t wTotalLength __attribute__ ((packed)); ++ uint8_t bNumInterfaces __attribute__ ((packed)); ++ uint8_t bConfigurationValue __attribute__ ((packed)); ++ uint8_t iConfiguration __attribute__ ((packed)); ++ uint8_t bmAttributes __attribute__ ((packed)); ++ uint8_t MaxPower __attribute__ ((packed)); + + struct usb_interface *interface; + +@@ -157,29 +158,29 @@ + + /* Device descriptor */ + struct usb_device_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int16_t bcdUSB; +- u_int8_t bDeviceClass; +- u_int8_t bDeviceSubClass; +- u_int8_t bDeviceProtocol; +- u_int8_t bMaxPacketSize0; +- u_int16_t idVendor; +- u_int16_t idProduct; +- u_int16_t bcdDevice; +- u_int8_t iManufacturer; +- u_int8_t iProduct; +- u_int8_t iSerialNumber; +- u_int8_t bNumConfigurations; +-}; ++ uint8_t bLength; ++ uint8_t bDescriptorType; ++ uint16_t bcdUSB; ++ uint8_t bDeviceClass; ++ uint8_t bDeviceSubClass; ++ uint8_t bDeviceProtocol; ++ uint8_t bMaxPacketSize0; ++ uint16_t idVendor; ++ uint16_t idProduct; ++ uint16_t bcdDevice; ++ uint8_t iManufacturer; ++ uint8_t iProduct; ++ uint8_t iSerialNumber; ++ uint8_t bNumConfigurations; ++} __attribute__ ((packed)); + + struct usb_ctrl_setup { +- u_int8_t bRequestType; +- u_int8_t bRequest; +- u_int16_t wValue; +- u_int16_t wIndex; +- u_int16_t wLength; +-}; ++ uint8_t bRequestType; ++ uint8_t bRequest; ++ uint16_t wValue; ++ uint16_t wIndex; ++ uint16_t wLength; ++} __attribute__ ((packed)); + + /* + * Standard requests +@@ -249,7 +250,7 @@ + + void *dev; /* Darwin support */ + +- u_int8_t devnum; ++ uint8_t devnum; + + unsigned char num_children; + struct usb_device **children; +@@ -261,7 +262,7 @@ + char dirname[PATH_MAX + 1]; + + struct usb_device *devices; +- u_int32_t location; ++ uint32_t location; + + struct usb_device *root_dev; + }; diff --git a/packages/libusb/libusb_0.1.10a.bb b/packages/libusb/libusb_0.1.10a.bb index abab4c467d..134e90b379 100644 --- a/packages/libusb/libusb_0.1.10a.bb +++ b/packages/libusb/libusb_0.1.10a.bb @@ -2,9 +2,10 @@ DESCRIPTION = "libusb is a library to provide userspace \ access to USB devices." SECTION = "libs" LICENSE = "LGPL" -PR = "r1" +PR = "r2" -SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.gz \ + file://debian-changes.patch;patch=1" inherit autotools pkgconfig diff --git a/packages/maemo/gconf-osso/gconf-daemon-dbus-oe.sh b/packages/maemo/gconf-osso/gconf-daemon-dbus-oe.sh index 90dfdb7eb0..90dfdb7eb0 100644..100755 --- a/packages/maemo/gconf-osso/gconf-daemon-dbus-oe.sh +++ b/packages/maemo/gconf-osso/gconf-daemon-db |
