Merge branch 'org.openembedded.dev' of git://git.openembedded.net/openembedded into...
authorFelix Domke <tmbinc@elitedvb.net>
Thu, 30 Oct 2008 22:52:58 +0000 (23:52 +0100)
committerFelix Domke <tmbinc@elitedvb.net>
Thu, 30 Oct 2008 22:52:58 +0000 (23:52 +0100)
Conflicts:

packages/gstreamer/gst-plugins-bad_0.10.6.bb
packages/gstreamer/gst-plugins-base_0.10.17.bb
packages/gstreamer/gst-plugins.inc

151 files changed:
classes/insane.bbclass
classes/kernel.bbclass
classes/package.bbclass
classes/package_deb.bbclass
classes/package_ipk.bbclass
classes/package_rpm.bbclass
classes/package_tar.bbclass
classes/packaged-staging.bbclass
classes/sanity.bbclass
classes/sourcepkg.bbclass
conf/abi_version.conf [new file with mode: 0644]
conf/bitbake.conf
conf/checksums.ini
conf/distro/include/fso-autorev.inc
conf/distro/include/preferred-om-2008-versions.inc
conf/distro/include/sane-srcrevs.inc
conf/distro/include/slugos.inc
conf/machine/include/tune-geodelx.inc
conf/machine/omap5912osk.conf
conf/machine/qemuarm.conf
conf/machine/xo.conf [new file with mode: 0644]
conf/sanity.conf
contrib/angstrom/build-feeds.sh
contrib/weekly-changelog-report.py
packages/apmd/apmd_3.2.2.bb
packages/binutils/binutils-2.19/110-arm-eabi-conf.patch [new file with mode: 0644]
packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch [new file with mode: 0644]
packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch [new file with mode: 0644]
packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch [new file with mode: 0644]
packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch [new file with mode: 0644]
packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch [new file with mode: 0644]
packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch [new file with mode: 0644]
packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch [new file with mode: 0644]
packages/binutils/binutils-cross-sdk_2.19.bb [new file with mode: 0644]
packages/binutils/binutils-cross_2.19.bb [new file with mode: 0644]
packages/binutils/binutils_2.19.bb [new file with mode: 0644]
packages/bluez/bluez-gnome_0.26.bb
packages/bluez/bluez-utils/sbc-thumb.patch [new file with mode: 0644]
packages/bluez/bluez-utils3.inc
packages/busybox/busybox.inc
packages/clutter/moblin-proto_git.bb
packages/dbus/dbus-1.0.3/fedora-compile-fix.patch [new file with mode: 0644]
packages/dbus/dbus-native_1.0.3.bb
packages/dropbear/dropbear.inc
packages/dropbear/dropbear/openmoko/default [new file with mode: 0644]
packages/dropbear/dropbear_0.51.bb
packages/dsplink/codec-engine_2.21.bb
packages/dsplink/files/cmemk-fix-class-device-api.diff [new file with mode: 0644]
packages/dsplink/ti-cmemk-module_2.21.bb
packages/dsplink/ti-lpm-module_2.21.bb
packages/dsplink/ti-paths.inc
packages/e17/e-wm/Xsession.d/98enlightenment [deleted file]
packages/e17/e-wm_svn.bb
packages/freenote/freenote_1.12.0.bb
packages/freesmartphone/frameworkd-devel_git.bb [new file with mode: 0644]
packages/freesmartphone/frameworkd_git.bb
packages/freesmartphone/fso-gpsd_git.bb
packages/freesmartphone/gsm0710muxd_git.bb
packages/freesmartphone/illume-theme-freesmartphone_git.bb
packages/freesmartphone/libframeworkd-glib_git.bb [new file with mode: 0644]
packages/glib-2.0/files/atomic-thumb.patch [new file with mode: 0644]
packages/glib-2.0/glib-2.0_2.16.4.bb
packages/gnumeric/gnumeric_1.8.3.bb
packages/gnupg/gnupg-1.4.2.2/long-long-thumb.patch [new file with mode: 0644]
packages/gnupg/gnupg_1.4.2.2.bb
packages/gstreamer/gst-plugins-bad/ivorbis-thumb.patch [new file with mode: 0644]
packages/gstreamer/gst-plugins-bad_0.10.6.bb
packages/gstreamer/gst-plugins-base_0.10.17.bb
packages/gstreamer/gst-plugins.inc
packages/gtk+/gtk+.inc
packages/hal/hal-0.5.11/fix-configure.diff [new file with mode: 0644]
packages/hal/hal_0.5.11.bb [new file with mode: 0644]
packages/images/openmoko-asu-image.bb [new file with mode: 0644]
packages/initscripts/initscripts-1.0/checkroot.sh
packages/kexecboot/linux-kexecboot-2.6.26/akita/defconfig
packages/kexecboot/linux-kexecboot-2.6.26/c7x0/defconfig
packages/kexecboot/linux-kexecboot-2.6.26/poodle/defconfig
packages/linux/linux-omap/0001-Removed-resolution-check-that-prevents-scaling-when.patch [new file with mode: 0644]
packages/linux/linux-omap_git.bb
packages/linux/linux-xo/defconfig [new file with mode: 0644]
packages/linux/linux-xo_git.bb [new file with mode: 0644]
packages/mono/mono_1.2.5.1.bb
packages/mono/mono_1.2.6.bb
packages/mono/mono_svn.bb
packages/mono/mono_svn.inc
packages/mozilla/fennec/mozconfig
packages/mozilla/firefox-3.0.1/mozconfig
packages/mpfr/long-long-thumb.patch [new file with mode: 0644]
packages/mpfr/mpfr_2.3.1.bb
packages/mplayer/mplayer_svn.bb
packages/nonworking/hal/hal_0.5.11.bb [deleted file]
packages/nunome/nunome_1.0.2.bb
packages/openmoko-projects/assassin-thumbnail.bb [new file with mode: 0644]
packages/openmoko-projects/assassin_svn.bb
packages/openmoko-projects/diversity-maps-taipei_20080430.bb [deleted file]
packages/openmoko-projects/diversity-maps.inc [deleted file]
packages/openmoko-projects/diversity-radar_svn.bb [new file with mode: 0644]
packages/openmoko-projects/exposure/setup-r62.diff [new file with mode: 0644]
packages/openmoko-projects/om-locations_git.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-berlin_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-buenos-aires_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-hong-kong_20080919.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-london_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-low-levels_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-new-york_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-paris_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-providence_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-san-francisco_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-sydney_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps-taipei_20080430.bb [new file with mode: 0644]
packages/openmoko-projects/om-maps.inc [new file with mode: 0644]
packages/openmoko-projects/om-settings_svn.bb [new file with mode: 0644]
packages/openmoko-projects/openmoko-community-repository.bb [new file with mode: 0644]
packages/openmoko-projects/tichy_svn.bb
packages/openmoko-tools/app-restarter_svn.bb [new file with mode: 0644]
packages/openmoko-tools/openmoko-set-root-password.bb [new file with mode: 0644]
packages/packagekit/files/d1e096c3267c1c9492041382b954e9327bc8bbec.patch [deleted file]
packages/packagekit/files/force_depends.patch [new file with mode: 0644]
packages/packagekit/files/modify_summary_and_adding_reposi_info.patch [new file with mode: 0644]
packages/packagekit/files/pk-nodocs.patch [deleted file]
packages/packagekit/files/racing_condition.patch [new file with mode: 0644]
packages/packagekit/files/remove_search_memory_leak.patch [new file with mode: 0644]
packages/packagekit/files/repository-ping.patch [new file with mode: 0644]
packages/packagekit/packagekit_git.bb
packages/podget/podget-0.5.8/busybox_df.patch [new file with mode: 0644]
packages/podget/podget_0.5.8.bb [new file with mode: 0644]
packages/tasks/task-cli-tools.bb [new file with mode: 0644]
packages/tasks/task-fso-compliance.bb
packages/tasks/task-mipl.bb
packages/tasks/task-openmoko-asu.bb [new file with mode: 0644]
packages/tasks/task-openmoko-feed.bb
packages/tasks/task-openprotium.bb
packages/tremor/tremor_20041119.bb
packages/xerces-c/xerces-c_2.8.0.bb
packages/xfce/exo/exo-no-tests.patch [new file with mode: 0644]
packages/xfce/exo_0.3.4.bb
packages/xfce/gtk-xfce-engine_2.4.2.bb
packages/xfce/thunar_0.9.0.bb
packages/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi [new file with mode: 0644]
packages/xorg-driver/xf86-input-tslib_0.0.5.bb [new file with mode: 0644]
packages/xorg-driver/xf86-video-omapfb_git.bb
packages/xorg-xserver/files/xcalibrate-xorg.diff [new file with mode: 0644]
packages/xorg-xserver/xorg-xserver-common.inc
packages/xorg-xserver/xserver-xorg/omap3evm/xorg.conf [new file with mode: 0644]
packages/xorg-xserver/xserver-xorg_1.2.0.bb
packages/xorg-xserver/xserver-xorg_1.3.0.0.bb
packages/xorg-xserver/xserver-xorg_1.4.2.bb
packages/xorg-xserver/xserver-xorg_1.4.bb
packages/xorg-xserver/xserver-xorg_cvs.bb
packages/xserver-kdrive-common/xserver-nodm-init.bb
packages/xserver-kdrive-common/xserver-nodm-init/xserver-nodm

index 6608666..7c9966f 100644 (file)
@@ -183,7 +183,7 @@ def package_qa_make_fatal_error(error_class, name, path,d):
 
     TODO: Load a whitelist of known errors
     """
-    return not error_class in [0, 5, 7]
+    return not error_class in [0, 5, 7, 9]
 
 def package_qa_write_error(error_class, name, path, d):
     """
@@ -204,6 +204,7 @@ def package_qa_write_error(error_class, name, path, d):
         "evil hides inside the .pc",
         "the desktop file is not valid",
         ".la contains reference to the workdir",
+        "LDFLAGS ignored",
     ]
 
     log_path = os.path.join( bb.data.getVar('T', d, True), "log.qa_package" )
@@ -325,6 +326,41 @@ def package_qa_check_desktop(path, name, d):
 
     return sane
 
+def package_qa_hash_style(path, name, d):
+    """
+    Check if the binary has the right hash style...
+    """
+    import bb, os
+
+    if os.path.islink(path):
+        return True
+
+    gnu_hash = "--hash-style=gnu" in bb.data.getVar('LDFLAGS', d, True)
+    if not gnu_hash:
+        gnu_hash = "--hash-style=both" in bb.data.getVar('LDFLAGS', d, True)
+
+    objdump = bb.data.getVar('OBJDUMP', d, True)
+    env_path = bb.data.getVar('PATH', d, True)
+
+    sane = True
+    elf = False
+    # A bit hacky. We do not know if path is an elf binary or not
+    # we will search for 'NEEDED' or 'INIT' as this should be printed...
+    # and come before the HASH section (guess!!!) and works on split out
+    # debug symbols too
+    for line in os.popen("LC_ALL=C PATH=%s %s -p '%s' 2> /dev/null" % (env_path, objdump, path), "r"):
+        if "NEEDED" in line or "INIT" in line:
+            sane = False
+            elf = True
+        if "GNU_HASH" in line:
+            sane = True
+
+    if elf and not sane:
+        error_msg = "No GNU_HASH in the elf binary: '%s'" % path
+        return package_qa_handle_error(9, error_msg, name, path, d)
+
+    return True
+
 def package_qa_check_staged(path,d):
     """
     Check staged la and pc files for sanity
@@ -422,6 +458,7 @@ def package_qa_check_rdepends(pkg, workdir, d):
 
 # The PACKAGE FUNC to scan each package
 python do_package_qa () {
+    import bb
     bb.note("DO PACKAGE QA")
     workdir = bb.data.getVar('WORKDIR', d, True)
     packages = bb.data.getVar('PACKAGES',d, True)
@@ -432,7 +469,7 @@ python do_package_qa () {
 
     checks = [package_qa_check_rpath, package_qa_check_devdbg,
               package_qa_check_perm, package_qa_check_arch,
-              package_qa_check_desktop]
+              package_qa_check_desktop, package_qa_hash_style]
     walk_sane = True
     rdepends_sane = True
     for package in packages.split():
index 266a89d..742654e 100644 (file)
@@ -91,12 +91,15 @@ kernel_do_compile() {
 }
 kernel_do_compile[depends] = "${INITRAMFS_TASK}"
 
-
 kernel_do_stage() {
        ASMDIR=`readlink include/asm`
 
        mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR
        cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+       # Kernel 2.6.27 moved headers from includes/asm-${ARCH} to arch/${ARCH/include/asm      
+       if [ -e arch/${ARCH}/include/asm/ ] ; then 
+               cp -fR arch/${ARCH}/include/asm/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+       fi
        rm -f $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
        ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
 
index c436867..e3be9c4 100644 (file)
@@ -4,13 +4,6 @@
 
 PKGDEST = "${WORKDIR}/install"
 
-def build_package_revision(d):
-       import bb
-       file_pr = bb.data.getVar('PR', d, True)
-       distro_pr = bb.data.getVar('DISTRO_PR', d, True) or ""
-       return "%s%s" % (file_pr, distro_pr)
-
-
 def legitimize_package_name(s):
        """
        Make sure package names are legitimate strings
@@ -560,7 +553,9 @@ emit_pkgdata[dirs] = "${PKGDATA_DIR}/runtime"
 
 ldconfig_postinst_fragment() {
 if [ x"$D" = "x" ]; then
-       [ -x /sbin/ldconfig ] && [ -e /etc/ld.so.conf ] && /sbin/ldconfig
+       if [ -e /etc/ld.so.conf ] ; then
+               [ -x /sbin/ldconfig ] && /sbin/ldconfig
+       fi
 fi
 }
 
index 64d8d4e..6d4abaf 100644 (file)
@@ -131,7 +131,7 @@ python do_package_deb () {
             pass
         if not g and bb.data.getVar('ALLOW_EMPTY', localdata) != "1":
             from bb import note
-            note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), build_package_revision(localdata)))
+            note("Not creating empty archive for %s-%s" % (pkg, bb.data.expand('${PV}-${PR}${DISTRO_PR}', localdata, True)))
             bb.utils.unlockfile(lf)
             continue
 
index e0636ee..29ee327 100644 (file)
@@ -178,7 +178,7 @@ python do_package_ipk () {
                        pass
                if not g and bb.data.getVar('ALLOW_EMPTY', localdata) != "1":
                        from bb import note
-                       note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), build_package_revision(localdata)))
+                       note("Not creating empty archive for %s-%s" % (pkg, bb.data.expand('${PV}-${PR}${DISTRO_PR}', localdata, True)))
                        bb.utils.unlockfile(lf)
                        continue
 
index e10ad90..f0055a1 100644 (file)
@@ -40,7 +40,7 @@ python write_specfile() {
                        pass
        if not files:
                from bb import note
-               note("Not creating empty archive for %s-%s-%s" % (bb.data.getVar('PKG',d, 1), bb.data.getVar('PV', d, 1), build_package_revision(d)))
+               note("Not creating empty archive for %s" % (bb.data.expand('${PKG}-${PV}-${PR}${DISTRO_PR}', d, True))
                return
 
        # output .spec using this metadata store
@@ -57,7 +57,7 @@ python write_specfile() {
                if out_vartranslate[var][0] == "%":
                        continue
                fd.write("%s\t: %s\n" % (out_vartranslate[var], bb.data.getVar(var, d)))
-        fd.write("Release\t: %s\n" % build_package_revision(d))
+        fd.write("Release\t: %s\n" % bb.data.expand('${PR}${DISTRO_PR}', d, True)
        fd.write("Summary\t: .\n")
 
        for var in out_vartranslate.keys():
index 9ce0c98..e5d3f74 100644 (file)
@@ -5,8 +5,7 @@ IMAGE_PKGTYPE ?= "tar"
 python package_tar_fn () {
        import os
        from bb import data
-       fn = os.path.join(bb.data.getVar('DEPLOY_DIR_TAR', d), "%s-%s-%s.tar.gz" % (bb.data.getVar('PKG', d), bb.data.getVar('PV', d), build_package_revision(d)))
-       fn = bb.data.expand(fn, d)
+       fn = os.path.join(bb.data.getVar('DEPLOY_DIR_TAR', d, True), bb.data.expand('${PKG}-${PV}-${PR}${DISTRO_PR}.tar.gz', d, True))
        bb.data.setVar('PKGFN', fn, d)
 }
 
@@ -86,7 +85,7 @@ python do_package_tar () {
                os.chdir(root)
                from glob import glob
                if not glob('*'):
-                       bb.note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), build_package_revision(localdata)))
+                       bb.note("Not creating empty archive for %s" % (pkg, bb.data.expand('${PV}-${PR}${DISTRO_PR}', d, True)))
                        continue
                ret = os.system("tar -czf %s %s" % (tarfn, '.'))
                if ret != 0:
index ed94790..d6272b8 100644 (file)
@@ -13,7 +13,7 @@
 # 
 PSTAGE_PKGVERSION = "${PV}-${PR}"
 PSTAGE_PKGARCH    = "${BUILD_SYS}"
-PSTAGE_EXTRAPATH  ?= ""
+PSTAGE_EXTRAPATH  ?= "/${OELAYOUT_ABI}/${DISTRO_PR}/"
 PSTAGE_PKGPATH    = "${DISTRO}${PSTAGE_EXTRAPATH}"
 PSTAGE_PKGPN      = "${@bb.data.expand('staging-${PN}-${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}', d).replace('_', '-')}"
 PSTAGE_PKGNAME    = "${PSTAGE_PKGPN}_${PSTAGE_PKGVERSION}_${PSTAGE_PKGARCH}.ipk"
index 7aabe04..027d948 100644 (file)
@@ -131,6 +131,8 @@ def check_sanity(e):
                if (f.read().strip() != tmpdir):
                        messages = messages + "Error, TMPDIR has changed location. You need to either move it back to %s or rebuild\n" % tmpdir
        else:
+               import bb
+               bb.mkdirhier(tmpdir)
                f = file(checkfile, "w")
                f.write(tmpdir)
        f.close()
@@ -138,7 +140,7 @@ def check_sanity(e):
        #
        # Check the 'ABI' of TMPDIR
        #
-       current_abi = data.getVar('SANITY_ABI', e.data, True)
+       current_abi = data.getVar('OELAYOUT_ABI', e.data, True)
        abifile = data.getVar('SANITY_ABIFILE', e.data, True)
        if os.path.exists(abifile):
                f = file(abifile, "r")
@@ -154,6 +156,32 @@ def check_sanity(e):
                f.write(current_abi)
        f.close()
 
+       #
+       # Check the Distro PR value didn't change
+       #
+       distro_pr = data.getVar('DISTRO_PR', e.data, True)
+       prfile = data.getVar('SANITY_PRFILE', e.data, True)
+       if os.path.exists(prfile):
+               f = file(prfile, "r")
+               pr = f.read().strip()
+               if (pr != distro_pr):
+                       # Code to convert from one ABI to another could go here if possible.
+                       messages = messages + "Error, DISTRO_PR has changed (%s to %s) which means all packages need to rebuild. Please remove your TMPDIR so this can happen. For autobuilder setups you can avoid this by using a TMPDIR that include DISTRO_PR in the path.\n" % (pr, distro_pr)
+       else:
+               f = file(prfile, "w")
+               f.write(distro_pr)
+       f.close()
+
+
+       #
+       # Check there aren't duplicates in PACKAGE_ARCHS
+       #
+       archs = data.getVar('PACKAGE_ARCHS', e.data, True).split()
+       for arch in archs:
+               if archs.count(arch) != 1:
+                       messages = messages + "Error, Your PACKAGE_ARCHS field contains duplicates. Perhaps you set EXTRA_PACKAGE_ARCHS twice accidently through some tune file?\n"
+                       break
+
        if messages != "":
                raise_sanity_error(messages)
 
index bbc9f18..9621b4e 100644 (file)
@@ -63,7 +63,7 @@ python sourcepkg_do_dumpdata() {
        distro = bb.data.getVar('DISTRO', d, 1)
        s_tree = get_src_tree(d)
        openembeddeddir = os.path.join(workdir, s_tree, distro)
-       dumpfile = os.path.join(openembeddeddir, bb.data.expand("${P}-${PR}.showdata.dump",d))
+       dumpfile = os.path.join(openembeddeddir, bb.data.expand("${P}-${PR}${DISTRO_PR}.showdata.dump",d))
        
        try:
                os.mkdir(openembeddeddir)
@@ -97,8 +97,8 @@ sourcepkg_do_create_diff_gz(){
                cp $i $src_tree/${DISTRO}/files
        done
        
-       oenote "Creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz"
-       LC_ALL=C TZ=UTC0 diff --exclude-from=temp/exclude-from-file -Naur $src_tree.orig $src_tree | gzip -c > ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz
+       oenote "Creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}${DISTRO_PR}.diff.gz"
+       LC_ALL=C TZ=UTC0 diff --exclude-from=temp/exclude-from-file -Naur $src_tree.orig $src_tree | gzip -c > ${DEPLOY_DIR_SRC}/${P}-${PR}${DISTRO_PR}.diff.gz
        rm -rf $src_tree.orig
 }
 
@@ -108,4 +108,3 @@ addtask create_orig_tgz after do_unpack before do_patch
 addtask archive_bb after do_patch before do_dumpdata
 addtask dumpdata after do_archive_bb before do_create_diff_gz
 addtask create_diff_gz after do_dump_data before do_configure
-
diff --git a/conf/abi_version.conf b/conf/abi_version.conf
new file mode 100644 (file)
index 0000000..7939d65
--- /dev/null
@@ -0,0 +1,15 @@
+#
+# OELAYOUT_ABI allows us to notify users when the format of TMPDIR changes in 
+# an incompatible way. Such changes should usually be detailed in the commit
+# that breaks the format and have been previously discussed on the mailing list 
+# with general agreement from the core team.
+#
+OELAYOUT_ABI = "2"
+
+#
+# DISTRO_PR allows us to regenerate all packages when a fundamental change is
+# made which requires such a global change. This is appended to the recipe 
+# specific PR values when set. A default value is given here but a distro can 
+# override this value.
+#
+DISTRO_PR ?= ""
index ab8fa9d..edb4e4d 100644 (file)
@@ -139,9 +139,8 @@ PR = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or 'r0
 PF = "${PN}-${EXTENDPE}${PV}-${PR}"
 EXTENDPE = "${@['','${PE\x7d_'][bb.data.getVar('PE',d,1) > 0]}"
 EXTENDPEVER = "${@['','${PE\x7d:'][bb.data.getVar('PE',d,1) > 0]}"
-DEBPV = "${EXTENDPEVER}${PV}-${PR}"
+EXTENDPV = "${EXTENDPEVER}${PV}-${PR}${DISTRO_PR}"
 P = "${PN}-${PV}"
-DISTRO_PR ?= ""
 
 # Base package name
 # Automatically derives "foo" from "foo-native", "foo-cross" or "foo-initial"
@@ -202,14 +201,14 @@ FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
                 ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal"
 SECTION_${PN}-dev = "devel"
 ALLOW_EMPTY_${PN}-dev = "1"
-RDEPENDS_${PN}-dev = "${PN} (= ${DEBPV})"
+RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPV})"
 
 FILES_${PN}-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \
             ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug \
             ${libdir}/matchbox-panel/.debug"
 SECTION_${PN}-dbg = "devel"
 ALLOW_EMPTY_${PN}-dbg = "1"
-RRECOMMENDS_${PN}-dbg = "${PN} (= ${DEBPV})"
+RRECOMMENDS_${PN}-dbg = "${PN} (= ${EXTENDPV})"
 
 FILES_${PN}-locale = "${datadir}/locale"
 
@@ -580,6 +579,7 @@ include conf/machine/${MACHINE}.conf
 include conf/distro/${DISTRO}.conf
 include conf/documentation.conf
 require conf/sanity.conf
+require conf/abi_version.conf
 
 ##################################################################
 # Weak variables (usually to retain backwards compatibility)
@@ -594,6 +594,7 @@ IMAGE_ROOTFS_SIZE_ext2 ?= "65536"
 IMAGE_ROOTFS_SIZE_ext2.gz ?= "65536"
 IMAGE_ROOTFS_SIZE_ext3 ?= "65536"
 IMAGE_ROOTFS_SIZE_ext3.gz ?= "65536"
+DISTRO_PR ?= ""
 
 # Forcefully set CACHE now so future changes to things like 
 # MACHINE don't change the path to the cache
@@ -643,4 +644,3 @@ COMBINED_FEATURES = "\
     ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbgadget", d)} \
     ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbhost", d)} \
     ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "wifi", d)}"
-
index efa74d6..63ab068 100644 (file)
@@ -234,6 +234,10 @@ sha256=dbe5d8a0ac16a7953b3b2d34841dabd2b3071a2f66585ff25a538bd2ad1513ca
 md5=17a18e398af6c1730f72068022a152aa
 sha256=f199f7558e6a071ae1ead06b9207c0819281b6b2094dcef6fc4201a4bdf8854d
 
+[http://qa.debian.org/watch/sf.php/libvncserver/LibVNCServer-0.9.1.tar.gz]
+md5=aa00efc3dabde82fde9509bfbab0aba4
+sha256=0fbda7fc37c1f360bdbeb586e48d6203a5ef56a8cfc3b78887d7d90db683f282
+
 [http://kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.79.tar.bz2]
 md5=0b89b73970c7d490ad9a13718b74d27b
 sha256=5ed480cb76c91c2739ddba87f15437510e58c60dfdd7ead6f469149b2da94bb7
@@ -294,6 +298,10 @@ sha256=dcacf4c18af89b57e66dc7ba39e24c3b74ff6f83b8745bcc1390170a4190eebd
 md5=93e6ed7924ff069a4f883b4fce5349dc
 sha256=9d4707b556960f6aef14480f91fcd4f868720f64321947ab1b2fd20e85ce7f9e
 
+[http://qa.debian.org/watch/sf.php/mesa3d/MesaLib-7.0.2.tar.bz2]
+md5=93e6ed7924ff069a4f883b4fce5349dc
+sha256=9d4707b556960f6aef14480f91fcd4f868720f64321947ab1b2fd20e85ce7f9e
+
 [http://downloads.sourceforge.net/mesa3d/MesaLib-7.1.tar.bz2]
 md5=6bff7f532d16f90f944a400c8bd7074d
 sha256=d63a29bf206a5304b3c319a47fa16892db3d2e14737f2c534acf1eb220e9c550
@@ -738,6 +746,10 @@ sha256=032a95967f8dd8a227ee1771de4a2646becc4d0f1123568faeca931006ec8f5f
 md5=5c9b705700df51d232be223b6ab6414d
 sha256=aa3c42224ec702b6cdb69ca6501284cb6dacb87473a076d7337ee9635c96f160
 
+[http://qa.debian.org/watch/sf.php/acpid/acpid-1.0.6.tar.gz]
+md5=5c9b705700df51d232be223b6ab6414d
+sha256=aa3c42224ec702b6cdb69ca6501284cb6dacb87473a076d7337ee9635c96f160
+
 [http://svn.o-hand.com/repos/web/trunk/patches/add-dom-functions.patch]
 md5=041be9711a16e629d01487664ba97152
 sha256=42956fb41341cf82ae8bce18b4cf96a7e2aa631b1b60657afb6d7e9be7cd138c
@@ -1618,6 +1630,10 @@ sha256=6fe3c4b2d45a50582f832bc77deb4e3da74a15ea8e09dbb214b9c44e7c3378fc
 md5=9d22ee4dafa3a194457caf4706f9cf01
 sha256=487a33a452f0edcf1f8bb8fc23dff5c7a82edec3f3f8b65632b6c945e961ee9b
 
+[ftp://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2]
+md5=17a52219dee5a76c1a9d9b0bfd337d66
+sha256=bd2ea10ffc2bf62a917b05f4fbe3d02212589c2bc177fa0c51a9c874d3da528a
+
 [ftp://ftp.gnu.org/gnu/bison/bison-2.0.tar.gz]
 md5=c17f964fd5504b88b07a183420de25e3
 sha256=31b816846903d319a6f6cd1c9aada5ff83914206cb7df69c235ae909785109a1
@@ -2410,6 +2426,10 @@ sha256=cb007ea21edb0e11f9e3a8a72c1623ce2718c49b7ddcabe6b815504b13d47c56
 md5=bf21564fc38b3af853ef724babddbacd
 sha256=eea6b441672dacd251079fc85ed322e196282e0e66c16303ec64c3a2b1c126c2
 
+[http://qa.debian.org/watch/sf.php/lct/console-tools-0.3.2.tar.gz]
+md5=bf21564fc38b3af853ef724babddbacd
+sha256=eea6b441672dacd251079fc85ed322e196282e0e66c16303ec64c3a2b1c126c2
+
 [ftp://ftp.logilab.org/pub/constraint/constraint-0.2.3.tar.gz]
 md5=17fd01667356cf4d9298c46ed6f88a4f
 sha256=e77e1cb6cdeb30367f75accf62a7b94598ece4400c42eb9d8181b7da4fc87f82
@@ -2718,6 +2738,10 @@ sha256=6001893f34e68a3cfeb5d424e1f2bfef005df96a22d86f35dc770c5bccf3aa8a
 md5=dca09e2949616471669320e3429a49ef
 sha256=62c8c36df69c48bed9e8a1406faa5df5d057876b34fc110492c87260a70692c6
 
+[http://qa.debian.org/watch/sf.php/dbh/dbh_1.0-18.tar.bz2]
+md5=dca09e2949616471669320e3429a49ef
+sha256=62c8c36df69c48bed9e8a1406faa5df5d057876b34fc110492c87260a70692c6
+
 [http://dbus.freedesktop.org/releases/dbus/dbus-1.0.1.tar.gz]
 md5=52c70d18fe0b398f5de3b8a18a589960
 sha256=6e0730a39485fb502d640841f0f328c1a0212743f17b3fa61c78e6e32925f061
@@ -2806,6 +2830,10 @@ sha256=d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d
 md5=ff871dff0b3e8a11cd5c54478f11073f
 sha256=243642a1c3f4b6fd00125f5772ac5c8e4d0bb6586f5abb05829ead4b83ad5233
 
+[http://qa.debian.org/watch/sf.php/dejavu/dejavu-fonts-ttf-2.23.tar.bz2]
+md5=ff871dff0b3e8a11cd5c54478f11073f
+sha256=243642a1c3f4b6fd00125f5772ac5c8e4d0bb6586f5abb05829ead4b83ad5233
+
 [http://downloads.sourceforge.net/dejavu/dejavu-fonts-ttf-2.24.tar.bz2]
 md5=7b56c9db1e2a3bf9c80d20ea1c823623
 sha256=0f42b12ad2537ea32977809585fd066157394efc35ff5ddf5abb5f47411bd18d
@@ -2882,6 +2910,10 @@ sha256=e5facfcab28377d32fd4c70aa1fe0820d3dba4abdfc48bd15eda712c8815e505
 md5=002e9d7d85a2f0e6261b6bf501c53a3e
 sha256=f399428e0e191233b4dcead88afbe78a26cc16bd9a47e305f6dd3299e011ef18
 
+[http://dcantrel.fedorapeople.org/dhcdbd/dhcdbd-3.0.tar.bz2]
+md5=5316b1a0b3a3d53e972374627546d0bf
+sha256=c62d5916dbd4d3148bd4deff355c3dfcb8092c2d9918d62dd24030e01c28361a
+
 [ftp://ftp.isc.org/isc/dhcp/dhcp-2.0-history/dhcp-2.0pl5.tar.gz]
 md5=ab22f363a7aff924e2cc9d1019a21498
 sha256=ef0fa044354ea42983584fcf94838445d8c8167b07630ad1a1057ea4783794b7
@@ -3186,6 +3218,10 @@ sha256=fe3c72d861f2a3791f31ea33043d25e29e9a4e3d6a3833b151237a62c5c703f9
 md5=258d0a8277ace7fab06c55fdb2b249c4
 sha256=2de57ec75aca127ec70c2797c1a416fca43d78e6cb5c8ee4938864cb8eaafb56
 
+[http://qa.debian.org/watch/sf.php/e2fsprogs/e2fsprogs-libs-1.41.2.tar.gz]
+md5=258d0a8277ace7fab06c55fdb2b249c4
+sha256=2de57ec75aca127ec70c2797c1a416fca43d78e6cb5c8ee4938864cb8eaafb56
+
 [http://www.pobox.com/~sheff/sw/e2tools/e2tools-0.0.16.tar.gz]
 md5=1829b2b261e0e0d07566066769b5b28b
 sha256=4e3c8e17786ccc03fc9fb4145724edf332bb50e1b3c91b6f33e0e3a54861949b
@@ -4478,6 +4514,10 @@ sha256=cc340338a2e28b40058ab9eb5354a21d53f88a1582ea21ba0bb185c37a281dc9
 md5=7e46bc3b0a5b08e79f1f2f1b869caf40
 sha256=0483dac71c88ca0da5ee85729c0c1dd6793d928109ac79ad56583aa1a5ff43d2
 
+[http://downloads.sourceforge.net/geany/geany-0.14.tar.bz2]
+md5=c6c22c7f9feff81a15f5c8ece03b87c1
+sha256=619d59b339e1be7687058460c105b8f2d4f00e6409e4450dee385e3086fdf6d7
+
 [ftp://ftp.billsgames.com/unix/x/gemdropx/src/gemdropx-0.9.tar.gz]
 md5=fd0337e89778e2dba74461c555ea8e42
 sha256=e50495d292a1d456c28044efbf07c16d8865f8d95e1caba86f4c5b2e3fb1d28f
@@ -4486,6 +4526,10 @@ sha256=e50495d292a1d456c28044efbf07c16d8865f8d95e1caba86f4c5b2e3fb1d28f
 md5=664431bf6737df1c265500e1f0b5d40c
 sha256=e60f88763ee12c02a5c7ade1a58925ef0ab198f9ec6aaf404747dfc29074c7be
 
+[http://qa.debian.org/watch/sf.php/genext2fs/genext2fs-1.4rc1.tar.gz]
+md5=664431bf6737df1c265500e1f0b5d40c
+sha256=e60f88763ee12c02a5c7ade1a58925ef0ab198f9ec6aaf404747dfc29074c7be
+
 [ftp://ftp.debian.org/debian/pool/main/g/genext2fs/genext2fs_1.3.orig.tar.gz]
 md5=1342f26b75d8edb1daa01999ce330d29
 sha256=8e7dfa34f3919226550dc6507a23753f9fda55e78b15b264291ecf5940d837e9
@@ -6882,6 +6926,10 @@ sha256=9a9b7092f2e48786e8f83e5bef99fd31988f87140ad9ca840583f91b3623d628
 md5=4e11dc7899d68f2be2e06ccee01d296d
 sha256=1e2cc080e654c1839c5cb4b4adf4c62a23e7da208427f3ba0b16cfed9e5cfa98
 
+[http://xorg.freedesktop.org/releases/individual/app/iceauth-1.0.2.tar.bz2]
+md5=7ab8b64edf0212a9d9a3c8129901a450
+sha256=06401591de57a2c4cf2255e3d5230ea19351c5516cf8dae98c61092392bab5bb
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/app/iceauth-X11R7.0-1.0.1.tar.bz2]
 md5=92035bd69b4c9aba47607ba0efcc8530
 sha256=46a02c0dddbe80fbd802da47d0a9eac03002deb538b109dae804553fbbdfa7bd
@@ -8466,6 +8514,10 @@ sha256=830802525700e65809afdd56ccdb5cd9950747044ab50666257bbb3d59a82754
 md5=deee153b1ded5a944ea05d041d959eca
 sha256=db6885d5e40e3a273ff8bb9708ab739c8ace3c5abdd75509eec8ea31a31aac43
 
+[http://qa.debian.org/watch/sf.php/libexif/libexif-0.6.16.tar.bz2]
+md5=deee153b1ded5a944ea05d041d959eca
+sha256=db6885d5e40e3a273ff8bb9708ab739c8ace3c5abdd75509eec8ea31a31aac43
+
 [http://downloads.sourceforge.net/libexif/libexif-0.6.9.tar.gz]
 md5=0aa142335a8a00c32bb6c7dbfe95fc24
 sha256=a2f309c702ee72967676d96b1a9d06806d069fde8e88076200cca6479c3d3c38
@@ -8974,6 +9026,10 @@ sha256=bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690
 md5=1be543bc30c56fb6bea1d7bf6a64e66c
 sha256=bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690
 
+[http://qa.debian.org/watch/sf.php/mad/libmad-0.15.1b.tar.gz]
+md5=1be543bc30c56fb6bea1d7bf6a64e66c
+sha256=bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690
+
 [http://projects.o-hand.com/matchbox/sources/libmatchbox/1.2/libmatchbox-1.2.tar.bz2]
 md5=cf28ace4e666a8a9875c2397aa1ef9fd
 sha256=fc4fd138fe7efcbedd84ac99bb6dd2fa68ac44268c1bfc13712a2f051428a3ae
@@ -9014,6 +9070,10 @@ sha256=2d7598cd2a8c61c023f27c9c7c1aca8bbfd92aadbee2f98b7a6d421eae35c929
 md5=9f3c740298260d5f88981fc0d51f6f16
 sha256=891a2b780306e6ef86e381f459e71a085d4e7f56c970a879d3bf341c01bdfc32
 
+[http://qa.debian.org/watch/sf.php/mikmod/libmikmod-3.1.12.tar.gz]
+md5=9f3c740298260d5f88981fc0d51f6f16
+sha256=891a2b780306e6ef86e381f459e71a085d4e7f56c970a879d3bf341c01bdfc32
+
 [http://mikmod.raphnet.net/files/libmikmod-3.2.0-beta2.tar.gz]
 md5=19fc0879aebd1610813a23bd84726362
 sha256=857b66ef04d695f70414188b985e08b04f1f62cc250d72a43d0e0609dfbdba03
@@ -9658,6 +9718,10 @@ sha256=49aaecc7b8ff57903801745ad56e918b25df8a3839cff526c8a210c5cf5a2995
 md5=f28e7ae610147a057e481bc731749bc5
 sha256=d112f79489d5deabc0cbb48c6192353d488d9e62c28752eda091f585f2e41176
 
+[http://qa.debian.org/watch/sf.php/libusb/libusb-0.9.2.tar.bz2]
+md5=f28e7ae610147a057e481bc731749bc5
+sha256=d112f79489d5deabc0cbb48c6192353d488d9e62c28752eda091f585f2e41176
+
 [http://downloads.sourceforge.net/libusb/libusb-compat-0.1.0-beta1.tar.bz2]
 md5=3d9f7c3966d24c6e2d58becac96e4e27
 sha256=9365108d71cecb78055de4df6eeb2fadf0fe9143ef105bcb6934dcf391983a49
@@ -9666,6 +9730,10 @@ sha256=9365108d71cecb78055de4df6eeb2fadf0fe9143ef105bcb6934dcf391983a49
 md5=1fd5b9457e662531a48993191c1dfb64
 sha256=4ab03b0d1d41db6a5c4e10c6dd819ad90876e712fd66a2de2b824a2fd3ce7dee
 
+[http://qa.debian.org/watch/sf.php/libusb/libusb-compat-0.1.0-beta2.tar.bz2]
+md5=1fd5b9457e662531a48993191c1dfb64
+sha256=4ab03b0d1d41db6a5c4e10c6dd819ad90876e712fd66a2de2b824a2fd3ce7dee
+
 [http://downloads.sourceforge.net/libvisual/libvisual-0.1.3.tar.gz]
 md5=e70e91d2e90831c0eb78944b6a9605ef
 sha256=fc04f2f2bae4b3eef7eb331330e2e3fd336d1894dbf4cae631c8b635622cdd52
@@ -10790,6 +10858,10 @@ sha256=396a2de3eed6d5d3c4604b372e11f6c0f18644ef3d8ee14978b715ec26aa0974
 md5=18b20db6e40480a53bac2870c56fc3c4
 sha256=086ab03daaac28a28c0ddb9a709040b59e1322f6bfa68e39d004d9c66b119e7e
 
+[http://www.lilotux.net/~mikael/mcabber/files/mcabber-0.9.9.tar.bz2]
+md5=189fb9d23f5a8412bc660884528475ea
+sha256=2a231c9241211d33745f110f35cfa6bdb051b32791461b9579794b6623863bb1
+
 [http://archive.ubuntu.com/ubuntu/pool/universe/m/mce-dev/mce-dev_1.5.6.tar.gz]
 md5=b3a28fe9bcec2fc7ae70f5d819bf3d1a
 sha256=aaaae4e3a25880d9f6af2dcf504b03f98946dcfb79e4c0a77adb9223aaa5cbc4
@@ -11602,6 +11674,46 @@ sha256=b935aaf1e389f767ba8238c7a5c0b4387a345168acddf4f38bb6914149953a28
 md5=593c0861fa10d2a8d0e7d8617479c5cf
 sha256=b3404a5a5dd78c0e1ba12b8aa1445589fa7861fa4d9ecafb53b38be760876913
 
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-berlin-20080430.eet]
+md5=25b515f30606b3f78d5d77c96663185d
+sha256=3ebb791e9bf6b00127b4961d8f15b4d1e48d209468b01365300d3ea5a5cacf37
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-buenos-aires-20080430.eet]
+md5=306c1d9537f510b30273a030f5ace118
+sha256=8486baf16bbc6dd4ad3820330a28546996f9383de96c1b6bf784999dcf4b712e
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-london-20080430.eet]
+md5=fa05427d09f98ea6cbceaa4c88f4c51d
+sha256=1776ba1ec93984d0ff755a677a769e200a6e435fd1385e699e106c9cec83b04c
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-low-levels-20080430.eet]
+md5=c4e4fe25075d3843b6a8430e78321c4e
+sha256=de7bba6c6418782f3af45e8a5988b1d945f276bcc6f1174107b66c7d27316727
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-new-york-20080430.eet]
+md5=3fd0065397e6ae78d43b159a3e9d3660
+sha256=43df4b1407baf3b647e30abf7e5461d86c3145d6df21f4d27a2fb2d8b2b08ec9
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-paris-20080430.eet]
+md5=f93c90a1cfaf3113a1577331582c0cd1
+sha256=b27f67834142417e35dc911fa51f13595bb3271800b9963ed481749bbb17466b
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-providence-20080430.eet]
+md5=105cd93f37409631fd99d23cdd033420
+sha256=ca2a91115445ce8dfb758099158e31425695181909e94f928feef6077a6cba0a
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-san-francisco-20080430.eet]
+md5=c23e48390885391a3b403c8d7863e031
+sha256=a7f00540ac487fa26050a2aaf5a9b7fbb82af0a32c6f5d60043d4228a652151e
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-sydney-20080430.eet]
+md5=5b83060995bade39a80dafb83571f627
+sha256=66150243fa43052fc762ec1d5d141b44c98a49bec49f726c7db7c54968d605c5
+
+[http://people.openmoko.org/olv/om-maps/20080430/om-maps-taipei-20080430.eet]
+md5=5e82e0fb27f1ae480c5099f3bd572cf3
+sha256=5dafd06260fe58847fb92f2e063f8fb0ae8ad4a3fb082f0871217d3ba88b162c
+
 [http://downloads.sourceforge.net/omniorb/omniORB-4.0.7.tar.gz]
 md5=9d478031be34232e988f3d5874396499
 sha256=e4c0875794a74ac627b7b74b6098e75c8413bd156856dc434a49c4c112a68af2
@@ -11642,6 +11754,10 @@ sha256=3a80ba2524c66a46db3ac17a788a759015a1f79de6a495fcdf3a316e19fe7c23
 md5=e270c40626dfa2131cc39dd1352b46f9
 sha256=934e1e5438c46927236f1f3254265e94c7e38e7c0e02d92abb7efc4e03ce91e9
 
+[http://qa.debian.org/watch/sf.php/openrdate/openrdate-1.1.3.tar.gz]
+md5=af4785f615b9d87b9c86a32af4ecc225
+sha256=0f8a034107fc7593f28e77b276f964c1309343b4702ecdf0d61bb3e57ad0cb5f
+
 [http://openredalert.googlecode.com/files/openredalert-r438-src.tar.gz]
 md5=12dc7a8042c023bc77b7830946fc8492
 sha256=68058b6ffd9a286111c1860ca6d53af0d98d3f0c2a53875efd72ab381a3f9d6d
@@ -12446,6 +12562,10 @@ sha256=74c83c3283178656a6fc1ee571fb1ebbddda8f3b7c32ad405477ae278b0cf867
 md5=8c1bc9d5bdd6f6298222125669d16e1e
 sha256=5a31aa10668b93e8283c58592b46368c26aa92e097cea0bda9b0554042bd6643
 
+[http://downloads.sourceforge.net/podget/podget_0.5.8.tar.gz]
+md5=6619557b02559ac3191d4cc2054bf325
+sha256=ab6e33b09bfbd407ee444ef37d769658e651cfe6eee96ce7aac5be8860e069e5
+
 [http://www.rpsys.net/openzaurus/patches/archive/poodle_asoc_fix-r1.patch]
 md5=7c766563674dec668baa5f650a14b7cd
 sha256=3f78e714248cdaa0b83f530a3b7f80da02446b179e86fbb043d57c3e05ae0d7e
@@ -13426,6 +13546,10 @@ sha256=5ead17c3d29cb1028aeca485ee7a8c65694c1b02a1b7014c3da920b265a438aa
 md5=c6fcbed7f0ad7e60ac5fcb2d324d8b16
 sha256=35026eaa8e14ca8bd0ba3730926f14222f8452f2ac662623bbf1909d8b060979
 
+[http://qa.debian.org/watch/sf.php/rdesktop/rdesktop-1.6.0.tar.gz]
+md5=c6fcbed7f0ad7e60ac5fcb2d324d8b16
+sha256=35026eaa8e14ca8bd0ba3730926f14222f8452f2ac662623bbf1909d8b060979
+
 [http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.0.4.tar.gz]
 md5=756b38aaf2602d097cafd08996fb7887
 sha256=e754605b72b5498d11207920291d0eed6fa78ad46d3b9ad018cff9bb480224ea
@@ -14422,6 +14546,10 @@ sha256=d8d9d62f0ebab71fab62b5ba7eaddd8bb8df9b7f4988b4a8e0d0724662702acf
 md5=09bcd5d00ece28f8154dec11cadfce3c
 sha256=a6808914cbfead2595dfd061a0f14dcbb0a8bb645e3cfdfa5c247d7ded9e0e7d
 
+[http://qa.debian.org/watch/sf.php/strace/strace-4.5.14.tar.bz2]
+md5=09bcd5d00ece28f8154dec11cadfce3c
+sha256=a6808914cbfead2595dfd061a0f14dcbb0a8bb645e3cfdfa5c247d7ded9e0e7d
+
 [http://downloads.sourceforge.net/strace/strace-4.5.15.tar.bz2]
 md5=ef40944118841803391d212cb64d3c5b
 sha256=ba8c492c1b2033d4e2131f05df9e3780d4bc35bea87aa32a6052dd53a814e288
@@ -14570,6 +14698,10 @@ sha256=d162ddc4f4a29c770549cb135da179e205480c065739dbe6c3c1bed6d84a3060
 md5=14e7dcd0436d2f49aa403f67e1ef7ddc
 sha256=e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a
 
+[http://qa.debian.org/watch/sf.php/linux-diag/sysfsutils-2.1.0.tar.gz]
+md5=14e7dcd0436d2f49aa403f67e1ef7ddc
+sha256=e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a
+
 [http://www.ibiblio.org/pub/Linux/system/daemons/sysklogd-1.4.1.tar.gz]
 md5=d214aa40beabf7bdb0c9b3c64432c774
 sha256=44357e0fae8c8f0e315bf130b4e86a4f96b91d66eeb4e473def4ce8336fff102
@@ -14850,6 +14982,10 @@ sha256=16d746a7bf057a9147756e15fdd7ce76a63ddde122294ce188dc8332da5118ba
 md5=80b904d4a10fccee9045d0feeaa65df8
 sha256=56062708bb547425f8e8f0f9c571d4fa06fcc89a11146a5b15c608fd8debdb80
 
+[http://qa.debian.org/watch/sf.php/vnc-tight/tightvnc-1.3.9_unixsrc.tar.gz]
+md5=80b904d4a10fccee9045d0feeaa65df8
+sha256=56062708bb547425f8e8f0f9c571d4fa06fcc89a11146a5b15c608fd8debdb80
+
 [http://downloads.sourceforge.net/vnc-tight/tightvnc-1.3dev7_unixsrc.tar.gz]
 md5=030903eeafc3c20ef1fb1610bfe6311d
 sha256=390fdd05d86e091300248a4f74a0ffe7b4169f75aa2c1a5461c997a4c2ed2c10
@@ -16086,6 +16222,10 @@ sha256=fb22559759a92f1a6c10716b743509ba20005f223725ec4b6492462bfe9237d0
 md5=04169609449a8846bc1e6891c04cadf4
 sha256=77fae8a1e7aa58007115c939aa68fd5028da79c481fc457dfce546b50c9dfda5
 
+[http://mirror.serversupportforum.de/apache/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz]
+md5=5daf514b73f3e0de9e3fce704387c0d2
+sha256=416eaf74bbe6ff3b3c64a282e886810cad6cbb48478d3c83344661504c09c8d6
+
 [http://xorg.freedesktop.org/releases/individual/app/xev-1.0.2.tar.bz2]
 md5=e3008eb0655da3026c162a5597d70869
 sha256=cac2771b67942d9a00b46532176feb18b2f82c434e0f6ece578d95953ef33053
@@ -16354,6 +16494,10 @@ sha256=1cc4a964e2b407d2b9ebbac0bf38787e572d9bd88759fc0b229f588ac90ed139
 md5=4b6b9d67d2a7056a417d26115612ecc7
 sha256=064f75c31ac167e61b9b29c2cef86908ecf1e1a742019298b37799664d08d19d
 
+[http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-0.0.5.tar.bz2]
+md5=4231b517d216e9f80ba66f13a0f30afd
+sha256=d70c64f3f4fe931e12d5af7f91ff04cd0d16dd7459061c50b3149f9e35de8091
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-ur98-X11R7.0-1.0.0.5.tar.bz2]
 md5=9b1530b3dcbb77690ad0e61f60489899
 sha256=2cbcca2d5c62de8376bbc9e1fea6f4564ece32f6f6b5e926b199c2e60a3dae7d
@@ -16418,6 +16562,10 @@ sha256=2df2e34dc61907fb3c41b4590f51d39f951d2d74422d84f1f7d53ef6f5b25352
 md5=cae9b1b131c1fc1b45ad1a9604fdeb66
 sha256=e851ff555f177ebe6b4d8f961e088a1e2f5947ba739e5b891eb5b3ff4cdd652b
 
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-cirrus-1.1.0.tar.bz2]
+md5=66344e315def275605dafb314ce59851
+sha256=5988962199d5013274f6a6952939e4f405df658bb6616ebf9954c993b1179b1b
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-cirrus-X11R7.0-1.0.0.5.tar.bz2]
 md5=7708693ad9d73cd76d4caef7c644a46f
 sha256=29e6fdd67e8ec51c534f6123f9935a165711255d935fb9cb28cd44f9db278b3e
index 54a5200..e0f6423 100644 (file)
@@ -1,9 +1,11 @@
 SRCREV_pn-frameworkd = "${AUTOREV}"
+SRCREV_pn-frameworkd-devel = "${AUTOREV}"
 SRCREV_pn-fso-gpsd = "${AUTOREV}"
 SRCREV_pn-fso-sounds = "${AUTOREV}"
 SRCREV_pn-gsm0710muxd = "${AUTOREV}"
 SRCREV_pn-gsmd2 = "${AUTOREV}"
 SRCREV_pn-illume-theme-freesmartphone = "${AUTOREV}"
+SRCREV_pn-libframeworkd-glib = "${AUTOREV}"
 SRCREV_pn-mickeydbus = "${AUTOREV}"
 SRCREV_pn-mickeyterm = "${AUTOREV}"
 SRCREV_pn-python-pytrc = "${AUTOREV}"
index 3d3c385..43bdc8f 100644 (file)
@@ -648,7 +648,7 @@ PREFERRED_VERSION_gvim ?= "7.0"
 PREFERRED_VERSION_gweled ?= "0.5"
 PREFERRED_VERSION_gxine ?= "0.4.1enhanced"
 PREFERRED_VERSION_gzip ?= "1.3.5"
-PREFERRED_VERSION_hal ?= "0.5.9"
+PREFERRED_VERSION_hal ?= "0.5.11"
 PREFERRED_VERSION_hal-info ?= "20080508"
 PREFERRED_VERSION_haserl ?= "0.8.0"
 PREFERRED_VERSION_havp ?= "0.86"
index 5cf7d56..aa0f823 100644 (file)
@@ -14,7 +14,9 @@
 SRCREV_pn-accelges ?= "206"
 SRCREV_pn-aircrack-ng ?= "802"
 SRCREV_pn-alsa-scenario ?= "633aaccc37f845146e490090dbd2a1ebb8064fd6"
-SRCREV_pn-assassin ?= "93"
+SRCREV_pn-app-restarter ?= "4552"
+SRCREV_pn-assassin ?= "217"
+SRCREV_pn-assassin-thumbnail ?= "4513"
 SRCREV_pn-bfin-uclibc ?= "1857"
 SRCREV_pn-uclibc ?= "23421"
 SRCREV_pn-uclibc-initial ?= "23421"
@@ -30,7 +32,7 @@ SRCREV_pn-dbus-c++ ?= "13131"
 SRCREV_pn-dfu-util ?= "4160"
 SRCREV_pn-dfu-util-native ?= "4160"
 SRCREV_pn-diversity-daemon ?= "277"
-SRCREV_pn-diversity-nav ?= "340"
+SRCREV_pn-diversity-radar ?= "405"
 SRCREV_pn-eds-dbus ?= "659"
 SRCREV_pn-eglibc ?= "6937"
 SRCREV_pn-eglibc-initial ?= "6937"
@@ -45,7 +47,8 @@ SRCREV_pn-epiphany ?= "7837"
 SRCREV_pn-fbgrab-viewer-native ?= "1943"
 SRCREV_pn-flashrom ?= "3682"
 SRCREV_pn-frameworkd ?= "a816e0412c687bf8e59e3505cce877f02e51f84d"
-SRCREV_pn-fso-gpsd ?= "fd1cd578d6ba9fa13aadceb59a9b46345108583b"
+SRCREV_pn-frameworkd-devel ?= "e8ad25f2e36e31e0a8afe08fbe11e54b9305aa8f"
+SRCREV_pn-fso-gpsd ?= "8f82d35ae83fdc00f2c4786257e98551b9dea995"
 SRCREV_pn-fso-sounds ?= "b24d3c2e66fee10a5e288101cd1b6f5bbd3da7e2"
 SRCREV_pn-fstests ?= "204"
 SRCREV_pn-gconf-dbus ?= "641"
@@ -65,6 +68,7 @@ SRCREV_pn-libcalenabler2 ?= "1410"
 SRCREV_pn-libexalt ?= "78"
 SRCREV_pn-libexalt-dbus ?= "76"
 SRCREV_pn-libfakekey ?= "1455"
+SRCREV_pn-libframeworkd-glib ?= "5dc148e22bab012e8be5e4d9bb98933ad32fb07b"
 SRCREV_pn-libgdbus ?= "6605699e3a1ff8275dcc359da7aa73e9d36996f2"
 SRCREV_pn-libgsmd ?= "4335"
 SRCREV_pn-libiac ?= "1590"
@@ -107,6 +111,8 @@ SRCREV_pn-netsurf ?= "3859"
 SRCREV_pn-networkmanager ?= "3202"
 SRCREV_pn-networkmanager-applet ?= "200"
 SRCREV_pn-numptyphysics = "45"
+SRCREV_pn-om-locations ?= "28d56a504a41261c363c085a38f81721cdd6683e"
+SRCREV_pn-om-settings ?= "65"
 SRCREV_pn-oh-puzzles ?= "22"
 SRCREV_pn-osb-browser ?= "125"
 SRCREV_pn-osb-jscore ?= "117"
@@ -141,6 +147,7 @@ SRCREV_pn-openmoko-panel-memory ?= "3903"
 SRCREV_pn-openmoko-panel-usb ?= "3360"
 SRCREV_pn-openmoko-panel-wifi ?= "4344"
 SRCREV_pn-openmoko-sample2 ?= "3537"
+SRCREV_pn-openmoko-set-root-password ?= "4590"
 SRCREV_pn-openmoko-sound-theme-standard2 ?= "4271"
 SRCREV_pn-openmoko-tasks2 ?= "399"
 SRCREV_pn-openmoko-terminal2 ?= "4726"
index f3a78f5..0e58afd 100644 (file)
@@ -156,6 +156,7 @@ PREFERRED_VERSION_linux-libc-headers ?= "2.6.20"
 # so specify exactly what we would like to build.
 PREFERRED_VERSION_pango    ?= 1.20.5
 PREFERRED_VERSION_glib-2.0 ?= 2.16.1
+PREFERRED_VERSION_cairo    ?= 1.4.8
 
 # Stick with an older gettext and e2fsprogs stuff
 # and gnutls... (our autotools is too old at the moment)
index 7e6562a..149177f 100644 (file)
@@ -3,5 +3,7 @@
 #
 TARGET_CC_ARCH = "-march=k6-2"
 BASE_PACKAGE_ARCH = "geode"
+PACKAGE_EXTRA_ARCHS += "x86 geode"
+
 FEED_ARCH = "geode"
 
index 5c7f5be..d8caf93 100644 (file)
@@ -3,7 +3,6 @@
 #@DESCRIPTION: Machine configuration for the OMAP Starter Kit with a 5912 processor
 
 TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
 
 PREFERRED_PROVIDER_xserver = "xserver-kdrive"
 PREFERRED_PROVIDER_virtual/kernel = "linux-omap1"
index 4306a6b..de76527 100644 (file)
@@ -3,7 +3,6 @@
 #@DESCRIPTION: Machine configuration for running an ARM system under qemu emulation
 
 TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te"
 
 require conf/machine/include/qemu.inc
 require conf/machine/include/tune-arm926ejs.inc
diff --git a/conf/machine/xo.conf b/conf/machine/xo.conf
new file mode 100644 (file)
index 0000000..9223f16
--- /dev/null
@@ -0,0 +1,28 @@
+# Copyright (C) 2008, Stefan Schmidt, All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+#@TYPE: Machine
+#@NAME: XO
+#@DESCRIPTION: Machine configuration for a the XO laptop (aka OLPC)
+
+
+TARGET_ARCH = "i586"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-xo"
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
+# X.org with a special graphic driver needed?
+XSERVER="xserver-kdrive-vesa"
+
+GUI_MACHINE_CLASS = "bigscreen"
+MACHINE_DISPLAY_WIDTH_PIXELS = "1200"
+MACHINE_DISPLAY_HEIGHT_PIXELS = "900"
+
+KERNEL_IMAGETYPE = "bzImage"
+
+IMAGE_FSTYPES ?= "jffs2"
+
+# This helped a lot: http://laptop.org/laptop/hardware/specs.shtml
+# ACPI is right for the battery class stuff?
+MACHINE_FEATURES = "kernel26 screen keyboard ushbost acpi x86 wifi alsa mmc vfat pci"
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
+
+require conf/machine/include/tune-geodelx.inc
index e5fe748..d6ecfa6 100644 (file)
@@ -5,14 +5,8 @@
 # Expert users can confirm their sanity with "touch conf/sanity.conf"
 BB_MIN_VERSION = "1.8.10"
 
-#
-# SANITY_ABI allows us to notify users when the format of TMPDIR changes in 
-# an incompatible way. Such changes should usually be detailed in the commit
-# that breaks the format and have been previously discussed on the mailing list 
-# with general agreement from the core team.
-#
-SANITY_ABI = "2"
 SANITY_ABIFILE = "${TMPDIR}/abi_version"
+SANITY_PRFILE = "${TMPDIR}/distro_pr"
 
 INHERIT += "sanity"
 
index 428ddd2..60fe1bf 100755 (executable)
@@ -57,8 +57,9 @@ do_build
 # * armv7a:    beagleboard
 # * ppc405:    dht-walnut
 # * ppc603e:   efika
+# * i586:      qemux86
 
-for machine in simpad om-gta01 c7x0 nokia800 beagleboard dht-walnut efika
+for machine in simpad om-gta01 c7x0 nokia800 beagleboard dht-walnut efika qemux86
 do
        BUILD_MACHINE=$machine
        BUILD_CLEAN="qmake-native qmake2-native qt-x11-free python gnome-icon-theme"
@@ -238,7 +239,8 @@ do
                      xf86-input-evdev \
                      xf86-input-keyboard \
                      xf86-input-mouse \
-                     xf86-video-ati \
+                     xf86-input-tslib \
+              xf86-video-ati \
                      xf86-video-fbdev \
                      xf86-video-vesa \
                      xfce-mcs-manager
@@ -276,7 +278,7 @@ done
 
 # machine packages (machine specific (sub)packages)
 
-for machine in beagleboard omap3evm neuros-osd2 efika dht-walnut omap5912osk ixp4xxle ixp4xxbe c7x0 poodle tosa akita spitz collie simpad om-gta01 om-gta02 a780 at91sam9263ek qemuarm h2200 h3900 h4000 hx4700 nokia800 
+for machine in beagleboard omap3evm neuros-osd2 efika dht-walnut omap5912osk ixp4xxle ixp4xxbe c7x0 poodle tosa akita spitz collie simpad om-gta01 om-gta02 a780 at91sam9263ek qemuarm h2200 h3900 h4000 hx4700 nokia800 qemux86  
 do
         BUILD_MACHINE=$machine
        BUILD_CLEAN=""
index b5e70cb..22535f3 100755 (executable)
@@ -23,6 +23,18 @@ start_day = end_day - datetime.timedelta(7)
 
 print "OE weekly changelog %s to %s\n" % (start_day.isoformat(), end_day.isoformat())
 
-os.system("git-shortlog --since=%s --until=%s | grep -v \"Merge branch\"" % (start_day.isoformat(), end_day.isoformat()))
+os.system("git-shortlog --since=%s --until=%s | grep -v \"Merge branch\" | grep -v \"Merge commit\"" % (start_day.isoformat(), end_day.isoformat()))
+
+os.system("wget 'http://bugs.openembedded.net/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&bugidtype=include&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&known_name=1WFixed&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED&value0-0-0=&ctype=csv' -O resolved-bugs.csv >& /dev/null")
+os.system("wget 'http://bugs.openembedded.net/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=NEW&bugidtype=include&chfield=%5BBug%20creation%5D&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=NEW&value0-0-0=&ctype=csv' -O new-bugs.csv &> /dev/null")
+
+
+print "Bugs fixed:\n"
+
+os.system("cat resolved-bugs.csv | awk -F, '{print $1 \" \" $7 \"\t \" $8}' | sed s:\\\"::g")
+
+print "\nBugs opened:\n"
+
+os.system("cat new-bugs.csv | awk -F, '{print $1 \" \" $7 \"\t \" $8}' | sed s:\\\"::g")
 
 
index 503f830..471ee9c 100644 (file)
@@ -3,7 +3,7 @@ SECTION = "base"
 PRIORITY = "required"
 DEPENDS = "libtool-cross"
 LICENSE = "GPL"
-PR = "r11"
+PR = "r11.01"
 
 SRC_URI = "${DEBIAN_MIRROR}/main/a/apmd/apmd_${PV}.orig.tar.gz \
            file://debian.patch;patch=1 \
@@ -55,6 +55,10 @@ do_install() {
        install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/apmd
        oe_libinstall -so libapm ${D}${libdir}
        install -m 0644 apm.h ${D}${includedir}
+        for i in `find ${D} -name "*.la"` ; do \
+                sed -i -e s:${STAGING_LIBDIR}:${libdir}:g $i
+                sed -i -e s:${STAGING_DIR_HOST}::g $i
+        done
 
        cat ${WORKDIR}/init | sed -e 's,/usr/sbin,${sbindir},g; s,/etc,${sysconfdir},g;' > ${D}${sysconfdir}/init.d/apmd
        chmod 755 ${D}${sysconfdir}/init.d/apmd
diff --git a/packages/binutils/binutils-2.19/110-arm-eabi-conf.patch b/packages/binutils/binutils-2.19/110-arm-eabi-conf.patch
new file mode 100644 (file)
index 0000000..2623301
--- /dev/null
@@ -0,0 +1,22 @@
+--- /tmp/configure.ac  2008-06-22 14:14:59.000000000 +0200
++++ binutils-2.18.50.0.7/configure.ac  2008-06-22 14:15:30.000000000 +0200
+@@ -561,7 +561,7 @@
+     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+     libgloss_dir=arm
+     ;;
+-  arm*-*-linux-gnueabi)
++  arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+     noconfigdirs="$noconfigdirs target-qthreads"
+     noconfigdirs="$noconfigdirs target-libobjc"
+     case ${with_newlib} in
+--- /tmp/configure     2008-06-22 14:17:11.000000000 +0200
++++ binutils-2.18.50.0.7/configure     2008-06-22 14:17:56.000000000 +0200
+@@ -2307,7 +2307,7 @@
+     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+     libgloss_dir=arm
+     ;;
+-  arm*-*-linux-gnueabi)
++  arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+     noconfigdirs="$noconfigdirs target-qthreads"
+     noconfigdirs="$noconfigdirs target-libobjc"
+     case ${with_newlib} in
diff --git a/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch b/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch
new file mode 100644 (file)
index 0000000..c5e4234
--- /dev/null
@@ -0,0 +1,19 @@
+Adds support for Freescale Power architecture e300c2 and e300c3 cores.
+http://www.bitshrine.org/gpp/tc-fsl-x86lnx-e300c3-nptl-4.0.2-2.src.rpm
+
+Leon Woestenberg <leonw@mailcan.com>
+
+diff -uNr binutils-2.16.1.orig/gas/config/tc-ppc.c binutils-2.16.1/gas/config/tc-ppc.c
+--- binutils-2.16.1.orig/gas/config/tc-ppc.c   2005-03-02 13:24:01.000000000 +0000
++++ binutils-2.16.1/gas/config/tc-ppc.c        2006-07-04 11:45:24.000000000 +0100
+@@ -879,6 +879,10 @@
+       else
+       ppc_cpu |= PPC_OPCODE_SPE;
+     }
++  else if (strcmp (arg, "pmr") == 0)
++    {
++      ppc_cpu |= PPC_OPCODE_PMR;
++    }
+   /* -mppc64 and -m620 mean to assemble for the 64-bit PowerPC
+      620.  */
+   else if (strcmp (arg, "ppc64") == 0 || strcmp (arg, "620") == 0)
diff --git a/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644 (file)
index 0000000..8df5b1f
--- /dev/null
@@ -0,0 +1,39 @@
+# strip (and objcopy) fail to set the error code if there is no
+# output file name and the rename of the stripped (or copied) file
+# fails, yet the command fails to do anything.  This fixes both
+# objcopy and strip.
+#
+# modification by bero: Ported to 2.16.91.0.6
+#
+#Signed-off-by: John Bowler <jbowler@acm.org>
+#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
+---
+# binutils/objcopy.c |    8 +++++---
+# 1 file changed, 5 insertions(+), 3 deletions(-)
+#
+Index: src/binutils/objcopy.c
+===================================================================
+--- src.orig/binutils/objcopy.c        2007-08-09 13:26:03.000000000 +0100
++++ src/binutils/objcopy.c     2007-08-09 16:36:12.000000000 +0100
+@@ -2787,8 +2787,9 @@ strip_main (int argc, char *argv[])
+         if (preserve_dates)
+           set_times (tmpname, &statbuf);
+         if (output_file != tmpname)
+-          smart_rename (tmpname, output_file ? output_file : argv[i],
+-                        preserve_dates);
++          if (smart_rename (tmpname, output_file ? output_file : argv[i],
++                        preserve_dates))
++            hold_status = 1;
+         status = hold_status;
+       }
+       else
+@@ -3411,7 +3412,8 @@ copy_main (int argc, char *argv[])
+       if (preserve_dates)
+       set_times (tmpname, &statbuf);
+       if (tmpname != output_filename)
+-      smart_rename (tmpname, input_filename, preserve_dates);
++      if (smart_rename (tmpname, input_filename, preserve_dates))
++        status = 1;
+     }
+   else
+     unlink_if_ordinary (tmpname);
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch b/packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644 (file)
index 0000000..8de04e0
--- /dev/null
@@ -0,0 +1,34 @@
+--- binutils-2.18.orig/configure
++++ binutils-2.18/configure
+@@ -2206,7 +2206,7 @@
+   am33_2.0-*-linux*)
+     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+     ;;
+-  sh-*-linux*)
++  sh*-*-linux*)
+     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+     ;;
+   sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -2504,7 +2504,7 @@
+   romp-*-*)
+     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+     ;;
+-  sh-*-* | sh64-*-*)
++  sh*-*-* | sh64-*-*)
+     case "${host}" in
+       i[3456789]86-*-vsta) ;; # don't add gprof back in
+       i[3456789]86-*-go32*) ;; # don't add gprof back in
+--- binutils-2.18.orig/gprof/configure
++++ binutils-2.18/gprof/configure
+@@ -4124,6 +4124,11 @@
+   lt_cv_deplibs_check_method=pass_all
+   ;;
++linux-uclibc*)
++  lt_cv_deplibs_check_method=pass_all
++  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++  ;;
++
+ netbsd*)
+   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch b/packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644 (file)
index 0000000..04a7e61
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh -e
+## 001_ld_makefile_patch.dpatch
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: correct where ld scripts are installed
+## DP: Author: Chris Chimelis <chris@debian.org>
+## DP: Upstream status: N/A
+## DP: Date: ??
+
+if [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+       -patch) patch $patch_opts -p1 < $0;;
+       -unpatch) patch $patch_opts -p1 -R < $0;;
+        *)
+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+                exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+--- binutils-2.16.91.0.1/ld/Makefile.am
++++ binutils-2.16.91.0.1/ld/Makefile.am
+@@ -20,7 +20,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+--- binutils-2.16.91.0.1/ld/Makefile.in
++++ binutils-2.16.91.0.1/ld/Makefile.in
+@@ -268,7 +268,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch b/packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644 (file)
index 0000000..f337611
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/sh -e
+## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Specify which filename is causing an error if the filename is a
+## DP: directory. (#45832)
+
+if [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+       -patch) patch $patch_opts -p1 < $0;;
+       -unpatch) patch $patch_opts -p1 -R < $0;;
+        *)
+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+                exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
+--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c     2003-07-23 16:08:09.000000000 +0100
++++ binutils-2.14.90.0.6/bfd/opncls.c  2003-09-10 22:35:00.000000000 +0100
+@@ -150,6 +150,13 @@
+ {
+   bfd *nbfd;
+   const bfd_target *target_vec;
++  struct stat s;
++
++  if (stat (filename, &s) == 0)
++    if (S_ISDIR(s.st_mode)) {
++      bfd_set_error (bfd_error_file_not_recognized);
++      return NULL;
++    }
+   nbfd = _bfd_new_bfd ();
+   if (nbfd == NULL)
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch b/packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644 (file)
index 0000000..498651a
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh -e
+## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
+## DP: cases where -rpath isn't specified. (#151024)
+
+if [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+       -patch) patch $patch_opts -p1 < $0;;
+       -unpatch) patch $patch_opts -p1 -R < $0;;
+        *)
+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+                exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
+--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em       2004-05-21 23:12:58.000000000 +0100
++++ binutils-2.15/ld/emultempl/elf32.em        2004-05-21 23:12:59.000000000 +0100
+@@ -692,6 +692,8 @@
+             && command_line.rpath == NULL)
+           {
+             lib_path = (const char *) getenv ("LD_RUN_PATH");
++            if ((lib_path) && (strlen (lib_path) == 0))
++                lib_path = NULL;
+             if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+                                                     force))
+               break;
+@@ -871,6 +873,8 @@
+   rpath = command_line.rpath;
+   if (rpath == NULL)
+     rpath = (const char *) getenv ("LD_RUN_PATH");
++  if ((rpath) && (strlen (rpath) == 0))
++      rpath = NULL;
+   if (! (bfd_elf_size_dynamic_sections
+        (output_bfd, command_line.soname, rpath,
+         command_line.filter_shlib,
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch b/packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch
new file mode 100644 (file)
index 0000000..db838cf
--- /dev/null
@@ -0,0 +1,38 @@
+Source: Khem Raj <raj.khem@gmail.com>
+Disposition: submit upstream.
+
+Description:
+
+We do not need to have the libtool patch anymore for binutils after
+libtool has been updated upstream it include support for it. However
+for building gas natively on uclibc systems we have to link it with
+-lm so that it picks up missing symbols.
+
+/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_from_double':
+floatformat.c:(.text+0x1ec): undefined reference to `frexp'
+floatformat.c:(.text+0x2f8): undefined reference to `ldexp'
+/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_to_double':
+floatformat.c:(.text+0x38a): undefined reference to `ldexp'
+floatformat.c:(.text+0x3d2): undefined reference to `ldexp'
+floatformat.c:(.text+0x43e): undefined reference to `ldexp'                     floatformat.c:(.text+0x4e2): undefined reference to `ldexp'
+collect2: ld returned 1 exit status
+make[4]: *** [as-new] Error 1
+
+Index: binutils-2.17.50/gas/configure.tgt
+===================================================================
+--- binutils-2.17.50.orig/gas/configure.tgt
++++ binutils-2.17.50/gas/configure.tgt
+@@ -408,6 +408,12 @@ case ${generic_target} in
+   *-*-netware)                                fmt=elf em=netware ;;
+ esac
++case ${generic_target} in
++  arm-*-*uclibc*)
++    need_libm=yes
++    ;;
++esac
++
+ case ${cpu_type} in
+   alpha | arm | i386 | ia64 | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k)
+     bfd_gas=yes
+
diff --git a/packages/binutils/binutils-cross-sdk_2.19.bb b/packages/binutils/binutils-cross-sdk_2.19.bb
new file mode 100644 (file)
index 0000000..76dff54
--- /dev/null
@@ -0,0 +1,3 @@
+require binutils_${PV}.bb
+require binutils-cross-sdk.inc
+PR = "r0"
diff --git a/packages/binutils/binutils-cross_2.19.bb b/packages/binutils/binutils-cross_2.19.bb
new file mode 100644 (file)
index 0000000..b78a30a
--- /dev/null
@@ -0,0 +1,4 @@
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+require binutils_${PV}.bb
+require binutils-cross.inc
+
diff --git a/packages/binutils/binutils_2.19.bb b/packages/binutils/binutils_2.19.bb
new file mode 100644 (file)
index 0000000..bd03b4d
--- /dev/null
@@ -0,0 +1,18 @@
+PR = "r0"
+
+require binutils.inc
+
+SRC_URI = "\
+     ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2 \
+     file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1 \
+     file://binutils-uclibc-100-uclibc-conf.patch;patch=1 \
+     file://110-arm-eabi-conf.patch;patch=1 \
+     file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \
+     file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \
+     file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1 \
+     file://binutils-uclibc-gas-needs-libm.patch;patch=1 \
+     "
+
+# powerpc patches
+SRC_URI += "file://binutils-2.16.1-e300c2c3.patch;patch=1"
+
index d16c3a5..0b78a84 100644 (file)
@@ -4,9 +4,11 @@ LICENSE = "GPL+LGPL"
 DEPENDS = "dbus-glib gconf libnotify gtk+"
 RRECOMMENDS = "gnome-icon-theme"
 
+PR = "r1"
+
 SRC_URI = "http://bluez.sourceforge.net/download/${P}.tar.gz"
 
 inherit autotools pkgconfig gconf
 
-FILES_${PN} += "${datadir}/gconf"
+FILES_${PN} += "${datadir}/gconf ${datadir}/icons ${datadir}/mime"
 
diff --git a/packages/bluez/bluez-utils/sbc-thumb.patch b/packages/bluez/bluez-utils/sbc-thumb.patch
new file mode 100644 (file)
index 0000000..3505426
--- /dev/null
@@ -0,0 +1,11 @@
+--- bluez/sbc/sbc_math.h~      2008-03-05 20:18:03.000000000 +0000
++++ bluez/sbc/sbc_math.h       2008-10-27 13:39:27.000000000 +0000
+@@ -59,7 +59,7 @@
+ #define SBC_FIXED_0(val) { val = 0; }
+ #define MUL(a, b)        ((a) * (b))
+-#ifdef __arm__
++#if defined(__arm__) && !defined(__thumb__)
+ #define MULA(a, b, res) ({                            \
+               int tmp = res;                  \
+               __asm__(                                \
index c4debd0..703788f 100644 (file)
@@ -13,7 +13,8 @@ FILESPATH = "${FILE_DIRNAME}/bluez-utils-${PV}:${FILE_DIRNAME}/bluez-utils"
 # ti patch should be sent it upstream!
 SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \
            file://hcid.conf \
-           file://hciattach-ti-bts.patch;patch=1"
+           file://hciattach-ti-bts.patch;patch=1 \
+           file://sbc-thumb.patch;patch=1"
 
 
 S = "${WORKDIR}/bluez-utils-${PV}"
index 63f839e..e377406 100644 (file)
@@ -50,10 +50,13 @@ CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
 # This disables the syslog startup links in slugos (see slugos-init)
 INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ."
 
+# Use gcc for linking so LDFLAGS actually makes sense
+LD = "${CC} -nostdlib"
+
 inherit cml1 update-rc.d
 
 do_compile() {
-       unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+       unset CFLAGS CPPFLAGS CXXFLAGS
        base_do_compile
 }
 
@@ -65,7 +68,7 @@ do_install () {
         elif [ "${layout_prefix}" != "/usr" ]; then
                echo "warning, busybox.links will lose with this prefix"
        fi
-       unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+       unset CFLAGS CPPFLAGS CXXFLAGS
        install -d ${D}${sysconfdir}/init.d
        oe_runmake "PREFIX=${D}" install
        cp -pPR ${S}/_install/* ${D}/
index 8ce97bb..25e0418 100644 (file)
@@ -3,7 +3,7 @@ DEPENDS = "clutter-box2d"
 PV = "0.0+git${SRCREV}"
 PR = "r1"
 
-SRC_URI = "git://moblin.org/repos/users/pippin/prototype.git/;protocol=http \
+SRC_URI = "git://git.moblin.org/repos/users/pippin/prototype.git/;protocol=http \
            file://paths.patch;patch=1"
 
 S = "${WORKDIR}/git"
diff --git a/packages/dbus/dbus-1.0.3/fedora-compile-fix.patch b/packages/dbus/dbus-1.0.3/fedora-compile-fix.patch
new file mode 100644 (file)
index 0000000..eac37f0
--- /dev/null
@@ -0,0 +1,18 @@
+Do not fail with udrec being unknown and say we are using
+_GNU_SOURCE. This is needed for the libc/header/gcc combo
+fedora 9 is using. bits/socket.h has struct udrec #ifdefed
+with _GNU.
+
+Index: dbus-1.0.3/dbus/dbus-sysdeps-unix.c
+===================================================================
+--- dbus-1.0.3.orig/dbus/dbus-sysdeps-unix.c
++++ dbus-1.0.3/dbus/dbus-sysdeps-unix.c
+@@ -22,6 +22,8 @@
+  *
+  */
++#define _GNU_SOURCE
++
+ #include "dbus-internals.h"
+ #include "dbus-sysdeps.h"
+ #include "dbus-sysdeps-unix.h"
index 195557b..8a4c6fe 100644 (file)
@@ -1,5 +1,6 @@
 require dbus.inc
 
+PR = "r1"
 DEFAULT_PREFERENCE = "-1"
 
 inherit native
@@ -11,6 +12,7 @@ SRC_URI = "\
   http://freedesktop.org/software/dbus/releases/dbus/dbus-${PV}.tar.gz \
   file://cross.patch;patch=1 \
   file://tmpdir.patch;patch=1 \
+  file://fedora-compile-fix.patch;patch=1 \
   file://dbus-1.init \
 "
 
index 31edd26..26e3235 100644 (file)
@@ -14,6 +14,9 @@ SRC_URI = "\
   file://allow-nopw.patch \
   file://init \
 "
+SRC_URI_append_openmoko = "\
+  file://default \
+"
 
 inherit autotools update-rc.d
 
@@ -56,6 +59,9 @@ do_install() {
                                  -e 's,/usr/bin,${bindir},g' \
                                  -e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/dropbear
        chmod 755 ${D}${sysconfdir}/init.d/dropbear
+       if test -e ${WORKDIR}/default ; then
+               install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/dropbear
+       fi
 }
 
 pkg_postinst () {
@@ -73,3 +79,5 @@ pkg_postrm_append () {
        update-alternatives --remove ssh ${bindir}/dropbearmulti
        update-alternatives --remove scp ${bindir}/dropbearmulti
 }
+
+CONFFILES_${PN}_openmoko += "${sysconfdir}/default/dropbear"
diff --git a/packages/dropbear/dropbear/openmoko/default b/packages/dropbear/dropbear/openmoko/default
new file mode 100644 (file)
index 0000000..19816b3
--- /dev/null
@@ -0,0 +1 @@
+DROPBEAR_PORT=`ip addr list usb0 | awk 'BEGIN { FS="[ /]+" } /inet / { print  $3 }'`:22
index 888819c..2566fbb 100644 (file)
@@ -1,4 +1,4 @@
 require dropbear.inc
-PR = "r1"
+PR = "r1.01"
 
-SRC_URI += "file://no-host-lookup.patch;patch=1"
\ No newline at end of file
+SRC_URI += "file://no-host-lookup.patch;patch=1"
index 4cb227e..b300256 100644 (file)
@@ -15,7 +15,8 @@ PV = "221"
 
 SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
            file://Makefile.dsplink \
-          "
+           file://cmemk-fix-class-device-api.diff;patch=1 \
+"
 
 S = "${WORKDIR}/codec_engine_2_21_00_06"
 
@@ -65,19 +66,6 @@ do_compile() {
        cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
 
        oe_runmake clean
-       # We probably don't need to build all 3, but atm it doesn't hurt us     
-       oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
-           KERNEL_SRC=${STAGING_KERNEL_DIR}    \
-           KERNEL_VERSION=${KERNEL_VERSION}    \
-           CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
-           AR="${KERNEL_AR}" \
-           release
-       oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
-           KERNEL_SRC=${STAGING_KERNEL_DIR}    \
-           KERNEL_VERSION=${KERNEL_VERSION}    \
-           CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
-           AR="${KERNEL_AR}" \
-           debug
        oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
            KERNEL_SRC=${STAGING_KERNEL_DIR}    \
            KERNEL_VERSION=${KERNEL_VERSION}    \
@@ -94,23 +82,16 @@ do_compile() {
        
        cd ${DSPPOWERSOC}/lpm
 
-       export KERNEL_DIR=${STAGING_KERNEL_DIR}
-       export TOOL_PREFIX=${TARGET_PREFIX} 
-
-       # Different SoCs use different toolchains by default, we just want them to use the OE one, so replace the entries because they can't be overloaded within the environment
-       sed -i -e s:/db/toolsrc/library/tools/vendors/mvl/arm/omap3/OMAP35x_SDK_0.9.7/src/linux/kernel_org/2.6_kernel:${STAGING_KERNEL_DIR}:g \
-           -e s:/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3/bin/arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
-           -e s:/db/atree/library/trees/power/power-d02x/imports:${STAGING_DIR}/${MULTIMACH_TARGET_SYS}:g \
-           -e s:/db/toolsrc/library/tools/vendors/mvl/arm/dm6446/REL_LSP_02_00_00_010/montavista/pro/devkit/lsp/ti-davinci/linux-2.6.18_pro500:${STAGING_KERNEL_DIR}:g \
-           -e s:/db/toolsrc/library/tools/vendors/mvl/arm/mvl5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-:${TARGET_PREFIX}:g \
-        Makefile
-
-       oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
+    unset LDFLAGS CFLAGS
+    make   KERNEL_PATH=${STAGING_KERNEL_DIR}   \
            KERNEL_SRC=${STAGING_KERNEL_DIR}    \
+           KERNEL_DIR=${STAGING_KERNEL_DIR}   \
            KERNEL_VERSION=${KERNEL_VERSION}    \
+           TOOL_PREFIX=${TARGET_PREFIX} \
+           DSPLINK_REPO=${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ \
            CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
            AR="${KERNEL_AR}"
-       
+
        cd ${S}/examples
        # export some more variable to point to external TI tools
        # information is duplicated between the js and make based tools
diff --git a/packages/dsplink/files/cmemk-fix-class-device-api.diff b/packages/dsplink/files/cmemk-fix-class-device-api.diff
new file mode 100644 (file)
index 0000000..c42e6ae
--- /dev/null
@@ -0,0 +1,89 @@
+--- codec_engine_2_21_00_06/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2008-09-26 02:26:04.000000000 +0200
++++ codec_engine_2_21_00_06/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2008-10-30 11:57:54.000000000 +0100
+@@ -42,11 +26,20 @@
+  * USE_CLASS_SIMPLE - #define if Linux version contains class_simple,
+  *    otherwise class is used (Linux supports one or the other, not both)
+  */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+-#warning LINUX_VERSION_CODE >= 2.6.18
++#warning LINUX_VERSION_CODE >= 2.6.26
++
++#define USE_CACHE_VOID_ARG
++#undef USE_CLASS_DEVICE
++#undef USE_CLASS_SIMPLE
++
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
++
++#warning 2.6.26 > LINUX_VERSION_CODE >= 2.6.18
+ #define USE_CACHE_VOID_ARG
++#define USE_CLASS_DEVICE
+ #undef USE_CLASS_SIMPLE
+ #else  /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) */
+@@ -54,6 +47,7 @@
+ #warning LINUX_VERSION_CODE < 2.6.18
+ #define USE_CLASS_SIMPLE
++#undef USE_CLASS_DEVICE
+ #undef USE_CACHE_VOID_ARG
+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) */
+@@ -1697,12 +1691,12 @@
+ #ifdef USE_CLASS_SIMPLE
+     class_simple_device_add(cmem_class, MKDEV(cmem_major, 0), NULL, "cmem");
+ #else
+-/*
+-    Use the following for newer GIT releases ( > 2.6.25?)
+-    device_create(cmem_class, NULL, MKDEV(cmem_major, 0), "cmem");
+-*/
++#ifdef USE_CLASS_DEVICE
+     class_device_create(cmem_class, NULL, MKDEV(cmem_major, 0), NULL, "cmem");
+-#endif
++#else
++    device_create(cmem_class, NULL, MKDEV(cmem_major, 0), "cmem");
++#endif // USE_CLASS_DEVICE
++#endif // USE_CLASS_SIMPLE
+ #endif // USE_UDEV
+     pstart[0] = phys_start;
+@@ -1862,13 +1856,13 @@
+     class_simple_device_remove(MKDEV(cmem_major, 0));
+     class_simple_destroy(cmem_class);
+ #else
+-/*
+-    Use the following for newer GIT releases ( > 2.6.25?)
+-    device_destroy(cmem_class, MKDEV(cmem_major, 0));
+-*/
++#ifdef USE_CLASS_DEVICE
+     class_device_destroy(cmem_class, MKDEV(cmem_major, 0));
++#else
++    device_destroy(cmem_class, MKDEV(cmem_major, 0));
++#endif // USE_CLASS_DEVICE
+     class_destroy(cmem_class);
+-#endif
++#endif // USE_CLASS_SIMPLE
+ #endif // USE_UDEV
+@@ -1938,13 +1932,13 @@
+     class_simple_device_remove(MKDEV(cmem_major, 0));
+     class_simple_destroy(cmem_class);
+ #else
+-/*
+-    Use the following for newer GIT releases ( > 2.6.25?)
+-    device_destroy(cmem_class, MKDEV(cmem_major, 0));
+-*/
++#ifdef USE_CLASS_DEVICE
+     class_device_destroy(cmem_class, MKDEV(cmem_major, 0));
++#else
++    device_destroy(cmem_class, MKDEV(cmem_major, 0));
++#endif // USE_CLASS_DEVICE
+     class_destroy(cmem_class);
+-#endif
++#endif // USE_CLASS_SIMPLE
+ #endif // USE_UDEV
index 82e5fb6..4261b14 100644 (file)
@@ -15,7 +15,8 @@ PV = "221"
 
 SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
            file://Makefile.dsplink \
-          "
+           file://cmemk-fix-class-device-api.diff;patch=1 \
+"
 
 S = "${WORKDIR}/codec_engine_2_21_00_06"
 
@@ -37,25 +38,11 @@ do_compile() {
        cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
 
        oe_runmake clean
-       # We probably don't need to build all 3, but atm it doesn't hurt us     
        oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
            KERNEL_SRC=${STAGING_KERNEL_DIR}    \
            KERNEL_VERSION=${KERNEL_VERSION}    \
            CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
-           AR="${KERNEL_AR}" \
-           release
-       oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
-           KERNEL_SRC=${STAGING_KERNEL_DIR}    \
-           KERNEL_VERSION=${KERNEL_VERSION}    \
-           CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
-           AR="${KERNEL_AR}" \
-           debug
-       oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
-           KERNEL_SRC=${STAGING_KERNEL_DIR}    \
-           KERNEL_VERSION=${KERNEL_VERSION}    \
-           CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
-           AR="${KERNEL_AR}" 
-
+           AR="${KERNEL_AR}"
 }
 
 
index cbbc5c8..50e5866 100644 (file)
@@ -38,20 +38,13 @@ do_compile() {
        
        cd ${DSPPOWERSOC}/lpm
 
-       export KERNEL_DIR=${STAGING_KERNEL_DIR}
-       export TOOL_PREFIX=${TARGET_PREFIX} 
-
-       # Different SoCs use different toolchains by default, we just want them to use the OE one, so replace the entries because they can't be overloaded within the environment
-       sed -i -e s:/db/toolsrc/library/tools/vendors/mvl/arm/omap3/OMAP35x_SDK_0.9.7/src/linux/kernel_org/2.6_kernel:${STAGING_KERNEL_DIR}:g \
-           -e s:/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3/bin/arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
-           -e s:/db/atree/library/trees/power/power-d02x/imports:${STAGING_DIR}/${MULTIMACH_TARGET_SYS}:g \
-           -e s:/db/toolsrc/library/tools/vendors/mvl/arm/dm6446/REL_LSP_02_00_00_010/montavista/pro/devkit/lsp/ti-davinci/linux-2.6.18_pro500:${STAGING_KERNEL_DIR}:g \
-           -e s:/db/toolsrc/library/tools/vendors/mvl/arm/mvl5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-:${TARGET_PREFIX}:g \
-        Makefile
-
-       oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
+       unset LDFLAGS CFLAGS    
+       make   KERNEL_PATH=${STAGING_KERNEL_DIR}   \
            KERNEL_SRC=${STAGING_KERNEL_DIR}    \
+           KERNEL_DIR=${STAGING_KERNEL_DIR}   \
            KERNEL_VERSION=${KERNEL_VERSION}    \
+           TOOL_PREFIX=${TARGET_PREFIX} \
+           DSPLINK_REPO=${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ \
            CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
            AR="${KERNEL_AR}"
 }
index ba84155..4599c3e 100644 (file)
@@ -9,6 +9,7 @@ TICGTOOLSDIR ?= "cg6x_6_0_19"
 DSPLINKPLATFORM ?= "DAVINCI"
 DSPLINKPLATFORM_omap5912osk = "OMAP"
 DSPLINKPLATFORM_beagleboard = "OMAP3530"
+DSPLINKPLATFORM_omap3evm = "OMAP3530"
 DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI"
 DSPLINKPLATFORM_davinci-dvevm = "DAVINCI"
 
@@ -16,12 +17,15 @@ DSPLINKDSP ?= "C64XX"
 
 DSPLINKSOC ?= "DM6446"
 DSPLINKSOC_beagleboard = "3530"
+DSPLINKSOC_omap3evm = "3530"
 
 DSPCFG ?= "DM6446GEMSHMEM"
 DSPCFG_beagleboard ?= "OMAP3530SHMEM"
+DSPCFG_omap3evm ?= "OMAP3530SHMEM"
 
 GPPOS ?= "MVL5G"
 GPPOS_beagleboard = "OMAPLSP"
+GPPOS_omap3evm = "OMAPLSP"
 
 export DSPLINKPLATFORM
 export DSPLINKDSP
@@ -31,4 +35,5 @@ export GPPOS
 
 DSPPOWERSOC ?= "dm6446"
 DSPPOWERSOC_beagleboard = "omap3530"
+DSPPOWERSOC_omap3evm = "omap3530"
 
diff --git a/packages/e17/e-wm/Xsession.d/98enlightenment b/packages/e17/e-wm/Xsession.d/98enlightenment
deleted file mode 100644 (file)
index 7913888..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec enlightenment_start
index e16cad0..acbee85 100644 (file)
@@ -1,8 +1,8 @@
-DESCRIPTION = "The Enlightenment Window Mananger Version 17"
+DESCRIPTION = "The Enlightenment Window Manager Version 17"
 DEPENDS = "eet evas ecore edje efreet edbus"
 LICENSE = "MIT BSD"
 PV = "0.16.999.043+svnr${SRCREV}"
-PR = "r14"
+PR = "r15"
 
 inherit e update-alternatives
 
index e28689e..8f77776 100644 (file)
@@ -16,8 +16,9 @@ do_configure_prepend() {
        mv -f FreeNote subdir1
        mv -f FreeNoteSetup subdir2
        printf "TEMPLATE=subdirs\nSUBDIRS=subdir1 subdir2\n" >> freenote.pro
-       pushd ${S}/subdir1 && rm *.pro && qmake -project && echo "TARGET=FreeNote" >> subdir1.pro && popd
-       pushd ${S}/subdir2 && rm *.pro && qmake -project && echo "TARGET=FreeNoteSetup" >> subdir2.pro && popd
+       cd ${S}/subdir1 && rm *.pro && qmake -project && echo "TARGET=FreeNote" >> subdir1.pro
+       cd ${S}/subdir2 && rm *.pro && qmake -project && echo "TARGET=FreeNoteSetup" >> subdir2.pro
+       cd ${S}
 }
 
 do_install() {
diff --git a/packages/freesmartphone/frameworkd-devel_git.bb b/packages/freesmartphone/frameworkd-devel_git.bb
new file mode 100644 (file)
index 0000000..c46c44a
--- /dev/null
@@ -0,0 +1,5 @@
+require frameworkd_git.bb
+
+SRC_URI = "${FREESMARTPHONE_GIT}/framework.git;protocol=git;branch=master \
+           file://frameworkd \
+           file://frameworkd.conf"
index 1cc9382..521fe5d 100644 (file)
@@ -12,7 +12,7 @@ inherit distutils update-rc.d
 INITSCRIPT_NAME = "frameworkd"
 INITSCRIPT_PARAMS = "defaults 29"
 
-SRC_URI = "${FREESMARTPHONE_GIT}/framework.git;protocol=git;branch=master \
+SRC_URI = "${FREESMARTPHONE_GIT}/framework.git;protocol=git;branch=stabilization/milestone4 \
            file://frameworkd \
            file://frameworkd.conf"
 S = "${WORKDIR}/git"
@@ -27,6 +27,7 @@ RDEPENDS_${PN} += "\
   python-ctypes \
   python-dbus \
   python-datetime \
+  python-difflib \
   python-pprint \
   python-pygobject \
   python-pyrtc \
@@ -42,6 +43,7 @@ RDEPENDS_${PN} += "\
 
 RRECOMMENDS_${PN} += "\
   alsa-utils-amixer \
+  python-gst \
   ppp \
 "
 
index 4e6f9e1..7c92b25 100644 (file)
@@ -2,8 +2,8 @@ DESCRIPTION = "freesmartphone.org gpsd compatibility daemon"
 LICENSE = "GPL"
 SECTION = "network"
 DEPENDS = "dbus-glib"
-PV = "0.6+${PR}+gitr${SRCREV}"
-PR = "r3"
+PV = "0.7+gitr${SRCREV}"
+PR = "r0"
 
 SRC_URI = "\
   ${FREESMARTPHONE_GIT}/fso-gpsd.git;protocol=git;branch=master \
index 0c14607..7828500 100644 (file)
@@ -5,7 +5,7 @@ SECTION = "console/network"
 DEPENDS = "dbus dbus-glib"
 RDEPENDS = "dbus dbus-glib"
 LICENSE = "GPL"
-PV = "0.9.1+${PR}-gitr${SRCREV}"
+PV = "0.9.2+gitr${SRCREV}"
 PR = "r0"
 
 SRC_URI = "${FREESMARTPHONE_GIT}/gsm0710muxd.git;protocol=git;branch=master"
index 1e6306f..1351674 100644 (file)
@@ -2,8 +2,8 @@ DESCRIPTION = "Illume theme for the freesmartphone.org project"
 HOMEPAGE = "http://illume.projects.openmoko.org/"
 LICENSE = "MIT/BSD"
 DEPENDS = "edje-native eet-native"
-PV = "0.0+${PR}-gitr${SRCREV}"
-PR = "r2"
+PV = "0.1.0+gitr${SRCREV}"
+PR = "r0"
 
 SRC_URI = "${FREESMARTPHONE_GIT}/artwork.git;protocol=git;branch=master"
 S = "${WORKDIR}/git/illume"
diff --git a/packages/freesmartphone/libframeworkd-glib_git.bb b/packages/freesmartphone/libframeworkd-glib_git.bb
new file mode 100644 (file)
index 0000000..bce8312
--- /dev/null
@@ -0,0 +1,16 @@
+DESCRIPTION = "freesmartphone.org API glib wrapper"
+LICENSE = "LGPL"
+SECTION = "devel"
+DEPENDS = "dbus-glib"
+PV = "0.0.1+gitr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "${FREESMARTPHONE_GIT}/libframeworkd-glib.git;protocol=git;branch=master"
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+do_stage() {
+       autotools_stage_all
+}
+
diff --git a/packages/glib-2.0/files/atomic-thumb.patch b/packages/glib-2.0/files/atomic-thumb.patch
new file mode 100644 (file)
index 0000000..d1e3d49
--- /dev/null
@@ -0,0 +1,38 @@
+# gatomic.c uses SWP, which doesn't work in Thumb mode.
+# Put that source file into a separate convenience library which is always built as ARM.
+
+--- glib/glib/Makefile.am~     2008-07-01 23:30:12.000000000 +0100
++++ glib/glib/Makefile.am      2008-10-27 10:03:42.000000000 +0000
+@@ -80,6 +80,7 @@
+       galiasdef.c
+ lib_LTLIBRARIES = libglib-2.0.la
++noinst_LTLIBRARIES = libgatomic.la
+ if MS_LIB_AVAILABLE
+ noinst_DATA = glib-2.0.lib
+@@ -94,10 +95,14 @@
+ uninstall-ms-lib:
+ endif
++libgatomic_la_CFLAGS = $(CFLAGS) -mno-thumb
++
++libgatomic_la_SOURCES =               \
++      gatomic.c
++
+ libglib_2_0_la_SOURCES =      \
+       garray.c                \
+       gasyncqueue.c           \
+-      gatomic.c               \
+       gbacktrace.c            \
+       gbase64.c               \
+       gbookmarkfile.c         \
+@@ -285,7 +290,7 @@
+ pcre_inc =
+ endif
+-libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib)
++libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib) libgatomic.la
+ libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) @GLIB_DEF@
+ libglib_2_0_la_LDFLAGS = \
index f70539f..1b817a9 100644 (file)
@@ -9,3 +9,5 @@ SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.16/glib-${PV}.tar.bz2 \
            file://glibconfig-sysdefs.h \
            file://configure-libtool.patch;patch=1 \
           "
+
+SRC_URI_append_arm = "file://atomic-thumb.patch;patch=1"
index 0f70e37..92cdc4c 100644 (file)
@@ -14,7 +14,7 @@ SRC_URI += "file://remove-docs.patch;patch=1"
 
 EXTRA_OECONF=" --without-perl "
 
-PACKAGES_DYNAMIC = "gnumeric-plugin-*"
+PACKAGES_DYNAMIC += "gnumeric-plugin-*"
 
 FILES_${PN}-dbg += "${libdir}/gnumeric/${PV}/plugins/*/.debug"
 FILES_gnumeric_append = " /usr/lib/libspreadsheet-${PV}.so "
diff --git a/packages/gnupg/gnupg-1.4.2.2/long-long-thumb.patch b/packages/gnupg/gnupg-1.4.2.2/long-long-thumb.patch
new file mode 100644 (file)
index 0000000..36e9992
--- /dev/null
@@ -0,0 +1,11 @@
+--- gnupg/mpi/longlong.h~      2006-02-14 10:09:55.000000000 +0000
++++ gnupg/mpi/longlong.h       2008-10-27 13:11:09.000000000 +0000
+@@ -181,7 +181,7 @@
+ /***************************************
+  **************  ARM  ******************
+  ***************************************/
+-#if defined (__arm__) && W_TYPE_SIZE == 32
++#if defined (__arm__) && W_TYPE_SIZE == 32 && !defined(__thumb__)
+ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+   __asm__ ("adds %1, %4, %5\n"                                          \
+          "adc  %0, %2, %3"                                            \
index b21eb88..8492617 100644 (file)
@@ -7,7 +7,8 @@ EXTRA_OECONF += "--with-readline=${STAGING_LIBDIR}/.."
 SRC_URI += "file://15_free_caps.patch;patch=1 \
            file://16_min_privileges.patch;patch=1 \
            file://22_zero_length_mpi_fix.patch;patch=1 \
-            file://30_nm_always_check.patch;patch=1"
+            file://30_nm_always_check.patch;patch=1 \
+            file://long-long-thumb.patch;patch=1"
 
 S = "${WORKDIR}/gnupg-${PV}"
 
diff --git a/packages/gstreamer/gst-plugins-bad/ivorbis-thumb.patch b/packages/gstreamer/gst-plugins-bad/ivorbis-thumb.patch
new file mode 100644 (file)
index 0000000..c94a788
--- /dev/null
@@ -0,0 +1,11 @@
+--- bad/ext/ivorbis/vorbisdec.c~       2008-01-22 09:55:22.000000000 +0000
++++ bad/ext/ivorbis/vorbisdec.c        2008-10-27 20:12:43.000000000 +0000
+@@ -792,7 +792,7 @@
+ }
+ /* Taken from Tremor, misc.h */
+-#ifdef _ARM_ASSEM_
++#if defined(_ARM_ASSEM_) && !defined(__thumb__)
+ static inline ogg_int32_t
+ CLIP_TO_15 (ogg_int32_t x)
+ {
index b0385c7..6ecc37d 100644 (file)
@@ -1,7 +1,8 @@
 require gst-plugins.inc
 
 SRC_URI += "file://vorbisenc.h file://vorbisdec.h \
-            file://gst-plugins-directfb-fix.patch;patch=1;pnum=2"
+            file://gst-plugins-directfb-fix.patch;patch=1;pnum=2 \
+            file://ivorbis-thumb.patch;patch=1"
 DEPENDS += "gst-plugins-base"
 
 do_compile_prepend() {
index 381cca8..bcea909 100644 (file)
@@ -6,7 +6,7 @@ PROVIDES += "gst-plugins"
 # if alsa has been built and is present.  You will
 # not get an error if this is not present, just 
 # a missing alsa plugin
-DEPENDS += "alsa-lib"
+DEPENDS += "alsa-lib freetype"
 
-PR = "r3"
+PR = "r4"
 
index 7171fc3..efb7af3 100644 (file)
@@ -1,8 +1,8 @@
 require gst-common.inc
 DESCRIPTION = "Plugins for GStreamer"
-DEPENDS = "gstreamer libmikmod libmad liboil libogg tremor libvorbis libid3tag"
-DEPENDS_openmoko = "gstreamer libmikmod liboil libogg tremor libvorbis libid3tag"
-DEPENDS_opendreambox = "gstreamer libmikmod libmad liboil libogg tremor libvorbis libid3tag neon flac libmatroska"
+DEPENDS = "gstreamer libmikmod liboil libogg tremor libvorbis libid3tag"
+DEPENDS += "${@base_conditional('DISTRO', 'openmoko', '', 'libmad', d)}"
+DEPENDS += "${@base_conditional('DISTRO', 'openmoko', '', 'libmad neon flac libmatroska"
 
 PACKAGES_DYNAMIC = "gst-plugin-*"
 
index 1a687c1..0e7dcf7 100644 (file)
@@ -4,7 +4,8 @@ HOMEPAGE = "http://www.gtk.org"
 SECTION = "libs"
 LICENSE = "LGPL"
 PRIORITY = "optional"
-DEPENDS = "glib-2.0 tiff pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cups"
+DEPENDS = "glib-2.0 tiff pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cups \
+           libxrandr libxdamage libxrender libxcomposite"
 
 inherit autotools pkgconfig
 
diff --git a/packages/hal/hal-0.5.11/fix-configure.diff b/packages/hal/hal-0.5.11/fix-configure.diff
new file mode 100644 (file)
index 0000000..7d9d42d
--- /dev/null
@@ -0,0 +1,22 @@
+From: Rémi Cardona <remi@gentoo.org>
+Date: Sat, 9 Aug 2008 15:04:07 +0000 (+0200)
+Subject: add libtool-2.2 support
+X-Git-Url: http://gitweb.freedesktop.org/?p=hal.git;a=commitdiff;h=c8a1aedf87bbb200fc5daa0ec8559a2d84fbb61d
+
+add libtool-2.2 support
+
+Fix for aclocal to work properly with libtool 2.2 which no longer
+checks for C++ automatically (this patch is of course backwards
+compatible with libtool 1.5.x)
+---
+
+--- a/configure.in
++++ b/configure.in
+@@ -29,6 +29,7 @@ AC_SUBST(LT_AGE)
+ AC_ISC_POSIX
+ AC_PROG_CC
++AC_PROG_CXX
+ AM_PROG_CC_C_O
+ AC_HEADER_STDC
+ AC_PROG_LIBTOOL
diff --git a/packages/hal/hal_0.5.11.bb b/packages/hal/hal_0.5.11.bb
new file mode 100644 (file)
index 0000000..e93ad64
--- /dev/null
@@ -0,0 +1,8 @@
+require hal.inc
+
+PR = "r1"
+
+SRC_URI += " file://hal-right-input-h.patch;patch=1 \
+             file://fix-configure.diff;patch=1"
+
+EXTRA_OECONF += "--with-linux-input-header=${STAGING_INCDIR}/linux/input.h"
diff --git a/packages/images/openmoko-asu-image.bb b/packages/images/openmoko-asu-image.bb
new file mode 100644 (file)
index 0000000..2a8896c
--- /dev/null
@@ -0,0 +1,7 @@
+#------------------------------------------------------
+# Openmoko Qtopia/X11 Image Recipe
+#------------------------------------------------------
+
+require openmoko-minimal-image.bb
+
+IMAGE_INSTALL += "task-openmoko-asu"
index 5c1e5c6..e5aa9aa 100755 (executable)
@@ -208,7 +208,7 @@ then
                : > /etc/mtab
        fi
        mount -f -o remount /
-       mount -f /proc
+       mount -f -o remount /proc
        test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
 fi
 
index 2d9cedd..0c9d323 100644 (file)
@@ -1180,10 +1180,10 @@ CONFIG_RTC_DRV_SA1100=y
 CONFIG_EXT2_FS=y
 # CONFIG_EXT2_FS_XATTR is not set
 # CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS=y
 # CONFIG_EXT3_FS_XATTR is not set
 # CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=m
+CONFIG_JBD=y
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
 # CONFIG_FS_POSIX_ACL is not set
index 6209731..7724d61 100644 (file)
@@ -1190,10 +1190,10 @@ CONFIG_RTC_DRV_SA1100=y
 CONFIG_EXT2_FS=y
 # CONFIG_EXT2_FS_XATTR is not set
 # CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS=y
 # CONFIG_EXT3_FS_XATTR is not set
 # CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=m
+CONFIG_JBD=y
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
 # CONFIG_FS_POSIX_ACL is not set
index a89a82b..195f3f4 100644 (file)
@@ -1462,10 +1462,10 @@ CONFIG_RTC_DRV_SA1100=y
 CONFIG_EXT2_FS=y
 # CONFIG_EXT2_FS_XATTR is not set
 # CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS=y
 # CONFIG_EXT3_FS_XATTR is not set
 # CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=m
+CONFIG_JBD=y
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
 CONFIG_FS_POSIX_ACL=y
diff --git a/packages/linux/linux-omap/0001-Removed-resolution-check-that-prevents-scaling-when.patch b/packages/linux/linux-omap/0001-Removed-resolution-check-that-prevents-scaling-when.patch
new file mode 100644 (file)
index 0000000..636203e
--- /dev/null
@@ -0,0 +1,26 @@
+From 3227bd5c412e7eb0d4370b2834e71723f6b4be48 Mon Sep 17 00:00:00 2001
+From: Tuomas Kulve <tuomas.kulve@movial.fi>
+Date: Mon, 27 Oct 2008 18:55:59 +0200
+Subject: [PATCH] Removed resolution check that prevents scaling when output resolution doesn't match the original resolution.
+
+---
+ drivers/video/omap/dispc.c |    3 ---
+ 1 files changed, 0 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index 0f0b2e5..1df0c1e 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -579,9 +579,6 @@ static int omap_dispc_set_scale(int plane,
+       if ((unsigned)plane > OMAPFB_PLANE_NUM)
+               return -ENODEV;
+-      if (out_width != orig_width || out_height != orig_height)
+-              return -EINVAL;
+-
+       enable_lcd_clocks(1);
+       if (orig_width < out_width) {
+               /*
+-- 
+1.5.6.5
+
index 0f5113d..ec1a071 100644 (file)
@@ -10,7 +10,7 @@ SRCREV = "2a3408be17f287fdb5809c9b6c68e7ad96d25b74"
 
 #PV = "2.6.26+2.6.27-rc7+${PR}+gitr${SRCREV}"
 PV = "2.6.27+${PR}+gitr${SRCREV}"
-PR = "r1"
+PR = "r3"
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \
           file://defconfig"
@@ -34,6 +34,7 @@ SRC_URI_append = " \
            file://musb-fix-multiple-bulk-transfers.diff;patch=1 \
            file://musb-fix-endpoints.diff;patch=1 \
            file://dvb-fix-dma.diff;patch=1 \
+           file://0001-Removed-resolution-check-that-prevents-scaling-when.patch;patch=1 \
 "
 
 
diff --git a/packages/linux/linux-xo/defconfig b/packages/linux/linux-xo/defconfig
new file mode 100644 (file)
index 0000000..8439431
--- /dev/null
@@ -0,0 +1,2175 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.22
+# Mon Nov  5 17:44:42 2007
+#
+CONFIG_X86_32=y
+CONFIG_GENERIC_TIME=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_SEMAPHORE_SLEEPERS=y
+CONFIG_X86=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_QUICKLIST=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_DMI=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_IPC_NS=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+# CONFIG_TASKSTATS is not set
+CONFIG_UTS_NS=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=1
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+# CONFIG_SMP is not set
+CONFIG_X86_PC=y
+# CONFIG_X86_ELAN is not set
+# CONFIG_X86_VOYAGER is not set
+# CONFIG_X86_NUMAQ is not set
+# CONFIG_X86_SUMMIT is not set
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_VISWS is not set
+# CONFIG_X86_GENERICARCH is not set
+# CONFIG_X86_ES7000 is not set
+# CONFIG_PARAVIRT is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP2 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+CONFIG_MGEODE_LX=y
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_X86_GENERIC is not set
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=5
+CONFIG_X86_XADD=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_TSC=y
+CONFIG_X86_MINIMUM_CPU_MODEL=4
+# CONFIG_HPET_TIMER is not set
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_BKL=y
+# CONFIG_X86_UP_APIC is not set
+# CONFIG_X86_MCE is not set
+# CONFIG_VM86 is not set
+# CONFIG_TOSHIBA is not set
+# CONFIG_I8K is not set
+CONFIG_X86_REBOOTFIXUPS=y
+# CONFIG_MICROCODE is not set
+CONFIG_X86_MSR=y
+CONFIG_X86_CPUID=m
+
+#
+# Firmware Drivers
+#
+# CONFIG_EDD is not set
+# CONFIG_DELL_RBU is not set
+# CONFIG_DCDBAS is not set
+CONFIG_NOHIGHMEM=y
+# CONFIG_HIGHMEM4G is not set
+# CONFIG_HIGHMEM64G is not set
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_3G_OPT is not set
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_2G_OPT is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_NR_QUICK=1
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_MTRR is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_VGA_NOPROBE is not set
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_KEXEC=y
+CONFIG_PHYSICAL_START=0x400000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+# CONFIG_COMPAT_VDSO is not set
+
+#
+# Power management options (ACPI, APM)
+#
+CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+CONFIG_PM_DEBUG=y
+CONFIG_DISABLE_SUSPEND_VT_SWITCH=y
+# CONFIG_PM_TRACE is not set
+# CONFIG_PM_SYSFS_DEPRECATED is not set
+CONFIG_SOFTWARE_SUSPEND=y
+CONFIG_PM_STD_PARTITION=""
+
+#
+# ACPI (Advanced Configuration and Power Interface) Support
+#
+# CONFIG_ACPI is not set
+# CONFIG_APM is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOANY is not set
+CONFIG_PCI_GOOLPC=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_OLPC=y
+# CONFIG_PCIEPORTBUS is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCI_DEBUG is not set
+CONFIG_ISA_DMA_API=y
+# CONFIG_ISA is not set
+# CONFIG_MCA is not set
+# CONFIG_SCx200 is not set
+CONFIG_GEODE_MFGPT_TIMER=y
+CONFIG_OLPC=y
+CONFIG_OLPC_PM=y
+CONFIG_OPEN_FIRMWARE=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_MISC=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+CONFIG_XFRM_MIGRATE=y
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_DIAG is not set
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=y
+CONFIG_TCP_CONG_CUBIC=m
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_DEFAULT_BIC=y
+# CONFIG_DEFAULT_CUBIC is not set
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="bic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=y
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_NETLABEL is not set
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK=m
+# CONFIG_NF_CT_ACCT is not set
+# CONFIG_NF_CONNTRACK_MARK is not set
+# CONFIG_NF_CONNTRACK_SECMARK is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+CONFIG_NF_CONNTRACK_FTP=m
+# CONFIG_NF_CONNTRACK_H323 is not set
+CONFIG_NF_CONNTRACK_IRC=m
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+# CONFIG_NF_CONNTRACK_TFTP is not set
+# CONFIG_NF_CT_NETLINK is not set
+CONFIG_NETFILTER_XTABLES=m
+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
+# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_MATCH_IPRANGE is not set
+# CONFIG_IP_NF_MATCH_TOS is not set
+# CONFIG_IP_NF_MATCH_RECENT is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_AH is not set
+# CONFIG_IP_NF_MATCH_TTL is not set
+# CONFIG_IP_NF_MATCH_OWNER is not set
+# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
+CONFIG_IP_NF_FILTER=m
+# CONFIG_IP_NF_TARGET_REJECT is not set
+CONFIG_IP_NF_TARGET_LOG=m
+# CONFIG_IP_NF_TARGET_ULOG is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+# CONFIG_IP_NF_TARGET_REDIRECT is not set
+# CONFIG_IP_NF_TARGET_NETMAP is not set
+# CONFIG_IP_NF_TARGET_SAME is not set
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+# CONFIG_NF_NAT_TFTP is not set
+# CONFIG_NF_NAT_AMANDA is not set
+# CONFIG_NF_NAT_PPTP is not set
+# CONFIG_NF_NAT_H323 is not set
+# CONFIG_NF_NAT_SIP is not set
+# CONFIG_IP_NF_MANGLE is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_NF_CONNTRACK_IPV6 is not set
+# CONFIG_IP6_NF_QUEUE is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_FIFO=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+# CONFIG_NET_ACT_IPT is not set
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_ESTIMATOR=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_FIB_RULES=y
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_EXT=y
+# CONFIG_MAC80211 is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_IEEE80211_SOFTMAC=m
+CONFIG_IEEE80211_SOFTMAC_DEBUG=y
+# CONFIG_RFKILL is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=2028
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_CAFE=y
+# CONFIG_MTD_NAND_CS553X is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+# CONFIG_PNPACPI is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_UB=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# Misc devices
+#
+# CONFIG_IBM_ASM is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_EEPROM_93CX6 is not set
+CONFIG_IDE=m
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=m
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+# CONFIG_BLK_DEV_HD_IDE is not set
+CONFIG_BLK_DEV_IDEDISK=m
+CONFIG_IDEDISK_MULTI_MODE=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+CONFIG_IDE_TASK_IOCTL=y
+# CONFIG_IDE_PROC_FS is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=m
+# CONFIG_BLK_DEV_CMD640 is not set
+CONFIG_BLK_DEV_IDEPCI=y
+CONFIG_IDEPCI_SHARE_IRQ=y
+# CONFIG_IDEPCI_PCIBUS_ORDER is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_RZ1000 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+CONFIG_IDEDMA_ONLYDISK=y
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_ATIIXP is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_CS5535 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_JMICRON is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+CONFIG_BLK_DEV_PIIX=m
+# CONFIG_BLK_DEV_IT8213 is not set
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SIS5513 is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_BLK_DEV_TC86C001 is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_SRP is not set
+# CONFIG_ATA is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+# CONFIG_PCNET32_NAPI is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_SC92031 is not set
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
+# CONFIG_ATL1 is not set
+CONFIG_NETDEV_10000=y
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_CHELSIO_T3 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_MYRI10GE is not set
+# CONFIG_NETXEN_NIC is not set
+# CONFIG_MLX4_CORE is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_DEBUG=y
+# CONFIG_AIRO is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_PRISM54_USB is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_BCM43XX is not set
+# CONFIG_ZD1211RW is not set
+# CONFIG_ADM8211 is not set
+# CONFIG_ACX_PCI is not set
+# CONFIG_ACX_USB is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET_MII=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+# CONFIG_PPP_BSDCOMP is not set
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLHC=m
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_PS2_ALPS is not set
+# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
+# CONFIG_MOUSE_PS2_SYNAPTICS is not set
+# CONFIG_MOUSE_PS2_LIFEBOOK is not set
+# CONFIG_MOUSE_PS2_TRACKPOINT is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_OLPC=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+# CONFIG_INPUT_WISTRON_BTNS is not set
+# CONFIG_INPUT_ATI_REMOTE is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=1
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+# CONFIG_ACQUIRE_WDT is not set
+# CONFIG_ADVANTECH_WDT is not set
+# CONFIG_ALIM1535_WDT is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_SC520_WDT is not set
+# CONFIG_EUROTECH_WDT is not set
+# CONFIG_IB700_WDT is not set
+# CONFIG_IBMASR is not set
+# CONFIG_WAFER_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_ITCO_WDT is not set
+# CONFIG_SC1200_WDT is not set
+# CONFIG_PC87413_WDT is not set
+# CONFIG_60XX_WDT is not set
+# CONFIG_SBC8360_WDT is not set
+# CONFIG_CPU5_WDT is not set
+# CONFIG_SMSC37B787_WDT is not set
+# CONFIG_W83627HF_WDT is not set
+# CONFIG_W83697HF_WDT is not set
+# CONFIG_W83877F_WDT is not set
+# CONFIG_W83977F_WDT is not set
+# CONFIG_MACHZ_WDT is not set
+# CONFIG_SBC_EPX_C3_WATCHDOG is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_INTEL is not set
+# CONFIG_HW_RANDOM_AMD is not set
+CONFIG_HW_RANDOM_GEODE=y
+# CONFIG_HW_RANDOM_VIA is not set
+CONFIG_NVRAM=y
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_SONYPI is not set
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_MWAVE is not set
+# CONFIG_PC8736x_GPIO is not set
+# CONFIG_NSC_GPIO is not set
+CONFIG_CS5535_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HANGCHECK_TIMER=m
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=m
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIMTEC is not set
+CONFIG_SCx200_ACB=y
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_TINY_USB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+CONFIG_BATTERY_OLPC=y
+# CONFIG_HWMON is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=y
+# CONFIG_VIDEO_V4L1 is not set
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+# CONFIG_VIDEO_TDA9840 is not set
+# CONFIG_VIDEO_TEA6415C is not set
+# CONFIG_VIDEO_TEA6420 is not set
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_TLV320AIC23B is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_OV7670=y
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+
+#
+# Video and audio decoders
+#
+# CONFIG_VIDEO_CX25840 is not set
+
+#
+# MPEG video encoders
+#
+# CONFIG_VIDEO_CX2341X is not set
+
+#
+# Video encoders
+#
+# CONFIG_VIDEO_SAA7127 is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_VIDEO_SAA7134 is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_CX88 is not set
+CONFIG_VIDEO_CAFE_CCIC=y
+CONFIG_V4L_USB_DRIVERS=y
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_USBVISION is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_ZR364XX is not set
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+# CONFIG_DVB_CORE is not set
+CONFIG_DAB=y
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_PROGEAR is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+CONFIG_VGASTATE=m
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_SYS_FOPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+CONFIG_FB_VESA=y
+# CONFIG_FB_HECUBA is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I810 is not set
+# CONFIG_FB_LE80578 is not set
+# CONFIG_FB_INTEL is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_CYBLA is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=y
+CONFIG_FB_GEODE_GX=y
+# CONFIG_FB_GEODE_GX1 is not set
+CONFIG_FB_OLPC_DCON=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_VIDEO_SELECT=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+CONFIG_FONT_SUN12x22=y
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+# CONFIG_SND_SERIAL_U16550 is not set
+CONFIG_SND_MPU401=m
+
+#
+# PCI devices
+#
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+CONFIG_SND_CS5535AUDIO=y
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+CONFIG_SND_INTEL8X0=m
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+CONFIG_SND_AC97_POWER_SAVE=y
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_USX2Y=m
+# CONFIG_SND_USB_CAIAQ is not set
+
+#
+# System on Chip audio support
+#
+# CONFIG_SND_SOC is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=y
+
+#
+# HID Devices
+#
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+CONFIG_USB_PERSIST=y
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_SPLIT_ISO=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+# CONFIG_USB_STORAGE_KARMA is not set
+CONFIG_USB_LIBUSUAL=y
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+CONFIG_USB_SERIAL_CP2101=m
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_FUNSOFT is not set
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
+# CONFIG_USB_SERIAL_OPTION is not set
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+
+#
+# MMC/SD Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+
+#
+# MMC/SD Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=y
+# CONFIG_MMC_WBSD is not set
+# CONFIG_MMC_TIFM_SD is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
+#
+# CONFIG_EDAC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+
+#
+# DMA Engine support
+#
+# CONFIG_DMA_ENGINE is not set
+
+#
+# DMA Clients
+#
+
+#
+# DMA Devices
+#
+
+#
+# Virtualization
+#
+# CONFIG_KVM is not set
+
+#
+# Sysprof
+#
+CONFIG_SYSPROF=m
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT2_FS_XIP=y
+CONFIG_FS_XIP=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+# CONFIG_QFMT_V1 is not set
+CONFIG_QFMT_V2=y
+CONFIG_QUOTACTL=y
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_PROMFS_FS=y
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_FS_WBUF_VERIFY=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_FS_XATTR=y
+# CONFIG_JFFS2_FS_POSIX_ACL is not set
+CONFIG_JFFS2_FS_SECURITY=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=m
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_DIRECTIO=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+# CONFIG_SUNRPC_BIND34 is not set
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Instrumentation Support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_KPROBES=y
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+CONFIG_DEBUG_SPINLOCK=y
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+CONFIG_DEBUG_SPINLOCK_SLEEP=y
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_VM=y
+CONFIG_DEBUG_LIST=y
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_EARLY_PRINTK=y
+CONFIG_DEBUG_STACKOVERFLOW=y
+CONFIG_DEBUG_STACK_USAGE=y
+
+#
+# Page alloc debug is incompatible with Software Suspend on i386
+#
+CONFIG_DEBUG_RODATA=y
+CONFIG_4KSTACKS=y
+CONFIG_DOUBLEFAULT=y
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+CONFIG_SECURITY_CAPABILITIES=y
+# CONFIG_SECURITY_ROOTPLUG is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_LRW=m
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# CONFIG_CRYPTO_TWOFISH_586 is not set
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CAMELLIA=m
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+# CONFIG_CRYPTO_DEV_PADLOCK is not set
+CONFIG_CRYPTO_DEV_GEODE=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_REED_SOLOMON=y
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_X86_BIOS_REBOOT=y
+CONFIG_KTIME_SCALAR=y
diff --git a/packages/linux/linux-xo_git.bb b/packages/linux/linux-xo_git.bb
new file mode 100644 (file)
index 0000000..37e9520
--- /dev/null
@@ -0,0 +1,15 @@
+require linux.inc
+
+DESCRIPTION = "Linux kernel for XO laptop (aka OLPC)"
+
+SRCREV = "28f4cb6e780db078a09c765595e0ee84fda20f88"
+
+PV = "2.6.22+gitr${SRCREV}"
+PR = "r0"
+
+COMPATIBLE_MACHINE = "xo"
+
+SRC_URI = "git://dev.laptop.org/olpc-2.6;protocol=git;branch=stable \
+           file://defconfig"
+
+S = "${WORKDIR}/git"
index d073aa7..8c56d9b 100644 (file)
@@ -14,9 +14,9 @@ EXTRA_OECONF += " --disable-mcs-build "
 
 do_install_prepend() {
        install -d ${D}
-       pushd ${D}
+       cd ${D}
        tar -xzf ${STAGING_DATADIR_NATIVE}/mono-mcs/mono-mcs-${PV}.tar.gz
-       popd
+       cd ${S}
 }
 
 do_install_append() {
@@ -24,11 +24,11 @@ do_install_append() {
        # however, jay is not being cross-compiled and thus only
        # available for the buildhost architecture, so remove it
        # entirely
-       pushd ${D}
+       cd ${D}
        rm -rf ./usr/share/man/man1/jay.1 ./usr/share/jay \
            ./usr/share/jay/README.jay \
            ./usr/bin/jay
-       popd
+       cd ${S}
 
        # Not packaged with the default rules and apparently
        # not used for anything
index f436a67..c039828 100644 (file)
@@ -12,9 +12,9 @@ EXTRA_OECONF += " --disable-mcs-build "
 
 do_install_prepend() {
        install -d ${D}
-       pushd ${D}
+       cd ${D}
        tar -xzf ${STAGING_DATADIR_NATIVE}/mono-mcs/mono-mcs-${PV}.tar.gz
-       popd
+       cd ${S}
 }
 
 do_install_append() {
@@ -22,11 +22,11 @@ do_install_append() {
        # however, jay is not being cross-compiled and thus only
        # available for the buildhost architecture, so remove it
        # entirely
-       pushd ${D}
+       cd ${D}
        rm -rf ./usr/share/man/man1/jay.1 ./usr/share/jay \
            ./usr/share/jay/README.jay \
            ./usr/bin/jay
-       popd
+       cd ${S}
 
        # Not packaged with the default rules and apparently
        # not used for anything
index a42ddd8..a5ba966 100644 (file)
@@ -13,9 +13,9 @@ EXTRA_OECONF += " --disable-mcs-build "
 
 do_install_prepend() {
        install -d ${D}
-       pushd ${D}
+       cd ${D}
        tar -xzf ${STAGING_DATADIR_NATIVE}/mono-mcs/mono-mcs-${PV}.tar.gz
-       popd
+       cd ${S}
 }
 
 do_install_append() {
@@ -23,11 +23,11 @@ do_install_append() {
        # however, jay is not being cross-compiled and thus only
        # available for the buildhost architecture, so remove it
        # entirely
-       pushd ${D}
+       cd ${D}
        rm -rf ./usr/share/man/man1/jay.1 ./usr/share/jay \
            ./usr/share/jay/README.jay \
            ./usr/bin/jay
-       popd
+       cd ${S}
 
        # Not packaged with the default rules and apparently
        # not used for anything
index be007e4..908fd3d 100644 (file)
@@ -3,8 +3,9 @@ SECTION = "devel/mono"
 LICENSE = "GPL LGPL X11"
 
 SRCREV = "87352"
-SRC_URI = "svn://anonsvn.mono-project.com/source/trunk/;module=mcs;rev=${SRCREV} \
-       svn://anonsvn.mono-project.com/source/trunk/;module=mono;rev=${SRCREV} "
+SRC_URI = "svn://anonsvn.mono-project.com/source/trunk/;module=mcs;rev=${SRCREV};name=mcs \
+       svn://anonsvn.mono-project.com/source/trunk/;module=mono;rev=${SRCREV};name=mono "
+SRCREV_FORMAT = "rmono"
 
 PV = "1.2.5.1+svnr${SRCREV}"
 S = "${WORKDIR}/mono"
index ba4099d..7696f78 100644 (file)
@@ -4,6 +4,11 @@ mk_add_options AUTOCONF=autoconf2.13
 
 ac_add_options --disable-javaxpcom
 
+ac_add_options --enable-system-cairo
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-jpeg
+
 ac_add_app_options xulrunner --enable-application=xulrunner
 
 ac_add_app_options mobile --enable-application=mobile
index f7ab5dd..652c780 100644 (file)
@@ -12,6 +12,7 @@ ac_add_options --enable-single-profile
 
 ac_add_options --with-system-zlib
 ac_add_options --with-system-jpeg
+ac_add_options --with-system-bz2
 #ac_add_options --with-system-png
 
 ac_add_options --disable-accessibility
diff --git a/packages/mpfr/long-long-thumb.patch b/packages/mpfr/long-long-thumb.patch
new file mode 100644 (file)
index 0000000..a4029d7
--- /dev/null
@@ -0,0 +1,11 @@
+--- mpfr-2.3.1/mpfr-longlong.h~        2008-01-01 03:29:09.000000000 +0000
++++ mpfr-2.3.1/mpfr-longlong.h 2008-10-27 21:46:44.000000000 +0000
+@@ -406,7 +406,7 @@
+            "rIJ" ((USItype) (bl)))
+ #endif
+-#if defined (__arm__) && W_TYPE_SIZE == 32
++#if defined (__arm__) && W_TYPE_SIZE == 32 && !defined(__thumb__)
+ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+   __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3"                      \
+          : "=r" (sh), "=&r" (sl)                                      \
index db04ce0..8da9c0e 100644 (file)
@@ -3,7 +3,8 @@ require mpfr.inc
 DEPENDS = "gmp"
 PR = "r0"
 
-SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.bz2"
+SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.bz2 \
+        file://long-long-thumb.patch;patch=1"
 S = "${WORKDIR}/mpfr-${PV}"
 
 do_stage() {
index 923c9ab..8ecc90a 100644 (file)
@@ -39,7 +39,7 @@ RCONFLICTS_${PN} = "mplayer-atty"
 RREPLACES_${PN} = "mplayer-atty"
 
 PV = "0.0+1.0rc2+svnr${SRCREV}"
-PR = "r5"
+PR = "r6"
 DEFAULT_PREFERENCE = "-1"
 DEFAULT_PREFERENCE_armv7a = "1"
 
@@ -69,7 +69,8 @@ EXTRA_OECONF = " \
         --disable-vm \
         --disable-xf86keysym \
        --enable-tv \
-        --enable-tv-v4l2 \
+       --enable-tv-v4l1 \     
+       --enable-tv-v4l2 \
         --disable-tv-bsdbt848 \
        --enable-rtc \
         --enable-network \
diff --git a/packages/nonworking/hal/hal_0.5.11.bb b/packages/nonworking/hal/hal_0.5.11.bb
deleted file mode 100644 (file)
index 5408756..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require hal.inc
-
-SRC_URI += " file://hal-right-input-h.patch;patch=1"
-EXTRA_OECONF += "--with-linux-input-header=${STAGING_INCDIR}/linux/input.h"
index 4dd1519..bf297b0 100644 (file)
@@ -21,10 +21,10 @@ do_configure_prepend() {
        sed -i -e 's,/opt/QtPalmtop/bin/,${bindir}/,g' "${S}/ui/nunome.h"
        sed -i -e 's,/opt/QtPalmtop/,${palmtopdir}/,g' "${S}/ui/nunome.h"
        printf "TEMPLATE=subdirs\nSUBDIRS=Nnmlib server ui dicman ui\n" >nunome.pro
-       pushd Nnmlib && qmake -project -t lib && popd
-       pushd server && qmake -project && printf "LIBS+=-lNnmlib\nTARGET=server.bin\n" >> server.pro && popd
-       pushd dicman && qmake -project && printf "LIBS+=-lnunome -lNnmlib\nTARGET=dicman.bin\n" >> dicman.pro && popd
-       pushd ui && qmake -project -t lib && printf "LIBS+=-lNnmlib\nTARGET=nunome\n" >> ui.pro && popd
+       cd Nnmlib && qmake -project -t lib && cd ../
+       cd server && qmake -project && printf "LIBS+=-lNnmlib\nTARGET=server.bin\n" >> server.pro && cd ../
+       cd dicman && qmake -project && printf "LIBS+=-lnunome -lNnmlib\nTARGET=dicman.bin\n" >> dicman.pro && cd ../
+       cd ui && qmake -project -t lib && printf "LIBS+=-lNnmlib\nTARGET=nunome\n" >> ui.pro && cd ../
        find . -name "moc*"|xargs rm -f
        find . -name "Makefile"|xargs rm -f
 }
diff --git a/packages/openmoko-projects/assassin-thumbnail.bb b/packages/openmoko-projects/assassin-thumbnail.bb
new file mode 100644 (file)
index 0000000..ece6662
--- /dev/null
@@ -0,0 +1,19 @@
+DESCRIPTION = "Assassin Packages Thumbnails"
+HOMEPAGE = "http://assassin.projects.openmoko.org/"
+PKG_TAGS_${PN} = "group::unknown"
+LICENSE = "GPL"
+RDEPENDS = "assassin"
+PV = "0.1+svnr${SRCPV}"
+PR = "r0"
+
+SRC_URI = "svn://svn.openmoko.org/trunk/src/target/thumbnails/;module=result;proto=https"
+
+do_install() {
+        install -d ${D}${THUMBNAIL_DIR}
+        cp -f ${WORKDIR}/result/${THUMBNAIL_FN} ${D}${THUMBNAIL_DIR}
+}
+
+FILES_${PN} = "${THUMBNAIL_DIR}/${THUMBNAIL_FN}"
+
+THUMBNAIL_DIR = "${datadir}/assassin/"
+THUMBNAIL_FN = "thumbnail.eet"
index 32c976d..c2ab957 100644 (file)
@@ -2,12 +2,13 @@ DESCRIPTION = "Action GUI for Installer"
 HOMEPAGE = "http://assassin.projects.openmoko.org/"
 LICENSE = "GPL"
 DEPENDS = "dbus (>= 1.1.1) glib-2.0 e-wm packagekit etk edbus eet"
+RDEPENDS = "etk-theme-ninja"
 PV = "0.2+svnr${SRCREV}"
-PR = "r6"
+PR = "r6.04"
 
-SRC_URI = "svn://svn.projects.openmoko.org/svnroot/;module=assassin;proto=https"
+SRC_URI = "svn://om-assassin.googlecode.com/svn/;module=trunk;proto=http"
 
-S = "${WORKDIR}/assassin"
+S = "${WORKDIR}/trunk"
 
 inherit autotools pkgconfig
 
diff --git a/packages/openmoko-projects/diversity-maps-taipei_20080430.bb b/packages/openmoko-projects/diversity-maps-taipei_20080430.bb
deleted file mode 100644 (file)
index c882963..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-PR = "r0"
-
-require diversity-maps.inc
-
-MAP_NAME = "Taipei"
-MAP_FN = "taipei.eet"
-MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/diversity-maps.inc b/packages/openmoko-projects/diversity-maps.inc
deleted file mode 100644 (file)
index 9af5e95..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "Diversity Maps - ${MAP_NAME}"
-HOMEPAGE = "http://diversity.projects.openmoko.org/"
-SECTION = "network/misc"
-LICENSE = "Creative Commons Attribution-ShareAlike 2.0"
-
-SRC_URI = "http://people.openmoko.org/olv/diversity/${MAP_VER}/${MAP_FN}"
-
-MAP_DIR = "${datadir}/diversity-nav/maps"
-FILES_${PN} = "${MAP_DIR}/${MAP_FN}"
-
-PACKAGES = "${PN}"
-PACKAGE_ARCH = "all"
-PKG_TAGS_${PN} = "group::maps"
-
-do_install() {
-        install -d ${D}${MAP_DIR}
-        cp -f ${WORKDIR}/${MAP_FN} ${D}${MAP_DIR}
-}
diff --git a/packages/openmoko-projects/diversity-radar_svn.bb b/packages/openmoko-projects/diversity-radar_svn.bb
new file mode 100644 (file)
index 0000000..d7163f1
--- /dev/null
@@ -0,0 +1,18 @@
+DESCRIPTION = "Diversity_radar - a GPS location based communicative application"
+HOMEPAGE = "http://diversity.projects.openmoko.org/"
+SECTION = "openmoko/applications"
+LICENSE = "GPL"
+DEPENDS = "python-evas python-edje python-ecore python-edbus python-dbus python-etk"
+RDEPENDS_${PN} = "diversity-daemon"
+PV = "0.0.4+svnr${SRCREV}"
+PR = "r0.01"
+
+SRC_URI = "svn://svn.projects.openmoko.org/svnroot/diversity/toys;module=diversity-radar;proto=http"
+
+S = "${WORKDIR}/${PN}"
+
+inherit setuptools
+
+FILES_${PN} += "${prefix}/share/*"
+
+PKG_TAGS_${PN} = "group::communication"
diff --git a/packages/openmoko-projects/exposure/setup-r62.diff b/packages/openmoko-projects/exposure/setup-r62.diff
new file mode 100644 (file)
index 0000000..694787b
--- /dev/null
@@ -0,0 +1,12 @@
+Index: setup.py
+===================================================================
+--- setup.py   (Revision 62)
++++ setup.py   (Arbeitskopie)
+@@ -27,7 +27,6 @@
+     setup_requires=['python-evas>=0.2.1'],
+     data_files=[('applications', 'src/exposure.desktop']),
+       ('exposure', ['data/themes/exposure.edj']),
+-      ('images', ['data/image/exposure.jpg']),
+       ('/etc/X11/Xsession.d/', ['src/80app-launcher-bootup']),
+         ]
+ )
diff --git a/packages/openmoko-projects/om-locations_git.bb b/packages/openmoko-projects/om-locations_git.bb
new file mode 100644 (file)
index 0000000..a25a3e2
--- /dev/null
@@ -0,0 +1,22 @@
+DESCRIPTION = "Locations - a GPS location based communicative application"
+HOMEPAGE = "http://wiki.openmoko.org/wiki/Om2008.8_Locations"
+SECTION = "openmoko/applications"
+LICENSE = "GPL"
+DEPENDS = "eet evas edje ecore edbus etk"
+RDEPENDS_${PN} = "diversity-daemon"
+PV = "0.2+gitr${SRCREV}"
+PR = "r1.03"
+
+SRC_URI = "git://git.openmoko.org/git/om-locations.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc"
+
+do_configure_prepend() {
+       autopoint --force
+}
+
+PKG_TAGS_${PN} = "group::communication"
diff --git a/packages/openmoko-projects/om-maps-berlin_20080430.bb b/packages/openmoko-projects/om-maps-berlin_20080430.bb
new file mode 100644 (file)
index 0000000..aaf6e53
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "Berlin"
+MAP_FN = "om-maps-berlin-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-buenos-aires_20080430.bb b/packages/openmoko-projects/om-maps-buenos-aires_20080430.bb
new file mode 100644 (file)
index 0000000..81f734f
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "Buenos Aires"
+MAP_FN = "om-maps-buenos-aires-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-hong-kong_20080919.bb b/packages/openmoko-projects/om-maps-hong-kong_20080919.bb
new file mode 100644 (file)
index 0000000..9aecf64
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "Hong Kong"
+MAP_FN = "om-maps-hong-kong-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-london_20080430.bb b/packages/openmoko-projects/om-maps-london_20080430.bb
new file mode 100644 (file)
index 0000000..d07add5
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "London"
+MAP_FN = "om-maps-london-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-low-levels_20080430.bb b/packages/openmoko-projects/om-maps-low-levels_20080430.bb
new file mode 100644 (file)
index 0000000..7f94c90
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r0"
+
+require om-maps.inc
+
+MAP_NAME = "low levels"
+MAP_FN = "om-maps-low-levels-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-new-york_20080430.bb b/packages/openmoko-projects/om-maps-new-york_20080430.bb
new file mode 100644 (file)
index 0000000..2fffda6
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "New York"
+MAP_FN = "om-maps-new-york-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-paris_20080430.bb b/packages/openmoko-projects/om-maps-paris_20080430.bb
new file mode 100644 (file)
index 0000000..663656a
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "Paris"
+MAP_FN = "om-maps-paris-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-providence_20080430.bb b/packages/openmoko-projects/om-maps-providence_20080430.bb
new file mode 100644 (file)
index 0000000..919e030
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "Providence"
+MAP_FN = "om-maps-providence-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-san-francisco_20080430.bb b/packages/openmoko-projects/om-maps-san-francisco_20080430.bb
new file mode 100644 (file)
index 0000000..6b5f779
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "San Francisco"
+MAP_FN = "om-maps-san-francisco-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-sydney_20080430.bb b/packages/openmoko-projects/om-maps-sydney_20080430.bb
new file mode 100644 (file)
index 0000000..267b6a1
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "Sydney"
+MAP_FN = "om-maps-sydney-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps-taipei_20080430.bb b/packages/openmoko-projects/om-maps-taipei_20080430.bb
new file mode 100644 (file)
index 0000000..bb017f5
--- /dev/null
@@ -0,0 +1,7 @@
+PR = "r1"
+
+require om-maps.inc
+
+MAP_NAME = "Taipei"
+MAP_FN = "om-maps-taipei-${PV}.eet"
+MAP_VER = "${PV}"
diff --git a/packages/openmoko-projects/om-maps.inc b/packages/openmoko-projects/om-maps.inc
new file mode 100644 (file)
index 0000000..f2ef1db
--- /dev/null
@@ -0,0 +1,19 @@
+DESCRIPTION = "Map of ${MAP_NAME}, for use with Locations application. \
+               Data from OpenStreetMap.org, licenced CC-by-SA."
+HOMEPAGE = "http://wiki.openmoko.org/wiki/Om_2008.8_Locations"
+SECTION = "network/misc"
+LICENSE = "Creative Commons Attribution-ShareAlike 2.0"
+
+SRC_URI = "http://people.openmoko.org/olv/om-maps/${MAP_VER}/${MAP_FN}"
+
+MAP_DIR = "${datadir}/om-maps"
+FILES_${PN} = "${MAP_DIR}/${MAP_FN}"
+
+PACKAGES = "${PN}"
+PACKAGE_ARCH = "all"
+PKG_TAGS_${PN} = "group::maps"
+
+do_install() {
+        install -d ${D}${MAP_DIR}
+        cp -f ${WORKDIR}/${MAP_FN} ${D}${MAP_DIR}
+}
diff --git a/packages/openmoko-projects/om-settings_svn.bb b/packages/openmoko-projects/om-settings_svn.bb
new file mode 100644 (file)
index 0000000..56b8e1d
--- /dev/null
@@ -0,0 +1,16 @@
+DESCRIPTION = "Exposure all devices on neo1973"
+DEPENDS = "python-etk python-edbus"
+RDEPENDS = "python-etk python-re python-codecs python-edbus python-pyxdg"
+PV = "0.0.1+svnr${SRCREV}"
+PR = "r2.05"
+PE = "1"
+
+S = "${WORKDIR}/trunk"
+
+inherit setuptools
+SRC_URI = "svn://svn.projects.openmoko.org/svnroot/exposure;module=trunk;proto=http \
+           "
+
+
+PACKAGES = "${PN}"
+FILES_${PN} += "${prefix}/share/* ${sysconfdir}/X11/Xsession.d/*"
diff --git a/packages/openmoko-projects/openmoko-community-repository.bb b/packages/openmoko-projects/openmoko-community-repository.bb
new file mode 100644 (file)
index 0000000..d866558
--- /dev/null
@@ -0,0 +1,21 @@
+DESCRIPTION = "Configuration files for online package repositories of Openmoko community repository feeds"
+PR = "r0.02"
+
+do_compile() {
+    mkdir -p ${S}/${sysconfdir}/opkg
+    for feed in Multiverse; do
+        echo "src/gz daily-${feed} ${OPENMOKO_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf
+    done
+}
+do_install () {
+        install -d ${D}${sysconfdir}/opkg
+        install -m 0644  ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+CONFFILES_${PN} += "${sysconfdir}/opkg/Multiverse-feed.conf"
+
+PKG_TAGS_${PN} = "group::repos"
+
+OPENMOKO_URI = "http://downloads.openmoko.org/repository"
index 4b8fe5e..5c54dba 100644 (file)
@@ -1,9 +1,9 @@
 DESCRIPTION = "Python applets manager"
 SECTION = "x11"
 LICENSE = "GPL"
-DEPENDS = "python-pygame"
+DEPENDS += "python-pygame virtual/libsdl libsdl-image python-dbus python-pygobject"                                   
 PV = "0.1+svnr${SRCREV}"
-PR = "r0"
+PR = "r0.01"
 
 SRC_URI = "svn://svn.projects.openmoko.org/svnroot;module=tichy;proto=http"
 S = "${WORKDIR}/tichy"
@@ -12,3 +12,5 @@ inherit distutils
 
 FILES_${PN} += "${datadir}"
 RDEPENDS_${PN} += "python-pygame"
+# This is because pkg-config --libs --cflags sdl doesn't return the correct path (bug in libsdl recipe ?)
+CFLAGS += -I${STAGING_INCDIR}/SDL
diff --git a/packages/openmoko-tools/app-restarter_svn.bb b/packages/openmoko-tools/app-restarter_svn.bb
new file mode 100644 (file)
index 0000000..61b68b5
--- /dev/null
@@ -0,0 +1,20 @@
+DESCRIPTION = "Small utility to restart a crashing application"
+LICENSE = "GPL"
+DEPENDS = "virtual/libx11"
+
+SRC_URI="svn://svn.openmoko.org/developers/zecke/;module=app_restarter;proto=http"
+S = "${WORKDIR}/app_restarter"
+PV = "1.0+svnr${SRCREV}"
+PE = "2"
+
+inherit pkgconfig
+
+do_compile() {
+    cd ${S}
+    oe_runmake
+}
+
+do_install() {
+    install -d ${D}/${bindir}
+    install -m 0755 ${S}/app_restarter ${D}/${bindir}/${PN}
+}
diff --git a/packages/openmoko-tools/openmoko-set-root-password.bb b/packages/openmoko-tools/openmoko-set-root-password.bb
new file mode 100644 (file)
index 0000000..f64c703
--- /dev/null
@@ -0,0 +1,26 @@
+DESCRIPTION = "Set the root password."
+SUMMARY = "On installation you will be prompted to set a root password. With \
+this password you can then log into the machine."
+LICENSE = "GPL"
+DEPENDS = "gtk+"
+PKG_TAGS_${PN} = "group::programming"
+
+SRC_URI = "svn://svn.openmoko.org/developers/zecke/;module=root-password;proto=http"
+S = "${WORKDIR}/root-password"
+PV = "1.0+svnr${SRCREV}"
+PE = "1"
+
+do_compile () {
+    cd ${S}
+    oe_runmake
+}
+
+do_install() {
+    install -d ${D}/${sbindir}
+    install -m 0755 ${S}/root-password ${D}/${sbindir}/${PN}
+}
+
+pkg_postinst_${PN} () {
+    # assume we use display 0
+    DISPLAY=:0 ${sbindir}/${PN}
+}
diff --git a/packages/packagekit/files/d1e096c3267c1c9492041382b954e9327bc8bbec.patch b/packages/packagekit/files/d1e096c3267c1c9492041382b954e9327bc8bbec.patch
deleted file mode 100644 (file)
index f050a50..0000000
+++ /dev/null
@@ -1,2938 +0,0 @@
-diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c
-index 3270e42..45e7a44 100644
---- a/backends/alpm/pk-backend-alpm.c
-+++ b/backends/alpm/pk-backend-alpm.c
-@@ -895,7 +895,7 @@ backend_get_repo_list (PkBackend *backend, PkFilterEnum filters)
- static gboolean
- backend_install_files_thread (PkBackend *backend)
- {
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       gchar **full_paths = pk_backend_get_strv (backend, "full_paths");
-@@ -1050,7 +1050,7 @@ backend_install_packages (PkBackend *backend, gchar **package_ids)
- static gboolean
- backend_refresh_cache_thread (PkBackend *backend)
- {
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       if (alpm_trans_init (PM_TRANS_TYPE_SYNC, PM_TRANS_FLAG_NOSCRIPTLET, cb_trans_evt, cb_trans_conv, cb_trans_progress) != 0) {
-               pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerror (pm_errno));
-diff --git a/backends/apt/pk-apt-build-db.cpp b/backends/apt/pk-apt-build-db.cpp
-index d47c348..885275d 100644
---- a/backends/apt/pk-apt-build-db.cpp
-+++ b/backends/apt/pk-apt-build-db.cpp
-@@ -40,7 +40,7 @@ void apt_build_db(PkBackend * backend, sqlite3 *db)
-       sqlite3_stmt *package = NULL;
-       pk_backend_set_status(backend, PK_STATUS_ENUM_QUERY);
--      pk_backend_no_percentage_updates(backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       sdir = g_build_filename(_config->Find("Dir").c_str(),_config->Find("Dir::State").c_str(),_config->Find("Dir::State::lists").c_str(), NULL);
-       dir = g_dir_open(sdir,0,&error);
-diff --git a/backends/apt/pk-sqlite-pkg-cache.cpp b/backends/apt/pk-sqlite-pkg-cache.cpp
-index 770fcdf..1bf9a50 100644
---- a/backends/apt/pk-sqlite-pkg-cache.cpp
-+++ b/backends/apt/pk-sqlite-pkg-cache.cpp
-@@ -81,7 +81,7 @@ sqlite_search_packages_thread (PkBackend *backend)
-       const gchar *search;
-       pk_backend_set_status(backend, PK_STATUS_ENUM_QUERY);
--      pk_backend_no_percentage_updates(backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       type = pk_backend_get_uint (backend, "type");
-       search = pk_backend_get_string (backend, "search");
-@@ -176,7 +176,7 @@ sqlite_get_details_thread (PkBackend *backend)
-       }
-       pk_backend_set_status(backend, PK_STATUS_ENUM_QUERY);
--      pk_backend_no_percentage_updates(backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       pk_debug("finding %s", pi->name);
-diff --git a/backends/box/pk-backend-box.c b/backends/box/pk-backend-box.c
-index b7b8167..9263781 100644
---- a/backends/box/pk-backend-box.c
-+++ b/backends/box/pk-backend-box.c
-@@ -138,7 +138,7 @@ backend_find_packages_thread (PkBackend *backend)
-               filter_box = filter_box | PKG_SEARCH_DETAILS;
-       }
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       db = db_open();
-diff --git a/backends/dummy/pk-backend-dummy.c b/backends/dummy/pk-backend-dummy.c
-index 49d4e5a..2df445e 100644
---- a/backends/dummy/pk-backend-dummy.c
-+++ b/backends/dummy/pk-backend-dummy.c
-@@ -254,7 +254,7 @@ static void
- backend_get_updates (PkBackend *backend, PkFilterEnum filters)
- {
-       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       /* check network state */
-       if (!pk_backend_is_online (backend)) {
-               pk_backend_error_code (backend, PK_ERROR_ENUM_NO_NETWORK, "Cannot check when offline");
-@@ -268,6 +268,8 @@ static gboolean
- backend_install_timeout (gpointer data)
- {
-       PkBackend *backend = (PkBackend *) data;
-+      guint sub_percent;
-+
-       if (_progress_percentage == 100) {
-               pk_backend_finished (backend);
-               return FALSE;
-@@ -283,9 +285,18 @@ backend_install_timeout (gpointer data)
-               pk_backend_package (backend, PK_INFO_ENUM_INSTALLING,
-                                   "gtkhtml2-devel;2.19.1-0.fc8;i386;fedora",
-                                   "Devel files for gtkhtml");
-+              /* this duplicate package should be ignored */
-+              pk_backend_package (backend, PK_INFO_ENUM_INSTALLING,
-+                                  "gtkhtml2-devel;2.19.1-0.fc8;i386;fedora", NULL);
-               pk_backend_set_status (backend, PK_STATUS_ENUM_INSTALL);
-       }
--      _progress_percentage += 10;
-+      if (_progress_percentage > 30 && _progress_percentage < 50) {
-+              sub_percent = ((gfloat) (_progress_percentage - 30.0f) / 20.0f) * 100.0f;
-+              pk_backend_set_sub_percentage (backend, sub_percent);
-+      } else {
-+              pk_backend_set_sub_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-+      }
-+      _progress_percentage += 1;
-       pk_backend_set_percentage (backend, _progress_percentage);
-       return TRUE;
- }
-@@ -348,7 +359,7 @@ backend_install_packages (PkBackend *backend, gchar **package_ids)
-       pk_backend_package (backend, PK_INFO_ENUM_DOWNLOADING,
-                           "gtkhtml2;2.19.1-4.fc8;i386;fedora",
-                           "An HTML widget for GTK+ 2.0");
--      _signal_timeout = g_timeout_add (1000, backend_install_timeout, backend);
-+      _signal_timeout = g_timeout_add (100, backend_install_timeout, backend);
- }
- /**
-@@ -526,7 +537,7 @@ backend_search_name_timeout (gpointer data)
- static void
- backend_search_name (PkBackend *backend, PkFilterEnum filters, const gchar *search)
- {
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       pk_backend_set_allow_cancel (backend, TRUE);
-       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
-       _signal_timeout = g_timeout_add (2000, backend_search_name_timeout, backend);
-diff --git a/backends/opkg/pk-backend-opkg.c b/backends/opkg/pk-backend-opkg.c
-index ecc97be..7649bab 100644
---- a/backends/opkg/pk-backend-opkg.c
-+++ b/backends/opkg/pk-backend-opkg.c
-@@ -155,6 +155,38 @@ pk_opkg_progress_cb (opkg_t *opkg, const opkg_progress_data_t *pdata, void *data
-               return;
-       pk_backend_set_percentage (backend, pdata->percentage);
-+      if (pdata->package)
-+      {
-+              gchar *uid;
-+              opkg_package_t *pkg = pdata->package;
-+              gint status = PK_INFO_ENUM_UNKNOWN;
-+
-+              uid = g_strdup_printf ("%s;%s;%s;",
-+                      pkg->name, pkg->version, pkg->architecture);
-+
-+              if (pdata->action == OPKG_DOWNLOAD)
-+                      status = PK_INFO_ENUM_DOWNLOADING;
-+              else if (pdata->action == OPKG_INSTALL)
-+                      status = PK_INFO_ENUM_INSTALLING;
-+              else if (pdata->action == OPKG_REMOVE)
-+                      status = PK_INFO_ENUM_REMOVING;
-+
-+              pk_backend_package (backend, status, uid, pkg->description);
-+              g_free (uid);
-+      }
-+
-+      switch (pdata->action)
-+      {
-+      case OPKG_DOWNLOAD:
-+              pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD);
-+              break;
-+      case OPKG_INSTALL:
-+              pk_backend_set_status (backend, PK_STATUS_ENUM_INSTALL);
-+              break;
-+      case OPKG_REMOVE:
-+              pk_backend_set_status (backend, PK_STATUS_ENUM_REMOVE);
-+              break;
-+      }
- }
- static gboolean
-@@ -163,8 +195,12 @@ backend_refresh_cache_thread (PkBackend *backend)
-       int ret;
-       ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend);
-+
-       if (ret) {
--              opkg_unknown_error (backend, ret, "Refreshing cache");
-+              if (ret == OPKG_DOWNLOAD_FAILED)
-+                      pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
-+              else
-+                      opkg_unknown_error (backend, ret, "Refreshing cache");
-       }
-       pk_backend_finished (backend);
-@@ -178,7 +214,7 @@ static void
- backend_refresh_cache (PkBackend *backend, gboolean force)
- {
-       pk_backend_set_status (backend, PK_STATUS_ENUM_REFRESH_CACHE);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       pk_backend_thread_create (backend, backend_refresh_cache_thread);
-@@ -279,7 +315,7 @@ backend_search_name (PkBackend *backend, PkFilterEnum filters, const gchar *sear
-       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       params = g_new0 (SearchParams, 1);
-       params->filters = filters;
-@@ -301,7 +337,7 @@ backend_search_description (PkBackend *backend, PkFilterEnum filters, const gcha
-       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       params = g_new0 (SearchParams, 1);
-       params->filters = filters;
-@@ -320,7 +356,7 @@ backend_search_group (PkBackend *backend, PkFilterEnum filters, const gchar *sea
-       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       params = g_new0 (SearchParams, 1);
-       params->filters = filters;
-@@ -337,30 +373,52 @@ static gboolean
- backend_install_packages_thread (PkBackend *backend)
- {
-       PkPackageId *pi;
--      gint err;
--      const gchar *package_id;
-+      gint err, i;
-+      gchar **package_ids;
--      package_id = pk_backend_get_string (backend, "pkid");
--      pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_id, NULL);
-+      package_ids = pk_backend_get_strv (backend, "pkids");
--      pi = pk_package_id_new_from_string (package_id);
-+      err = 0;
-+
-+      for (i = 0; package_ids[i]; i++)
-+      {
-+              pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[0], NULL);
--      err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend);
--      if (err != 0)
--              opkg_unknown_error (backend, err, "Install");
-+              pi = pk_package_id_new_from_string (package_ids[0]);
-+
-+              err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend);
-+              switch (err)
-+              {
-+              case OPKG_NO_ERROR:
-+                      break;
-+              case OPKG_DEPENDANCIES_FAILED:
-+                      pk_backend_error_code (backend, PK_ERROR_ENUM_DEP_RESOLUTION_FAILED, NULL);
-+                      break;
-+              case OPKG_PACKAGE_ALREADY_INSTALLED:
-+                      pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ALREADY_INSTALLED, NULL);
-+                      break;
-+              case OPKG_PACKAGE_NOT_AVAILABLE:
-+                      pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL);
-+                      break;
-+              default:
-+                      opkg_unknown_error (backend, err, "Install");
-+              }
-+              pk_package_id_free (pi);
-+              if (err != 0)
-+                      break;
-+      }
--      pk_package_id_free (pi);
-       pk_backend_finished (backend);
-       return (err == 0);
- }
- static void
--backend_install_packages (PkBackend *backend, gchar **package_id)
-+backend_install_packages (PkBackend *backend, gchar **package_ids)
- {
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       pk_backend_set_status (backend, PK_STATUS_ENUM_INSTALL);
--      pk_backend_set_string (backend, "pkid", package_id[0]);
-+      pk_backend_set_strv (backend, "pkids", package_ids);
-       pk_backend_thread_create (backend, backend_install_packages_thread);
- }
-@@ -369,7 +427,7 @@ static gboolean
- backend_remove_packages_thread (PkBackend *backend)
- {
-       PkPackageId *pi;
--      gint err;
-+      gint err, i;
-       gchar **package_ids;
-       gboolean allow_deps;
-       gboolean autoremove;
-@@ -382,19 +440,34 @@ backend_remove_packages_thread (PkBackend *backend)
-       autoremove = GPOINTER_TO_INT (data[2]);
-       g_free (data);
--      pi = pk_package_id_new_from_string (package_ids[0]);
--      pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[0], NULL);
--
-       opkg_set_option (opkg, "autoremove", &autoremove);
-       opkg_set_option (opkg, "force_removal_of_dependent_packages", &allow_deps);
--      err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend);
-+      err = 0;
--      /* TODO: improve error reporting */
--      if (err != 0)
--              opkg_unknown_error (backend, err, "Remove");
-+      for (i = 0; package_ids[i]; i++)
-+      {
-+              pi = pk_package_id_new_from_string (package_ids[0]);
-+              pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[0], NULL);
-+
-+              err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend);
-+
-+              switch (err)
-+              {
-+              case OPKG_NO_ERROR:
-+                      break;
-+              case OPKG_PACKAGE_NOT_INSTALLED:
-+                      pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
-+                      break;
-+              default:
-+                      opkg_unknown_error (backend, err, "Remove");
-+              }
-+              pk_package_id_free (pi);
-+
-+              if (err != 0)
-+                      break;
-+      }
--      pk_package_id_free (pi);
-       pk_backend_finished (backend);
-       return (err == 0);
- }
-@@ -405,7 +478,7 @@ backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow
-       gpointer *params;
-       pk_backend_set_status (backend, PK_STATUS_ENUM_REMOVE);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       /* params is a small array we can pack our thread parameters into */
-       params = g_new0 (gpointer, 2);
-@@ -450,7 +523,7 @@ static void
- backend_update_system (PkBackend *backend)
- {
-       pk_backend_set_status (backend, PK_STATUS_ENUM_UPDATE);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       pk_backend_thread_create (backend, backend_update_system_thread);
- }
-@@ -478,8 +551,14 @@ backend_update_package_thread (PkBackend *backend)
-       }
-       err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend);
--
--      if (err != 0) {
-+      switch (err)
-+      {
-+      case OPKG_NO_ERROR:
-+              break;
-+      case OPKG_PACKAGE_NOT_INSTALLED:
-+              pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
-+              break;
-+      default:
-               opkg_unknown_error (backend, err, "Update package");
-       }
-@@ -494,7 +573,7 @@ backend_update_packages (PkBackend *backend, gchar **package_ids)
-       gint i;
-       pk_backend_set_status (backend, PK_STATUS_ENUM_UPDATE);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       for (i = 0; package_ids[i]; i++) {
-               pk_backend_set_string (backend, "pkgid", package_ids[i]);
-@@ -536,7 +615,7 @@ static void
- backend_get_updates (PkBackend *backend, PkFilterEnum filters)
- {
-       pk_backend_set_status (backend, PK_STATUS_ENUM_UPDATE);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       pk_backend_thread_create (backend, backend_get_updates_thread);
- }
-@@ -572,19 +651,26 @@ backend_get_details_thread (PkBackend *backend)
-       if (pi == NULL)
-       {
-               pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id");
--              pk_package_id_free (pi);
-+              pk_backend_finished (backend);
-               return FALSE;
-       }
-       pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data);
-+      pk_package_id_free (pi);
-+
-+      if (!pkg)
-+      {
-+              pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL);
-+              pk_backend_finished (backend);
-+              return FALSE;
-+      }
-       newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository);
-       pk_backend_details (backend, newid, NULL, 0, pkg->description, pkg->url, pkg->size);
-       g_free (newid);
--      pk_package_id_free (pi);
-       pk_backend_finished (backend);
-       return TRUE;
- }
-@@ -592,7 +678,7 @@ backend_get_details_thread (PkBackend *backend)
- static void
- backend_get_details (PkBackend *backend, const gchar *package_id)
- {
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       pk_backend_thread_create (backend, backend_get_details_thread);
- }
-diff --git a/backends/test/pk-backend-test-dbus.c b/backends/test/pk-backend-test-dbus.c
-index 5dfea32..76686dc 100644
---- a/backends/test/pk-backend-test-dbus.c
-+++ b/backends/test/pk-backend-test-dbus.c
-@@ -36,7 +36,7 @@ static void
- backend_search_name (PkBackend *backend, PkFilterEnum filters, const gchar *search)
- {
-       pk_backend_set_allow_cancel (backend, TRUE);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       pk_backend_dbus_search_name (dbus, filters, search);
- }
-diff --git a/backends/test/pk-backend-test-spawn.c b/backends/test/pk-backend-test-spawn.c
-index 2958c05..584f44c 100644
---- a/backends/test/pk-backend-test-spawn.c
-+++ b/backends/test/pk-backend-test-spawn.c
-@@ -35,7 +35,7 @@ backend_search_name (PkBackend *backend, PkFilterEnum filters, const gchar *sear
- {
-       gchar *filters_text;
-       pk_backend_set_allow_cancel (backend, TRUE);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       filters_text = pk_filter_enums_to_text (filters);
-       pk_backend_spawn_helper (spawn, "search-name.sh", filters_text, search, NULL);
-       g_free (filters_text);
-diff --git a/backends/test/pk-backend-test-succeed.c b/backends/test/pk-backend-test-succeed.c
-index 17cdc6e..c046c1d 100644
---- a/backends/test/pk-backend-test-succeed.c
-+++ b/backends/test/pk-backend-test-succeed.c
-@@ -236,7 +236,7 @@ backend_search_name_timeout (gpointer data)
- static void
- backend_search_name (PkBackend *backend, PkFilterEnum filters, const gchar *search)
- {
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       g_timeout_add (200000, backend_search_name_timeout, backend);
- }
-diff --git a/backends/yum/helpers/yumBackend.py b/backends/yum/helpers/yumBackend.py
-index f76e27c..5b2da8f 100644
---- a/backends/yum/helpers/yumBackend.py
-+++ b/backends/yum/helpers/yumBackend.py
-@@ -801,6 +801,8 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-         old_throttle = self.yumbase.conf.throttle
-         self.yumbase.conf.throttle = "60%" # Set bandwidth throttle to 60%
-                                            # to avoid taking all the system's bandwidth.
-+        old_skip_broken = self.yumbase.conf.skip_broken
-+        self.yumbase.conf.skip_broken = 1
-         try:
-             txmbr = self.yumbase.update() # Add all updates to Transaction
-@@ -812,6 +814,7 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-             self.error(ERROR_NO_PACKAGES_TO_UPDATE,"Nothing to do")
-         self.yumbase.conf.throttle = old_throttle
-+        self.yumbase.conf.skip_broken = old_skip_broken
-     def refresh_cache(self):
-         '''
-@@ -905,7 +908,7 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-         if txmbrs:
-             self._runYumTransaction()
-         else:
--            self.error(ERROR_PACKAGE_ALREADY_INSTALLED,"This package could not be installed as it is already installed")
-+            self.error(ERROR_PACKAGE_ALREADY_INSTALLED,"The package is already installed")
-     def _checkForNewer(self,po):
-         pkgs = self.yumbase.pkgSack.returnNewestByName(name=po.name)
-@@ -1003,7 +1006,7 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-             return False
-         if self._is_inst(po):
--            self.error(ERROR_PACKAGE_ALREADY_INSTALLED, "%s is already installed" % str(po))
-+            self.error(ERROR_PACKAGE_ALREADY_INSTALLED, "The package %s is already installed" % str(po))
-             return False
-         if len(self.yumbase.conf.exclude) > 0:
-diff --git a/backends/yum2/helpers/testyum2.py b/backends/yum2/helpers/testyum2.py
-index cdec507..85b47f9 100755
---- a/backends/yum2/helpers/testyum2.py
-+++ b/backends/yum2/helpers/testyum2.py
-@@ -80,7 +80,7 @@ try:
-         #iface.GetPackages(FILTER_INSTALLED,'no')
-     if cmd == 'get-repolist' or cmd == 'all':
-         print "Testing GetRepoList()"
--        iface.GetRepoList()
-+        iface.GetRepoList("")
-     if cmd == 'get-updatedetail' or cmd == 'all':
-         print "Testing GetUpdateDetail(PKG_ID)"
-         iface.GetUpdateDetail(PKG_ID)
-diff --git a/backends/yum2/helpers/yumDBUSBackend.py b/backends/yum2/helpers/yumDBUSBackend.py
-index 9cfed94..29f5b03 100755
---- a/backends/yum2/helpers/yumDBUSBackend.py
-+++ b/backends/yum2/helpers/yumDBUSBackend.py
-@@ -434,7 +434,7 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-         try:
-             pkgGroupDict = self._buildGroupDict()
-             fltlist = filters.split(';')
--            found = {}
-+            installed_nevra = [] # yum returns packages as available even when installed
-             if not FILTER_NOT_INSTALLED in fltlist:
-                 # Check installed for group
-@@ -450,21 +450,31 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-                             group = groupMap[cg]           # use the pk group name, instead of yum 'category/group'
-                     if group == key:
-                         if self._do_extra_filtering(pkg, fltlist):
--                            self._show_package(pkg, INFO_INSTALLED)
-+                            package_list.append((pkg,INFO_INSTALLED))
-+                    installed_nevra.append(self._get_nevra(pkg))                        
-+
-             if not FILTER_INSTALLED in fltlist:
-                 # Check available for group
-                 for pkg in self.yumbase.pkgSack:
-                     if self._cancel_check("Search cancelled."):
-                         # _cancel_check() sets the error message, unlocks yum, and calls Finished()
-                         return
--                    group = GROUP_OTHER
--                    if pkgGroupDict.has_key(pkg.name):
--                        cg = pkgGroupDict[pkg.name]
--                        if groupMap.has_key(cg):
--                            group = groupMap[cg]
--                    if group == key:
--                        if self._do_extra_filtering(pkg, fltlist):
--                            self._show_package(pkg, INFO_AVAILABLE)
-+
-+                    nevra = self._get_nevra(pkg)
-+                    if nevra not in installed_nevra:
-+                        group = GROUP_OTHER
-+                        if pkgGroupDict.has_key(pkg.name):
-+                            cg = pkgGroupDict[pkg.name]
-+                            if groupMap.has_key(cg):
-+                                group = groupMap[cg]
-+                        if group == key:
-+                            if self._do_extra_filtering(pkg, fltlist):
-+                                package_list.append((pkg,INFO_AVAILABLE))
-+
-+        except yum.Errors.GroupsError,e:
-+            self._unlock_yum()
-+            self.ErrorCode(ERROR_GROUP_NOT_FOUND, str(e))
-+            self.Finished(EXIT_FAILED)
-         except yum.Errors.RepoError,e:
-             self.Message(MESSAGE_NOTICE, "The package cache is invalid and is being rebuilt.")
-             self._refresh_yum_cache()
-@@ -473,6 +483,14 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-             return
-+        # basename filter if specified
-+        if FILTER_BASENAME in fltlist:
-+            for (pkg,status) in self._basename_filter(package_list):
-+                self._show_package(pkg,status)
-+        else:
-+            for (pkg,status) in package_list:
-+                self._show_package(pkg,status)
-+
-         self._unlock_yum()
-         self.Finished(EXIT_SUCCESS)
-@@ -724,6 +742,11 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-             #we might have a rounding error
-             self.PercentageChanged(100)
-+        except yum.Errors.RepoError,e:
-+            self._unlock_yum()
-+            self.ErrorCode(ERROR_REPO_CONFIGURATION_ERROR,str(e))
-+            self.Finished(EXIT_FAILED)
-+            self.Exit()
-         except yum.Errors.YumBaseError, e:
-             self._unlock_yum()
-             # This should be a better-defined error, but I'm not sure
-@@ -837,6 +860,7 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-         Needed to be implemented in a sub class
-         '''
-         if inst_file.endswith('.src.rpm'):
-+            self._unlock_yum()
-             self.ErrorCode(ERROR_CANNOT_INSTALL_SOURCE_PACKAGE,'Backend will not install a src rpm file')
-             self.Finished(EXIT_FAILED)
-             return
-@@ -1385,30 +1409,30 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-             res = self.yumbase.searchGenerator(searchlist, [key])
-             fltlist = filters.split(';')
--            available = []
--            count = 1
-+            seen_nevra = [] # yum returns packages as available even when installed
-+            pkg_list = [] # only do the second iteration on not installed pkgs
-+            package_list = [] #we can't do emitting as found if we are post-processing
-+
-             for (pkg,values) in res:
-                 if self._cancel_check("Search cancelled."):
-                     return False
-                 # are we installed?
-                 if pkg.repo.id == 'installed':
--                    if FILTER_NOT_INSTALLED not in fltlist:
--                        if self._do_extra_filtering(pkg,fltlist):
--                            count+=1
--                            if count > 100:
--                                break
--                            self._show_package(pkg, INFO_INSTALLED)
-+                    if self._do_extra_filtering(pkg,fltlist):
-+                        package_list.append((pkg,INFO_INSTALLED))
-+                        seen_nevra.append(self._get_nevra(pkg))
-                 else:
--                    available.append(pkg)
-+                    pkg_list.append(pkg)
--            # Now show available packages.
--            if FILTER_INSTALLED not in fltlist:
--                for pkg in available:
--                    if self._cancel_check("Search cancelled."):
--                        return False
--                    if self._do_extra_filtering(pkg,fltlist):
--                        self._show_package(pkg, INFO_AVAILABLE)
-+            for pkg in pkg_list:
-+                if self._cancel_check("Search cancelled."):
-+                    return False
-+                nevra = self._get_nevra(pkg)
-+                if nevra not in seen_nevra:
-+                    if self._do_extra_filtering(pkg,fltlist):
-+                        package_list.append((pkg,INFO_AVAILABLE))
-+                        seen_nevra.append(self._get_nevra(pkg))
-         except yum.Errors.RepoError,e:
-             self.Message(MESSAGE_NOTICE, "The package cache is invalid and is being rebuilt.")
-             self._refresh_yum_cache()
-@@ -1417,13 +1441,22 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-             return False
-+        # basename filter if specified
-+        if FILTER_BASENAME in fltlist:
-+            for (pkg,status) in self._basename_filter(package_list):
-+                self._show_package(pkg,status)
-+        else:
-+            for (pkg,status) in package_list:
-+                self._show_package(pkg,status)
-+
-         return True
-     def _do_extra_filtering(self,pkg,filterList):
-         ''' do extra filtering (gui,devel etc) '''
-         for filter in filterList:
-             if filter in (FILTER_INSTALLED, FILTER_NOT_INSTALLED):
--                continue
-+                if not self._do_installed_filtering(filter,pkg):
-+                    return False
-             elif filter in (FILTER_GUI, FILTER_NOT_GUI):
-                 if not self._do_gui_filtering(filter, pkg):
-                     return False
-@@ -1433,11 +1466,17 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-             elif filter in (FILTER_FREE, FILTER_NOT_FREE):
-                 if not self._do_free_filtering(filter, pkg):
-                     return False
--            elif filter in (FILTER_BASENAME, FILTER_NOT_BASENAME):
--                if not self._do_basename_filtering(filter, pkg):
--                    return False
-         return True
-+    def _do_installed_filtering(self,flt,pkg):
-+        isInstalled = False
-+        if flt == FILTER_INSTALLED:
-+            wantInstalled = True
-+        else:
-+            wantInstalled = False
-+        isInstalled = pkg.repo.id == 'installed'
-+        return isInstalled == wantInstalled
-+
-     def _do_gui_filtering(self,flt,pkg):
-         isGUI = False
-         if flt == FILTER_GUI:
-@@ -1477,32 +1516,7 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-         return isFree == wantFree
--    def _do_basename_filtering(self,flt,pkg):
--        if flt == FILTER_BASENAME:
--            wantBase = True
--        else:
--            wantBase = False
--
--        isBase = self._check_basename(pkg)
--
--        return isBase == wantBase
--    def _check_basename(self, pkg):
--        '''
--        If a package does not have a source rpm (If that ever
--        happens), or it does have a source RPM, and the package's name
--        is the same as the source RPM's name, then we assume it is the
--        'base' package.
--        '''
--        basename = pkg.name
--
--        if pkg.sourcerpm:
--            basename = rpmUtils.miscutils.splitFilename(pkg.sourcerpm)[0]
--
--        if basename == pkg.name:
--            return True
--
--        return False
-     def _is_development_repo(self, repo):
-         if repo.endswith('-debuginfo'):
-@@ -1576,28 +1590,41 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-         '''
-         find a package based on a package id (name;version;arch;repoid)
-         '''
--        # Split up the id
--        (n,idver,a,d) = self.get_package_from_id(id)
--        # get e,v,r from package id version
--        e,v,r = self._getEVR(idver)
-+        # is this an real id or just an name
-+        if len(id.split(';')) > 1:
-+            # Split up the id
-+            (n,idver,a,d) = self.get_package_from_id(id)
-+            # get e,v,r from package id version
-+            e,v,r = self._getEVR(idver)
-+        else:
-+            n = id
-+            e = v = r = a = None
-         # search the rpmdb for the nevra
-         pkgs = self.yumbase.rpmdb.searchNevra(name=n,epoch=e,ver=v,rel=r,arch=a)
--        # if the package is found, then return it
-+        # if the package is found, then return it (do not have to match the repo_id)
-         if len(pkgs) != 0:
-             return pkgs[0],True
-         # search the pkgSack for the nevra
--        pkgs = self.yumbase.pkgSack.searchNevra(name=n,epoch=e,ver=v,rel=r,arch=a)
--        # if the package is found, then return it
--        if len(pkgs) != 0:
--            return pkgs[0],False
--        else:
-+        try:
-+            pkgs = self.yumbase.pkgSack.searchNevra(name=n,epoch=e,ver=v,rel=r,arch=a)
-+        except yum.Errors.RepoError,e:
-+            self.error(ERROR_REPO_NOT_AVAILABLE,str(e))
-+        # nothing found
-+        if len(pkgs) == 0:
-             return None,False
-+        # one NEVRA in a single repo
-+        if len(pkgs) == 1:
-+            return pkgs[0],False
-+        # we might have the same NEVRA in multiple repos, match by repo name
-+        for pkg in pkgs:
-+            if d == pkg.repoid:
-+                return pkg,False
-+        # repo id did not match
-+        return None,False
-     def _is_inst(self,pkg):
-         return self.yumbase.rpmdb.installed(po=pkg)
--
--
-     def _installable(self, pkg, ematch=False):
-         """check if the package is reasonably installable, true/false"""
-@@ -1764,6 +1791,57 @@ class PackageKitYumBackend(PackageKitBaseBackend):
-             return INFO_ENHANCEMENT
-         else:
-             return INFO_UNKNOWN
-+    def _is_main_package(self,repo):
-+        if repo.endswith('-debuginfo'):
-+            return False
-+        if repo.endswith('-devel'):
-+            return False
-+        if repo.endswith('-libs'):
-+            return False
-+        return True
-+
-+    def _basename_filter(self,package_list):
-+        '''
-+        Filter the list so that the number of packages are reduced.
-+        This is done by only displaying gtk2 rather than gtk2-devel, gtk2-debuginfo, etc.
-+        This imlementation is done by comparing the SRPM name, and if not falling back
-+        to the first entry.
-+        We have to fall back else we don't emit packages where the SRPM does not produce a
-+        RPM with the same name, for instance, mono produces mono-core, mono-data and mono-winforms.
-+        @package_list: a (pkg,status) list of packages
-+        A new list is returned that has been filtered
-+        '''
-+        base_list = []
-+        output_list = []
-+        base_list_already_got = []
-+
-+        #find out the srpm name and add to a new array of compound data
-+        for (pkg,status) in package_list:
-+            if pkg.sourcerpm:
-+                base = rpmUtils.miscutils.splitFilename(pkg.sourcerpm)[0]
-+                base_list.append ((pkg,status,base,pkg.version));
-+            else:
-+                base_list.append ((pkg,status,'nosrpm',pkg.version));
-+
-+        #find all the packages that match thier basename name (done seporately so we get the "best" match)
-+        for (pkg,status,base,version) in base_list:
-+            if base == pkg.name and (base,version) not in base_list_already_got:
-+                output_list.append((pkg,status))
-+                base_list_already_got.append ((base,version))
-+
-+        #for all the ones not yet got, can we match against a non devel match?
-+        for (pkg,status,base,version) in base_list:
-+            if (base,version) not in base_list_already_got:
-+                if self._is_main_package(pkg.name):
-+                    output_list.append((pkg,status))
-+                    base_list_already_got.append ((base,version))
-+
-+        #add the remainder of the packages, which should just be the single debuginfo's
-+        for (pkg,status,base,version) in base_list:
-+            if (base,version) not in base_list_already_got:
-+                output_list.append((pkg,status))
-+                base_list_already_got.append ((base,version))
-+        return output_list
-     def _get_obsoleted(self,name):
-         obsoletes = self.yumbase.up.getObsoletesTuples( newest=1 )
-diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
-index 746da82..15c4b4f 100644
---- a/backends/zypp/pk-backend-zypp.cpp
-+++ b/backends/zypp/pk-backend-zypp.cpp
-@@ -1170,7 +1170,7 @@ backend_find_packages_thread (PkBackend *backend)
-       mode = pk_backend_get_uint (backend, "mode");
-       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
--      pk_backend_no_percentage_updates (backend);
-+      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-       std::vector<zypp::sat::Solvable> *v = new std::vector<zypp::sat::Solvable>;
-       std::vector<zypp::sat::Solvable> *v2 = new std::vector<zypp::sat::Solvable>;
-diff --git a/client/pk-console.c b/client/pk-console.c
-index 8f69068..5a05a8e 100644
---- a/client/pk-console.c
-+++ b/client/pk-console.c
-@@ -50,7 +50,7 @@ static gboolean awaiting_space = FALSE;
- static gboolean trusted = TRUE;
- static guint timer_id = 0;
- static guint percentage_last = 0;
--static gchar *filename = NULL;
-+static gchar **files_cache = NULL;
- static PkControl *control = NULL;
- static PkClient *client = NULL;
- static PkClient *client_task = NULL;
-@@ -494,6 +494,12 @@ pk_console_perhaps_resolve (PkClient *client, PkFilterEnum filter, const gchar *
-               return g_strdup (package);
-       }
-+      ret = pk_client_reset (client_task, error);
-+      if (ret == FALSE) {
-+              pk_warning ("failed to reset client task");
-+              return NULL;
-+      }
-+
-       /* we need to resolve it */
-       ret = pk_client_resolve (client_task, filter, package, error);
-       if (ret == FALSE) {
-@@ -549,20 +555,93 @@ pk_console_perhaps_resolve (PkClient *client, PkFilterEnum filter, const gchar *
- }
- /**
-- * pk_console_install_package:
-+ * pk_console_install_stuff:
-  **/
- static gboolean
--pk_console_install_package (PkClient *client, const gchar *package, GError **error)
-+pk_console_install_stuff (PkClient *client, gchar **packages, GError **error)
- {
--      gboolean ret;
--      gchar *package_id;
--      package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_NOT_INSTALLED, package, error);
--      if (package_id == NULL) {
--              g_print ("%s\n", _("Could not find a package with that name to install, or package already installed"));
--              return FALSE;
-+      gboolean ret = TRUE;
-+      gboolean is_local;
-+      gchar *package_id = NULL;
-+      gchar **package_ids = NULL;
-+      gchar **files = NULL;
-+      guint i;
-+      guint length;
-+      GPtrArray *array_packages;
-+      GPtrArray *array_files;
-+
-+      array_packages = g_ptr_array_new ();
-+      array_files = g_ptr_array_new ();
-+      length = g_strv_length (packages);
-+      for (i=2; i<length; i++) {
-+              is_local = g_file_test (packages[i], G_FILE_TEST_EXISTS);
-+              if (is_local) {
-+                      g_ptr_array_add (array_files, g_strdup (packages[i]));
-+              } else {
-+                      package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_NOT_INSTALLED, packages[i], error);
-+                      if (package_id == NULL) {
-+                              g_print ("%s\n", _("Could not find a package with that name to install, or package already installed"));
-+                              ret = FALSE;
-+                              break;
-+                      }
-+                      g_ptr_array_add (array_packages, package_id);
-+              }
-       }
--      ret = pk_client_install_package (client, package_id, error);
--      g_free (package_id);
-+
-+      /* one of the resolves failed */
-+      if (!ret) {
-+              pk_warning ("resolve failed");
-+              goto out;
-+      }
-+
-+
-+      /* any to process? */
-+      if (array_packages->len > 0) {
-+              /* convert to strv */
-+              package_ids = pk_ptr_array_to_argv (array_packages);
-+
-+              /* reset */
-+              ret = pk_client_reset (client, error);
-+              if (!ret) {
-+                      pk_warning ("failed to reset");
-+                      goto out;
-+              }
-+
-+              ret = pk_client_install_package (client, package_id, error);
-+              if (!ret) {
-+                      pk_warning ("failed to install packages");
-+                      goto out;
-+              }
-+      }
-+
-+      /* any to process? */
-+      if (array_files->len > 0) {
-+              /* convert to strv */
-+              files = pk_ptr_array_to_argv (array_files);
-+
-+              /* save for untrusted callback */
-+              g_strfreev (files_cache);
-+              files_cache = g_strdupv (files);
-+
-+              /* reset */
-+              ret = pk_client_reset (client, error);
-+              if (!ret) {
-+                      pk_warning ("failed to reset");
-+                      goto out;
-+              }
-+
-+              ret = pk_client_install_files (client, trusted, files, error);
-+              if (!ret) {
-+                      pk_warning ("failed to install files");
-+                      goto out;
-+              }
-+      }
-+
-+out:
-+      g_strfreev (package_ids);
-+      g_strfreev (files);
-+      g_ptr_array_free (array_files, TRUE);
-+      g_ptr_array_free (array_packages, TRUE);
-       return ret;
- }
-@@ -570,16 +649,16 @@ pk_console_install_package (PkClient *client, const gchar *package, GError **err
-  * pk_console_remove_only:
-  **/
- static gboolean
--pk_console_remove_only (PkClient *client, const gchar *package_id, gboolean force, gboolean autoremove, GError **error)
-+pk_console_remove_only (PkClient *client, gchar **package_ids, gboolean force, GError **error)
- {
-       gboolean ret;
--      pk_debug ("remove %s", package_id);
-+      pk_debug ("remove+ %s", package_ids[0]);
-       ret = pk_client_reset (client, error);
-       if (!ret) {
-               return ret;
-       }
--      return pk_client_remove_package (client, package_id, force, autoremove, error);
-+      return pk_client_remove_packages (client, package_ids, force, FALSE, error);
- }
- /**
-@@ -625,64 +704,99 @@ pk_console_get_prompt (const gchar *question, gboolean defaultyes)
- }
- /**
-- * pk_console_remove_package:
-+ * pk_console_remove_packages:
-  **/
- static gboolean
--pk_console_remove_package (PkClient *client, const gchar *package, GError **error)
-+pk_console_remove_packages (PkClient *client, gchar **packages, GError **error)
- {
-       gchar *package_id;
--      gboolean ret;
--      guint length;
-+      gboolean ret = TRUE;
-       PkPackageItem *item;
-       PkPackageId *ident;
--      guint i;
-+      guint i, j;
-+      guint size;
-+      guint length;
-       gboolean remove;
-+      GPtrArray *array;
-+      gchar **package_ids = NULL;
-+      PkPackageList *list;
-+
-+      array = g_ptr_array_new ();
-+      list = pk_package_list_new ();
-+      length = g_strv_length (packages);
-+      for (i=2; i<length; i++) {
-+              package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_INSTALLED, packages[i], error);
-+              if (package_id == NULL) {
-+                      g_print ("%s:%s\n", _("Could not find a package to remove"), packages[i]);
-+                      ret = FALSE;
-+                      break;
-+              }
-+              g_ptr_array_add (array, g_strdup (package_id));
-+              pk_debug ("resolved to %s", package_id);
-+              g_free (package_id);
-+      }
--      package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_INSTALLED, package, error);
--      if (package_id == NULL) {
--              g_print ("%s\n", _("Could not find a package with that name to remove"));
--              return FALSE;
-+      /* one of the resolves failed */
-+      if (!ret) {
-+              goto out;
-       }
-+      /* convert to strv */
-+      package_ids = pk_ptr_array_to_argv (array);
-+
-       /* are we dumb and can't check for requires? */
-       if (!pk_enums_contain (roles, PK_ROLE_ENUM_GET_REQUIRES)) {
-               /* no, just try to remove it without deps */
--              ret = pk_console_remove_only (client, package_id, FALSE, FALSE, error);
--              g_free (package_id);
--              return ret;
-+              ret = pk_console_remove_only (client, package_ids, FALSE, error);
-+              goto out;
-       }
--      /* see if any packages require this one */
--      ret = pk_client_reset (client_task, error);
--      if (!ret) {
--              pk_warning ("failed to reset");
--              return FALSE;
-+      /* get the requires packages for each package_id */
-+      length = g_strv_length (package_ids);
-+      for (i=0; i<length; i++) {
-+              ret = pk_client_reset (client_task, error);
-+              if (!ret) {
-+                      pk_warning ("failed to reset");
-+                      break;
-+              }
-+
-+              pk_debug ("Getting installed requires for %s", package_ids[i]);
-+              /* see if any packages require this one */
-+              ret = pk_client_get_requires (client_task, PK_FILTER_ENUM_INSTALLED, package_ids[i], TRUE, error);
-+              if (!ret) {
-+                      pk_warning ("failed to get requires");
-+                      break;
-+              }
-+
-+              /* see how many packages there are */
-+              size = pk_client_package_buffer_get_size (client_task);
-+              for (j=0; j<size; j++) {
-+                      item = pk_client_package_buffer_get_item (client_task, j);
-+                      pk_package_list_add_item (list, item);
-+              }
-       }
--      pk_debug ("Getting installed requires for %s", package_id);
--      ret = pk_client_get_requires (client_task, PK_FILTER_ENUM_INSTALLED, package_id, TRUE, error);
-+      /* one of the get-requires failed */
-       if (!ret) {
--              return FALSE;
-+              goto out;
-       }
--      /* see how many packages there are */
--      length = pk_client_package_buffer_get_size (client_task);
--
-       /* if there are no required packages, just do the remove */
-+      length = pk_package_list_get_size (list);
-       if (length == 0) {
-               pk_debug ("no requires");
--              ret = pk_console_remove_only (client, package_id, FALSE, FALSE, error);
--              g_free (package_id);
--              return ret;
-+              ret = pk_console_remove_only (client, package_ids, FALSE, error);
-+              goto out;
-       }
-+
-       /* present this to the user */
-       if (awaiting_space) {
-               g_print ("\n");
-       }
-       g_print ("%s:\n", _("The following packages have to be removed"));
-       for (i=0; i<length; i++) {
--              item = pk_client_package_buffer_get_item (client_task, i);
-+              item = pk_package_list_get_item (list, i);
-               ident = pk_package_id_new_from_string (item->package_id);
-               g_print ("%i\t%s-%s\n", i, ident->name, ident->version);
-               pk_package_id_free (ident);
-@@ -694,14 +808,17 @@ pk_console_remove_package (PkClient *client, const gchar *package, GError **erro
-       /* we chickened out */
-       if (remove == FALSE) {
-               g_print ("%s\n", _("Cancelled!"));
--              g_free (package_id);
--              return FALSE;
-+              ret = FALSE;
-+              goto out;
-       }
-       /* remove all the stuff */
--      ret = pk_console_remove_only (client, package_id, TRUE, FALSE, error);
--      g_free (package_id);
-+      ret = pk_console_remove_only (client, package_ids, TRUE, error);
-+out:
-+      g_object_unref (list);
-+      g_strfreev (package_ids);
-+      g_ptr_array_free (array, TRUE);
-       return ret;
- }
-@@ -840,7 +957,7 @@ pk_console_error_code_cb (PkClient *client, PkErrorCodeEnum error_code, const gc
-           error_code == PK_ERROR_ENUM_MISSING_GPG_SIGNATURE && trusted) {
-               pk_debug ("need to try again with trusted FALSE");
-               trusted = FALSE;
--              ret = pk_client_install_file (client_install_files, trusted, filename, &error);
-+              ret = pk_client_install_files (client_install_files, trusted, files_cache, &error);
-               /* we succeeded, so wait for the requeue */
-               if (!ret) {
-                       pk_warning ("failed to install file second time: %s", error->message);
-@@ -1153,7 +1270,6 @@ main (int argc, char *argv[])
-       const gchar *value = NULL;
-       const gchar *details = NULL;
-       const gchar *parameter = NULL;
--      PkRoleEnum roles;
-       PkGroupEnum groups;
-       gchar *text;
-       ret = FALSE;
-@@ -1324,15 +1440,7 @@ main (int argc, char *argv[])
-                       g_print (_("You need to specify a package or file to install"));
-                       goto out;
-               }
--              /* is it a local file? */
--              ret = g_file_test (value, G_FILE_TEST_EXISTS);
--              if (ret) {
--                      ret = pk_client_install_file (client, trusted, value, &error);
--                      /* we need this for the untrusted try */
--                      filename = g_strdup (value);
--              } else {
--                      ret = pk_console_install_package (client, value, &error);
--              }
-+              ret = pk_console_install_stuff (client, argv, &error);
-       } else if (strcmp (mode, "install-sig") == 0) {
-               if (value == NULL || details == NULL || parameter == NULL) {
-@@ -1346,7 +1454,7 @@ main (int argc, char *argv[])
-                       g_print (_("You need to specify a package to remove"));
-                       goto out;
-               }
--              ret = pk_console_remove_package (client, value, &error);
-+              ret = pk_console_remove_packages (client, argv, &error);
-       } else if (strcmp (mode, "accept-eula") == 0) {
-               if (value == NULL) {
-@@ -1465,9 +1573,9 @@ main (int argc, char *argv[])
-               ret = pk_client_get_packages (client, filters, &error);
-       } else if (strcmp (mode, "get-actions") == 0) {
--              roles = pk_control_get_actions (control);
-               text = pk_role_enums_to_text (roles);
--              g_print ("roles=%s\n", text);
-+              g_strdelimit (text, ";", '\n');
-+              g_print ("%s\n", text);
-               g_free (text);
-               maybe_sync = FALSE;
-               /* these can never fail */
-@@ -1476,7 +1584,8 @@ main (int argc, char *argv[])
-       } else if (strcmp (mode, "get-filters") == 0) {
-               filters = pk_control_get_filters (control);
-               text = pk_filter_enums_to_text (filters);
--              g_print ("filters=%s\n", text);
-+              g_strdelimit (text, ";", '\n');
-+              g_print ("%s\n", text);
-               g_free (text);
-               maybe_sync = FALSE;
-               /* these can never fail */
-@@ -1485,7 +1594,8 @@ main (int argc, char *argv[])
-       } else if (strcmp (mode, "get-groups") == 0) {
-               groups = pk_control_get_groups (control);
-               text = pk_group_enums_to_text (groups);
--              g_print ("groups=%s\n", text);
-+              g_strdelimit (text, ";", '\n');
-+              g_print ("%s\n", text);
-               g_free (text);
-               maybe_sync = FALSE;
-               /* these can never fail */
-@@ -1525,7 +1635,7 @@ out:
-       g_free (options_help);
-       g_free (filter);
-       g_free (summary);
--      g_free (filename);
-+      g_strfreev (files_cache);
-       g_object_unref (control);
-       g_object_unref (client);
-       g_object_unref (client_task);
-diff --git a/configure.ac b/configure.ac
-index 9d734e1..f614d2b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -535,7 +535,7 @@ if test x$enable_box = xyes; then
- fi
- if test x$enable_opkg = xyes; then
--      PKG_CHECK_MODULES(OPKG, libopkg = 0.1.3)
-+      PKG_CHECK_MODULES(OPKG, libopkg = 0.1.4)
-       AC_SUBST(OPKG_CFLAGS)
-       AC_SUBST(OPKG_LIBS)
- fi
-diff --git a/contrib/yum-packagekit/refresh-packagekit.py b/contrib/yum-packagekit/refresh-packagekit.py
-index 9c0bdf4..b440539 100644
---- a/contrib/yum-packagekit/refresh-packagekit.py
-+++ b/contrib/yum-packagekit/refresh-packagekit.py
-@@ -35,7 +35,7 @@ def posttrans_hook(conduit):
-                                           '/org/freedesktop/PackageKit')
-         packagekit_iface = dbus.Interface(packagekit_proxy, 'org.freedesktop.PackageKit')
-         packagekit_iface.StateHasChanged('posttrans')
--    except dbus.DBusException, e:
-+    except Exception, e:
-         conduit.info(2, "Unable to send message to PackageKit")
-         conduit.info(6, "%s" %(e,))
-diff --git a/data/tests/Makefile.am b/data/tests/Makefile.am
-index d15dd6c..6935e66 100644
---- a/data/tests/Makefile.am
-+++ b/data/tests/Makefile.am
-@@ -5,6 +5,7 @@ NULL =
- TEST_FILES =                                          \
-       pk-spawn-test.sh                                \
-+      pk-spawn-proxy.sh                               \
-       pk-spawn-test-sigquit.sh                        \
-       pk-spawn-test-profiling.sh                      \
-       $(NULL)
-diff --git a/data/tests/pk-spawn-proxy.sh b/data/tests/pk-spawn-proxy.sh
-new file mode 100755
-index 0000000..57774f1
---- /dev/null
-+++ b/data/tests/pk-spawn-proxy.sh
-@@ -0,0 +1,20 @@
-+#!/bin/bash
-+# Copyright (C) 2008 Richard Hughes <richard@hughsie.com>
-+# Licensed under the GNU General Public License Version 2
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+
-+if [ -z "${http_proxy}" ]; then
-+      echo "no http proxy"
-+      exit 1
-+fi
-+
-+if [ -z "${ftp_proxy}" ]; then
-+      echo "no ftp proxy"
-+      exit 1
-+fi
-+
-+echo -e "percentage\t100"
-+
-diff --git a/docs/html/index.html b/docs/html/index.html
-index 7270eb7..d60f825 100644
---- a/docs/html/index.html
-+++ b/docs/html/index.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
-  <td width="95%" valign="middle"><p class="title">PackageKit Main Page</p></td>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
- </tr>
- </table>
-@@ -20,10 +20,10 @@
- <table align="center" cellpadding="5px" border="0">
- <tr>
-- <td align="center"><a href="pk-intro.html"><img src="img/large-accessories-text-editor.png" width="128" alt="[img]"/></a></td>
-- <td align="center"><a href="pk-using.html"><img src="img/large-preferences-system.png" width="128" alt="[img]"/></a></td>
-- <td align="center"><a href="pk-download.html"><img src="img/large-dialog-information.png" width="128" alt="[img]"/></a></td>
-- <td align="center"><a href="pk-screenshots.html"><img src="img/large-emblem-photos.png" width="128" alt="[img]"/></a></td>
-+ <td align="center"><a href="pk-intro.html"><img src="img/large-accessories-text-editor.png" width="128" alt=""/></a></td>
-+ <td align="center"><a href="pk-using.html"><img src="img/large-preferences-system.png" width="128" alt=""/></a></td>
-+ <td align="center"><a href="pk-download.html"><img src="img/large-dialog-information.png" width="128" alt=""/></a></td>
-+ <td align="center"><a href="pk-screenshots.html"><img src="img/large-emblem-photos.png" width="128" alt=""/></a></td>
- </tr>
- <tr>
-  <td><p class="indextitle"><a href="pk-intro.html" class="indextitle">What is<br/>PackageKit?</a></p></td>
-@@ -32,10 +32,10 @@
-  <td><p class="indextitle"><a href="pk-screenshots.html" class="indextitle">Screenshots</a></p></td>
- </tr>
- <tr>
-- <td align="center"><a href="pk-authors.html"><img src="img/large-authors.png" width="128" alt="[img]"/></a></td>
-- <td align="center"><a href="pk-bugs.html"><img src="img/large-applications-development.png" width="128" alt="[img]"/></a></td>
-- <td align="center"><a href="pk-help.html"><img src="img/large-system-users.png" width="128" alt="[img]"/></a></td>
-- <td align="center"><a href="pk-faq.html"><img src="img/large-help-browser.png" width="128" alt="[img]"/></a></td>
-+ <td align="center"><a href="pk-authors.html"><img src="img/large-authors.png" width="128" alt=""/></a></td>
-+ <td align="center"><a href="pk-bugs.html"><img src="img/large-applications-development.png" width="128" alt=""/></a></td>
-+ <td align="center"><a href="pk-help.html"><img src="img/large-system-users.png" width="128" alt=""/></a></td>
-+ <td align="center"><a href="pk-faq.html"><img src="img/large-help-browser.png" width="128" alt=""/></a></td>
- </tr>
- <tr>
-  <td><p class="indextitle"><a href="pk-authors.html" class="indextitle">Who develops<br/>PackageKit?</a></p></td>
-diff --git a/docs/html/pk-authors.html b/docs/html/pk-authors.html
-index 08289ad..607a7a4 100644
---- a/docs/html/pk-authors.html
-+++ b/docs/html/pk-authors.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
-  <td width="95%" valign="middle"><p class="title">Who develops PackageKit?</p></td>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
- </tr>
- </table>
-@@ -22,7 +22,7 @@
- <table cellpadding="10">
- <tr>
-  <td>
--  <img src="img/author-hughsie.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-hughsie.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Richard Hughes</h2>
-@@ -48,7 +48,7 @@
- <tr>
-  <td>
--  <img src="img/author-kenvandine.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-kenvandine.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Ken VanDine</h2>
-@@ -66,7 +66,7 @@
- <tr>
-  <td>
--  <img src="img/author-btimothy.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-btimothy.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Boyd Timothy</h2>
-@@ -84,7 +84,7 @@
- <tr>
-  <td>
--  <img src="img/author-rnorwood.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-rnorwood.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Robin Norwood</h2>
-@@ -101,7 +101,7 @@
- <tr>
-  <td>
--  <img src="img/author-tomparker.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-tomparker.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Tom Parker</h2>
-@@ -118,7 +118,7 @@
- <tr>
-  <td>
--  <img src="img/author-timlau.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-timlau.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Tim Lauridsen</h2>
-@@ -139,7 +139,7 @@
- <tr>
-  <td>
--  <img src="img/author-lmacken.png" alt="[img]"/>
-+  <img src="img/author-lmacken.png" alt=""/>
-  </td>
-  <td>
-   <h2>Luke Macken</h2>
-@@ -154,7 +154,7 @@
- <tr>
-  <td>
--  <img src="img/author-grzegorzdabrowski.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-grzegorzdabrowski.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Grzegorz DÄ…browski</h2>
-@@ -173,7 +173,7 @@
- <tr>
-  <td>
--  <img src="img/author-caglar.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-caglar.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>S.ÇaÄŸlar Onur</h2>
-@@ -195,7 +195,7 @@
- <tr>
-  <td>
--  <img src="img/author-elliot.png" alt="[img]"/>
-+  <img src="img/author-elliot.png" alt=""/>
-  </td>
-  <td>
-   <h2>Elliot Peele</h2>
-@@ -210,7 +210,7 @@
- <tr>
-  <td>
--  <img src="img/author-jbowes.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-jbowes.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>James Bowes</h2>
-@@ -227,7 +227,7 @@
- <tr>
-  <td>
--  <img src="img/author-unknown.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-unknown.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Thomas Wood</h2>
-@@ -247,7 +247,7 @@
- <tr>
-  <td>
--  <img src="img/author-unknown.png" alt="[img]"/><!-- image should be 120px wide -->
-+  <img src="img/author-unknown.png" alt=""/><!-- image should be 120px wide -->
-  </td>
-  <td>
-   <h2>Scott Reeves</h2>
-diff --git a/docs/html/pk-bugs.html b/docs/html/pk-bugs.html
-index 89f7c48..2ee12ea 100644
---- a/docs/html/pk-bugs.html
-+++ b/docs/html/pk-bugs.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
-  <td width="95%" valign="middle"><p class="title">Reporting Bugs</p></td>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
- </tr>
- </table>
-diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
-index 6f796b8..0cdc85c 100644
---- a/docs/html/pk-download.html
-+++ b/docs/html/pk-download.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
-  <td width="95%" valign="middle"><p class="title">Where can I download it?</p></td>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
- </tr>
- </table>
-diff --git a/docs/html/pk-faq.html b/docs/html/pk-faq.html
-index a25e2b7..efa8344 100644
---- a/docs/html/pk-faq.html
-+++ b/docs/html/pk-faq.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><center><img src="img/packagekit.png" alt="[img]"/></center></td>
-+ <td><center><img src="img/packagekit.png" alt=""/></center></td>
-  <td width="95%" valign="middle"><p class="title">Frequently Asked Questions</p></td>
-- <td><center><img src="img/packagekit.png" alt="[img]"/></center></td>
-+ <td><center><img src="img/packagekit.png" alt=""/></center></td>
- </tr>
- </table>
-@@ -22,6 +22,7 @@
- <h2>Table Of Contents</h2>
- <ul>
- <li><a href="#how-complete">How complete are the backends?</a></li>
-+<li><a href="#run-as-root">When run as root, gpk-application and pkcon do not work!</a></li>
- <li><a href="#session-system">Why is there a session service and and a system service?</a></li>
- <li><a href="#session-methods">How do I use PackageKit in my application?</a></li>
- <li><a href="#rawhide-updates">Why don't I get update details with Fedora Rawhide?</a></li>
-@@ -565,6 +566,19 @@
- </table>
- <hr>
-+<h3><a name="run-as-root">When run as root, <code>gpk-application</code> and <code>pkcon</code> do not work!</a></h3>
-+<p>
-+GTK+ tools should not be run as the root user, <b>PERIOD</b>.
-+Any GTK+ program run as the root user is a massive security hole -- GTK+ just isn't designed with
-+this in mind.
-+There are <b>numerous</b> attack vectors when running as root, and programs shouldn't do such
-+insane and insecure things.
-+</p>
-+<p>
-+Please see <a href="http://www.gtk.org/setuid.html">the GTK+ explanation</a> for more rationale.
-+</p>
-+
-+<hr>
- <h3><a name="session-system">Why is there a session service <b>and</b> and a system service?</a></h3>
- <p>
- PackageKit runs a process <code>packagekitd</code> that is a daemon that runs per-system.
-diff --git a/docs/html/pk-help.html b/docs/html/pk-help.html
-index 5b44d50..5bc7827 100644
---- a/docs/html/pk-help.html
-+++ b/docs/html/pk-help.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
-  <td width="95%" valign="middle"><p class="title">How can I help?</p></td>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
- </tr>
- </table>
-@@ -72,9 +72,9 @@ as for instructions!
- <b>0.2.2</b> - To be released June 2008
- </p>
- <ul>
--<li>Multiple package install and remove from pkcon <i>(0%)</i></li>
-+<li>Network proxy server support <i>(70%)</i></li>
-+<li>Multiple package install and remove from pkcon <i>(80%)</i></li>
- <li>NetworkManager integration so we can detect GPRS (and modem) connections. <i>(10%)</i></li>
--<li>Filter for source packages. <i>(0%)</i></li>
- </ul>
- <p>
- <b>0.2.3</b> - To be released July 2008
-@@ -84,6 +84,12 @@ as for instructions!
- <li>Multiple package installs from gpk-application <i>(0%)</i></li>
- <li>Ignoring packages from the update viewer per-session <i>(10%)</i></li>
- </ul>
-+<p>
-+<b>0.3.0</b> - To be released December 2008
-+</p>
-+<ul>
-+<li>More composite types <code>s</code> to <code>as</code> <i>(0%)</i></li>
-+</ul>
- <p>Back to the <a href="index.html">main page</a></p>
-diff --git a/docs/html/pk-intro.html b/docs/html/pk-intro.html
-index c42be21..64f72fc 100644
---- a/docs/html/pk-intro.html
-+++ b/docs/html/pk-intro.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
-  <td width="95%" valign="middle"><p class="title">What is PackageKit?</p></td>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
- </tr>
- </table>
-diff --git a/docs/html/pk-screenshots.html b/docs/html/pk-screenshots.html
-index 78bd01f..5c7d4fa 100644
---- a/docs/html/pk-screenshots.html
-+++ b/docs/html/pk-screenshots.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><center><img src="img/packagekit.png" alt="[img]"/></center></td>
-+ <td><center><img src="img/packagekit.png" alt=""/></center></td>
-  <td width="95%" valign="middle"><p class="title">Screenshots</p></td>
-- <td><center><img src="img/packagekit.png" alt="[img]"/></center></td>
-+ <td><center><img src="img/packagekit.png" alt=""/></center></td>
- </tr>
- </table>
-@@ -26,77 +26,77 @@
- <h1><a name="gnome">GNOME Screenshots</a></h1>
--<center><img src="img/gpk-application-search.png" alt="[img]"/></center>
-+<center><img src="img/gpk-application-search.png" alt=""/></center>
- <p class="caption">Add/Remove Software search</p>
--<center><img src="img/gpk-application-groups.png" alt="[img]"/></center>
-+<center><img src="img/gpk-application-groups.png" alt=""/></center>
- <p class="caption">Add/Remove Software groups</p>
--<center><img src="img/gpk-log.png" alt="[img]"/></center>
-+<center><img src="img/gpk-log.png" alt=""/></center>
- <p class="caption">Transaction viewer</p>
--<center><img src="img/gpk-updates-overview.png" alt="[img]"/></center>
-+<center><img src="img/gpk-updates-overview.png" alt=""/></center>
- <p class="caption">Update viewer overview</p>
--<center><img src="img/gpk-updates.png" alt="[img]"/></center>
-+<center><img src="img/gpk-updates.png" alt=""/></center>
- <p class="caption">Update viewer</p>
--<center><img src="img/gpk-prefs.png" alt="[img]"/></center>
-+<center><img src="img/gpk-prefs.png" alt=""/></center>
- <p class="caption">Auto update preferences</p>
--<center><img src="img/gpk-progress.png" alt="[img]"/></center>
-+<center><img src="img/gpk-progress.png" alt=""/></center>
- <p class="caption">Progress dialog</p>
--<center><img src="img/gpk-added-deps.png" alt="[img]"/></center>
-+<center><img src="img/gpk-added-deps.png" alt=""/></center>
- <p class="caption">Added check warning</p>
--<center><img src="img/gpk-eula.png" alt="[img]"/></center>
-+<center><img src="img/gpk-eula.png" alt=""/></center>
- <p class="caption">EULA dialog</p>
--<center><img src="img/gpk-remove-confirm.png" alt="[img]"/></center>
-+<center><img src="img/gpk-remove-confirm.png" alt=""/></center>
- <p class="caption">Remove check warning</p>
--<center><img src="img/gpk-repo-auth.png" alt="[img]"/></center>
-+<center><img src="img/gpk-repo-auth.png" alt=""/></center>
- <p class="caption">Repository authentication</p>
--<center><img src="img/gpk-repo.png" alt="[img]"/></center>
-+<center><img src="img/gpk-repo.png" alt=""/></center>
- <p class="caption">Repository viewer</p>
--<center><img src="img/gpk-backend-status.png" alt="[img]"/></center>
-+<center><img src="img/gpk-backend-status.png" alt=""/></center>
- <p class="caption">PackageKit backend status</p>
--<center><img src="img/gpk-updates-warning.png" alt="[img]"/></center>
-+<center><img src="img/gpk-updates-warning.png" alt=""/></center>
- <p class="caption">Libnotify updates warning</p>
--<center><img src="img/gpk-waiting.png" alt="[img]"/></center>
-+<center><img src="img/gpk-waiting.png" alt=""/></center>
- <p class="caption">Tasks waiting</p>
--<center><img src="img/gpk-battery.png" alt="[img]"/></center>
-+<center><img src="img/gpk-battery.png" alt=""/></center>
- <p class="caption">Intergration with gnome-power-manager</p>
--<center><img src="img/gpk-inhibit.png" alt="[img]"/></center>
-+<center><img src="img/gpk-inhibit.png" alt=""/></center>
- <p class="caption">Inhibit with gnome-power-manager</p>
--<center><img src="img/gpk-require-restart.png" alt="[img]"/></center>
-+<center><img src="img/gpk-require-restart.png" alt=""/></center>
- <p class="caption">We sometimes need to do a restart</p>
--<center><img src="img/gpk-auto-update.png" alt="[img]"/></center>
-+<center><img src="img/gpk-auto-update.png" alt=""/></center>
- <p class="caption">Auto update install dialog</p>
- <h1><a name="kde">KDE Screenshots</a></h1>
--<center><img src="img/kpk-search.png" alt="[img]"/></center>
-+<center><img src="img/kpk-search.png" alt=""/></center>
- <p class="caption">KPackageKit Searching</p>
--<center><img src="img/kpk-information.png" alt="[img]"/></center>
-+<center><img src="img/kpk-information.png" alt=""/></center>
- <p class="caption">KPackageKit Package Information</p>
--<center><img src="img/pk-opensuse-updater.png" alt="[img]"/></center>
-+<center><img src="img/pk-opensuse-updater.png" alt=""/></center>
- <p class="caption">OpenSuse Updater</p>
- <h1><a name="moko">OpenMoko Screenshots</a></h1>
--<center><img src="img/assassin.png" alt="[img]"/></center>
-+<center><img src="img/assassin.png" alt=""/></center>
- <p class="caption">Assassin</p>
- <p>Back to the <a href="index.html">main page</a></p>
-diff --git a/docs/html/pk-using.html b/docs/html/pk-using.html
-index cc455c7..b2b028e 100644
---- a/docs/html/pk-using.html
-+++ b/docs/html/pk-using.html
-@@ -9,9 +9,9 @@
- <table align="center" class="title">
- <tr>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
-  <td width="95%" valign="middle"><p class="title">How do I use PackageKit?</p></td>
-- <td><img src="img/packagekit.png" alt="[img]"/></td>
-+ <td><img src="img/packagekit.png" alt=""/></td>
- </tr>
- </table>
-diff --git a/docs/spec/pk-concepts.xml b/docs/spec/pk-concepts.xml
-index 312c5a4..0b75b10 100644
---- a/docs/spec/pk-concepts.xml
-+++ b/docs/spec/pk-concepts.xml
-@@ -127,6 +127,13 @@
-               This allows the used to choose non-native packages if a multi-lib policy is allowed.
-             </entry>
-           </row>
-+          <row>
-+            <entry><literal>source</literal> or <literal>~source</literal></entry>
-+            <entry>
-+              The source filter will only return source packages.
-+              These are typically useful when rebuilding other packages.
-+            </entry>
-+          </row>
-         </tbody>
-       </tgroup>
-     </informaltable>
-diff --git a/etc/PackageKit.conf.in b/etc/PackageKit.conf.in
-index a6af99b..8f9bd57 100644
---- a/etc/PackageKit.conf.in
-+++ b/etc/PackageKit.conf.in
-@@ -31,3 +31,13 @@ ShutdownTimeout=300
- # default=@defaultbackend@
- DefaultBackend=@defaultbackend@
-+# Proxy settings, uncomment as required
-+#
-+# NOTE: PackageKit does not use these settings, they are passed to backends.
-+# Backends may ignore these values, or they may be updated from the session.
-+#
-+# They are in the format username:password@server:port
-+#
-+# ProxyHTTP=username:password@server.lan:8080
-+# ProxyFTP=username:password@server.lan:21
-+
-diff --git a/libpackagekit/Makefile.am b/libpackagekit/Makefile.am
-index 6b8c6b8..aeafe44 100644
---- a/libpackagekit/Makefile.am
-+++ b/libpackagekit/Makefile.am
-@@ -37,6 +37,7 @@ libpackagekit_include_HEADERS =                                      \
-       pk-connection.h                                         \
-       pk-package-id.h                                         \
-       pk-package-ids.h                                        \
-+      pk-package-item.h                                       \
-       pk-package-list.h                                       \
-       pk-enum.h                                               \
-       pk-common.h                                             \
-@@ -59,6 +60,8 @@ libpackagekit_la_SOURCES =                                   \
-       pk-package-id.h                                         \
-       pk-package-ids.c                                        \
-       pk-package-ids.h                                        \
-+      pk-package-item.c                                       \
-+      pk-package-item.h                                       \
-       pk-package-list.c                                       \
-       pk-package-list.h                                       \
-       pk-enum.h                                               \
-diff --git a/libpackagekit/pk-enum.c b/libpackagekit/pk-enum.c
-index b5b6ac3..5743dcb 100644
---- a/libpackagekit/pk-enum.c
-+++ b/libpackagekit/pk-enum.c
-@@ -193,6 +193,8 @@ static PkEnumMatch enum_filter[] = {
-       {PK_FILTER_ENUM_NOT_NEWEST,             "~newest"},
-       {PK_FILTER_ENUM_ARCH,                   "arch"},
-       {PK_FILTER_ENUM_NOT_ARCH,               "~arch"},
-+      {PK_FILTER_ENUM_SOURCE,                 "source"},
-+      {PK_FILTER_ENUM_NOT_SOURCE,             "~source"},
-       {0, NULL}
- };
-diff --git a/libpackagekit/pk-enum.h b/libpackagekit/pk-enum.h
-index 33e8a91..e616b64 100644
---- a/libpackagekit/pk-enum.h
-+++ b/libpackagekit/pk-enum.h
-@@ -182,7 +182,9 @@ typedef enum {
-       PK_FILTER_ENUM_NOT_NEWEST               = 1 << 15,
-       PK_FILTER_ENUM_ARCH                     = 1 << 16,
-       PK_FILTER_ENUM_NOT_ARCH                 = 1 << 17,
--      PK_FILTER_ENUM_UNKNOWN                  = 1 << 18
-+      PK_FILTER_ENUM_SOURCE                   = 1 << 18,
-+      PK_FILTER_ENUM_NOT_SOURCE               = 1 << 19,
-+      PK_FILTER_ENUM_UNKNOWN                  = 1 << 20
- } PkFilterEnum;
- /**
-diff --git a/libpackagekit/pk-package-item.c b/libpackagekit/pk-package-item.c
-new file mode 100644
-index 0000000..87905dc
---- /dev/null
-+++ b/libpackagekit/pk-package-item.c
-@@ -0,0 +1,190 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
-+ *
-+ * Copyright (C) 2007-2008 Richard Hughes <richard@hughsie.com>
-+ *
-+ * Licensed under the GNU General Public License Version 2
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ */
-+
-+/**
-+ * SECTION:pk-package-item
-+ * @short_description: A cached Package structure
-+ *
-+ * These provide a way to query and store a single package.
-+ */
-+
-+#include "config.h"
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <time.h>
-+#include <errno.h>
-+
-+#include <string.h>
-+#include <sys/time.h>
-+#include <sys/types.h>
-+#ifdef HAVE_UNISTD_H
-+#include <unistd.h>
-+#endif /* HAVE_UNISTD_H */
-+
-+#include <glib/gi18n.h>
-+
-+#include "pk-debug.h"
-+#include "pk-common.h"
-+#include "pk-package-item.h"
-+
-+/**
-+ * pk_package_item_new:
-+ **/
-+PkPackageItem *
-+pk_package_item_new (PkInfoEnum info, const gchar *package_id, const gchar *summary)
-+{
-+      PkPackageItem *item;
-+
-+      g_return_val_if_fail (package_id != NULL, FALSE);
-+
-+      pk_debug ("adding to cache item package %s, %s, %s", pk_info_enum_to_text (info), package_id, summary);
-+      item = g_new0 (PkPackageItem, 1);
-+      item->info = info;
-+      item->package_id = g_strdup (package_id);
-+      item->summary = g_strdup (summary);
-+      return item;
-+}
-+
-+/**
-+ * pk_package_item_free:
-+ **/
-+gboolean
-+pk_package_item_free (PkPackageItem *item)
-+{
-+      if (item == NULL) {
-+              return FALSE;
-+      }
-+      g_free (item->package_id);
-+      g_free (item->summary);
-+      g_free (item);
-+      return TRUE;
-+}
-+
-+/**
-+ * pk_package_item_equal:
-+ *
-+ * Only compares the package_id's and the info enum
-+ **/
-+gboolean
-+pk_package_item_equal (PkPackageItem *item1, PkPackageItem *item2)
-+{
-+      if (item1 == NULL || item2 == NULL) {
-+              return FALSE;
-+      }
-+      return (item1->info == item2->info &&
-+              pk_strequal (item1->package_id, item2->package_id));
-+}
-+
-+/**
-+ * pk_package_item_copy:
-+ *
-+ * Copy a PkPackageItem
-+ **/
-+PkPackageItem *
-+pk_package_item_copy (PkPackageItem *item)
-+{
-+      g_return_val_if_fail (item != NULL, NULL);
-+      return pk_package_item_new (item->info, item->package_id, item->summary);
-+}
-+
-+/***************************************************************************
-+ ***                          MAKE CHECK TESTS                           ***
-+ ***************************************************************************/
-+#ifdef PK_BUILD_TESTS
-+#include <libselftest.h>
-+
-+void
-+libst_package_item (LibSelfTest *test)
-+{
-+      PkPackageItem *item1;
-+      PkPackageItem *item2;
-+      PkPackageItem *item3;
-+      gboolean ret;
-+
-+      if (libst_start (test, "PkPackageItem", CLASS_AUTO) == FALSE) {
-+              return;
-+      }
-+
-+      /************************************************************/
-+      libst_title (test, "add entry");
-+      item1 = pk_package_item_new (PK_INFO_ENUM_INSTALLED, "gnome;1.23;i386;data", "GNOME!");
-+      if (item1 != NULL) {
-+              libst_success (test, NULL);
-+      } else {
-+              libst_failed (test, NULL);
-+      }
-+
-+      /************************************************************/
-+      libst_title (test, "add entry");
-+      item2 = pk_package_item_new (PK_INFO_ENUM_INSTALLED, "gnome;1.23;i386;data", "GNOME foo!");
-+      if (item2 != NULL) {
-+              libst_success (test, NULL);
-+      } else {
-+              libst_failed (test, NULL);
-+      }
-+
-+      /************************************************************/
-+      libst_title (test, "copy entry");
-+      item3 = pk_package_item_copy (item2);
-+      if (item3 != NULL) {
-+              libst_success (test, NULL);
-+      } else {
-+              libst_failed (test, NULL);
-+      }
-+
-+      /************************************************************/
-+      libst_title (test, "check equal");
-+      ret = pk_package_item_equal (item1, item3);
-+      if (ret) {
-+              libst_success (test, NULL);
-+      } else {
-+              libst_failed (test, NULL);
-+      }
-+
-+      pk_package_item_free (item2);
-+      pk_package_item_free (item3);
-+
-+      /************************************************************/
-+      libst_title (test, "add entry");
-+      item2 = pk_package_item_new (PK_INFO_ENUM_INSTALLED, "gnome-do;1.23;i386;data", "GNOME doo!");
-+      if (item2 != NULL) {
-+              libst_success (test, NULL);
-+      } else {
-+              libst_failed (test, NULL);
-+      }
-+
-+      /************************************************************/
-+      libst_title (test, "check !equal");
-+      ret = pk_package_item_equal (item1, item2);
-+      if (!ret) {
-+              libst_success (test, NULL);
-+      } else {
-+              libst_failed (test, NULL);
-+      }
-+
-+      pk_package_item_free (item1);
-+      pk_package_item_free (item2);
-+
-+      libst_end (test);
-+}
-+#endif
-+
-diff --git a/libpackagekit/pk-package-item.h b/libpackagekit/pk-package-item.h
-new file mode 100644
-index 0000000..c41a6ea
---- /dev/null
-+++ b/libpackagekit/pk-package-item.h
-@@ -0,0 +1,48 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
-+ *
-+ * Copyright (C) 2008 Richard Hughes <richard@hughsie.com>
-+ *
-+ * Licensed under the GNU General Public License Version 2
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ */
-+
-+#ifndef __PK_PACKAGE_ITEM_H
-+#define __PK_PACKAGE_ITEM_H
-+
-+#include <glib-object.h>
-+#include <pk-enum.h>
-+
-+/**
-+ * PkPackageItem:
-+ *
-+ * A cached store for the complete Package object
-+ */
-+typedef struct {
-+      PkInfoEnum               info;
-+      gchar                   *package_id;
-+      gchar                   *summary;
-+} PkPackageItem;
-+
-+PkPackageItem *pk_package_item_new                    (PkInfoEnum              info,
-+                                                       const gchar            *package_id,
-+                                                       const gchar            *summary);
-+gboolean       pk_package_item_free                   (PkPackageItem          *item);
-+PkPackageItem *pk_package_item_copy                   (PkPackageItem          *item);
-+gboolean       pk_package_item_equal                  (PkPackageItem          *item1,
-+                                                       PkPackageItem          *item2);
-+
-+#endif /* __PK_PACKAGE_ITEM_H */
-+
-diff --git a/libpackagekit/pk-package-list.c b/libpackagekit/pk-package-list.c
-index b0a1a71..5d95e1b 100644
---- a/libpackagekit/pk-package-list.c
-+++ b/libpackagekit/pk-package-list.c
-@@ -45,6 +45,7 @@
- #include "pk-debug.h"
- #include "pk-common.h"
- #include "pk-package-id.h"
-+#include "pk-package-item.h"
- #include "pk-package-list.h"
- static void     pk_package_list_class_init    (PkPackageListClass *klass);
-@@ -77,16 +78,42 @@ pk_package_list_add (PkPackageList *plist, PkInfoEnum info, const gchar *package
-       g_return_val_if_fail (package_id != NULL, FALSE);
-       pk_debug ("adding to cache array package %s, %s, %s", pk_info_enum_to_text (info), package_id, summary);
--      item = g_new0 (PkPackageItem, 1);
--      item->info = info;
--      item->package_id = g_strdup (package_id);
--      item->summary = g_strdup (summary);
-+      item = pk_package_item_new (info, package_id, summary);
-       g_ptr_array_add (plist->priv->array, item);
-       return TRUE;
- }
- /**
-+ * pk_package_list_add_item:
-+ *
-+ * Makes a deep copy, and adds to the array
-+ **/
-+gboolean
-+pk_package_list_add_item (PkPackageList *plist, PkPackageItem *item)
-+{
-+      gboolean ret;
-+      PkPackageItem *item_new;
-+
-+      g_return_val_if_fail (PK_IS_PACKAGE_LIST (plist), FALSE);
-+      g_return_val_if_fail (item != NULL, FALSE);
-+
-+      ret = pk_package_list_contains_item (plist, item);
-+      if (ret) {
-+              pk_debug ("already added item");
-+              return FALSE;
-+      }
-+
-+      pk_debug ("adding to cache array package %s, %s, %s",
-+                pk_info_enum_to_text (item->info), item->package_id, item->summary);
-+
-+      item_new = pk_package_item_copy (item);
-+      g_ptr_array_add (plist->priv->array, item_new);
-+
-+      return TRUE;
-+}
-+
-+/**
-  * pk_package_list_get_string:
-  **/
- gchar *
-@@ -152,9 +179,7 @@ pk_package_list_clear (PkPackageList *plist)
-       while (plist->priv->array->len > 0) {
-               item = g_ptr_array_index (plist->priv->array, 0);
--              g_free (item->package_id);
--              g_free (item->summary);
--              g_free (item);
-+              pk_package_item_free (item);
-               g_ptr_array_remove_index_fast (plist->priv->array, 0);
-       }
-       return TRUE;
-@@ -186,6 +211,31 @@ pk_package_list_contains (PkPackageList *plist, const gchar *package_id)
- }
- /**
-+ * pk_package_list_contains_item:
-+ **/
-+gboolean
-+pk_package_list_contains_item (PkPackageList *plist, PkPackageItem *item)
-+{
-+      PkPackageItem *item_temp;
-+      guint i;
-+      guint length;
-+      gboolean ret = FALSE;
-+
-+      g_return_val_if_fail (PK_IS_PACKAGE_LIST (plist), FALSE);
-+      g_return_val_if_fail (item != NULL, FALSE);
-+
-+      length = plist->priv->array->len;
-+      for (i=0; i<length; i++) {
-+              item_temp = g_ptr_array_index (plist->priv->array, i);
-+              ret = pk_package_item_equal (item_temp, item);
-+              if (ret) {
-+                      break;
-+              }
-+      }
-+      return ret;
-+}
-+
-+/**
-  * pk_package_list_class_init:
-  * @klass: The PkPackageListClass
-  **/
-diff --git a/libpackagekit/pk-package-list.h b/libpackagekit/pk-package-list.h
-index 9178f77..9734af4 100644
---- a/libpackagekit/pk-package-list.h
-+++ b/libpackagekit/pk-package-list.h
-@@ -25,6 +25,8 @@
- #include <glib-object.h>
- #include <pk-enum.h>
-+#include "pk-package-item.h"
-+
- G_BEGIN_DECLS
- #define PK_TYPE_PACKAGE_LIST          (pk_package_list_get_type ())
-@@ -49,26 +51,18 @@ struct _PkPackageListClass
-       GObjectClass    parent_class;
- };
--/**
-- * PkPackageItem:
-- *
-- * A cached store for the complete Package object
-- */
--typedef struct
--{
--      PkInfoEnum               info;
--      gchar                   *package_id;
--      gchar                   *summary;
--} PkPackageItem;
--
- GType          pk_package_list_get_type               (void) G_GNUC_CONST;
- PkPackageList *pk_package_list_new                    (void);
- gboolean       pk_package_list_add                    (PkPackageList          *plist,
-                                                        PkInfoEnum              info,
-                                                        const gchar            *package_id,
-                                                        const gchar            *summary);
-+gboolean       pk_package_list_add_item               (PkPackageList          *plist,
-+                                                       PkPackageItem          *item);
- gboolean       pk_package_list_contains               (PkPackageList          *plist,
-                                                        const gchar            *package_id);
-+gboolean       pk_package_list_contains_item          (PkPackageList          *plist,
-+                                                       PkPackageItem          *item);
- gchar         *pk_package_list_get_string             (PkPackageList          *plist)
-                                                        G_GNUC_WARN_UNUSED_RESULT;
- guint          pk_package_list_get_size               (PkPackageList          *plist);
-diff --git a/libpackagekit/pk-self-test.c b/libpackagekit/pk-self-test.c
-index 62e225b..bf151fb 100644
---- a/libpackagekit/pk-self-test.c
-+++ b/libpackagekit/pk-self-test.c
-@@ -29,6 +29,7 @@
- /* prototypes */
- void libst_package_id (LibSelfTest *test);
- void libst_package_ids (LibSelfTest *test);
-+void libst_package_item (LibSelfTest *test);
- void libst_package_list (LibSelfTest *test);
- void libst_enum (LibSelfTest *test);
- void libst_common (LibSelfTest *test);
-@@ -51,6 +52,7 @@ main (int argc, char **argv)
-       libst_common (&test);
-       libst_package_id (&test);
-       libst_package_ids (&test);
-+      libst_package_item (&test);
-       libst_package_list (&test);
-       libst_enum (&test);
-       libst_extra (&test);
-diff --git a/python/packagekit/daemonBackend.py b/python/packagekit/daemonBackend.py
-index 3711f01..5253b39 100644
---- a/python/packagekit/daemonBackend.py
-+++ b/python/packagekit/daemonBackend.py
-@@ -789,6 +789,21 @@ class PackageKitBaseBackend(dbus.service.Object):
-         self.Finished(EXIT_FAILED)
-     @dbus.service.method(PACKAGEKIT_DBUS_INTERFACE,
-+                         in_signature='ss', out_signature='')
-+    def SetProxy(self, proxy_http, proxy_ftp):
-+        '''
-+        Set the proxy
-+        '''
-+        pklog.info("SetProxy(%s, %s)" % (proxy_http, proxy_ftp))
-+        self.doSetProxy(proxy_http, proxy_ftp)
-+
-+    def doSetProxy(self, proxy_http, proxy_ftp):
-+        '''
-+        Should be replaced in the corresponding backend sub class
-+        '''
-+        # do not use Finished() in this method
-+
-+    @dbus.service.method(PACKAGEKIT_DBUS_INTERFACE,
-                          in_signature='s', out_signature='')
-     def InstallPublicKey(self, keyurl):
-         '''
-diff --git a/src/pk-backend-dbus.c b/src/pk-backend-dbus.c
-index b06e584..4c6837a 100644
---- a/src/pk-backend-dbus.c
-+++ b/src/pk-backend-dbus.c
-@@ -123,16 +123,6 @@ pk_backend_dbus_sub_percentage_changed_cb (DBusGProxy *proxy, guint sub_percenta
- }
- /**
-- * pk_backend_dbus_no_percentage_updates_cb:
-- **/
--static void
--pk_backend_dbus_no_percentage_updates_cb (DBusGProxy *proxy, PkBackendDbus *backend_dbus)
--{
--      pk_debug ("got signal");
--      pk_backend_no_percentage_updates (backend_dbus->priv->backend);
--}
--
--/**
-  * pk_backend_dbus_package_cb:
-  **/
- static void
-@@ -325,8 +315,6 @@ pk_backend_dbus_remove_callbacks (PkBackendDbus *backend_dbus)
-                                       G_CALLBACK (pk_backend_dbus_percentage_changed_cb), backend_dbus);
-       dbus_g_proxy_disconnect_signal (proxy, "SubPercentageChanged",
-                                       G_CALLBACK (pk_backend_dbus_sub_percentage_changed_cb), backend_dbus);
--      dbus_g_proxy_disconnect_signal (proxy, "NoPercentageChanged",
--                                      G_CALLBACK (pk_backend_dbus_no_percentage_updates_cb), backend_dbus);
-       dbus_g_proxy_disconnect_signal (proxy, "Package",
-                                       G_CALLBACK (pk_backend_dbus_package_cb), backend_dbus);
-       dbus_g_proxy_disconnect_signal (proxy, "Details",
-@@ -353,6 +341,31 @@ pk_backend_dbus_remove_callbacks (PkBackendDbus *backend_dbus)
- }
- /**
-+ * pk_backend_dbus_set_proxy:
-+ **/
-+static gboolean
-+pk_backend_dbus_set_proxy (PkBackendDbus *backend_dbus, const gchar *proxy_http, const gchar *proxy_ftp)
-+{
-+      gboolean ret;
-+      GError *error = NULL;
-+
-+      g_return_val_if_fail (PK_IS_BACKEND_DBUS (backend_dbus), FALSE);
-+      g_return_val_if_fail (backend_dbus->priv->proxy != NULL, FALSE);
-+
-+      /* new sync method call */
-+      pk_backend_dbus_time_reset (backend_dbus);
-+      ret = dbus_g_proxy_call (backend_dbus->priv->proxy, "SetProxy", &error,
-+                               G_TYPE_STRING, proxy_http,
-+                               G_TYPE_STRING, proxy_ftp,
-+                               G_TYPE_INVALID, G_TYPE_INVALID);
-+      if (error != NULL) {
-+              pk_warning ("%s", error->message);
-+              g_error_free (error);
-+      }
-+      return ret;
-+}
-+
-+/**
-  * pk_backend_dbus_set_name:
-  **/
- gboolean
-@@ -385,7 +398,6 @@ pk_backend_dbus_set_name (PkBackendDbus *backend_dbus, const gchar *service)
-                                G_TYPE_UINT, G_TYPE_INVALID);
-       dbus_g_proxy_add_signal (proxy, "SubPercentageChanged",
-                                G_TYPE_UINT, G_TYPE_INVALID);
--      dbus_g_proxy_add_signal (proxy, "NoPercentageChanged", G_TYPE_INVALID);
-       dbus_g_proxy_add_signal (proxy, "Package",
-                                G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
-       dbus_g_proxy_add_signal (proxy, "Details",
-@@ -424,8 +436,6 @@ pk_backend_dbus_set_name (PkBackendDbus *backend_dbus, const gchar *service)
-                                    G_CALLBACK (pk_backend_dbus_percentage_changed_cb), backend_dbus, NULL);
-       dbus_g_proxy_connect_signal (proxy, "SubPercentageChanged",
-                                    G_CALLBACK (pk_backend_dbus_sub_percentage_changed_cb), backend_dbus, NULL);
--      dbus_g_proxy_connect_signal (proxy, "NoPercentageChanged",
--                                   G_CALLBACK (pk_backend_dbus_no_percentage_updates_cb), backend_dbus, NULL);
-       dbus_g_proxy_connect_signal (proxy, "Package",
-                                    G_CALLBACK (pk_backend_dbus_package_cb), backend_dbus, NULL);
-       dbus_g_proxy_connect_signal (proxy, "Details",
-@@ -465,6 +475,18 @@ pk_backend_dbus_set_name (PkBackendDbus *backend_dbus, const gchar *service)
-               pk_backend_finished (backend_dbus->priv->backend);
-               g_error_free (error);
-       }
-+
-+      /* set the proxy */
-+      if (ret) {
-+              gchar *proxy_http;
-+              gchar *proxy_ftp;
-+              proxy_http = pk_backend_get_proxy_http (backend_dbus->priv->backend);
-+              proxy_ftp = pk_backend_get_proxy_http (backend_dbus->priv->backend);
-+              pk_backend_dbus_set_proxy (backend_dbus, proxy_http, proxy_ftp);
-+              g_free (proxy_http);
-+              g_free (proxy_ftp);
-+      }
-+
-       if (ret) {
-               pk_backend_dbus_time_check (backend_dbus);
-       }
-diff --git a/src/pk-backend-internal.h b/src/pk-backend-internal.h
-index 2213fed..2bffaff 100644
---- a/src/pk-backend-internal.h
-+++ b/src/pk-backend-internal.h
-@@ -59,6 +59,9 @@ gboolean      pk_backend_reset                       (PkBackend      *backend);
- gboolean       pk_backend_set_name                    (PkBackend      *backend,
-                                                        const gchar    *name)
-                                                        G_GNUC_WARN_UNUSED_RESULT;
-+gboolean       pk_backend_set_proxy                   (PkBackend      *backend,
-+                                                       const gchar    *proxy_http,
-+                                                       const gchar    *proxy_ftp);
- gchar         *pk_backend_get_name                    (PkBackend      *backend)
-                                                        G_GNUC_WARN_UNUSED_RESULT;
- gboolean       pk_backend_get_backend_detail          (PkBackend      *backend,
-diff --git a/src/pk-backend-spawn.c b/src/pk-backend-spawn.c
-index f9e8b68..f9c9f12 100644
---- a/src/pk-backend-spawn.c
-+++ b/src/pk-backend-spawn.c
-@@ -313,7 +313,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
-                       ret = FALSE;
-                       goto out;
-               }
--              pk_backend_no_percentage_updates (backend_spawn->priv->backend);
-+              pk_backend_set_percentage (backend_spawn->priv->backend, PK_BACKEND_PERCENTAGE_INVALID);
-       } else if (pk_strequal (command, "repo-signature-required")) {
-               if (size != 9+99) {
-@@ -440,6 +440,44 @@ pk_backend_spawn_helper_new (PkBackendSpawn *backend_spawn)
- }
- /**
-+ * pk_backend_spawn_get_envp:
-+ *
-+ * Return all the environment variables the script will need
-+ **/
-+static gchar **
-+pk_backend_spawn_get_envp (PkBackendSpawn *backend_spawn)
-+{
-+      gchar **envp;
-+      gchar *value;
-+      gchar *line;
-+      GPtrArray *array;
-+
-+      array = g_ptr_array_new ();
-+
-+      /* http_proxy */
-+      value = pk_backend_get_proxy_http (backend_spawn->priv->backend);
-+      if (!pk_strzero (value)) {
-+              line = g_strdup_printf ("%s=%s", "http_proxy", value);
-+              pk_debug ("setting evp '%s'", line);
-+              g_ptr_array_add (array, line);
-+      }
-+      g_free (value);
-+
-+      /* ftp_proxy */
-+      value = pk_backend_get_proxy_ftp (backend_spawn->priv->backend);
-+      if (!pk_strzero (value)) {
-+              line = g_strdup_printf ("%s=%s", "ftp_proxy", value);
-+              pk_debug ("setting evp '%s'", line);
-+              g_ptr_array_add (array, line);
-+      }
-+      g_free (value);
-+
-+      envp = pk_ptr_array_to_argv (array);
-+      g_ptr_array_free (array, TRUE);
-+      return envp;
-+}
-+
-+/**
-  * pk_backend_spawn_helper_va_list:
-  **/
- static gboolean
-@@ -448,6 +486,7 @@ pk_backend_spawn_helper_va_list (PkBackendSpawn *backend_spawn, const gchar *exe
-       gboolean ret;
-       gchar *filename;
-       gchar **argv;
-+      gchar **envp;
-       g_return_val_if_fail (PK_IS_BACKEND_SPAWN (backend_spawn), FALSE);
-@@ -476,7 +515,8 @@ pk_backend_spawn_helper_va_list (PkBackendSpawn *backend_spawn, const gchar *exe
-       argv[0] = g_strdup (filename);
-       pk_backend_spawn_helper_new (backend_spawn);
--      ret = pk_spawn_argv (backend_spawn->priv->spawn, argv);
-+      envp = pk_backend_spawn_get_envp (backend_spawn);
-+      ret = pk_spawn_argv (backend_spawn->priv->spawn, argv, envp);
-       if (!ret) {
-               pk_backend_spawn_helper_delete (backend_spawn);
-               pk_backend_error_code (backend_spawn->priv->backend, PK_ERROR_ENUM_INTERNAL_ERROR,
-diff --git a/src/pk-backend.c b/src/pk-backend.c
-index 225c488..37ed024 100644
---- a/src/pk-backend.c
-+++ b/src/pk-backend.c
-@@ -33,6 +33,7 @@
- #include <glib/gprintf.h>
- #include <pk-network.h>
-+#include "pk-package-item.h"
- #include "pk-debug.h"
- #include "pk-common.h"
- #include "pk-marshal.h"
-@@ -44,13 +45,6 @@
- #define PK_BACKEND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PK_TYPE_BACKEND, PkBackendPrivate))
- /**
-- * PK_BACKEND_PERCENTAGE_INVALID:
-- *
-- * The unknown percentage value
-- */
--#define PK_BACKEND_PERCENTAGE_INVALID         101
--
--/**
-  * PK_BACKEND_PERCENTAGE_DEFAULT:
-  *
-  * The default percentage value, should never be emitted, but should be
-@@ -84,12 +78,15 @@ struct _PkBackendPrivate
-       GHashTable              *eulas;
-       gchar                   *name;
-       gchar                   *c_tid;
-+      gchar                   *proxy_http;
-+      gchar                   *proxy_ftp;
-       gboolean                 locked;
-       gboolean                 set_error;
-       gboolean                 set_signature;
-       gboolean                 set_eula;
-       gboolean                 has_sent_package;
-       PkNetwork               *network;
-+      PkPackageItem           *last_package;
-       PkRoleEnum               role; /* this never changes for the lifetime of a transaction */
-       PkStatusEnum             status; /* this changes */
-       PkExitEnum               exit;
-@@ -592,6 +589,44 @@ out:
- }
- /**
-+ * pk_backend_set_proxy:
-+ **/
-+gboolean
-+pk_backend_set_proxy (PkBackend       *backend, const gchar *proxy_http, const gchar *proxy_ftp)
-+{
-+      g_return_val_if_fail (PK_IS_BACKEND (backend), FALSE);
-+      g_free (backend->priv->proxy_http);
-+      g_free (backend->priv->proxy_ftp);
-+      backend->priv->proxy_http = g_strdup (proxy_http);
-+      backend->priv->proxy_ftp = g_strdup (proxy_ftp);
-+      return TRUE;
-+}
-+
-+/**
-+ * pk_backend_get_proxy_http:
-+ *
-+ * Return value: proxy string in the form username:password@server:port
-+ **/
-+gchar *
-+pk_backend_get_proxy_http (PkBackend *backend)
-+{
-+      g_return_val_if_fail (PK_IS_BACKEND (backend), NULL);
-+      return g_strdup (backend->priv->proxy_http);
-+}
-+
-+/**
-+ * pk_backend_get_proxy_ftp:
-+ *
-+ * Return value: proxy string in the form username:password@server:port
-+ **/
-+gchar *
-+pk_backend_get_proxy_ftp (PkBackend *backend)
-+{
-+      g_return_val_if_fail (PK_IS_BACKEND (backend), NULL);
-+      return g_strdup (backend->priv->proxy_ftp);
-+}
-+
-+/**
-  * pk_backend_lock:
-  *
-  * Responsible for initialising the external backend object.
-@@ -803,35 +838,6 @@ pk_backend_set_sub_percentage (PkBackend *backend, guint percentage)
- }
- /**
-- * pk_backend_no_percentage_updates:
-- **/
--gboolean
--pk_backend_no_percentage_updates (PkBackend *backend)
--{
--      g_return_val_if_fail (PK_IS_BACKEND (backend), FALSE);
--      g_return_val_if_fail (backend->priv->locked != FALSE, FALSE);
--
--      /* have we already set an error? */
--      if (backend->priv->set_error) {
--              pk_warning ("already set error, cannot process");
--              return FALSE;
--      }
--
--      /* set the same twice? */
--      if (backend->priv->last_percentage == PK_BACKEND_PERCENTAGE_INVALID) {
--              pk_debug ("duplicate set of %i", PK_BACKEND_PERCENTAGE_INVALID);
--              return FALSE;
--      }
--
--      /* invalidate previous percentage */
--      backend->priv->last_percentage = PK_BACKEND_PERCENTAGE_INVALID;
--
--      /* emit the progress changed signal */
--      pk_backend_emit_progress_changed (backend);
--      return TRUE;
--}
--
--/**
-  * pk_backend_set_status:
-  **/
- gboolean
-@@ -901,11 +907,26 @@ gboolean
- pk_backend_package (PkBackend *backend, PkInfoEnum info, const gchar *package_id, const gchar *summary)
- {
-       gchar *summary_safe;
-+      PkPackageItem *item;
-+      gboolean ret;
-       g_return_val_if_fail (PK_IS_BACKEND (backend), FALSE);
-       g_return_val_if_fail (package_id != NULL, FALSE);
-       g_return_val_if_fail (backend->priv->locked != FALSE, FALSE);
-+      /* check against the old one */
-+      item = pk_package_item_new (info, package_id, summary);
-+      ret = pk_package_item_equal (item, backend->priv->last_package);
-+      if (ret) {
-+              pk_package_item_free (item);
-+              pk_debug ("skipping duplicate %s", package_id);
-+              return FALSE;
-+      }
-+      /* update the 'last' package */
-+      pk_package_item_free (backend->priv->last_package);
-+      backend->priv->last_package = pk_package_item_copy (item);
-+      pk_package_item_free (item);
-+
-       /* have we already set an error? */
-       if (backend->priv->set_error) {
-               pk_warning ("already set error, cannot process");
-@@ -1689,6 +1710,8 @@ pk_backend_finalize (GObject *object)
-       pk_debug ("backend finalise");
-       pk_backend_reset (backend);
-+      g_free (backend->priv->proxy_http);
-+      g_free (backend->priv->proxy_ftp);
-       g_free (backend->priv->name);
-       g_free (backend->priv->c_tid);
-       g_object_unref (backend->priv->time);
-@@ -1818,6 +1841,7 @@ pk_backend_reset (PkBackend *backend)
-       /* TODO: need to wait for Finished() if running */
-+      pk_package_item_free (backend->priv->last_package);
-       backend->priv->set_error = FALSE;
-       backend->priv->set_signature = FALSE;
-       backend->priv->set_eula = FALSE;
-@@ -1825,6 +1849,7 @@ pk_backend_reset (PkBackend *backend)
-       backend->priv->finished = FALSE;
-       backend->priv->has_sent_package = FALSE;
-       backend->priv->thread = NULL;
-+      backend->priv->last_package = NULL;
-       backend->priv->status = PK_STATUS_ENUM_UNKNOWN;
-       backend->priv->exit = PK_EXIT_ENUM_UNKNOWN;
-       backend->priv->role = PK_ROLE_ENUM_UNKNOWN;
-@@ -1855,8 +1880,11 @@ pk_backend_init (PkBackend *backend)
-       backend->priv->handle = NULL;
-       backend->priv->name = NULL;
-       backend->priv->c_tid = NULL;
-+      backend->priv->proxy_http = NULL;
-+      backend->priv->proxy_ftp = NULL;
-       backend->priv->file_changed_func = NULL;
-       backend->priv->file_changed_data = NULL;
-+      backend->priv->last_package = NULL;
-       backend->priv->locked = FALSE;
-       backend->priv->signal_finished = 0;
-       backend->priv->signal_error_timeout = 0;
-diff --git a/src/pk-backend.h b/src/pk-backend.h
-index 95b7fa8..fb17e3c 100644
---- a/src/pk-backend.h
-+++ b/src/pk-backend.h
-@@ -30,6 +30,13 @@
- G_BEGIN_DECLS
-+/**
-+ * PK_BACKEND_PERCENTAGE_INVALID:
-+ *
-+ * The unknown percentage value
-+ */
-+#define PK_BACKEND_PERCENTAGE_INVALID         101
-+
- typedef struct _PkBackend PkBackend;
- /* set the state */
-@@ -51,7 +58,6 @@ gboolean      pk_backend_set_sub_percentage          (PkBackend      *backend,
-                                                        guint           percentage);
- gboolean       pk_backend_set_exit_code               (PkBackend      *backend,
-                                                        PkExitEnum      exit);
--gboolean       pk_backend_no_percentage_updates       (PkBackend      *backend);
- gboolean       pk_backend_set_transaction_data        (PkBackend      *backend,
-                                                        const gchar    *data);
-@@ -66,6 +72,8 @@ gboolean      pk_backend_get_progress                (PkBackend      *backend,
-                                                        guint          *elapsed,
-                                                        guint          *remaining);
- guint          pk_backend_get_runtime                 (PkBackend      *backend);
-+gchar         *pk_backend_get_proxy_ftp               (PkBackend      *backend);
-+gchar         *pk_backend_get_proxy_http              (PkBackend      *backend);
- /* signal helpers */
- gboolean       pk_backend_finished                    (PkBackend      *backend);
-diff --git a/src/pk-engine.c b/src/pk-engine.c
-index db81d36..028a0d0 100644
---- a/src/pk-engine.c
-+++ b/src/pk-engine.c
-@@ -101,6 +101,7 @@ struct PkEnginePrivate
-       PkNetwork               *network;
-       PkSecurity              *security;
-       PkNotify                *notify;
-+      PkConf                  *conf;
-       PkFileMonitor           *file_monitor;
-       PkRoleEnum               actions;
-       PkGroupEnum              groups;
-@@ -579,10 +580,15 @@ pk_engine_init (PkEngine *engine)
-       DBusGConnection *connection;
-       gboolean ret;
-       gchar *filename;
-+      gchar *proxy_http;
-+      gchar *proxy_ftp;
-       engine->priv = PK_ENGINE_GET_PRIVATE (engine);
-       engine->priv->restart_schedule = FALSE;
-+      /* use the config file */
-+      engine->priv->conf = pk_conf_new ();
-+
-       /* setup the backend backend */
-       engine->priv->backend = pk_backend_new ();
-       g_signal_connect (engine->priv->backend, "finished",
-@@ -639,6 +645,13 @@ pk_engine_init (PkEngine *engine)
-                         G_CALLBACK (pk_engine_file_monitor_changed_cb), engine);
-       g_free (filename);
-+      /* set the proxy */
-+      proxy_http = pk_conf_get_string (engine->priv->conf, "ProxyHTTP");
-+      proxy_ftp = pk_conf_get_string (engine->priv->conf, "ProxyFTP");
-+      pk_backend_set_proxy (engine->priv->backend, proxy_http, proxy_ftp);
-+      g_free (proxy_http);
-+      g_free (proxy_ftp);
-+
-       engine->priv->transaction_list = pk_transaction_list_new ();
-       g_signal_connect (engine->priv->transaction_list, "changed",
-                         G_CALLBACK (pk_engine_transaction_list_changed_cb), engine);
-@@ -696,6 +709,7 @@ pk_engine_finalize (GObject *object)
-       g_object_unref (engine->priv->notify);
-       g_object_unref (engine->priv->backend);
-       g_object_unref (engine->priv->cache);
-+      g_object_unref (engine->priv->conf);
-       G_OBJECT_CLASS (pk_engine_parent_class)->finalize (object);
- }
-diff --git a/src/pk-network-unix.c b/src/pk-network-unix.c
-index 11c23a2..74b266c 100644
---- a/src/pk-network-unix.c
-+++ b/src/pk-network-unix.c
-@@ -138,6 +138,11 @@ pk_network_unix_get_network_state (PkNetworkUnix *network_unix)
-                       continue;
-               }
-+              /* is loopback? */
-+              if (pk_strequal (sections[0], "lo")) {
-+                      continue;
-+              }
-+
-               /* is correct parameters? */
-               number_sections = g_strv_length (sections);
-               if (number_sections != 11) {
-@@ -145,9 +150,8 @@ pk_network_unix_get_network_state (PkNetworkUnix *network_unix)
-                       continue;
-               }
--              /* is MTU and gateway nonzero? */
--              if (!pk_strequal (sections[8], "0") &&
--                  !pk_strequal (sections[2], "00000000")) {
-+              /* is gateway nonzero? */
-+              if (!pk_strequal (sections[2], "00000000")) {
-                       pk_debug ("interface %s is valid", sections[0]);
-                       online = TRUE;
-               }
-diff --git a/src/pk-network.c b/src/pk-network.c
-index 9656958..0ad839e 100644
---- a/src/pk-network.c
-+++ b/src/pk-network.c
-@@ -39,6 +39,7 @@
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
- #endif /* HAVE_UNISTD_H */
-+#include <libgbus.h>
- #include <glib/gi18n.h>
-@@ -67,6 +68,7 @@ struct _PkNetworkPrivate
-       PkNetworkNm             *net_nm;
-       PkNetworkUnix           *net_unix;
-       PkConf                  *conf;
-+      LibGBus                 *nm_bus;
- };
- enum {
-@@ -154,6 +156,7 @@ pk_network_class_init (PkNetworkClass *klass)
- static void
- pk_network_init (PkNetwork *network)
- {
-+      gboolean nm_alive;
-       network->priv = PK_NETWORK_GET_PRIVATE (network);
-       network->priv->conf = pk_conf_new ();
-       network->priv->net_nm = pk_network_nm_new ();
-@@ -167,6 +170,17 @@ pk_network_init (PkNetwork *network)
-       network->priv->use_nm = pk_conf_get_bool (network->priv->conf, "UseNetworkManager");
-       network->priv->use_unix = pk_conf_get_bool (network->priv->conf, "UseNetworkHeuristic");
-+      /* check if NM is on the bus */
-+      network->priv->nm_bus = libgbus_new ();
-+      libgbus_assign (network->priv->nm_bus, LIBGBUS_SYSTEM, "org.freedesktop.NetworkManager");
-+      nm_alive = libgbus_is_connected (network->priv->nm_bus);
-+
-+      /* NetworkManager isn't up, so we can't use it */
-+      if (network->priv->use_nm && !nm_alive) {
-+              pk_warning ("UseNetworkManager true, but org.freedesktop.NetworkManager not up");
-+              network->priv->use_nm = FALSE;
-+      }
-+
- #if !PK_BUILD_NETWORKMANAGER
-       /* check we can actually use the default */
-       if (network->priv->use_nm) {
-@@ -190,6 +204,7 @@ pk_network_finalize (GObject *object)
-       g_return_if_fail (network->priv != NULL);
-       g_object_unref (network->priv->conf);
-+      g_object_unref (network->priv->nm_bus);
-       g_object_unref (network->priv->net_nm);
-       g_object_unref (network->priv->net_unix);
-       G_OBJECT_CLASS (pk_network_parent_class)->finalize (object);
-diff --git a/src/pk-spawn.c b/src/pk-spawn.c
-index 9b415b1..c4622f9 100644
---- a/src/pk-spawn.c
-+++ b/src/pk-spawn.c
-@@ -273,7 +273,7 @@ pk_spawn_kill (PkSpawn *spawn)
-  *
-  **/
- gboolean
--pk_spawn_argv (PkSpawn *spawn, gchar **argv)
-+pk_spawn_argv (PkSpawn *spawn, gchar **argv, gchar **envp)
- {
-       gboolean ret;
-@@ -284,7 +284,7 @@ pk_spawn_argv (PkSpawn *spawn, gchar **argv)
-       spawn->priv->finished = FALSE;
-       /* create spawned object for tracking */
--      ret = g_spawn_async_with_pipes (NULL, argv, NULL,
-+      ret = g_spawn_async_with_pipes (NULL, argv, envp,
-                                G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH,
-                                NULL, NULL, &spawn->priv->child_pid,
-                                NULL, /* stdin */
-@@ -484,6 +484,7 @@ libst_spawn (LibSelfTest *test)
-       gboolean ret;
-       gchar *path;
-       gchar **argv;
-+      gchar **envp;
-       if (libst_start (test, "PkSpawn", CLASS_AUTO) == FALSE) {
-               return;
-@@ -496,7 +497,7 @@ libst_spawn (LibSelfTest *test)
-       libst_title (test, "make sure return error for missing file");
-       mexit = BAD_EXIT;
-       argv = g_strsplit ("pk-spawn-test-xxx.sh", " ", 0);
--      ret = pk_spawn_argv (spawn, argv);
-+      ret = pk_spawn_argv (spawn, argv, NULL);
-       g_strfreev (argv);
-       if (ret == FALSE) {
-               libst_success (test, "failed to run invalid file");
-@@ -517,7 +518,7 @@ libst_spawn (LibSelfTest *test)
-       mexit = -1;
-       path = pk_test_get_data ("pk-spawn-test.sh");
-       argv = g_strsplit (path, " ", 0);
--      ret = pk_spawn_argv (spawn, argv);
-+      ret = pk_spawn_argv (spawn, argv, NULL);
-       g_free (path);
-       g_strfreev (argv);
-       if (ret) {
-@@ -558,11 +559,34 @@ libst_spawn (LibSelfTest *test)
-       new_spawn_object (test, &spawn);
-       /************************************************************/
-+      libst_title (test, "make sure we set the proxy");
-+      mexit = -1;
-+      path = pk_test_get_data ("pk-spawn-proxy.sh");
-+      argv = g_strsplit (path, " ", 0);
-+      envp = g_strsplit ("http_proxy=username:password@server:port "
-+                         "ftp_proxy=username:password@server:port", " ", 0);
-+      ret = pk_spawn_argv (spawn, argv, envp);
-+      g_free (path);
-+      g_strfreev (argv);
-+      if (ret) {
-+              libst_success (test, "ran correct file");
-+      } else {
-+              libst_failed (test, "did not run helper");
-+      }
-+
-+      /* wait for finished */
-+      libst_loopwait (test, 10000);
-+      libst_loopcheck (test);
-+
-+      /* get new object */
-+      new_spawn_object (test, &spawn);
-+
-+      /************************************************************/
-       libst_title (test, "make sure run correct helper, and kill it");
-       mexit = BAD_EXIT;
-       path = pk_test_get_data ("pk-spawn-test.sh");
-       argv = g_strsplit (path, " ", 0);
--      ret = pk_spawn_argv (spawn, argv);
-+      ret = pk_spawn_argv (spawn, argv, NULL);
-       g_free (path);
-       g_strfreev (argv);
-       if (ret) {
-@@ -592,7 +616,7 @@ libst_spawn (LibSelfTest *test)
-       mexit = BAD_EXIT;
-       path = pk_test_get_data ("pk-spawn-test-sigquit.sh");
-       argv = g_strsplit (path, " ", 0);
--      ret = pk_spawn_argv (spawn, argv);
-+      ret = pk_spawn_argv (spawn, argv, NULL);
-       g_free (path);
-       g_strfreev (argv);
-       if (ret) {
-@@ -618,7 +642,7 @@ libst_spawn (LibSelfTest *test)
-       libst_title (test, "run lots of data for profiling");
-       path = pk_test_get_data ("pk-spawn-test-profiling.sh");
-       argv = g_strsplit (path, " ", 0);
--      ret = pk_spawn_argv (spawn, argv);
-+      ret = pk_spawn_argv (spawn, argv, NULL);
-       g_free (path);
-       g_strfreev (argv);
-       if (ret) {
-diff --git a/src/pk-spawn.h b/src/pk-spawn.h
-index 1b20fef..0e58859 100644
---- a/src/pk-spawn.h
-+++ b/src/pk-spawn.h
-@@ -52,7 +52,8 @@ GType                 pk_spawn_get_type                      (void) G_GNUC_CONST;
- PkSpawn               *pk_spawn_new                           (void);
- gboolean       pk_spawn_argv                          (PkSpawn        *spawn,
--                                                       gchar          **argv)
-+                                                       gchar          **argv,
-+                                                       gchar          **envp)
-                                                        G_GNUC_WARN_UNUSED_RESULT;
- gboolean       pk_spawn_kill                          (PkSpawn        *spawn);
diff --git a/packages/packagekit/files/force_depends.patch b/packages/packagekit/files/force_depends.patch
new file mode 100644 (file)
index 0000000..c0a5b0d
--- /dev/null
@@ -0,0 +1,20 @@
+diff --git a/backends/opkg/pk-backend-opkg.c b/backends/opkg/pk-backend-opkg.c
+index a20769f..0b9867e 100644
+--- a/backends/opkg/pk-backend-opkg.c
++++ b/backends/opkg/pk-backend-opkg.c
+@@ -451,6 +451,7 @@ backend_remove_packages_thread (PkBackend *backend)
+       gchar **package_ids;
+       gboolean allow_deps;
+       gboolean autoremove;
++      gboolean force_depends=!!1;
+       gpointer *data;
+       data = pk_backend_get_pointer (backend, "remove-params");
+@@ -462,6 +463,7 @@ backend_remove_packages_thread (PkBackend *backend)
+       opkg_set_option (opkg, "autoremove", &autoremove);
+       opkg_set_option (opkg, "force_removal_of_dependent_packages", &allow_deps);
++      opkg_set_option (opkg, "force_depends", &force_depends);
+       err = 0;
diff --git a/packages/packagekit/files/modify_summary_and_adding_reposi_info.patch b/packages/packagekit/files/modify_summary_and_adding_reposi_info.patch
new file mode 100644 (file)
index 0000000..43da548
--- /dev/null
@@ -0,0 +1,69 @@
+diff --git a/backends/opkg/pk-backend-opkg.c b/backends/opkg/pk-backend-opkg.c
+index 9e71b90..92da8b0 100644
+--- a/backends/opkg/pk-backend-opkg.c
++++ b/backends/opkg/pk-backend-opkg.c
+@@ -281,6 +281,7 @@ pk_opkg_package_list_cb (opkg_t *opkg, opkg_package_t *pkg, void *data)
+ {
+       SearchParams *params;
+       gchar *uid;
++        gchar *summary;
+       gchar *haystack;
+       gint status, match;
+       PkFilterEnum filters;
+@@ -327,8 +328,14 @@ pk_opkg_package_list_cb (opkg_t *opkg, opkg_package_t *pkg, void *data)
+                       break;
+       }
+-      uid = g_strdup_printf ("%s;%s;%s;",
+-              pkg->name, pkg->version, pkg->architecture);
++      uid = g_strdup_printf ("%s;%s;%s;%s",
++              pkg->name, pkg->version, pkg->architecture, pkg->repository);
++
++        if (!pkg->tags) 
++                summary = g_strdup_printf("%s", pkg->description);
++        else 
++                summary = g_strdup_printf("%s ;; %s", pkg->tags, pkg->description);
++                
+       if (pkg->installed)
+               status = PK_INFO_ENUM_INSTALLED;
+@@ -350,10 +357,11 @@ pk_opkg_package_list_cb (opkg_t *opkg, opkg_package_t *pkg, void *data)
+       if ((filters & PK_FILTER_ENUM_NOT_INSTALLED) && (pkg->installed))
+               goto end_handle;
+-      pk_backend_package (params->backend, status, uid, pkg->description);
++      pk_backend_package (params->backend, status, uid, summary);
+ end_handle:
+       g_free(uid);
++        g_free(summary);
+ }
+ static gboolean
+@@ -713,6 +721,7 @@ backend_get_details_thread (PkBackend *backend)
+       int group_index;
+       PkGroupEnum group = 0;
+       opkg_package_t *pkg;
++        gchar *summary;
+       gchar *newid;
+       package_id = pk_backend_get_string (backend, "package_id");
+@@ -746,13 +755,17 @@ backend_get_details_thread (PkBackend *backend)
+                       if (opkg_check_tag(pkg, (gchar *)pk_group_enum_to_text(group))) 
+                               break;
+               }
++                summary = g_strdup_printf("%s ;; %s", pkg->tags, pkg->description);
+       }
++        else 
++                summary = g_strdup_printf("%s", pkg->description);
+-      pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size);
++      pk_backend_details (backend, newid, NULL, group, summary, pkg->url, pkg->size);
+       pk_backend_finished (backend);
+       opkg_thread_unlock();
+       g_free (newid);
++        g_free (summary);
+       opkg_package_free(pkg);
+       return TRUE;
+ }
diff --git a/packages/packagekit/files/pk-nodocs.patch b/packages/packagekit/files/pk-nodocs.patch
deleted file mode 100644 (file)
index c775128..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- /tmp/Makefile.am   2008-05-31 12:17:08.492193028 +0200
-+++ git/Makefile.am    2008-05-31 12:17:18.884499290 +0200
-@@ -16,7 +16,6 @@
-       client                                          \
-       backends                                        \
-       python                                          \
--      docs                                            \
-       $(NULL)
- clean-local :
diff --git a/packages/packagekit/files/racing_condition.patch b/packages/packagekit/files/racing_condition.patch
new file mode 100644 (file)
index 0000000..ae127da
--- /dev/null
@@ -0,0 +1,244 @@
+diff --git a/backends/opkg/pk-backend-opkg.c b/backends/opkg/pk-backend-opkg.c
+index a7b5244..9e71b90 100644
+--- a/backends/opkg/pk-backend-opkg.c
++++ b/backends/opkg/pk-backend-opkg.c
+@@ -20,6 +20,7 @@
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  */
++#include <unistd.h>
+ #include <gmodule.h>
+ #include <glib.h>
+ #include <string.h>
+@@ -47,6 +48,22 @@ typedef struct {
+       PkBackend *backend;
+ } SearchParams;
++static int __opkg_lock__ = 0;
++static inline void opkg_thread_lock() 
++{
++      while ( __opkg_lock__ ) 
++              usleep(500);
++      __opkg_lock__ = 1;
++}
++
++static inline void opkg_thread_unlock() 
++{
++      if (! __opkg_lock__ ) {
++              pk_debug("Warning: opkg_thread_unlock  without lock before!!\n");
++      }
++      __opkg_lock__ = 0;
++}
++
+ static void
+ opkg_unknown_error (PkBackend *backend, gint error_code, gchar *failed_cmd)
+ {
+@@ -236,6 +253,7 @@ backend_refresh_cache_thread (PkBackend *backend)
+                       opkg_unknown_error (backend, ret, "Refreshing cache");
+       }
+       pk_backend_finished (backend);
++      opkg_thread_unlock();
+       return (ret == 0);
+ }
+@@ -246,6 +264,7 @@ backend_refresh_cache_thread (PkBackend *backend)
+ static void
+ backend_refresh_cache (PkBackend *backend, gboolean force)
+ {
++      opkg_thread_lock();
+       pk_backend_set_status (backend, PK_STATUS_ENUM_REFRESH_CACHE);
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+@@ -260,15 +279,26 @@ backend_refresh_cache (PkBackend *backend, gboolean force)
+ static void
+ pk_opkg_package_list_cb (opkg_t *opkg, opkg_package_t *pkg, void *data)
+ {
+-      SearchParams *params = (SearchParams*) data;
++      SearchParams *params;
+       gchar *uid;
+       gchar *haystack;
+       gint status, match;
+-      PkFilterEnum filters = params->filters;
++      PkFilterEnum filters;
++      if (!opkg) {
++              pk_debug("opkg is NULL!!\n");
++              return;
++      }
++      if (!data) {
++              pk_debug("data is NULL!!\n");
++              return;
++      }
+       if (!pkg->name)
+               return;
++      params = (SearchParams*) data;
++      filters = params->filters;
++
+       switch (params->search_type)
+       {
+               case SEARCH_NAME:
+@@ -336,6 +366,7 @@ backend_search_thread (PkBackend *backend)
+       opkg_list_packages (opkg, pk_opkg_package_list_cb, params);
+       pk_backend_finished (params->backend);
++      opkg_thread_unlock();
+       g_free (params->needle);
+       g_free (params);
+@@ -348,6 +379,7 @@ backend_search_name (PkBackend *backend, PkFilterEnum filters, const gchar *sear
+ {
+       SearchParams *params;
++      opkg_thread_lock();
+       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+@@ -370,6 +402,7 @@ backend_search_description (PkBackend *backend, PkFilterEnum filters, const gcha
+ {
+       SearchParams *params;
++      opkg_thread_lock();
+       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+@@ -389,6 +422,7 @@ backend_search_group (PkBackend *backend, PkFilterEnum filters, const gchar *sea
+ {
+       SearchParams *params;
++      opkg_thread_lock();
+       pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+@@ -431,12 +465,15 @@ backend_install_packages_thread (PkBackend *backend)
+       }
+       pk_backend_finished (backend);
++      opkg_thread_unlock();
+       return (err == 0);
+ }
+ static void
+ backend_install_packages (PkBackend *backend, gchar **package_ids)
+ {
++      opkg_thread_lock();
++
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+       pk_backend_set_status (backend, PK_STATUS_ENUM_INSTALL);
+@@ -493,6 +530,7 @@ backend_remove_packages_thread (PkBackend *backend)
+       }
+       pk_backend_finished (backend);
++      opkg_thread_unlock();
+       return (err == 0);
+ }
+@@ -500,6 +538,8 @@ static void
+ backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow_deps, gboolean autoremove)
+ {
+       gpointer *params;
++      
++      opkg_thread_lock();
+       pk_backend_set_status (backend, PK_STATUS_ENUM_REMOVE);
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+@@ -540,12 +580,15 @@ backend_update_system_thread (PkBackend *backend)
+               opkg_unknown_error (backend, err, "Upgrading system");
+       pk_backend_finished (backend);
++      opkg_thread_unlock();
+       return (err != 0);
+ }
+ static void
+ backend_update_system (PkBackend *backend)
+ {
++      opkg_thread_lock();
++
+       pk_backend_set_status (backend, PK_STATUS_ENUM_UPDATE);
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+@@ -571,6 +614,7 @@ backend_update_package_thread (PkBackend *backend)
+                               "Package not found");
+               pk_package_id_free (pi);
+               pk_backend_finished (backend);
++              opkg_thread_unlock();
+               return FALSE;
+       }
+@@ -581,6 +625,7 @@ backend_update_package_thread (PkBackend *backend)
+       pk_package_id_free (pi);
+       pk_backend_finished (backend);
++      opkg_thread_unlock();
+       return (err != 0);
+ }
+@@ -589,10 +634,12 @@ backend_update_packages (PkBackend *backend, gchar **package_ids)
+ {
+       gint i;
+-      pk_backend_set_status (backend, PK_STATUS_ENUM_UPDATE);
+-      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+-
+       for (i = 0; package_ids[i]; i++) {
++
++              opkg_thread_lock();
++
++              pk_backend_set_status (backend, PK_STATUS_ENUM_UPDATE);
++              pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+               pk_backend_set_string (backend, "pkgid", package_ids[i]);
+               pk_backend_thread_create (backend, backend_update_package_thread);
+       }
+@@ -626,12 +673,14 @@ backend_get_updates_thread (PkBackend *backend)
+ {
+       opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend);
+       pk_backend_finished (backend);
++      opkg_thread_unlock();
+       return TRUE;
+ }
+ static void
+ backend_get_updates (PkBackend *backend, PkFilterEnum filters)
+ {
++      opkg_thread_lock();
+       pk_backend_set_status (backend, PK_STATUS_ENUM_UPDATE);
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+@@ -672,6 +721,7 @@ backend_get_details_thread (PkBackend *backend)
+       {
+               pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id");
+               pk_backend_finished (backend);
++              opkg_thread_unlock();
+               return FALSE;
+       }
+@@ -683,6 +733,7 @@ backend_get_details_thread (PkBackend *backend)
+       {
+               pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL);
+               pk_backend_finished (backend);
++              opkg_thread_unlock();
+               return FALSE;
+       }
+@@ -698,15 +749,18 @@ backend_get_details_thread (PkBackend *backend)
+       }
+       pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size);
++      pk_backend_finished (backend);
++      opkg_thread_unlock();
++
+       g_free (newid);
+       opkg_package_free(pkg);
+-      pk_backend_finished (backend);
+       return TRUE;
+ }
+ static void
+ backend_get_details (PkBackend *backend, const gchar *package_id)
+ {
++      opkg_thread_lock();
+       pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+       pk_backend_thread_create (backend, backend_get_details_thread);
+ }
diff --git a/packages/packagekit/files/remove_search_memory_leak.patch b/packages/packagekit/files/remove_search_memory_leak.patch
new file mode 100644 (file)
index 0000000..bcc27ad
--- /dev/null
@@ -0,0 +1,51 @@
+diff --git a/backends/opkg/pk-backend-opkg.c b/backends/opkg/pk-backend-opkg.c
+index 0b9867e..a7b5244 100644
+--- a/backends/opkg/pk-backend-opkg.c
++++ b/backends/opkg/pk-backend-opkg.c
+@@ -307,21 +307,23 @@ pk_opkg_package_list_cb (opkg_t *opkg, opkg_package_t *pkg, void *data)
+       /* check filters */
+-      if ((filters & PK_FILTER_ENUM_DEVELOPMENT) && !opkg_is_devel_pkg (pkg))
+-              return;
++      if ((filters & PK_FILTER_ENUM_DEVELOPMENT) && !opkg_is_devel_pkg (pkg)) 
++              goto end_handle;
+       if ((filters & PK_FILTER_ENUM_NOT_DEVELOPMENT) && opkg_is_devel_pkg (pkg))
+-              return;
++              goto end_handle;
+       if ((filters & PK_FILTER_ENUM_GUI) && !opkg_is_gui_pkg (pkg))
+-              return;
++              goto end_handle;
+       if ((filters & PK_FILTER_ENUM_NOT_GUI) && opkg_is_gui_pkg (pkg))
+-              return;
++              goto end_handle;
+       if ((filters & PK_FILTER_ENUM_INSTALLED) && (!pkg->installed))
+-              return;
++              goto end_handle;
+       if ((filters & PK_FILTER_ENUM_NOT_INSTALLED) && (pkg->installed))
+-              return;
++              goto end_handle;
+       pk_backend_package (params->backend, status, uid, pkg->description);
++end_handle:
++      g_free(uid);
+ }
+ static gboolean
+@@ -616,6 +618,7 @@ pk_opkg_list_upgradable_cb (opkg_t *opkg, opkg_package_t *pkg, void *data)
+               pkg->name, pkg->version, pkg->architecture);
+       pk_backend_package (backend, status, uid, pkg->description);
++      g_free(uid);
+ }
+ static gboolean
+@@ -696,6 +699,7 @@ backend_get_details_thread (PkBackend *backend)
+       pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size);
+       g_free (newid);
++      opkg_package_free(pkg);
+       pk_backend_finished (backend);
+       return TRUE;
+ }
diff --git a/packages/packagekit/files/repository-ping.patch b/packages/packagekit/files/repository-ping.patch
new file mode 100644 (file)
index 0000000..75597e4
--- /dev/null
@@ -0,0 +1,243 @@
+diff --git a/backends/dummy/pk-backend-dummy.c b/backends/dummy/pk-backend-dummy.c
+index 5714e9f..162e6ce 100644
+--- a/backends/dummy/pk-backend-dummy.c
++++ b/backends/dummy/pk-backend-dummy.c
+@@ -777,6 +777,16 @@ backend_what_provides (PkBackend *backend, PkFilterEnum filters, PkProvidesEnum
+ }
+ /**
++ * backend_repos_ping:
++ */ 
++static PkNetworkEnum
++backend_repos_ping (PkBackend *backend)
++{
++      pk_backend_finished (backend);
++      return PK_NETWORK_ENUM_UNKNOWN;
++}
++
++/**
+  * backend_get_packages:
+  */
+ static void
+@@ -821,6 +831,7 @@ PK_BACKEND_OPTIONS (
+       backend_service_pack,                   /* service_pack */
+       backend_update_packages,                /* update_packages */
+       backend_update_system,                  /* update_system */
+-      backend_what_provides                   /* what_provides */
++      backend_what_provides,                  /* what_provides */
++      backend_repos_ping                      /* repos_ping */
+ );
+diff --git a/backends/opkg/pk-backend-opkg.c b/backends/opkg/pk-backend-opkg.c
+index 02966c9..a20769f 100644
+--- a/backends/opkg/pk-backend-opkg.c
++++ b/backends/opkg/pk-backend-opkg.c
+@@ -705,6 +705,16 @@ backend_get_details (PkBackend *backend, const gchar *package_id)
+       pk_backend_thread_create (backend, backend_get_details_thread);
+ }
++static PkNetworkEnum 
++backend_repos_ping (PkBackend *backend)
++{
++      int opkg_ret = opkg_repository_accessibility_check(opkg);
++      pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
++      pk_backend_finished (backend);
++      pk_debug("opkg repos_ping ret = %d\n", opkg_ret);
++      return opkg_ret ? PK_NETWORK_ENUM_OFFLINE : PK_NETWORK_ENUM_ONLINE;
++}
++
+ PK_BACKEND_OPTIONS (
+       "opkg",                                 /* description */
+       "Thomas Wood <thomas@openedhand.com>",  /* author */
+@@ -737,6 +747,7 @@ PK_BACKEND_OPTIONS (
+       NULL,                                   /* service_pack */
+       backend_update_packages,                /* update_packages */
+       backend_update_system,                  /* update_system */
+-      NULL                                    /* what_provides */
++      NULL,                                   /* what_provides */
++      backend_repos_ping                      /* repos_ping */
+ );
+diff --git a/backends/test/pk-backend-test-dbus.c b/backends/test/pk-backend-test-dbus.c
+index 76686dc..9ef733d 100644
+--- a/backends/test/pk-backend-test-dbus.c
++++ b/backends/test/pk-backend-test-dbus.c
+@@ -105,6 +105,7 @@ PK_BACKEND_OPTIONS (
+       NULL,                                   /* service_pack */
+       NULL,                                   /* update_packages */
+       NULL,                                   /* update_system */
+-      NULL                                    /* what_provides */
++      NULL,                                   /* what_provides */
++      NULL                                    /* repos_ping */
+ );
+diff --git a/backends/test/pk-backend-test-fail.c b/backends/test/pk-backend-test-fail.c
+index b429c1b..a70564a 100644
+--- a/backends/test/pk-backend-test-fail.c
++++ b/backends/test/pk-backend-test-fail.c
+@@ -275,6 +275,7 @@ PK_BACKEND_OPTIONS (
+       NULL,                                   /* service_pack */
+       backend_update_packages,                /* update_packages */
+       backend_update_system,                  /* update_system */
+-      NULL                                    /* what_provides */
++      NULL,                                   /* what_provides */
++      NULL                                    /* repos_ping */
+ );
+diff --git a/backends/test/pk-backend-test-nop.c b/backends/test/pk-backend-test-nop.c
+index 3526fa5..a715b9b 100644
+--- a/backends/test/pk-backend-test-nop.c
++++ b/backends/test/pk-backend-test-nop.c
+@@ -55,6 +55,7 @@ PK_BACKEND_OPTIONS (
+       NULL,                                   /* service_pack */
+       NULL,                                   /* update_package */
+       NULL,                                   /* update_system */
+-      NULL                                    /* what_provides */
++      NULL,                                   /* what_provides */
++      NULL                                    /* repos_ping */
+ );
+diff --git a/backends/test/pk-backend-test-spawn.c b/backends/test/pk-backend-test-spawn.c
+index 584f44c..424c7d4 100644
+--- a/backends/test/pk-backend-test-spawn.c
++++ b/backends/test/pk-backend-test-spawn.c
+@@ -96,6 +96,7 @@ PK_BACKEND_OPTIONS (
+       NULL,                                   /* service_pack */
+       NULL,                                   /* update_package */
+       NULL,                                   /* update_system */
+-      NULL                                    /* what_provides */
++      NULL,                                   /* what_provides */
++      NULL                                    /* repos_ping */
+ );
+diff --git a/backends/test/pk-backend-test-succeed.c b/backends/test/pk-backend-test-succeed.c
+index c046c1d..116d4fe 100644
+--- a/backends/test/pk-backend-test-succeed.c
++++ b/backends/test/pk-backend-test-succeed.c
+@@ -304,6 +304,16 @@ backend_what_provides (PkBackend *backend, PkFilterEnum filters, PkProvidesEnum
+ }
+ /**
++ * backend_repos_ping
++ */ 
++static PkNetworkEnum
++backend_repos_ping (PkBackend *backend)
++{
++      pk_backend_finished(backend);
++      return PK_NETWORK_ENUM_UNKNOWN;
++}
++
++/**
+  * backend_get_packages:
+  */
+ static void
+@@ -344,6 +354,7 @@ PK_BACKEND_OPTIONS (
+       backend_service_pack,                   /* service_pack */
+       backend_update_packages,                /* update_packages */
+       backend_update_system,                  /* update_system */
+-      backend_what_provides                   /* what_provides */
++      backend_what_provides,                  /* what_provides */
++      backend_repos_ping                      /* repos_ping */
+ );
+diff --git a/backends/test/pk-backend-test-thread.c b/backends/test/pk-backend-test-thread.c
+index 46ee862..a00cd26 100644
+--- a/backends/test/pk-backend-test-thread.c
++++ b/backends/test/pk-backend-test-thread.c
+@@ -168,6 +168,7 @@ PK_BACKEND_OPTIONS (
+       NULL,                                   /* service_pack */
+       NULL,                                   /* update_package */
+       NULL,                                   /* update_system */
+-      NULL                                    /* what_provides */
++      NULL,                                   /* what_provides */
++      NULL                                    /* repos_ping */
+ );
+diff --git a/src/pk-backend-internal.h b/src/pk-backend-internal.h
+index 2bffaff..f46159c 100644
+--- a/src/pk-backend-internal.h
++++ b/src/pk-backend-internal.h
+@@ -71,6 +71,8 @@ PkGroupEnum   pk_backend_get_groups                  (PkBackend      *backend);
+ PkFilterEnum   pk_backend_get_filters                 (PkBackend      *backend);
+ PkRoleEnum     pk_backend_get_actions                 (PkBackend      *backend);
++PkNetworkEnum    pk_backend_repos_ping                        (PkBackend      *backend);
++
+ G_END_DECLS
+ #endif /* __PK_BACKEND_INTERNAL_H */
+diff --git a/src/pk-backend.c b/src/pk-backend.c
+index 6efa55e..32ff276 100644
+--- a/src/pk-backend.c
++++ b/src/pk-backend.c
+@@ -165,6 +165,23 @@ pk_backend_get_filters (PkBackend *backend)
+ }
+ /**
++ */
++PkNetworkEnum    
++pk_backend_repos_ping (PkBackend      *backend) 
++{
++      g_return_val_if_fail (PK_IS_BACKEND (backend), PK_NETWORK_ENUM_UNKNOWN);
++      g_return_val_if_fail (backend->priv->locked != FALSE, PK_NETWORK_ENUM_UNKNOWN);
++
++      /* not compulsory */
++      if (backend->desc->repos_ping == NULL) {
++              return PK_NETWORK_ENUM_UNKNOWN;
++      }
++
++      pk_debug("Runing backend's repos_ping\n");
++      return backend->desc->repos_ping (backend);
++}
++
++/**
+  * pk_backend_get_actions:
+  **/
+ PkRoleEnum
+diff --git a/src/pk-backend.h b/src/pk-backend.h
+index a7ba754..1f41c6c 100644
+--- a/src/pk-backend.h
++++ b/src/pk-backend.h
+@@ -258,6 +258,7 @@ typedef struct {
+                                                        PkFilterEnum    filters,
+                                                        PkProvidesEnum  provides,
+                                                        const gchar    *search);
++      PkNetworkEnum   (*repos_ping)                   (PkBackend      *backend);
+       gpointer        padding[10];
+ } PkBackendDesc;
+@@ -266,7 +267,7 @@ typedef struct {
+                          get_update_detail, get_updates, install_files, install_packages,             \
+                          install_signature, refresh_cache, remove_packages, repo_enable,              \
+                          repo_set_data, resolve, rollback, search_details, search_file, search_group, \
+-                         search_name, service_pack, update_packages, update_system, what_provides)    \
++                         search_name, service_pack, update_packages, update_system, what_provides, repos_ping)        \
+       G_MODULE_EXPORT const PkBackendDesc pk_backend_desc = {                                         \
+               description,            \
+               author,                 \
+@@ -300,6 +301,7 @@ typedef struct {
+               update_packages,        \
+               update_system,          \
+               what_provides,          \
++              repos_ping,             \
+               {0}                     \
+       }
+diff --git a/src/pk-engine.c b/src/pk-engine.c
+index 14ecf41..f9359f2 100644
+--- a/src/pk-engine.c
++++ b/src/pk-engine.c
+@@ -279,8 +279,11 @@ pk_engine_get_network_state (PkEngine *engine, gchar **state, GError **error)
+ {
+       PkNetworkEnum network;
+       g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
+-      /* get the network state */
+-      network = pk_network_get_network_state (engine->priv->network);
++      network = pk_backend_repos_ping(engine->priv->backend);
++      if (network == PK_NETWORK_ENUM_UNKNOWN)  {
++              /* get the network state */
++              network = pk_network_get_network_state (engine->priv->network);
++      }
+       *state = g_strdup (pk_network_enum_to_text (network));
+       return TRUE;
+ }
index 8e2adff..3dde9c9 100644 (file)
@@ -5,17 +5,29 @@ LICENSE = "GPL"
 DEPENDS = "dbus (>= 1.1.1) dbus-glib glib-2.0 sqlite3 opkg intltool intltool-native (>= 0.37.1)"
 RDEPENDS_${PN} = "opkg"
 PV = "0.2.3+gitr${SRCREV}"
-PR = "r9"
+PR = "r17"
+PE = "1"
 
 SRC_URI = "git://anongit.freedesktop.org/git/packagekit;protocol=git \
-           file://disable-docbook2man.patch;patch=1"
+           file://disable-docbook2man.patch;patch=1 \
+           file://repository-ping.patch;patch=1 \
+           file://force_depends.patch;patch=1 \
+           file://remove_search_memory_leak.patch;patch=1 \
+           file://racing_condition.patch;patch=1 \
+           file://modify_summary_and_adding_reposi_info.patch;patch=1 \
+           "
 
 
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig
 
-EXTRA_OECONF = "--with-security-framework=dummy --with-default-backend=opkg --enable-opkg"
+EXTRA_OECONF = "--with-security-framework=dummy \
+                --with-default-backend=opkg \
+                --enable-opkg \
+                ac_cv_path_XMLTO=no \
+                "
+
 
 do_configure_prepend() {
         echo "EXTRA_DIST=" > gtk-doc.make
diff --git a/packages/podget/podget-0.5.8/busybox_df.patch b/packages/podget/podget-0.5.8/busybox_df.patch
new file mode 100644 (file)
index 0000000..1f84558
--- /dev/null
@@ -0,0 +1,11 @@
+--- podget/podget~     2008-05-08 08:50:23.000000000 +0000
++++ podget/podget      2008-05-08 08:50:37.000000000 +0000
+@@ -535,7 +535,7 @@
+                     url_base=$(echo $url | sed -e 's/\(.*\/\)[^\/]\+/\1/')
+                     # Test for available space on library partition
+-                    avail_space=$(df -kP ${dir_library} | tail -n 1 | awk '{print $4}')
++                    avail_space=$(df -k ${dir_library} | tail -n 1 | awk '{print $4}')
+                     if [ ${avail_space} -le ${min_space} ] ; then
+                         echo -e "\nAvailable space on Library partition has dropped below allowed.\nStopping Session."
+                         exit 1
diff --git a/packages/podget/podget_0.5.8.bb b/packages/podget/podget_0.5.8.bb
new file mode 100644 (file)
index 0000000..4af771e
--- /dev/null
@@ -0,0 +1,16 @@
+DESCRIPTION = "A simple podcast aggregator."
+HOMEPAGE = "http://podget.sourceforge.net/"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+RDEPENDS = "bash sed wget libiconv"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/podget/podget_${PV}.tar.gz \
+           file://busybox_df.patch;patch=1"
+
+S = "${WORKDIR}/podget"
+
+do_install () {
+  install -d ${D}/usr/bin
+  install -m 0755 ${WORKDIR}/podget/podget ${D}/usr/bin
+}
diff --git a/packages/tasks/task-cli-tools.bb b/packages/tasks/task-cli-tools.bb
new file mode 100644 (file)
index 0000000..8bc4b83
--- /dev/null
@@ -0,0 +1,29 @@
+DESCRIPTION = "A set of command line tools"
+SECTION = "console"
+LICENSE = "MIT"
+PV = "1.0"
+PR = "r0"
+
+inherit task
+
+RDEPENDS_${PN} = "\
+  dosfstools \
+  htop \
+  iptables \
+  lsof \
+  mickeydbus \
+  mickeyterm \
+  mtd-utils \
+  nano \
+  powertop \
+  sysstat \
+  tcpdump \
+"
+
+RDEPENDS_${PN}_append_om-gta01 = "\
+  s3c24xx-gpio \
+"
+RDEPENDS_${PN}_append_om-gta02 = "\
+  s3c24xx-gpio \
+"
+
index a3dcfe9..770b7f8 100644 (file)
@@ -2,7 +2,7 @@ DESCRIPTION = "The freesmartphone.org framework -- install this task to make you
 SECTION = "fso/base"
 LICENSE = "MIT"
 PV = "1.0"
-PR = "r0"
+PR = "r1"
 
 inherit task
 
@@ -13,4 +13,6 @@ RDEPENDS_${PN} = "\
 
 RRECOMMENDS_${PN} = "\
   gsm0710muxd \
+  \
+  tzdata \
 "
index 9e2dce5..a2eff40 100644 (file)
@@ -7,8 +7,6 @@ DESCRIPTION = "Mobile ipv6 extensions"
 
 inherit task
 
-PACKAGE_ARCH = "all"
-
 RDEPENDS = "mipv6"
 RRECOMMENDS = "kernel-module-ipv6 \
                kernel-module-mip6 \
diff --git a/packages/tasks/task-openmoko-asu.bb b/packages/tasks/task-openmoko-asu.bb
new file mode 100644 (file)
index 0000000..4c02abc
--- /dev/null
@@ -0,0 +1,46 @@
+DESCRIPTION = "Openmoko: Om 2008.8 August Software Update"
+
+SECTION = "openmoko/base"
+ALLOW_EMPTY = "1"
+LICENSE = "MIT"
+PR = "r2.03"
+
+inherit task
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+PACKAGES = "task-openmoko-asu"
+RDEPENDS_task-openmoko-asu = "\
+  bluez-hcidump \
+  readline \
+  connman \
+  connman-plugin-connman-resolvconf \
+  connman-plugin-connman-dhclient \
+  connman-plugin-connman-80211 \
+  connman-script-dhclient \
+  e-wm \
+  illume \
+  illume-theme \
+  assassin \
+  diversity-daemon \
+  om-locations \
+  om-maps-low-levels \
+  ${XSERVER} \
+  xserver-kdrive-common \
+  xserver-nodm-init \
+  xauth \
+  xhost \
+  xset \
+  xrandr \
+  libnotify \
+  om-settings \
+  etk-theme-ninja \
+  openmoko-community-repository \
+  assassin-thumbnail \
+  pyefl-sudoku \
+  \
+# For supporting the om2007.2 stack
+  openmoko-icon-theme-standard2 \
+  moko-gtk-engine \
+  settings-daemon \
+  openmoko-asu-om20072-support \
+"
index 40e9758..921f4d7 100644 (file)
@@ -1,7 +1,7 @@
 DESCRIPTION = "Openmoko: Misc. Feed Items"
 SECTION = "openmoko/base"
 LICENSE = "MIT"
-PR = "r42"
+PR = "r45"
 
 inherit task
 
@@ -49,16 +49,19 @@ RDEPENDS_task-openmoko-feed = "\
   mono \
 #  diversity-daemon \
 #  diversity-maps-taipei \
-#  om-maps-berlin \
-#  om-maps-buenos-aires \
-#  om-maps-london \
-#  om-maps-new-york \
-#  om-maps-paris \
-#  om-maps-providence \
-#  om-maps-san-francisco \
-#  om-maps-sydney \
-#  om-maps-taipei \
-#  om-settings \
+  om-maps-berlin \
+  om-maps-buenos-aires \
+  om-maps-hong-kong \
+  om-maps-london \
+  om-maps-low-levels \
+  om-maps-new-york \
+  om-maps-paris \
+  om-maps-providence \
+  om-maps-san-francisco \
+  om-maps-sydney \
+  om-maps-taipei \
+  om-locations \
+  om-settings \
   assassin \
 #  assassin-thumbnail \
   tangogps \
index 4c5d762..a8e7bd7 100644 (file)
@@ -1,11 +1,11 @@
 DESCRIPTION = "Basic image for openprotium"
 HOMEPAGE = "http://www.openprotium.org"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
 ALLOW_EMPTY = "1"
 PR = "r1"
 
 inherit task
 
+PACKAGE_ARCH = "${MACHINE_ARCH}"
 # be sure to build the kernel:
 DEPENDS = "virtual/kernel"
 
index 666b6c2..de8ee92 100644 (file)
@@ -6,6 +6,9 @@ LICENSE = "BSD"
 SRCDATE = "${PV}"
 PR = "r1"
 
+# tremor makes heavy use of non-thumb-compatible inline asm.
+ARM_INSTRUCTION_SET = "arm"
+
 SRC_URI = "svn://svn.xiph.org/trunk;module=Tremor;rev=4573;proto=http"
 
 S = "${WORKDIR}/Tremor"
index 4f72e9d..d78bb22 100644 (file)
@@ -5,7 +5,7 @@ PRIORITY = "optional"
 LICENSE = "MIT"
 PR = "r1"
 
-SRC_URI = "http://mirror.serversupportforum.de/apache/xerces/c/sources/xerces-c-src_2_8_0.tar.gz"
+SRC_URI = "http://mirror.serversupportforum.de/apache/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz"
 S = "${WORKDIR}/xerces-c-src_2_8_0/src/xercesc"
 
 inherit autotools pkgconfig
diff --git a/packages/xfce/exo/exo-no-tests.patch b/packages/xfce/exo/exo-no-tests.patch
new file mode 100644 (file)
index 0000000..1cb51ab
--- /dev/null
@@ -0,0 +1,14 @@
+The tests/ subdir consists of stuff trying to run a generated file ('exo-csource'), which doesn't work on host systems
+
+--- /tmp/Makefile.am   2008-10-30 09:23:41.000000000 +0100
++++ exo-0.3.4/Makefile.am      2008-10-30 09:24:03.011124000 +0100
+@@ -23,8 +23,7 @@
+       pixmaps                                                         \
+       po                                                              \
+       po-doc                                                          \
+-      $(PYTHON_SUBDIR)                                                \
+-      tests
++      $(PYTHON_SUBDIR)
+ AUTOMAKE_OPTIONS =                                                    \
+       1.8                                                             \
index 49ab445..17ea87d 100644 (file)
@@ -4,8 +4,12 @@ inherit xfce
 XFCE_VERSION = 4.4.2
 
 SRC_URI += " file://configure.patch;patch=1"
+SRC_URI += " file://exo-no-tests.patch;patch=1"
 
 # Note: Python checking is broken
+do_configure_prepend() {
+       sed -i -e s:'`$PKG_CONFIG --variable=defsdir pygtk-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g ${S}/configure.in
+}
 
 do_stage() {
     autotools_stage_all
index fda9b9d..0287f04 100644 (file)
@@ -1,4 +1,5 @@
 DESCRIPTION = "XFCE theme for GTK"
+DEPENDS += "gtk+"
 
 inherit xfce
 XFCE_VERSION = 4.4.2
index 8638b5a..de85f23 100644 (file)
@@ -1,10 +1,11 @@
 DESCRIPTION = "File manager for the Xfce Desktop Environment"
 DEPENDS = "libxfcegui4 exo dbus-glib libexif xfce4-panel libice libsm"
+RRECOMMENDS = "shared-mime-info"
 
 inherit xfce pkgconfig
 
 SRC_URI = "http://www.us.xfce.org/archive/xfce-4.4.2/src/Thunar-${PV}.tar.bz2"
-PR = 'r1'
+PR = 'r2'
 
 S = "${WORKDIR}/Thunar-${PV}/"
 
diff --git a/packages/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/packages/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
new file mode 100644 (file)
index 0000000..3559d0c
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deviceinfo version="0.2">
+  <device>
+    <match key="info.capabilities" contains="input.touchpad">
+      <merge key="input.x11_driver" type="string">tslib</merge>
+    </match>
+  </device>
+</deviceinfo>
diff --git a/packages/xorg-driver/xf86-input-tslib_0.0.5.bb b/packages/xorg-driver/xf86-input-tslib_0.0.5.bb
new file mode 100644 (file)
index 0000000..b504dff
--- /dev/null
@@ -0,0 +1,20 @@
+require xorg-driver-input.inc
+
+DESCRIPTION = "X.Org X server -- tslib input driver"
+RRECOMMENDS += "hal"
+PR = "r4"
+
+SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2 \
+           file://10-x11-input-tslib.fdi"
+
+do_configure_prepend() {
+       rm -rf ${S}/m4/ || true
+}
+
+do_install_append() {
+       install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty
+       install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty
+}
+
+FILES_${PN} += "${datadir}/hal"
+
index 9be6169..c6b0306 100644 (file)
@@ -2,9 +2,9 @@ require xorg-driver-video.inc
 
 DESCRIPTION = "X.Org X server -- OMAP display driver"
 
-PR ="r10"
+PR ="r11"
 
-SRCREV = "7bf64be8e809d00c10c6bdae6933bdc71c642ea4"
+SRCREV = "da20e7edbff31ac0a5a496af947424b0991a36be"
 PV = "0.0.1+${PR}+git${SRCREV}"
 
 SRC_URI = "git://git.pingu.fi/xf86-video-omapfb.git;protocol=http"
diff --git a/packages/xorg-xserver/files/xcalibrate-xorg.diff b/packages/xorg-xserver/files/xcalibrate-xorg.diff
new file mode 100644 (file)
index 0000000..65121ef
--- /dev/null
@@ -0,0 +1,11 @@
+--- /tmp/configure.ac  2008-10-29 18:53:23.000000000 +0100
++++ xorg-server-1.4.2/configure.ac     2008-10-29 18:53:40.000000000 +0100
+@@ -865,7 +865,7 @@
+        FONTPATH="built-ins"
+ fi
+-if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
++if test "x$XCALIBRATE" = xyes ; then
+    AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
+    REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
+ else
index 2c16eea..190de2c 100644 (file)
@@ -11,7 +11,7 @@ scrnsaverproto bigreqsproto resourceproto fontsproto inputproto \
 xf86dgaproto videoproto compositeproto trapproto recordproto dmxproto \
 resourceproto xineramaproto xtrans evieext libxkbfile libxfont libxau \
 libfontenc libxdmcp libxxf86vm libxaw libxmu libxt libxpm libxext libx11 \
-libxkbui libxxf86misc libxi libdmx libxtst libxres mesa"
+libxkbui libxxf86misc libxi libdmx libxtst libxres mesa libxcalibrate"
 
 RECOMMENDS_${PN} = "hal"
 
@@ -23,6 +23,9 @@ S = "${WORKDIR}/${XORG_PN}-${PV}"
 
 inherit autotools pkgconfig
 
+EXTRA_OECONF += " --enable-xcalibrate \
+                  ac_cv_file__usr_share_sgml_X11_defs_ent=no"
+
 PACKAGES =+ "xserver-security-policy"
 FILES_xserver-security-policy += "${libdir}/xserver/SecurityPolicy"
 RRECOMMENDS_${PN} += "xserver-security-policy xkeyboard-config xorg-minimal-fonts rgb"
diff --git a/packages/xorg-xserver/xserver-xorg/omap3evm/xorg.conf b/packages/xorg-xserver/xserver-xorg/omap3evm/xorg.conf
new file mode 100644 (file)
index 0000000..55eba4f
--- /dev/null
@@ -0,0 +1,133 @@
+
+# xorg configuration
+
+Section "ServerLayout"
+       Identifier     "Default Layout"
+       Screen      0  "Screen0" 0 0
+       InputDevice    "touchscreen0" "CorePointer"
+       InputDevice    "Keyboard0" "CoreKeyboard"
+EndSection
+
+Section "Files"
+
+# RgbPath is the location of the RGB database.  Note, this is the name of the 
+# file minus the extension (like ".txt" or ".db").  There is normally
+# no need to change the default.
+# Multiple FontPath entries are allowed (they are concatenated together)
+# By default, Red Hat 6.0 and later now use a font server independent of
+# the X server to render fonts.
+#       FontPath     "unix/:7100"
+       FontPath     "/usr/lib/X11/fonts/misc"
+EndSection
+
+Section "Module"
+       Load  "dbe"
+       Load  "extmod"
+       Load  "fbdevhw"
+#      Load  "glx"
+       Load  "record"
+       Load  "freetype"
+       Load  "type1"
+       Load "tslib"
+# to enable Xv, link /dev/videox to video device, eg. ln -s video0 /dev/videox
+#      Load  "z4l"
+EndSection
+
+Section "InputDevice"
+
+# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
+#      Option  "Xleds"         "1 2 3"
+# To disable the XKEYBOARD extension, uncomment XkbDisable.
+#      Option  "XkbDisable"
+# To customise the XKB settings to suit your keyboard, modify the
+# lines below (which are the defaults).  For example, for a non-U.S.
+# keyboard, you will probably want to use:
+#      Option  "XkbModel"      "pc102"
+# If you have a US Microsoft Natural keyboard, you can use:
+#      Option  "XkbModel"      "microsoft"
+#
+# Then to change the language, change the Layout setting.
+# For example, a german layout can be obtained with:
+#      Option  "XkbLayout"     "de"
+# or:
+#      Option  "XkbLayout"     "de"
+#      Option  "XkbVariant"    "nodeadkeys"
+#
+# If you'd like to switch the positions of your capslock and
+# control keys, use:
+#      Option  "XkbOptions"    "ctrl:swapcaps"
+# Or if you just want both to be control, use:
+#      Option  "XkbOptions"    "ctrl:nocaps"
+#
+       Identifier  "Keyboard0"
+       Driver      "keyboard"
+       Option      "XkbModel" "pc105"
+       Option      "XkbLayout" "us"
+EndSection
+
+Section "InputDevice"
+       Identifier  "touchscreen0"
+       Driver      "tslib"
+       Option      "TslibDevice" "/dev/input/touchscreen0"
+EndSection
+
+Section "Monitor"
+       Identifier   "Monitor0"
+       VendorName   "Monitor Vendor"
+       ModelName    "NEC FP2141SB"
+#      DisplaySize  400 300
+# Note: setting HorizSync/VertRefresh will override DDC probe
+#      HorizSync    30.0 - 140.0
+#      VertRefresh  25.0 - 160.0
+       Option       "dpms"
+EndSection
+
+Section "Monitor"
+       Identifier   "Monitor1"
+       VendorName   "Generic Vendor"
+       ModelName    "Generic Monitor"
+       HorizSync    28-50
+       VertRefresh  43-73
+       Modeline     "800x600-60"  40.0000  800  840  976 1056   600  601  605  628
+       Modeline     "800x600-72"  50.0000  800  856  976 1040   600  637  643  666
+       Modeline     "640x480-60"  25.1749  640  656  744  800   480  490  492  525 -HSync -VSync
+       Modeline     "640x480-72"  31.5000  640  664  704  832   480  489  492  520 -HSync -VSync
+       Option       "dpms"
+EndSection
+
+
+Section "Device"
+        Identifier  "FBDev"
+        Driver      "omapfb"
+       #Option     "shadowfb" "off"
+EndSection
+
+Section "Screen"
+    Identifier "Screen0"
+    Device     "FBDev"
+    Monitor    "Monitor0"
+    DefaultDepth 16
+
+    SubSection "Display"
+        Depth          8
+        Modes          "1024x768" "800x600" "640x480"
+    EndSubsection
+
+    SubSection "Display"
+        Depth          16
+        Modes          "1024x768" "800x600" "640x480"
+    EndSubsection
+
+    SubSection "Display"
+        Depth          24
+       FbBpp           32
+        Modes          "1024x768" "800x600" "640x480"
+    EndSubsection
+
+EndSection
+
+Section "DRI"
+       Group        0
+       Mode         0666
+EndSection
+
index e4a0a22..218e6dc 100644 (file)
@@ -2,7 +2,7 @@ MESA_VER = "6.5.2"
 
 require xorg-xserver-common.inc
 PE = "1"
-PR = "r2"
+PR = "r3"
 
 EXTRA_OECONF += " ac_cv_file__usr_share_sgml_X11_defs_ent=no "
 
index d6633f1..d28fec1 100644 (file)
@@ -2,7 +2,7 @@ MESA_VER = "6.5.2"
 
 require xorg-xserver-common.inc
 PE = "1"
-PR = "r6"
+PR = "r7"
 
 SRC_URI += "file://drmfix.patch;patch=1 \
             file://glyphstr.patch;patch=1"
index b6685d4..1abac84 100644 (file)
@@ -3,14 +3,14 @@ require xorg-xserver-common.inc
 DESCRIPTION = "the X.Org X server"
 DEPENDS += "pixman"
 PE = "1"
-PR = "r6"
+PR = "r8"
 
 SRC_URI += "file://drmfix.patch;patch=1 \
             file://pkgconfig_fix.patch;patch=1 \
-            file://sysroot_fix.patch;patch=1"
+            file://sysroot_fix.patch;patch=1 \
+            file://xcalibrate-xorg.diff \
+"
 
 MESA_VER = "7.0.2"
 
-EXTRA_OECONF += " ac_cv_file__usr_share_sgml_X11_defs_ent=no "
-
 export LDFLAGS += " -ldl "
index b6685d4..3f53002 100644 (file)
@@ -3,7 +3,7 @@ require xorg-xserver-common.inc
 DESCRIPTION = "the X.Org X server"
 DEPENDS += "pixman"
 PE = "1"
-PR = "r6"
+PR = "r7"
 
 SRC_URI += "file://drmfix.patch;patch=1 \
             file://pkgconfig_fix.patch;patch=1 \
index abbfb3f..c120dc7 100644 (file)
@@ -1,7 +1,7 @@
 SECTION = "x11/base"
 LICENSE = "Xorg"
 PROVIDES = "virtual/xserver"
-PR = "r5"
+PR = "r7"
 PV = "6.8.1+cvs${SRCDATE}"
 
 DEPENDS = "fontconfig freetype libxi libxmu flex-2.5.4-native"
@@ -54,7 +54,9 @@ do_install() {
 do_stage() {
        install -d ${STAGING_INCDIR}/xserver-xorg
        for i in i810 via; do
-         pushd ${S}/programs/Xserver/hw/xfree86/drivers/$i; install -m 0644 *.h ${STAGING_INCDIR}/xserver-xorg/; popd
+         cd ${S}/programs/Xserver/hw/xfree86/drivers/$i; install -m 0644 *.h ${STAGING_INCDIR}/xserver-xorg/
        done
+
+       cd ${S}
        install -m 0644 programs/Xserver/hw/xfree86/common/fourcc.h ${STAGING_INCDIR}/xserver-xorg/
 }
index cea9f0c..bea2179 100644 (file)
@@ -2,7 +2,7 @@ DESCRIPTION = "Simple Xserver Init Script (no dm)"
 LICENSE = "GPL"
 SECTION = "x11"
 PRIORITY = "optional"
-PR = "r8"
+PR = "r9"
 
 SRC_URI = "file://xserver-nodm"
 S = ${WORKDIR}
index a56edaa..2251c6a 100755 (executable)
@@ -24,6 +24,9 @@ case "$1" in
       $0 $1 background &
     else
        . /etc/profile
+       [ -z $LOGNAME ] && export LOGNAME=root && export HOME=/home/root
+       [ -z $HOME ] && export HOME=/home/$LOGNAME
+
 
        echo "Starting Xserver"
        /etc/X11/Xserver &