From c0c657bd92911788b96d9670620eabf024453752 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 30 Sep 2010 22:15:13 +0100 Subject: [PATCH] Split meta-extras and meta-moblin out of the main repository Signed-off-by: Richard Purdie --- meta-extras/COPYING.MIT | 17 - .../include/poky-extras-src-revisions.inc | 6 - meta-extras/conf/layer.conf | 11 - meta-extras/conf/machine/mx31litekit.conf | 14 - meta-extras/conf/machine/nokia770.conf | 35 - meta-extras/conf/machine/nokia800.conf | 30 - meta-extras/conf/machine/om-gta01.conf | 48 - meta-extras/conf/machine/om-gta02.conf | 49 - .../packages/acct/acct_6.3.99+6.4pre1.bb | 9 - .../packages/acct/files/cross-compile.patch | 34 - .../packages/clutter/clutter-helix.inc | 15 - .../packages/clutter/clutter-helix_git.bb | 8 - .../fix-shader-and-callbacks.patch | 44 - .../packages/clutter/moblin-proto/fix.patch | 22 - .../packages/clutter/moblin-proto/paths.patch | 15 - .../packages/clutter/moblin-proto_git.bb | 19 - meta-extras/packages/cx3110x/cx3110x_1.1.bb | 21 - .../packages/cx3110x/cx3110x_2.0.15.bb | 23 - .../cx3110x/files/no-linux-config.patch | 12 - .../packages/eventlog/eventlog_0.2.5.bb | 7 - meta-extras/packages/evince/evince_2.20.0.bb | 10 - meta-extras/packages/evince/evince_svn.bb | 14 - .../packages/evince/files/no-icon-theme.diff | 13 - .../flumotion/no-check-for-python-stuff.patch | 68 - .../flumotion/flumotion/python-path.patch | 25 - .../packages/flumotion/flumotion_0.4.1.bb | 41 - meta-extras/packages/gnome/libbonobo.inc | 36 - .../gnome/libbonobo/configure-gthread.patch | 11 - .../packages/gnome/libbonobo/gtk-doc.m4 | 53 - .../packages/gnome/libbonobo/gtk-doc.make | 148 - .../packages/gnome/libbonobo_2.22.0.bb | 6 - .../packages/gnome/libbonoboui_2.18.0.bb | 15 - .../packages/gnome/orbit2-native_2.14.12.bb | 22 - .../gnome/orbit2/configure-lossage.patch | 35 - meta-extras/packages/gnome/orbit2/gtk-doc.m4 | 53 - .../packages/gnome/orbit2/gtk-doc.make | 148 - .../packages/gnome/orbit2/pkgconfig-fix.patch | 12 - meta-extras/packages/gnome/orbit2_2.14.16.bb | 30 - meta-extras/packages/helix/helix-libs.bb | 49 - .../helix/helix-libs/add-clutter.patch | 12668 ---------------- .../packages/helix/helix-libs/helix-player.pc | 11 - .../packages/helix/helix-libs/hxclient.pc | 11 - meta-extras/packages/helix/ribosome.bb | 43 - meta-extras/packages/helix/ribosome/buildrc | 4 - .../packages/helix/ribosome/clutter.bif | 68 - .../packages/images/poky-image-extras.bb | 9 - meta-extras/packages/libol/libol_0.3.18.bb | 8 - meta-extras/packages/librds/librds_0.0.1.bb | 11 - .../packages/libxosd/files/autofoo.patch | 116 - .../libxosd/files/use-sane-default-font.patch | 13 - meta-extras/packages/libxosd/libxosd_svn.bb | 20 - .../fix_oprofile.patch | 30 - .../nokia770/defconfig | 1451 -- .../nokia770_nand_fix.patch | 415 - .../nokia800/defconfig | 1312 -- .../kernel-source_2.6.21-200823maemo6.diff.gz | Bin 932654 -> 0 bytes .../nokia800/defconfig | 1650 -- .../suspend-button.patch | 60 - .../nokia800/defconfig | 1642 -- .../suspend-button.patch | 60 - meta-extras/packages/linux/linux-nokia800.inc | 43 - .../linux/linux-nokia800_2.6.18-osso40.bb | 18 - .../linux-nokia800_2.6.21-200823maemo6.bb | 18 - .../linux/linux-nokia800_2.6.21-osso71.bb | 18 - meta-extras/packages/linux/linux-openmoko.inc | 25 - .../timespec_add_ns_avoid_udivdi3.patch | 20 - .../linux/linux-openmoko_2.6.24+git.bb | 53 - .../packages/lirc/files/lirc_sir-sa1100.patch | 10 - .../packages/lirc/files/lircd.conf_nslu2 | 1886 --- meta-extras/packages/lirc/files/lircd.init | 39 - meta-extras/packages/lirc/files/lircexec.init | 37 - meta-extras/packages/lirc/files/lircmd.init | 38 - meta-extras/packages/lirc/files/lircrc_nslu2 | 113 - .../packages/lirc/files/split-hauppauge.patch | 141 - meta-extras/packages/lirc/lirc-config.inc | 13 - .../packages/lirc/lirc-modules_0.8.3.bb | 33 - meta-extras/packages/lirc/lirc_0.8.3.bb | 31 - .../llvm/llvm-native/fix_ldflags_export.patch | 26 - meta-extras/packages/llvm/llvm-native_svn.bb | 13 - .../packages/madplay/madplay_0.15.2b.bb | 12 - .../maemo-mapper/files/fix_segfault.patch | 31 - .../maemo-mapper/maemo-mapper-nohildon_svn.bb | 22 - .../packages/maemo/nokia770-init/fixup-770.sh | 26 - .../packages/maemo/nokia770-init_1.0.bb | 38 - meta-extras/packages/maemo/xpext/auxdir.patch | 13 - meta-extras/packages/maemo/xpext_1.0-5.bb | 22 - meta-extras/packages/maemo/xsp_1.0.0-8.bb | 12 - .../matchbox-applet-inputmanager_0.6.bb | 12 - .../matchbox-applet-light_svn.bb | 10 - .../matchbox-applet-startup-monitor_0.1.bb | 11 - .../matchbox-applet-volume_0.1.bb | 12 - .../matchbox-common/matchbox-common_0.9.1.bb | 14 - .../matchbox-common/matchbox-common_svn.bb | 17 - .../home-panelapp.desktop | 7 - .../matchbox-panel-hacks-0.3-1/mb-applet-home | 2 - .../xrandr-panelapp.desktop | 7 - .../xrandr-panelapp.sh | 9 - .../matchbox-panel-hacks-0.3-1/xrandr.png | Bin 1651 -> 0 bytes .../matchbox-panel-hacks_0.3-1.bb | 23 - .../matchbox-panel-manager_0.1.bb | 12 - .../matchbox-panel/matchbox-panel.inc | 27 - .../matchbox-panel/matchbox-panel_0.9.2.bb | 6 - .../matchbox-panel/matchbox-panel_svn.bb | 9 - .../packages/mozilla/files/eabi-fix.patch | 66 - .../packages/mozilla/files/eabi-fix2.patch | 56 - .../packages/mozilla/files/eabi-fix3.patch | 15 - .../packages/mozilla/files/minimo.desktop | 9 - meta-extras/packages/mozilla/files/minimo.png | Bin 4323 -> 0 bytes .../packages/mozilla/minimo/bug-322806.diff | 13 - meta-extras/packages/mozilla/minimo/minimo | 4 - .../packages/mozilla/minimo/minimo.patch | 356 - .../packages/mozilla/minimo/minimo.png | Bin 4323 -> 0 bytes meta-extras/packages/mozilla/minimo/mozconfig | 36 - meta-extras/packages/mozilla/minimo_cvs.bb | 153 - .../files/70NetworkManagerApplet.shbg | 4 - .../networkmanager/files/99_networkmanager | 1 - .../networkmanager/files/NetworkManager | 43 - .../files/allow-disabling.patch | 45 - .../files/applet-no-animation.patch | 234 - .../networkmanager/files/applet-no-gnome.diff | 59 - .../networkmanager/files/libnlfix.patch | 29 - .../networkmanager/files/makefile-fix.patch | 17 - .../networkmanager/files/nmutil-fix.patch | 12 - .../networkmanager/files/no-restarts.diff | 21 - .../networkmanager/files/no_vpn.patch | 13 - .../networkmanager-applet_svn.bb | 33 - .../networkmanager/networkmanager_svn.bb | 51 - .../files/no-wnck-sexy.patch | 98 - .../notification-daemon_0.3.7.bb | 21 - meta-extras/packages/osc/osc-native_svn.bb | 28 - .../packages/prism-firmware/prism-firmware.bb | 32 - .../prism-firmware/hostap.rules | 4 - .../prism-firmware/prism-firmware/prism-fw.sh | 32 - .../python/python-iniparse-native_0.3.2.bb | 6 - .../packages/python/python-iniparse_0.3.2.bb | 11 - .../python/python-urlgrabber-native_3.9.1.bb | 4 - .../urlgrabber-3.0.0-cleanup.patch | 28 - .../python-urlgrabber/urlgrabber-HEAD.patch | 142 - .../python-urlgrabber/urlgrabber-reset.patch | 15 - .../python/python-urlgrabber_3.9.1.bb | 16 - .../yum-metadata-parser-native_1.1.4.bb | 7 - .../python/yum-metadata-parser_1.1.4.bb | 15 - .../qmake/qmake2-cross/0001-fix-mkspecs.patch | 120 - .../qmake/qmake2-cross/linux-oe-qmake.conf | 1 - .../qmake/qmake2-cross/use-lflags-last.patch | 22 - .../packages/qmake/qmake2-cross_2.10a.bb | 74 - .../packages/redland/files/crosscompile.patch | 29 - .../redland/files/sane_pkgconfig.patch | 126 - meta-extras/packages/redland/redland_1.0.8.bb | 9 - meta-extras/packages/smart/smart_1.1.bb | 29 - .../packages/spectrum-fw/spectrum-fw.bb | 22 - .../spectrum-fw/spectrum-fw/get_symbol_fw | 29 - .../spectrum-fw/spectrum-fw/parse_symbol_fw | 129 - .../packages/syslog-ng/files/initscript | 45 - .../packages/syslog-ng/files/syslog-ng.conf | 89 - .../packages/syslog-ng/syslog-ng_2.0.5.bb | 34 - .../packages/tasks/task-poky-extras.bb | 9 - .../packages/tasks/task-poky-x11-netbook.bb | 28 - .../twisted-2.5.0/remove-zope-check.patch | 18 - meta-extras/packages/twisted/twisted_2.5.0.bb | 175 - .../packages/uicmoc/uicmoc4-native.inc | 67 - .../packages/uicmoc/uicmoc4-native_4.3.2.bb | 1 - .../packages/xorg-app/iceauth_1.0.2.bb | 6 - meta-extras/packages/xorg-app/luit_1.0.2.bb | 8 - meta-extras/packages/xorg-app/oclock_1.0.1.bb | 5 - meta-extras/packages/xorg-app/rgb_1.0.1.bb | 6 - .../packages/xorg-app/sessreg_1.0.4.bb | 6 - meta-extras/packages/xorg-app/twm_1.0.4.bb | 11 - meta-extras/packages/xorg-app/xbiff_1.0.1.bb | 9 - .../packages/xorg-app/xclipboard_1.1.0.bb | 4 - meta-extras/packages/xorg-app/xclock_1.0.4.bb | 5 - meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb | 4 - .../packages/xorg-app/xconsole_1.0.3.bb | 9 - .../packages/xorg-app/xcursorgen_1.0.2.bb | 4 - .../packages/xorg-app/xdriinfo_1.0.2.bb | 4 - meta-extras/packages/xorg-app/xfd_1.0.1.bb | 9 - .../packages/xorg-app/xfontsel_1.0.2.bb | 9 - meta-extras/packages/xorg-app/xgamma_1.0.2.bb | 5 - meta-extras/packages/xorg-app/xkbevd_1.0.2.bb | 4 - .../packages/xorg-app/xkbprint_1.0.2.bb | 4 - .../packages/xorg-app/xkbutils_1.0.2.bb | 5 - meta-extras/packages/xorg-app/xkill_1.0.1.bb | 4 - meta-extras/packages/xorg-app/xload_1.0.2.bb | 10 - meta-extras/packages/xorg-app/xlogo_1.0.1.bb | 4 - .../packages/xorg-app/xlsatoms_1.0.1.bb | 4 - .../packages/xorg-app/xlsclients_1.0.1.bb | 4 - .../packages/xorg-app/xlsfonts_1.0.2.bb | 4 - meta-extras/packages/xorg-app/xmag_1.0.2.bb | 10 - .../packages/xorg-app/xmessage_1.0.2.bb | 10 - .../packages/xorg-app/xorg-app-common.inc | 15 - meta-extras/packages/xorg-app/xpr_1.0.2.bb | 5 - .../packages/xorg-app/xrefresh_1.0.2.bb | 4 - .../packages/xorg-app/xsetroot_1.0.2.bb | 6 - .../packages/xorg-app/xstdcmap_1.0.1.bb | 4 - meta-extras/packages/xorg-app/xterm_207.bb | 24 - meta-extras/packages/xorg-app/xtrap_1.0.2.bb | 4 - .../packages/xorg-app/xvidtune_1.0.1.bb | 9 - meta-extras/packages/xorg-app/xvinfo_1.0.2.bb | 5 - meta-extras/packages/xorg-app/xwd_1.0.1.bb | 4 - meta-extras/packages/xorg-app/xwud_1.0.1.bb | 4 - .../packages/xorg-data/xbitmaps_1.0.1.bb | 5 - .../packages/xorg-data/xorg-data-common.inc | 10 - .../xserver-kdrive-glamo/fbdev-not-fix.patch | 14 - .../fix-picturestr-include-order.patch | 15 - .../fix_default_mode.patch | 26 - .../xserver-kdrive-glamo/gumstix-kmode.patch | 23 - .../kdrive-1.3-18bpp.patch | 419 - .../xserver-kdrive-glamo/kmode-palm.patch | 34 - .../xserver-kdrive-glamo/kmode.patch | 28 - .../xserver-kdrive-glamo/w100-autofoo.patch | 54 - .../w100-fix-offscreen-bmp.patch | 15 - .../w100-new-input-world-order.patch | 28 - .../xserver-kdrive-glamo/w100.patch | 6335 -------- .../xserver-kdrive-glamo_1.3.0.0+git.bb | 64 - .../xserver-kdrive-xomap/button_only.patch | 20 - .../xserver-kdrive-xomap/calibrateext.patch | 124 - .../xserver-kdrive-xomap/configfix.patch | 15 - .../xserver-kdrive-xomap/disable-apm.patch | 20 - .../disable-xf86-dga-xorgcfg.patch | 37 - .../xserver-kdrive-xomap/disable-xkb.patch | 82 - .../enable-builtin-fonts.patch | 12 - .../xserver-kdrive-xomap/enable-tslib.patch | 23 - .../xserver-kdrive-xomap/fbdev-not-fix.patch | 14 - .../xserver-kdrive-xomap/fixups.patch | 446 - .../xserver-kdrive-xomap/kdrive-evdev.patch | 503 - .../kdrive-use-evdev.patch | 53 - .../xserver-kdrive-xomap/kmode.patch | 43 - .../no-serial-probing.patch | 13 - .../xserver-kdrive-xomap/xcalibrate.patch | 73 - .../xcalibrate_coords.patch | 122 - .../xserver-kdrive-xomap/xfbdev-fb-opt.patch | 82 - .../xserver-kdrive-xomap_1.1.99.3.bb | 52 - .../yum/createrepo-native/pathfix.patch | 81 - .../packages/yum/createrepo-native_0.9.8.bb | 17 - meta-extras/packages/yum/files/98_yum | 1 - .../packages/yum/files/extract-postinst.awk | 11 - meta-extras/packages/yum/files/fix | 18 - meta-extras/packages/yum/files/hacks.patch | 81 - meta-extras/packages/yum/files/paths.patch | 106 - meta-extras/packages/yum/files/paths2.patch | 35 - .../yum/files/yum-install-recommends.py | 39 - meta-extras/packages/yum/yum_3.2.27.bb | 46 - meta-extras/packages/zope/zope_3.3.1.bb | 45 - .../moblin-feed-incremental-bleeding.bbclass | 3 - meta-moblin/classes/moblin-image.bbclass | 99 - meta-moblin/classes/qt3e.bbclass | 11 - meta-moblin/classes/qt3x11.bbclass | 15 - meta-moblin/classes/qt4x11.bbclass | 3 - meta-moblin/classes/qtopia4core.bbclass | 13 - .../include/meta-moblin-scm-revisions.inc | 36 - .../include/moblin-2.0-fixed-revisions.inc | 87 - .../distro/include/moblin-fixed-revisions.inc | 38 - .../include/moblin-floating-revisions.inc | 99 - meta-moblin/conf/distro/moblin-bleeding.conf | 2 - meta-moblin/conf/distro/moblin.conf | 13 - meta-moblin/conf/layer.conf | 11 - meta-moblin/packages/anerley/anerley.inc | 6 - meta-moblin/packages/anerley/anerley_0.1.7.bb | 3 - meta-moblin/packages/anerley/anerley_git.bb | 7 - meta-moblin/packages/bickley/bickley.inc | 9 - meta-moblin/packages/bickley/bickley_0.4.bb | 4 - meta-moblin/packages/bickley/bickley_git.bb | 5 - meta-moblin/packages/bisho/bisho.inc | 9 - meta-moblin/packages/bisho/bisho_0.17.1.bb | 1 - meta-moblin/packages/bisho/bisho_git.bb | 5 - .../packages/bognor-regis/bognor-regis.inc | 9 - .../bognor-regis/bognor-regis_0.5.0.bb | 3 - .../packages/bognor-regis/bognor-regis_git.bb | 5 - meta-moblin/packages/carrick/carrick.inc | 14 - .../packages/carrick/carrick_1.1.13.bb | 1 - meta-moblin/packages/carrick/carrick_git.bb | 5 - .../clutter-imcontext_git.bb | 13 - .../packages/clutter/clutter-mozembed.inc | 14 - ...32f3e2c8d1a70ab01cc7adb63760d8718b41.patch | 13 - .../clutter-mozembed/link-with-g++.patch | 13 - .../packages/clutter/clutter-mozembed_git.bb | 14 - .../packages/consolekit/consolekit_0.3.0.bb | 15 - .../packages/consolekit/files/nopolkit.patch | 16 - meta-moblin/packages/dalston/dalston.inc | 7 - .../packages/dalston/dalston_0.1.12.bb | 1 - meta-moblin/packages/dalston/dalston_git.bb | 6 - .../droid-fonts-sans-fontconfig.conf | 24 - .../droid-fonts-sans-mono-fontconfig.conf | 16 - .../droid-fonts-serif-fontconfig.conf | 16 - .../droid-fonts/droid-fonts_1.0.112.bb | 38 - .../packages/gmime/gmime/iconv-detect.h | 5 - meta-moblin/packages/gmime/gmime/nodolt.patch | 12 - meta-moblin/packages/gmime/gmime_2.4.10.bb | 20 - .../packages/gnet/files/buildfix.patch | 13 - .../packages/gnet/files/configure_fix.patch | 58 - .../packages/gnet/files/pkgconfig_fix.patch | 12 - meta-moblin/packages/gnet/gnet_svn.bb | 20 - .../packages/gnome/gnome-menus_2.24.1.bb | 13 - meta-moblin/packages/gnome/gvfs_1.0.2.bb | 17 - .../fixpkgconfig.patch | 13 - .../mobile-broadband-provider-info_git.bb | 9 - meta-moblin/packages/hornsey/Makefile.am | 662 - meta-moblin/packages/hornsey/hornsey.inc | 13 - meta-moblin/packages/hornsey/hornsey_1.0.bb | 5 - meta-moblin/packages/hornsey/hornsey_git.bb | 5 - .../images/moblin-image-directdisk.inc | 8 - .../packages/images/moblin-image-live.inc | 27 - .../images/moblin-image-minimal-initramfs.bb | 12 - .../images/moblin-image-minimal-live.bb | 9 - .../packages/images/moblin-image-minimal.bb | 12 - .../images/moblin-image-netbook-directdisk.bb | 10 - .../images/moblin-image-netbook-live.bb | 9 - .../packages/images/moblin-image-netbook.bb | 7 - .../packages/images/moblin-image-sdk-live.bb | 10 - .../packages/images/moblin-image-sdk.bb | 7 - .../packages/json-glib/json-glib_0.6.2.bb | 7 - .../packages/json-glib/json-glib_git.bb | 19 - meta-moblin/packages/libccss/libccss_git.bb | 12 - meta-moblin/packages/libidl/libidl_0.8.12.bb | 16 - .../packages/libjana/libjana/clockpatch.patch | 31 - meta-moblin/packages/libjana/libjana_git.bb | 27 - .../packages/libnotify/libnotify_0.4.4.bb | 10 - meta-moblin/packages/librest/librest_git.bb | 14 - .../libsamplerate/libsamplerate0_0.1.2.bb | 10 - .../files/libsexy-pkgconfig-fixes.patch | 15 - meta-moblin/packages/libsexy/libsexy.inc | 13 - .../packages/libsexy/libsexy_0.1.11.bb | 2 - .../libsndfile/libsndfile1/acincludefix.patch | 26 - .../libsndfile/libsndfile1/add-cxx.patch | 18 - .../packages/libsndfile/libsndfile1_1.0.17.bb | 22 - .../packages/libsocialweb/libsocialweb.inc | 13 - .../packages/libsocialweb/libsocialweb_git.bb | 5 - .../packages/libsynthesis/libsynthesis_git.bb | 18 - .../packages/libunique/libunique_1.0.6.bb | 8 - .../matchbox-session-netbook/session | 5 - .../matchbox-session-netbook_0.1.bb | 223 - ...50079c8bcc63874fd60a61f23d849e025445.patch | 44 - .../moblin-app-installer/opkg.patch | 75 - .../moblin-app-installer_git.bb | 12 - .../moblin-cursor-theme-0.1.tar.bz2 | Bin 106543 -> 0 bytes .../moblin-cursor-theme_0.1.bb | 12 - .../moblin-feed-config-opkg_1.0.bb | 31 - .../moblin-gtk-engine_git.bb | 15 - .../moblin-icon-theme-0.7.tar.gz | Bin 483556 -> 0 bytes .../moblin-icon-theme_0.7.bb | 13 - .../moblin-icon-theme_git.bb | 12 - .../moblin-menus/configurefix.patch | 13 - .../packages/moblin-menus/moblin-menus_git.bb | 13 - .../moblin-sound-theme-0.1.tar.bz2 | Bin 422383 -> 0 bytes .../moblin-sound-theme_0.1.bb | 7 - .../moblin-user-skel/moblin-user-skel_git.bb | 20 - ...d155cc297811720e4c4835d468ac6c4d9666.patch | 35 - ...9b3d3242b7106a22721e73fbb15904a24b2f.patch | 35 - ...71159bef93dc03762195bd5404a51db5e4a6.patch | 35 - .../moblin-web-browser/xpidl.patch | 35 - .../moblin-web-browser_git.bb | 24 - meta-moblin/packages/mojito/mojito.inc | 13 - meta-moblin/packages/mojito/mojito_0.21.7.bb | 1 - meta-moblin/packages/mojito/mojito_git.bb | 5 - meta-moblin/packages/monit/monit-4.10.1/init | 42 - .../packages/monit/monit-4.10.1/nostrip.patch | 13 - meta-moblin/packages/monit/monit_4.10.1.bb | 27 - .../confighack.patch | 13 - .../mozilla-headless-services_git.bb | 14 - ...tk-clipboard-support-to-moz-headless.patch | 1478 -- .../mozilla-headless/autoconffix.patch | 66 - .../mozilla-headless/buildfixhack.patch | 14 - .../configurefix-1a622cb7c384.patch | 764 - .../mozilla-headless/configurefix.patch | 774 - .../mozilla-headless/i386/jsautocfg.h | 21 - .../mozilla-headless/i486/jsautocfg.h | 21 - .../mozilla-headless/i586/jsautocfg.h | 21 - .../mozilla-headless/i686/jsautocfg.h | 21 - .../mozilla-headless/mozconfig | 23 - .../mozilla-headless/mozilla-jemalloc.patch | 24 - .../removebadrpath-1a622cb7c384.patch | 26 - .../mozilla-headless/removebadrpath.patch | 44 - .../mozilla-headless/mozilla-headless_hg.bb | 99 - .../mutter-moblin/files/88mutter-panelapps.sh | 3 - .../mutter-moblin/files/background-tile.png | Bin 194031 -> 0 bytes .../mutter-moblin/files/startup-notify.patch | 51 - .../moblin-panel-applications.inc | 11 - .../moblin-panel-applications_0.1.2.bb | 1 - .../moblin-panel-applications_git.bb | 5 - .../mutter-moblin/moblin-panel-media.inc | 10 - .../mutter-moblin/moblin-panel-media_0.0.7.bb | 1 - .../mutter-moblin/moblin-panel-media_git.bb | 6 - .../mutter-moblin/moblin-panel-myzone.inc | 10 - .../moblin-panel-myzone_0.0.12.bb | 3 - .../mutter-moblin/moblin-panel-myzone_git.bb | 9 - .../mutter-moblin/moblin-panel-pasteboard.inc | 10 - .../moblin-panel-pasteboard_0.0.2.bb | 1 - .../moblin-panel-pasteboard_git.bb | 5 - .../mutter-moblin/moblin-panel-people.inc | 11 - .../moblin-panel-people_0.0.9.bb | 1 - .../mutter-moblin/moblin-panel-people_git.bb | 5 - .../mutter-moblin/moblin-panel-status.inc | 11 - .../moblin-panel-status_0.0.9.bb | 3 - .../mutter-moblin/moblin-panel-status_git.bb | 6 - .../packages/mutter-moblin/mutter-moblin.inc | 50 - .../mutter-moblin/mutter-moblin_0.43.8.bb | 6 - .../mutter-moblin/mutter-moblin_git.bb | 12 - meta-moblin/packages/mx/mx_git.bb | 16 - .../nautilus/nautilus/idl-sysroot.patch | 7 - .../nautilus/no-try-run-strftime.diff | 28 - .../packages/nautilus/nautilus_2.26.1.bb | 29 - meta-moblin/packages/nbtk/nbtk.inc | 15 - meta-moblin/packages/nbtk/nbtk_1.2.3.bb | 1 - meta-moblin/packages/nbtk/nbtk_git.bb | 5 - .../packagekit/gnome-packagekit_2.28.2.bb | 17 - .../packagekit-0.5.6/configurefix.patch | 13 - .../packagekit-0.5.6/opkgfixes.patch | 421 - .../packagekit-0.6.0/configurefix.patch | 13 - .../packagekit-0.6.0/opkgfixes.patch | 421 - .../packages/packagekit/packagekit_0.5.6.bb | 57 - .../pulseaudio/libatomics-ops/doublefix.patch | 25 - .../fedora/libatomic_ops-1.2-ppclwzfix.patch | 15 - .../packages/pulseaudio/libatomics-ops_1.2.bb | 14 - .../libcanberra/autoconf_version.patch | 38 - .../libcanberra/nofallbackfix.patch | 16 - .../packages/pulseaudio/libcanberra_0.10.bb | 22 - .../pulseaudio-0.9.15/alsaerror.patch | 525 - .../pulseaudio-0.9.15/autoconf_version.patch | 13 - .../pulseaudio-0.9.15/buildfix.patch | 13 - .../pulseaudio-0.9.15/fallback.patch | 338 - .../pulseaudio-0.9.15/gcc4-compile-fix.patch | 18 - .../pulseaudio-0.9.15/periodfix.patch | 73 - .../pulseaudio-0.9.15/volatiles.04_pulse | 2 - .../packages/pulseaudio/pulseaudio.inc | 126 - .../packages/pulseaudio/pulseaudio_0.9.15.bb | 18 - .../qmake/qmake-native/linux-oe-qmake.conf | 82 - .../packages/qmake/qmake-native_1.07a.bb | 47 - .../packages/samba/files/config-h.patch | 12 - .../packages/samba/files/config-lfs.patch | 47 - .../samba/files/configure-3.3.0.patch | 87 - .../packages/samba/files/configure.patch | 179 - meta-moblin/packages/samba/files/init | 58 - meta-moblin/packages/samba/files/mtab.patch | 11 - meta-moblin/packages/samba/files/quota.patch | 11 - meta-moblin/packages/samba/files/smb.conf | 266 - meta-moblin/packages/samba/files/tdb.pc | 11 - .../packages/samba/files/tdbheaderfix.patch | 14 - .../packages/samba/files/volatiles.03_samba | 2 - meta-moblin/packages/samba/samba-basic.inc | 25 - meta-moblin/packages/samba/samba.inc | 81 - meta-moblin/packages/samba/samba_3.3.0.bb | 35 - .../sreadahead/files/sreadahead-generate.sh | 21 - .../packages/sreadahead/files/sreadahead.sh | 7 - .../sreadahead-0.02/readahead_c.patch | 29 - .../sreadahead-0.02/set_to_idle.patch | 39 - .../sreadahead-0.02-make.patch | 27 - .../packages/sreadahead/sreadahead_0.02.bb | 48 - .../syncevolution/syncevolution_git.bb | 17 - .../tasks/task-moblin-apps-x11-pimlico.bb | 23 - .../packages/tasks/task-moblin-boot.bb | 42 - meta-moblin/packages/tasks/task-moblin-sdk.bb | 85 - .../task-moblin-standalone-sdk-target.bb | 67 - .../packages/tasks/task-moblin-tools.bb | 58 - .../packages/tasks/task-moblin-x11-netbook.bb | 56 - meta-moblin/packages/tasks/task-moblin.bb | 61 - .../tracker-0.7.18/20-tracker-defaults.patch | 13 - .../packages/tracker/tracker-0.7.18/90tracker | 4 - .../munge-configure.ac-cross-compile.patch | 39 - .../packages/tracker/tracker_0.7.18.bb | 26 - .../twitter-glib/twitter-glib/nodolt.patch | 12 - .../packages/twitter-glib/twitter-glib_git.bb | 17 - .../uicmoc3-native-3.3.5/64bit-cleanup.patch | 160 - .../uicmoc3-native-3.3.5/no-examples.patch | 16 - .../packages/uicmoc/uicmoc3-native_3.3.5.bb | 56 - .../xdg-user-dirs/configurefix.patch | 18 - .../xdg-user-dirs/xdg-user-dirs_0.10.bb | 12 - .../xerces-c/xerces-c/nolocallink.patch | 34 - .../packages/xerces-c/xerces-c_2.8.0.bb | 31 - 468 files changed, 46774 deletions(-) delete mode 100644 meta-extras/COPYING.MIT delete mode 100644 meta-extras/conf/distro/include/poky-extras-src-revisions.inc delete mode 100644 meta-extras/conf/layer.conf delete mode 100644 meta-extras/conf/machine/mx31litekit.conf delete mode 100644 meta-extras/conf/machine/nokia770.conf delete mode 100644 meta-extras/conf/machine/nokia800.conf delete mode 100644 meta-extras/conf/machine/om-gta01.conf delete mode 100644 meta-extras/conf/machine/om-gta02.conf delete mode 100644 meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb delete mode 100644 meta-extras/packages/acct/files/cross-compile.patch delete mode 100644 meta-extras/packages/clutter/clutter-helix.inc delete mode 100644 meta-extras/packages/clutter/clutter-helix_git.bb delete mode 100644 meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch delete mode 100644 meta-extras/packages/clutter/moblin-proto/fix.patch delete mode 100644 meta-extras/packages/clutter/moblin-proto/paths.patch delete mode 100644 meta-extras/packages/clutter/moblin-proto_git.bb delete mode 100644 meta-extras/packages/cx3110x/cx3110x_1.1.bb delete mode 100644 meta-extras/packages/cx3110x/cx3110x_2.0.15.bb delete mode 100644 meta-extras/packages/cx3110x/files/no-linux-config.patch delete mode 100644 meta-extras/packages/eventlog/eventlog_0.2.5.bb delete mode 100644 meta-extras/packages/evince/evince_2.20.0.bb delete mode 100644 meta-extras/packages/evince/evince_svn.bb delete mode 100644 meta-extras/packages/evince/files/no-icon-theme.diff delete mode 100644 meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch delete mode 100644 meta-extras/packages/flumotion/flumotion/python-path.patch delete mode 100644 meta-extras/packages/flumotion/flumotion_0.4.1.bb delete mode 100644 meta-extras/packages/gnome/libbonobo.inc delete mode 100644 meta-extras/packages/gnome/libbonobo/configure-gthread.patch delete mode 100644 meta-extras/packages/gnome/libbonobo/gtk-doc.m4 delete mode 100644 meta-extras/packages/gnome/libbonobo/gtk-doc.make delete mode 100644 meta-extras/packages/gnome/libbonobo_2.22.0.bb delete mode 100644 meta-extras/packages/gnome/libbonoboui_2.18.0.bb delete mode 100644 meta-extras/packages/gnome/orbit2-native_2.14.12.bb delete mode 100644 meta-extras/packages/gnome/orbit2/configure-lossage.patch delete mode 100644 meta-extras/packages/gnome/orbit2/gtk-doc.m4 delete mode 100644 meta-extras/packages/gnome/orbit2/gtk-doc.make delete mode 100644 meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch delete mode 100644 meta-extras/packages/gnome/orbit2_2.14.16.bb delete mode 100644 meta-extras/packages/helix/helix-libs.bb delete mode 100644 meta-extras/packages/helix/helix-libs/add-clutter.patch delete mode 100644 meta-extras/packages/helix/helix-libs/helix-player.pc delete mode 100644 meta-extras/packages/helix/helix-libs/hxclient.pc delete mode 100644 meta-extras/packages/helix/ribosome.bb delete mode 100644 meta-extras/packages/helix/ribosome/buildrc delete mode 100755 meta-extras/packages/helix/ribosome/clutter.bif delete mode 100644 meta-extras/packages/images/poky-image-extras.bb delete mode 100644 meta-extras/packages/libol/libol_0.3.18.bb delete mode 100644 meta-extras/packages/librds/librds_0.0.1.bb delete mode 100644 meta-extras/packages/libxosd/files/autofoo.patch delete mode 100644 meta-extras/packages/libxosd/files/use-sane-default-font.patch delete mode 100644 meta-extras/packages/libxosd/libxosd_svn.bb delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch delete mode 100644 meta-extras/packages/linux/linux-nokia800.inc delete mode 100644 meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb delete mode 100644 meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb delete mode 100644 meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb delete mode 100644 meta-extras/packages/linux/linux-openmoko.inc delete mode 100644 meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch delete mode 100644 meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb delete mode 100644 meta-extras/packages/lirc/files/lirc_sir-sa1100.patch delete mode 100644 meta-extras/packages/lirc/files/lircd.conf_nslu2 delete mode 100755 meta-extras/packages/lirc/files/lircd.init delete mode 100755 meta-extras/packages/lirc/files/lircexec.init delete mode 100755 meta-extras/packages/lirc/files/lircmd.init delete mode 100644 meta-extras/packages/lirc/files/lircrc_nslu2 delete mode 100644 meta-extras/packages/lirc/files/split-hauppauge.patch delete mode 100644 meta-extras/packages/lirc/lirc-config.inc delete mode 100644 meta-extras/packages/lirc/lirc-modules_0.8.3.bb delete mode 100644 meta-extras/packages/lirc/lirc_0.8.3.bb delete mode 100644 meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch delete mode 100644 meta-extras/packages/llvm/llvm-native_svn.bb delete mode 100644 meta-extras/packages/madplay/madplay_0.15.2b.bb delete mode 100644 meta-extras/packages/maemo-mapper/files/fix_segfault.patch delete mode 100644 meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb delete mode 100644 meta-extras/packages/maemo/nokia770-init/fixup-770.sh delete mode 100644 meta-extras/packages/maemo/nokia770-init_1.0.bb delete mode 100644 meta-extras/packages/maemo/xpext/auxdir.patch delete mode 100644 meta-extras/packages/maemo/xpext_1.0-5.bb delete mode 100644 meta-extras/packages/maemo/xsp_1.0.0-8.bb delete mode 100644 meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb delete mode 100644 meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb delete mode 100644 meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb delete mode 100644 meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb delete mode 100644 meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb delete mode 100644 meta-extras/packages/matchbox-common/matchbox-common_svn.bb delete mode 100644 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop delete mode 100755 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home delete mode 100644 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop delete mode 100755 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh delete mode 100644 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png delete mode 100644 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb delete mode 100644 meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb delete mode 100644 meta-extras/packages/matchbox-panel/matchbox-panel.inc delete mode 100644 meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb delete mode 100644 meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb delete mode 100644 meta-extras/packages/mozilla/files/eabi-fix.patch delete mode 100644 meta-extras/packages/mozilla/files/eabi-fix2.patch delete mode 100644 meta-extras/packages/mozilla/files/eabi-fix3.patch delete mode 100644 meta-extras/packages/mozilla/files/minimo.desktop delete mode 100644 meta-extras/packages/mozilla/files/minimo.png delete mode 100644 meta-extras/packages/mozilla/minimo/bug-322806.diff delete mode 100644 meta-extras/packages/mozilla/minimo/minimo delete mode 100644 meta-extras/packages/mozilla/minimo/minimo.patch delete mode 100644 meta-extras/packages/mozilla/minimo/minimo.png delete mode 100644 meta-extras/packages/mozilla/minimo/mozconfig delete mode 100644 meta-extras/packages/mozilla/minimo_cvs.bb delete mode 100644 meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg delete mode 100644 meta-extras/packages/networkmanager/files/99_networkmanager delete mode 100644 meta-extras/packages/networkmanager/files/NetworkManager delete mode 100644 meta-extras/packages/networkmanager/files/allow-disabling.patch delete mode 100644 meta-extras/packages/networkmanager/files/applet-no-animation.patch delete mode 100644 meta-extras/packages/networkmanager/files/applet-no-gnome.diff delete mode 100644 meta-extras/packages/networkmanager/files/libnlfix.patch delete mode 100644 meta-extras/packages/networkmanager/files/makefile-fix.patch delete mode 100644 meta-extras/packages/networkmanager/files/nmutil-fix.patch delete mode 100644 meta-extras/packages/networkmanager/files/no-restarts.diff delete mode 100644 meta-extras/packages/networkmanager/files/no_vpn.patch delete mode 100644 meta-extras/packages/networkmanager/networkmanager-applet_svn.bb delete mode 100644 meta-extras/packages/networkmanager/networkmanager_svn.bb delete mode 100644 meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch delete mode 100644 meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb delete mode 100755 meta-extras/packages/osc/osc-native_svn.bb delete mode 100644 meta-extras/packages/prism-firmware/prism-firmware.bb delete mode 100644 meta-extras/packages/prism-firmware/prism-firmware/hostap.rules delete mode 100644 meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh delete mode 100644 meta-extras/packages/python/python-iniparse-native_0.3.2.bb delete mode 100644 meta-extras/packages/python/python-iniparse_0.3.2.bb delete mode 100644 meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb delete mode 100644 meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch delete mode 100644 meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch delete mode 100644 meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch delete mode 100644 meta-extras/packages/python/python-urlgrabber_3.9.1.bb delete mode 100644 meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb delete mode 100644 meta-extras/packages/python/yum-metadata-parser_1.1.4.bb delete mode 100644 meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch delete mode 100644 meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf delete mode 100644 meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch delete mode 100644 meta-extras/packages/qmake/qmake2-cross_2.10a.bb delete mode 100644 meta-extras/packages/redland/files/crosscompile.patch delete mode 100644 meta-extras/packages/redland/files/sane_pkgconfig.patch delete mode 100644 meta-extras/packages/redland/redland_1.0.8.bb delete mode 100644 meta-extras/packages/smart/smart_1.1.bb delete mode 100644 meta-extras/packages/spectrum-fw/spectrum-fw.bb delete mode 100755 meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw delete mode 100755 meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw delete mode 100644 meta-extras/packages/syslog-ng/files/initscript delete mode 100644 meta-extras/packages/syslog-ng/files/syslog-ng.conf delete mode 100644 meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb delete mode 100644 meta-extras/packages/tasks/task-poky-extras.bb delete mode 100644 meta-extras/packages/tasks/task-poky-x11-netbook.bb delete mode 100644 meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch delete mode 100644 meta-extras/packages/twisted/twisted_2.5.0.bb delete mode 100644 meta-extras/packages/uicmoc/uicmoc4-native.inc delete mode 100644 meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb delete mode 100644 meta-extras/packages/xorg-app/iceauth_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/luit_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/oclock_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/rgb_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/sessreg_1.0.4.bb delete mode 100644 meta-extras/packages/xorg-app/twm_1.0.4.bb delete mode 100644 meta-extras/packages/xorg-app/xbiff_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xclipboard_1.1.0.bb delete mode 100644 meta-extras/packages/xorg-app/xclock_1.0.4.bb delete mode 100644 meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xconsole_1.0.3.bb delete mode 100644 meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xfd_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xfontsel_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xgamma_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xkbevd_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xkbprint_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xkbutils_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xkill_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xload_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xlogo_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xlsclients_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xmag_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xmessage_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xorg-app-common.inc delete mode 100644 meta-extras/packages/xorg-app/xpr_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xrefresh_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xsetroot_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xterm_207.bb delete mode 100644 meta-extras/packages/xorg-app/xtrap_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xvidtune_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xvinfo_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xwd_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xwud_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-data/xorg-data-common.inc delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb delete mode 100644 meta-extras/packages/yum/createrepo-native/pathfix.patch delete mode 100644 meta-extras/packages/yum/createrepo-native_0.9.8.bb delete mode 100644 meta-extras/packages/yum/files/98_yum delete mode 100644 meta-extras/packages/yum/files/extract-postinst.awk delete mode 100644 meta-extras/packages/yum/files/fix delete mode 100644 meta-extras/packages/yum/files/hacks.patch delete mode 100644 meta-extras/packages/yum/files/paths.patch delete mode 100644 meta-extras/packages/yum/files/paths2.patch delete mode 100755 meta-extras/packages/yum/files/yum-install-recommends.py delete mode 100644 meta-extras/packages/yum/yum_3.2.27.bb delete mode 100644 meta-extras/packages/zope/zope_3.3.1.bb delete mode 100644 meta-moblin/classes/moblin-feed-incremental-bleeding.bbclass delete mode 100644 meta-moblin/classes/moblin-image.bbclass delete mode 100644 meta-moblin/classes/qt3e.bbclass delete mode 100644 meta-moblin/classes/qt3x11.bbclass delete mode 100644 meta-moblin/classes/qt4x11.bbclass delete mode 100644 meta-moblin/classes/qtopia4core.bbclass delete mode 100644 meta-moblin/conf/distro/include/meta-moblin-scm-revisions.inc delete mode 100644 meta-moblin/conf/distro/include/moblin-2.0-fixed-revisions.inc delete mode 100644 meta-moblin/conf/distro/include/moblin-fixed-revisions.inc delete mode 100644 meta-moblin/conf/distro/include/moblin-floating-revisions.inc delete mode 100644 meta-moblin/conf/distro/moblin-bleeding.conf delete mode 100644 meta-moblin/conf/distro/moblin.conf delete mode 100644 meta-moblin/conf/layer.conf delete mode 100644 meta-moblin/packages/anerley/anerley.inc delete mode 100644 meta-moblin/packages/anerley/anerley_0.1.7.bb delete mode 100644 meta-moblin/packages/anerley/anerley_git.bb delete mode 100644 meta-moblin/packages/bickley/bickley.inc delete mode 100644 meta-moblin/packages/bickley/bickley_0.4.bb delete mode 100644 meta-moblin/packages/bickley/bickley_git.bb delete mode 100644 meta-moblin/packages/bisho/bisho.inc delete mode 100644 meta-moblin/packages/bisho/bisho_0.17.1.bb delete mode 100644 meta-moblin/packages/bisho/bisho_git.bb delete mode 100644 meta-moblin/packages/bognor-regis/bognor-regis.inc delete mode 100644 meta-moblin/packages/bognor-regis/bognor-regis_0.5.0.bb delete mode 100644 meta-moblin/packages/bognor-regis/bognor-regis_git.bb delete mode 100644 meta-moblin/packages/carrick/carrick.inc delete mode 100644 meta-moblin/packages/carrick/carrick_1.1.13.bb delete mode 100644 meta-moblin/packages/carrick/carrick_git.bb delete mode 100644 meta-moblin/packages/clutter-imcontext/clutter-imcontext_git.bb delete mode 100644 meta-moblin/packages/clutter/clutter-mozembed.inc delete mode 100644 meta-moblin/packages/clutter/clutter-mozembed/link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch delete mode 100644 meta-moblin/packages/clutter/clutter-mozembed/link-with-g++.patch delete mode 100644 meta-moblin/packages/clutter/clutter-mozembed_git.bb delete mode 100644 meta-moblin/packages/consolekit/consolekit_0.3.0.bb delete mode 100644 meta-moblin/packages/consolekit/files/nopolkit.patch delete mode 100644 meta-moblin/packages/dalston/dalston.inc delete mode 100644 meta-moblin/packages/dalston/dalston_0.1.12.bb delete mode 100644 meta-moblin/packages/dalston/dalston_git.bb delete mode 100644 meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-fontconfig.conf delete mode 100644 meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-mono-fontconfig.conf delete mode 100644 meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-serif-fontconfig.conf delete mode 100644 meta-moblin/packages/droid-fonts/droid-fonts_1.0.112.bb delete mode 100644 meta-moblin/packages/gmime/gmime/iconv-detect.h delete mode 100644 meta-moblin/packages/gmime/gmime/nodolt.patch delete mode 100644 meta-moblin/packages/gmime/gmime_2.4.10.bb delete mode 100644 meta-moblin/packages/gnet/files/buildfix.patch delete mode 100644 meta-moblin/packages/gnet/files/configure_fix.patch delete mode 100644 meta-moblin/packages/gnet/files/pkgconfig_fix.patch delete mode 100644 meta-moblin/packages/gnet/gnet_svn.bb delete mode 100644 meta-moblin/packages/gnome/gnome-menus_2.24.1.bb delete mode 100644 meta-moblin/packages/gnome/gvfs_1.0.2.bb delete mode 100644 meta-moblin/packages/gnome/mobile-broadband-provider-info/fixpkgconfig.patch delete mode 100644 meta-moblin/packages/gnome/mobile-broadband-provider-info_git.bb delete mode 100644 meta-moblin/packages/hornsey/Makefile.am delete mode 100644 meta-moblin/packages/hornsey/hornsey.inc delete mode 100644 meta-moblin/packages/hornsey/hornsey_1.0.bb delete mode 100644 meta-moblin/packages/hornsey/hornsey_git.bb delete mode 100644 meta-moblin/packages/images/moblin-image-directdisk.inc delete mode 100644 meta-moblin/packages/images/moblin-image-live.inc delete mode 100644 meta-moblin/packages/images/moblin-image-minimal-initramfs.bb delete mode 100644 meta-moblin/packages/images/moblin-image-minimal-live.bb delete mode 100644 meta-moblin/packages/images/moblin-image-minimal.bb delete mode 100644 meta-moblin/packages/images/moblin-image-netbook-directdisk.bb delete mode 100644 meta-moblin/packages/images/moblin-image-netbook-live.bb delete mode 100644 meta-moblin/packages/images/moblin-image-netbook.bb delete mode 100644 meta-moblin/packages/images/moblin-image-sdk-live.bb delete mode 100644 meta-moblin/packages/images/moblin-image-sdk.bb delete mode 100644 meta-moblin/packages/json-glib/json-glib_0.6.2.bb delete mode 100644 meta-moblin/packages/json-glib/json-glib_git.bb delete mode 100644 meta-moblin/packages/libccss/libccss_git.bb delete mode 100644 meta-moblin/packages/libidl/libidl_0.8.12.bb delete mode 100644 meta-moblin/packages/libjana/libjana/clockpatch.patch delete mode 100644 meta-moblin/packages/libjana/libjana_git.bb delete mode 100644 meta-moblin/packages/libnotify/libnotify_0.4.4.bb delete mode 100644 meta-moblin/packages/librest/librest_git.bb delete mode 100644 meta-moblin/packages/libsamplerate/libsamplerate0_0.1.2.bb delete mode 100644 meta-moblin/packages/libsexy/files/libsexy-pkgconfig-fixes.patch delete mode 100644 meta-moblin/packages/libsexy/libsexy.inc delete mode 100644 meta-moblin/packages/libsexy/libsexy_0.1.11.bb delete mode 100644 meta-moblin/packages/libsndfile/libsndfile1/acincludefix.patch delete mode 100644 meta-moblin/packages/libsndfile/libsndfile1/add-cxx.patch delete mode 100644 meta-moblin/packages/libsndfile/libsndfile1_1.0.17.bb delete mode 100644 meta-moblin/packages/libsocialweb/libsocialweb.inc delete mode 100644 meta-moblin/packages/libsocialweb/libsocialweb_git.bb delete mode 100644 meta-moblin/packages/libsynthesis/libsynthesis_git.bb delete mode 100644 meta-moblin/packages/libunique/libunique_1.0.6.bb delete mode 100644 meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook/session delete mode 100644 meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0.1.bb delete mode 100644 meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch delete mode 100644 meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg.patch delete mode 100644 meta-moblin/packages/moblin-app-installer/moblin-app-installer_git.bb delete mode 100644 meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme-0.1/moblin-cursor-theme-0.1.tar.bz2 delete mode 100644 meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme_0.1.bb delete mode 100644 meta-moblin/packages/moblin-feeds/moblin-feed-config-opkg_1.0.bb delete mode 100644 meta-moblin/packages/moblin-gtk-engine/moblin-gtk-engine_git.bb delete mode 100644 meta-moblin/packages/moblin-icon-theme/moblin-icon-theme-0.7/moblin-icon-theme-0.7.tar.gz delete mode 100644 meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_0.7.bb delete mode 100644 meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_git.bb delete mode 100644 meta-moblin/packages/moblin-menus/moblin-menus/configurefix.patch delete mode 100644 meta-moblin/packages/moblin-menus/moblin-menus_git.bb delete mode 100644 meta-moblin/packages/moblin-sound-theme/moblin-sound-theme-0.1/moblin-sound-theme-0.1.tar.bz2 delete mode 100644 meta-moblin/packages/moblin-sound-theme/moblin-sound-theme_0.1.bb delete mode 100644 meta-moblin/packages/moblin-user-skel/moblin-user-skel_git.bb delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-78ddd155cc297811720e4c4835d468ac6c4d9666.patch delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-88f69b3d3242b7106a22721e73fbb15904a24b2f.patch delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-a3ea71159bef93dc03762195bd5404a51db5e4a6.patch delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl.patch delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser_git.bb delete mode 100644 meta-moblin/packages/mojito/mojito.inc delete mode 100644 meta-moblin/packages/mojito/mojito_0.21.7.bb delete mode 100644 meta-moblin/packages/mojito/mojito_git.bb delete mode 100644 meta-moblin/packages/monit/monit-4.10.1/init delete mode 100644 meta-moblin/packages/monit/monit-4.10.1/nostrip.patch delete mode 100644 meta-moblin/packages/monit/monit_4.10.1.bb delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless-services/confighack.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless-services_git.bb delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/autoconffix.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/buildfixhack.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/mozconfig delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless_hg.bb delete mode 100644 meta-moblin/packages/mutter-moblin/files/88mutter-panelapps.sh delete mode 100644 meta-moblin/packages/mutter-moblin/files/background-tile.png delete mode 100644 meta-moblin/packages/mutter-moblin/files/startup-notify.patch delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-applications.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-applications_0.1.2.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-applications_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-media.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-media_0.0.7.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-media_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-myzone.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-myzone_0.0.12.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-myzone_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_0.0.2.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-people.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-people_0.0.9.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-people_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-status.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-status_0.0.9.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-status_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/mutter-moblin.inc delete mode 100644 meta-moblin/packages/mutter-moblin/mutter-moblin_0.43.8.bb delete mode 100644 meta-moblin/packages/mutter-moblin/mutter-moblin_git.bb delete mode 100644 meta-moblin/packages/mx/mx_git.bb delete mode 100644 meta-moblin/packages/nautilus/nautilus/idl-sysroot.patch delete mode 100644 meta-moblin/packages/nautilus/nautilus/no-try-run-strftime.diff delete mode 100644 meta-moblin/packages/nautilus/nautilus_2.26.1.bb delete mode 100644 meta-moblin/packages/nbtk/nbtk.inc delete mode 100644 meta-moblin/packages/nbtk/nbtk_1.2.3.bb delete mode 100644 meta-moblin/packages/nbtk/nbtk_git.bb delete mode 100644 meta-moblin/packages/packagekit/gnome-packagekit_2.28.2.bb delete mode 100644 meta-moblin/packages/packagekit/packagekit-0.5.6/configurefix.patch delete mode 100644 meta-moblin/packages/packagekit/packagekit-0.5.6/opkgfixes.patch delete mode 100644 meta-moblin/packages/packagekit/packagekit-0.6.0/configurefix.patch delete mode 100644 meta-moblin/packages/packagekit/packagekit-0.6.0/opkgfixes.patch delete mode 100644 meta-moblin/packages/packagekit/packagekit_0.5.6.bb delete mode 100644 meta-moblin/packages/pulseaudio/libatomics-ops/doublefix.patch delete mode 100644 meta-moblin/packages/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch delete mode 100644 meta-moblin/packages/pulseaudio/libatomics-ops_1.2.bb delete mode 100644 meta-moblin/packages/pulseaudio/libcanberra/autoconf_version.patch delete mode 100644 meta-moblin/packages/pulseaudio/libcanberra/nofallbackfix.patch delete mode 100644 meta-moblin/packages/pulseaudio/libcanberra_0.10.bb delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/alsaerror.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/autoconf_version.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/buildfix.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/fallback.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/gcc4-compile-fix.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/periodfix.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/volatiles.04_pulse delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio.inc delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio_0.9.15.bb delete mode 100644 meta-moblin/packages/qmake/qmake-native/linux-oe-qmake.conf delete mode 100644 meta-moblin/packages/qmake/qmake-native_1.07a.bb delete mode 100644 meta-moblin/packages/samba/files/config-h.patch delete mode 100644 meta-moblin/packages/samba/files/config-lfs.patch delete mode 100644 meta-moblin/packages/samba/files/configure-3.3.0.patch delete mode 100644 meta-moblin/packages/samba/files/configure.patch delete mode 100644 meta-moblin/packages/samba/files/init delete mode 100644 meta-moblin/packages/samba/files/mtab.patch delete mode 100644 meta-moblin/packages/samba/files/quota.patch delete mode 100644 meta-moblin/packages/samba/files/smb.conf delete mode 100644 meta-moblin/packages/samba/files/tdb.pc delete mode 100644 meta-moblin/packages/samba/files/tdbheaderfix.patch delete mode 100644 meta-moblin/packages/samba/files/volatiles.03_samba delete mode 100644 meta-moblin/packages/samba/samba-basic.inc delete mode 100644 meta-moblin/packages/samba/samba.inc delete mode 100644 meta-moblin/packages/samba/samba_3.3.0.bb delete mode 100755 meta-moblin/packages/sreadahead/files/sreadahead-generate.sh delete mode 100755 meta-moblin/packages/sreadahead/files/sreadahead.sh delete mode 100644 meta-moblin/packages/sreadahead/sreadahead-0.02/readahead_c.patch delete mode 100644 meta-moblin/packages/sreadahead/sreadahead-0.02/set_to_idle.patch delete mode 100644 meta-moblin/packages/sreadahead/sreadahead-0.02/sreadahead-0.02-make.patch delete mode 100644 meta-moblin/packages/sreadahead/sreadahead_0.02.bb delete mode 100644 meta-moblin/packages/syncevolution/syncevolution_git.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-apps-x11-pimlico.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-boot.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-sdk.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-standalone-sdk-target.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-tools.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-x11-netbook.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin.bb delete mode 100644 meta-moblin/packages/tracker/tracker-0.7.18/20-tracker-defaults.patch delete mode 100755 meta-moblin/packages/tracker/tracker-0.7.18/90tracker delete mode 100644 meta-moblin/packages/tracker/tracker-0.7.18/munge-configure.ac-cross-compile.patch delete mode 100644 meta-moblin/packages/tracker/tracker_0.7.18.bb delete mode 100644 meta-moblin/packages/twitter-glib/twitter-glib/nodolt.patch delete mode 100644 meta-moblin/packages/twitter-glib/twitter-glib_git.bb delete mode 100644 meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch delete mode 100644 meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch delete mode 100644 meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb delete mode 100644 meta-moblin/packages/xdg-user-dirs/xdg-user-dirs/configurefix.patch delete mode 100644 meta-moblin/packages/xdg-user-dirs/xdg-user-dirs_0.10.bb delete mode 100644 meta-moblin/packages/xerces-c/xerces-c/nolocallink.patch delete mode 100644 meta-moblin/packages/xerces-c/xerces-c_2.8.0.bb diff --git a/meta-extras/COPYING.MIT b/meta-extras/COPYING.MIT deleted file mode 100644 index fb950dc69fe..00000000000 --- a/meta-extras/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-extras/conf/distro/include/poky-extras-src-revisions.inc b/meta-extras/conf/distro/include/poky-extras-src-revisions.inc deleted file mode 100644 index 4fc380ad844..00000000000 --- a/meta-extras/conf/distro/include/poky-extras-src-revisions.inc +++ /dev/null @@ -1,6 +0,0 @@ -SRCREV_pn-evince ??= "2437" -SRCDATE_maemo-mapper-nohildon ??= "20061114" -SRCREV_pn-libxosd ??= "627" -SRCREV_pn-matchbox-applet-light ??= "1548" -SRCREV_pn-matchbox-common ??= "1561" - diff --git a/meta-extras/conf/layer.conf b/meta-extras/conf/layer.conf deleted file mode 100644 index c992abc9f69..00000000000 --- a/meta-extras/conf/layer.conf +++ /dev/null @@ -1,11 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH := "${BBPATH}:${LAYERDIR}" - -# We have a packages directory, add to BBFILES -BBFILES := "${BBFILES} ${LAYERDIR}/packages/*/*.bb" - -BBFILE_COLLECTIONS += "extras" -BBFILE_PATTERN_extras := "^${LAYERDIR}/" -BBFILE_PRIORITY_extras = "5" - -require conf/distro/include/poky-extras-src-revisions.inc diff --git a/meta-extras/conf/machine/mx31litekit.conf b/meta-extras/conf/machine/mx31litekit.conf deleted file mode 100644 index 2dc28837597..00000000000 --- a/meta-extras/conf/machine/mx31litekit.conf +++ /dev/null @@ -1,14 +0,0 @@ -#@TYPE: Machine -#@NAME: imx31 Lite Kit -#@DESCRIPTION: Machine configuration for the imx31 based Lite Kit -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6" - -PREFERRED_PROVIDER_virtual/kernel = "linux-mx31" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth irda screen touchscreen" - -IMAGE_FSTYPES ?= "tar.gz" -SERIAL_CONSOLE = "-L 115200 ttymxc0" - -require conf/machine/include/tune-arm1136jf-s.inc diff --git a/meta-extras/conf/machine/nokia770.conf b/meta-extras/conf/machine/nokia770.conf deleted file mode 100644 index c8b4c3c9129..00000000000 --- a/meta-extras/conf/machine/nokia770.conf +++ /dev/null @@ -1,35 +0,0 @@ -#@TYPE: Machine -#@NAME: Nokia 770 internet tablet -#@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap" -PREFERRED_PROVIDER_virtual/bootloader = "" - -XSERVER = "xserver-kdrive-xomap" - -# 800x480 is big enough for me -GUI_MACHINE_CLASS = "bigscreen" - -require conf/machine/include/tune-arm926ejs.inc - -#size of the root partition (yes, it is 123 MB) -ROOT_FLASH_SIZE = "123" -EXTRA_IMAGECMD_jffs2_nokia770 = "--pad --little-endian --eraseblock=0x20000 -n" - -IMAGE_FSTYPES ?= "jffs2" - -# serial console port on devboard rev. B3 -SERIAL_CONSOLE = "115200 ttyS0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800" - -#use this if you are using the nokia initfs -ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; " - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost screen vfat" -MACHINE_EXTRA_RDEPENDS = "usbinit" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init" - -KERNEL_IMAGE_MAXSIZE = "2097152" diff --git a/meta-extras/conf/machine/nokia800.conf b/meta-extras/conf/machine/nokia800.conf deleted file mode 100644 index fb2cd02b038..00000000000 --- a/meta-extras/conf/machine/nokia800.conf +++ /dev/null @@ -1,30 +0,0 @@ -#@TYPE: Machine -#@NAME: Nokia 800/810 internet tablet -#@DESCRIPTION: Machine configuration for the Nokia 800/810 -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap" -XSERVER = "xserver-kdrive-xomap" - -GUI_MACHINE_CLASS = "bigscreen" - -require conf/machine/include/tune-arm1136jf-s.inc - -ROOT_FLASH_SIZE = "174" -EXTRA_IMAGECMD_jffs2_nokia800 = "--pad --little-endian --eraseblock=0x20000 -n" - -IMAGE_FSTYPES ?= "jffs2" - -SERIAL_CONSOLE = "-L 115200 ttyS0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800" - -#use this if you are using the nokia initfs -ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; " - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost vfat" -MACHINE_EXTRA_RDEPENDS = "cx3110x usbinit" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init" - -KERNEL_IMAGE_MAXSIZE = "2097152" diff --git a/meta-extras/conf/machine/om-gta01.conf b/meta-extras/conf/machine/om-gta01.conf deleted file mode 100644 index f40457e226d..00000000000 --- a/meta-extras/conf/machine/om-gta01.conf +++ /dev/null @@ -1,48 +0,0 @@ -#----------------------------------------------------------------------------- -#@TYPE: Machine -#@NAME: FIC GTA01 (Neo1973) -#@DESCRIPTION: Machine configuration for the FIC Neo1973/1 GSM phone -#----------------------------------------------------------------------------- - -TARGET_ARCH = "arm" -MACHINE_CLASS = "neo1973" -PACKAGE_EXTRA_ARCHS = "armv4t fic-gta01 ${MACHINE_CLASS}" - -PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko" -UBOOT_ENTRYPOINT = "30008000" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone vfat ext2" -MACHINE_DISPLAY_WIDTH_PIXELS = "480" -MACHINE_DISPLAY_HEIGHT_PIXELS = "640" -MACHINE_DISPLAY_ORIENTATION = "0" -MACHINE_DISPLAY_PPI = "285" -XSERVER = "xserver-kdrive-fbdev" - -MACHINE_EXTRA_RDEPENDS = "usbinit" -# package machine specific modules -MACHINE_EXTRA_RRECOMMENDS = "\ - kernel-module-gta01-pm-bt \ - kernel-module-gta01-pm-gps \ - kernel-module-gta01-pm-gsm \ - kernel-module-gta01kbd \ - kernel-module-s3cmci \ - kernel-module-snd-soc-neo1973-wm8753 \ - kernel-module-snd-soc-smdk2440 \ -" - -# do not outcomment, we bypass the sysvinit.bb logic here -- see FIC GTA01 inittab -#SERIAL_CONSOLE = "115200 ttySAC0" - -# used by some images -ROOT_FLASH_SIZE = "60" - -# extra jffs2 tweaks -IMAGE_FSTYPES ?= "jffs2" -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x4000 --pad -n" - -# build / upload tools -#EXTRA_IMAGEDEPENDS += "dfu-util-native" - -# tune for S3C24x0 -include conf/machine/include/tune-arm920t.inc - diff --git a/meta-extras/conf/machine/om-gta02.conf b/meta-extras/conf/machine/om-gta02.conf deleted file mode 100644 index 55f4bec21d3..00000000000 --- a/meta-extras/conf/machine/om-gta02.conf +++ /dev/null @@ -1,49 +0,0 @@ -#----------------------------------------------------------------------------- -#@TYPE: Machine -#@NAME: FIC GTA02 (Neo1973) -#@DESCRIPTION: Machine configuration for the FIC Neo1973/2 GSM phone -#----------------------------------------------------------------------------- - -TARGET_ARCH = "arm" -MACHINE_CLASS = "neo1973" -PACKAGE_EXTRA_ARCHS = "armv4t fic-gta02 ${MACHINE_CLASS}" - -PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko" -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-glamo" -UBOOT_ENTRYPOINT = "30008000" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone wifi vfat ext2" -MACHINE_DISPLAY_WIDTH_PIXELS = "480" -MACHINE_DISPLAY_HEIGHT_PIXELS = "640" -MACHINE_DISPLAY_ORIENTATION = "0" -MACHINE_DISPLAY_PPI = "285" -XSERVER = "xserver-kdrive-glamo xserver-kdrive-fbdev" - -# package machine specific modules -MACHINE_EXTRA_RRECOMMENDS = "\ - kernel-module-gta01-pm-bt \ - kernel-module-gta01-pm-gps \ - kernel-module-gta01-pm-gsm \ - kernel-module-gta01kbd \ - kernel-module-s3cmci \ - kernel-module-snd-soc-neo1973-gta02-wm8753 \ -" - -SERIAL_CONSOLE = "115200 ttySAC2" - -# used by some images -ROOT_FLASH_SIZE = "256" - -# extra jffs2 tweaks -IMAGE_FSTYPES ?= "jffs2" -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 \ - --no-cleanmarkers --pad -n ; sumtool --eraseblock=0x20000 --no-cleanmarkers \ - --littleendian --pad \ - -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary" - -# build / upload tools -#EXTRA_IMAGEDEPENDS += "sjf2410-linux-native dfu-util-native" - -# tune for S3C24x0 -include conf/machine/include/tune-arm920t.inc diff --git a/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb b/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb deleted file mode 100644 index 078013c39bd..00000000000 --- a/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb +++ /dev/null @@ -1,9 +0,0 @@ -LICENSE = "GPL" -DESCRIPTION = "GNU Accounting Utilities - user and process accounting." - -SRC_URI = "http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/acct-6.4-pre1.tar.gz \ - file://cross-compile.patch;patch=1" - -S = "${WORKDIR}/acct-6.4-pre1" - -inherit autotools diff --git a/meta-extras/packages/acct/files/cross-compile.patch b/meta-extras/packages/acct/files/cross-compile.patch deleted file mode 100644 index 78b57104c78..00000000000 --- a/meta-extras/packages/acct/files/cross-compile.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -ur acct-6.4-pre1.org/configure.in acct-6.4-pre1/configure.in ---- acct-6.4-pre1.org/configure.in 2006-01-07 23:56:46.000000000 +0200 -+++ acct-6.4-pre1/configure.in 2006-08-03 21:16:17.000000000 +0300 -@@ -87,6 +87,10 @@ - ACCTON_MAN=accton.8 - LASTCOMM_MAN=lastcomm.1 - SA_MAN=sa.8 -+ WTMP_FILE_LOC=/var/log/wtmp -+ ACCT_FILE_LOC=/var/account/pacct -+ SAVACCT_FILE_LOC=/var/account/savacct -+ USRACCT_FILE_LOC=/var/account/usracct - AC_DEFINE(HAVE_ACUTIME, , - [Define if has the AC_UTIME field.]) - AC_DEFINE(ACUTIME_COMPT, , -@@ -130,6 +134,10 @@ - ACCTON_MAN=accton.8 - LASTCOMM_MAN=lastcomm.1 - SA_MAN=sa.8 -+ WTMP_FILE_LOC=/var/log/wtmp -+ ACCT_FILE_LOC=/var/account/pacct -+ SAVACCT_FILE_LOC=/var/account/savacct -+ USRACCT_FILE_LOC=/var/account/usracct - AC_HEADER_EGREP(ac_utime, sys/acct.h, - AC_DEFINE(HAVE_ACUTIME, , - [Define if has the AC_UTIME field.]) -@@ -277,7 +285,7 @@ - } - ], . ./locs; rm locs, - echo "Error -- could not locate your wtmp and acct files."; exit 1, -- echo "Sorry -- you cannot cross-compile this package (FIXME)."; exit 1 ) -+ echo "Cross-compiling - cannot find out accounting file locations - using Linux defaults."; ) - AC_TYPE_PID_T dnl for sys/acct.h - AC_TYPE_UID_T dnl same as above - AC_TYPE_SIZE_T diff --git a/meta-extras/packages/clutter/clutter-helix.inc b/meta-extras/packages/clutter/clutter-helix.inc deleted file mode 100644 index 6bbbb244d77..00000000000 --- a/meta-extras/packages/clutter/clutter-helix.inc +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "Clutter Helix" -HOMEPAGE = "http://www.clutter-project.org/" -LICENSE = "LGPL" - -DEPENDS = "helix-libs" - -FILESPATH = "${FILE_DIRNAME}/clutter-helix" - -COMPATIBLE_HOST = '(x86_64|i.86.*)-linux' - -PACKAGES =+ "${PN}-examples" -FILES_${PN}-examples = "${bindir}/video-player ${bindir}/audio-player" - -inherit autotools pkgconfig gtk-doc - diff --git a/meta-extras/packages/clutter/clutter-helix_git.bb b/meta-extras/packages/clutter/clutter-helix_git.bb deleted file mode 100644 index 1c272306bf0..00000000000 --- a/meta-extras/packages/clutter/clutter-helix_git.bb +++ /dev/null @@ -1,8 +0,0 @@ -require clutter-helix.inc - -PV = "0.8.0+git${SRCPV}" -PR = "r0" - -SRC_URI = "git://git.clutter-project.org/clutter-helix.git;protocol=git" - -S = "${WORKDIR}/git" diff --git a/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch b/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch deleted file mode 100644 index 4a3eddb8cdc..00000000000 --- a/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/Makefile b/Makefile -index e05b5b7..c348a1e 100644 ---- a/Makefile -+++ b/Makefile -@@ -64,7 +64,7 @@ HFILES = $(wildcard *.h) - %.o: %.c $(HFILES) - $(CC) -g $(CFLAGS) $(INCS) -c $< -o$@ - $(BINARY): $(OBJECTS) -- $(CXX) -o $@ $(OBJECTS) $(LIBS) -+ $(CXX) -rdynamic -o $@ $(OBJECTS) $(LIBS) - - #$(BINARY): $(CFILES) - # $(LD) $(CFLAGS) $(INCS) $(CFILES) $(LIBS) -o $@ -diff --git a/moblin-desktop.c b/moblin-desktop.c -index 6dd4f2c..fb9d231 100644 ---- a/moblin-desktop.c -+++ b/moblin-desktop.c -@@ -103,6 +103,8 @@ void moblin_blur (void) - if (desktop->maincopy) - return; - -+ if (clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL)) -+ { - #if 0 - desktop->maincopy = clutter_texture_new_from_actor (desktop->mainstuff); - #else -@@ -158,6 +160,17 @@ void moblin_blur (void) - 1.0f / moblin_desktop_width ()); - } - clutter_actor_set_shader_param (desktop->maincopy, "radius", 3.0); -+ } -+ else -+ { -+ ClutterColor clr= { 0x44, 0x44, 0x44, 0x77 }; -+ guint w, h; -+ -+ desktop->maincopy = clutter_rectangle_new_with_color (&clr); -+ clutter_actor_get_size (desktop->mainstuff, &w, &h); -+ clutter_actor_set_size (desktop->maincopy, w, h); -+ clutter_group_add (desktop->copyholder, desktop->maincopy); -+ } - } - - void moblin_unblur (void) diff --git a/meta-extras/packages/clutter/moblin-proto/fix.patch b/meta-extras/packages/clutter/moblin-proto/fix.patch deleted file mode 100644 index 8bde67762c9..00000000000 --- a/meta-extras/packages/clutter/moblin-proto/fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: git/Makefile -=================================================================== ---- git.orig/Makefile 2008-08-11 22:49:48.000000000 +0100 -+++ git/Makefile 2008-08-12 12:16:52.000000000 +0100 -@@ -15,7 +15,7 @@ - - SCP_DESTINATION=pug.vpn:tmp - --BINARY=$(shell basename `pwd`)# -+BINARY=moblin-proto - PACKAGE=../$(BINARY).tar.bz2 # you can use both .gz and .bz2 as extension here - - #CFLAGS= -Wall -I /home/pippin/src/clutter-box2d/clutter-box2d -@@ -61,7 +61,7 @@ - %.o: %.c $(HFILES) - $(CC) -g $(CFLAGS) $(INCS) -c $< -o$@ - $(BINARY): $(OBJECTS) -- $(CC) -o $@ $(OBJECTS) $(LIBS) -+ $(CXX) -o $@ $(OBJECTS) $(LIBS) - - #$(BINARY): $(CFILES) - # $(LD) $(CFLAGS) $(INCS) $(CFILES) $(LIBS) -o $@ diff --git a/meta-extras/packages/clutter/moblin-proto/paths.patch b/meta-extras/packages/clutter/moblin-proto/paths.patch deleted file mode 100644 index d241c8ff713..00000000000 --- a/meta-extras/packages/clutter/moblin-proto/paths.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/moblin-desktop.h b/moblin-desktop.h -index 880a9ad..3d51a14 100644 ---- a/moblin-desktop.h -+++ b/moblin-desktop.h -@@ -29,8 +29,8 @@ - #define __MAIN_H__ - - --#define ASSET_ROOT "./assets/" --#define JSON_ROOT "./layouts/" -+#define ASSET_ROOT "/usr/share/moblin-proto/assets/" -+#define JSON_ROOT "/usr/share/moblin-proto/layouts/" - - typedef struct - { diff --git a/meta-extras/packages/clutter/moblin-proto_git.bb b/meta-extras/packages/clutter/moblin-proto_git.bb deleted file mode 100644 index b86d6223853..00000000000 --- a/meta-extras/packages/clutter/moblin-proto_git.bb +++ /dev/null @@ -1,19 +0,0 @@ -DEPENDS = "clutter-box2d" - -PV = "0.0+git${SRCPV}" -PR = "r2" - -SRC_URI = "git://moblin.org/repos/users/pippin/prototype.git/;protocol=http \ - file://paths.patch;patch=1 \ - file://fix-shader-and-callbacks.patch;patch=1" - -S = "${WORKDIR}/git" - -do_install () { - install -d ${D}${bindir} - install ${S}/moblin-proto ${D}${bindir} - - install -d ${D}${datadir}/moblin-proto/ - cp -a ${S}/assets ${D}${datadir}/moblin-proto/ - cp -a ${S}/layouts ${D}${datadir}/moblin-proto/ -} diff --git a/meta-extras/packages/cx3110x/cx3110x_1.1.bb b/meta-extras/packages/cx3110x/cx3110x_1.1.bb deleted file mode 100644 index 95bbc350866..00000000000 --- a/meta-extras/packages/cx3110x/cx3110x_1.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/800" -SECTION = "kernel/modules" -LICENSE = "GPL" -PR = "r1" -PACKAGES = "${PN}" - -COMPATIBLE_MACHINE = "(nokia770|nokia800)" - -export KERNEL_SRC_DIR = ${STAGING_KERNEL_DIR} -export LDFLAGS = "" - -SRC_URI = "https://garage.maemo.org/frs/download.php/939/cx3110x-1.1.tar.gz" - -S = "${WORKDIR}/cx3110x-${PV}" - -inherit module - -do_compile() { - oe_runmake modules -} - diff --git a/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb b/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb deleted file mode 100644 index c952b2a94d0..00000000000 --- a/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/N800/N810" -SECTION = "kernel/modules" -LICENSE = "GPL" -PACKAGES = "${PN}" -PR = "r1" - -COMPATIBLE_MACHINE = "(nokia800)" - -export KERNEL_SRC_DIR = ${STAGING_KERNEL_DIR} -export LDFLAGS = "" - -DEFAULT_PREFERENCE_nokia770 = "-1" - -SRC_URI = "http://repository.maemo.org/pool/os2008/free/source/c/cx3110x-module-src/cx3110x-module-src_2.0.15-1.tar.gz \ - file://no-linux-config.patch;patch=1" - -S = "${WORKDIR}/cx3110x-module-src-${PV}" - -inherit module - -do_compile() { - oe_runmake modules -} diff --git a/meta-extras/packages/cx3110x/files/no-linux-config.patch b/meta-extras/packages/cx3110x/files/no-linux-config.patch deleted file mode 100644 index e6ab3172498..00000000000 --- a/meta-extras/packages/cx3110x/files/no-linux-config.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: cx3110x-module-src-2.0.15/src/sm_drv_spi.c -=================================================================== ---- cx3110x-module-src-2.0.15.orig/src/sm_drv_spi.c 2008-02-08 13:52:28.000000000 +0100 -+++ cx3110x-module-src-2.0.15/src/sm_drv_spi.c 2008-02-08 13:52:40.000000000 +0100 -@@ -36,7 +36,6 @@ - #include - #include - #include --#include - #if !defined(CONFIG_FW_LOADER) && !defined(CONFIG_FW_LOADER_MODULE) - #error No Firmware Loading configured in the kernel ! - #endif diff --git a/meta-extras/packages/eventlog/eventlog_0.2.5.bb b/meta-extras/packages/eventlog/eventlog_0.2.5.bb deleted file mode 100644 index 67e88ead8f8..00000000000 --- a/meta-extras/packages/eventlog/eventlog_0.2.5.bb +++ /dev/null @@ -1,7 +0,0 @@ -DESCRIPTION = "Replacement syslog API" -LICENSE = "BSD" -PR = "r1" - -SRC_URI = "http://www.balabit.com/downloads/files/eventlog/0.2/${P}.tar.gz" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/evince/evince_2.20.0.bb b/meta-extras/packages/evince/evince_2.20.0.bb deleted file mode 100644 index be18d911aac..00000000000 --- a/meta-extras/packages/evince/evince_2.20.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Evince is a document viewer for document formats like PDF, PS, DjVu." -LICENSE = "GPL" -SECTION = "x11/office" -DEPENDS = "gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring" - -inherit gnome pkgconfig gtk-icon-cache - -SRC_URI += "file://no-icon-theme.diff;patch=1;pnum=0" - -EXTRA_OECONF = "--without-libgnome --disable-thumbnailer" diff --git a/meta-extras/packages/evince/evince_svn.bb b/meta-extras/packages/evince/evince_svn.bb deleted file mode 100644 index 8df9577f877..00000000000 --- a/meta-extras/packages/evince/evince_svn.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Evince is a document viewer for document formats like PDF, PS, DjVu." -LICENSE = "GPL" -SECTION = "x11/office" -DEPENDS = "gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring" -PV = "0.9.0+svnr${SRCREV}" - -inherit gnome pkgconfig gtk-icon-cache - -SRC_URI = "svn://svn.gnome.org/svn/evince;module=trunk \ - file://no-icon-theme.diff;patch=1;pnum=0" - -S = "${WORKDIR}/trunk" - -EXTRA_OECONF = "--without-libgnome --disable-thumbnailer" diff --git a/meta-extras/packages/evince/files/no-icon-theme.diff b/meta-extras/packages/evince/files/no-icon-theme.diff deleted file mode 100644 index 7b7771ba06d..00000000000 --- a/meta-extras/packages/evince/files/no-icon-theme.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: configure.ac -=================================================================== ---- configure.ac (revision 2436) -+++ configure.ac (working copy) -@@ -57,7 +57,7 @@ - PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED) - PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0) - PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libglade-2.0 gnome-vfs-2.0) --PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED) -+PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED) - - AC_ARG_WITH(libgnome, - AC_HELP_STRING([--without-libgnome],[disable the use of libgnome]), diff --git a/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch b/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch deleted file mode 100644 index 08503c82e0f..00000000000 --- a/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch +++ /dev/null @@ -1,68 +0,0 @@ -Index: flumotion-0.4.1/configure.ac -=================================================================== ---- flumotion-0.4.1.orig/configure.ac 2007-03-05 17:16:48.121264330 +0100 -+++ flumotion-0.4.1/configure.ac 2007-03-05 17:20:40.343837320 +0100 -@@ -73,13 +73,6 @@ - AC_MSG_ERROR([PyGTK 2.5.2 contains known bugs, please install other version]) - fi - --if test "x$DISPLAY" != "x"; then -- AS_PYTHON_IMPORT([gtk.glade],, -- AC_MSG_ERROR([You need to have python libglade bindings installed])) --else -- AC_MSG_NOTICE([Not trying to import gtk.glade because DISPLAY is unset]) --fi -- - if test $GST_010_SUPPORTED = "no"; then - AC_MSG_ERROR([No appropriate version of PyGTK installed. Correct the above - errors and try again.]) -@@ -94,16 +87,6 @@ - [AC_MSG_RESULT([$PYGST_010_PKG_ERRORS]) - GST_010_SUPPORTED=no]) - -- if test $GST_010_SUPPORTED = "yes"; then -- saved_PYTHONPATH=$PYTHONPATH -- export PYTHONPATH=$PYGST_010_DIR:$PYTHONPATH -- AS_PYTHON_IMPORT([gst],, -- [AC_MSG_NOTICE([Unable to import gst-python 0.10 -- check your PYTHONPATH?]) -- GST_010_SUPPORTED=no], -- [import pygst; pygst.require('0.10')], -- [assert gst.pygst_version[[1]] == 10 or (gst.pygst_version[[1]] == 9 and gst.pygst_version[[2]] >= 7)]) -- -- fi - fi - - if test $GST_010_SUPPORTED = "no"; then -@@ -158,32 +141,7 @@ - AC_CHECK_PROG(PYCHECKER, pychecker, yes, no) - AM_CONDITIONAL(HAVE_PYCHECKER, test "x$PYCHECKER" = "xyes") - --dnl check for Twisted --AS_PYTHON_IMPORT(twisted, -- [ -- AC_MSG_CHECKING(for Twisted >= 2.0.1) -- prog=" --import sys --import twisted.copyright --minver = '2.0.1' --if twisted.copyright.version < minver: -- sys.exit(1) --sys.exit(0) --" -- if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC -- then -- AC_MSG_RESULT(found) -- else -- AC_MSG_RESULT(too old) -- AC_MSG_ERROR([You need at least version 2.0.1 of Twisted]) -- fi -- ] -- , -- AC_MSG_ERROR([You need at least version 2.0.1 of Twisted]) --) - --TWISTED_MODULE([twisted.names]) --TWISTED_MODULE([twisted.web]) - - AC_CONFIG_FILES([env], [chmod +x env]) - AC_CONFIG_FILES([bin/flumotion], [chmod +x bin/flumotion]) diff --git a/meta-extras/packages/flumotion/flumotion/python-path.patch b/meta-extras/packages/flumotion/flumotion/python-path.patch deleted file mode 100644 index 377994e7298..00000000000 --- a/meta-extras/packages/flumotion/flumotion/python-path.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: flumotion-0.3.1/common/as-python.m4 -=================================================================== ---- flumotion-0.3.1.orig/common/as-python.m4 2007-03-02 15:26:46.704717964 +0100 -+++ flumotion-0.3.1/common/as-python.m4 2007-03-02 15:27:28.601326374 +0100 -@@ -199,6 +199,12 @@ - AC_MSG_CHECKING(for headers required to compile python extensions) - - dnl deduce PYTHON_INCLUDES -+ -+ AC_ARG_WITH(python-includes, -+ [ --with-python-includes=DIR path to Python includes], py_exec_prefix=$withval) -+ if test x$py_exec_prefix != x; then -+ PYTHON_INCLUDES="-I${py_exec_prefix}/include/python${PYTHON_VERSION}" -+ else - py_prefix=`$PYTHON -c "import sys; print sys.prefix"` - py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` - PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" -@@ -206,6 +212,7 @@ - if test "$py_prefix" != "$py_exec_prefix"; then - PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" - fi -+ fi - AC_SUBST(PYTHON_INCLUDES) - - dnl check if the headers exist: diff --git a/meta-extras/packages/flumotion/flumotion_0.4.1.bb b/meta-extras/packages/flumotion/flumotion_0.4.1.bb deleted file mode 100644 index 976c8c41428..00000000000 --- a/meta-extras/packages/flumotion/flumotion_0.4.1.bb +++ /dev/null @@ -1,41 +0,0 @@ -DESCRIPTION = "Fluendo Streaming Server" -LICENSE = "GPL" -DEPENDS = "gstreamer python-imaging python-gst twisted python-pygtk" -RDEPENDS = "python-resource python-pprint python-threading \ - python-imaging python-xml python-curses \ - python-compression python-fcntl python-pygobject \ - python-pickle python-netclient python-datetime \ - python-crypt python-twisted-core python-twisted-web \ - python-lang python-zopeinterface python-textutils \ - python-gst python-misc" -RDEPENDS_${PN}-gui = "${PN} python-pygtk python-pycairo" -PR = "r10" - -SRC_URI = "http://www.flumotion.net/src/flumotion/flumotion-${PV}.tar.bz2 \ - file://python-path.patch;patch=1 \ - file://no-check-for-python-stuff.patch;patch=1" - -inherit autotools distutils-base pkgconfig - -export EPYDOC = "no" - -EXTRA_OECONF += "--with-python-includes=${STAGING_INCDIR}/../" - -PACKAGES =+ "flumotion-gui" - -FILES_${PN}-dbg += "${libdir}/flumotion/python/flumotion/extern/*/.debug/*" -FILES_${PN} = "${bindir} ${sbindir} ${libdir}/flumotion" -FILES_${PN}-dev += "${libdir}/pkgconfig" -FILES_${PN}-gui = "${bindir}/flumotion-admin ${bindir}/flumotion-tester \ - ${libdir}/flumotion/python/flumotion/admin/gtk \ - ${libdir}/flumotion/python/flumotion/component/*/admin_gtk* \ - ${libdir}/flumotion/python/flumotion/component/*/*/admin_gtk* \ - ${libdir}/flumotion/python/flumotion/extern/*.py* \ - ${libdir}/flumotion/python/flumotion/extern/fdpass/*.py* \ - ${libdir}/flumotion/python/flumotion/extern/fdpass/fdpass.so \ - ${libdir}/flumotion/python/flumotion/extern/pytrayicon/*.py* \ - ${libdir}/flumotion/python/flumotion/extern/pytrayicon/pytrayicon.so \ - ${libdir}/flumotion/python/flumotion/manager \ - ${libdir}/flumotion/python/flumotion/ui \ - ${libdir}/flumotion/python/flumotion/wizard \ - ${datadir}/pixmaps ${datadir}/flumotion ${datadir}/applications" diff --git a/meta-extras/packages/gnome/libbonobo.inc b/meta-extras/packages/gnome/libbonobo.inc deleted file mode 100644 index db5c58a51e4..00000000000 --- a/meta-extras/packages/gnome/libbonobo.inc +++ /dev/null @@ -1,36 +0,0 @@ -DESCRIPTION = "Bonobo CORBA interfaces library" -LICENSE = "GPL" -SECTION = "x11/gnome/libs" -DEPENDS = "glib-2.0 orbit2 intltool-native libxml2" - -inherit gnome - -SRC_URI += "file://gtk-doc.m4 \ - file://gtk-doc.make \ - " - -ORBIT_IDL_SRC = "${STAGING_BINDIR_NATIVE}/orbit-idl-2" - -FILES_${PN} += "${libdir}/orbit-2.0/*.so ${libdir}/bonobo/monikers/*.so" -FILES_${PN}-dbg += "${libdir}/bonobo/monikers/.debug \ - ${libdir}/bonobo-2.0/samples/.debug ${libdir}/orbit-2.0/.debug" -FILES_${PN}-dev += "${libdir}/orbit-2.0/* ${libdir}/bonobo/monikers/* \ - ${libdir}/bonobo-2.0/samples" - -LEAD_SONAME = "libbonobo-2.so" - -PARALLEL_MAKE = "" - -do_configure_prepend() { - install -d m4 - install ${WORKDIR}/gtk-doc.m4 m4/ - install ${WORKDIR}/gtk-doc.make ./ -} - -do_compile() { - oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" -} - -do_install() { - oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" DESTDIR="${D}" install -} diff --git a/meta-extras/packages/gnome/libbonobo/configure-gthread.patch b/meta-extras/packages/gnome/libbonobo/configure-gthread.patch deleted file mode 100644 index 005fa6760a2..00000000000 --- a/meta-extras/packages/gnome/libbonobo/configure-gthread.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libbonobo-2.14.0/configure.in.orig 2006-09-04 09:21:54.000000000 +0100 -+++ libbonobo-2.14.0/configure.in 2006-09-04 09:22:58.000000000 +0100 -@@ -166,7 +166,7 @@ - AC_MSG_RESULT(no) - AC_MSG_ERROR( - [No working gthread-2.0 support found, using --disable-threads IS DISCOURAGED]) -- ] -+ ],[AC_MSG_RESULT(yes)] - ) - CFLAGS=$libbonobo_save_CFLAGS - LIBS=$libbonobo_save_LIBS diff --git a/meta-extras/packages/gnome/libbonobo/gtk-doc.m4 b/meta-extras/packages/gnome/libbonobo/gtk-doc.m4 deleted file mode 100644 index 3ec41666b2f..00000000000 --- a/meta-extras/packages/gnome/libbonobo/gtk-doc.m4 +++ /dev/null @@ -1,53 +0,0 @@ -dnl -*- mode: autoconf -*- - -# serial 1 - -dnl Usage: -dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) -AC_DEFUN([GTK_DOC_CHECK], -[ - AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first - AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - dnl for overriding the documentation installation directory - AC_ARG_WITH(html-dir, - AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, - [with_html_dir='${datadir}/gtk-doc/html']) - HTML_DIR="$with_html_dir" - AC_SUBST(HTML_DIR) - - dnl enable/disable documentation building - AC_ARG_ENABLE(gtk-doc, - AC_HELP_STRING([--enable-gtk-doc], - [use gtk-doc to build documentation [default=no]]),, - enable_gtk_doc=no) - - have_gtk_doc=no - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then - have_gtk_doc=yes - fi - - dnl do we want to do a version check? -ifelse([$1],[],, - [gtk_doc_min_version=$1 - if test "$have_gtk_doc" = yes; then - AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version]) - if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - have_gtk_doc=no - fi - fi -]) - if test x$enable_gtk_doc = xyes; then - if test "$have_gtk_doc" != yes; then - enable_gtk_doc=no - fi - fi - - AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) - AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL") -]) diff --git a/meta-extras/packages/gnome/libbonobo/gtk-doc.make b/meta-extras/packages/gnome/libbonobo/gtk-doc.make deleted file mode 100644 index c319e7ad7c6..00000000000 --- a/meta-extras/packages/gnome/libbonobo/gtk-doc.make +++ /dev/null @@ -1,148 +0,0 @@ -# -*- mode: makefile -*- - -#################################### -# Everything below here is generic # -#################################### - -if GTK_DOC_USE_LIBTOOL -GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -else -GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -endif - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) - -TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) - -EXTRA_DIST = \ - $(content_files) \ - $(HTML_IMAGES) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_MODULE).types \ - $(DOC_MODULE)-sections.txt \ - $(DOC_MODULE)-overrides.txt - -DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ - $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp - -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - $(DOC_MODULE).signals - -CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS) - -if ENABLE_GTK_DOC -all-local: html-build.stamp - -#### scan #### - -scan-build.stamp: $(HFILE_GLOB) - @echo '*** Scanning header files ***' - @-chmod -R u+w $(srcdir) - if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ - else \ - cd $(srcdir) ; \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ - fi - cd $(srcdir) && \ - gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) - touch scan-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp - @true - -#### templates #### - -tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - @echo '*** Rebuilding template files ***' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) - touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -#### xml #### - -sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml - @echo '*** Building XML ***' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && \ - gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS) - touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -#### html #### - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo '*** Building HTML ***' - @-chmod -R u+w $(srcdir) - rm -rf $(srcdir)/html - mkdir $(srcdir)/html - cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) - @echo '-- Fixing Crossreferences' - cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - touch html-build.stamp -endif - -############## - -clean-local: - rm -f *~ *.bak - -maintainer-clean-local: clean - cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt - -install-data-local: - $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) - (installfiles=`echo $(srcdir)/html/*`; \ - if test "$$installfiles" = '$(srcdir)/html/*'; \ - then echo '-- Nothing to install' ; \ - else \ - for i in $$installfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ - done; \ - echo '-- Installing $(srcdir)/html/index.sgml' ; \ - $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ - fi) - -uninstall-local: - rm -f $(DESTDIR)$(TARGET_DIR)/* - -# -# Require gtk-doc when making dist -# -if ENABLE_GTK_DOC -dist-check-gtkdoc: -else -dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" - @false -endif - -dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/tmpl - mkdir $(distdir)/xml - mkdir $(distdir)/html - -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl - -cp $(srcdir)/xml/*.xml $(distdir)/xml - -cp $(srcdir)/html/* $(distdir)/html - -.PHONY : dist-hook-local diff --git a/meta-extras/packages/gnome/libbonobo_2.22.0.bb b/meta-extras/packages/gnome/libbonobo_2.22.0.bb deleted file mode 100644 index feecaf590a1..00000000000 --- a/meta-extras/packages/gnome/libbonobo_2.22.0.bb +++ /dev/null @@ -1,6 +0,0 @@ -require libbonobo.inc - -PR = "r0" - -SRC_URI += "file://configure-gthread.patch;patch=1" - diff --git a/meta-extras/packages/gnome/libbonoboui_2.18.0.bb b/meta-extras/packages/gnome/libbonoboui_2.18.0.bb deleted file mode 100644 index 85840f705c5..00000000000 --- a/meta-extras/packages/gnome/libbonoboui_2.18.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -LICENSE = "GPL" -SECTION = "x11/gnome/libs" -PR = "r1" - -inherit gnome pkgconfig - -FILES_${PN} += "${libdir}/libglade/2.0/*.so" -FILES_${PN}-dev += "${libdir}/libglade/2.0/* ${datadir}/gnome-2.0/ui \ - ${libdir}/bonobo-2.0/samples" -FILES_${PN}-dbg += "${libdir}/bonobo-2.0/samples/.debug \ - ${libdir}/libglade/2.0/.debug" - -DEPENDS = "libgnomecanvas libbonobo libgnome glib-2.0 gtk-doc gconf libxml2 libglade" - -EXTRA_OECONF = "--disable-gtk-doc" diff --git a/meta-extras/packages/gnome/orbit2-native_2.14.12.bb b/meta-extras/packages/gnome/orbit2-native_2.14.12.bb deleted file mode 100644 index c4d3132f40b..00000000000 --- a/meta-extras/packages/gnome/orbit2-native_2.14.12.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "CORBA ORB" -PR = "r0" -LICENSE = "LGPL GPL" -SECTION = "x11/gnome/libs" -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-${PV}.tar.bz2 \ - file://configure-lossage.patch;patch=1;pnum=1 \ - file://gtk-doc.m4 \ - file://gtk-doc.make" -DEPENDS = "libidl-native popt-native gtk-doc" - -S = "${WORKDIR}/ORBit2-${PV}" - -PARALLEL_MAKE = "" -inherit autotools native pkgconfig - -EXTRA_OECONF = "--disable-gtk-doc" - -do_configure_prepend() { - mkdir -p m4 - install ${WORKDIR}/gtk-doc.m4 ./m4/ - install ${WORKDIR}/gtk-doc.make ./ -} diff --git a/meta-extras/packages/gnome/orbit2/configure-lossage.patch b/meta-extras/packages/gnome/orbit2/configure-lossage.patch deleted file mode 100644 index 7485a0ce0c8..00000000000 --- a/meta-extras/packages/gnome/orbit2/configure-lossage.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- orbit/configure.in~ 2004-05-07 09:31:32.000000000 +0100 -+++ orbit/configure.in 2004-05-08 19:27:35.000000000 +0100 -@@ -193,19 +193,19 @@ - dnl So many people with broken linking setups asked about this - dnl it turned out to be necessary to check for this. - dnl --dofus_save_libs="$LIBS" --LIBS="$ORBIT_LIBS $LIBS" --AC_TRY_RUN([ #include -- main () -- { -- return 0; -- } ],, -- AC_MSG_ERROR([ --Linking is badly borked on your system. Please ensure your library path is correct --Check config.log for details - check near the end of the log above 'failed program was' --Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the --prefix you're compiling on: '${prefix}' ])) --LIBS="$dofus_save_libs" -+dnl dofus_save_libs="$LIBS" -+dnl LIBS="$ORBIT_LIBS $LIBS" -+dnl AC_TRY_RUN([ #include -+dnl main () -+dnl { -+dnl return 0; -+dnl } ],, -+dnl AC_MSG_ERROR([ -+dnl Linking is badly borked on your system. Please ensure your library path is correct -+dnl Check config.log for details - check near the end of the log above 'failed program was' -+dnl Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the -+dnl prefix you're compiling on: '${prefix}' ])) -+dnl LIBS="$dofus_save_libs" - - orig_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS $ORBIT_CFLAGS" diff --git a/meta-extras/packages/gnome/orbit2/gtk-doc.m4 b/meta-extras/packages/gnome/orbit2/gtk-doc.m4 deleted file mode 100644 index 3ec41666b2f..00000000000 --- a/meta-extras/packages/gnome/orbit2/gtk-doc.m4 +++ /dev/null @@ -1,53 +0,0 @@ -dnl -*- mode: autoconf -*- - -# serial 1 - -dnl Usage: -dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) -AC_DEFUN([GTK_DOC_CHECK], -[ - AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first - AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - dnl for overriding the documentation installation directory - AC_ARG_WITH(html-dir, - AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, - [with_html_dir='${datadir}/gtk-doc/html']) - HTML_DIR="$with_html_dir" - AC_SUBST(HTML_DIR) - - dnl enable/disable documentation building - AC_ARG_ENABLE(gtk-doc, - AC_HELP_STRING([--enable-gtk-doc], - [use gtk-doc to build documentation [default=no]]),, - enable_gtk_doc=no) - - have_gtk_doc=no - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then - have_gtk_doc=yes - fi - - dnl do we want to do a version check? -ifelse([$1],[],, - [gtk_doc_min_version=$1 - if test "$have_gtk_doc" = yes; then - AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version]) - if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - have_gtk_doc=no - fi - fi -]) - if test x$enable_gtk_doc = xyes; then - if test "$have_gtk_doc" != yes; then - enable_gtk_doc=no - fi - fi - - AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) - AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL") -]) diff --git a/meta-extras/packages/gnome/orbit2/gtk-doc.make b/meta-extras/packages/gnome/orbit2/gtk-doc.make deleted file mode 100644 index c319e7ad7c6..00000000000 --- a/meta-extras/packages/gnome/orbit2/gtk-doc.make +++ /dev/null @@ -1,148 +0,0 @@ -# -*- mode: makefile -*- - -#################################### -# Everything below here is generic # -#################################### - -if GTK_DOC_USE_LIBTOOL -GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -else -GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -endif - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) - -TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) - -EXTRA_DIST = \ - $(content_files) \ - $(HTML_IMAGES) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_MODULE).types \ - $(DOC_MODULE)-sections.txt \ - $(DOC_MODULE)-overrides.txt - -DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ - $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp - -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - $(DOC_MODULE).signals - -CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS) - -if ENABLE_GTK_DOC -all-local: html-build.stamp - -#### scan #### - -scan-build.stamp: $(HFILE_GLOB) - @echo '*** Scanning header files ***' - @-chmod -R u+w $(srcdir) - if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ - else \ - cd $(srcdir) ; \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ - fi - cd $(srcdir) && \ - gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) - touch scan-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp - @true - -#### templates #### - -tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - @echo '*** Rebuilding template files ***' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) - touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -#### xml #### - -sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml - @echo '*** Building XML ***' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && \ - gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS) - touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -#### html #### - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo '*** Building HTML ***' - @-chmod -R u+w $(srcdir) - rm -rf $(srcdir)/html - mkdir $(srcdir)/html - cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) - @echo '-- Fixing Crossreferences' - cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - touch html-build.stamp -endif - -############## - -clean-local: - rm -f *~ *.bak - -maintainer-clean-local: clean - cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt - -install-data-local: - $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) - (installfiles=`echo $(srcdir)/html/*`; \ - if test "$$installfiles" = '$(srcdir)/html/*'; \ - then echo '-- Nothing to install' ; \ - else \ - for i in $$installfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ - done; \ - echo '-- Installing $(srcdir)/html/index.sgml' ; \ - $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ - fi) - -uninstall-local: - rm -f $(DESTDIR)$(TARGET_DIR)/* - -# -# Require gtk-doc when making dist -# -if ENABLE_GTK_DOC -dist-check-gtkdoc: -else -dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" - @false -endif - -dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/tmpl - mkdir $(distdir)/xml - mkdir $(distdir)/html - -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl - -cp $(srcdir)/xml/*.xml $(distdir)/xml - -cp $(srcdir)/html/* $(distdir)/html - -.PHONY : dist-hook-local diff --git a/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch b/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch deleted file mode 100644 index f629e506ddd..00000000000 --- a/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN ORBit2-2.14.12.orig/ORBit-2.0.pc.in ORBit2-2.14.12/ORBit-2.0.pc.in ---- ORBit2-2.14.12.orig/ORBit-2.0.pc.in 2008-01-29 13:45:22.000000000 +0100 -+++ ORBit2-2.14.12/ORBit-2.0.pc.in 2008-09-23 20:13:07.000000000 +0200 -@@ -2,7 +2,7 @@ - exec_prefix=@exec_prefix@ - libdir=@libdir@ - includedir=@includedir@ --orbit_idl=@bindir@/orbit-idl-2@EXEEXT@ -+orbit_idl=@exec_prefix@/bin/orbit-idl-2@EXEEXT@ - - - Name: ORBit-2.0 diff --git a/meta-extras/packages/gnome/orbit2_2.14.16.bb b/meta-extras/packages/gnome/orbit2_2.14.16.bb deleted file mode 100644 index 42ade84d1fa..00000000000 --- a/meta-extras/packages/gnome/orbit2_2.14.16.bb +++ /dev/null @@ -1,30 +0,0 @@ -LICENSE = "GPL" -DESCRIPTION = "CORBA ORB" -SECTION = "x11/gnome/libs" -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-${PV}.tar.bz2 \ - file://configure-lossage.patch;patch=1;pnum=1 \ - file://pkgconfig-fix.patch;patch=1 \ - file://gtk-doc.m4 \ - file://gtk-doc.make" -DEPENDS = "libidl popt orbit2-native gtk-doc" -PARALLEL_MAKE = "" - -FILES_${PN} += "${libdir}/orbit-2.0/*.so" -FILES_${PN}-dev += "${libdir}/orbit-2.0/*.a ${libdir}/orbit-2.0/*.la" -FILES_${PN}-dbg += "${libdir}/orbit-2.0/.debug" - -S = "${WORKDIR}/ORBit2-${PV}" - -LEAD_SONAME = "libORBit-2.so" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--disable-gtk-doc" -EXTRA_OEMAKE = "IDL_COMPILER='${STAGING_BINDIR_NATIVE}/orbit-idl-2'" - -do_configure_prepend() { - mkdir -p m4 - install ${WORKDIR}/gtk-doc.m4 ./m4/ - install ${WORKDIR}/gtk-doc.make ./ -} - diff --git a/meta-extras/packages/helix/helix-libs.bb b/meta-extras/packages/helix/helix-libs.bb deleted file mode 100644 index 9fcbd4b67fe..00000000000 --- a/meta-extras/packages/helix/helix-libs.bb +++ /dev/null @@ -1,49 +0,0 @@ -DESCRIPTION = "Helix Client Libraries" -SECTION = "base" -DEPENDS = "ribosome gtk+ libxv" -HOMEPAGE = "http://helixcommunity.org" -LICENSE = "RPSL" - -_SNAPSHOT = "atlas310_11212008" -_TARBALL_SERVER = "http://git.moblin.org/repos/users/rusty" - -PV="r0" - -SRC_URI = "${_TARBALL_SERVER}/helix-libs_${_SNAPSHOT}.tar.bz2 \ - file://helix-libs/helix-player.pc \ - file://helix-libs/add-clutter.patch;patch=1" -S = "${WORKDIR}/helix-libs_${_SNAPSHOT}" - -export BUILD_ROOT=${STAGING_DIR_HOST}${libdir}/ribosome -export BUILDRC=${BUILD_ROOT}/buildrc -export SYSTEM_ID=linux-2.2-libc6-gcc32-i586 -export BUILD=$BUILD_ROOT/bin/build.py - -COMPATIBLE_HOST = '(i.86.*-linux)' - -do_compile() { - ${BUILD} -k -trelease -mclutter -Phelix-client-all-defines clutter -} - -do_install() { - mkdir -p ${D}/opt/helix/lib - mkdir -p ${D}/opt/helix/include - mkdir -p ${D}${libdir}/pkgconfig - - install -m 0644 clientapps/clutter/player.h ${D}/opt/helix/include/ - install -m 0644 ../helix-libs/helix-player.pc ${D}${libdir}/pkgconfig - - install -m 0644 release/*.so ${D}/opt/helix/lib - - install -d ${D}${libdir} - install -m 0644 release/libhelix-player.so ${D}${libdir} -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/opt/helix ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/helix -} - -FILES_${PN} = "/usr/lib/libhelix-player.so" -FILES_${PN} += "/opt/helix/lib" -FILES_${PN}-dev = "/usr/lib/pkgconfig" -FILES_${PN}-dev += "/opt/helix/include" diff --git a/meta-extras/packages/helix/helix-libs/add-clutter.patch b/meta-extras/packages/helix/helix-libs/add-clutter.patch deleted file mode 100644 index eb545ff73fb..00000000000 --- a/meta-extras/packages/helix/helix-libs/add-clutter.patch +++ /dev/null @@ -1,12668 +0,0 @@ -Index: helix-libs/clientapps/clutter/LICENSE.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/LICENSE.txt 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,30 @@ -+ Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ -+ The contents of this directory, and (except where otherwise -+ indicated) the directories included within this directory, are -+ subject to the current version of the RealNetworks Public Source -+ License (the "RPSL") available at RPSL.txt in this directory, unless -+ you have licensed the directory under the current version of the -+ RealNetworks Community Source License (the "RCSL") available at -+ RCSL.txt in this directory, in which case the RCSL will apply. You -+ may also obtain the license terms directly from RealNetworks. You -+ may not use the files in this directory except in compliance with the -+ RPSL or, if you have a valid RCSL with RealNetworks applicable to -+ this directory, the RCSL. Please see the applicable RPSL or RCSL for -+ the rights, obligations and limitations governing use of the contents -+ of the directory. -+ -+ This directory is part of the Helix DNA Technology. RealNetworks is -+ the developer of the Original Code and owns the copyrights in the -+ portions it created. -+ -+ This directory, and the directories included with this directory, are -+ distributed and made available on an 'AS IS' basis, WITHOUT WARRANTY -+ OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY -+ DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY -+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -+ QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ -+ Technology Compatibility Kit Test Suite(s) Location: -+ http://www.helixcommunity.org/content/tck -+ -Index: helix-libs/clientapps/clutter/RCSL.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/RCSL.txt 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,948 @@ -+The RCSL is made up of a base agreement and a few Attachments. -+ -+For Research and Development use, you agree to the terms of the -+RCSL R&D License (base RCSL and Attachments A, B, and C) -+ -+For Commercial Use (either distribution or internal commercial -+deployment) of the Helix DNA with or without support for RealNetworks' -+RealAudio and RealVideo Add-on Technology, you agree to the -+terms of the same RCSL R&D license -+and execute one or more additional Commercial Use License attachments -+. -+ -+------------------------------------------------------------------------ -+ -+ -+ REALNETWORKS COMMUNITY SOURCE LICENSE -+ -+Version 1.2 (Rev. Date: January 22, 2003). -+ -+ -+ RECITALS -+ -+Original Contributor has developed Specifications, Source Code -+implementations and Executables of certain Technology; and -+ -+Original Contributor desires to license the Technology to a large -+community to facilitate research, innovation and product development -+while maintaining compatibility of such products with the Technology as -+delivered by Original Contributor; and -+ -+Original Contributor desires to license certain Trademarks for the -+purpose of branding products that are compatible with the relevant -+Technology delivered by Original Contributor; and -+ -+You desire to license the Technology and possibly certain Trademarks -+from Original Contributor on the terms and conditions specified in this -+License. -+ -+In consideration for the mutual covenants contained herein, You and -+Original Contributor agree as follows: -+ -+ -+ AGREEMENT -+ -+*1. Introduction.* -+ -+The RealNetworks Community Source License ("RCSL") and effective -+attachments ("License") may include five distinct licenses: -+ -+i) Research Use license -- License plus Attachments A, B and C only. -+ -+ii) Commercial Use and Trademark License, which may be for Internal -+Deployment Use or external distribution, or both -- License plus -+Attachments A, B, C, and D. -+ -+iii) Technology Compatibility Kit (TCK) license -- Attachment C. -+ -+iv) Add-On Technology License (Executable) Commercial Use License -+-Attachment F. -+ -+v) Add-On Technology Source Code Porting and Optimization -+License-Attachment G. -+ -+The Research Use license is effective when You click and accept this -+License. The TCK is effective when You click and accept this License, -+unless otherwise specified in the TCK attachments. The Commercial Use -+and Trademark, Add-On Technology License, and the Add-On Technology -+Source Code Porting and Optimization licenses must each be signed by You -+and Original Contributor to become effective. Once effective, these -+licenses and the associated requirements and responsibilities are -+cumulative. Capitalized terms used in this License are defined in the -+Glossary. -+ -+*2. License Grants.* -+ -+2.1 Original Contributor Grant. -+ -+Subject to Your compliance with Sections 3, 8.10 and Attachment A of -+this License, Original Contributor grants to You a worldwide, -+royalty-free, non-exclusive license, to the extent of Original -+Contributor's Intellectual Property Rights covering the Original Code, -+Upgraded Code and Specifications, to do the following: -+ -+(a) Research Use License: -+ -+(i) use, reproduce and modify the Original Code, Upgraded Code and -+Specifications to create Modifications and Reformatted Specifications -+for Research Use by You; -+ -+(ii) publish and display Original Code, Upgraded Code and Specifications -+with, or as part of Modifications, as permitted under Section 3.1(b) below; -+ -+(iii) reproduce and distribute copies of Original Code and Upgraded Code -+to Licensees and students for Research Use by You; -+ -+(iv) compile, reproduce and distribute Original Code and Upgraded Code -+in Executable form, and Reformatted Specifications to anyone for -+Research Use by You. -+ -+(b) Other than the licenses expressly granted in this License, Original -+Contributor retains all right, title, and interest in Original Code and -+Upgraded Code and Specifications. -+ -+2.2 Your Grants. -+ -+(a) To Other Licensees. You hereby grant to each Licensee a license to -+Your Error Corrections and Shared Modifications, of the same scope and -+extent as Original Contributor's licenses under Section 2.1 a) above -+relative to Research Use and Attachment D relative to Commercial Use. -+ -+(b) To Original Contributor. You hereby grant to Original Contributor a -+worldwide, royalty-free, non-exclusive, perpetual and irrevocable -+license, to the extent of Your Intellectual Property Rights covering -+Your Error Corrections, Shared Modifications and Reformatted -+Specifications, to use, reproduce, modify, display and distribute Your -+Error Corrections, Shared Modifications and Reformatted Specifications, -+in any form, including the right to sublicense such rights through -+multiple tiers of distribution. -+ -+(c) Other than the licenses expressly granted in Sections 2.2(a) and (b) -+above, and the restrictions set forth in Section 3.1(d)(iv) below, You -+retain all right, title, and interest in Your Error Corrections, Shared -+Modifications and Reformatted Specifications. -+ -+2.3 Contributor Modifications. -+ -+You may use, reproduce, modify, display and distribute Contributor Error -+Corrections, Shared Modifications and Reformatted Specifications, -+obtained by You under this License, to the same scope and extent as with -+Original Code, Upgraded Code and Specifications. -+ -+2.4 Subcontracting. -+ -+You may deliver the Source Code of Covered Code to other Licensees -+having at least a Research Use license, for the sole purpose of -+furnishing development services to You in connection with Your rights -+granted in this License. All such Licensees must execute appropriate -+documents with respect to such work consistent with the terms of this -+License, and acknowledging their work-made-for-hire status or assigning -+exclusive right to the work product and associated Intellectual Property -+Rights to You. -+ -+*3. Requirements and Responsibilities*. -+ -+3.1 Research Use License. -+ -+As a condition of exercising the rights granted under Section 2.1(a) -+above, You agree to comply with the following: -+ -+(a) Your Contribution to the Community. All Error Corrections and Shared -+Modifications which You create or contribute to are automatically -+subject to the licenses granted under Section 2.2 above. You are -+encouraged to license all of Your other Modifications under Section 2.2 -+as Shared Modifications, but are not required to do so. You agree to -+notify Original Contributor of any errors in the Specification. -+ -+(b) Source Code Availability. You agree to provide all Your Error -+Corrections to Original Contributor as soon as reasonably practicable -+and, in any event, prior to Internal Deployment Use or Commercial Use, -+if applicable. Original Contributor may, at its discretion, post Source -+Code for Your Error Corrections and Shared Modifications on the -+Community Webserver. You may also post Error Corrections and Shared -+Modifications on a web-server of Your choice; provided, that You must -+take reasonable precautions to ensure that only Licensees have access to -+such Error Corrections and Shared Modifications. Such precautions shall -+include, without limitation, a password protection scheme limited to -+Licensees and a click-on, download certification of Licensee status -+required of those attempting to download from the server. An example of -+an acceptable certification is attached as Attachment A-2. -+ -+(c) Notices. All Error Corrections and Shared Modifications You create -+or contribute to must include a file documenting the additions and -+changes You made and the date of such additions and changes. You must -+also include the notice set forth in Attachment A-1 in the file header. -+If it is not possible to put the notice in a particular Source Code file -+due to its structure, then You must include the notice in a location -+(such as a relevant directory file), where a recipient would be most -+likely to look for such a notice. -+ -+(d) Redistribution. -+ -+(i) Source. Covered Code may be distributed in Source Code form only to -+another Licensee (except for students as provided below). You may not -+offer or impose any terms on any Covered Code that alter the rights, -+requirements, or responsibilities of such Licensee. You may distribute -+Covered Code to students for use in connection with their course work -+and research projects undertaken at accredited educational institutions. -+Such students need not be Licensees, but must be given a copy of the -+notice set forth in Attachment A-3 and such notice must also be included -+in a file header or prominent location in the Source Code made available -+to such students. -+ -+(ii) Executable. You may distribute Executable version(s) of Covered -+Code to Licensees and other third parties only for the purpose of -+evaluation and comment in connection with Research Use by You and under -+a license of Your choice, but which limits use of such Executable -+version(s) of Covered Code only to that purpose. -+ -+(iii) Modified Class, Interface and Package Naming. In connection with -+Research Use by You only, You may use Original Contributor's class, -+Interface and package names only to accurately reference or invoke the -+Source Code files You modify. Original Contributor grants to You a -+limited license to the extent necessary for such purposes. -+ -+(iv) You expressly agree that any distribution, in whole or in part, of -+Modifications developed by You shall only be done pursuant to the terms -+and conditions of this License. -+ -+(e) Extensions. -+ -+(i) Covered Code. You may not include any Source Code of Community Code -+in any Extensions. You may include the compiled Header Files of -+Community Code in an Extension provided that Your use of the Covered -+Code, including Heading Files, complies with the Commercial Use License, -+the TCK and all other terms of this License. -+ -+(ii) Publication. No later than the date on which You first distribute -+such Extension for Commercial Use, You must publish to the industry, on -+a non-confidential basis and free of all copyright restrictions with -+respect to reproduction and use, an accurate and current specification -+for any Extension. In addition, You must make available an appropriate -+test suite, pursuant to the same rights as the specification, -+sufficiently detailed to allow any third party reasonably skilled in the -+technology to produce implementations of the Extension compatible with -+the specification. Such test suites must be made available as soon as -+reasonably practicable but, in no event, later than ninety (90) days -+after Your first Commercial Use of the Extension. You must use -+reasonable efforts to promptly clarify and correct the specification and -+the test suite upon written request by Original Contributor. -+ -+(iii) Open. You agree to refrain from enforcing any Intellectual -+Property Rights You may have covering any interface(s) of Your -+Extension, which would prevent the implementation of such interface(s) -+by Original Contributor or any Licensee. This obligation does not -+prevent You from enforcing any Intellectual Property Right You have that -+would otherwise be infringed by an implementation of Your Extension. -+ -+(iv) Interface Modifications and Naming. You may not modify or add to -+the GUID space * * "xxxxxxxx-0901-11d1-8B06-00A024406D59" or any other -+GUID space designated by Original Contributor. You may not modify any -+Interface prefix provided with the Covered Code or any other prefix -+designated by Original Contributor.* * -+ -+* * -+ -+(f) You agree that any Specifications provided to You by Original -+Contributor are confidential and proprietary information of Original -+Contributor. You must maintain the confidentiality of the Specifications -+and may not disclose them to any third party without Original -+Contributor's prior written consent. You may only use the Specifications -+under the terms of this License and only for the purpose of implementing -+the terms of this License with respect to Covered Code. You agree not -+use, copy or distribute any such Specifications except as provided in -+writing by Original Contributor. -+ -+3.2 Commercial Use License. -+ -+You may not make Commercial Use of any Covered Code unless You and -+Original Contributor have executed a copy of the Commercial Use and -+Trademark License attached as Attachment D. -+ -+*4. Versions of the License.* -+ -+4.1 License Versions. -+ -+Original Contributor may publish revised versions of the License from -+time to time. Each version will be given a distinguishing version number. -+ -+4.2 Effect. -+ -+Once a particular version of Covered Code has been provided under a -+version of the License, You may always continue to use such Covered Code -+under the terms of that version of the License. You may also choose to -+use such Covered Code under the terms of any subsequent version of the -+License. No one other than Original Contributor has the right to -+promulgate License versions. -+ -+4.3 Multiple-Licensed Code. -+ -+Original Contributor may designate portions of the Covered Code as -+"Multiple-Licensed." "Multiple-Licensed" means that the Original -+Contributor permits You to utilize those designated portions of the -+Covered Code under Your choice of this License or the alternative -+license(s), if any, specified by the Original Contributor in an -+Attachment to this License. -+ -+*5. Disclaimer of Warranty.* -+ -+5.1 COVERED CODE PROVIDED AS IS. -+ -+COVERED CODE IS PROVIDED UNDER THIS LICENSE "AS IS," WITHOUT WARRANTY OF -+ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, -+WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT -+FOR A PARTICULAR PURPOSE OR NON-INFRINGING. YOU AGREE TO BEAR THE ENTIRE -+RISK IN CONNECTION WITH YOUR USE AND DISTRIBUTION OF COVERED CODE UNDER -+THIS LICENSE. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART -+OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER -+EXCEPT SUBJECT TO THIS DISCLAIMER. -+ -+5.2 Not Designed for High Risk Activities. -+ -+You acknowledge that Original Code, Upgraded Code and Specifications are -+not designed or intended for use in high risk activities including, but -+not limited to: (i) on-line control of aircraft, air traffic, aircraft -+navigation or aircraft communications; or (ii) in the design, -+construction, operation or maintenance of any nuclear facility. Original -+Contributor disclaims any express or implied warranty of fitness for -+such uses. -+ -+*6. Termination.* -+ -+6.1 By You. -+ -+You may terminate this Research Use license at anytime by providing -+written notice to Original Contributor. -+ -+6.2 By Original Contributor. -+ -+This License and the rights granted hereunder will terminate: -+ -+(i) automatically if You fail to comply with the terms of this License -+and fail to cure such breach within 30 days of receipt of written notice -+of the breach; -+ -+(ii) immediately in the event of circumstances specified in Sections 7.1 -+and 8.4; or -+ -+(iii) at Original Contributor's discretion upon any action initiated by -+You (including by cross-claim or counter claim) alleging that use or -+distribution by Original Contributor or any Licensee, of Original Code, -+Upgraded Code, Error Corrections, Shared Modifications or Specifications -+infringe a patent owned or controlled by You. -+ -+6.3 Effective of Termination. -+ -+Upon termination, You agree to discontinue use of and destroy all copies -+of Covered Code in Your possession. All sublicenses to the Covered Code -+which You have properly granted shall survive any termination of this -+License. Provisions that, by their nature, should remain in effect -+beyond the termination of this License shall survive including, without -+limitation, Sections 2.2, 3, 5, 7 and 8. -+ -+6.4 No Compensation. -+ -+Each party waives and releases the other from any claim to compensation -+or indemnity for permitted or lawful termination of the business -+relationship established by this License. -+ -+*7. Liability.* -+ -+7.1 Infringement. Should any of the Original Code, Upgraded Code, TCK or -+Specifications ("Materials") become the subject of a claim of -+infringement, Original Contributor may, at its sole option, (i) attempt -+to procure the rights necessary for You to continue using the Materials, -+(ii) modify the Materials so that they are no longer infringing, or -+(iii) terminate Your right to use the Materials, immediately upon -+written notice, and refund to You the amount, if any, having then -+actually been paid by You to Original Contributor for the Original Code, -+Upgraded Code and TCK, depreciated on a straight line, five year basis. -+ -+7.2 LIMITATION OF LIABILITY. TO THE FULL EXTENT ALLOWED BY APPLICABLE -+LAW, ORIGINAL CONTRIBUTOR'S LIABILITY TO YOU FOR CLAIMS RELATING TO THIS -+LICENSE, WHETHER FOR BREACH OR IN TORT, SHALL BE LIMITED TO ONE HUNDRED -+PERCENT (100%) OF THE AMOUNT HAVING THEN ACTUALLY BEEN PAID BY YOU TO -+ORIGINAL CONTRIBUTOR FOR ALL COPIES LICENSED HEREUNDER OF THE PARTICULAR -+ITEMS GIVING RISE TO SUCH CLAIM, IF ANY, DURING THE TWELVE MONTHS -+PRECEDING THE CLAIMED BREACH. IN NO EVENT WILL YOU (RELATIVE TO YOUR -+SHARED MODIFICATIONS OR ERROR CORRECTIONS) OR ORIGINAL CONTRIBUTOR BE -+LIABLE FOR ANY INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL -+DAMAGES IN CONNECTION WITH OR RISING OUT OF THIS LICENSE (INCLUDING, -+WITHOUT LIMITATION, LOSS OF PROFITS, USE, DATA, OR OTHER ECONOMIC -+ADVANTAGE), HOWEVER IT ARISES AND ON ANY THEORY OF LIABILITY, WHETHER IN -+AN ACTION FOR CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE) -+OR OTHERWISE, WHETHER OR NOT YOU OR ORIGINAL CONTRIBUTOR HAS BEEN -+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE AND NOTWITHSTANDING THE -+FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. -+ -+*8. Miscellaneous.* -+ -+8.1 Trademark. -+ -+You shall not use any Trademark unless You and Original Contributor -+execute a copy of the Commercial Use and Trademark License Agreement -+attached hereto as Attachment D. Except as expressly provided in the -+License, You are granted no right, title or license to, or interest in, -+any Trademarks. Whether or not You and Original Contributor enter into -+the Trademark License, You agree not to (i) challenge Original -+Contributor's ownership or use of Trademarks; (ii) attempt to register -+any Trademarks, or any mark or logo substantially similar thereto; or -+(iii) incorporate any Trademarks into Your own trademarks, product -+names, service marks, company names, or domain names. -+ -+8.2 Integration. -+ -+This License represents the complete agreement concerning the subject -+matter hereof. -+ -+8.3 Assignment. -+ -+Original Contributor may assign this License, and its rights and -+obligations hereunder, in its sole discretion. You may assign the -+Research Use portions of this License and the TCK license to a third -+party upon prior written notice to Original Contributor (which may be -+provided electronically via the Community Web-Server). You may not -+assign the Commercial Use and Trademark license, the Add-On Technology -+License, or the Add-On Technology Source Code Porting License, including -+by way of merger (regardless of whether You are the surviving entity) or -+acquisition, without Original Contributor's prior written consent. -+ -+8.4 Severability. -+ -+If any provision of this License is held to be unenforceable, such -+provision shall be reformed only to the extent necessary to make it -+enforceable. Notwithstanding the foregoing, if You are prohibited by law -+from fully and specifically complying with Sections 2.2 or 3, this -+License will immediately terminate and You must immediately discontinue -+any use of Covered Code. -+ -+8.5 Governing Law. -+ -+This License shall be governed by the laws of the United States and the -+State of Washington, as applied to contracts entered into and to be -+performed in Washington between Washington residents. The application of -+the United Nations Convention on Contracts for the International Sale of -+Goods is expressly excluded. You agree that the state and federal courts -+located in Seattle, Washington have exclusive jurisdiction over any -+claim relating to the License, including contract and tort claims. -+ -+8.6 Dispute Resolution. -+ -+a) Arbitration. Any dispute arising out of or relating to this License -+shall be finally settled by arbitration as set out herein, except that -+either party may bring any action, in a court of competent jurisdiction -+(which jurisdiction shall be exclusive), with respect to any dispute -+relating to such party's Intellectual Property Rights or with respect to -+Your compliance with the TCK license. Arbitration shall be administered: -+(i) by the American Arbitration Association (AAA), (ii) in accordance -+with the rules of the United Nations Commission on International Trade -+Law (UNCITRAL) (the "Rules") in effect at the time of arbitration as -+modified herein; and (iii) the arbitrator will apply the substantive -+laws of Washington and the United States. Judgment upon the award -+rendered by the arbitrator may be entered in any court having -+jurisdiction to enforce such award. -+ -+b) Arbitration language, venue and damages. All arbitration proceedings -+shall be conducted in English by a single arbitrator selected in -+accordance with the Rules, who must be fluent in English and be either a -+retired judge or practicing attorney having at least ten (10) years -+litigation experience and be reasonably familiar with the technology -+matters relative to the dispute. Unless otherwise agreed, arbitration -+venue shall be in Seattle, Washington. The arbitrator may award monetary -+damages only and nothing shall preclude either party from seeking -+provisional or emergency relief from a court of competent jurisdiction. -+The arbitrator shall have no authority to award damages in excess of -+those permitted in this License and any such award in excess is void. -+All awards will be payable in U.S. dollars and may include, for the -+prevailing party (i) pre-judgment award interest, (ii) reasonable -+attorneys' fees incurred in connection with the arbitration, and (iii) -+reasonable costs and expenses incurred in enforcing the award. The -+arbitrator will order each party to produce identified documents and -+respond to no more than twenty-five single question interrogatories. -+ -+8.7 Construction. -+ -+Any law or regulation, which provides that the language of a contract -+shall be construed against the drafter, shall not apply to this License. -+ -+8.8 U.S. Government End Users. -+ -+The Covered Code is a "commercial item," as that term is defined in 48 -+C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" -+and "commercial computer software documentation," as such terms are used -+in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and -+48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government -+End Users acquire Covered Code with only those rights set forth herein. -+You agree to pass this notice to our licensees. -+ -+8.9 Marketing Activities. -+ -+Licensee hereby grants Original Contributor a non-exclusive, -+non-transferable, limited license to use the Licensee's company name and -+logo ("Licensee Marks") in any presentations, press releases, or -+marketing materials solely for the purpose of identifying Licensee as a -+member of the Helix Community. Licensee shall provide samples of -+Licensee Marks to Original Contributor upon request by Original -+Contributor. Original Contributor acknowledges that the Licensee Marks -+are the trademarks of Licensee. Original Contributor shall not use the -+Licensee Marks in a way that may imply that Original Contributor is an -+agency or branch of Licensee. Original Contributor understands and -+agrees that the use of any Licensee Marks in connection with this -+Agreement shall not create any right, title or interest, in, or to the -+Licensee Marks or any Licensee trademarks and that all such use and -+goodwill associated with any such trademarks will inure to the benefit -+of Licensee. Further the Original Contributor will stop usage of the -+Licensee Marks upon Licensee's request. -+ -+8.10 Press Announcements. -+ -+You may make press announcements or other public statements regarding -+this License without the prior written consent of the Original -+Contributor, if Your statement is limited to announcing the licensing of -+the Covered Code or the availability of Your Product and its -+compatibility with the Covered Code. All other public announcements -+regarding this license require the prior written consent of the Original -+Contributor. Consent requests are welcome at press@helixcommunity.org. -+ -+8.11 International Use. -+ -+a) Export/Import laws. Covered Code is subject to U.S. export control -+laws and may be subject to export or import regulations in other -+countries. Each party agrees to comply strictly with all such laws and -+regulations and acknowledges their responsibility to obtain such -+licenses to export, re-export, or import as may be required. You agree -+to pass these obligations to Your licensees. -+ -+b) Intellectual Property Protection. Due to limited intellectual -+property protection and enforcement in certain countries, You agree not -+to redistribute the Original Code, Upgraded Code, TCK and Specifications -+to any country on the list of restricted countries on the Community Web -+Server. -+ -+8.12 Language. -+ -+This License is in the English language only, which language shall be -+controlling in all respects, and all versions of this License in any -+other language shall be for accommodation only and shall not be binding -+on the parties to this License. All communications and notices made or -+given pursuant to this License, and all documentation and support to be -+provided, unless otherwise noted, shall be in the English language. -+ -+PLEASE READ THE TERMS OF THIS LICENSE CAREFULLY. BY CLICKING ON THE -+"ACCEPT" BUTTON BELOW YOU ARE ACCEPTING AND AGREEING TO THE TERMS AND -+CONDITIONS OF THIS LICENSE WITH REALNETWORKS, INC. IF YOU ARE AGREEING -+TO THIS LICENSE ON BEHALF OF A COMPANY, YOU REPRESENT THAT YOU ARE -+AUTHORIZED TO BIND THE COMPANY TO SUCH A LICENSE. WHETHER YOU ARE ACTING -+ON YOUR OWN BEHALF, OR REPRESENTING A COMPANY, YOU MUST BE OF MAJORITY -+AGE AND BE OTHERWISE COMPETENT TO ENTER INTO CONTRACTS. IF YOU DO NOT -+MEET THIS CRITERIA OR YOU DO NOT AGREE TO ANY OF THE TERMS AND -+CONDITIONS OF THIS LICENSE, CLICK ON THE REJECT BUTTON TO EXIT. -+ -+ -+ GLOSSARY -+ -+1. *"Added Value"* means code which: -+ -+(i) has a principal purpose which is substantially different from that -+of the stand-alone Technology; -+ -+(ii) represents a significant functional and value enhancement to the -+Technology; -+ -+(iii) operates in conjunction with the Technology; and -+ -+(iv) is not marketed as a technology which replaces or substitutes for -+the Technology -+ -+2. "*Applicable Patent Rights*" mean: (a) in the case where Original -+Contributor is the grantor of rights, claims of patents that (i) are now -+or hereafter acquired, owned by or assigned to Original Contributor and -+(ii) are necessarily infringed by using or making the Original Code or -+Upgraded Code, including Modifications provided by Original Contributor, -+alone and not in combination with other software or hardware; and (b) in -+the case where Licensee is the grantor of rights, claims of patents that -+(i) are now or hereafter acquired, owned by or assigned to Licensee and -+(ii) are infringed (directly or indirectly) by using or making -+Licensee's Modifications or Error Corrections, taken alone or in -+combination with Covered Code. -+ -+3. "*Application Programming Interfaces (APIs)"* means the interfaces, -+associated header files, service provider interfaces, and protocols that -+enable a device, application, Operating System, or other program to -+obtain services from or make requests of (or provide services in -+response to requests from) other programs, and to use, benefit from, or -+rely on the resources, facilities, and capabilities of the relevant -+programs using the APIs. APIs includes the technical documentation -+describing the APIs, the Source Code constituting the API, and any -+Header Files used with the APIs. -+ -+4. "*Commercial Use*" means any use (internal or external), copying, -+sublicensing or distribution (internal or external), directly or -+indirectly of Covered Code by You other than Your Research Use of -+Covered Code within Your business or organization or in conjunction with -+other Licensees with equivalent Research Use rights. Commercial Use -+includes any use of the Covered Code for direct or indirect commercial -+or strategic gain, advantage or other business purpose. Any Commercial -+Use requires execution of Attachment D by You and Original Contributor. -+ -+5. "*Community Code*" means the Original Code, Upgraded Code, Error -+Corrections, Shared Modifications, or any combination thereof. -+ -+6. "*Community Webserver(s)"* means the webservers designated by -+Original Contributor for access to the Original Code, Upgraded Code, TCK -+and Specifications and for posting Error Corrections and Shared -+Modifications. -+ -+7. "*Compliant Covered Code*" means Covered Code that complies with the -+requirements of the TCK. -+ -+8. "*Contributor*" means each Licensee that creates or contributes to -+the creation of any Error Correction or Shared Modification. -+ -+9. "*Covered Code*" means the Original Code, Upgraded Code, -+Modifications, or any combination thereof. -+ -+10. "*Error Correction*" means any change made to Community Code which -+conforms to the Specification and corrects the adverse effect of a -+failure of Community Code to perform any function set forth in or -+required by the Specifications. -+ -+11. "*Executable*" means Covered Code that has been converted from -+Source Code to the preferred form for execution by a computer or digital -+processor (e.g. binary form). -+ -+12. "*Extension(s)"* means any additional Interfaces developed by or for -+You which: (i) are designed for use with the Technology; (ii) constitute -+an API for a library of computing functions or services; and (iii) are -+disclosed or otherwise made available to third party software developers -+for the purpose of developing software which invokes such additional -+Interfaces. The foregoing shall not apply to software developed by Your -+subcontractors to be exclusively used by You. -+ -+13. "*Header File(s)"* means that portion of the Source Code that -+provides the names and types of member functions, data members, class -+definitions, and interface definitions necessary to implement the APIs -+for the Covered Code. Header Files include, files specifically -+designated by Original Contributor as Header Files. Header Files do not -+include the code necessary to implement the functionality underlying the -+Interface. -+ -+14. *"Helix DNA Server Technology"* means the program(s) that implement -+the Helix Universal Server streaming engine for the Technology as -+defined in the Specification. -+ -+15. *"Helix DNA Client Technology"* means the Covered Code that -+implements the RealOne Player engine as defined in the Specification. -+ -+16. *"Helix DNA Producer Technology"* means the Covered Code that -+implements the Helix Producer engine as defined in the Specification. -+ -+17. *"Helix DNA Technology"* means the Helix DNA Server Technology, the -+Helix DNA Client Technology, the Helix DNA Producer Technology and other -+Helix technologies designated by Original Contributor. -+ -+18. "*Intellectual Property Rights*" means worldwide statutory and -+common law rights associated solely with (i) Applicable Patent Rights; -+(ii) works of authorship including copyrights, copyright applications, -+copyright registrations and "moral rights"; (iii) the protection of -+trade and industrial secrets and confidential information; and (iv) -+divisions, continuations, renewals, and re-issuances of the foregoing -+now existing or acquired in the future. -+ -+19. *"Interface*" means interfaces, functions, properties, class -+definitions, APIs, Header Files, GUIDs, V-Tables, and/or protocols -+allowing one piece of software, firmware or hardware to communicate or -+interoperate with another piece of software, firmware or hardware. -+ -+20. "*Internal Deployment Use*" means use of Compliant Covered Code -+(excluding Research Use) within Your business or organization only by -+Your employees and/or agents on behalf of Your business or organization, -+but not to provide services, including content distribution, to third -+parties, subject to execution of Attachment D by You and Original -+Contributor, if required. -+ -+21. "*Licensee*" means any party that has entered into and has in effect -+a version of this License with Original Contributor. -+ -+22. "*MIME type*" means a description of what type of media or other -+content is in a file, including by way of example but not limited to -+'audio/x-pn-realaudio-plugin.' -+ -+23. "*Modification(s)"* means (i) any addition to, deletion from and/or -+change to the substance and/or structure of the Covered Code, including -+Interfaces; (ii) the combination of any Covered Code and any previous -+Modifications; (iii) any new file or other representation of computer -+program statements that contains any portion of Covered Code; and/or -+(iv) any new Source Code implementing any portion of the Specifications. -+ -+24. "*MP3 Patents*" means any patents necessary to make, use or sell -+technology implementing any portion of the specification developed by -+the Moving Picture Experts Group known as MPEG-1 Audio Layer-3 or MP3, -+including but not limited to all past and future versions, profiles, -+extensions, parts and amendments relating to the MP3 specification. -+ -+25. "*MPEG-4 Patents*" means any patents necessary to make, use or sell -+technology implementing any portion of the specification developed by -+the Moving Pictures Experts Group known as MPEG-4, including but not -+limited to all past and future versions, profiles, extensions, parts and -+amendments relating to the MPEG-4 specification. -+ -+26. "*Original Code*" means the initial Source Code for the Technology -+as described on the Community Web Server. -+ -+27. "*Original Contributor*" means RealNetworks, Inc., its affiliates -+and its successors and assigns. -+ -+28. "*Original Contributor MIME Type*" means the MIME registry, browser -+preferences, or local file/protocol associations invoking any Helix DNA -+Client-based application, including the RealOne Player, for playback of -+RealAudio, RealVideo, other RealMedia MIME types or datatypes (e.g., -+.ram, .rnx, .rpm, .ra, .rm, .rp, .rt, .rf, .prx, .mpe, .rmp, .rmj, .rav, -+.rjs, .rmx, .rjt, .rms), and any other Original Contributor-specific or -+proprietary MIME types that Original Contributor may introduce in the -+future. -+ -+29. "*Personal Use*" means use of Covered Code by an individual solely -+for his or her personal, private and non-commercial purposes. An -+individual's use of Covered Code in his or her capacity as an officer, -+employee, member, independent contractor or agent of a corporation, -+business or organization (commercial or non-commercial) does not qualify -+as Personal Use. -+ -+30. "*RealMedia File Format*" means the file format designed and -+developed by RealNetworks for storing multimedia data and used to store -+RealAudio and RealVideo encoded streams. Valid RealMedia File Format -+extensions include: .rm, .rmj, .rmc, .rmvb, .rms. -+ -+31. "*RCSL Webpage*" means the RealNetworks Community Source License -+webpage located at https://www.helixcommunity.org/content/rcsl or such -+other URL that Original Contributor may designate from time to time. -+ -+32. "*Reformatted Specifications*" means any revision to the -+Specifications which translates or reformats the Specifications (as for -+example in connection with Your documentation) but which does not alter, -+subset or superset * *the functional or operational aspects of the -+Specifications. -+ -+33. "*Research Use*" means use and distribution of Covered Code only for -+Your Personal Use, research or development use and expressly excludes -+Internal Deployment Use and Commercial Use. Research Use also includes -+use of Covered Code to teach individuals how to use Covered Code. -+ -+34. "*Shared Modifications*" means Modifications that You distribute or -+use for a Commercial Use, in addition to any Modifications provided by -+You, at Your option, pursuant to Section 2.2, or received by You from a -+Contributor pursuant to Section 2.3. -+ -+35. "*Source Code*" means the preferred form of the Covered Code for -+making modifications to it, including all modules it contains, plus any -+associated interface definition files, scripts used to control -+compilation and installation of an Executable, or source code -+differential comparisons against either the Original Code or another -+well known, available Covered Code of the Contributor's choice. The -+Source Code can be in a compressed or archival form, provided the -+appropriate decompression or de-archiving software is widely available -+for no charge. -+ -+36. "*Specifications*" means the specifications for the Technology and -+other documentation, as designated on the Community Web Server, as may -+be revised by Original Contributor from time to time. -+ -+37. "*Trademarks*" means Original Contributor's trademarks and logos, -+including, but not limited to, RealNetworks, RealAudio, RealVideo, -+RealOne, RealSystem, SureStream, Helix, Helix DNA and other trademarks -+whether now used or adopted in the future. -+ -+38. "*Technology*" means the technology described in Attachment B, and -+Upgrades. -+ -+39. "*Technology Compatibility Kit"* or *"TCK*" means the test programs, -+procedures, acceptance criteria and/or other requirements, designated by -+Original Contributor for use in verifying compliance of Covered Code -+with the Specifications, in conjunction with the Original Code and -+Upgraded Code. Original Contributor may, in its sole discretion and from -+time to time, revise a TCK to correct errors and/or omissions and in -+connection with Upgrades. -+ -+40. "*Upgrade(s)"* means new versions of Technology designated -+exclusively by Original Contributor as an "Upgrade" and released by -+Original Contributor from time to time under the terms of the License. -+ -+41. "*Upgraded Code*" means the Source Code and/or Executables for -+Upgrades, possibly including Modifications made by Contributors. -+ -+42. *"User's Guide"* means the users guide for the TCK which Original -+Contributor makes available to You to provide direction in how to run -+the TCK and properly interpret the results, as may be revised by -+Original Contributor from time to time. -+ -+43. "*You(r)*" means an individual, or a legal entity acting by and -+through an individual or individuals, exercising rights either under -+this License or under a future version of this License issued pursuant -+to Section 4.1. For legal entities, "You(r)" includes any entity that by -+majority voting interest controls, is controlled by, or is under common -+control with You. -+ -+44. "*Your Products*" means any (i) hardware products You distribute -+integrating the Covered Code; (ii) any software products You distribute -+with the Covered Code that utilize the APIs of the Covered Code; or -+(iii) any services You provide using the Covered Code. -+ -+ -+ ATTACHMENT A -+ -+REQUIRED NOTICES -+ -+ -+ ATTACHMENT A-1 -+ -+REQUIRED IN ALL CASES -+ -+Notice to be included in header file of all Error Corrections and Shared -+Modifications: -+ -+Portions Copyright 1994-2003 © RealNetworks, Inc. All rights reserved. -+ -+The contents of this file, and the files included with this file, are -+subject to the current version of RealNetworks Community Source License -+Version 1.1 (the "License"). You may not use this file except in -+compliance with the License executed by both You and RealNetworks. You -+may obtain a copy of the License at * -+https://www.helixcommunity.org/content/rcsl.* You may also obtain a copy -+of the License by contacting RealNetworks directly. Please see the -+License for the rights, obligations and limitations governing use of the -+contents of the file. -+ -+This file is part of the Helix DNA technology. RealNetworks, Inc., is -+the developer of the Original code and owns the copyrights in the -+portions it created. -+ -+This file, and the files included with this file, are distributed on an -+'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, -+AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT -+LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -+PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ -+Contributor(s): -+ -+_______________________________________________ -+ -+Technology Compatibility Kit Test Suite(s) Location: -+ -+________________________________ -+ -+ -+ ATTACHMENT A-2 -+ -+SAMPLE LICENSEE CERTIFICATION -+ -+"By clicking the `Agree' button below, You certify that You are a -+Licensee in good standing under the RealNetworks Community Source -+License, ("License") and that Your access, use and distribution of code -+and information You may obtain at this site is subject to the License. -+If You are not a Licensee under the RealNetworks Community Source -+License You agree not to download, copy or use the Helix DNA technology. -+ -+ -+ ATTACHMENT A-3 -+ -+REQUIRED STUDENT NOTIFICATION -+ -+"This software and related documentation has been obtained by Your -+educational institution subject to the RealNetworks Community Source -+License. You have been provided access to the software and related -+documentation for use only in connection with your course work and -+research activities as a matriculated student of Your educational -+institution. Any other use is expressly prohibited. -+ -+THIS SOFTWARE AND RELATED DOCUMENTATION CONTAINS PROPRIETARY MATERIAL OF -+REALNETWORKS, INC, WHICH ARE PROTECTED BY VARIOUS INTELLECTUAL PROPERTY -+RIGHTS. -+ -+You may not use this file except in compliance with the License. You may -+obtain a copy of the License on the web at -+https://www.helixcommunity.org/content/rcsl. -+ -+* -+* -+ -+ -+ ATTACHMENT B -+ -+Description of Technology -+ -+Helix DNA, which consists of Helix DNA Client, Helix DNA Server and -+Helix DNA Producer. -+ -+Description of "Technology" -+ -+Helix DNA Technology v1.0 as described on the Community Web Server. -+ -+ -+ ATTACHMENT C -+ -+TECHNOLOGY COMPATIBILITY KIT LICENSE -+ -+The following license is effective for the *Helix DNA* Technology -+Compatibility Kit - as described on the Community Web Server. The -+Technology Compatibility Kit(s) for the Technology specified in -+Attachment B may be accessed at the Community Web Server. -+ -+1. TCK License. -+ -+1.1 Grants to use TCK -+ -+Subject to the terms and restrictions set forth below and the -+RealNetworks Community Source License, and the Research Use license, -+Original Contributor grants to You a worldwide, non-exclusive, -+non-transferable license, to the extent of Original Contributor's -+Intellectual Property Rights in the TCK (without the right to -+sublicense), to use the TCK to develop and test Covered Code. -+ -+1.2 TCK Use Restrictions. -+ -+You are not authorized to create derivative works of the TCK or use the -+TCK to test any implementation of the Specification that is not Covered -+Code. You may not publish Your test results or make claims of -+comparative compatibility with respect to other implementations of the -+Specification. In consideration for the license grant in Section 1.1 -+above You agree not to develop Your own tests that are intended to -+validate conformation with the Specification. -+ -+2. Test Results. -+ -+You agree to provide to Original Contributor or the third party test -+facility if applicable, Your test results that demonstrate that Covered -+Code is Compliant Covered Code and that Original Contributor may publish -+or otherwise distribute such test results. -+ -+PLEASE READ THE TERMS OF THIS LICENSE CAREFULLY. BY CLICKING ON THE -+"ACCEPT" BUTTON BELOW YOU ARE ACCEPTING AND AGREEING TO THE TERMS AND -+CONDITIONS OF THIS LICENSE WITH THE ORIGINAL CONTRIBUTOR, REALNETWORKS, -+INC. IF YOU ARE AGREEING TO THIS LICENSE ON BEHALF OF A COMPANY, YOU -+REPRESENT THAT YOU ARE AUTHORIZED TO BIND THE COMPANY TO SUCH A LICENSE. -+WHETHER YOU ARE ACTING ON YOUR OWN BEHALF, OR REPRESENTING A COMPANY, -+YOU MUST BE OF MAJORITY AGE AND BE OTHERWISE COMPETENT TO ENTER INTO -+CONTRACTS. IF YOU DO NOT MEET THIS CRITERIA OR YOU DO NOT AGREE TO ANY -+OF THE TERMS AND CONDITIONS OF THIS LICENSE, CLICK ON THE REJECT BUTTON -+TO EXIT. -+ -+*ACCEPT / REJECT -+* -+ -+* -+* -+ -+*To agree to the R&D/academic terms of this license, please register -+ on the site -- -+you will then be given a chance to agree to the clickwrap RCSL -+ -+R&D License -+ -+and gain access to the RCSL-licensed source code. To build or deploy -+commercial applications based on the RCSL, you will need to agree to the -+Commercial Use license attachments -+* -+ -+ -+ -Index: helix-libs/clientapps/clutter/RPSL.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/RPSL.txt 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,518 @@ -+RealNetworks Public Source License Version 1.0 -+(Rev. Date October 28, 2002) -+ -+1. General Definitions. This License applies to any program or other work which -+RealNetworks, Inc., or any other entity that elects to use this license, -+("Licensor") makes publicly available and which contains a notice placed by -+Licensor identifying such program or work as "Original Code" and stating that it -+is subject to the terms of this RealNetworks Public Source License version 1.0 -+(or subsequent version thereof) ("License"). You are not required to accept this -+License. However, nothing else grants You permission to use, copy, modify or -+distribute the software or its derivative works. These actions are prohibited by -+law if You do not accept this License. Therefore, by modifying, copying or -+distributing the software (or any work based on the software), You indicate your -+acceptance of this License to do so, and all its terms and conditions. In -+addition, you agree to the terms of this License by clicking the Accept button -+or downloading the software. As used in this License: -+ -+1.1 "Applicable Patent Rights" mean: (a) in the case where Licensor is the -+grantor of rights, claims of patents that (i) are now or hereafter acquired, -+owned by or assigned to Licensor and (ii) are necessarily infringed by using or -+making the Original Code alone and not in combination with other software or -+hardware; and (b) in the case where You are the grantor of rights, claims of -+patents that (i) are now or hereafter acquired, owned by or assigned to You and -+(ii) are infringed (directly or indirectly) by using or making Your -+Modifications, taken alone or in combination with Original Code. -+ -+1.2 "Compatible Source License" means any one of the licenses listed on Exhibit -+B or at https://www.helixcommunity.org/content/complicense or other licenses -+specifically identified by Licensor in writing. Notwithstanding any term to the -+contrary in any Compatible Source License, any code covered by any Compatible -+Source License that is used with Covered Code must be made readily available in -+Source Code format for royalty-free use under the terms of the Compatible Source -+License or this License. -+ -+1.3 "Contributor" means any person or entity that creates or contributes to the -+creation of Modifications. -+ -+1.4 "Covered Code" means the Original Code, Modifications, the combination of -+Original Code and any Modifications, and/or any respective portions thereof. -+ -+1.5 "Deploy" means to use, sublicense or distribute Covered Code other than for -+Your internal research and development (R&D) and/or Personal Use, and includes -+without limitation, any and all internal use or distribution of Covered Code -+within Your business or organization except for R&D use and/or Personal Use, as -+well as direct or indirect sublicensing or distribution of Covered Code by You -+to any third party in any form or manner. -+ -+1.6 "Derivative Work" means either the Covered Code or any derivative work under -+United States copyright law, and including any work containing or including any -+portion of the Covered Code or Modifications, either verbatim or with -+modifications and/or translated into another language. Derivative Work also -+includes any work which combines any portion of Covered Code or Modifications -+with code not otherwise governed by the terms of this License. -+ -+1.7 "Externally Deploy" means to Deploy the Covered Code in any way that may be -+accessed or used by anyone other than You, used to provide any services to -+anyone other than You, or used in any way to deliver any content to anyone other -+than You, whether the Covered Code is distributed to those parties, made -+available as an application intended for use over a computer network, or used to -+provide services or otherwise deliver content to anyone other than You. -+ -+1.8. "Interface" means interfaces, functions, properties, class definitions, -+APIs, header files, GUIDs, V-Tables, and/or protocols allowing one piece of -+software, firmware or hardware to communicate or interoperate with another piece -+of software, firmware or hardware. -+ -+1.9 "Modifications" mean any addition to, deletion from, and/or change to, the -+substance and/or structure of the Original Code, any previous Modifications, the -+combination of Original Code and any previous Modifications, and/or any -+respective portions thereof. When code is released as a series of files, a -+Modification is: (a) any addition to or deletion from the contents of a file -+containing Covered Code; and/or (b) any new file or other representation of -+computer program statements that contains any part of Covered Code. -+ -+1.10 "Original Code" means (a) the Source Code of a program or other work as -+originally made available by Licensor under this License, including the Source -+Code of any updates or upgrades to such programs or works made available by -+Licensor under this License, and that has been expressly identified by Licensor -+as such in the header file(s) of such work; and (b) the object code compiled -+from such Source Code and originally made available by Licensor under this -+License. -+ -+1.11 "Personal Use" means use of Covered Code by an individual solely for his or -+her personal, private and non-commercial purposes. An individual's use of -+Covered Code in his or her capacity as an officer, employee, member, independent -+contractor or agent of a corporation, business or organization (commercial or -+non-commercial) does not qualify as Personal Use. -+ -+1.12 "Source Code" means the human readable form of a program or other work that -+is suitable for making modifications to it, including all modules it contains, -+plus any associated interface definition files, scripts used to control -+compilation and installation of an executable (object code). -+ -+1.13 "You" or "Your" means an individual or a legal entity exercising rights -+under this License. For legal entities, "You" or "Your" includes any entity -+which controls, is controlled by, or is under common control with, You, where -+"control" means (a) the power, direct or indirect, to cause the direction or -+management of such entity, whether by contract or otherwise, or (b) ownership of -+fifty percent (50%) or more of the outstanding shares or beneficial ownership of -+such entity. -+ -+2. Permitted Uses; Conditions & Restrictions. Subject to the terms and -+conditions of this License, Licensor hereby grants You, effective on the date -+You accept this License (via downloading or using Covered Code or otherwise -+indicating your acceptance of this License), a worldwide, royalty-free, -+non-exclusive copyright license, to the extent of Licensor's copyrights cover -+the Original Code, to do the following: -+ -+2.1 You may reproduce, display, perform, modify and Deploy Covered Code, -+provided that in each instance: -+ -+(a) You must retain and reproduce in all copies of Original Code the copyright -+and other proprietary notices and disclaimers of Licensor as they appear in the -+Original Code, and keep intact all notices in the Original Code that refer to -+this License; -+ -+(b) You must include a copy of this License with every copy of Source Code of -+Covered Code and documentation You distribute, and You may not offer or impose -+any terms on such Source Code that alter or restrict this License or the -+recipients' rights hereunder, except as permitted under Section 6; -+ -+(c) You must duplicate, to the extent it does not already exist, the notice in -+Exhibit A in each file of the Source Code of all Your Modifications, and cause -+the modified files to carry prominent notices stating that You changed the files -+and the date of any change; -+ -+(d) You must make Source Code of all Your Externally Deployed Modifications -+publicly available under the terms of this License, including the license grants -+set forth in Section 3 below, for as long as you Deploy the Covered Code or -+twelve (12) months from the date of initial Deployment, whichever is longer. You -+should preferably distribute the Source Code of Your Deployed Modifications -+electronically (e.g. download from a web site); and -+ -+(e) if You Deploy Covered Code in object code, executable form only, You must -+include a prominent notice, in the code itself as well as in related -+documentation, stating that Source Code of the Covered Code is available under -+the terms of this License with information on how and where to obtain such -+Source Code. You must also include the Object Code Notice set forth in Exhibit A -+in the "about" box or other appropriate place where other copyright notices are -+placed, including any packaging materials. -+ -+2.2 You expressly acknowledge and agree that although Licensor and each -+Contributor grants the licenses to their respective portions of the Covered Code -+set forth herein, no assurances are provided by Licensor or any Contributor that -+the Covered Code does not infringe the patent or other intellectual property -+rights of any other entity. Licensor and each Contributor disclaim any liability -+to You for claims brought by any other entity based on infringement of -+intellectual property rights or otherwise. As a condition to exercising the -+rights and licenses granted hereunder, You hereby assume sole responsibility to -+secure any other intellectual property rights needed, if any. For example, if a -+third party patent license is required to allow You to make, use, sell, import -+or offer for sale the Covered Code, it is Your responsibility to acquire such -+license(s). -+ -+2.3 Subject to the terms and conditions of this License, Licensor hereby grants -+You, effective on the date You accept this License (via downloading or using -+Covered Code or otherwise indicating your acceptance of this License), a -+worldwide, royalty-free, perpetual, non-exclusive patent license under -+Licensor's Applicable Patent Rights to make, use, sell, offer for sale and -+import the Covered Code, provided that in each instance you comply with the -+terms of this License. -+ -+3. Your Grants. In consideration of, and as a condition to, the licenses granted -+to You under this License: -+ -+(a) You grant to Licensor and all third parties a non-exclusive, perpetual, -+irrevocable, royalty free license under Your Applicable Patent Rights and other -+intellectual property rights owned or controlled by You, to make, sell, offer -+for sale, use, import, reproduce, display, perform, modify, distribute and -+Deploy Your Modifications of the same scope and extent as Licensor's licenses -+under Sections 2.1 and 2.2; and -+ -+(b) You grant to Licensor and its subsidiaries a non-exclusive, worldwide, -+royalty-free, perpetual and irrevocable license, under Your Applicable Patent -+Rights and other intellectual property rights owned or controlled by You, to -+make, use, sell, offer for sale, import, reproduce, display, perform, -+distribute, modify or have modified (for Licensor and/or its subsidiaries), -+sublicense and distribute Your Modifications, in any form and for any purpose, -+through multiple tiers of distribution. -+ -+(c) You agree not use any information derived from Your use and review of the -+Covered Code, including but not limited to any algorithms or inventions that may -+be contained in the Covered Code, for the purpose of asserting any of Your -+patent rights, or assisting a third party to assert any of its patent rights, -+against Licensor or any Contributor. -+ -+4. Derivative Works. You may create a Derivative Work by combining Covered Code -+with other code not otherwise governed by the terms of this License and -+distribute the Derivative Work as an integrated product. In each such instance, -+You must make sure the requirements of this License are fulfilled for the -+Covered Code or any portion thereof, including all Modifications. -+ -+4.1 You must cause any Derivative Work that you distribute, publish or -+Externally Deploy, that in whole or in part contains or is derived from the -+Covered Code or any part thereof, to be licensed as a whole at no charge to all -+third parties under the terms of this License and no other license except as -+provided in Section 4.2. You also must make Source Code available for the -+Derivative Work under the same terms as Modifications, described in Sections 2 -+and 3, above. -+ -+4.2 Compatible Source Licenses. Software modules that have been independently -+developed without any use of Covered Code and which contain no portion of the -+Covered Code, Modifications or other Derivative Works, but are used or combined -+in any way wtih the Covered Code or any Derivative Work to form a larger -+Derivative Work, are exempt from the conditions described in Section 4.1 but -+only to the extent that: the software module, including any software that is -+linked to, integrated with, or part of the same applications as, the software -+module by any method must be wholly subject to one of the Compatible Source -+Licenses. Notwithstanding the foregoing, all Covered Code must be subject to the -+terms of this License. Thus, the entire Derivative Work must be licensed under a -+combination of the RPSL (for Covered Code) and a Compatible Source License for -+any independently developed software modules within the Derivative Work. The -+foregoing requirement applies even if the Compatible Source License would -+ordinarily allow the software module to link with, or form larger works with, -+other software that is not subject to the Compatible Source License. For -+example, although the Mozilla Public License v1.1 allows Mozilla code to be -+combined with proprietary software that is not subject to the MPL, if -+MPL-licensed code is used with Covered Code the MPL-licensed code could not be -+combined or linked with any code not governed by the MPL. The general intent of -+this section 4.2 is to enable use of Covered Code with applications that are -+wholly subject to an acceptable open source license. You are responsible for -+determining whether your use of software with Covered Code is allowed under Your -+license to such software. -+ -+4.3 Mere aggregation of another work not based on the Covered Code with the -+Covered Code (or with a work based on the Covered Code) on a volume of a storage -+or distribution medium does not bring the other work under the scope of this -+License. If You deliver the Covered Code for combination and/or integration with -+an application previously provided by You (for example, via automatic updating -+technology), such combination and/or integration constitutes a Derivative Work -+subject to the terms of this License. -+ -+5. Exclusions From License Grant. Nothing in this License shall be deemed to -+grant any rights to trademarks, copyrights, patents, trade secrets or any other -+intellectual property of Licensor or any Contributor except as expressly stated -+herein. No right is granted to the trademarks of Licensor or any Contributor -+even if such marks are included in the Covered Code. Nothing in this License -+shall be interpreted to prohibit Licensor from licensing under different terms -+from this License any code that Licensor otherwise would have a right to -+license. Modifications, Derivative Works and/or any use or combination of -+Covered Code with other technology provided by Licensor or third parties may -+require additional patent licenses from Licensor which Licensor may grant in its -+sole discretion. No patent license is granted separate from the Original Code or -+combinations of the Original Code with other software or hardware. -+ -+5.1. Trademarks. This License does not grant any rights to use the trademarks or -+trade names owned by Licensor ("Licensor Marks" defined in Exhibit C) or to any -+trademark or trade name belonging to any Contributor. No Licensor Marks may be -+used to endorse or promote products derived from the Original Code other than as -+permitted by the Licensor Trademark Policy defined in Exhibit C. -+ -+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty, -+support, indemnity or liability obligations and/or other rights consistent with -+the scope of the license granted herein ("Additional Terms") to one or more -+recipients of Covered Code. However, You may do so only on Your own behalf and -+as Your sole responsibility, and not on behalf of Licensor or any Contributor. -+You must obtain the recipient's agreement that any such Additional Terms are -+offered by You alone, and You hereby agree to indemnify, defend and hold -+Licensor and every Contributor harmless for any liability incurred by or claims -+asserted against Licensor or such Contributor by reason of any such Additional -+Terms. -+ -+7. Versions of the License. Licensor may publish revised and/or new versions of -+this License from time to time. Each version will be given a distinguishing -+version number. Once Original Code has been published under a particular version -+of this License, You may continue to use it under the terms of that version. You -+may also choose to use such Original Code under the terms of any subsequent -+version of this License published by Licensor. No one other than Licensor has -+the right to modify the terms applicable to Covered Code created under this -+License. -+ -+8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in part -+pre-release, untested, or not fully tested works. The Covered Code may contain -+errors that could cause failures or loss of data, and may be incomplete or -+contain inaccuracies. You expressly acknowledge and agree that use of the -+Covered Code, or any portion thereof, is at Your sole and entire risk. THE -+COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF -+ANY KIND AND LICENSOR AND LICENSOR'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS -+"LICENSOR" FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY -+DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT -+NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF -+SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET -+ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. LICENSOR AND EACH -+CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE -+COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR -+REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR -+ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO ORAL OR -+WRITTEN DOCUMENTATION, INFORMATION OR ADVICE GIVEN BY LICENSOR, A LICENSOR -+AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. You -+acknowledge that the Covered Code is not intended for use in high risk -+activities, including, but not limited to, the design, construction, operation -+or maintenance of nuclear facilities, aircraft navigation, aircraft -+communication systems, or air traffic control machines in which case the failure -+of the Covered Code could lead to death, personal injury, or severe physical or -+environmental damage. Licensor disclaims any express or implied warranty of -+fitness for such uses. -+ -+9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT -+SHALL LICENSOR OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL, -+INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR -+YOUR USE OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER -+UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE OR STRICT -+LIABILITY), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF LICENSOR OR SUCH -+CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND -+NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME -+JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF INCIDENTAL OR -+CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event -+shall Licensor's total liability to You for all damages (other than as may be -+required by applicable law) under this License exceed the amount of ten dollars -+($10.00). -+ -+10. Ownership. Subject to the licenses granted under this License, each -+Contributor retains all rights, title and interest in and to any Modifications -+made by such Contributor. Licensor retains all rights, title and interest in and -+to the Original Code and any Modifications made by or on behalf of Licensor -+("Licensor Modifications"), and such Licensor Modifications will not be -+automatically subject to this License. Licensor may, at its sole discretion, -+choose to license such Licensor Modifications under this License, or on -+different terms from those contained in this License or may choose not to -+license them at all. -+ -+11. Termination. -+ -+11.1 Term and Termination. The term of this License is perpetual unless -+terminated as provided below. This License and the rights granted hereunder will -+terminate: -+ -+(a) automatically without notice from Licensor if You fail to comply with any -+term(s) of this License and fail to cure such breach within 30 days of becoming -+aware of such breach; -+ -+(b) immediately in the event of the circumstances described in Section 12.5(b); -+or -+ -+(c) automatically without notice from Licensor if You, at any time during the -+term of this License, commence an action for patent infringement against -+Licensor (including by cross-claim or counter claim in a lawsuit); -+ -+(d) upon written notice from Licensor if You, at any time during the term of -+this License, commence an action for patent infringement against any third party -+alleging that the Covered Code itself (excluding combinations with other -+software or hardware) infringes any patent (including by cross-claim or counter -+claim in a lawsuit). -+ -+11.2 Effect of Termination. Upon termination, You agree to immediately stop any -+further use, reproduction, modification, sublicensing and distribution of the -+Covered Code and to destroy all copies of the Covered Code that are in your -+possession or control. All sublicenses to the Covered Code which have been -+properly granted prior to termination shall survive any termination of this -+License. Provisions which, by their nature, should remain in effect beyond the -+termination of this License shall survive, including but not limited to Sections -+3, 5, 8, 9, 10, 11, 12.2 and 13. No party will be liable to any other for -+compensation, indemnity or damages of any sort solely as a result of terminating -+this License in accordance with its terms, and termination of this License will -+be without prejudice to any other right or remedy of any party. -+ -+12. Miscellaneous. -+ -+12.1 Government End Users. The Covered Code is a "commercial item" as defined in -+FAR 2.101. Government software and technical data rights in the Covered Code -+include only those rights customarily provided to the public as defined in this -+License. This customary commercial license in technical data and software is -+provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer -+Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical -+Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software -+or Computer Software Documentation). Accordingly, all U.S. Government End Users -+acquire Covered Code with only those rights set forth herein. -+ -+12.2 Relationship of Parties. This License will not be construed as creating an -+agency, partnership, joint venture or any other form of legal association -+between or among You, Licensor or any Contributor, and You will not represent to -+the contrary, whether expressly, by implication, appearance or otherwise. -+ -+12.3 Independent Development. Nothing in this License will impair Licensor's -+right to acquire, license, develop, have others develop for it, market and/or -+distribute technology or products that perform the same or similar functions as, -+or otherwise compete with, Modifications, Derivative Works, technology or -+products that You may develop, produce, market or distribute. -+ -+12.4 Waiver; Construction. Failure by Licensor or any Contributor to enforce any -+provision of this License will not be deemed a waiver of future enforcement of -+that or any other provision. Any law or regulation which provides that the -+language of a contract shall be construed against the drafter will not apply to -+this License. -+ -+12.5 Severability. (a) If for any reason a court of competent jurisdiction finds -+any provision of this License, or portion thereof, to be unenforceable, that -+provision of the License will be enforced to the maximum extent permissible so -+as to effect the economic benefits and intent of the parties, and the remainder -+of this License will continue in full force and effect. (b) Notwithstanding the -+foregoing, if applicable law prohibits or restricts You from fully and/or -+specifically complying with Sections 2 and/or 3 or prevents the enforceability -+of either of those Sections, this License will immediately terminate and You -+must immediately discontinue any use of the Covered Code and destroy all copies -+of it that are in your possession or control. -+ -+12.6 Dispute Resolution. Any litigation or other dispute resolution between You -+and Licensor relating to this License shall take place in the Seattle, -+Washington, and You and Licensor hereby consent to the personal jurisdiction of, -+and venue in, the state and federal courts within that District with respect to -+this License. The application of the United Nations Convention on Contracts for -+the International Sale of Goods is expressly excluded. -+ -+12.7 Export/Import Laws. This software is subject to all export and import laws -+and restrictions and regulations of the country in which you receive the Covered -+Code and You are solely responsible for ensuring that You do not export, -+re-export or import the Covered Code or any direct product thereof in violation -+of any such restrictions, laws or regulations, or without all necessary -+authorizations. -+ -+12.8 Entire Agreement; Governing Law. This License constitutes the entire -+agreement between the parties with respect to the subject matter hereof. This -+License shall be governed by the laws of the United States and the State of -+Washington. -+ -+Where You are located in the province of Quebec, Canada, the following clause -+applies: The parties hereby confirm that they have requested that this License -+and all related documents be drafted in English. Les parties ont exigé -+que le présent contrat et tous les documents connexes soient -+rédigés en anglais. -+ -+ EXHIBIT A. -+ -+"Copyright © 1995-2002 -+RealNetworks, Inc. and/or its licensors. All Rights Reserved. -+ -+The contents of this file, and the files included with this file, are subject to -+the current version of the RealNetworks Public Source License Version 1.0 (the -+"RPSL") available at https://www.helixcommunity.org/content/rpsl unless you have -+licensed the file under the RealNetworks Community Source License Version 1.0 -+(the "RCSL") available at https://www.helixcommunity.org/content/rcsl, in which -+case the RCSL will apply. You may also obtain the license terms directly from -+RealNetworks. You may not use this file except in compliance with the RPSL or, -+if you have a valid RCSL with RealNetworks applicable to this file, the RCSL. -+Please see the applicable RPSL or RCSL for the rights, obligations and -+limitations governing use of the contents of the file. -+ -+This file is part of the Helix DNA Technology. RealNetworks is the developer of -+the Original code and owns the copyrights in the portions it created. -+ -+This file, and the files included with this file, is distributed and made -+available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR -+IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING -+WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -+PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ -+Contributor(s): ____________________________________ -+ -+Technology Compatibility Kit Test -+Suite(s) Location (if licensed under the RCSL): ______________________________ -+ -+Object Code Notice: Helix DNA Client technology included. Copyright (c) -+RealNetworks, Inc., 1995-2002. All rights reserved. -+ -+ -+ EXHIBIT B -+ -+Compatible Source Licenses for the RealNetworks Public Source License. The -+following list applies to the most recent version of the license as of October -+25, 2002, unless otherwise indicated. -+ -+* Academic Free License -+* Apache Software License -+* Apple Public Source License -+* Artistic license -+* Attribution Assurance Licenses -+* BSD license -+* Common Public License (1) -+* Eiffel Forum License -+* GNU General Public License (GPL) (1) -+* GNU Library or "Lesser" General Public License (LGPL) (1) -+* IBM Public License -+* Intel Open Source License -+* Jabber Open Source License -+* MIT license -+* MITRE Collaborative Virtual Workspace License (CVW License) -+* Motosoto License -+* Mozilla Public License 1.0 (MPL) -+* Mozilla Public License 1.1 (MPL) -+* Nokia Open Source License -+* Open Group Test Suite License -+* Python Software Foundation License -+* Ricoh Source Code Public License -+* Sun Industry Standards Source License (SISSL) -+* Sun Public License -+* University of Illinois/NCSA Open Source License -+* Vovida Software License v. 1.0 -+* W3C License -+* X.Net License -+* Zope Public License -+* zlib/libpng license -+ -+(1) Note: because this license contains certain reciprocal licensing terms that -+purport to extend to independently developed code, You may be prohibited under -+the terms of this otherwise compatible license from using code licensed under -+its terms with Covered Code because Covered Code may only be licensed under the -+RealNetworks Public Source License. Any attempt to apply non RPSL license terms, -+including without limitation the GPL, to Covered Code is expressly forbidden. -+You are responsible for ensuring that Your use of Compatible Source Licensed -+code does not violate either the RPSL or the Compatible Source License. -+ -+The latest version of this list can be found at: -+https://www.helixcommunity.org/content/complicense -+ -+ EXHIBIT C -+ -+RealNetworks' Trademark policy. -+ -+RealNetworks defines the following trademarks collectively as "Licensor -+Trademarks": "RealNetworks", "RealPlayer", "RealJukebox", "RealSystem", -+"RealAudio", "RealVideo", "RealOne Player", "RealMedia", "Helix" or any other -+trademarks or trade names belonging to RealNetworks. -+ -+RealNetworks "Licensor Trademark Policy" forbids any use of Licensor Trademarks -+except as permitted by and in strict compliance at all times with RealNetworks' -+third party trademark usage guidelines which are posted at -+http://www.realnetworks.com/info/helixlogo.html. -+ -Index: helix-libs/clientapps/clutter/Umakefil -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/Umakefil 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,325 @@ -+# -+# ***** BEGIN LICENSE BLOCK ***** -+# Version: RCSL 1.0/RPSL 1.0 -+# -+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+# -+# The contents of this file, and the files included with this file, are -+# subject to the current version of the RealNetworks Public Source License -+# Version 1.0 (the "RPSL") available at -+# http://www.helixcommunity.org/content/rpsl unless you have licensed -+# the file under the RealNetworks Community Source License Version 1.0 -+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+# in which case the RCSL will apply. You may also obtain the license terms -+# directly from RealNetworks. You may not use this file except in -+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+# applicable to this file, the RCSL. Please see the applicable RPSL or -+# RCSL for the rights, obligations and limitations governing use of the -+# contents of the file. -+# -+# This file is part of the Helix DNA Technology. RealNetworks is the -+# developer of the Original Code and owns the copyrights in the portions -+# it created. -+# -+# This file, and the files included with this file, is distributed and made -+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+# -+# Technology Compatibility Kit Test Suite(s) Location: -+# http://www.helixcommunity.org/content/tck -+# -+# Contributor(s): -+# -+# ***** END LICENSE BLOCK ***** -+# -+ -+UmakefileVersion(2,2) -+ -+project.AddModuleIncludes("common/include", -+ "common/runtime/pub", -+ "client/include", -+ "client/common/system/pub", -+ "client/common/container/pub", -+ "client/audiosvc/pub", -+ "common/container/pub", -+ "video/sitelib/pub", -+ "video/colconverter/pub", -+ "video/sitelib/pub/platform/unix", -+ "video/sitelib", -+ "datatype/rm/include", -+ "client/core") -+ -+project.AddSources("player.cpp", -+ "excontxt.cpp", -+ "exsite.cpp", -+ "exroot.cpp", -+ "exadvsnk.cpp", -+ "exerror.cpp", -+ "iids.cpp", -+ "exstateadvsnk.cpp", -+ "excallback.cpp", -+ "print.cpp") -+ -+project.AddModuleLibraries( -+ "common/runtime[runtlib]", -+ "common/system[syslib]", -+ "common/container[contlib]", -+ "common/runtime[runtlib]", -+ "client/common/system[sysclntlib]", -+ "common/dbgtool[debuglib]", -+ "common/util[utillib]", -+ "video/sitelib[sitelib]", -+ "video/sitelib[sitecreatelib]", -+ "common/log/logutil[logutillib]", -+ "video/vidutil[vidutillib]" -+ ) -+project.AddSystemLibraries('Xv', 'Xext') -+ -+if project.IsDefined("HELIX_FEATURE_PREFERENCES"): -+ project.AddSources("preflist.cpp") -+ -+if project.IsDefined("HELIX_FEATURE_AUTHENTICATION"): -+ project.AddSources("exaumgr.cpp") -+ -+if project.IsDefined("HELIX_FEATURE_VIDEO"): -+ project.AddSources("exsitsup.cpp", -+ "fivemmap.cpp") -+ project.AddModuleIncludes('video/include') -+ if project.IsDefined("HELIX_FEATURE_PNG"): -+ project.AddModuleIncludes('datatype/image/png/common/pub') -+ project.AddModuleLibraries("common/import/zlib[zlib]", -+ "datatype/image/png/import/libpng[libpng]", -+ "datatype/image/png/common[pngcomlib]") -+ -+if project.IsDefined("HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS"): -+ project.AddSources("exprdnld.cpp") -+ -+if project.BuildOption("nodll"): -+ ## Client core -+ static_plugin_list = ["clntcore"] -+ project.AddModuleLibraries("common/runtime[runtlib]", -+ "common/fileio[fileiolib]", -+ "client/common/system[sysclntlib]", -+ "client/common/container[contclntlib]", -+ "client/core[clntcorelib]") -+ if not project.IsDefined("HELIX_FEATURE_LOGLEVEL_NONE"): -+ project.AddModuleLibraries("common/log/logutil[logutillib]") -+ if not project.IsDefined("HELIX_CONFIG_MINIMIZE_SIZE"): -+ project.AddModuleLibraries("client/common/util[utlclntlib]") -+ ## Client core libraries -+ if project.IsDefined("HELIX_FEATURE_AUDIO"): -+ project.AddModuleLibraries("audio/device[auddevlib]", -+ "client/audiosvc[audsvclib]") -+ if ('HELIX_FEATURE_VOLUME' in project.defines): -+ project.AddModuleLibraries("audio/gaintool[audgainlib]" ) -+ if ('HELIX_FEATURE_VOLUME' in project.defines): -+ project.AddModuleLibraries("audio/crossfade[audxfadelib]") -+ if project.IsDefined("HELIX_FEATURE_MIXER"): -+ project.AddModuleLibraries("audio/mixer[audmixlib]") -+ if project.IsDefined("HELIX_FEATURE_RESAMPLER"): -+ project.AddModuleLibraries("audio/resampler[audresamplib]") -+ if project.IsDefined("HELIX_FEATURE_LIMITER"): -+ project.AddModuleLibraries("audio/limiter[audlimiter]") -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO"): -+ project.AddModuleLibraries("client/videosvc[vidsvclib]", -+ "protocol/sdp[sdplib]") -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_NET"): -+ project.AddModuleLibraries("client/netwksvc[netsvclib]", -+ "common/netio[netiolib]", -+ "client/common/netio[netioclntlib]", -+ "protocol/transport/common/system[systranlib]", -+ "protocol/transport/rtp[rtptranlib]", -+ "protocol/common/util[protutillib]", -+ "protocol/rtsp[rtsplib]") -+ if project.IsDefined("HELIX_FEATURE_RDT"): -+ project.AddLibraries(GetSDKPath("prtclrdt_lib")) -+ project.AddModuleLibraries("protocol/transport/rdt[rdttranlib]") -+ if project.IsDefined("HELIX_FEATURE_PNA"): -+ project.AddLibraries(GetSDKPath("prtclpna_lib")) -+ if project.IsDefined("HELIX_FEATURE_XMLPARSER"): -+ project.AddModuleLibraries("common/lang/xml[xmllib]") -+ ## Add RAM file format and renderer -+ if project.IsDefined("HELIX_FEATURE_META"): -+ static_plugin_list[-1:-1] = ["ramfformat", "ramrender"] -+ project.AddModuleLibraries("datatype/ram/renderer[ramrendrlib]") -+ ## Add local file system -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL"): -+ static_plugin_list[-1:-1] = ["smplfsys"] -+ project.AddModuleLibraries("common/fileio[fileiolib]") -+ ## Add http file system -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_NET"): -+ static_plugin_list[-1:-1] = ["hxsdp", "httpfsys"] -+ project.AddModuleLibraries("protocol/http[httplib]", -+ "protocol/common/util[protutillib]", -+ "protocol/sdp[sdplib]", -+ "filesystem/data[datafsys]", -+ "common/fileio[fileiolib]", -+ "common/import/zlib[zlib]") -+ ## Add realmedia file format -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL") and \ -+ (project.IsDefined("HELIX_FEATURE_AUDIO_REAL") or \ -+ project.IsDefined("HELIX_FEATURE_VIDEO_REAL")): -+ static_plugin_list[-1:-1] = ["rmfformat"] -+ project.AddModuleLibraries("datatype/common/util[dtutillib]", -+ "datatype/common/container[dtcomcontlib]") -+ project.AddLibraries(GetSDKPath("rmcom_lib"), -+ GetSDKPath("rmacom_lib"), -+ GetSDKPath("rmff_lib"), -+ GetSDKPath("rmvidpyld_lib")) -+ -+ ## Add realmedia renderer -+ if project.IsDefined("HELIX_FEATURE_AUDIO_REAL"): -+ static_plugin_list[-1:-1] = ["rarender"] -+ project.AddModuleLibraries("datatype/rm/audio/payload[rapayld]") -+ project.AddLibraries(GetSDKPath("rmarend_lib"), -+ GetSDKPath("rmacom_lib")) -+ ## Add mp3 file format and renderer -+ if project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER3") or \ -+ project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER2") or \ -+ project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER1"): -+ static_plugin_list[-1:-1] = ["mp3render"] -+ project.AddModuleLibraries("datatype/mp3/codec/fltpt[mp3codecfltpt]", -+ "datatype/mp3/common[mp3lib]", -+ "datatype/mp3/payload[mp3payld]", -+ "datatype/common/util[dtutillib]") -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL"): -+ static_plugin_list[-1:-1] = ["mp3fformat"] -+ project.AddModuleLibraries("datatype/mp3/common[mp3lib]") -+ ## Add gecko realmedia codec -+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_GECKO"): -+ static_plugin_list[-1:-1] = ["cook"] -+ if not project.IsDefined("HELIX_CONFIG_FIXEDPOINT"): -+ project.AddLibraries(GetSDKPath("ra8lbrdec_flt_lib")) -+ else: -+ project.AddLibraries(GetSDKPath("ra8lbrdec_fix_lib")) -+ project.AddModuleLibraries("datatype/rm/audio/codec/common[racompat]") -+ ## Add RAAC codec -+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_RAAC"): -+ static_plugin_list[-1:-1] = ["raac"] -+ project.AddModuleLibraries("datatype/mp4/common[mp4comlib]", -+ "datatype/aac/codec/fixpt/decoder/hxwrap[aacdeclib]") -+ ## Add sipro realmedia codec -+ ## (Right now this only works for floating-point platforms) -+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_SIPRO"): -+ static_plugin_list[-1:-1] = ["sipr"] -+ project.AddLibraries(GetSDKPath("sipro_flt_backend_lib")) -+ ## Add tokyo realmedia codec -+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_TOKYO"): -+ static_plugin_list[-1:-1] = ["atrc"] -+ project.AddLibraries(GetSDKPath("ra8hbr_lib")) -+ ## -+ if project.IsDefined("HELIX_FEATURE_VIDEO"): -+ static_plugin_list[-1:-1] = ["vidsite"] -+ static_plugin_list[-1:-1] = ["hxltcolor"] -+ project.AddModuleLibraries("datatype/common/vidrend[vidrend]", -+ "video/sitelib[sitelib]", -+ "video/site[vidsite]", -+ "video/colconverter[hxltcolor]", -+ "datatype/rm/common[rmcomlib]", -+ "video/vidutil[vidutillib]") -+ -+ if (project.IsDefined('HELIX_FEATURE_ALTERNATE_SITE_CREATE_LIB')): -+ project.AddLibraries(GetSDKPath("sitecreate_lib")) -+ else: -+ project.AddModuleLibraries('video/sitelib[sitecreatelib]') -+ -+ ## Add realvideo renderer -+ if project.IsDefined("HELIX_FEATURE_VIDEO_REAL"): -+ project.AddModuleLibraries("datatype/rm/video/renderer[rvxrendlib]") -+ project.AddLibraries(GetSDKPath("rmvidcom_lib"), -+ GetSDKPath("rmvidpyld_lib"), -+ GetSDKPath("rvcodcom_lib")) -+ project.AddModuleLibraries("datatype/common/util[dtutillib]") -+ static_plugin_list[-1:-1] = ["rvrender"] -+ -+ ## Add mpeg4 file format -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL")and \ -+ (project.IsDefined("HELIX_FEATURE_VIDEO_H263") or \ -+ project.IsDefined("HELIX_FEATURE_VIDEO_MPEG4") or \ -+ project.IsDefined("HELIX_FEATURE_AUDIO_MPEG4")): -+ static_plugin_list[-1:-1] = ["mp4fformat"] -+ project.AddModuleLibraries("datatype/common/util[dtutillib]", -+ "datatype/common/audrend", -+ "datatype/mp4/common[mp4comlib]", -+ "datatype/mp4/payload[mp4pyldlib]", -+ "datatype/mp4/fileformat[mp4fformatlib]") -+ if not project.IsDefined("HELIX_FEATURE_MP4_FILEFORMAT_M4A_ONLY"): -+ project.AddModuleLibraries("protocol/sdp[sdplib]", -+ "protocol/rtsp[rtsplib]", -+ "protocol/common/util[protutillib]", -+ "datatype/rm/common[rmcomlib]", -+ "datatype/amr/common[amrcomlib]") -+ ## Add h.263 renderer -+ if project.IsDefined("HELIX_FEATURE_VIDEO_H263"): -+ project.AddModuleLibraries("datatype/h263/payload[h263pyldlib]") -+ static_plugin_list[-1:-1] = ["h263render"] -+ ## Add MPEG4 renderer -+# if project.IsDefined("HELIX_FEATURE_VIDEO_MPEG4"): -+# static_plugin_list[-1:-1] = ["mp4xrender"] -+ ## Add mpeg 4 audio renderer -+ if project.IsDefined("HELIX_FEATURE_AUDIO_MPEG4"): -+ static_plugin_list[-1:-1] = ["mp4arender"] -+ project.AddModuleLibraries("datatype/mp4/audio/renderer[mp4arenderlib]") -+ if not project.IsDefined("HELIX_FEATURE_MP4_FILEFORMAT_M4A_ONLY"): -+ project.AddModuleLibraries("datatype/amr/common[amrcomlib]") -+ ## Add RV10 codec -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV10"): -+ project.AddLibraries(GetSDKPath("rv1dec_libs")+"[rv10lib]", -+ GetSDKPath("rv1dec_libs")+"[drv1lib]") -+ static_plugin_list[-1:-1] = ["rv10", "drv1"] -+ ## Add RV20 codec -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV20"): -+ project.AddLibraries(GetSDKPath("rvg2dec_libs")+"[rv20lib]", -+ GetSDKPath("rvg2dec_libs")+"[drv2lib]") -+ static_plugin_list[-1:-1] = ["rv20", "drv2"] -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30") or \ -+ project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"): -+ static_plugin_list[-1:-1] = ["drvc"] -+ if project.IsDefined("HELIX_FEATURE_ANSIC_RV89COMBO"): -+ project.AddLibraries(GetSDKPath("rv89combo_c_libs")+"[drvc]") -+ else: -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[drvclib]") -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30"): -+ static_plugin_list[-1:-1] = ["rv30"] -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[rv3xlib]") -+ project.AddModuleLibraries("datatype/rm/video/codec/rv89combo[rv30]") -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"): -+ static_plugin_list[-1:-1] = ["rv40"] -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[rv4xlib]") -+ project.AddModuleLibraries("datatype/rm/video/codec/rv89combo[rv40]") -+ -+# if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_AAC"): -+# static_plugin_list[-1:-1] = ["aac4"] -+ -+ CreateStaticPluginTable(static_plugin_list) -+ -+project.ExportFunction("init_main", "void") -+project.ExportFunction("deinit_main", "void") -+project.ExportFunction("get_player", "void **ppPlayer", -+ "on_buffering_cb_t on_buffering_cb", -+ "on_pos_length_cb_t on_pos_length_cb") -+project.ExportFunction("player_openurl", "void *pPlayerHandle", -+ "char *pszRawURL") -+project.ExportFunction("put_player", "void *pPlayerHandle") -+project.ExportFunction("player_geturl", "void *pPlayerHandle", "char **pszURL") -+project.ExportFunction("player_begin", "void *pPlayerHandle") -+project.ExportFunction("player_stop", "void *pPlayerHandle") -+project.ExportFunction("player_pause", "void *pPlayerHandle") -+project.ExportFunction("player_seek", "void *pPlayerHandle", "int pos") -+project.ExportFunction("get_curr_playtime", "void *pPlayerHandle") -+project.ExportFunction("player_getvolume", "void *pPlayerHandle") -+project.ExportFunction("player_canseek", "void *pPlayerHandle") -+project.ExportFunction("player_setvolume", "void *pPlayerHandle", "unsigned short volumn") -+ -+ -+ -+DLLTarget('libhelix-player') -+ -+DependTarget() -+ -Index: helix-libs/clientapps/clutter/exabd.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exabd.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,245 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+ -+#include "hxtypes.h" -+ -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxmon.h" -+#include "hxcore.h" -+#include "hxengin.h" -+#include "chxpckts.h" -+#include "hxclsnk.h" -+#include "hxstrutl.h" -+#include "exabd.h" -+ -+#include "print.h" -+ -+#include "globals.h" -+ -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+ExampleABD::ExampleABD(IUnknown* pUnknown) -+ : m_lRefCount (0) -+ , m_pUnknown (NULL) -+ , m_ulABDStartTime(0) -+ , m_ulABDResult(0) -+ , m_bABDDone(FALSE) -+{ -+ if (pUnknown) -+ { -+ m_pUnknown = pUnknown; -+ m_pUnknown->AddRef(); -+ } -+} -+ -+ExampleABD::~ExampleABD(void) -+{ -+ HX_RELEASE(m_pUnknown); -+} -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleABD::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXAutoBWCalibrationAdviseSink*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXAutoBWCalibrationAdviseSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXAutoBWCalibrationAdviseSink*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleABD::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleABD::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+/* -+ * IHXAutoBWCalibrationAdviseSink methods -+ */ -+STDMETHODIMP -+ExampleABD::AutoBWCalibrationStarted (const char* pszServer) -+{ -+ if (pszServer) -+ { -+ STDOUT("ABD: contacting %s\n", pszServer); -+ } -+ -+ return HXR_OK; -+} -+ -+STDMETHODIMP -+ExampleABD::AutoBWCalibrationDone(HX_RESULT status, -+ UINT32 ulBW) -+{ -+ m_bABDDone = TRUE; -+ -+ if (HXR_OK == status) -+ { -+ m_ulABDResult = ulBW; -+ STDOUT("ABD: %lu(Kbps) %lu(ms)\n", ulBW, GetTickCount() - m_ulABDStartTime); -+ } -+ else -+ { -+ STDOUT("ABD failed: %lu\n", status); -+ } -+ -+ return HXR_OK; -+} -+ -+HX_RESULT -+ExampleABD::DoABD(const char* pszServer, -+ UINT32 mode, -+ UINT32 packetSize, -+ UINT32 packetNum) -+{ -+ HX_RESULT rc = HXR_OK; -+ UINT32 length = 0; -+ IHXAutoBWCalibration* pABD = NULL; -+ IHXValues* pValues = NULL; -+ IHXBuffer* pBuffer = NULL; -+ -+ m_ulABDStartTime = GetTickCount(); -+ m_ulABDResult = 0; -+ m_bABDDone = FALSE; -+ -+ if (m_pUnknown && -+ HXR_OK == m_pUnknown->QueryInterface(IID_IHXAutoBWCalibration, (void**)&pABD)) -+ { -+ pValues = (IHXValues*) new CHXHeader(); -+ pValues->AddRef(); -+ -+ pBuffer = (IHXBuffer*) new CHXBuffer(); -+ pBuffer->AddRef(); -+ -+ pBuffer->Set((UCHAR*)pszServer, strlen(pszServer)+1); -+ pValues->SetPropertyCString("ABDServers", pBuffer); -+ -+ pValues->SetPropertyULONG32("AutoBWDetectionMode", mode); -+ pValues->SetPropertyULONG32("AutoBWDetectionPacketSize", packetSize); -+ pValues->SetPropertyULONG32("AutoBWDetectionPackets", packetNum); -+ -+ pABD->AddAutoBWCalibrationSink((IHXAutoBWCalibrationAdviseSink*)this); -+ pABD->InitAutoBWCalibration(pValues); -+ -+ pABD->StartAutoBWCalibration(); -+ -+ while (!m_bABDDone) -+ { -+ MSG msg; -+ DWORD starttime, endtime, i; -+ BOOL sleep = TRUE; -+ static const int checkinterval = 10; -+ -+ starttime = GetTickCount(); -+ endtime = starttime + (20); -+ i = 0; -+ while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) -+ { -+ DispatchMessage(&msg); -+ if ((i % checkinterval) == 0) -+ { -+ if (GetTickCount() > endtime) -+ break; -+ ++i; -+ } -+ sleep = FALSE; -+ } -+ -+ if (sleep) -+ Sleep(10); -+ } -+ } -+ -+cleanup: -+ -+ if (pABD) -+ { -+ pABD->RemoveAutoBWCalibrationSink((IHXAutoBWCalibrationAdviseSink*)this); -+ } -+ -+ HX_RELEASE(pBuffer); -+ HX_RELEASE(pValues); -+ HX_RELEASE(pABD); -+ -+ return rc; -+} -+ -+ -Index: helix-libs/clientapps/clutter/exabd.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exabd.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,85 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAMPLEABD_ -+#define _EXAMPLEABD_ -+ -+struct IHXAutoBWCalibrationAdviseSink; -+struct IUnknown; -+ -+class ExampleABD : public IHXAutoBWCalibrationAdviseSink -+{ -+ private: -+ LONG32 m_lRefCount; -+ IUnknown* m_pUnknown; -+ UINT32 m_ulABDStartTime; -+ UINT32 m_ulABDResult; -+ BOOL m_bABDDone; -+ -+ ~ExampleABD(); -+ -+ public: -+ -+ ExampleABD(IUnknown* /*IN*/ pUnknown); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXAutoBWCalibrationAdviseSink methods -+ */ -+ STDMETHOD(AutoBWCalibrationStarted) (THIS_ -+ const char* pszServer); -+ STDMETHOD(AutoBWCalibrationDone) (THIS_ -+ HX_RESULT status, -+ UINT32 ulBW); -+ -+ HX_RESULT DoABD(const char* pszServer, -+ UINT32 mode, -+ UINT32 packetSize, -+ UINT32 packetNum); -+ -+ UINT32 GetABD(void) { return m_ulABDResult; }; -+}; -+ -+#endif /* _EXAMPLEABDSNK_ */ -Index: helix-libs/clientapps/clutter/exadvsnk.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exadvsnk.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,1116 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+ -+#include "hxtypes.h" -+ -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxmon.h" -+#include "hxcore.h" -+#include "hxengin.h" -+#include "hxclsnk.h" -+#include "hxgroup.h" -+#include "hxstrutl.h" -+#include "exadvsnk.h" -+#include "hxstring.h" -+#include "hxprefs.h" -+#include "excontxt.h" -+ -+#include "print.h" -+ -+#include "globals.h" -+#include "player.h" -+ -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+#ifdef __TCS__ -+extern unsigned long gStreamTime; -+ -+static int iOpened = 0; -+ -+ -+#if defined(__cplusplus) -+extern "C" { -+#endif /* defined(__cplusplus) */ -+ -+typedef enum hookBuffering { -+ eContacting = 0, -+ eConnecting = 1, -+ eBuffering = 2, -+ ePlaying = 3 -+}hookBuffering; -+ -+void hookRealAudio_Buffering(hookBuffering connectState, int pct); -+ -+void hookRealAudio_PlayPosition(unsigned long current,unsigned long duration); -+ -+typedef enum hookState { -+ ePlay = 0, -+ ePause = 1, -+ eStop = 2, -+ eResume = 3, -+ eComplete // Clip is done playing -+}hookState; -+void hookRealAudio_State(hookState newState); -+ -+ -+#if defined(__cplusplus) -+} -+#endif /* defined(__cplusplus) */ -+ -+#endif // __TCS__ -+ -+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes); -+ -+ExampleClientAdviceSink::ExampleClientAdviceSink(IUnknown* pUnknown, LONG32 lClientIndex, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, void *context) -+ : m_lRefCount (0) -+ , m_lClientIndex (lClientIndex) -+ , m_pUnknown (NULL) -+ , m_pRegistry (NULL) -+ , m_pScheduler (NULL) -+ , m_lCurrentBandwidth(0) -+ , m_lAverageBandwidth(0) -+ , m_bOnStop(0) -+ , m_pPlayer(0) -+ , m_bWaitForTrackStart(0) -+ , m_on_buffering_cb(on_buffering_cb) -+ , m_on_pos_length_cb(on_pos_length_cb) -+ , m_context(context) -+{ -+ if (pUnknown) -+ { -+ m_pUnknown = pUnknown; -+ m_pUnknown->AddRef(); -+ -+ if (HXR_OK != m_pUnknown->QueryInterface(IID_IHXRegistry, (void**)&m_pRegistry)) -+ { -+ m_pRegistry = NULL; -+ } -+ -+ if (HXR_OK != m_pUnknown->QueryInterface(IID_IHXScheduler, (void**)&m_pScheduler)) -+ { -+ m_pScheduler = NULL; -+ } -+ -+ IHXPlayer* pPlayer; -+ if(HXR_OK == m_pUnknown->QueryInterface(IID_IHXPlayer, -+ (void**)&pPlayer)) -+ { -+ m_pPlayer = pPlayer; -+ -+ IHXGroupManager* pGroupMgr = NULL; -+ if(HXR_OK == m_pPlayer->QueryInterface(IID_IHXGroupManager, -+ (void**)&pGroupMgr)) -+ { -+ pGroupMgr->AddSink((IHXGroupSink*)this); -+ pGroupMgr->Release(); -+ } -+ -+ pPlayer->AddAdviseSink(this); -+ -+ } -+ } -+ -+#ifdef __TCS__ -+ bEnableAdviceSink = TRUE; -+ iOpened = 0; -+#endif -+} -+ -+ExampleClientAdviceSink::~ExampleClientAdviceSink(void) -+{ -+ if (m_pScheduler) -+ { -+ m_pScheduler->Release(); -+ m_pScheduler = NULL; -+ } -+ -+ if (m_pRegistry) -+ { -+ m_pRegistry->Release(); -+ m_pRegistry = NULL; -+ } -+ -+ if (m_pPlayer) -+ { -+ m_pPlayer->Release(); -+ m_pPlayer = NULL; -+ } -+ if (m_pUnknown) -+ { -+ m_pUnknown->Release(); -+ m_pUnknown = NULL; -+ } -+} -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleClientAdviceSink::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXClientAdviseSink*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXClientAdviseSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXClientAdviseSink*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXGroupSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXGroupSink*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientAdviceSink::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientAdviceSink::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+/* -+ * IHXClientAdviseSink methods -+ */ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPosLength -+ * Purpose: -+ * Called to advise the client that the position or length of the -+ * current playback context has changed. -+ */ -+ -+#ifdef __TCS__ -+static long lastPosition = -1; -+#endif -+ -+STDMETHODIMP -+ExampleClientAdviceSink::OnPosLength(UINT32 ulPosition, -+ UINT32 ulLength) -+{ -+ // Are we doing a multi-seek? -+ if (GetGlobal()->g_bMultiSeek) -+ { -+ // Have we run out of seek times? -+ if (GetGlobal()->g_ulMultiSeekIndex < GetGlobal()->g_ulNumMultiSeeks) -+ { -+ STDOUT("Multi-seeking the first player to %lu\n", -+ GetGlobal()->g_ulMultiSeekTime[GetGlobal()->g_ulMultiSeekIndex]); -+ GetGlobal()->g_Players[0]->Seek(GetGlobal()->g_ulMultiSeekTime[GetGlobal()->g_ulMultiSeekIndex++]); -+ } -+ else -+ { -+ // We've run out - stop the multi-seek -+ GetGlobal()->g_bMultiSeek = FALSE; -+ GetGlobal()->g_ulNumMultiSeeks = 0; -+ GetGlobal()->g_ulMultiSeekIndex = 0; -+ } -+ } -+ -+ if (m_on_pos_length_cb) -+ m_on_pos_length_cb(ulPosition, ulLength, m_context); -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPresentationOpened -+ * Purpose: -+ * Called to advise the client a presentation has been opened. -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPresentationOpened() -+{ -+#ifdef __TCS__ -+ iOpened = 1; -+ lastPosition = -1; -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPresentationOpened()\n"); -+ } -+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) -+ // Try to get the IHXPlaybackVelocity interface -+ // from the first player -+ if (GetGlobal()->g_nPlayers > 0 && GetGlobal()->g_Players[0]) -+ { -+ IHXPlaybackVelocity* pVel = NULL; -+ HX_RESULT rv = GetGlobal()->g_Players[0]->QueryInterface(IID_IHXPlaybackVelocity, (void**) &pVel); -+ if (SUCCEEDED(rv)) -+ { -+ // Get the capabilities object from the player -+ rv = pVel->QueryVelocityCaps(GetGlobal()->g_pVelocityCaps); -+ if (SUCCEEDED(rv) && GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("Available Velocity Ranges:"); -+ UINT32 ulNumRanges = GetGlobal()->g_pVelocityCaps->GetNumRanges(); -+ for (UINT32 i = 0; i < ulNumRanges && SUCCEEDED(rv); i++) -+ { -+ INT32 lMin = 0; -+ INT32 lMax = 0; -+ rv = GetGlobal()->g_pVelocityCaps->GetRange(i, lMin, lMax); -+ if (SUCCEEDED(rv)) -+ { -+ STDOUT(" [%ld,%ld]", lMin, lMax); -+ } -+ } -+ STDOUT("\n"); -+ } -+ } -+ HX_RELEASE(pVel); -+ } -+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */ -+#endif -+ -+ UINT32 sourceCount = m_pPlayer->GetSourceCount(); -+ for (UINT32 sourceID = 0; sourceID < sourceCount; sourceID ++) -+ { -+ // get HXSource -+ IUnknown* pUnkSource = NULL; -+ IHXStreamSource* pStreamSrc = NULL; -+ -+ if (HXR_OK != m_pPlayer->GetSource (sourceID, pUnkSource)) -+ { -+ continue; -+ } -+ -+ pUnkSource->QueryInterface(IID_IHXStreamSource, (void **)&pStreamSrc); -+ -+ HX_RELEASE(pUnkSource); -+ -+ if (!pStreamSrc) -+ { -+ continue; -+ } -+ -+ UINT32 num_streams = pStreamSrc->GetStreamCount(); -+ -+ // get information from Streams -+ for (UINT32 streamID = 0; streamID < num_streams ; streamID++) -+ { -+ IUnknown* pUnkStream = NULL; -+ -+ if (HXR_OK == pStreamSrc->GetStream(streamID, pUnkStream)) -+ { -+ IHXStream* pStream = NULL; -+ -+ if (HXR_OK == pUnkStream->QueryInterface(IID_IHXStream, -+ (void**)&pStream)) -+ { -+ const char* pMimeType = pStream->GetStreamType(); -+ if( 0 == strcmp(pMimeType, "application/ram")) -+ { -+ m_bWaitForTrackStart = TRUE; -+ } -+ else -+ { -+ m_bWaitForTrackStart = FALSE; -+ } -+ } -+ HX_RELEASE(pStream); -+ } -+ HX_RELEASE(pUnkStream); -+ if (!m_bWaitForTrackStart) -+ { -+ break; -+ } -+ } -+ -+ if (!m_bWaitForTrackStart) -+ { -+ break; -+ } -+ HX_RELEASE(pStreamSrc); -+ } -+ -+ if (!m_bWaitForTrackStart) -+ { -+ STDOUT("----------------clip info--------------------\n"); -+ if(m_pScheduler) { -+ m_hCallback = m_pScheduler->RelativeEnter(this,50); -+ } -+ } -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPresentationClosed -+ * Purpose: -+ * Called to advise the client a presentation has been closed. -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPresentationClosed() -+{ -+#ifdef __TCS__ -+ iOpened = 0; -+ lastPosition = -1; -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPresentationClosed()\n"); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+void ExampleClientAdviceSink::GetStatistics (char* pszRegistryKey) -+{ -+ char szRegistryValue[MAX_DISPLAY_NAME] = {0}; /* Flawfinder: ignore */ -+ INT32 lValue = 0; -+ INT32 i = 0; -+ INT32 lStatistics = 8; -+ UINT32 *plValue; -+ -+#ifdef __TCS__ -+ return; // DISABLED FOR NOW -+#endif -+ -+ // collect statistic -+ for (i = 0; i < lStatistics; i++) -+ { -+ plValue = NULL; -+ switch (i) -+ { -+ case 0: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Normal", pszRegistryKey); -+ break; -+ case 1: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Recovered", pszRegistryKey); -+ break; -+ case 2: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Received", pszRegistryKey); -+ break; -+ case 3: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Lost", pszRegistryKey); -+ break; -+ case 4: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Late", pszRegistryKey); -+ break; -+ case 5: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.ClipBandwidth", pszRegistryKey); -+ break; -+ case 6: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.AverageBandwidth", pszRegistryKey); -+ plValue = &m_lAverageBandwidth; -+ break; -+ case 7: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.CurrentBandwidth", pszRegistryKey); -+ plValue = &m_lCurrentBandwidth; -+ break; -+ default: -+ break; -+ } -+ -+ m_pRegistry->GetIntByName(szRegistryValue, lValue); -+ if (plValue) -+ { -+ if (m_bOnStop || lValue == 0) -+ { -+ lValue = *plValue; -+ } -+ else -+ { -+ *plValue = lValue; -+ } -+ } -+ if (GetGlobal()->bEnableAdviceSink || (GetGlobal()->bEnableVerboseMode && m_bOnStop)) -+ { -+ STDOUT("%s = %ld\n", szRegistryValue, lValue); -+ } -+ } -+} -+ -+void ExampleClientAdviceSink::GetAllStatistics(void) -+{ -+ UINT32 unPlayerIndex = 0; -+ UINT32 unSourceIndex = 0; -+ UINT32 unStreamIndex = 0; -+ -+ char* pszRegistryPrefix = "Statistics"; -+ char szRegistryName[MAX_DISPLAY_NAME] = {0}; /* Flawfinder: ignore */ -+ -+#ifdef __TCS__ -+ return; // DISABLED FOR NOW -+#endif -+ -+ // display the content of whole statistic registry -+ if (m_pRegistry) -+ { -+ // ok, let's start from the top (player) -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld", pszRegistryPrefix, m_lClientIndex); -+ if (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName)) -+ { -+ // display player statistic -+ GetStatistics(szRegistryName); -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Source%ld", szRegistryName, unSourceIndex); -+ while (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName)) -+ { -+ // display source statistic -+ GetStatistics(szRegistryName); -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Stream%ld", szRegistryName, unStreamIndex); -+ while (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName)) -+ { -+ // display stream statistic -+ GetStatistics(szRegistryName); -+ -+ unStreamIndex++; -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld.Source%ld.Stream%ld", -+ pszRegistryPrefix, unPlayerIndex, unSourceIndex, unStreamIndex); -+ } -+ -+ unSourceIndex++; -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld.Source%ld", -+ pszRegistryPrefix, unPlayerIndex, unSourceIndex); -+ } -+ -+ unPlayerIndex++; -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld", pszRegistryPrefix, unPlayerIndex); -+ } -+ } -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnStatisticsChanged -+ * Purpose: -+ * Called to advise the client that the presentation statistics -+ * have changed. -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnStatisticsChanged(void) -+{ -+ char szBuff[1024]; /* Flawfinder: ignore */ -+ HX_RESULT res = HXR_OK; -+ UINT16 uPlayer = 0; -+ -+#ifdef __TCS__ -+ return HXR_OK; // DISABLED FOR NOW -+#endif -+ -+ if(GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnStatisticsChanged():\n"); -+ -+ SafeSprintf(szBuff, 1024, "Statistics"); -+ res = DumpRegTree( szBuff ); -+ } -+ -+ return HXR_OK; -+} -+ -+HX_RESULT ExampleClientAdviceSink::DumpRegTree(const char* pszTreeName ) -+{ -+ const char* pszName = NULL; -+ ULONG32 ulRegID = 0; -+ HX_RESULT res = HXR_OK; -+ INT32 nVal = 0; -+ IHXBuffer* pBuff = NULL; -+ IHXValues* pValues = NULL; -+ -+ //See if the name exists in the reg tree. -+ res = m_pRegistry->GetPropListByName( pszTreeName, pValues); -+ if( HXR_OK!=res || !pValues ) -+ return HXR_FAIL; -+ -+ //make sure this is a PT_COMPOSITE type reg entry. -+ if( PT_COMPOSITE != m_pRegistry->GetTypeByName(pszTreeName)) -+ return HXR_FAIL; -+ -+ //Print out the value of each member of this tree. -+ res = pValues->GetFirstPropertyULONG32( pszName, ulRegID ); -+ while( HXR_OK == res ) -+ { -+ //We have at least one entry. See what type it is. -+ HXPropType pt = m_pRegistry->GetTypeById(ulRegID); -+ switch(pt) -+ { -+ case PT_COMPOSITE: -+ DumpRegTree(pszName); -+ break; -+ case PT_INTEGER : -+ nVal = 0; -+ m_pRegistry->GetIntById( ulRegID, nVal ); -+ STDOUT("%s : %d\n", pszName, nVal ); -+ break; -+ case PT_INTREF : -+ nVal = 0; -+ m_pRegistry->GetIntById( ulRegID, nVal ); -+ STDOUT("%s : %d\n", pszName, nVal ); -+ break; -+ case PT_STRING : -+ pBuff = NULL; -+ m_pRegistry->GetStrById( ulRegID, pBuff ); -+ STDOUT("%s : \"", pszName ); -+ if( pBuff ) -+ STDOUT("%s", (const char *)(pBuff->GetBuffer()) ); -+ STDOUT("\"\n" ); -+ HX_RELEASE(pBuff); -+ break; -+ case PT_BUFFER : -+ STDOUT("%s : BUFFER TYPE NOT SHOWN\n", -+ pszName, nVal ); -+ break; -+ case PT_UNKNOWN: -+ STDOUT("%s Unkown registry type entry\n", pszName ); -+ break; -+ default: -+ STDOUT("%s Unkown registry type entry\n", pszName ); -+ break; -+ } -+ res = pValues->GetNextPropertyULONG32( pszName, ulRegID); -+ } -+ -+ HX_RELEASE( pValues ); -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPreSeek -+ * Purpose: -+ * Called by client engine to inform the client that a seek is -+ * about to occur. The render is informed the last time for the -+ * stream's time line before the seek, as well as the first new -+ * time for the stream's time line after the seek will be completed. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPreSeek( ULONG32 ulOldTime, -+ ULONG32 ulNewTime) -+{ -+#if !defined(__TCS__) -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPreSeek(%ld, %ld)\n", ulOldTime, ulNewTime); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPostSeek -+ * Purpose: -+ * Called by client engine to inform the client that a seek has -+ * just occured. The render is informed the last time for the -+ * stream's time line before the seek, as well as the first new -+ * time for the stream's time line after the seek. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPostSeek( ULONG32 ulOldTime, -+ ULONG32 ulNewTime) -+{ -+#ifdef __TCS__ -+ lastPosition = -1; -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPostSeek(%ld, %ld)\n", ulOldTime, ulNewTime); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnStop -+ * Purpose: -+ * Called by client engine to inform the client that a stop has -+ * just occured. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnStop(void) -+{ -+ HXTimeval now; -+ -+#ifdef __TCS__ -+ hookRealAudio_State(eStop); -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnStop()\n"); -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("Player %ld stopped.\n", m_lClientIndex); -+ m_bOnStop = TRUE; -+ GetAllStatistics(); -+ } -+#endif -+ -+ // Find out the current time and subtract the beginning time to -+ // figure out how many seconds we played -+ now = m_pScheduler->GetCurrentSchedulerTime(); -+ m_ulStopTime = now.tv_sec; -+ -+ GetGlobal()->g_ulNumSecondsPlayed = m_ulStopTime - m_ulStartTime; -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPause -+ * Purpose: -+ * Called by client engine to inform the client that a pause has -+ * just occured. The render is informed the last time for the -+ * stream's time line before the pause. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPause(ULONG32 ulTime) -+{ -+#ifdef __TCS__ -+ hookRealAudio_State(ePause); -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPause(%ld)\n", ulTime); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnBegin -+ * Purpose: -+ * Called by client engine to inform the client that a begin or -+ * resume has just occured. The render is informed the first time -+ * for the stream's time line after the resume. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnBegin(ULONG32 ulTime) -+{ -+ HXTimeval now; -+ -+#if !defined(__TCS__) -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnBegin(%ld)\n", ulTime); -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("Player %ld beginning playback...\n", m_lClientIndex); -+ } -+#endif -+ -+ GetGlobal()->g_bOnBeginOccurred = TRUE; -+ -+ // Record the current time, so we can figure out many seconds we played -+ now = m_pScheduler->GetCurrentSchedulerTime(); -+ m_ulStartTime = now.tv_sec; -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnBuffering -+ * Purpose: -+ * Called by client engine to inform the client that buffering -+ * of data is occuring. The render is informed of the reason for -+ * the buffering (start-up of stream, seek has occured, network -+ * congestion, etc.), as well as percentage complete of the -+ * buffering process. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnBuffering(ULONG32 ulFlags, -+ UINT16 unPercentComplete) -+{ -+#ifdef __TCS__ -+static UINT16 lastPct = 0; -+ if (unPercentComplete > 0) -+ { -+ UINT16 nextPct = lastPct + 10; -+ if (unPercentComplete < lastPct) -+ { -+ lastPct = 0; -+ nextPct = lastPct + 10; -+ } -+ if (unPercentComplete >= nextPct) -+ { -+ lastPct = (unPercentComplete / 10) * 10; -+ nextPct = lastPct + 10; -+ hookRealAudio_Buffering(eBuffering,lastPct); -+ } -+ } -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnBuffering(%ld, %d)\n", ulFlags, unPercentComplete); -+ } -+#endif -+ if (m_on_buffering_cb) -+ m_on_buffering_cb(ulFlags, unPercentComplete, m_context); -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnContacting -+ * Purpose: -+ * Called by client engine to inform the client is contacting -+ * hosts(s). -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnContacting(const char* pHostName) -+{ -+#ifdef __TCS__ -+ printf("Contacting\n"); -+ hookRealAudio_Buffering(eContacting,0); -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnContacting(\"%s\")\n", pHostName); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+void ExampleClientAdviceSink::PrintPropName( IHXValues* pHeader ) -+{ -+ if ( pHeader == NULL ) -+ { -+ return ; -+ } -+ -+ const char *pChar; -+ ULONG32 pValue; -+ if(HXR_OK == pHeader->GetFirstPropertyULONG32(pChar, pValue)) -+ { -+ do -+ { -+ STDOUT("%s %d\n", pChar, pValue); -+ } -+ while(HXR_OK == pHeader->GetNextPropertyULONG32(pChar, pValue)); -+ } -+ -+ IHXBuffer *pBuffer; -+ -+ if(HXR_OK == pHeader->GetFirstPropertyBuffer(pChar, pBuffer)) -+ { -+ do -+ { -+ STDOUT("%s %s\n", pChar, (const char *) ( pBuffer->GetBuffer() )); -+ PrintBuffer(pChar, pBuffer->GetBuffer() ,pBuffer->GetSize()); -+ HX_RELEASE(pBuffer); -+ } while(HXR_OK == pHeader->GetNextPropertyBuffer(pChar, pBuffer )); -+ } -+ -+ if(HXR_OK == pHeader->GetFirstPropertyCString(pChar, pBuffer)) -+ { -+ do -+ { -+ STDERR("%s %s\n", pChar, (const char *) ( pBuffer->GetBuffer() )); -+ HX_RELEASE(pBuffer); -+ } while(HXR_OK == pHeader->GetNextPropertyCString(pChar, pBuffer )); -+ } -+ -+ fflush(stdout); -+} -+ -+ -+void ExampleClientAdviceSink::SetClipInfo( IHXPlayer* m_pRMAPlayer) -+{ -+ bool bSendOnClipInfo = false; -+ -+ // Get HXSource and try to get clip infor. -+ UINT32 sourceCount = m_pRMAPlayer->GetSourceCount(); -+ for (UINT32 sourceID = 0; sourceID < sourceCount; sourceID ++) -+ { -+ // get HXSource -+ STDOUT("========Source %d========\n",sourceID); -+ IUnknown* pUnkSource = NULL; -+ IHXStreamSource* pStreamSrc = NULL; -+ -+ if (HXR_OK != m_pRMAPlayer->GetSource (sourceID, pUnkSource)) -+ { -+ continue; -+ } -+ -+ pUnkSource->QueryInterface(IID_IHXStreamSource, (void **)&pStreamSrc); -+ -+ HX_RELEASE(pUnkSource); -+ -+ if (!pStreamSrc) -+ { -+ continue; -+ } -+ -+ UINT32 num_streams = pStreamSrc->GetStreamCount(); -+ -+ STDOUT("====File Header====\n"); -+ -+ IHXValues* pFileHdr = NULL; -+ pStreamSrc->QueryInterface(IID_IHXValues, (void**)&pFileHdr); -+ -+ if ( pFileHdr) -+ { -+ PrintPropName(pFileHdr); -+ } -+ HX_RELEASE(pFileHdr); -+ -+ // get information from Streams -+ for (UINT32 streamID = 0; streamID < num_streams ; streamID++) -+ { -+ STDOUT("====Stream %d====\n",streamID); -+ IUnknown* pUnkStream = NULL; -+ -+ if (HXR_OK == pStreamSrc->GetStream(streamID, pUnkStream)) -+ { -+ IHXStream* pStream = NULL; -+ -+ if (HXR_OK == pUnkStream->QueryInterface(IID_IHXStream, -+ (void**)&pStream)) -+ { -+ IHXValues* pStreamHdr = pStream->GetHeader(); -+ if (pStreamHdr) -+ { -+ PrintPropName(pStreamHdr); -+ } -+ HX_RELEASE(pStreamHdr); -+ } -+ HX_RELEASE(pStream); -+ } -+ HX_RELEASE(pUnkStream); -+ } -+ STDOUT("---------------------------------------------\n"); -+ -+ HX_RELEASE(pStreamSrc); -+ } -+} -+ -+ -+STDMETHODIMP ExampleClientAdviceSink::Func() -+{ -+ m_hCallback = 0; -+ -+ // set clip info -+ if(m_pPlayer) -+ SetClipInfo(m_pPlayer); -+ -+ return HXR_OK; -+} -+ -+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes) -+{ -+ if(pszName == NULL || pbBuf == NULL) -+ return; -+ -+ STDOUT(" "); -+ for(unsigned int i= 0; iRelativeEnter(this,50); -+ } -+ m_bWaitForTrackStart = FALSE; -+ } -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackStopped -+ * Purpose: -+ * Notification of a track being stopped -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::TrackStopped( UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack) -+{ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXGroupSink::CurrentGroupSet -+ * Purpose: -+ * This group is being currently played in the presentation. -+ */ -+STDMETHODIMP ExampleClientAdviceSink::CurrentGroupSet( UINT16 /*IN*/ uGroupIndex, -+ IHXGroup* /*IN*/ pGroup) -+{ -+ return HXR_OK; -+} -+ -Index: helix-libs/clientapps/clutter/exadvsnk.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exadvsnk.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,324 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAMPLECLSNK_ -+#define _EXAMPLECLSNK_ -+ -+#include "player.h" -+ -+struct IHXClientAdviseSink; -+struct IHXGroupSink; -+struct IUnknown; -+struct IHXRegistry; -+struct IHXScheduler; -+struct IHXCallback; -+struct IHXPlayer; -+struct IHXGroup; -+ -+class ExampleClientAdviceSink : public IHXClientAdviseSink, -+ public IHXGroupSink, -+ public IHXCallback -+{ -+ private: -+ LONG32 m_lRefCount; -+ LONG32 m_lClientIndex; -+ -+ IUnknown* m_pUnknown; -+ IHXRegistry* m_pRegistry; -+ IHXScheduler* m_pScheduler; -+ -+ UINT32 m_ulStartTime; -+ UINT32 m_ulStopTime; -+ -+ UINT32 m_lCurrentBandwidth; -+ UINT32 m_lAverageBandwidth; -+ HXBOOL m_bOnStop; -+ -+ HXBOOL m_bWaitForTrackStart; -+ -+ on_buffering_cb_t m_on_buffering_cb; -+ on_pos_length_cb_t m_on_pos_length_cb; -+ void *m_context; /* a argument passed by texture-helix lib */ -+ -+ // IHXCallback -+ IHXPlayer* m_pPlayer; -+ ULONG32 m_hCallback; -+ ~ExampleClientAdviceSink(); -+ HX_RESULT DumpRegTree(const char* pszTreeName ); -+ -+ -+ void GetStatistics (char* /*IN*/ pszRegistryKey); -+ void GetAllStatistics (void); -+ void SetClipInfo( IHXPlayer* m_pRMAPlayer); -+ void PrintPropName( IHXValues* pHeader ); -+ -+ public: -+ -+ ExampleClientAdviceSink(IUnknown* /*IN*/ pUnknown, LONG32 /*IN*/ lClientIndex, on_buffering_cb_t on_buffer_cb, on_pos_length_cb_t on_pos_length_cb, void *context); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXClientAdviseSink methods -+ */ -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPosLength -+ * Purpose: -+ * Called to advise the client that the position or length of the -+ * current playback context has changed. -+ */ -+ STDMETHOD(OnPosLength) (THIS_ -+ UINT32 ulPosition, -+ UINT32 ulLength); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPresentationOpened -+ * Purpose: -+ * Called to advise the client a presentation has been opened. -+ */ -+ STDMETHOD(OnPresentationOpened) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPresentationClosed -+ * Purpose: -+ * Called to advise the client a presentation has been closed. -+ */ -+ STDMETHOD(OnPresentationClosed) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnStatisticsChanged -+ * Purpose: -+ * Called to advise the client that the presentation statistics -+ * have changed. -+ */ -+ STDMETHOD(OnStatisticsChanged) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPreSeek -+ * Purpose: -+ * Called by client engine to inform the client that a seek is -+ * about to occur. The render is informed the last time for the -+ * stream's time line before the seek, as well as the first new -+ * time for the stream's time line after the seek will be completed. -+ * -+ */ -+ STDMETHOD (OnPreSeek) (THIS_ -+ ULONG32 ulOldTime, -+ ULONG32 ulNewTime); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPostSeek -+ * Purpose: -+ * Called by client engine to inform the client that a seek has -+ * just occured. The render is informed the last time for the -+ * stream's time line before the seek, as well as the first new -+ * time for the stream's time line after the seek. -+ * -+ */ -+ STDMETHOD (OnPostSeek) (THIS_ -+ ULONG32 ulOldTime, -+ ULONG32 ulNewTime); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnStop -+ * Purpose: -+ * Called by client engine to inform the client that a stop has -+ * just occured. -+ * -+ */ -+ STDMETHOD (OnStop) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPause -+ * Purpose: -+ * Called by client engine to inform the client that a pause has -+ * just occured. The render is informed the last time for the -+ * stream's time line before the pause. -+ * -+ */ -+ STDMETHOD (OnPause) (THIS_ -+ ULONG32 ulTime); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnBegin -+ * Purpose: -+ * Called by client engine to inform the client that a begin or -+ * resume has just occured. The render is informed the first time -+ * for the stream's time line after the resume. -+ * -+ */ -+ STDMETHOD (OnBegin) (THIS_ -+ ULONG32 ulTime); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnBuffering -+ * Purpose: -+ * Called by client engine to inform the client that buffering -+ * of data is occuring. The render is informed of the reason for -+ * the buffering (start-up of stream, seek has occured, network -+ * congestion, etc.), as well as percentage complete of the -+ * buffering process. -+ * -+ */ -+ STDMETHOD (OnBuffering) (THIS_ -+ ULONG32 ulFlags, -+ UINT16 unPercentComplete); -+ -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnContacting -+ * Purpose: -+ * Called by client engine to inform the client is contacting -+ * hosts(s). -+ * -+ */ -+ STDMETHOD (OnContacting) (THIS_ -+ const char* pHostName); -+ -+ // IHXCallback -+ STDMETHOD(Func) (THIS); -+ -+ /* -+ * IHXGroupSink methods -+ */ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::GroupAdded -+ * Purpose: -+ * Notification of a new group being added to the presentation. -+ */ -+ STDMETHOD(GroupAdded) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ IHXGroup* /*IN*/ pGroup); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::GroupRemoved -+ * Purpose: -+ * Notification of a group being removed from the presentation. -+ */ -+ STDMETHOD(GroupRemoved) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ IHXGroup* /*IN*/ pGroup); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::AllGroupsRemoved -+ * Purpose: -+ * Notification that all groups have been removed from the -+ * current presentation. -+ */ -+ STDMETHOD(AllGroupsRemoved) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackAdded -+ * Purpose: -+ * Notification of a new track being added to a group. -+ */ -+ STDMETHOD(TrackAdded) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackRemoved -+ * Purpose: -+ * Notification of a track being removed from a group. -+ */ -+ STDMETHOD(TrackRemoved) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackStarted -+ * Purpose: -+ * Notification of a track being started (to get duration, for -+ * instance...) -+ */ -+ STDMETHOD (TrackStarted) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack) ; -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackStopped -+ * Purpose: -+ * Notification of a track being stopped -+ * -+ */ -+ STDMETHOD(TrackStopped) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::CurrentGroupSet -+ * Purpose: -+ * This group is being currently played in the presentation. -+ */ -+ STDMETHOD(CurrentGroupSet) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ IHXGroup* /*IN*/ pGroup); -+ -+}; -+ -+#endif /* _EXAMPLECLSNK_ */ -Index: helix-libs/clientapps/clutter/exaumgr.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exaumgr.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,137 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+#include "hxtypes.h" -+#include "hxcom.h" -+#include "hxauth.h" -+#include "hxstrutl.h" -+#include "exaumgr.h" -+#include -+#include "print.h" -+ -+ -+#include "globals.h" -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+ -+ -+ExampleAuthenticationManager::ExampleAuthenticationManager() : -+ m_lRefCount(0), -+ m_bSentPassword(FALSE) -+{ -+} -+ -+ExampleAuthenticationManager::~ExampleAuthenticationManager() -+{ -+} -+ -+STDMETHODIMP -+ExampleAuthenticationManager::QueryInterface(REFIID riid, void**ppvObj) -+{ -+ if(IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXAuthenticationManager*)this; -+ return HXR_OK; -+ } -+ else if(IsEqualIID(riid, IID_IHXAuthenticationManager)) -+ { -+ AddRef(); -+ *ppvObj = (IHXAuthenticationManager*)this; -+ return HXR_OK; -+ } -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+STDMETHODIMP_(UINT32) -+ExampleAuthenticationManager::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+STDMETHODIMP_(UINT32) -+ExampleAuthenticationManager::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+STDMETHODIMP -+ExampleAuthenticationManager::HandleAuthenticationRequest(IHXAuthenticationManagerResponse* pResponse) -+{ -+ char username[1024] = ""; /* Flawfinder: ignore */ -+ char password[1024] = ""; /* Flawfinder: ignore */ -+ HX_RESULT res = HXR_FAIL; -+ -+ if( !m_bSentPassword ) -+ { -+ res = HXR_OK; -+ if (GetGlobal()->bEnableVerboseMode) -+ STDOUT("\nSending Username and Password...\n"); -+ -+ SafeStrCpy(username, GetGlobal()->g_pszUsername, 1024); -+ SafeStrCpy(password, GetGlobal()->g_pszPassword, 1024); -+ -+ //strip trailing whitespace -+ char* c; -+ for(c = username + strlen(username) - 1; -+ c > username && isspace(*c); -+ c--) -+ ; -+ *(c+1) = 0; -+ -+ for(c = password + strlen(password) - 1; -+ c > password && isspace(*c); -+ c--) -+ ; -+ *(c+1) = 0; -+ -+ m_bSentPassword = TRUE; -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode && FAILED(res) ) -+ STDOUT("\nInvalid Username and/or Password.\n"); -+ -+ pResponse->AuthenticationRequestDone(res, username, password); -+ return res; -+} -+ -Index: helix-libs/clientapps/clutter/exaumgr.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exaumgr.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,56 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAUMGR_H_ -+#define _EXAUMGR_H_ -+ -+#include "hxauth.h" -+ -+class ExampleAuthenticationManager : public IHXAuthenticationManager -+{ -+private: -+ INT32 m_lRefCount; -+ HXBOOL m_bSentPassword; -+ ~ExampleAuthenticationManager(); -+ -+public: -+ ExampleAuthenticationManager(); -+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj); -+ STDMETHOD_(UINT32,AddRef) (THIS); -+ STDMETHOD_(UINT32,Release) (THIS); -+ -+ STDMETHOD(HandleAuthenticationRequest) (IHXAuthenticationManagerResponse* pResponse); -+}; -+#endif -Index: helix-libs/clientapps/clutter/excallback.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/excallback.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,38 @@ -+#include "excallback.h" -+ -+STDMETHODIMP ExCallback::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IHXCallback)) -+ { -+ AddRef(); -+ *ppvObj = (IHXCallback*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+STDMETHODIMP_(ULONG32) ExCallback::AddRef() -+{ -+ return HXR_OK; -+} -+ -+STDMETHODIMP_(ULONG32) ExCallback::Release() -+{ -+ return HXR_OK; -+} -+ -+STDMETHODIMP ExCallback::Func(void) -+{ -+ UINT32 sleepTime = 0; -+ m_pKicker->Kick(HXGetCurrentThreadID, &sleepTime); -+ printf("Get called, sleeptime:%d\n", sleepTime); -+ m_pScheduler->RelativeEnter(this, sleepTime/1000); -+} -Index: helix-libs/clientapps/clutter/excallback.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/excallback.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,32 @@ -+#ifndef _EX_CALLBACK_H_ -+#define _EX_CALLBACK_H_ -+ -+#include "hxcom.h" -+#include "hxengin.h" -+#include "ihxmedpltfm.h" -+#include "thrdutil.h" -+ -+class ExCallback : public IHXCallback -+{ -+ public: -+ ExCallback(IHXScheduler *pIHXScheduler, IHXMediaPlatformKicker *pKicker) : m_pScheduler(pIHXScheduler), m_pKicker(pKicker){}; -+ -+ /* -+ * * IUnknown methods -+ * */ -+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj); -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * * IHXCallback methods -+ * */ -+ STDMETHOD(Func) (THIS); -+ private: -+ IHXScheduler *m_pScheduler; -+ IHXMediaPlatformKicker* m_pKicker; -+ -+}; -+ -+ -+#endif -Index: helix-libs/clientapps/clutter/excontxt.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/excontxt.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,315 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "hxtypes.h" -+ -+#include "hxwintyp.h" -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxwin.h" -+#include "fivemmap.h" -+ -+#include "hxbuffer.h" -+#include "hxmangle.h" -+ -+#include "hxclsnk.h" -+#include "hxgroup.h" -+#include "hxerror.h" -+#include "hxprefs.h" -+#include "hxstrutl.h" -+ -+#include "exadvsnk.h" -+#include "exstateadvsnk.h" -+#include "exerror.h" -+#include "exsitsup.h" -+#include "exaumgr.h" -+#include "hxprdnld.h" -+#include "exprdnld.h" -+ -+#include "excontxt.h" -+ -+extern HXBOOL bEnableAdviceSink; -+ -+ -+ExampleClientContext::ExampleClientContext(LONG32 lClientIndex) -+ : m_lRefCount(0) -+ , m_lClientIndex(lClientIndex) -+ , m_pClientSink(NULL) -+ , m_pClientStateSink(NULL) -+ , m_pErrorSink(NULL) -+ , m_pAuthMgr(NULL) -+ , m_pSiteSupplier(NULL) -+ , m_pDefaultPrefs(NULL) -+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+ , m_pPrgDnldStatusObserver(NULL) -+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -+{ -+} -+ -+ -+ExampleClientContext::~ExampleClientContext() -+{ -+ Close(); -+}; -+ -+void ExampleClientContext::Init(IUnknown* /*IN*/ pUnknown, -+ IHXPreferences* /*IN*/ pPreferences, -+ char* /*IN*/ pszGUID, -+ on_buffering_cb_t on_buffering_cb, -+ on_pos_length_cb_t on_pos_length_cb, -+ on_state_change_cb_t on_state_change_cb, -+ on_new_frame_cb_t on_new_frame_cb, -+ void *context) -+{ -+ char* pszCipher = NULL; -+ -+ -+ m_pClientSink = new ExampleClientAdviceSink(pUnknown, m_lClientIndex, on_buffering_cb, on_pos_length_cb, context); -+ -+ m_pClientStateSink = new ExampleClientStateAdviceSink(pUnknown, m_lClientIndex, on_state_change_cb, context); -+ m_pErrorSink = new ExampleErrorSink(pUnknown); -+#if defined(HELIX_FEATURE_AUTHENTICATION) -+ m_pAuthMgr = new ExampleAuthenticationManager(); -+ if(m_pAuthMgr) -+ { -+ m_pAuthMgr->AddRef(); -+ } -+ -+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */ -+#if defined(HELIX_FEATURE_VIDEO) -+ m_pSiteSupplier = new ExampleSiteSupplier(pUnknown, on_new_frame_cb, context); -+#endif -+ -+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+ m_pPrgDnldStatusObserver = new ExamplePDStatusObserver(pUnknown); -+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -+ -+ if (m_pClientSink) -+ { -+ m_pClientSink->AddRef(); -+ } -+ -+ if (m_pErrorSink) -+ { -+ m_pErrorSink->AddRef(); -+ } -+ -+ if (m_pClientStateSink) -+ m_pClientStateSink->AddRef(); -+ -+ if(m_pSiteSupplier) -+ { -+ m_pSiteSupplier->AddRef(); -+ } -+ -+ if (pPreferences) -+ { -+ m_pDefaultPrefs = pPreferences; -+ m_pDefaultPrefs->AddRef(); -+ } -+ -+ if (pszGUID && *pszGUID) -+ { -+ // Encode GUID -+ pszCipher = Cipher(pszGUID); -+ SafeStrCpy(m_pszGUID, pszCipher, 256); -+ } -+ else -+ { -+ m_pszGUID[0] = '\0'; -+ } -+} -+ -+void ExampleClientContext::Close() -+{ -+ HX_RELEASE(m_pClientSink); -+ HX_RELEASE(m_pClientStateSink); -+ HX_RELEASE(m_pErrorSink); -+#if defined(HELIX_FEATURE_AUTHENTICATION) -+ HX_RELEASE(m_pAuthMgr); -+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */ -+ HX_RELEASE(m_pSiteSupplier); -+ HX_RELEASE(m_pDefaultPrefs); -+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+ HX_RELEASE(m_pPrgDnldStatusObserver); -+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -+} -+ -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleClientContext::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXPreferences)) -+ { -+ AddRef(); -+ *ppvObj = (IHXPreferences*)this; -+ return HXR_OK; -+ } -+ else if (m_pClientSink && -+ m_pClientSink->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+ else if (m_pErrorSink && -+ m_pErrorSink->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+ else if (m_pClientStateSink && -+ m_pClientStateSink->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+#if defined(HELIX_FEATURE_AUTHENTICATION) -+ else if(m_pAuthMgr && -+ m_pAuthMgr->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */ -+ else if(m_pSiteSupplier && -+ m_pSiteSupplier->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientContext::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientContext::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IHXPreferences::ReadPref -+// Purpose: -+// Read a Preference from the registry. -+// -+STDMETHODIMP -+ExampleClientContext::ReadPref(const char* pref_key, IHXBuffer*& buffer) -+{ -+ HX_RESULT hResult = HXR_OK; -+ char* pszCipher = NULL; -+ -+ if ((stricmp(pref_key, CLIENT_GUID_REGNAME) == 0) && -+ (*m_pszGUID)) -+ { -+ // Create a Buffer -+ buffer = new CHXBuffer(); -+ buffer->AddRef(); -+ -+ // Copy the encoded GUID into the buffer -+ buffer->Set((UCHAR*)m_pszGUID, strlen(m_pszGUID) + 1); -+ } -+ else if (m_pDefaultPrefs) -+ { -+ hResult = m_pDefaultPrefs->ReadPref(pref_key, buffer); -+ } -+ else -+ { -+ hResult = HXR_NOTIMPL; -+ } -+ -+ return hResult; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IHXPreferences::WritePref -+// Purpose: -+// Write a Preference to the registry. -+// -+STDMETHODIMP -+ExampleClientContext::WritePref(const char* pref_key, IHXBuffer* buffer) -+{ -+ if (m_pDefaultPrefs) -+ { -+ return m_pDefaultPrefs->WritePref(pref_key, buffer); -+ } -+ else -+ { -+ return HXR_OK; -+ } -+} -+ -+EHXClientState ExampleClientContext::GetState() -+{ -+ return m_pClientStateSink->GetState(); -+}; -Index: helix-libs/clientapps/clutter/excontxt.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/excontxt.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,106 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+#ifndef _EXCONTXT_H_ -+#define _EXCONTXT_H_ -+ -+#include "exerror.h" -+#include "exsitsup.h" -+#include "hxprefs.h" -+#include "player.h" -+#include "hxclsnk.h" -+ -+struct IUnknown; -+struct IHXPreferences; -+class ExampleClientAdviceSink; -+class ExampleClientStateAdviceSink; -+class ExampleErrorMessages; -+class ExampleAuthenticationManager; -+class ExamplePDStatusObserver; -+ -+ -+class ExampleClientContext : public IHXPreferences -+{ -+private: -+ LONG32 m_lRefCount; -+ LONG32 m_lClientIndex; -+ -+ ExampleClientAdviceSink* m_pClientSink; -+ ExampleClientStateAdviceSink* m_pClientStateSink; -+ ExampleErrorSink* m_pErrorSink; -+ ExampleAuthenticationManager* m_pAuthMgr; -+ -+ ExampleSiteSupplier* m_pSiteSupplier; -+ ExamplePDStatusObserver* m_pPrgDnldStatusObserver; -+ IHXPreferences* m_pDefaultPrefs; -+ char m_pszGUID[256]; /* Flawfinder: ignore */ -+ -+ -+public: -+ -+ ExampleClientContext(LONG32 /*IN*/ lClientIndex); -+ ~ExampleClientContext(); -+ -+ void Init(IUnknown* /*IN*/ pUnknown, -+ IHXPreferences* /*IN*/ pPreferences, -+ char* /*IN*/ pszGUID, -+ on_buffering_cb_t on_buffering_cb = NULL, -+ on_pos_length_cb_t on_pos_length_cb = NULL, -+ on_state_change_cb_t on_state_change_cb = NULL, -+ on_new_frame_cb_t on_new_frame_cb = NULL, -+ void *context = NULL); -+ void Close(); -+ -+ EHXClientState GetState(); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXPreferences methods -+ */ -+ STDMETHOD(ReadPref) (THIS_ const char* pref_key, -+ IHXBuffer*& buffer); -+ STDMETHOD(WritePref) (THIS_ const char* pref_key, -+ IHXBuffer* buffer); -+}; -+ -+#endif -Index: helix-libs/clientapps/clutter/exerror.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exerror.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,230 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "hxtypes.h" -+ -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxerror.h" -+#include "hxstrutl.h" -+#include "hxcore.h" -+#include "hxassert.h" -+#include "hxbuffer.h" -+ -+#ifdef __TCS__ -+#include "hxresult.h" -+#endif -+ -+#if !defined(HELIX_CONFIG_MINIMIZE_SIZE) -+#include "HXErrorCodeStrings.h" -+#endif -+ -+#include "exerror.h" -+ -+#include -+#include "print.h" -+ -+#include "globals.h" -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+#ifdef __TCS__ -+#if defined(__cplusplus) -+extern "C" { -+#endif -+ -+void hookRealAudio_ReportError(int err, long errVal); -+ -+#ifdef __cplusplus -+} -+#endif -+#endif -+ -+ExampleErrorSink::ExampleErrorSink(IUnknown* pUnknown) -+ : m_lRefCount(0), -+ m_pPlayer(NULL) -+{ -+ IHXClientEngine* pEngine = NULL; -+ pUnknown->QueryInterface(IID_IHXClientEngine, (void**)&pEngine ); -+ if( pEngine ) -+ { -+ IUnknown* pTmp = NULL; -+ pEngine->GetPlayer(0, pTmp); -+ m_pPlayer = (IHXPlayer*)pTmp; -+ } -+ -+ HX_RELEASE( pEngine ); -+ HX_ASSERT(m_pPlayer); -+} -+ -+ExampleErrorSink::~ExampleErrorSink() -+{ -+ HX_RELEASE(m_pPlayer); -+} -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleErrorSink::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXErrorSink*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXErrorSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXErrorSink*) this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleErrorSink::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleErrorSink::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+/* -+ * IHXErrorSink methods -+ */ -+ -+STDMETHODIMP -+ExampleErrorSink::ErrorOccurred(const UINT8 unSeverity, -+ const ULONG32 ulHXCode, -+ const ULONG32 ulUserCode, -+ const char* pUserString, -+ const char* pMoreInfoURL -+ ) -+{ -+ char HXDefine[256]; /* Flawfinder: ignore */ -+ -+ // Store the code, so we can return it from main() -+ GetGlobal()->g_Error = ulHXCode; -+ -+ ConvertErrorToString(ulHXCode, HXDefine, 256); -+ -+#ifdef __TCS__ -+ hookRealAudio_ReportError(ulHXCode,ulUserCode); -+#else -+ STDOUT("Report(%d, %ld, \"%s\", %ld, \"%s\", \"%s\")\n", -+ unSeverity, -+ ulHXCode, -+ (pUserString && *pUserString) ? pUserString : "(NULL)", -+ ulUserCode, -+ (pMoreInfoURL && *pMoreInfoURL) ? pMoreInfoURL : "(NULL)", -+ HXDefine); -+#endif -+ -+ return HXR_OK; -+} -+ -+void -+ExampleErrorSink::ConvertErrorToString(const ULONG32 ulHXCode, char* pszBuffer, UINT32 ulBufLen) -+{ -+ IHXErrorMessages* pErrMsg = NULL; -+ -+ if( !pszBuffer) -+ return; -+ -+ pszBuffer[0]='\0'; -+ -+ HX_ASSERT(m_pPlayer); -+ if( m_pPlayer) -+ { -+ m_pPlayer->QueryInterface(IID_IHXErrorMessages, (void**)&pErrMsg); -+ if( pErrMsg ) -+ { -+ IHXBuffer* pMessage = pErrMsg->GetErrorText(ulHXCode); -+ if( pMessage ) -+ { -+ SafeStrCpy( pszBuffer, (const char*)pMessage->GetBuffer(), ulBufLen); -+ pMessage->Release(); -+ } -+ } -+ HX_RELEASE(pErrMsg); -+ } -+ -+ if( strlen(pszBuffer)==0 ) -+ { -+#if !defined(HELIX_CONFIG_MINIMIZE_SIZE) -+ const char* pszHXCodeString = HXErrorCodeToString(ulHXCode); -+ if (pszHXCodeString) -+ { -+ SafeSprintf( pszBuffer, ulBufLen, "%s", pszHXCodeString); -+ } -+ else -+#endif -+ { -+ HX_ASSERT(FALSE); -+ SafeSprintf( pszBuffer, ulBufLen, "Can't convert error code %p - make sure it's defined in common/util/HXErrorCodeStrings.c", ulHXCode ); -+ } -+ } -+} -+ -Index: helix-libs/clientapps/clutter/exerror.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exerror.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,92 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAMPLEERRORMESSAGES_ -+#define _EXAMPLEERRORMESSAGES_ -+ -+#include "hxerror.h" -+ -+struct IUnknown; -+struct IHXErrorMessages; -+struct IHXPlayer; -+ -+class ExampleErrorSink : public IHXErrorSink -+{ -+public: -+ -+ ExampleErrorSink(IUnknown* pUnknown); -+ ~ExampleErrorSink(); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXErrorSink methods -+ */ -+ -+ /************************************************************************ -+ * Method: -+ * IHXErrorSink::ErrorOccurred -+ * Purpose: -+ * After you have registered your error sink with an IHXErrorSinkControl -+ * (either in the server or player core) this method will be called to -+ * report an error, event, or status message. -+ * -+ * The meaning of the arguments is exactly as described in -+ * hxerror.h -+ */ -+ STDMETHOD(ErrorOccurred) (THIS_ -+ const UINT8 unSeverity, -+ const ULONG32 ulHXCode, -+ const ULONG32 ulUserCode, -+ const char* pUserString, -+ const char* pMoreInfoURL -+ ); -+ -+protected: -+ LONG32 m_lRefCount; -+ IHXPlayer* m_pPlayer; -+ -+ void ConvertErrorToString (const ULONG32 ulHXCode, char* pszBuffer, UINT32 ulBufLen); -+}; -+#endif /*_EXAMPLEERRORMESSAGES_*/ -Index: helix-libs/clientapps/clutter/exprdnld.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exprdnld.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,468 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "hxcom.h" -+#include "hxtypes.h" -+#include "hxcore.h" -+#include "hxprdnld.h" -+#include "exprdnld.h" -+#include "print.h" -+ -+#include "globals.h" -+struct _stGlobals*& GetGlobal(); -+ -+UINT32 GetTime(); // /In main.cpp. -+ -+// /#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+/************************************************************************ -+ * Method: -+ * Constructor -+ */ -+ExamplePDStatusObserver::ExamplePDStatusObserver(IUnknown* pUnkPlayer) -+ : m_lRefCount(0) -+ , m_pPrgDnldStatusMgr(NULL) -+ , m_pUnkPlayer(pUnkPlayer) -+ , m_pHXPlayer(NULL) -+ , m_bPlayerIsPausedByThis(FALSE) -+ , m_bFirstPDStatusMessage(TRUE) -+ , m_ulTotalDurReported(HX_PROGDOWNLD_UNKNOWN_DURATION) -+ , m_ulDurSoFar(HX_PROGDOWNLD_UNKNOWN_DURATION) -+ , m_ulCurStatusUpdateGranularity( -+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC) -+ , m_bInitialPrerollUpateGranularitySet(FALSE) -+ , m_bDownloadIsComplete(FALSE) -+{ -+ if (m_pUnkPlayer) -+ { -+ m_pUnkPlayer->QueryInterface(IID_IHXPlayer, -+ (void**)&m_pHXPlayer); -+ -+ m_pUnkPlayer->QueryInterface(IID_IHXPDStatusMgr, -+ (void**)&m_pPrgDnldStatusMgr); -+ -+ if (m_pPrgDnldStatusMgr) -+ { -+ // /Add ourselves as an observer of progressive download playback: -+ m_pPrgDnldStatusMgr->AddObserver(this); -+ // /Set granularity of status reports to 10 per second until we -+ // know enough about the situation to go back to getting reports -+ // at the default interval (every 5 seconds). Do that as soon -+ // as we receive the first progress report: -+ m_ulCurStatusUpdateGranularity = 100; -+ } -+ -+ m_pUnkPlayer->AddRef(); -+ } -+}; -+ -+/************************************************************************ -+ * Method: -+ * Destructor -+ */ -+ExamplePDStatusObserver::~ExamplePDStatusObserver() -+{ -+ if (m_pPrgDnldStatusMgr) -+ { -+ m_pPrgDnldStatusMgr->RemoveObserver(this); -+ } -+ HX_RELEASE(m_pPrgDnldStatusMgr); -+ HX_RELEASE(m_pHXPlayer); -+ HX_RELEASE(m_pUnkPlayer); -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::QueryInterface -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXPDStatusObserver*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXPDStatusObserver)) -+ { -+ AddRef(); -+ *ppvObj = (IHXPDStatusObserver*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::AddRef -+ */ -+STDMETHODIMP_(ULONG32) -+ExamplePDStatusObserver::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::Release -+ */ -+STDMETHODIMP_(ULONG32) -+ExamplePDStatusObserver::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+ -+/* -+ * IHXPDStatusObserver methods -+ */ -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadProgress -+ * -+ * Purpose: -+ * Notification from IHXPDStatusMgr of download progress when -+ * file size changes. -+ * -+ * lTimeSurplus: -+ * - When negative, the absolute value of it is the estimated number -+ * of milliseconds of wall-clock time that need to pass while -+ * downloading continues before reaching the point at which playback -+ * can resume and play the remainder of the stream without having to -+ * buffer, assuming that playback is paused and remains so during -+ * that period. -+ * - When positive, it is the estimated number of milliseconds of -+ * wall-clock time between when the download should complete and when -+ * the natural content play-out duration will be reached, assuming -+ * playback is currently progressing and that no pause will occur. -+ * -+ * Note: ulNewDurSoFar can be HX_PROGDOWNLD_UNKNOWN_DURATION if the -+ * IHXMediaBytesToMediaDur was not available to, or was unable to -+ * convert the bytes to a duration for the IHXPDStatusMgr calling this: -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnDownloadProgress( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource, -+ UINT32 /*IN*/ ulNewDurSoFar, -+ UINT32 /*IN*/ ulNewBytesSoFar, -+ INT32 /*IN*/ lTimeSurplus) -+{ -+ m_ulDurSoFar = ulNewDurSoFar; -+ -+ if (m_ulCurStatusUpdateGranularity < -+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC) -+ { -+ if (m_bInitialPrerollUpateGranularitySet) -+ { -+ if (HX_PROGDOWNLD_UNKNOWN_DURATION != ulNewDurSoFar && -+ // /Preroll is done, so reset update interval back to default: -+ GetGlobal()->g_bOnBeginOccurred) -+ { -+ m_ulCurStatusUpdateGranularity = -+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC; -+ m_pPrgDnldStatusMgr->SetStatusUpdateGranularityMsec( -+ m_ulCurStatusUpdateGranularity); -+ } -+ } -+ else if (!GetGlobal()->g_bOnBeginOccurred) -+ { -+ if (HXR_OK == m_pPrgDnldStatusMgr->SetStatusUpdateGranularityMsec( -+ m_ulCurStatusUpdateGranularity)) -+ { -+ m_bInitialPrerollUpateGranularitySet = TRUE; -+ } -+ } -+ } -+ -+ UINT32 ulCurPlayTime = 0; -+ -+ HXBOOL bPauseWasAttempted = FALSE; -+ HXBOOL bPauseOccurred = FALSE; -+ HXBOOL bResumeWasAttempted = FALSE; -+ HXBOOL bResumeOccurred = FALSE; -+ -+ -+ if (m_pHXPlayer) -+ { -+ ulCurPlayTime = m_pHXPlayer->GetCurrentPlayTime(); -+ -+ if (GetGlobal()->g_bEnableSlowStart && -+ lTimeSurplus != HX_PROGDOWNLD_UNKNOWN_TIME_SURPLUS) -+ { -+ // /"slow start" is enabled so if we have run dry of data, -+ // pause and wait for more data: -+ if (!m_bPlayerIsPausedByThis) -+ { -+ if (!m_bDownloadIsComplete && lTimeSurplus<0) -+ { -+ // /Use a 1000-millisecond allowance for variation: -+ if (lTimeSurplus < -1000) -+ { -+ bPauseWasAttempted = TRUE; -+ bPauseOccurred = m_bPlayerIsPausedByThis = -+ (HXR_OK == m_pHXPlayer->Pause()); -+ } -+ } -+ } -+ else // /paused; see if we can resume yet: -+ { -+ if (lTimeSurplus > 0) -+ { -+ // /Use a 1000-millisecond allowance for variation: -+ if (lTimeSurplus > 1000) -+ { -+ bResumeWasAttempted = TRUE; -+ bResumeOccurred = (HXR_OK == m_pHXPlayer->Begin()); -+ m_bPlayerIsPausedByThis = !bResumeOccurred; -+ } -+ } -+ } -+ } -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode && !m_bDownloadIsComplete) -+ { -+ STDOUT("\nDownload progress: (play time=%lu,", -+ ulCurPlayTime); -+ if (HX_PROGDOWNLD_UNKNOWN_TIME_SURPLUS == lTimeSurplus) -+ { -+ STDOUT(" UNKNOWN surplus|deficit)"); -+ } -+ else if (HX_PROGDOWNLD_MIN_TIME_SURPLUS == lTimeSurplus) -+ { -+ STDOUT(" deficit exceeds maximum"); -+ } -+ else if (HX_PROGDOWNLD_MAX_TIME_SURPLUS == lTimeSurplus) -+ { -+ STDOUT(" surplus exceeds maximum)"); -+ } -+ else -+ { -+ STDOUT(" surplus=%ld milliseconds)", lTimeSurplus); -+ } -+ if (HX_PROGDOWNLD_UNKNOWN_DURATION == ulNewDurSoFar) -+ { -+ STDOUT("\n\thave UNKNOWN"); -+ } -+ else -+ { -+ STDOUT("\n\thave %lu", ulNewDurSoFar); -+ } -+ -+ if (HX_PROGDOWNLD_UNKNOWN_DURATION != m_ulTotalDurReported) -+ { -+ STDOUT(" of %lu msec", m_ulTotalDurReported); -+ } -+ else -+ { -+ STDOUT(" of UNKNOWN msec of media"); -+ } -+ if (HX_PROGDOWNLD_UNKNOWN_FILE_SIZE != ulNewBytesSoFar) -+ { -+ STDOUT(" (%lu", ulNewBytesSoFar); -+ } -+ else -+ { -+ STDOUT(" (UNKNOWN"); -+ } -+ STDOUT(" bytes downloaded so far)\n", ulNewBytesSoFar); -+ -+ if (bPauseOccurred || bPauseWasAttempted) -+ { -+ STDOUT("# Waiting for more data: %splayback.\n " -+ " Should take %ld milliseconds before playback resumes.\n", -+ bPauseOccurred? "Pausing " : -+ (bPauseWasAttempted? "Failed attempting to pause " -+ : " "), -lTimeSurplus); -+ } -+ if (bResumeOccurred || bResumeWasAttempted) -+ { -+ STDOUT("# Data available: %splayback\n " -+ " Time surplus is now %ld", -+ bResumeOccurred? "Resuming " : -+ (bResumeWasAttempted? "Failed attempting to resume " -+ : " "), lTimeSurplus); -+ } -+ } -+ -+ m_bFirstPDStatusMessage = FALSE; -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnTotalDurChanged -+ * Purpose: -+ * This is a notification if the total file duration becomes known -+ * or becomes better-known during download/playback -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnTotalDurChanged( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource, -+ UINT32 ulNewTotalDur) -+{ -+ m_ulTotalDurReported = ulNewTotalDur; -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nOnTotalDurChanged(): to %lu milliseconds\n", ulNewTotalDur); -+ } -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadComplete -+ * -+ * Purpose: -+ * Notification that the entire file has been downloaded. -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ * -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnDownloadComplete( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource) -+{ -+ m_bDownloadIsComplete = TRUE; -+ -+ HXBOOL bResumeWasAttempted = FALSE; -+ HXBOOL bResumeOccurred = FALSE; -+ -+ // /In case we're paused, resume now that there is no more data to get: -+ if (m_pHXPlayer && m_bPlayerIsPausedByThis) -+ { -+ bResumeWasAttempted = TRUE; -+ bResumeOccurred = (HXR_OK == m_pHXPlayer->Begin()); -+ m_bPlayerIsPausedByThis = !bResumeOccurred; -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nOnDownloadComplete()\n"); -+ if (bResumeOccurred || bResumeWasAttempted) -+ { -+ STDOUT("\n%splayback now that bytes are available for " -+ "uninterrupted playback\n", -+ bResumeOccurred? "Resuming " : -+ (bResumeWasAttempted? "Failed attempting to resume " -+ : " ")); -+ } -+ } -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::SrcClaimsSeekSupport ref: hxprdnld.h -+ * Purpose: -+ * Passes along notification from file sys that seek support -+ * is or is not claimed to be available (although sometimes HTTP -+ * server claims this when it doesn't actually support it). -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::SrcClaimsSeekSupport(IHXStreamSource* pStreamSource, -+ HXBOOL bClaimsSupport) -+{ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nSrcClaimsSeekSupport(%sE)\n", bClaimsSupport?"TRU":"FALS"); -+ } -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadPause -+ * Purpose: -+ * Notification that the file-download process has purposefully -+ * and temporarily halted downloading of the file -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnDownloadPause( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource) -+{ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nOnDownloadPause()\n"); -+ } -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadResume -+ * Purpose: -+ * Notification that the file-download process has resumed -+ * the process of downloading the remainder of the file -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnDownloadResume( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource) -+{ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nOnDownloadResume()\n"); -+ } -+ return HXR_OK; -+} -+// /#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -Index: helix-libs/clientapps/clutter/exprdnld.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exprdnld.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,196 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXPRDNLD_H_ -+#define _EXPRDNLD_H_ -+ -+// /#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+ -+/**************************************************************************** -+ * -+ * Class: -+ * -+ * ExamplePDStatusObserver -+ * -+ * Purpose: -+ * -+ * Implementation for IHXPDStatusObserver which receives progressive- -+ * download status reports: -+ * -+ */ -+class ExamplePDStatusObserver : -+ public IHXPDStatusObserver -+{ -+private: -+ INT32 m_lRefCount; -+ IHXPDStatusMgr* m_pPrgDnldStatusMgr; -+ IUnknown* m_pUnkPlayer; -+ IHXPlayer* m_pHXPlayer; -+ HXBOOL m_bPlayerIsPausedByThis; -+ HXBOOL m_bFirstPDStatusMessage; -+ UINT32 m_ulTotalDurReported; -+ UINT32 m_ulDurSoFar; -+ UINT32 m_ulCurStatusUpdateGranularity; -+ HXBOOL m_bInitialPrerollUpateGranularitySet; -+ HXBOOL m_bDownloadIsComplete; -+ -+ ExamplePDStatusObserver(); -+ ~ExamplePDStatusObserver(); -+ -+public: -+ ExamplePDStatusObserver(IUnknown* pUnkPlayer); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXPDStatusObserver methods -+ */ -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadProgress -+ * -+ * Purpose: -+ * Notification from IHXPDStatusMgr of download progress when -+ * file size changes. -+ * -+ * lTimeSurplus: -+ * - When negative, the absolute value of it is the estimated number -+ * of milliseconds of wall-clock time that need to pass while -+ * downloading continues before reaching the point at which playback -+ * can resume and play the remainder of the stream without having to -+ * buffer, assuming that playback is paused and remains so during -+ * that period. -+ * - When positive, it is the estimated number of milliseconds of -+ * wall-clock time between when the download should complete and when -+ * the natural content play-out duration will be reached, assuming -+ * playback is currently progressing and that no pause will occur. -+ * -+ * Note: ulNewDurSoFar can be HX_PROGDOWNLD_UNKNOWN_DURATION if the -+ * IHXMediaBytesToMediaDurConverter was not available to, or was -+ * unable to convert the bytes to a duration for the IHXPDStatusMgr -+ * calling this: -+ */ -+ STDMETHOD(OnDownloadProgress) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource, -+ UINT32 /*IN*/ ulNewDurSoFar, -+ UINT32 /*IN*/ ulNewBytesSoFar, -+ INT32 /*IN*/ lTimeSurplus); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnTotalDurChanged -+ * Purpose: -+ * This is a notification if the total file duration becomes known -+ * or becomes better-known during download/playback -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+ STDMETHOD(OnTotalDurChanged) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource, -+ UINT32 /*IN*/ ulNewDur); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadComplete -+ * -+ * Purpose: -+ * Notification that the entire file has been downloaded. -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ * -+ */ -+ STDMETHOD(OnDownloadComplete) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::SrcClaimsSeekSupport -+ * -+ * Purpose: -+ * Passes along notification from file sys that seek support -+ * is claimed to be available (although sometimes HTTP server -+ * claims this when it doesn't actually support it). -+ * -+ */ -+ STDMETHOD(SrcClaimsSeekSupport) (THIS_ -+ IHXStreamSource* pStreamSource, -+ HXBOOL /*IN*/ bSrcClaimsSeekSupport); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadPause -+ * Purpose: -+ * Notification that the file-download process has purposefully -+ * and temporarily halted downloading of the file -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+ STDMETHOD(OnDownloadPause) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadResume -+ * Purpose: -+ * Notification that the file-download process has resumed -+ * the process of downloading the remainder of the file -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+ STDMETHOD(OnDownloadResume) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource); -+}; -+// /#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -+ -+#endif // _EXPRDNLD_H_ -+ -Index: helix-libs/clientapps/clutter/exroot.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exroot.cpp 2008-10-13 06:54:08.000000000 -0700 -@@ -0,0 +1,672 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixroot.cpp,v 1.9 2007/07/06 20:54:01 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+// for shared memory -+#include -+#include -+#include -+#include -+ -+#include "hxcom.h" -+#include "hxwintyp.h" -+#include "hxvsurf.h" -+#include "hxslist.h" -+#include "colormap.h" -+#include "hxprefs.h" -+#include "hxtick.h" -+#include "hxthread.h" -+#include "basesite.h" -+#include "exroot.h" -+#include "exsite.h" -+#include "unixcmap.h" -+#include "shmhelp.h" -+ -+// #ifdef _DEBUG -+// #include //for debug video sync rates.. -+// #endif -+ -+//Work around AIX problem. -+#ifdef _AIX -+# define MAX_SHARED_REGIONS ((UINT32)1) -+#else -+# define MAX_SHARED_REGIONS ((UINT32)9999) -+#endif -+ -+CExRootSurf::CExRootSurf(IUnknown* pContext, CHXBaseSite* pSite, on_new_frame_cb_t on_new_frame_cb, void *context ) -+ : CBaseRootSurface(pContext, pSite) -+ , m_bUseShm(FALSE) -+ , m_nShmId(0) -+ , m_pDisplay(NULL) -+ , m_GC(0) -+ , m_nScreenNumber(0) -+ , m_pXImage(NULL) -+ , m_pVisual(NULL) -+ , m_unDepth(0) -+ , m_pScreen(NULL) -+ , m_pYUVScratchBits(NULL) -+ , m_nYUVScratchPitch(0) -+ , m_pScratchBits(NULL) -+ , m_nScratchPitch(0) -+ , m_nBitsPerPixel(0) -+ , m_nCompositionSize(0) -+ , m_on_new_frame_cb(on_new_frame_cb) -+ , m_context(context) -+{ -+} -+ -+HX_RESULT CExRootSurf::Init() -+{ -+ //get window and display from main Site. -+ HXxWindow* pWindow = m_pSite->GetWindow(); -+ HX_ASSERT(pWindow); -+ -+ m_pDisplay = (Display*)pWindow->display; -+ m_window = (Window)pWindow->window; -+ -+ HX_ASSERT( m_pDisplay ); -+ HX_ASSERT( m_window ); -+ -+ // -+ // Now see if our X11 server supports the Shared Memory extension. -+ // -+ // ShmHelp::Init(m_pDisplay); -+ // m_bUseShm = ShmHelp::ShmAvailable(); -+ -+ //Create the graphics context -+ XGCValues values; -+ -+ XLockDisplay(m_pDisplay); -+ m_GC = XCreateGC(m_pDisplay, m_window, 0, &values); -+ -+ //Get X window attributes & visual -+ XWindowAttributes attr; -+ XGetWindowAttributes(m_pDisplay, m_window, &attr); -+ XUnlockDisplay(m_pDisplay); -+ m_pVisual = attr.visual; -+ -+ // get visual info & depth -+ int nv=0; -+ XVisualInfo visInfo; -+ memset(&visInfo, 0, sizeof(XVisualInfo)); -+ XLockDisplay(m_pDisplay); -+ visInfo.visualid = XVisualIDFromVisual(m_pVisual); -+ XVisualInfo* pVisualInfo = XGetVisualInfo (m_pDisplay, VisualIDMask, &visInfo, &nv); -+// m_unDepth = pVisualInfo->depth; -+ m_unDepth = 24; -+ m_nScreenNumber = DefaultScreen(m_pDisplay); -+ m_pScreen = XScreenOfDisplay(m_pDisplay, m_nScreenNumber); -+ XUnlockDisplay(m_pDisplay); -+ m_colormap = HXGetXColormap(m_pDisplay, m_window); -+ -+ // get pixmap (blt) information for the best depth we can display -+ int i=0; -+ int nNum=0; -+ XLockDisplay(m_pDisplay); -+ XPixmapFormatValues *pixmap_formats = XListPixmapFormats(m_pDisplay, &nNum); -+ XUnlockDisplay(m_pDisplay); -+ if(pixmap_formats) -+ { -+ for (i=0 ; ired_mask; -+ m_bmiSave.un.dwBitMask[1] = pVisualInfo->green_mask; -+ m_bmiSave.un.dwBitMask[2] = pVisualInfo->blue_mask; -+#else -+ /* Fake a RGB24 */ -+ m_nBitsPerPixel = 24; -+ m_bmiSave.bmiHeader.biBitCount = m_nBitsPerPixel; -+ m_bmiSave.bmiHeader.biCompression = BI_RGB; -+#endif -+ //Set primary surface CID. -+ m_nCompositionSurfaceCID = GetBitmapColor(&m_bmiSave); -+ XFree( pVisualInfo ); -+ -+// #ifdef _DEBUG -+// //Lets find out what Hsync and Vsync rates we have for this display. -+// //Ripped from xvidtune.c -+// XF86VidModeModeLine mode_line; -+// int scrn=0; -+// int dot_clock; -+// double vsync_hz, HSyncRate,HTotal, VTotal, PixelClock; -+// if(XF86VidModeGetModeLine(m_pDisplay, scrn, &dot_clock, &mode_line)) -+// { -+// PixelClock=dot_clock; -+// HTotal = mode_line.htotal; -+// VTotal = mode_line.vtotal; -+// HSyncRate = PixelClock*1000.0/HTotal; -+// vsync_hz = HSyncRate/VTotal; -+// fprintf( stderr, "This Display's Hsync rate is: %f and Vsync: %f\n", -+// HSyncRate, vsync_hz ); -+// } -+ -+// #endif -+ -+ return HXR_OK; -+} -+ -+CExRootSurf::~CExRootSurf() -+{ -+ _DestroyCompositionSurface(); -+ -+ if( m_GC ) -+ { -+ XLockDisplay(m_pDisplay); -+ XFreeGC( m_pDisplay, m_GC ); -+ XUnlockDisplay(m_pDisplay); -+ m_GC=0; -+ } -+ if (m_pVisual) -+ { -+ /* PJG: don't have to free visuals */ -+ m_pVisual = NULL; -+ } -+ -+ if(m_bUseShm) -+ { -+ if( m_pCompositionSurface != NULL ) -+ ShmHelp::DetachSharedRegion(&m_pCompositionSurface, &m_shmInfo); -+ } -+ else -+ { -+ HX_DELETE(m_pCompositionSurface); -+ m_nCompositionSize=0; -+ m_bCompositionSurfaceCreated=FALSE; -+ } -+ -+ //XXXgfw any more clean up for these two? -+ HX_VECTOR_DELETE( m_pScratchBits ); -+ HX_VECTOR_DELETE( m_pYUVScratchBits ); -+ -+} -+ -+HX_RESULT CExRootSurf::_ResizeVideoBuffer( INT32 nSize) -+{ -+ HX_RESULT retVal=HXR_OK; -+ -+ if(nSize <= m_nCompositionSize) -+ return retVal; -+ -+ if(m_bUseShm) -+ { -+ if( m_pCompositionSurface != NULL ) -+ retVal = ShmHelp::DetachSharedRegion(&m_pCompositionSurface, &m_shmInfo); -+ if( retVal==HXR_OK ) -+ { -+ retVal = ShmHelp::CreateSharedRegion( nSize, -+ &m_pCompositionSurface, -+ &m_nShmId, -+ &m_shmInfo -+ ); -+ -+ } -+ if( retVal != HXR_OK ) -+ { -+ m_bCompositionSurfaceCreated = FALSE; -+ m_nCompositionSize = 0; -+ m_bUseShm = FALSE; -+ } -+ else -+ { -+ //It all worked -+ m_nCompositionSize = nSize; -+ m_bCompositionSurfaceCreated = TRUE; -+ return retVal; -+ } -+ -+ } -+ -+ //We need to fall through here so that if the shared memory stuff -+ //above fails we can create it the old fashioned way. -+ if(m_pCompositionSurface == NULL) -+ { -+ m_pCompositionSurface = (UCHAR*) malloc(nSize); -+ } -+ else -+ { -+ m_pCompositionSurface = (UCHAR*) realloc(m_pCompositionSurface, nSize); -+ } -+ if( m_pCompositionSurface ) -+ { -+ m_nCompositionSize = nSize; -+ } -+ else -+ { -+ HX_ASSERT("We can't alloc the composition surface." == NULL ); -+ m_nCompositionSize = 0; -+ } -+ -+ return retVal; -+} -+ -+HX_RESULT CExRootSurf::_DebugBlt( UCHAR* pImageData, HXBitmapInfoHeader* pBitmapInfo, -+ HXxRect& rDestRect, HXxRect& rSrcRect) -+{ -+ HX_ASSERT( m_window ); -+ HX_ASSERT( m_pDisplay ); -+ HX_ASSERT( m_GC ); -+ XLockDisplay(m_pDisplay); -+ XSetForeground( m_pDisplay, m_GC, WhitePixel(m_pDisplay, 0 )); -+ XSetBackground( m_pDisplay, m_GC, BlackPixel(m_pDisplay, 0 )); -+ XSetLineAttributes(m_pDisplay, m_GC, 5, LineSolid, CapRound, JoinRound ); -+ XSetForeground( m_pDisplay, m_GC, WhitePixel(m_pDisplay, 0) ); -+ XFillRectangle( m_pDisplay, m_window, m_GC, -+ rDestRect.left, rDestRect.top, -+ rDestRect.right-rDestRect.left, -+ rDestRect.bottom-rDestRect.top -+ ); -+ XDrawRectangle( m_pDisplay, m_window, m_GC, -+ rDestRect.left, rDestRect.top, -+ rDestRect.right-rDestRect.left, -+ rDestRect.bottom-rDestRect.top -+ ); -+ XUnlockDisplay(m_pDisplay); -+ return HXR_OK; -+} -+ -+void CExRootSurf::_GetYUVScratchWidthHeight(UINT32* pWidth, UINT32* pHeight) -+{ -+ *pWidth = m_bmiYUVScratch.bmiHeader.biWidth; -+ *pHeight = m_bmiYUVScratch.bmiHeader.biHeight; -+} -+ -+XImage* CExRootSurf::_GetCompositionSurfaceDrawable() -+{ -+ return m_pXImage; -+} -+ -+ -+ -+//Not used except for XING..... -+void CExRootSurf::_CreateYUVScratchSurface(UINT32 width, UINT32 height) -+{ -+ //Remove old bits.... -+ HX_DELETE(m_pYUVScratchBits); -+ -+ //Clear BitmapInfo struct.... -+ memset(&m_bmiYUVScratch, 0, sizeof(HXBitmapInfo)); -+ int nResult = MakeBitmap( &m_bmiYUVScratch, -+ sizeof(m_bmiYUVScratch), -+ CID_YUY2, -+ width, -+ height, -+ NULL, -+ 0); -+ if( nResult ) -+ { -+ m_pYUVScratchBits = new UCHAR[m_bmiYUVScratch.bmiHeader.biSizeImage]; -+ m_nYUVScratchPitch = GetBitmapPitch(&m_bmiYUVScratch); -+ } -+} -+ -+ -+void CExRootSurf::_GetYUVScratchSurfacePointer(UCHAR** pYUVBits, INT32* YUVPitch) -+{ -+ *pYUVBits = m_pYUVScratchBits; -+ *YUVPitch = m_nYUVScratchPitch; -+} -+ -+HX_RESULT CExRootSurf::CreateScratchSurface( int nCompositionSurfaceCID, HXxSize* pSize) -+{ -+ //Remove old bits.... -+ HX_DELETE(m_pScratchBits); -+ -+ //Clear BitmapInfo struct.... -+ memset(&m_bmiScratch, 0, sizeof(HXBitmapInfo)); -+ int nResult = MakeBitmap( &m_bmiScratch, -+ sizeof(m_bmiScratch), -+ nCompositionSurfaceCID, -+ pSize->cx, -+ pSize->cy, -+ NULL, -+ 0); -+ if( nResult ) -+ { -+ m_pScratchBits = new UCHAR[m_bmiScratch.bmiHeader.biSizeImage]; -+ m_nScratchPitch = GetBitmapPitch(&m_bmiScratch); -+ } -+ -+ return nResult? HXR_OK : HXR_FAIL; -+} -+ -+HX_RESULT CExRootSurf::ScratchLock(UCHAR** pBits, INT32* pPitch) -+{ -+ *pBits = m_pScratchBits; -+ *pPitch = m_nScratchPitch; -+ return HXR_OK; -+} -+ -+HX_RESULT CExRootSurf::ScratchUnlock(UCHAR* pBits) -+{ -+ return HXR_OK; -+} -+ -+HX_RESULT CExRootSurf::_MinimalUnlock(HXxWindow* pWindow) -+{ -+// Window win = m_window; -+// HX_ASSERT(win); -+// HXxSize hxxSize; -+// m_pSite->GetSize(hxxSize); -+ -+// if (m_bUseShm) -+// { -+// XShmPutImage(m_pDisplay, -+// win, -+// m_GC, -+// m_pXImage, -+// 0, -+// 0, -+// 0, -+// 0, -+// hxxSize.cx, -+// hxxSize.cy, -+// False -+// ); -+// } -+// else -+// { -+// XPutImage(m_pDisplay, -+// win, -+// m_GC, -+// m_pXImage, -+// 0, -+// 0, -+// 0, -+// 0, -+// hxxSize.cx, -+// hxxSize.cy -+// ); -+// } -+ return HXR_OK; -+} -+ -+HX_RESULT CExRootSurf::_LockComposition(UCHAR** pBits, INT32* pPitch) -+{ -+ HX_RESULT retVal = HXR_OK; -+ if( !m_bCompositionSurfaceCreated || m_pCompositionSurface==NULL ) -+ { -+ retVal = _CreateCompositionSurface(); -+ } -+ HX_ASSERT( m_pCompositionSurface ); -+ *pBits = m_pCompositionSurface; -+ *pPitch = m_nCompositionPitch; -+ return HXR_OK; -+} -+ -+ -+void CExRootSurf::_BltFromScratchToComposition( HXxRect& rDestRect, HXxRect& rSrcRect) -+{ -+ HX_ASSERT( "Not implemented on unix yet...."==NULL ); -+} -+ -+HX_RESULT CExRootSurf::_CreateCompositionSurface() -+{ -+ HX_RESULT retVal = HXR_FAIL; -+ -+ if(m_bCompositionSurfaceCreated) -+ { -+ return HXR_OK; -+ } -+ -+ HX_ASSERT( !m_bCompositionSurfaceCreated ); -+ HX_ASSERT( m_pSite ); -+ -+ //Create a BMI to describe the composition surface -+ HXxSize hxxSize; -+ m_pSite->GetSize(hxxSize); -+ memcpy(&m_compositionSize, &hxxSize, sizeof(HXxSize)); /* Flawfinder: ignore */ -+ -+ // find out how big we want to allocate. -+ if (m_pSite->IsFullScreen()) -+ { -+ UINT16 unDummy=0; -+ UINT16 unHorzRes=0; -+ UINT16 unVertRes=0; -+ m_pSite->_GetDeviceCaps(NULL, unDummy, unHorzRes, unVertRes ); -+ m_allocatedCompositionSize.cx = unHorzRes; -+ m_allocatedCompositionSize.cy = unVertRes; -+ } -+ else -+ { -+ // we use root surface for BASIC_BLT and it assumes the offset(position) -+ // of the root site it cooresponding to is (0, 0). -+ // -+ // this is not true for "windowless" mode where the root site can be given -+ // an offset, as a result, we fail to blt the video. -+ // -+ // to fix this, we'll take the m_positionOrg into consideration when -+ // creating the composition surface, this may not be optimal but good enough -+ // for now. -+ // -+ // similar logic is also added for other platforms, we need to move this -+ // common code to the base class when we have chance to clean it up -+ if (m_compositionSize.cx && m_compositionSize.cy) -+ { -+ m_compositionSize.cx += m_pSite->m_positionOrig.x; -+ m_compositionSize.cy += m_pSite->m_positionOrig.y; -+ } -+ -+ m_allocatedCompositionSize.cx = m_compositionSize.cx; -+ m_allocatedCompositionSize.cy = m_compositionSize.cy; -+ } -+ -+ //XXXgfw uhhhh, OK. -+ if( m_compositionSize.cx > m_allocatedCompositionSize.cx || -+ m_compositionSize.cy > m_allocatedCompositionSize.cy ) -+ { -+ m_allocatedCompositionSize.cx = m_compositionSize.cx; -+ m_allocatedCompositionSize.cy = m_compositionSize.cy; -+ } -+ -+ //Make the bitmap header struct. -+ m_bmiComposition.bmiHeader.biBitCount = m_bmiSave.bmiHeader.biBitCount; -+ m_bmiComposition.bmiHeader.biCompression = m_bmiSave.bmiHeader.biCompression; -+ m_bmiComposition.un.dwBitMask[0] = m_bmiSave.un.dwBitMask[0]; -+ m_bmiComposition.un.dwBitMask[1] = m_bmiSave.un.dwBitMask[1]; -+ m_bmiComposition.un.dwBitMask[2] = m_bmiSave.un.dwBitMask[2]; -+ int nResult = MakeBitmap( &m_bmiComposition, -+ sizeof(m_bmiComposition), -+ m_nCompositionSurfaceCID, -+ m_allocatedCompositionSize.cx, -+ m_allocatedCompositionSize.cy, -+ NULL, -+ 0 -+ ); -+ m_bmiComposition.bmiHeader.biBitCount = m_bmiSave.bmiHeader.biBitCount; -+ m_bmiComposition.bmiHeader.biCompression = m_bmiSave.bmiHeader.biCompression; -+ m_bmiComposition.un.dwBitMask[0] = m_bmiSave.un.dwBitMask[0]; -+ m_bmiComposition.un.dwBitMask[1] = m_bmiSave.un.dwBitMask[1]; -+ m_bmiComposition.un.dwBitMask[2] = m_bmiSave.un.dwBitMask[2]; -+ -+ //Now create the bits.... -+ _ResizeVideoBuffer( m_bmiComposition.bmiHeader.biSizeImage ); -+ m_nCompositionPitch = GetBitmapPitch( &m_bmiComposition ); -+ -+ if( m_pXImage ) -+ { -+ XFree( m_pXImage ); -+ } -+ -+ if( m_bUseShm ) -+ { -+ XLockDisplay(m_pDisplay); -+ m_pXImage = XShmCreateImage( m_pDisplay, -+ m_pVisual, -+ m_unDepth, -+ ZPixmap, -+ (char*)m_pCompositionSurface, -+ &m_shmInfo, -+ m_allocatedCompositionSize.cx, -+ m_allocatedCompositionSize.cy -+ ); -+ XUnlockDisplay(m_pDisplay); -+ } -+ else -+ { -+ XLockDisplay(m_pDisplay); -+ m_pXImage = XCreateImage( m_pDisplay, -+ m_pVisual, -+ m_unDepth, -+ ZPixmap, -+ 0, -+ (char*)m_pCompositionSurface, -+ m_allocatedCompositionSize.cx, -+ m_allocatedCompositionSize.cy, -+ 32, -+ 0); -+ XUnlockDisplay(m_pDisplay); -+ } -+ -+ if( m_pXImage ) -+ { -+ m_bCompositionSurfaceCreated = TRUE; -+#ifdef _BIG_ENDIAN -+ m_pXImage->byte_order = MSBFirst; -+#else -+ m_pXImage->byte_order = LSBFirst; -+#endif -+ retVal = HXR_OK; -+ } -+ return retVal; -+} -+ -+void CExRootSurf::_MinimalBlt(HXxRect& destRect) -+{ -+ if (m_on_new_frame_cb) -+ { -+ PlayerImgInfo Info; -+ Info.Rect.left = destRect.left; -+ Info.Rect.right = destRect.right; -+ Info.Rect.top = destRect.top; -+ Info.Rect.bottom = destRect.bottom; -+ Info.cx = m_allocatedCompositionSize.cx; -+ Info.cy = m_allocatedCompositionSize.cy; -+ m_on_new_frame_cb(m_pCompositionSurface, -+ m_bmiComposition.bmiHeader.biSizeImage, -+ &Info, -+ m_context); -+ } -+} -+ -+HX_RESULT CExRootSurf::_DestroyCompositionSurface() -+{ -+ HX_RESULT retVal = HXR_OK; -+ if( m_bCompositionSurfaceCreated ) -+ { -+ if( m_pXImage ) -+ { -+ XFree(m_pXImage); -+ m_pXImage = NULL; -+ } -+ m_bCompositionSurfaceCreated = FALSE; -+ } -+ -+ return retVal; -+} -+ -+ -+ -+HX_RESULT CExRootSurf::BeginOptimizedBlt(HXBitmapInfoHeader* pBitmapInfo) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::BeginOptimizedBlt Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+HX_RESULT CExRootSurf::OptimizedBlt( UCHAR* pImageBits, -+ HXxRect& rDestRect, -+ HXxRect& rSrcRect) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::OptimizedBlt Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+HX_RESULT CExRootSurf::EndOptimizedBlt(void) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::EndOptimizedBlt Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+HX_RESULT CExRootSurf::GetOptimizedFormat(HX_COMPRESSION_TYPE& ulType) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::GetOptimizedFormat Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+HX_RESULT CExRootSurf::GetPreferredFormat(HX_COMPRESSION_TYPE& ulType) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::GetPreferredFormat Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+GC CExRootSurf::GetGC() -+{ -+ return m_GC; -+} -Index: helix-libs/clientapps/clutter/exroot.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exroot.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,155 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixroot.h,v 1.8 2007/07/06 20:54:05 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _UNIXROOT_H -+#define _UNIXROOT_H -+ -+#include "baseroot.h" -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#include -+#include -+#include -+#endif -+ -+#include "player.h" -+ -+class CExRootSurf : public CBaseRootSurface -+{ -+public: -+ CExRootSurf(IUnknown* pContext, CHXBaseSite* pSite, on_new_frame_cb_t on_new_frame_cb = NULL, void *context = NULL); -+ -+ //Helpers.... -+ HX_RESULT Init(); -+ GC GetGC(); -+ -+ //public inherited stuff -+ virtual HX_RESULT CreateScratchSurface(int nCompositionSurfaceCID, -+ HXxSize* pSize); -+ virtual HX_RESULT ScratchLock(UCHAR** pBits, INT32* pPitch); -+ virtual HX_RESULT ScratchUnlock(UCHAR* pBits); -+ -+ virtual HX_RESULT BeginOptimizedBlt(HXBitmapInfoHeader* pBitmapInfo); -+ virtual HX_RESULT OptimizedBlt( UCHAR* pImageBits, -+ HXxRect& rDestRect, -+ HXxRect& rSrcRect); -+ virtual HX_RESULT EndOptimizedBlt(void); -+ virtual HX_RESULT GetOptimizedFormat(HX_COMPRESSION_TYPE& ulType); -+ virtual HX_RESULT GetPreferredFormat(HX_COMPRESSION_TYPE& ulType); -+ -+ XImage* _GetCompositionSurfaceDrawable(); -+ -+ //Shared Memory helper func for the basesurf to use. -+// HX_RESULT _DetachSharedRegion(); -+// HX_RESULT _CreateSharedRegion(INT32 nSize); -+ -+protected: -+ -+ //Smartly handle resizing of shm buffer. -+ HX_RESULT _ResizeVideoBuffer(INT32 nSize); -+ -+ //Inherited from CBaseRootSurface.... -+ virtual void _BltFromScratchToComposition(HXxRect& rDestRect, -+ HXxRect& rSrcRect); -+ virtual HX_RESULT _DebugBlt( UCHAR* pImageData, -+ HXBitmapInfoHeader* pBitmapInfo, -+ HXxRect& rDestRect, -+ HXxRect& rSrcRect); -+ virtual void _GetYUVScratchWidthHeight(UINT32* pWidth, UINT32* pHeight); -+ virtual void _CreateYUVScratchSurface(UINT32 width, UINT32 height); -+ virtual void _GetYUVScratchSurfacePointer(UCHAR** pYUVBits, INT32* YUVPitch); -+ virtual HX_RESULT _MinimalUnlock(HXxWindow* pWindow); -+ virtual HX_RESULT _LockComposition(UCHAR** pBits, INT32* pPitch); -+ virtual HX_RESULT _CreateCompositionSurface(); -+ virtual HX_RESULT _DestroyCompositionSurface(); -+ virtual void _MinimalBlt(HXxRect& dest); -+ -+ -+private: -+ -+ virtual ~CExRootSurf(); -+ -+ //Protect unintentional copy and default ctors. -+ CExRootSurf(); -+ CExRootSurf( const CExRootSurf& ); -+ CExRootSurf& operator=( const CExRootSurf& it ); -+ -+ //Shared memory members. -+ HXBOOL m_bUseShm; -+ XShmSegmentInfo m_shmInfo; -+ int m_nShmId; -+ -+ //General display and GC stuff. -+ Display* m_pDisplay; -+ GC m_GC; -+ int m_nScreenNumber; -+ XImage* m_pXImage; -+ Window m_window; -+ Visual* m_pVisual; -+ unsigned int m_unDepth; -+ Screen* m_pScreen; -+ Colormap m_colormap; -+ int m_nBitsPerPixel; -+ -+ //Bitmap stuff. -+ UCHAR* m_pYUVScratchBits; -+ HXBitmapInfo m_bmiYUVScratch; -+ int m_nYUVScratchPitch; -+ UCHAR* m_pScratchBits; -+ HXBitmapInfo m_bmiScratch; -+ int m_nScratchPitch; -+ HXBitmapInfo m_bmiSave; -+ ULONG32 m_nCompositionSize; -+ on_new_frame_cb_t m_on_new_frame_cb; -+ void * m_context; -+}; -+ -+#endif -Index: helix-libs/clientapps/clutter/exsite.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exsite.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,2915 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixsite.cpp,v 1.18.2.6 2008/06/05 14:24:30 lovish Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * Phil Dibowitz -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _UNIX -+#error This is the UNIX platform specific implementation. -+#endif -+ -+// -+// System includes... -+// -+#include -+#include "hlxclib/string.h" -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#endif -+ -+ -+// -+// RMA includes... -+// -+#include "hxcom.h" -+#include "hxcore.h" -+#include "hxevent.h" -+#include "hxwintyp.h" -+#include "hxwin.h" -+#include "hxsite2.h" -+#include "hxtypes.h" -+#include "exsite.h" -+#include "unixcmap.h" -+#include "visuals.h" -+#include "region.h" -+#include "basesurf.h" -+#include "exroot.h" -+#include "hxthread.h" -+#include "hxtick.h" -+#include "sitetext.h" -+ -+#include "unixsurf.h" -+ -+#include "hxprefs.h" -+ -+// -+// Global & Static global/member data.... -+// -+Display *CHXExSite::zm_display = NULL; -+static CHXMapPtrToPtr z_mapSiteToWindow; -+ -+// -+// Scroll bar support -+// -+#define SCROLL_BAR_WIDTH 13 //Width of scroll bar. -+//#define _ARROWS_SIDE_BY_SIDE 1 //Regular or side by side arrows? -+ -+ -+ -+ -+// -+// CHXExSite only Methods... -+// -+CHXExSite::CHXExSite( IUnknown* pContext, IUnknown* pUnkOuter, INT32 lInitialZorder, on_new_frame_cb_t on_new_frame_cb, void *context) -+ : CHXBaseSite( pContext, pUnkOuter, lInitialZorder ) -+ , m_pUnixEventHandler(NULL) -+ , m_ScrollHorizButtonL(0) -+ , m_ScrollHorizButtonR(0) -+ , m_ScrollVertButtonT(0) -+ , m_ScrollVertButtonB(0) -+ , m_winFullScreenWindow(0) -+ , m_winOldParent(0) -+ , m_bScrollingInProgress(FALSE) -+ , m_nScrollDir(0) -+ , m_bLastPointInSite(FALSE) -+ , m_bDamaged(FALSE) -+ , m_bIgnoreFocusOutInFS(FALSE) -+ , m_bReparent(FALSE) -+ , m_on_new_frame_cb(on_new_frame_cb) -+ , m_context(context) -+#if defined(HELIX_CONFIG_MOBLIN) -+ , m_pAttachWindowCallback(NULL) -+ , m_pForceRedrawCallback(NULL) -+#endif -+{ -+ m_ptScrollVertPosT.x = m_ptScrollVertPosT.y = 0; -+ m_ptScrollVertPosB.x = m_ptScrollVertPosB.y = 0; -+ m_ptScrollHorizPosR.x = m_ptScrollHorizPosR.y = 0; -+ m_ptScrollHorizPosL.x = m_ptScrollHorizPosL.y = 0; -+ m_ptFullScreenOffset.x = m_ptFullScreenOffset.y = 0; -+ memset( &m_PreFullScreenSize, 0, sizeof( m_PreFullScreenSize ) ); -+ -+ HX_ASSERT( m_pContext ); -+ -+ /* Replace m_pVideoSurface with my own */ -+/* HX_RELEASE(m_pVideoSurface); -+ m_pVideoSurface = new CUnixSurf(m_pContext, this); -+ HX_ASSERT( m_pVideoSurface ); -+ m_pVideoSurface->InitSurface(m_pContext); -+ m_pVideoSurface->AddRef(); -+*/ -+ IHXPreferences* pPreferences = NULL; -+ if( m_pContext && HXR_OK == m_pContext->QueryInterface( IID_IHXPreferences, (void **) &pPreferences)) -+ { -+ IHXBuffer *pBuffer = NULL; -+ pPreferences->ReadPref("IgnoreFocusOutInFS", pBuffer); -+ if(pBuffer) -+ { -+ m_bIgnoreFocusOutInFS = (::atoi((const char*)pBuffer->GetBuffer()) == 1); -+ HX_RELEASE(pBuffer); -+ } -+ } -+} -+ -+CHXExSite::~CHXExSite() -+{ -+#if defined(HELIX_CONFIG_MOBLIN) -+ RemovePendingCallback(m_pAttachWindowCallback); -+ HX_RELEASE(m_pAttachWindowCallback); -+ -+ RemovePendingCallback(m_pForceRedrawCallback); -+ HX_RELEASE(m_pForceRedrawCallback); -+#endif -+ void* pDummy; -+ if (z_mapSiteToWindow.Lookup((void*)this, pDummy)) -+ { -+ z_mapSiteToWindow.RemoveKey((void*)this); -+ } -+ -+ if( m_pUnixEventHandler ) -+ { -+ m_pUnixEventHandler->CancelCallback(); -+ HX_RELEASE(m_pUnixEventHandler); -+ } -+} -+ -+HX_RESULT CHXExSite::_OpenXDisplay(char* pszDisplayString) -+{ -+ HX_RESULT retVal = HXR_OK; -+ -+ //Is the connection open already? -+ if( NULL==zm_display ) -+ { -+ zm_display = XOpenDisplay(pszDisplayString); -+ -+ //If you can't open the display your done. -+ if(NULL == zm_display ) -+ { -+ HX_ASSERT("Can't open X Display..."==NULL); -+ retVal = HXR_FAIL; -+ } -+ else -+ { -+ HX_ASSERT(m_pScheduler); -+ if( m_pScheduler ) -+ { -+ //UnixEventHandler scheduls itself for init callback -+ //in the ctor. -+ m_pUnixEventHandler = new UnixEventHandler(this); -+ m_pUnixEventHandler->AddRef(); -+ } -+ } -+ } -+ return retVal; -+} -+ -+Window CHXExSite::CreateXWindow( Window win ) -+{ -+ Window parentWindow; -+ HXxWindow* pWindow = NULL; -+ //If parentWin is NULL then we belong to the root window. -+ if( win ) -+ { -+ parentWindow = win; -+ } -+ else -+ { -+ HX_ASSERT(zm_display); -+ XLockDisplay(zm_display); -+ parentWindow = RootWindow(zm_display, DefaultScreen(zm_display)); -+ XUnlockDisplay(zm_display); -+ } -+ -+ //Find the best visual to use on this display. -+ Visual* visual = GetBestVisual(zm_display); -+ -+ //Get the visual info. -+ int nNotUsed=0; -+ XVisualInfo stVisInfo; -+ -+ memset(&stVisInfo, 0, sizeof(XVisualInfo)); -+ stVisInfo.visualid = XVisualIDFromVisual(visual); -+ XLockDisplay(zm_display); -+ XVisualInfo* pVisual = XGetVisualInfo( zm_display, -+ VisualIDMask, -+ &stVisInfo, -+ &nNotUsed ); -+ XUnlockDisplay(zm_display); -+ -+ // Set up attributes of the window. -+ int attrMask = CWBackPixel | CWBorderPixel; -+ XSetWindowAttributes attr; -+ -+ memset(&attr, 0, sizeof(XSetWindowAttributes)); -+ XLockDisplay(zm_display); -+ attr.background_pixel = BlackPixel(zm_display, DefaultScreen(zm_display)); -+ attr.border_pixel = BlackPixel(zm_display, DefaultScreen(zm_display)); -+ XUnlockDisplay(zm_display); -+ -+ //See if the default visaul of hte screen is the same one we Want -+ //to use. If not, create a new one and install it. -+ Colormap cmap; -+ XLockDisplay(zm_display); -+ Visual* defVisual = DefaultVisual(zm_display, DefaultScreen(zm_display)); -+ XUnlockDisplay(zm_display); -+ if( defVisual->visualid != stVisInfo.visualid ) -+ { -+ //XXXgfw Are we leaking this colormap???? -+ XLockDisplay(zm_display); -+ cmap = XCreateColormap(zm_display, parentWindow, visual, AllocNone); -+ XUnlockDisplay(zm_display); -+ attr.colormap = cmap; -+ attrMask |= CWColormap; -+ } -+ -+ // Set the size/position of the window before creating. -+ XSizeHints size_hints; -+ -+ size_hints.flags = PPosition | PSize; -+ size_hints.x = m_position.x; -+ size_hints.y = m_position.y; -+ size_hints.width = 1; -+ size_hints.height = 1; -+ -+ //Create it. -+ XLockDisplay(zm_display); -+ Window window = XCreateWindow(zm_display, -+ parentWindow, -+ size_hints.x, -+ size_hints.y, -+ size_hints.width, -+ size_hints.height, -+ 0, -+ pVisual->depth, -+ InputOutput, -+ visual, -+ attrMask, -+ &attr); -+ XUnlockDisplay(zm_display); -+ XFree(pVisual); -+ -+ //Tell the WM about this window. -+#if 0 -+ XSetStandardProperties( zm_display, -+ window, -+ "CHXExSite", -+ "CHXExSite", -+ None, -+ NULL, 0, -+ &size_hints -+ ); -+#endif -+ -+ //Select all input events on the window since the other platforms -+ //we work with have no concept of event masks -+ XLockDisplay(zm_display); -+#if 0 -+ int result = XSelectInput( zm_display, window, -+ ButtonPressMask | ButtonReleaseMask | KeyPressMask | -+ KeyReleaseMask | EnterWindowMask | LeaveWindowMask | -+ PointerMotionMask | ButtonMotionMask | KeymapStateMask | -+ ExposureMask | StructureNotifyMask | FocusChangeMask -+ ); -+#else -+ int result = XSelectInput( zm_display, window, 0 ); -+ -+ -+#endif -+ XUnlockDisplay(zm_display); -+ if( BadWindow == result ) -+ { -+#ifdef _DEBUG -+ fprintf( stderr, "Can select events.\n" ); -+#endif -+ } -+ -+ //Map the window. -+ XLockDisplay(zm_display); -+ /* XMapWindow(zm_display, window); */ -+ -+ //Flush event queue. -+ XFlush(zm_display); -+ XUnlockDisplay(zm_display); -+ -+ -+ return window; -+} -+ -+void CHXExSite::_MapHorzScroll() -+{ -+#if 0 -+ if( GetWindow() && GetWindow()->display && m_ScrollHorizButtonL) -+ { -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XMapWindow( pDis, m_ScrollHorizButtonL ); -+ XMapWindow( pDis, m_ScrollHorizButtonR ); -+ XUnlockDisplay(pDis); -+ } -+ _DrawArrows(); -+#endif -+} -+ -+void CHXExSite::_MapVertScroll() -+{ -+#if 0 -+ if( GetWindow() && GetWindow()->display && m_ScrollVertButtonT) -+ { -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XMapWindow( pDis, m_ScrollVertButtonT ); -+ XMapWindow( pDis, m_ScrollVertButtonB ); -+ XUnlockDisplay(pDis); -+ } -+ _DrawArrows(); -+#endif -+} -+ -+void CHXExSite::_MapScrollButtons() -+{ -+#if 0 -+ _MapHorzScroll(); -+ _MapVertScroll(); -+#endif -+} -+ -+void CHXExSite::_UnmapHorzScroll() -+{ -+#if 0 -+ HX_ASSERT( GetWindow() ); -+ if( m_ScrollHorizButtonL && GetWindow()->display ) -+ { -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XUnmapWindow( pDis, m_ScrollHorizButtonL ); -+ XUnmapWindow( pDis, m_ScrollHorizButtonR ); -+ XUnlockDisplay(pDis); -+ } -+#endif -+} -+void CHXExSite::_UnmapVertScroll() -+{ -+#if 0 -+ HX_ASSERT( GetWindow() ); -+ if( m_ScrollVertButtonT && GetWindow()->display ) -+ { -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XUnmapWindow( pDis, m_ScrollVertButtonT ); -+ XUnmapWindow( pDis, m_ScrollVertButtonB ); -+ XUnlockDisplay(pDis); -+ } -+#endif -+} -+ -+void CHXExSite::_UnmapScrollButtons() -+{ -+#if 0 -+ if( GetWindow() ) -+ { -+ _UnmapVertScroll(); -+ _UnmapHorzScroll(); -+ } -+#endif -+} -+ -+void CHXExSite::_DestroyScrollButtons() -+{ -+ HXxWindow* pWin = GetWindow(); -+ Display* pDis = (Display*)(pWin?pWin->display:NULL); -+ -+ if( m_ScrollHorizButtonL && pDis ) -+ { -+ XLockDisplay(pDis); -+ XDestroyWindow( pDis, m_ScrollHorizButtonL ); -+ m_ScrollHorizButtonL = 0; -+ XDestroyWindow( pDis, m_ScrollHorizButtonR ); -+ XUnlockDisplay(pDis); -+ m_ScrollHorizButtonR = 0; -+ } -+ -+ if( m_ScrollVertButtonT && pDis) -+ { -+ XLockDisplay(pDis); -+ XDestroyWindow( pDis, m_ScrollVertButtonT ); -+ m_ScrollVertButtonT = 0; -+ XDestroyWindow( pDis, m_ScrollVertButtonB ); -+ XUnlockDisplay(pDis); -+ m_ScrollVertButtonB = 0; -+ } -+ m_ptScrollVertPosT.x = m_ptScrollVertPosT.y = 0; -+ m_ptScrollVertPosB.x = m_ptScrollVertPosB.y = 0; -+ m_ptScrollHorizPosR.x = m_ptScrollHorizPosR.y = 0; -+ m_ptScrollHorizPosL.x = m_ptScrollHorizPosL.y = 0; -+} -+ -+void CHXExSite::_DrawArrows() -+{ -+#if 0 //Paul Debug -+ //only do the work if our site is visible. -+ if( !IsSiteVisible() ) -+ return; -+ -+ //Draw an arrow on this window. -+ XPoint points[4]; -+ int offset = SCROLL_BAR_WIDTH/10; -+ GC tmpGC; -+ XGCValues values; -+ Display* dis = (Display*)GetWindow()->display; -+ -+ if( m_ScrollVertButtonB ) -+ { -+ XLockDisplay(dis); -+ tmpGC = XCreateGC( dis, m_ScrollVertButtonB, 0, &values ); -+ XUnlockDisplay(dis); -+ } -+ else if( m_ScrollHorizButtonL ) -+ { -+ XLockDisplay(dis); -+ tmpGC = XCreateGC( dis, m_ScrollHorizButtonL, 0, &values ); -+ XUnlockDisplay(dis); -+ } -+ else -+ { -+ //We don't have any scroll bars to draw.... -+ return; -+ } -+ -+ -+ XLockDisplay(dis); -+ XSetForeground( dis, tmpGC, WhitePixel(dis, 0 )); -+ XSetBackground( dis, tmpGC, BlackPixel(dis, 0 )); -+ XUnlockDisplay(dis); -+ Colormap cmap = HXGetXColormap((Display*)GetWindow()->display, -+ (Window)GetWindow()->window); -+ XColor color; -+ -+ memset(&color, 0, sizeof(XColor)); -+ XLockDisplay(dis); -+ XParseColor(dis, cmap, "blue", &color); -+ XUnlockDisplay(dis); -+ HXFindBestXColor(dis, cmap, &color); -+ XLockDisplay(dis); -+ XSetForeground( dis, tmpGC, color.pixel); -+ XSetLineAttributes(dis, tmpGC, 1, LineSolid, CapRound, JoinRound ); -+ XUnlockDisplay(dis); -+ -+ -+ //Draw up Vertical arrow. -+ if( m_ScrollVertButtonT ) -+ { -+ points[0].x = offset; -+ points[0].y = SCROLL_BAR_WIDTH-offset; -+ points[1].x = SCROLL_BAR_WIDTH/2; -+ points[1].y = offset; -+ points[2].x = SCROLL_BAR_WIDTH-offset; -+ points[2].y = SCROLL_BAR_WIDTH-offset; -+ points[3].x = points[0].x; -+ points[3].y = points[0].y; -+ XLockDisplay(dis); -+ XFillPolygon( dis, m_ScrollVertButtonT, tmpGC, points, 4, Convex, CoordModeOrigin); -+ XUnlockDisplay(dis); -+ } -+ -+ //Draw down Vertical arrow. -+ if( m_ScrollVertButtonB ) -+ { -+ points[0].x = offset; -+ points[0].y = offset; -+ points[1].x = SCROLL_BAR_WIDTH-offset; -+ points[1].y = offset; -+ points[2].x = SCROLL_BAR_WIDTH/2; -+ points[2].y = SCROLL_BAR_WIDTH-offset; -+ points[3].x = points[0].x; -+ points[3].y = points[0].y; -+ XLockDisplay(dis); -+ XFillPolygon( dis, m_ScrollVertButtonB, tmpGC, points, 4, Convex, CoordModeOrigin); -+ XUnlockDisplay(dis); -+ } -+ -+ //Draw Left Horizontal arrow. -+ if( m_ScrollHorizButtonL ) -+ { -+ points[0].x = SCROLL_BAR_WIDTH-offset; -+ points[0].y = offset; -+ points[1].x = SCROLL_BAR_WIDTH-offset; -+ points[1].y = SCROLL_BAR_WIDTH-offset; -+ points[2].x = offset; -+ points[2].y = SCROLL_BAR_WIDTH/2; -+ points[3].x = points[0].x; -+ points[3].y = points[0].y; -+ XLockDisplay(dis); -+ XFillPolygon( dis, m_ScrollHorizButtonL, tmpGC, points, 4, Convex, CoordModeOrigin); -+ XUnlockDisplay(dis); -+ } -+ -+ //Draw Right Horizontal arrow. -+ if( m_ScrollHorizButtonR ) -+ { -+ points[0].x = offset; -+ points[0].y = SCROLL_BAR_WIDTH-offset; -+ points[1].x = offset; -+ points[1].y = offset; -+ points[2].x = SCROLL_BAR_WIDTH-offset; -+ points[2].y = SCROLL_BAR_WIDTH/2; -+ points[3].x = points[0].x; -+ points[3].y = points[0].y; -+ XLockDisplay(dis); -+ XFillPolygon( dis, m_ScrollHorizButtonR, tmpGC, points, 4, Convex, CoordModeOrigin); -+ XUnlockDisplay(dis); -+ } -+ -+ //Free the GC and go. -+ XLockDisplay(dis); -+ XFreeGC( dis, tmpGC ); -+ XUnlockDisplay(dis); -+#endif -+} -+ -+HXBOOL CHXExSite::_InButton( HXxPoint& pt, int x, int y ) -+{ -+ HXBOOL retVal =FALSE; -+ if( x>= pt.x && x< pt.x+SCROLL_BAR_WIDTH && y>=pt.y && yGetWindow(); -+ } -+ if(pParentWindow) -+ { -+ GetParentSite()->GetSize(mySize); -+ } -+ -+ HX_ASSERT( pParentWindow ); -+ HX_ASSERT( pParentWindow->window != 0 ); -+ -+ if( m_ScrollVertButtonB ) -+ { -+ // if the other bar already exists, don't overlap it! -+ mySize.cx -= SCROLL_BAR_WIDTH; -+ } -+ -+ m_ptScrollHorizPosL.x = m_topleft.x; -+ m_ptScrollHorizPosL.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH; -+ -+#ifndef _ARROWS_SIDE_BY_SIDE -+ m_ptScrollHorizPosR.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH; -+#else -+ m_ptScrollHorizPosR.x = m_topleft.x+SCROLL_BAR_WIDTH; -+#endif -+ m_ptScrollHorizPosR.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH; -+ -+ Display* dis = (Display*)GetWindow()->display; -+ XLockDisplay(dis); -+ Pixel blackPixel = BlackPixel( dis, DefaultScreen(dis) ); -+ XUnlockDisplay(dis); -+ Pixel greyPixel = blackPixel; -+ -+ Colormap cmap = HXGetXColormap(dis, (Window)GetWindow()->window); -+ XColor color; -+ -+ XLockDisplay(dis); -+ XParseColor(dis, cmap, "gray", &color); -+ XUnlockDisplay(dis); -+ HXFindBestXColor(dis, cmap, &color); -+ greyPixel = color.pixel; -+ -+ XLockDisplay(dis); -+ m_ScrollHorizButtonL = XCreateSimpleWindow( dis, -+ (Window)pParentWindow->window, -+ m_ptScrollHorizPosL.x, m_ptScrollHorizPosL.y, -+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH, -+ 1, -+ blackPixel, -+ greyPixel -+ ); -+ m_ScrollHorizButtonR = XCreateSimpleWindow( dis, -+ (Window)pParentWindow->window, -+ m_ptScrollHorizPosR.x, m_ptScrollHorizPosR.y, -+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH, -+ 1, -+ blackPixel, -+ greyPixel -+ ); -+ XUnlockDisplay(dis); -+ HX_ASSERT( m_ScrollHorizButtonR && m_ScrollHorizButtonL ); -+ -+} -+ -+void CHXExSite::_CreateVertScrollBar() -+{ -+ HX_ASSERT( m_ScrollVertButtonB == 0 ); -+ HX_ASSERT( m_ScrollVertButtonT == 0 ); -+ -+ HXxSize mySize; -+ -+ HXxWindow* pParentWindow = NULL; -+ if(GetParentSite()) -+ { -+ pParentWindow = GetParentSite()->GetWindow(); -+ } -+ if(pParentWindow) -+ { -+ GetParentSite()->GetSize(mySize); -+ } -+ -+ HX_ASSERT( pParentWindow ); -+ HX_ASSERT( pParentWindow->window != 0 ); -+ -+ if( m_ScrollHorizButtonR ) -+ { -+ // if the other bar already exists, don't overlap it! -+ mySize.cy -= SCROLL_BAR_WIDTH; -+ } -+ -+ -+ m_ptScrollVertPosT.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH; -+ m_ptScrollVertPosT.y = m_topleft.y; -+ -+ m_ptScrollVertPosB.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH; -+#ifndef _ARROWS_SIDE_BY_SIDE -+ m_ptScrollVertPosB.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH; -+#else -+ m_ptScrollVertPosB.y = m_topleft.y+SCROLL_BAR_WIDTH; -+#endif -+ -+ Display* dis = (Display*)GetWindow()->display; -+ XLockDisplay(dis); -+ Pixel blackPixel = BlackPixel( dis, DefaultScreen(dis) ); -+ XUnlockDisplay(dis); -+ Pixel greyPixel = blackPixel; -+ Colormap cmap = HXGetXColormap((Display*)GetWindow()->display, -+ (Window)GetWindow()->window); -+ XColor color; -+ XLockDisplay(dis); -+ XParseColor(dis, cmap, "gray", &color); -+ XUnlockDisplay(dis); -+ HXFindBestXColor(dis, cmap, &color); -+ greyPixel = color.pixel; -+ -+ HX_ASSERT( GetWindow() ); -+ XLockDisplay(dis); -+ m_ScrollVertButtonT = XCreateSimpleWindow( dis, -+ (Window)pParentWindow->window, -+ m_ptScrollVertPosT.x, m_ptScrollVertPosT.y, -+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH, -+ 1, -+ blackPixel, -+ greyPixel -+ ); -+ m_ScrollVertButtonB = XCreateSimpleWindow( dis, -+ (Window)pParentWindow->window, -+ m_ptScrollVertPosB.x, m_ptScrollVertPosB.y, -+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH, -+ 1, -+ blackPixel, -+ greyPixel -+ ); -+ XUnlockDisplay(dis); -+ -+ HX_ASSERT( m_ScrollVertButtonB && m_ScrollVertButtonT ); -+ -+} -+ -+// -+// Inherited CHXBaseSite methods. -+// -+void CHXExSite::_NeedWindowedSite() -+{ -+#ifdef _DEBUG -+ fprintf( stderr, "CHXExSite::_NeedWindowedSite do something here....\n" ); -+#endif -+ //Nothing to do on unix.... -+} -+ -+void CHXExSite::_AttachWindow() -+{ -+#if 1 -+ void* pDummy=NULL; -+ -+ if (m_pRootSurface) -+ { /* Replace CUnixRootSurf with my own CExRootSurf */ -+ HX_RELEASE(m_pRootSurface); -+ m_pRootSurface = new CExRootSurf(m_pContext, this, m_on_new_frame_cb, m_context); -+ m_pRootSurface->AddRef(); -+ } -+ -+ if(!z_mapSiteToWindow.Lookup((void*)this, pDummy)) -+ { -+ z_mapSiteToWindow.SetAt((void*)this, (void*)m_pWindow); -+ } -+ -+ //Set the display variable. -+ if( m_pWindow->display == NULL ) -+ { -+ HX_ASSERT(zm_display); -+ m_pWindow->display = zm_display; -+ } -+ -+ //Now that we have a window be sure to init the CExRootSurf. -+ //this lets it set up the display, colormap, etc. -+ ((CExRootSurf*)m_pRootSurface)->Init(); -+#endif -+} -+ -+void CHXExSite::_DetachWindow() -+{ -+#if 1 -+ void* pDummy; -+ -+ if (z_mapSiteToWindow.Lookup((void*)this, pDummy)) -+ { -+ z_mapSiteToWindow.RemoveKey((void*)this); -+ } -+#endif -+} -+ -+void* CHXExSite::_Create(void* pParentWindow, UINT32 style) -+{ -+ HRESULT result = HXR_OK; -+ if( m_pWindow && m_pWindow->window ) -+ { -+ HX_ASSERT( "We already have created a window"==NULL); -+ return NULL; -+ } -+ -+ if (pParentWindow==NULL || style) -+ { -+ m_bIsChildWindow = FALSE; -+ } -+ else -+ { -+ m_bIsChildWindow = TRUE; -+ } -+ -+ if( _OpenXDisplay(NULL) != HXR_OK ) -+ { -+ return NULL; -+ } -+ return (void*)CreateXWindow((Window)pParentWindow); -+} -+ -+ -+void CHXExSite::_Destroy(HXxWindow* pWindow) -+{ -+ _DestroySliders(); -+ HXxWindow* pWin = GetWindow(); -+ Display* pDis = (Display*)(pWin?pWin->display:NULL); -+ if( pDis ) -+ { -+ XLockDisplay(pDis); -+ XDestroyWindow( pDis, (Window)pWindow->window ); -+ XUnlockDisplay(pDis); -+ } -+} -+ -+void CHXExSite::_SetSize(HXxSize size) -+{ -+ HX_ASSERT( m_pWindow && m_pWindow->display && m_pWindow->window); -+ //The scroll bars get resized also... -+ _DestroySliders(); -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XResizeWindow(pDis, -+ (Window) m_pWindow->window, -+ size.cx, -+ size.cy); -+ XUnlockDisplay(pDis); -+} -+ -+void CHXExSite::_SetPosition(HXxPoint position) -+{ -+ HX_ASSERT( m_pWindow && m_pWindow->display && m_pWindow->window); -+ _DestroyScrollButtons(); -+ XLockDisplay((Display*) m_pWindow->display); -+ XMoveWindow((Display*)m_pWindow->display, -+ (Window)m_pWindow->window, -+ position.x, -+ position.y); -+ XUnlockDisplay((Display*) m_pWindow->display); -+} -+ -+void CHXExSite::_DamageRect(HXxRect rect) -+{ -+ if(GetWindow()) -+ { -+ m_bDamaged = TRUE; -+ } -+ return; -+} -+ -+void CHXExSite::_DamageRegion(HXxRegion rect) -+{ -+ if(GetWindow()) -+ { -+ m_bDamaged = TRUE; -+ } -+ return; -+} -+ -+void CHXExSite::_SendOSUpdateMessage() -+{ -+ //We need to redraw our window here, m_pWindow. -+} -+ -+void CHXExSite::_ShowSite(HXBOOL bShow) -+{ -+ if( bShow ) -+ { -+ _MapScrollButtons(); -+ } -+ else -+ { -+ _UnmapScrollButtons(); -+ } -+ //do nothing.... -+} -+ -+HXBOOL CHXExSite::_AtSystemTime() -+{ -+ return TRUE; -+} -+ -+void CHXExSite::_GetDeviceCaps( void* hdc, -+ UINT16& uBitsPerPixel, -+ UINT16& uHorzRes, -+ UINT16& uVertRes ) -+{ -+ Screen* pScreen = NULL; -+ HXxWindow* pWin = GetWindow(); -+ HX_ASSERT( pWin ); -+ if( pWin ) -+ { -+ Display* dis = (Display*)pWin->display; -+ HX_ASSERT( dis ); -+ if( dis ) -+ { -+ Display* pDisp = (Display*)GetWindow()->display; -+ XLockDisplay(pDisp); -+ pScreen = DefaultScreenOfDisplay(pDisp); -+ XUnlockDisplay(pDisp); -+ -+ uBitsPerPixel = pScreen->root_depth; -+ uHorzRes = pScreen->width; -+ uVertRes = pScreen->height; -+ } -+ } -+} -+ -+void CHXExSite::_GetWindowRect(HXxRect* destRect) -+{ -+ HX_ASSERT( "Doesn't seem to be used anywhere"==NULL ); -+} -+ -+void CHXExSite::_DestroySliders() -+{ -+ _DestroyScrollButtons(); -+} -+ -+void CHXExSite::_ForwardUpdateEvent(HXxEvent* pEvent) -+{ -+ GC gc = NULL; -+ AddRef(); -+ -+ HX_ASSERT(GetWindow()->window); -+ HX_ASSERT(m_pUser); -+ if(m_bIsChildWindow) -+ { -+ //Create a clip region that excludes our higher z-order -+ //siblings and is clipped to our parent. -+ if( !m_bRegionIsValid ) -+ { -+ RecomputeClip(); -+ } -+ -+ // The problem is that regions are locked to the origin so we -+ // will need to reverse shift the region before we set the -+ // origin of the graph port! get the GC from the video surface -+ gc = ((CExRootSurf*)m_pRootSurface)->GetGC(); -+ HX_ASSERT( gc ); -+ -+ //Actually setup our clip region -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XSetRegion( pDis, gc, (Region) m_Region ); -+ XUnlockDisplay(pDis); -+ } -+ -+ XEvent* pXEvent = (XEvent*) pEvent->param2; -+ XExposeEvent* exposeEvent = (XExposeEvent*) pXEvent; -+ -+ // get the rect for this site with respect to our parent -+ HXRECTANGLE exposedRect = { exposeEvent->x, -+ exposeEvent->y, -+ exposeEvent->width, -+ exposeEvent->height }; -+ HXREGION* exposedRegion = HXCreateRegion(); -+ HXUnionRectWithRegion(&exposedRect, exposedRegion, exposedRegion); -+ -+ // does the site intersect the current clipping region? -+ HXREGION* resultRegion = HXCreateRegion(); -+ HXIntersectRegion(exposedRegion, m_Region, resultRegion); -+ HXBOOL bSiteIntersectsExposed = (HXEmptyRegion(resultRegion)==FALSE); -+ -+ HXDestroyRegion(resultRegion); -+ HXDestroyRegion(exposedRegion); -+ -+ // if the exposed region intersects the sites clipping region -+ if(bSiteIntersectsExposed) -+ { -+ m_pUser->HandleEvent(pEvent); -+ } -+ -+ //If the user doesn't handle the standard update event then send -+ //them the cross platform HX_SURFACE_UPDATE event don't damage the -+ //original event structure -+ if(!pEvent->handled && m_pUser ) -+ { -+ HX_ASSERT(GetWindow()); -+ HXxEvent event; -+ event.event = HX_SURFACE_UPDATE; -+ event.window = GetWindow()->window; -+ event.param1 = m_pVideoSurface; -+ event.param2 = GetWindow(); -+ event.result = 0; -+ event.handled = FALSE; -+ m_pUser->HandleEvent(&event); -+ pEvent->handled = event.handled; -+ } -+ -+ -+ //reset the gc to use no region -+ if(m_bIsChildWindow && gc) -+ { -+ Display* pDisp = (Display*)GetWindow()->display; -+ XLockDisplay(pDisp); -+ XSetClipMask(pDisp, gc, None); -+ XUnlockDisplay(pDisp); -+ } -+ -+ //Handle the drawing of our arrows... -+ _DrawArrows(); -+ -+ //Now do all our children.... -+ CHXMapPtrToPtr::Iterator i = m_ChildrenMap.Begin(); -+ for(;i!=m_ChildrenMap.End();++i) -+ { -+ CHXExSite* pSite = (CHXExSite*) *i; -+ pSite->_ForwardUpdateEvent(pEvent); -+ } -+ -+ Release(); -+} -+ -+UINT32 CHXExSite::_MapKeySymToHXVK(KeySym sym, UINT32& uFlags ) -+{ -+ //XXXgfw if we add the extended flag in the HX_KEYBOARD event -+ //structure then we can modify the flags here to show that these -+ //keys are 'extended' in the windows sense. -+ UINT32 ulRet = 0; -+ switch( sym ) -+ { -+ case XK_Shift_R: -+ ulRet = XK_Shift_L; -+ break; -+ case XK_Alt_R: -+ ulRet = XK_Alt_L; -+ break; -+ case XK_KP_Home: -+ ulRet = XK_Home; -+ break; -+ case XK_KP_Next: -+ ulRet = XK_Next; -+ break; -+ case XK_KP_Prior: -+ ulRet = XK_Prior; -+ break; -+ case XK_KP_Enter: -+ ulRet = XK_Return; -+ break; -+ case XK_KP_End: -+ ulRet = XK_End; -+ break; -+ case XK_KP_Begin: -+ ulRet = XK_Begin; -+ break; -+ case XK_KP_Left: -+ ulRet = XK_Left; -+ break; -+ case XK_KP_Up: -+ ulRet = XK_Up; -+ break; -+ case XK_Control_R: -+ ulRet = XK_Control_L; -+ break; -+ case XK_KP_Right: -+ ulRet = XK_Right; -+ break; -+ case XK_KP_Down: -+ ulRet = XK_Down; -+ break; -+ case XK_KP_Insert: -+ ulRet = XK_Insert; -+ break; -+ case XK_KP_Delete: -+ ulRet = XK_Delete; -+ break; -+ default: -+ ulRet = sym; -+ break; -+ } -+ if( ulRet != sym ) -+ { -+ //We have mapped a key from Right hand side, keypad, arrows -+ //or other parts of an extended keyboard. Set the flag. -+ uFlags |= HX_EXTENDED_KEY_MASK; -+ } -+ return ulRet; -+} -+ -+ -+HXBOOL CHXExSite::_ConvertToHXEvent(HXxEvent* pEvent ) -+{ -+ // get original events info from pEvent -+ XEvent* pXEvent = (XEvent*) pEvent->param2; -+ XButtonEvent* buttonEvent = (XButtonEvent*) pXEvent; -+ -+ -+ //=============================================================== -+ // Convert all other event to RMA generic events and pass back. -+ //=============================================================== -+ if( ((pEvent->event == ButtonPress) || -+ (pEvent->event == ButtonRelease) || -+ (pEvent->event == MotionNotify ) || -+ (pEvent->event == EnterNotify) || -+ (pEvent->event == FocusIn) || -+ (pEvent->event == FocusOut) || -+ (pEvent->event == KeyPress) || -+ (pEvent->event == KeyRelease) || -+ (pEvent->event == LeaveNotify)) -+ ) -+ { -+ // set modifier flags for all events.... -+ UINT32 flags = 0; -+ -+ // create new HXxEvent -+ HXxEvent theEvent; -+ -+ //XXXgfw ouch.... -+ static HXxPoint realPt = {0,0}; -+ -+ //Init certain members. -+ memset(&theEvent, 0, sizeof(HXxEvent)); -+ theEvent.window = pEvent->window; -+ theEvent.handled = FALSE; -+ -+ // -+ // NOTE: -+ // -+ // theEvent must be filled in by *ALL* event types. -+ // theEvent will be memcopied into the pEvent passed -+ // back to the basesite at the end of the method. -+ // -+ -+ //================================================== -+ // LEAVE NOTIFY EVENT -+ //================================================== -+ if( pEvent->event==LeaveNotify) -+ { -+ if( m_pTopLevelSite->m_pMouseInSite ) -+ { -+ HXxPoint oobPoint; -+ oobPoint.x = -1; -+ oobPoint.y = -1; -+ HXxEvent Outevent = { HX_MOUSE_LEAVE, -+ m_pWindow->window, -+ (void*)&oobPoint, -+ 0, 0, -+ FALSE }; -+ m_pTopLevelSite->m_pMouseInSite->EventOccurred(&Outevent); -+ m_pTopLevelSite->m_pMouseInSite = NULL; -+ } -+ pEvent->handled=TRUE; -+ return TRUE; -+ } -+ -+ //================================================== -+ // ENTER NOTIFY EVENT -+ //================================================== -+ if( pEvent->event==EnterNotify) -+ { -+ pEvent->handled=TRUE; -+ return TRUE; -+ } -+ -+ //================================================== -+ // KEY PRESS/RELEASE EVENT -+ //================================================== -+ if ( pEvent->event == KeyPress || pEvent->event==KeyRelease ) -+ { -+ XKeyEvent* pKeyEvent = (XKeyEvent*)pEvent->param2; -+ -+ // -+ //Set the event type -+ // -+ theEvent.event = pEvent->event==KeyPress?HX_KEY_DOWN:HX_KEY_UP; -+ -+ // -+ // Fill in the scan/key code. -+ // -+ flags = pKeyEvent->keycode; -+ flags &= 0x000000ff; //the scan code only gets bits 0-7 -+ -+ // -+ // build key modifier list... -+ // -+ if( pKeyEvent->state & ShiftMask ) -+ flags |= HX_SHIFT_MASK; -+ -+ if( pKeyEvent->state & ControlMask ) -+ flags |= HX_CTRL_MASK; -+ -+ if( pKeyEvent->state & LockMask ) -+ flags |= HX_CAPS_LOCK_MASK; -+ -+ if( pKeyEvent->state & Mod1Mask) -+ flags |= HX_ALT_MASK; -+ -+ if( pKeyEvent->state & Mod2Mask) -+ flags |= HX_NUM_LOCK_MASK; -+ -+ if( pKeyEvent->state & Mod5Mask) -+ flags |= HX_SCROLL_LOCK_MASK; -+ -+ // -+ //Store the char pressed. -+ // -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ //Save the state of the keys... -+ unsigned int unSave = pKeyEvent->state; -+ pKeyEvent->state=0; -+ -+ //Lookup the key without any state. -+ nNum = XLookupString( pKeyEvent, szBuf, 10, &sym, NULL ); -+ if( nNum > 0 ) -+ { -+ theEvent.param1 = (void*)*szBuf; -+ } -+ else -+ { -+ theEvent.param1 = (void*)_MapKeySymToHXVK(sym, flags); -+ flags |= HX_VIRTUAL_KEY_MASK; -+ } -+ //restore the state of the event -+ pKeyEvent->state = unSave; -+ -+ //Set the flags... -+ theEvent.param2 = (void*)flags; -+ -+ //Check for HX_CHAR needed or not. -+ if( theEvent.event == HX_KEY_DOWN ) -+ { -+ //We have to send an extra HX_CHAR event -+ HXxEvent extraEvent; -+ memcpy( &extraEvent, &theEvent, sizeof( extraEvent ) ); /* Flawfinder: ignore */ -+ -+ //Change the type. -+ extraEvent.event = HX_CHAR; -+ -+ // -+ //Change the keycode to an translated ascii char. -+ // -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ nNum = XLookupString( pKeyEvent, szBuf, 10, &sym, NULL ); -+ -+ if( nNum > 0 ) -+ { -+ extraEvent.param1 = (void*)*szBuf; -+ } -+ else -+ { -+ extraEvent.param1 = (void*)_MapKeySymToHXVK(sym, flags); -+ flags |= HX_VIRTUAL_KEY_MASK; -+ } -+ extraEvent.param2 = (void*)flags; -+ -+ // -+ // Now send the extra event.... -+ // -+ CHXBaseSite::EventOccurred(&extraEvent); -+ } -+ } -+ -+ //================================================== -+ // FOCUS OUT EVENT -+ //================================================== -+ if ( pEvent->event == FocusOut ) -+ { -+ theEvent.event = HX_LOSE_FOCUS; -+ } -+ -+ if ( pEvent->event == FocusIn ) -+ { -+ theEvent.event = HX_SET_FOCUS; -+ } -+ -+ //================================================== -+ // MOUSE MOVE EVENT -+ //================================================== -+ if( pEvent->event == MotionNotify ) -+ { -+ XMotionEvent* pp = (XMotionEvent*)pEvent->param2; -+ theEvent.event = HX_MOUSE_MOVE; -+ -+ if( pp->state&Button1Mask ) -+ flags |= HX_PRIMARY_BUTTON; -+ -+ if( pp->state&Button2Mask ) -+ flags |= HX_CONTEXT_BUTTON; -+ -+ if( pp->state&Button3Mask ) -+ flags |= HX_THIRD_BUTTON; -+ -+ if(pp->state & ShiftMask) -+ flags |= HX_SHIFT_KEY; -+ -+ if(pp->state & ControlMask) -+ flags |= HX_CTRL_KEY; -+ -+ if(pp->state & Mod1Mask) -+ flags |= HX_ALT_COMMAND_KEY; -+ -+ theEvent.param2 = (void*) flags; -+ -+ //Grab the X and Y. -+ theEvent.param1 = (void*) &realPt; -+ realPt.x = pp->x; -+ realPt.y = pp->y; -+ } -+ -+ //================================================== -+ // BUTTON PRESS/RELEASE EVENT -+ //================================================== -+ if((pEvent->event == ButtonPress) || (pEvent->event == ButtonRelease)) -+ { -+ // remap event -+ if (pEvent->event == ButtonPress) -+ { -+ if (buttonEvent->button == Button3) -+ theEvent.event = HX_CONTEXT_BUTTON_DOWN; -+ else -+ theEvent.event = HX_PRIMARY_BUTTON_DOWN; -+ } -+ else if (pEvent->event == ButtonRelease) -+ { -+ if (buttonEvent->button == Button3) -+ theEvent.event = HX_CONTEXT_BUTTON_UP; -+ else -+ theEvent.event = HX_PRIMARY_BUTTON_UP; -+ } -+ -+ if(buttonEvent->state & ShiftMask) -+ flags |= HX_SHIFT_KEY; -+ -+ if(buttonEvent->state & ControlMask) -+ flags |= HX_CTRL_KEY; -+ -+ theEvent.param2 = (void*) flags; -+ -+ //Grab the X and Y. -+ theEvent.param1 = (void*) &realPt; -+ realPt.x = buttonEvent->x; -+ realPt.y = buttonEvent->y; -+ } -+ -+ //Copy the new event back into the passed in one for -+ //all events that fall through here... -+ memcpy( pEvent, &theEvent, sizeof(HXxEvent) ); /* Flawfinder: ignore */ -+ -+#if defined(_DEBUG) -+ //If the users presses control-primary button -+ //dump info on all sites. If shift-context, then -+ //just this site. -+ if( (buttonEvent->state&ControlMask)&& -+ (theEvent.event==HX_PRIMARY_BUTTON_DOWN)) -+ { -+ DisplayAllSiteData(); -+ } -+ if( (buttonEvent->state&ShiftMask)&& -+ (theEvent.event==HX_PRIMARY_BUTTON_DOWN)) -+ { -+ DisplaySiteData(""); -+ } -+#endif -+ } -+ return pEvent->handled; -+} -+ -+ -+void CHXExSite::CheckColorSettings() -+{ -+#if !defined(HELIX_FEATURE_HARDWARE_COLOR_CONTROLS) -+ CHXBaseSite::CheckColorSettings(); -+#else -+ CUnixSurf* pSurf = (CUnixSurf*)m_pVideoSurface; -+ if( !pSurf->HasHWColorConrols() ) -+ { -+ CHXBaseSite::CheckColorSettings(); -+ } -+ else -+ { -+ pSurf->SetHWColorControls(); -+ -+ //We do all color stuff except sharpmess in hardware. -+ float fCurrentSharpness; -+ INT16 bInterpolate; -+ zm_pColorAcc->GetSharpnessAdjustments(&fCurrentSharpness, &bInterpolate); -+ -+ if (fCurrentSharpness != m_fSharpness) -+ { -+ zm_pColorAcc->SetSharpnessAdjustments(m_fSharpness, FALSE); -+ } -+ } -+#endif -+} -+ -+// -+// OK, here it is. Take care of any OS specific duties, like scrollbar -+// stuff and expose events. Then, if the event isn't handled, convert -+// to an RMA event and return. -+HXBOOL CHXExSite::_HandleOSEvents(HXxEvent* pEvent) -+{ -+ HXxPoint position = {0, 0}; -+ HXxPoint point; -+ -+ if( NULL==pEvent ) -+ { -+ return FALSE; -+ } -+ -+ return TRUE; -+ -+#if defined(_DEBUG) && 0 -+// fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser ); -+ switch( pEvent->event ) -+ { -+ case HX_MOUSE_LEAVE: -+ fprintf( stderr, "HX_MOUSE_LEAVE\n" ); -+ break; -+// case HX_MOUSE_MOVE: -+// point.x = ((HXxPoint*)pEvent->param1)->x; -+// point.y = ((HXxPoint*)pEvent->param1)->y; -+// fprintf( stderr, "HX_MOUSE_MOVE: %d %d\n", point.x, point.y ); -+// break; -+ case HX_MOUSE_ENTER: -+ fprintf( stderr, "HX_MOUSE_ENTER\n" ); -+ break; -+// case MotionNotify: -+// point.x = ((XMotionEvent*)pEvent->param2)->x; -+// point.y = ((XMotionEvent*)pEvent->param2)->y; -+// fprintf( stderr, "MotionNotify: %d %d\n", point.x, point.y ); -+// break; -+ case Expose: -+ fprintf( stderr, "Expose\n" ); -+ break; -+ case EnterNotify : -+ fprintf( stderr, "EnterNotify\n" ); -+ break; -+ case LeaveNotify: -+ fprintf( stderr, "LeaveNotify\n" ); -+ break; -+ case KeyPress: -+ fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser ); -+ fprintf( stderr, "Keypress\n\n" ); -+ break; -+ case KeyRelease: -+ fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser ); -+ fprintf( stderr, "KeyRelease\n" ); -+ break; -+ default: -+ fprintf( stderr, "Other\n" ); -+ break; -+ } -+#endif -+ -+ //Find the ConfigureNotify events so we can drop to RGB from -+ //overlay while we move.... -+// if( pEvent->event == ConfigureNotify && this==m_pTopLevelSite ) -+// { -+// XConfigureEvent* pev = (XConfigureEvent*)pEvent->param2; -+// if( m_pWindow && pev->window == (Window)m_pWindow->window ) -+// { -+// HXxPoint p; -+// _GetPositionRelativeToActualWindow( p ); -+// // fprintf( stderr, "wint %p -- x,y width, height: %d %d %d %d \n", -+// // pev->window, -+// // pev->x, pev->y, pev->width, pev->height); -+// // fprintf( stderr, "size of site: %d %d\n", m_size.cx, m_size.cy); -+// // fprintf( stderr, "pos of site: %d %d\n", m_topleft.x, m_topleft.y); -+// m_pTopLevelSite->m_pMutex->Lock(); -+// m_pTopLevelSite->SiteMoving(0, 0); -+// m_pTopLevelSite->m_nLastMoveTime = HX_GET_TICKCOUNT(); -+// m_pTopLevelSite->ScheduleCallback(MOUSE, 100); -+// m_pTopLevelSite->m_pMutex->Unlock(); -+// } -+// } -+ -+ //See if we should drop out of full screen -+ if( pEvent->event == FocusOut && IsFullScreen() && !m_bIgnoreFocusOutInFS ) -+ { -+// fprintf( stderr, "_HandleOSEvents: focus out: " ); -+// XEvent* pXEvent = (XEvent*) pEvent->param2; -+// XFocusChangeEvent* event = (XFocusChangeEvent*) pXEvent; -+// switch( event->mode ) -+// { -+// case NotifyAncestor: -+// fprintf( stderr, "NotifyAncestor\n" ); -+// break; -+// case NotifyVirtual: -+// fprintf( stderr, "NotifyVirtual\n" ); -+// break; -+// case NotifyInferior: -+// fprintf( stderr, "NotifyInferior\n" ); -+// break; -+// case NotifyNonlinear: -+// fprintf( stderr, "NotifyNonlinear\n" ); -+// break; -+// case NotifyNonlinearVirtual: -+// fprintf( stderr, "NotifyNonlinearVirtual\n" ); -+// break; -+// case NotifyPointer: -+// fprintf( stderr, "NotifyPointer\n" ); -+// break; -+// case NotifyPointerRoot: -+// fprintf( stderr, "NotifyPointerRoot\n" ); -+// break; -+// case NotifyDetailNone: -+// fprintf( stderr, "NotifyDetailNone\n" ); -+// break; -+// default: -+// fprintf( stderr, "screwed.....\n" ); -+// } -+ ExitFullScreen(); -+ } -+ -+ -+#if defined(_DEBUG) && defined(TEST_FULL_SCREEN) -+ if( pEvent->event == KeyPress ) -+ { -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ //Lookup the key without any state. -+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL ); -+ if( nNum > 0 ) -+ { -+ if( 'f' == szBuf[0] && IsFullScreen() ) -+ { -+ //Exit full screen if 'f' is pressed..... -+ m_pTopLevelSite->ExitFullScreen(); -+ } -+ else if( 'f' == szBuf[0] && !IsFullScreen() ) -+ { -+ //Enter full screen if 'f' is pressed..... -+ m_pTopLevelSite->EnterFullScreen(); -+ } -+ -+ } -+ -+ } -+#endif -+ -+#if defined(_DEBUG) && defined(_TEST_COLOR_CONTROLS) -+ if( pEvent->event == KeyPress ) -+ { -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ //Lookup the key without any state. -+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL ); -+ if( nNum > 0 ) -+ { -+ if( 'b' == szBuf[0] ) -+ { -+ SetBrightness( GetBrightness()-.05); -+ } -+ if( 'B' == szBuf[0] ) -+ { -+ SetBrightness( GetBrightness()+.05); -+ } -+ -+ if( 'c' == szBuf[0] ) -+ { -+ SetContrast( GetContrast()-.05); -+ } -+ if( 'C' == szBuf[0] ) -+ { -+ SetContrast( GetContrast()+.05); -+ } -+ -+ if( 'h' == szBuf[0] ) -+ { -+ SetHue( GetHue()-.05); -+ } -+ if( 'H' == szBuf[0] ) -+ { -+ SetHue( GetHue()+.05 ); -+ } -+ -+ if( 's' == szBuf[0] ) -+ { -+ SetSaturation( GetSaturation()-.05); -+ } -+ if( 'S' == szBuf[0] ) -+ { -+ SetSaturation( GetSaturation()+.05); -+ } -+ fprintf( stderr, "colors %f %f %f %f\n", -+ GetBrightness(), -+ GetContrast(), -+ GetSaturation(), -+ GetHue()); -+ } -+ -+ } -+#endif -+ -+ //Exit full screen on ESC pressed...... -+ if( pEvent->event == KeyPress ) -+ { -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ //Lookup the key without any state. -+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL ); -+ if( nNum > 0 ) -+ { -+ if( 27 == (int)szBuf[0] && IsFullScreen() ) -+ { -+ //Exit full screen if esc is pressed..... -+ m_pTopLevelSite->ExitFullScreen(); -+ } -+ } -+ } -+ -+ //Find out if this is an event we are interested in. Make sure we -+ //are visible, it isn't a button, expose or FocusIn event and also -+ //make sure it is headed for our window. -+ if (!_ShouldProcess(pEvent)) -+ { -+ return FALSE; -+ } -+ -+ -+ if(m_pUser && GetWindow() && GetWindow()->window) -+ { -+ //Do not send an update event to a hidden site. -+ if( pEvent->event == Expose || -+ pEvent->event == FocusIn || -+ pEvent->event == HX_SURFACE_UPDATE ) -+ { -+ if( (m_ScrollVertButtonT || m_ScrollHorizButtonR) && IsSiteVisible() ) -+ { -+ _DrawArrows(); -+ } -+ _ForwardUpdateEvent(pEvent); -+ return TRUE; -+ } -+ else -+ { -+ // get original events info from pEvent -+ XEvent* pXEvent = (XEvent*) pEvent->param2; -+ XButtonEvent* buttonEvent = (XButtonEvent*) pXEvent; -+ -+ -+ //XXXgfw all this code sucks! It really need to be written -+ //for just native events or RMA events. With the change to a -+ //common site it is all screwed up. I am leaving it for now -+ //so we can get on with transparancy but get back to it! -+ -+ //If the user clicks MB1 on a scroll button, handle it here and -+ //don't pass it up or let the user handle the event. -+ //Hit detection here. -+ -+ //////////////////////////////////////////////////////// -+ // BEGIN SCROLLING GARBAGE -+ //////////////////////////////////////////////////////// -+ if( -+ ((pEvent->event==ButtonPress || pEvent->event==ButtonRelease) && -+ buttonEvent->button==Button1) && -+ (m_ScrollHorizButtonL || m_ScrollVertButtonB ) -+ ) -+ { -+ int buttonX=0; -+ int buttonY=0; -+ -+ if( pEvent->event==ButtonRelease ) -+ { -+ if( m_bScrollingInProgress ) -+ { -+ m_bScrollingInProgress = FALSE; -+ m_nScrollDir = 0; -+ return TRUE ; -+ } -+ } -+ else -+ { -+ buttonX = buttonEvent->x; -+ buttonY = buttonEvent->y; -+ -+ HXBOOL bPointInSite = FALSE; -+ if( m_Region ) -+ bPointInSite = HXPointInRegion(m_Region, buttonX, buttonY); -+ -+ if( bPointInSite ) -+ { -+ if( m_ScrollHorizButtonL ) -+ { -+ if( _InButton( m_ptScrollHorizPosL, buttonX, buttonY )) -+ { -+ m_bScrollingInProgress = TRUE; -+ m_nScrollDir = 1; -+ } -+ if( _InButton( m_ptScrollHorizPosR, buttonX, buttonY )) -+ { -+ m_bScrollingInProgress = TRUE; -+ m_nScrollDir = 2; -+ } -+ } -+ if( m_ScrollVertButtonT ) -+ { -+ if( _InButton( m_ptScrollVertPosT, buttonX, buttonY )) -+ { -+ m_bScrollingInProgress = TRUE; -+ m_nScrollDir = 3; -+ } -+ if( _InButton( m_ptScrollVertPosB, buttonX, buttonY )) -+ { -+ m_bScrollingInProgress = TRUE; -+ m_nScrollDir = 4; -+ } -+ } -+ } -+ } -+ -+ if( (m_ScrollHorizButtonL||m_ScrollVertButtonT) && m_bScrollingInProgress) -+ { -+ int xx=0; -+ int yy=0; -+ HXxWindow* pParentWindow = GetParentSite()->GetWindow(); -+ //Make it scroll 10% of the parent window each click. -+ HXxSize sizeTmp; -+ GetParentSite()->GetSize(sizeTmp); -+ -+ //Set it to a percentage of the slider range. -+ int incX = sizeTmp.cx/10; -+ int incY = sizeTmp.cy/10; -+ -+ HX_ASSERT( pParentWindow ); -+ -+ xx = m_XSliderPos; -+ yy = m_YSliderPos; -+ -+ if( m_nScrollDir == 1 ) -+ xx-=incX; -+ if( m_nScrollDir == 2 ) -+ xx+=incX; -+ if( m_nScrollDir == 3 ) -+ yy-=incY; -+ if( m_nScrollDir == 4 ) -+ yy+=incY; -+ -+ if( xx > m_size.cx-sizeTmp.cx ) -+ xx = m_size.cx-sizeTmp.cx; -+ if( yy > m_size.cy-sizeTmp.cy) -+ yy = m_size.cy-sizeTmp.cy; -+ -+ if( xx < 0 ) -+ xx = 0; -+ if( yy < 0 ) -+ yy = 0; -+ -+ m_XSliderPos = xx; -+ m_YSliderPos = yy; -+ -+ HXxRect rect; -+ DamageRect(rect); -+ -+ InternalForceRedraw(); -+ } -+ //Only throw away the event if it had something to do with -+ //scolling. -+ if( m_bScrollingInProgress ) -+ { -+ m_bScrollingInProgress = FALSE; -+ m_nScrollDir = 0; -+ return TRUE; -+ } -+ } -+ //////////////////////////////////////////////////////// -+ // END SCROLLING GARBAGE -+ //////////////////////////////////////////////////////// -+ point.x = -1; -+ point.y = -1; -+ -+ if( pEvent->event == MotionNotify) -+ { -+ point.x = ((XMotionEvent*)pXEvent)->x; -+ point.y = ((XMotionEvent*)pXEvent)->y; -+ } -+ else if( pEvent->event == ButtonPress ) -+ { -+ point.x = ((XMotionEvent*)pXEvent)->x; -+ point.y = ((XMotionEvent*)pXEvent)->y; -+ } -+ -+ // -+ //Give the user a chance at the native event. -+ // -+ if( m_RegionWithoutChildren && HXPointInRegion(m_RegionWithoutChildren, point.x, point.y )) -+ { -+ if( m_Region && HXPointInRegion(m_Region, point.x, point.y) ) -+ { -+ if (m_pUser) -+ m_pUser->HandleEvent(pEvent); -+ } -+ else -+ { -+ INT32 handledCount = 0; -+ INT32 mapCount = 0; -+ -+ //try send this to all of our children -+ _unixsitecpp1: -+ mapCount = m_ChildrenMap.GetCount(); -+ CHXMapPtrToPtr::Iterator i; -+ for(i=m_ChildrenMap.Begin() ; i!=m_ChildrenMap.End() ; ++i) -+ { -+ CHXBaseSite* pSite = (CHXBaseSite*) *i; -+ pSite->_HandleOSEvents(pEvent); -+ if (pEvent->handled) -+ { -+ break; -+ } -+ handledCount+=pEvent->handled; -+ pEvent->handled=0; -+ -+ if (m_ChildrenMap.GetCount() != mapCount) -+ { -+ goto _unixsitecpp1; -+ } -+ } -+ if (handledCount) -+ { -+ pEvent->handled = 1; -+ } -+ HX_ASSERT(handledCount<2); -+ } -+ } -+ pEvent->handled=FALSE; -+ } -+ } -+ -+ return FALSE; -+} -+ -+void CHXExSite::_GenerateOSEvent(HXxEvent* pEvent, HXxEvent* pEvent2) -+{ -+ //XXXgfw Not needed on UNIX I guess??? -+} -+ -+void CHXExSite::_GenerateSetCursorEvent() -+{ -+#ifdef _DEBUG -+ fprintf( stderr, "CHXExSite::_GenerateSetCursorEvent\n" ); -+#endif -+ //XXXgfw do we need this?? -+} -+ -+void CHXExSite::_TryCreateXSlider() -+{ -+#if 0 -+ if( !m_ScrollHorizButtonL && IsSiteVisible() ) -+ _CreateHorizScrollBar(); -+#endif -+} -+ -+void CHXExSite::_SetXSliderValues(INT32 range, INT32 pageSize) -+{ -+ //XXXgfw this is a do nothing as long as we only have -+ //scroll buttons on unix and not real scroll bars. -+} -+ -+void CHXExSite::_TryCreateYSlider() -+{ -+#if 0 -+ if( !m_ScrollVertButtonT && IsSiteVisible() ) -+ _CreateVertScrollBar(); -+#endif -+} -+ -+void CHXExSite::_SetYSliderValues(INT32 range, INT32 pageSize) -+{ -+ //XXXgfw this is a do nothing as long as we only have -+ //scroll buttons on unix and not real scroll bars. -+} -+ -+void CHXExSite::_GetSystemSizeOfSliders(INT32* pWidth, INT32* pHeight) -+{ -+#if 0 -+ *pWidth = *pHeight = SCROLL_BAR_WIDTH; -+#endif -+} -+ -+HXBOOL CHXExSite::_IsWindowVisible() -+{ -+#if 0 -+ HX_RESULT retVal = FALSE; -+ //XXXgfw do this for now... -+ retVal = IsSiteVisible(); -+ return retVal; -+#else -+ return FALSE; -+#endif -+ -+} -+ -+void CHXExSite::_ShowXSlider(HXBOOL bShow) -+{ -+#if 0 -+ if( GetWindow() ) -+ { -+ if( bShow ) -+ _MapHorzScroll(); -+ else -+ _UnmapHorzScroll(); -+ } -+#endif -+} -+ -+void CHXExSite::_MoveXSlider( INT32 left, -+ INT32 top, -+ INT32 right, -+ INT32 bottom, -+ HXBOOL bRedraw ) -+{ -+ //Do nothing right now.... -+} -+ -+void CHXExSite::_ShowYSlider(HXBOOL bShow) -+{ -+#if 0 -+ if( GetWindow() ) -+ { -+ if( bShow ) -+ _MapVertScroll(); -+ else -+ _UnmapVertScroll(); -+ } -+#endif -+} -+ -+void CHXExSite::_MoveYSlider( INT32 left, -+ INT32 top, -+ INT32 right, -+ INT32 bottom, -+ HXBOOL bRedraw) -+{ -+ //do nothing right now... -+} -+ -+HXBOOL CHXExSite::_DoesXSliderExist() -+{ -+ return FALSE; -+// return (m_ScrollHorizButtonL!=0); -+} -+ -+void* CHXExSite::_GetContainingWindow() -+{ -+ //XXXgfw Do we need this??? -+ return NULL; -+} -+ -+void CHXExSite::_GetCursorPos(HXxPoint* pPoint) -+{ -+ //Return the cursor pos in screen coords. -+ Window rootWin; -+ Window childWin; -+ int rootX=0; -+ int rootY=0; -+ int childX=0; -+ int childY=0; -+ unsigned int mask=0; -+ Bool ret=FALSE; -+ -+ HX_ASSERT(GetWindow()); -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ ret = XQueryPointer(pDis, -+ (Window)GetWindow()->window, -+ &rootWin, -+ &childWin, -+ &rootX, &rootY, -+ &childX, &childY, -+ &mask); -+ XUnlockDisplay(pDis); -+ -+ if(ret) -+ { -+ pPoint->x = rootX; -+ pPoint->y = rootY; -+ } -+} -+void* CHXExSite::_GetWindowWithCursor() -+{ -+#if 0 -+ //Return the cursor pos in screen coords. -+ void* pRet = NULL; -+ int rootX = 0; -+ int rootY = 0; -+ int childX= 0; -+ int childY= 0; -+ unsigned int mask = 0; -+ Bool ret = FALSE; -+ Window rootWin; -+ Window childWin; -+ -+ HX_ASSERT(GetWindow()); -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ ret = XQueryPointer(pDis, -+ (Window)GetWindow()->window, -+ &rootWin, -+ &childWin, -+ &rootX, &rootY, -+ &childX, &childY, -+ &mask); -+ XUnlockDisplay(pDis); -+ -+ if(ret) -+ { -+ pRet = (void*)childWin; -+ } -+ return pRet; -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+ return NULL; -+#endif -+} -+ -+void CHXExSite::_MapPointToOSWindow(HXxPoint* pPt, void** pWindowHandle) -+{ -+ //XXXgfw we could query the window tree and traverse down but that -+ //is really slow and this isn't used right now. -+ HX_ASSERT( "Not implemented..." == NULL ); -+} -+ -+void CHXExSite::_ReInitPrimarySurface() -+{ -+ //Nothing to do in unix here right? -+} -+ -+HXBOOL CHXExSite::_MoveWindow( void* win, -+ INT32 X, -+ INT32 Y, -+ INT32 nWidth, -+ INT32 nHeight, -+ HXBOOL bRepaint) -+{ -+#if 0 -+ //XXXgfw we still have to do bRepaint.... -+ HX_ASSERT( m_pWindow && m_pWindow->window && m_pWindow->display); -+ _DestroyScrollButtons(); -+ XLockDisplay((Display*) m_pWindow->display); -+ XMoveResizeWindow( (Display*)m_pWindow->display, -+ (Window)m_pWindow->window, -+ X, -+ Y, -+ nWidth, -+ nHeight -+ ); -+ XUnlockDisplay((Display*) m_pWindow->display); -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+#endif -+ return TRUE; -+} -+ -+HXBOOL CHXExSite::_UpdateWindow(void* hWnd) -+{ -+ //We need to generate a repaint here of the window.... -+ return TRUE; -+} -+ -+HXBOOL CHXExSite::_ShowWindow(void* hWnd, INT32 nCmdShow) -+{ -+#if 0 -+ HX_ASSERT( nCmdShow==HX_SHOW_WINDOW || nCmdShow==HX_HIDE_WINDOW); -+ if( !m_pWindow || !m_pWindow->window || !m_pWindow->display ) -+ return FALSE; -+ -+ if( nCmdShow == HX_SHOW_WINDOW ) -+ { -+ _MapScrollButtons(); -+ XLockDisplay((Display*) m_pWindow->display); -+ XMapWindow( (Display*)m_pWindow->display, (Window)m_pWindow->window ); -+ XUnlockDisplay((Display*) m_pWindow->display); -+ } -+ else -+ { -+ _UnmapScrollButtons(); -+ XLockDisplay((Display*) m_pWindow->display); -+ XUnmapWindow( (Display*)m_pWindow->display, (Window)m_pWindow->window ); -+ XUnlockDisplay((Display*) m_pWindow->display); -+ } -+#endif -+ return TRUE; -+} -+ -+HXBOOL CHXExSite::_SetWindowPos(void* hWnd, -+ void* hWndInsertAfter, -+ INT32 X, -+ INT32 Y, -+ INT32 cx, -+ INT32 cy, -+ INT32 uFlags) -+{ -+#ifdef _DEBUG -+ fprintf( stderr, "Now what on earth is this suppose to do??\n" ); -+#endif -+ return TRUE; -+} -+ -+HXBOOL CHXExSite::_SetWindowRgn(void* hWnd, HXREGION* hRgn, HXBOOL bRedraw) -+{ -+#if 0 -+ HX_ASSERT( GetWindow() ); -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XSetRegion( pDis, -+ (GC)m_pVideoSurface->_GetDC(NULL), -+ (Region)hRgn -+ ); -+ XUnlockDisplay(pDis); -+ if( bRedraw ) -+ { -+ HX_ASSERT("Redraw asked for here"==NULL ); -+ } -+#endif -+ return TRUE; -+} -+ -+void CHXExSite::_SetFocus(void* pWindow) -+{ -+#if 0 -+ XWindowAttributes attr; -+ HXxWindow* pWin = GetWindow(); -+ -+ HX_ASSERT(pWin); -+ HX_ASSERT(pWindow); -+ -+ XLockDisplay((Display*) pWin->display); -+ XGetWindowAttributes((Display*)pWin->display, (Window)pWindow, &attr); -+ XUnlockDisplay((Display*) pWin->display); -+ if( attr.map_state == IsViewable ) -+ { -+ XLockDisplay((Display*) pWin->display); -+ XSetInputFocus( (Display*)pWin->display, -+ (Window)pWindow, -+ RevertToParent, -+ CurrentTime -+ ); -+ XUnlockDisplay((Display*) pWin->display); -+ } -+ -+ return; -+#endif -+} -+ -+HX_RESULT CHXExSite::_EnterFullScreen(HXxWindow* pWindow) -+{ -+#if 0 -+ HXxWindow* pWin = GetWindow(); -+ HX_ASSERT( pWin && pWin->display && pWin->display); -+ HX_ASSERT( this == m_pTopLevelSite ); -+ -+ if( 0 != m_winFullScreenWindow || IsFullScreen() ) -+ { -+ //We are already in full screen -+ return HXR_FAIL; -+ } -+ -+ //Create a override redirect window to fill the root. -+ XSizeHints size_hints; -+ XLockDisplay((Display*) pWin->display); -+ Screen* pScreen = XDefaultScreenOfDisplay((Display*)pWin->display); -+ XUnlockDisplay((Display*) pWin->display); -+ UINT16 uHorzRes = WidthOfScreen(pScreen); -+ UINT16 uVertRes = HeightOfScreen(pScreen); -+ int attrMask = 0; -+ XSetWindowAttributes attr; -+ -+ memset(&attr, 0, sizeof(XSetWindowAttributes)); -+ attrMask = CWOverrideRedirect | CWBorderPixel | -+ CWBackPixel | CWCursor; -+ attr.cursor = None; -+ attr.override_redirect = True; -+ XLockDisplay((Display*)pWin->display); -+ attr.background_pixel = BlackPixel((Display*)pWin->display, -+ DefaultScreen((Display*)pWin->display)); -+ attr.border_pixel = BlackPixel((Display*)pWin->display, -+ DefaultScreen((Display*)pWin->display)); -+ XUnlockDisplay((Display*)pWin->display); -+ -+ size_hints.flags = PPosition | PSize; -+ size_hints.x = 0; -+ size_hints.y = 0; -+ size_hints.width = uHorzRes; -+ size_hints.height = uVertRes; -+ -+ //Create it. -+ XLockDisplay((Display*) pWin->display); -+ Window window = XCreateWindow((Display*)pWin->display, -+ DefaultRootWindow((Display*)pWin->display), -+ size_hints.x, -+ size_hints.y, -+ size_hints.width, -+ size_hints.height, -+ 0, -+ CopyFromParent, -+ InputOutput, -+ CopyFromParent, -+ attrMask, -+ &attr); -+ -+ //Tell the WM about this window. -+ XSetStandardProperties( (Display*)pWin->display, -+ window, -+ "unixfullscreen", -+ "unixfullscreen", -+ None, -+ NULL, 0, -+ &size_hints -+ ); -+ -+ int result = XSelectInput( zm_display, window, -+ ButtonPressMask | ButtonReleaseMask | KeyPressMask | -+ KeyReleaseMask | EnterWindowMask | LeaveWindowMask | -+ PointerMotionMask | ButtonMotionMask | KeymapStateMask | -+ ExposureMask | StructureNotifyMask | FocusChangeMask -+ ); -+ -+ //Map the window. -+ XMapWindow((Display*)pWin->display, window); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ -+ //Get ready to resize the presentation.... -+ if(m_pTopLevelSite) -+ { -+ m_pTopLevelSite->m_bDisableForceRedraw = TRUE; -+ } -+ -+ //Maintain aspect ratio and Scale it. -+ float fXScale = (float)uHorzRes/(float)(m_size.cx); -+ float fYScale = (float)uVertRes/(float)(m_size.cy); -+ float fScale = (fXScaledisplay); -+ XQueryTree( (Display*)pWin->display, -+ (Window)pWin->window, -+ &winRootParent, -+ &winParent, -+ &pwinChildren, -+ &nNumChildren -+ ); -+ //Free unused children list. -+ XFree( pwinChildren ); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ HX_ASSERT( winParent ); -+ m_winOldParent = winParent; -+ XLockDisplay((Display*) pWin->display); -+ XReparentWindow( (Display*)pWin->display, -+ (Window)pWin->window, -+ window, -+ m_ptFullScreenOffset.x, -+ m_ptFullScreenOffset.y -+ ); -+ -+ //Flush event queue. -+ XSync((Display*)pWin->display, False); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ //Save it -+ m_winFullScreenWindow = window; -+ m_bInFullScreen = TRUE; -+ -+ //Now resize it... -+ SetSize(m_size); -+ //Redraw the presentation.... -+ m_pTopLevelSite->m_bDisableForceRedraw = FALSE; -+ _ForceRedrawAll(); -+ -+ //Give it focus.... -+ _SetFocus( (void*)pWin->window ); -+ -+ // now eat all the focusouts that came as a result of this reparent... -+ XEvent event; -+ XLockDisplay((Display*) pWin->display); -+ HXBOOL status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window, -+ FocusOut, &event); -+ XUnlockDisplay((Display*) pWin->display); -+ while (m_bWindowCreatedByCreate && status) -+ { -+ // just discarding these -+ XLockDisplay((Display*) pWin->display); -+ status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window, -+ FocusOut, &event); -+ XUnlockDisplay((Display*) pWin->display); -+ } -+ -+ //Update the status text... -+ if(m_pStatusText) -+ { -+ m_pStatusText->ParentChangedSize(); -+ m_pStatusText->Show(); -+ } -+ -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+#endif -+ return HXR_OK; -+} -+ -+HX_RESULT CHXExSite::_ExitFullScreen() -+{ -+#if 0 -+ HX_ASSERT( this == m_pTopLevelSite ); -+ -+ HXxWindow* pWin = GetWindow(); -+ -+ HX_ASSERT( pWin && pWin->display && pWin->window ); -+ -+ //Give the window back to the TLC. -+ -+ XLockDisplay((Display*) pWin->display); -+ XReparentWindow( (Display*)pWin->display, -+ (Window)pWin->window, -+ m_winOldParent, -+ m_position.x, m_position.y -+ ); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ //Just kill our window and take us out of full screen.... -+ if( 0 != m_winFullScreenWindow ) -+ { -+ XLockDisplay((Display*) pWin->display); -+ XDestroyWindow( (Display*)pWin->display, m_winFullScreenWindow ); -+ XUnlockDisplay((Display*) pWin->display); -+ m_winFullScreenWindow = 0; -+ } -+ -+ m_bDisableForceRedraw = TRUE; -+ -+ m_bInFullScreen = FALSE; -+ HXxSize size = {0,0}; -+ memcpy( &size, &m_PreFullScreenSize, sizeof(HXxSize) ); /* Flawfinder: ignore */ -+ m_PreFullScreenSize.cx = m_PreFullScreenSize.cy = 0; -+ -+ SetSize(size); -+ _SetFocus( (void*)pWin->window ); -+ m_ptFullScreenOffset.x = 0; -+ m_ptFullScreenOffset.y = 0; -+ -+ -+ m_bDisableForceRedraw = FALSE; -+ _ForceRedrawAll(); -+ -+ if(m_pStatusText) -+ { -+ m_pStatusText->ParentChangedSize(); -+ m_pStatusText->Hide(); -+ } -+ -+ //move the site back to where it was. -+ if( m_pTopLevelSite ) -+ { -+ m_pTopLevelSite->_SetPosition(m_CreateWindowPos); -+ } -+ -+ return HXR_OK; -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+#endif -+} -+ -+HX_RESULT CHXExSite::_EnterFullScreenNoNewWindow() -+{ -+#if 0 -+ HXxWindow* pWin = GetWindow(); -+ -+ HX_ASSERT( pWin && pWin->display && pWin->display); -+ HX_ASSERT( this == m_pTopLevelSite ); -+ -+ if(IsFullScreen() || !pWin) -+ { -+ //We are already in full screen -+ return HXR_FAIL; -+ } -+ -+ //Get the screen size. -+ XLockDisplay((Display*) pWin->display); -+ Screen* pScreen = XDefaultScreenOfDisplay((Display*)pWin->display); -+ UINT16 uHorzRes = WidthOfScreen(pScreen); -+ UINT16 uVertRes = HeightOfScreen(pScreen); -+ XUnlockDisplay((Display*)pWin->display); -+ -+ //Get ready to resize the presentation.... -+ if( m_pTopLevelSite ) -+ { -+ m_pTopLevelSite->m_bDisableForceRedraw = TRUE; -+ } -+ -+ //Maintain aspect ratio and Scale it. -+ float fXScale = (float)uHorzRes/(float)(m_size.cx); -+ float fYScale = (float)uVertRes/(float)(m_size.cy); -+ float fScale = (fXScaledisplay); -+ XQueryTree( (Display*)pWin->display, -+ (Window)pWin->window, -+ &winRootParent, -+ &winParent, -+ &pwinChildren, -+ &nNumChildren -+ ); -+ -+ //Free unused children list. -+ XFree( pwinChildren ); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ HX_ASSERT( winParent ); -+ m_winOldParent = winParent; -+ -+ m_bInFullScreen = TRUE; -+ -+ //Now resize it... -+ SetSize(m_size); -+ -+ //Redraw the presentation.... -+ if( m_pTopLevelSite ) -+ { -+ m_pTopLevelSite->m_bDisableForceRedraw = FALSE; -+ } -+ -+ _ForceRedrawAll(); -+ -+ //Give it focus.... -+ _SetFocus( (void*)pWin->window ); -+ -+ // now eat all the focusouts that came as a result of this reparent... -+ XEvent event; -+ XLockDisplay((Display*) pWin->display); -+ HXBOOL status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window, -+ FocusOut, &event); -+ XUnlockDisplay((Display*) pWin->display); -+ while (m_bWindowCreatedByCreate && status) -+ { -+ // just discarding these -+ XLockDisplay((Display*) pWin->display); -+ status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window, -+ FocusOut, &event); -+ XUnlockDisplay((Display*) pWin->display); -+ } -+ -+ //Update the status text... -+ if(m_pStatusText) -+ { -+ m_pStatusText->ParentChangedSize(); -+ m_pStatusText->Show(); -+ } -+#if defined(HELIX_CONFIG_MOBLIN) -+ if(!m_pAttachWindowCallback) -+ { -+ m_pAttachWindowCallback = new CHXGenericCallback((void*)this, (fGenericCBFunc)AttachWindowCallback); -+ m_pAttachWindowCallback->AddRef(); -+ } -+ if(!m_pForceRedrawCallback) -+ { -+ m_pForceRedrawCallback = new CHXGenericCallback((void*)this, (fGenericCBFunc)ForceRedrawCallback); -+ m_pForceRedrawCallback->AddRef(); -+ } -+ -+ // schedule callback for Attaching Window -+ if(m_pAttachWindowCallback) -+ { -+ m_pAttachWindowCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pAttachWindowCallback, 100)); -+ } -+ if(m_pForceRedrawCallback) -+ { -+ m_pForceRedrawCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pForceRedrawCallback, 500)); -+ } -+ -+#endif -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+#endif -+ return HXR_OK; -+} -+ -+#if defined(HELIX_CONFIG_MOBLIN) -+void CHXExSite::AttachWindowCallback(void* pParam) -+{ -+ CHXExSite* pObj = (CHXExSite*)pParam; -+ if (pObj) -+ { -+ pObj->_AttachWindow(); -+ } -+} -+ -+ -+void CHXExSite::ForceRedrawCallback(void* pParam) -+{ -+ CHXExSite* pObj = (CHXExSite*)pParam; -+ -+ if (pObj) -+ { -+ UINT32 ulNumOfChildren = pObj->GetNumberOfChildSites(); -+ if(pObj->m_pTopLevelSite) -+ { -+ pObj->m_pTopLevelSite->m_bDisableForceRedraw = FALSE; -+ } -+ for ( UINT32 i = 0; i < ulNumOfChildren; ++i ) -+ { -+ SPIHXSite spChildSite; -+ if ( SUCCEEDED( pObj->GetNthChildSite( i, *spChildSite.AsInOutParam() ) ) -+ && spChildSite.IsValid() ) -+ { -+ spChildSite->DamageRegion( NULL ); -+ spChildSite->ForceRedraw(); -+ } -+ -+ } -+ } -+} -+ -+void CHXExSite::RemovePendingCallback(CHXGenericCallback* pCB) -+{ -+ if (pCB && -+ pCB->GetPendingCallback() && -+ m_pScheduler) -+ { -+ m_pScheduler->Remove(pCB->GetPendingCallback()); -+ pCB->CallbackCanceled(); -+ } -+} -+#endif -+ -+HX_RESULT CHXExSite::_EnterFullScreenExt(HXxWindow* pWindow, IHXValues* pValues) -+{ -+#if 0 -+ m_bReparent = FALSE; -+ HX_RESULT res = HXR_OK; -+ UINT32 ulReparent = 0; -+ -+ if (pValues) -+ { -+ pValues->GetPropertyULONG32("Reparent", ulReparent); -+ } -+ -+ m_bReparent = (HXBOOL)ulReparent; -+ -+ if (m_bReparent) -+ { -+ res = _EnterFullScreen(pWindow); -+ } -+ else -+ { -+ res = _EnterFullScreenNoNewWindow(); -+ } -+ -+ CHXBaseSite::FullScreenEntered(res); -+ return res; -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+ return HXR_OK; /* this makes compiler happy */ -+#endif -+} -+ -+HX_RESULT CHXExSite::_ExitFullScreenExt() -+{ -+#if 0 -+ HX_RESULT res = _ExitFullScreen(); -+#if defined(HELIX_CONFIG_MOBLIN) -+ // schedule callback for attaching window -+ if(m_pAttachWindowCallback) -+ { -+ m_pAttachWindowCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pAttachWindowCallback, 100)); -+ } -+ // schedule callback for Force Redraw the window -+ if(m_pForceRedrawCallback) -+ { -+ m_pForceRedrawCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pForceRedrawCallback, 500)); -+ } -+#endif -+ CHXBaseSite::FullScreenExited(res); -+ -+ return res; -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+ return HXR_OK; /* this makes compiler happy */ -+#endif -+ -+} -+ -+HX_RESULT CHXExSite::_EventOccurred(HXxEvent* pEvent) -+{ -+ return HXR_OK; -+} -+ -+HX_RESULT CHXExSite::_TestFullScreen( void* hTestBitmap, -+ const char* pszStatusText ) -+{ -+#ifdef _DEBUG -+ fprintf( stderr, "Going to test full screen....\n" ); -+#endif -+ return HXR_OK; -+} -+ -+void CHXExSite::ProcessEvent(HXxEvent* pEvent) -+{ -+ if(pEvent) -+ { -+ //Expose event compression. Combine all outstanding expose events -+ //into one big region. -+ if(Expose==pEvent->event) -+ { -+ _CollapseExposeEvents((XEvent*)pEvent->param2); -+ } -+ } -+ -+ //Send the event to each registered UnixSite. -+ void* pSite = NULL; -+ void* pWindow = NULL; -+ POSITION pos = z_mapSiteToWindow.GetStartPosition(); -+ while( pos ) -+ { -+ z_mapSiteToWindow.GetNextAssoc(pos, pSite, pWindow); -+ CHXExSite* pSiteWindowed = (CHXExSite*)pSite; -+ CHXExSite* pTopLevel = NULL; -+ HX_ASSERT(pSiteWindowed); -+ pSiteWindowed->AddRef(); -+ pTopLevel = (CHXExSite*)pSiteWindowed->GetTopLevelSite(); -+ -+ if(pEvent) -+ { -+ //Call back into the basesite's event loop. -+ pTopLevel->EventOccurred(pEvent); -+ } -+ -+ //XXXgfw As a workaround for the overlay not moving while the -+ //player is paused, we will check it here and update it if needed. -+ -+ //XXXRGG We might be able to use X's ConfigureNotify messages instead -+ //of doing a refresh every 50 ms. -+ pTopLevel->_UpdateOverlayIfNeeded(); -+ -+ pSiteWindowed->Release(); -+ } -+} -+ -+void CHXExSite::_CollapseExposeEvents(XEvent* xevent) -+{ -+ Display* display = xevent->xany.display; -+ Window window = xevent->xany.window; -+ XExposeEvent* expose_event = (XExposeEvent*)xevent; -+ XEvent new_event; -+ XExposeEvent* new_expose_event = (XExposeEvent*)&new_event; -+ ushort x1; -+ ushort y1; -+ ushort x2; -+ ushort y2; -+ ushort x3; -+ ushort y3; -+ -+ x1 = expose_event->x; -+ y1 = expose_event->y; -+ x2 = x1 + expose_event->width; -+ y2 = y1 + expose_event->height; -+ XLockDisplay(display); -+ HXBOOL status = XCheckWindowEvent(display, window, ExposureMask, &new_event); -+ XUnlockDisplay(display); -+ while( status) -+ { -+ if (new_expose_event->x < x1) -+ x1 = new_expose_event->x; -+ -+ if (new_expose_event->y < y1) -+ y1 = new_expose_event->y; -+ -+ x3 = new_expose_event->x + new_expose_event->width; -+ if (x3 > x2) -+ x2 = x3; -+ -+ y3 = new_expose_event->y + new_expose_event->height; -+ if (y3 > y2) -+ y2 = y3; -+ XLockDisplay(display); -+ status = XCheckWindowEvent(display, window, ExposureMask, &new_event); -+ XUnlockDisplay(display); -+ -+ } -+ -+ expose_event->x = x1; -+ expose_event->y = y1; -+ expose_event->width = x2 - x1; -+ expose_event->height = y2 - y1; -+ expose_event->count = new_expose_event->count; -+} -+ -+ -+HXBOOL CHXExSite::_ShouldProcess(HXxEvent* pEvent) -+{ -+ HXBOOL bShouldProcessThisEvent = TRUE; -+ -+ -+ if( !IsSiteVisible() ) -+ { -+ switch (pEvent->event) -+ { -+ case ButtonPress: -+ case ButtonRelease: -+ case Expose: -+ case FocusIn: -+ bShouldProcessThisEvent = FALSE; -+ break; -+ default: -+ break; -+ } -+ } -+ -+ if(m_pWindow && m_pWindow->window!=pEvent->window) -+ { -+ bShouldProcessThisEvent = FALSE; -+ } -+ return bShouldProcessThisEvent; -+} -+ -+ -+/////////////////////////////////////////////////////// -+// -+// UnixEventHandler methods... -+// -+CHXExSite::UnixEventHandler::UnixEventHandler(CHXExSite* pParent) -+ : m_pParent(pParent), -+ m_lRefCount(0), -+ m_cbHandle(0) -+{ -+ HX_ASSERT(m_pParent); -+ HX_ASSERT(m_pParent->m_pScheduler); -+ m_cbHandle = m_pParent->m_pScheduler->RelativeEnter((IHXCallback*)this, 30); -+} -+ -+CHXExSite::UnixEventHandler::~UnixEventHandler() -+{ -+ CancelCallback(); -+} -+ -+void -+CHXExSite::UnixEventHandler::CancelCallback() -+{ -+ if( m_cbHandle && m_pParent && m_pParent->m_pScheduler ) -+ { -+ UINT32 tempHandle = m_cbHandle; -+ m_cbHandle = 0; -+ m_pParent->m_pScheduler->Remove(tempHandle); -+ } -+} -+ -+HX_RESULT CHXExSite::UnixEventHandler::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IHXCallback)) -+ { -+ AddRef(); -+ *ppvObj = (IHXCallback*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+ULONG32 CHXExSite::UnixEventHandler::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+ULONG32 CHXExSite::UnixEventHandler::Release() -+{ -+ HX_ASSERT(m_lRefCount>0); -+ if( InterlockedDecrement(&m_lRefCount)>0 ) -+ { -+ return m_lRefCount; -+ } -+ delete this; -+ return 0; -+} -+ -+//IHXCallback methods -+HX_RESULT CHXExSite::UnixEventHandler::Func() -+{ -+ XEvent xevent; -+ static HXxEvent pnevent; -+ -+ m_cbHandle = 0; -+ XLockDisplay(m_pParent->zm_display); -+ int status = XPending(m_pParent->zm_display); -+ XUnlockDisplay(m_pParent->zm_display); -+ while(status) -+ { -+ XLockDisplay(m_pParent->zm_display); -+ XNextEvent(m_pParent->zm_display, &xevent); -+ XUnlockDisplay(m_pParent->zm_display); -+ -+ // package native event in HXxEvent and send to dispatcher -+ pnevent.event = xevent.type; -+ pnevent.window = (void *)xevent.xany.window; -+ pnevent.param1 = xevent.xany.display; -+ pnevent.param2 = &xevent; -+ -+ m_pParent->ProcessEvent(&pnevent); -+ XLockDisplay(m_pParent->zm_display); -+ status = XPending(m_pParent->zm_display); -+ XUnlockDisplay(m_pParent->zm_display); -+ } -+ -+ if (m_pParent && m_pParent->m_pScheduler) -+ { -+ m_cbHandle = m_pParent->m_pScheduler->RelativeEnter((IHXCallback*)this, 30); -+ } -+ return HXR_OK; -+} -+ -+void CHXExSite::_UpdateOverlayIfNeeded() -+{ -+ if( m_pVideoSurface ) -+ { -+ if( m_pVideoSurface->m_nBltMode == HX_OVERLAY_BLT ) -+ { -+ ULONG32 ulNow = HX_GET_BETTERTICKCOUNT(); -+ CUnixSurf* pSurf = (CUnixSurf*)m_pVideoSurface; -+ if( ulNow- pSurf->m_ulLastOverlayUpdateTime > 50 ) -+ { -+ SiteMoving(0,0); -+ } -+ } -+ } -+ LISTPOSITION pos = m_ChildrenInZOrder.GetHeadPosition(); -+ while(pos) -+ { -+ CHXExSite* pSite = (CHXExSite*)m_ChildrenInZOrder.GetNext(pos); -+ pSite->_UpdateOverlayIfNeeded(); -+ } -+} -+ -+ -+HXBOOL CHXExSite::_ShouldEnterForceRedraw() -+{ -+ if( !m_bDamaged || !m_pUser || !IsSiteVisible() ) -+ { -+ return FALSE; -+ } -+ -+ if(InterlockedIncrement(&m_lBltEntryCount)>1) -+ { -+ InterlockedDecrement(&m_lBltEntryCount); -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+void CHXExSite::_ExitForceRedraw() -+{ -+ InterlockedDecrement(&m_lBltEntryCount); -+} -+ -Index: helix-libs/clientapps/clutter/exsite.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exsite.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,272 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixsite.h,v 1.10.2.3 2008/06/05 14:24:30 lovish Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * Phil Dibowitz (jaymzh) -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _UNIXSITE_H -+#define _UNIXSITE_H -+ -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#include -+#include -+#include -+#endif -+ -+#include "basesite.h" -+#include "hxcbobj.h" -+#include "player.h" -+ -+class CHXExSite : public CHXBaseSite -+{ -+public: -+ -+ friend class CExSurf; -+ friend class CExRootSurf; -+ -+ CHXExSite( IUnknown* pContext, -+ IUnknown* pUnkOuter, -+ INT32 lInitialZorder, -+ on_new_frame_cb_t on_new_frame_cb = NULL, -+ void *context = NULL); -+ -+ static void ProcessEvent(HXxEvent* pEvent); -+ Window CreateXWindow( Window win ); -+ -+ void _ForwardUpdateEvent(HXxEvent* pEvent); -+ -+ //static member vars. -+ static Display* zm_display; -+ void _UpdateOverlayIfNeeded(); -+ HXBOOL m_bIgnoreFocusOutInFS; -+ -+ //We override this. -+ void CheckColorSettings(); -+ -+protected: -+ -+ virtual ~CHXExSite(); -+ -+ // -+ // CHXExSite only methods.... -+ // -+ HX_RESULT _OpenXDisplay(char* DiplayString); -+ static void _CollapseExposeEvents(XEvent* xevent); -+ HXBOOL _ShouldProcess(HXxEvent* pEvent); -+ void _DrawArrows(); -+ void _CreateHorizScrollBar(void); -+ void _CreateVertScrollBar(void); -+ HXBOOL _InButton(HXxPoint& pt, int x, int y ); -+ void _DestroyScrollButtons(); -+ void _MapScrollButtons(); -+ void _MapHorzScroll(); -+ void _MapVertScroll(); -+ void _UnmapHorzScroll(); -+ void _UnmapVertScroll(); -+ void _UnmapScrollButtons(); -+ void _BuildClipRegion(); -+ void _ReleaseClippingRegion(); -+ -+ // -+ // Seperate object for our callbacks to keep the events flowing. -+ // -+ class UnixEventHandler : public IHXCallback -+ { -+ public: -+ UnixEventHandler(CHXExSite* pParent); -+ -+ //IUnknown methods -+ virtual HX_RESULT QueryInterface(REFIID riid, void** ppvObj); -+ virtual ULONG32 AddRef(); -+ virtual ULONG32 Release(); -+ -+ //IHXCallback methods -+ virtual HX_RESULT Func(); -+ void CancelCallback(); -+ -+ private: -+ virtual ~UnixEventHandler(); -+ -+ UnixEventHandler(); -+ UnixEventHandler(const UnixEventHandler&); -+ UnixEventHandler& operator=(const UnixEventHandler& it ); -+ -+ CHXExSite* m_pParent; -+ LONG32 m_lRefCount; -+ CallbackHandle m_cbHandle; -+ -+ IUnknown* m_pUnkPlayer; -+ }; -+ -+ -+ // -+ // CHXBaseSite inherited methods -+ // -+ virtual void _NeedWindowedSite(); -+ virtual void _AttachWindow(); -+ virtual void _DetachWindow(); -+ virtual void* _Create(void* ParentWindow, UINT32 style); -+ virtual void _Destroy(HXxWindow* pWindow); -+ virtual void _SetSize(HXxSize size); -+ virtual void _SetPosition(HXxPoint position); -+ virtual void _DamageRect(HXxRect rect); -+ virtual void _DamageRegion(HXxRegion rect); -+ virtual HXBOOL _ShouldEnterForceRedraw(); -+ virtual void _ExitForceRedraw(); -+ virtual void _SendOSUpdateMessage(); -+ virtual void _ShowSite(HXBOOL bShow); -+ virtual HXBOOL _AtSystemTime(); -+ virtual void _GetDeviceCaps( void* hdc, -+ UINT16& uBitesPerPixel, -+ UINT16& uHorzRes, -+ UINT16& uVertRes ); -+ virtual void _GetWindowRect(HXxRect* destRect); -+ virtual void _DestroySliders(); -+ virtual HXBOOL _HandleOSEvents(HXxEvent* pEvent); -+ virtual HXBOOL _ConvertToHXEvent(HXxEvent* pEvent); -+ virtual void _GenerateOSEvent(HXxEvent* pEvent, HXxEvent* pEvent2); -+ virtual void _GenerateSetCursorEvent(); -+ virtual void _TryCreateXSlider(); -+ virtual void _SetXSliderValues(INT32 range, INT32 pageSize); -+ virtual void _TryCreateYSlider(); -+ virtual void _SetYSliderValues(INT32 range, INT32 pageSize); -+ virtual void _GetSystemSizeOfSliders(INT32* pWidth, INT32* pHeight); -+ virtual HXBOOL _IsWindowVisible(); -+ virtual void _ShowXSlider(HXBOOL bShow); -+ virtual void _MoveXSlider( INT32 left, -+ INT32 top, -+ INT32 right, -+ INT32 bottom, -+ HXBOOL bRedraw ); -+ virtual void _ShowYSlider(HXBOOL bShow); -+ virtual void _MoveYSlider( INT32 left, -+ INT32 top, -+ INT32 right, -+ INT32 bottom, -+ HXBOOL bRedraw); -+ virtual HXBOOL _DoesXSliderExist(); -+ virtual void* _GetContainingWindow(); -+ virtual void _GetCursorPos(HXxPoint* pPoint); -+ virtual void _MapPointToOSWindow(HXxPoint* pPt, void** pWindowHandle); -+ virtual void* _GetWindowWithCursor(); -+ virtual void _ReInitPrimarySurface(); -+ virtual HXBOOL _MoveWindow( void* , -+ INT32 X, -+ INT32 Y, -+ INT32 nWidth, -+ INT32 nHeight, -+ HXBOOL bRepaint); -+ virtual HXBOOL _UpdateWindow(void* hWnd); -+ virtual HXBOOL _ShowWindow(void* hWnd, INT32 nCmdShow); -+ virtual HXBOOL _SetWindowPos(void* hWnd, -+ void* hWndInsertAfter, -+ INT32 X, -+ INT32 Y, -+ INT32 cx, -+ INT32 cy, -+ INT32 uFlags); -+ virtual HXBOOL _SetWindowRgn(void* hWnd, HXREGION* hRgn, HXBOOL bRedraw); -+ virtual void _SetFocus(void* pWindow); -+ -+ virtual HX_RESULT _EnterFullScreen(HXxWindow* pWindow = NULL); -+ virtual HX_RESULT _EventOccurred(HXxEvent* pEvent); -+ virtual HX_RESULT _ExitFullScreen(); -+ virtual HX_RESULT _TestFullScreen( void* hTestBitmap, -+ const char* pszStatusText ); -+ virtual HX_RESULT _EnterFullScreenExt(HXxWindow* pWindow, IHXValues* pValues); -+ virtual HX_RESULT _ExitFullScreenExt(); -+#if defined(HELIX_CONFIG_MOBLIN) -+ static void AttachWindowCallback(void *pParam); -+ static void ForceRedrawCallback(void *pParam); -+ void RemovePendingCallback(CHXGenericCallback* pCB); -+ -+ CHXGenericCallback* m_pAttachWindowCallback; -+ CHXGenericCallback* m_pForceRedrawCallback; -+#endif -+ HXBOOL m_bReparent; -+ -+private: -+ -+ //Protect unintentional copy and default ctors. -+ CHXExSite(); -+ CHXExSite( const CHXExSite& ); -+ CHXExSite& operator=( const CHXExSite& it ); -+ HX_RESULT _EnterFullScreenNoNewWindow(); -+ -+ //member vars. -+ UnixEventHandler* m_pUnixEventHandler; -+ static Cursor zm_GrabCursor; -+ Window m_ScrollHorizButtonL; -+ Window m_ScrollHorizButtonR; -+ Window m_ScrollVertButtonT; -+ Window m_ScrollVertButtonB; -+ Window m_winFullScreenWindow; -+ Window m_winOldParent; -+ HXxPoint m_ptScrollHorizPosL; -+ HXxPoint m_ptScrollHorizPosR; -+ HXxPoint m_ptScrollVertPosT; -+ HXxPoint m_ptScrollVertPosB; -+ HXxPoint m_ptFullScreenOffset; -+ HXxSize m_PreFullScreenSize; -+ HXBOOL m_bScrollingInProgress; -+ int m_nScrollDir; -+ HXBOOL m_bLastPointInSite; -+ HXBOOL m_bDamaged; -+ // -+ //Private helpers... -+ // -+ -+ //returns the HX_VK associated with this keysym.... -+ UINT32 _MapKeySymToHXVK(KeySym tmpSym, UINT32& uFlags); -+ on_new_frame_cb_t m_on_new_frame_cb; -+ void *m_context; -+}; -+ -+#endif //_UNIXSITE_H -Index: helix-libs/clientapps/clutter/exsitsup.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exsitsup.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,455 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifdef _WIN16 -+#include -+#endif -+ -+#include "hxcom.h" -+#include "hxtypes.h" -+#include "hxwintyp.h" -+#include "hxwin.h" -+#include "ihxpckts.h" -+#include "hxcomm.h" -+#include "fivemmap.h" -+#include "hxstring.h" // CHXString -+#include "exsite.h" -+#include "exsitsup.h" -+#include "pckunpck.h" // CreateBufferCCF -+#include "ciddefs.h" // CID_RGB32 -+#if defined(HELIX_FEATURE_PNG) -+#include "pxpngenc.h" // PXPNGEncode::EncodeToPNGBuffer -+#endif // HELIX_FEATURE_PNG -+#include "print.h" -+ -+ -+#include "globals.h" -+struct _stGlobals*& GetGlobal(); -+ -+/************************************************************************ -+ * Method: -+ * Constructor -+ */ -+ ExampleSiteSupplier::ExampleSiteSupplier(IUnknown* pUnkPlayer, on_new_frame_cb_t on_new_frame_cb = NULL, void *context = NULL) -+ : m_lRefCount(0) -+ , m_pSiteManager(NULL) -+ , m_pSite(NULL) -+ , m_pSiteCapture(NULL) -+ , m_pCaptureBuffer(NULL) -+ , m_pCCF(NULL) -+ , m_pUnkPlayer(pUnkPlayer) -+ , m_on_new_frame_cb(on_new_frame_cb) -+ , m_context(context) -+{ -+ if (m_pUnkPlayer) -+ { -+ m_pUnkPlayer->QueryInterface(IID_IHXSiteManager, -+ (void**)&m_pSiteManager); -+ -+ //printf("pauldebug:m_pUnkplayer->QueryInterface for m_pCCF calling\n"); -+ m_pUnkPlayer->QueryInterface(IID_IHXCommonClassFactory, -+ (void**)&m_pCCF); -+ //printf("pauldebug:m_pUnkplayer->QueryInterface for m_pCCF called\n"); -+ -+ m_pUnkPlayer->AddRef(); -+ } -+}; -+ -+/************************************************************************ -+ * Method: -+ * Destructor -+ */ -+ExampleSiteSupplier::~ExampleSiteSupplier() -+{ -+ HX_RELEASE(m_pSiteManager); -+ HX_RELEASE(m_pSite); -+ HX_RELEASE(m_pSiteCapture); -+ HX_RELEASE(m_pCaptureBuffer); -+ HX_RELEASE(m_pCCF); -+ HX_RELEASE(m_pUnkPlayer); -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::QueryInterface -+ */ -+ STDMETHODIMP -+ExampleSiteSupplier::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXSiteSupplier*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXSiteSupplier)) -+ { -+ AddRef(); -+ *ppvObj = (IHXSiteSupplier*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::AddRef -+ */ -+ STDMETHODIMP_(ULONG32) -+ExampleSiteSupplier::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::Release -+ */ -+ STDMETHODIMP_(ULONG32) -+ExampleSiteSupplier::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXSiteSupplier::SitesNeeded -+ * Purpose: -+ * Called to inform the site supplier that a site with a particular -+ * set of characteristics is needed. If the site supplier can -+ * fulfill the request it should call the site manager and add one -+ * or more new sites. -+ * Note that the request for sites is associated with a Request ID -+ * the client core will inform the site supplier when this requested -+ * site is no longer needed. -+ */ -+STDMETHODIMP -+ExampleSiteSupplier::SitesNeeded -+( -+ UINT32 uRequestID, -+ IHXValues* pProps -+ ) -+{ -+ /* -+ * Don't create a site if the -NULL_RENDER command line option -+ * was given. - jfarr -+ */ -+ if (GetGlobal()->g_bNullRender) -+ { -+ return (HXR_OK); -+ } -+ -+ /* -+ * If there are no properties, then we can't really create a -+ * site, because we have no idea what type of site is desired! -+ */ -+ if (!pProps) -+ { -+ return HXR_INVALID_PARAMETER; -+ } -+ -+ HRESULT hres = HXR_OK; -+ IHXValues* pSiteProps = NULL; -+ IHXSiteWindowed* pSiteWindowed = NULL; -+ IHXBuffer* pValue = NULL; -+ UINT32 style = 0; -+ IHXSite* pSite = NULL; -+ -+#if 0 -+ // Just let the RMA client core create a windowed site for us. -+ hres = m_pCCF->CreateInstance(CLSID_IHXSiteWindowed,(void**)&pSiteWindowed); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+#else -+ { -+ *(void **)&pSiteWindowed = (IUnknown*)(IHXSiteWindowed*)(new CHXExSite(GetGlobal()->pMediaPlatform, NULL, 0, m_on_new_frame_cb, m_context)); -+ hres = ((IUnknown*)*(void **)&pSiteWindowed)->QueryInterface(IID_IHXSiteWindowed, (void**)&pSiteWindowed); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+ } -+#endif -+ -+ hres = pSiteWindowed->QueryInterface(IID_IHXSite,(void**)&pSite); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+ -+ if( !m_pSite ) -+ { -+ m_pSite = pSite; -+ m_pSite->AddRef(); -+ } -+ -+ -+ hres = pSiteWindowed->QueryInterface(IID_IHXValues,(void**)&pSiteProps); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+ -+ /* -+ * We need to figure out what type of site we are supposed to -+ * to create. We need to "switch" between site user and site -+ * properties. So look for the well known site user properties -+ * that are mapped onto sites... -+ */ -+ hres = pProps->GetPropertyCString("playto",pValue); -+ if (HXR_OK == hres) -+ { -+ pSiteProps->SetPropertyCString("channel",pValue); -+ HX_RELEASE(pValue); -+ } -+ else -+ { -+ hres = pProps->GetPropertyCString("name",pValue); -+ if (HXR_OK == hres) -+ { -+ pSiteProps->SetPropertyCString("LayoutGroup",pValue); -+ HX_RELEASE(pValue); -+ } -+ } -+ -+#ifdef _WINDOWS -+ style = WS_OVERLAPPED | WS_VISIBLE | WS_CLIPCHILDREN; -+#endif -+ -+ hres = pSiteWindowed->Create(NULL, style); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+ -+ /* -+ * We need to wait until we have set all the properties before -+ * we add the site. -+ */ -+ hres = m_pSiteManager->AddSite(pSite); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+#ifdef _WINDOWS -+ { -+ HXxWindow* pWindow = pSiteWindowed->GetWindow(); -+ if (pWindow && pWindow->window) ::SetForegroundWindow( (HWND)(pWindow->window) ); -+ } -+#endif -+ m_CreatedSites.SetAt((void*)uRequestID,pSite); -+ pSite->AddRef(); -+ -+exit: -+ -+ HX_RELEASE(pSiteProps); -+ HX_RELEASE(pSiteWindowed); -+ HX_RELEASE(pSite); -+ -+ return hres; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXSiteSupplier::SitesNotNeeded -+ * Purpose: -+ * Called to inform the site supplier that all sites from a previos -+ * site request are no longer needed. If the site supplier had -+ * previously created non-persistant sites (like popup windows) -+ * to fulfill a request for sites it should call the site manager -+ * and remove those sites. -+ */ -+STDMETHODIMP -+ExampleSiteSupplier::SitesNotNeeded(UINT32 uRequestID) -+{ -+ IHXSite* pSite = NULL; -+ IHXSiteWindowed* pSiteWindowed = NULL; -+ void* pVoid = NULL; -+ -+ if (!m_CreatedSites.Lookup((void*)uRequestID,pVoid)) -+ { -+ return HXR_INVALID_PARAMETER; -+ } -+ pSite = (IHXSite*)pVoid; -+ -+ m_pSiteManager->RemoveSite(pSite); -+ -+ // Need to actually do the work on destroying the window -+ // and all that jazz. -+ pSite->QueryInterface(IID_IHXSiteWindowed,(void**)&pSiteWindowed); -+ -+ pSiteWindowed->Destroy(); -+ -+ // ref count = 2 -+ pSiteWindowed->Release(); -+ -+ // ref count = 1; deleted from this object's view! -+ pSite->Release(); -+ -+ m_CreatedSites.RemoveKey((void*)uRequestID); -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXSiteSupplier::BeginChangeLayout -+ * Purpose: -+ * Called to inform the site supplier a layout change has beginning -+ * it can expect to recieve SitesNeeded() and SitesNotNeeded() calls -+ * while a layout change is in progress, -+ */ -+STDMETHODIMP -+ExampleSiteSupplier::BeginChangeLayout() -+{ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXSiteSupplier::DoneChangeLayout -+ * Purpose: -+ * Called to inform the site supplier the layout change has been -+ * completed. -+ */ -+STDMETHODIMP -+ExampleSiteSupplier::DoneChangeLayout() -+{ -+ return HXR_OK; -+} -+ -+HX_RESULT -+ExampleSiteSupplier::CaptureImage(CHXString pszFileName, INT32 dWidth, INT32 dHeight) -+{ -+ HX_RESULT res=HXR_FAIL; -+ -+ // Get the IHXSiteCapture object from the site -+ if (m_pSiteCapture == NULL) -+ { -+ if (m_pSite && m_pSite->QueryInterface(IID_IHXSiteCapture, (void**)&m_pSiteCapture) == HXR_OK) -+ { -+ m_pSiteCapture->AddRef(); -+ } -+ } -+ -+ // Create the buffer that will receive the image data -+ if (m_pCaptureBuffer == NULL) -+ { -+ CreateBufferCCF(m_pCaptureBuffer, m_pCCF); -+ if (!m_pCaptureBuffer) -+ { -+ return HXR_OUTOFMEMORY; -+ } -+ } -+ -+ HXBOOL bCanCapture = FALSE; -+ -+ // Check if the site is available to capture an image -+ if (m_pSiteCapture && (res = m_pSiteCapture->CanCapture(bCanCapture)) == HXR_OK && bCanCapture) -+ { -+ HX_RESULT res; -+ HXxSize outputSize; -+ outputSize.cx = dWidth; -+ outputSize.cy = dHeight; -+ m_strFileName = pszFileName; -+ -+ // Asynchronous call. CaptureDone() will be called with result. -+ res = m_pSiteCapture->Capture((IHXSiteCaptureResponse*)this, m_pCaptureBuffer, &outputSize, CID_RGB32); -+ } -+ -+ return res; -+ -+} -+ -+// -+// IHXSiteCaptureResponse::CaptureDone -+// -+// Called when the site has captured the next frame. -+// bmiOutputFormat points to image format description which -+// is valid until the completion of CaptureDone. -+// bmiOutputFormat can be different for every capture. -+// pCaptureBuffer holds the image if supplied in -+// Capture() method. pCaptureBuffer is automatically -+// resized if it has insufficient size to hold the image -+// data. -+// -+// status may be: -+// HXR_FAIL -- No capture was done. General Error. All data is invalid. -+// HXR_OK -- Capture was done. Both variables are valid. -+STDMETHODIMP -+ExampleSiteSupplier::CaptureDone(REF(HX_RESULT) status, -+ REF(HXBitmapInfoHeader) bmiOutputFormat, -+ REF(IHXBuffer*) pCaptureBuffer) -+{ -+ if (status == HXR_OK) -+ { -+#if defined(HELIX_FEATURE_PNG) -+ // Convert capture buffer into PNG -+ IHXBuffer* pConvertedBuffer=NULL; -+ HX_RESULT res = HXR_OK; -+ res = PXPNGEncode::EncodeToPNGBuffer(pCaptureBuffer, &bmiOutputFormat, m_pCCF, pConvertedBuffer); -+ if (res == HXR_OK && !m_strFileName.IsEmpty()) -+ { -+ CHXString strTail = m_strFileName.Right(4); -+ if (strTail.CompareNoCase(".png") != 0) -+ { -+ m_strFileName += ".png"; -+ } -+ -+ FILE* fp = fopen(m_strFileName, "wb"); -+ if (fp) -+ { -+ fwrite(pConvertedBuffer->GetBuffer(), 1, pConvertedBuffer->GetSize(), fp); -+ fclose(fp); -+ STDOUT("Captured image to PNG file: %s\n", (const char*)m_strFileName); -+ STDOUT("File size: %ld\n", pConvertedBuffer->GetSize()); -+ } -+ HX_RELEASE(pConvertedBuffer); -+ } -+#endif // HELIX_FEATURE_PNG -+ } -+ -+ return status; -+} -Index: helix-libs/clientapps/clutter/exsitsup.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exsitsup.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,154 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXSITSUP_H_ -+#define _EXSITSUP_H_ -+ -+#include "fivemmap.h" -+#include "player.h" -+ -+/**************************************************************************** -+ * -+ * Class: -+ * -+ * ExampleSiteSupplier -+ * -+ * Purpose: -+ * -+ * Implementation for ragui's IHXSiteSupplier -+ * -+ */ -+class ExampleSiteSupplier : -+ public IHXSiteSupplier -+ , public IHXSiteCaptureResponse -+{ -+private: -+ LONG32 m_lRefCount; -+ IHXSiteManager* m_pSiteManager; -+ IHXSite* m_pSite; -+ IHXSiteCapture* m_pSiteCapture; -+ IHXBuffer* m_pCaptureBuffer; -+ IHXCommonClassFactory* m_pCCF; -+ IUnknown* m_pUnkPlayer; -+ FiveMinuteMap m_CreatedSites; -+ CHXString m_strFileName; -+ on_new_frame_cb_t m_on_new_frame_cb; -+ void * m_context; -+ -+ ~ExampleSiteSupplier(); -+ -+public: -+ ExampleSiteSupplier(IUnknown* pUnkPlayer, on_new_frame_cb_t new_frame_cb = NULL, void *context = NULL); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXSiteSupplier methods -+ */ -+ -+ /************************************************************************ -+ * Method: -+ * IHXSiteSupplier::SitesNeeded -+ * Purpose: -+ * Called to inform the site supplier that a site with a particular -+ * set of characteristics is needed. If the site supplier can -+ * fulfill the request it should call the site manager and add one -+ * or more new sites. -+ * Note that the request for sites is associated with a Request ID -+ * the client core will inform the site supplier when this requested -+ * site is no longer needed. -+ */ -+ STDMETHOD(SitesNeeded) (THIS_ -+ UINT32 uRequestID, -+ IHXValues* pSiteProps); -+ -+ /************************************************************************ -+ * Method: -+ * IHXSiteSupplier::SitesNotNeeded -+ * Purpose: -+ * Called to inform the site supplier that all sites from a previos -+ * site request are no longer needed. If the site supplier had -+ * previously created non-persistant sites (like popup windows) -+ * to fulfill a request for sites it should call the site manager -+ * and remove those sites. -+ */ -+ STDMETHOD(SitesNotNeeded) -+ (THIS_ -+ UINT32 uRequestID); -+ -+ -+ /************************************************************************ -+ * Method: -+ * IHXSiteSupplier::BeginChangeLayout -+ * Purpose: -+ * Called to inform the site supplier a layout change has beginning -+ * it can expect to recieve SitesNeeded() and SitesNotNeeded() calls -+ * while a layout change is in progress, -+ */ -+ STDMETHOD(BeginChangeLayout) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXSiteSupplier::DoneChangeLayout -+ * Purpose: -+ * Called to inform the site supplier the layout change has been -+ * completed. -+ */ -+ STDMETHOD(DoneChangeLayout) (THIS); -+ -+ /* -+ * IHXSiteCaptureResponse -+ */ -+ STDMETHOD(CaptureDone) (THIS_ -+ REF(HX_RESULT) status, -+ REF(HXBitmapInfoHeader) bmiOutputFormat, -+ REF(IHXBuffer*) pImageDataBuffer -+ ); -+ -+ HX_RESULT CaptureImage(CHXString pFileName, INT32 dWidth, INT32 dHeight); -+ -+}; -+ -+#endif // _EXSITSUP_H_ -+ -Index: helix-libs/clientapps/clutter/exstateadvsnk.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exstateadvsnk.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,229 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+ -+#include "hxtypes.h" -+ -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxmon.h" -+#include "hxcore.h" -+#include "hxengin.h" -+#include "hxclsnk.h" -+#include "hxgroup.h" -+#include "hxstrutl.h" -+#include "exstateadvsnk.h" -+#include "hxstring.h" -+#include "hxprefs.h" -+#include "excontxt.h" -+ -+#include "print.h" -+ -+#include "globals.h" -+#include "player.h" -+ -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+#ifdef __TCS__ -+extern unsigned long gStreamTime; -+ -+static int iOpened = 0; -+ -+ -+#if defined(__cplusplus) -+extern "C" { -+#endif /* defined(__cplusplus) */ -+ -+typedef enum hookBuffering { -+ eContacting = 0, -+ eConnecting = 1, -+ eBuffering = 2, -+ ePlaying = 3 -+}hookBuffering; -+ -+void hookRealAudio_Buffering(hookBuffering connectState, int pct); -+ -+void hookRealAudio_PlayPosition(unsigned long current,unsigned long duration); -+ -+typedef enum hookState { -+ ePlay = 0, -+ ePause = 1, -+ eStop = 2, -+ eResume = 3, -+ eComplete // Clip is done playing -+}hookState; -+void hookRealAudio_State(hookState newState); -+ -+ -+#if defined(__cplusplus) -+} -+#endif /* defined(__cplusplus) */ -+ -+#endif // __TCS__ -+ -+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes); -+ -+ExampleClientStateAdviceSink::ExampleClientStateAdviceSink(IUnknown* pUnknown, LONG32 lClientIndex, on_state_change_cb_t on_state_change_cb, void *context) -+ : m_lRefCount (0) -+ , m_lClientIndex (lClientIndex) -+ , m_pUnknown (NULL) -+ , m_State (HX_CLIENT_STATE_READY) -+ , m_state_change_cb(on_state_change_cb) -+ , m_context(context) -+{ -+ if (pUnknown) -+ { -+ m_pUnknown = pUnknown; -+ m_pUnknown->AddRef(); -+ -+ IHXPlayer* pPlayer; -+ IHXClientStateAdviseSinkControl *pStateControl; -+ if(HXR_OK == m_pUnknown->QueryInterface(IID_IHXPlayer, -+ (void**)&pPlayer)) -+ { -+ m_pPlayer = pPlayer; -+ -+ -+ } -+ -+ if (HXR_OK == m_pUnknown->QueryInterface(IID_IHXClientStateAdviseSinkControl, (void **)&pStateControl)) -+ { -+ pStateControl->AddClientStateAdviseSink(this); -+ } -+ } -+ -+#ifdef __TCS__ -+ bEnableAdviceSink = TRUE; -+ iOpened = 0; -+#endif -+} -+ -+ExampleClientStateAdviceSink::~ExampleClientStateAdviceSink(void) -+{ -+ -+ if (m_pPlayer) -+ { -+ m_pPlayer->Release(); -+ m_pPlayer = NULL; -+ } -+ if (m_pUnknown) -+ { -+ m_pUnknown->Release(); -+ m_pUnknown = NULL; -+ } -+} -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleClientStateAdviceSink::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXClientStateAdviseSink *)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXClientStateAdviseSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXClientStateAdviseSink*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientStateAdviceSink::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientStateAdviceSink::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientStateAdviseSink::OnStateChange -+ * Purpose: -+ * Called to advise the client state has changed state -+ */ -+STDMETHODIMP ExampleClientStateAdviceSink::OnStateChange(UINT16 uOldState, UINT16 uNewState) -+{ -+ if (m_state_change_cb) -+ m_state_change_cb(uOldState, uNewState, m_context); -+ -+ m_State = uNewState; -+ return HXR_OK; -+} -+ -+EHXClientState ExampleClientStateAdviceSink::GetState() -+{ -+ return m_State; -+} -+ -+ -Index: helix-libs/clientapps/clutter/exstateadvsnk.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exstateadvsnk.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,108 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAMPLE_CLIENT_STATE_ADVISE_SNK_H_ -+#define _EXAMPLE_CLIENT_STATE_ADVISE_SNK_H_ -+ -+#include "player.h" -+ -+struct IHXClientStateAdviseSink; -+struct IHXGroupSink; -+struct IUnknown; -+struct IHXRegistry; -+struct IHXScheduler; -+struct IHXCallback; -+struct IHXPlayer; -+struct IHXGroup; -+ -+class ExampleClientStateAdviceSink : public IHXClientStateAdviseSink -+{ -+ private: -+ LONG32 m_lRefCount; -+ LONG32 m_lClientIndex; -+ -+ IUnknown* m_pUnknown; -+ -+ UINT32 m_ulStartTime; -+ UINT32 m_ulStopTime; -+ -+ UINT32 m_lCurrentBandwidth; -+ UINT32 m_lAverageBandwidth; -+ HXBOOL m_bOnStop; -+ -+ HXBOOL m_bWaitForTrackStart; -+ -+ on_state_change_cb_t m_state_change_cb; -+ void *m_context; -+ EHXClientState m_State; -+ -+ // IHXCallback -+ IHXPlayer* m_pPlayer; -+ ULONG32 m_hCallback; -+ ~ExampleClientStateAdviceSink(); -+ -+ -+ public: -+ -+ ExampleClientStateAdviceSink(IUnknown* /*IN*/ pUnknown, LONG32 /*IN*/ lClientIndex, on_state_change_cb_t on_state_change_cb = NULL, void *context = NULL); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /*********************************************************************** -+ * Method: -+ * IHXClientStateAdviseSink::OnStateChange -+ * Purpose: -+ * Called by client engine to inform the client that the state has changed. -+ * States are defined in the enum EHXClientState, defined in this file. -+ * -+ */ -+ STDMETHOD(OnStateChange) (THIS_ -+ UINT16 uOldState, -+ UINT16 uNewState -+ ) ; -+ -+ EHXClientState GetState(); -+}; -+ -+#endif /* _EXAMPLECLSNK_ */ -Index: helix-libs/clientapps/clutter/fivemmap.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/fivemmap.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,175 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+#include "hxtypes.h" -+#include "fivemmap.h" -+ -+void* FiveMinuteMap::GetFirstValue() -+{ -+ m_nCursor = 0; -+ -+ if (m_nMapSize) -+ { -+ return m_pValueArray[m_nCursor]; -+ } -+ else -+ { -+ return NULL; -+ } -+} -+ -+void* FiveMinuteMap::GetNextValue() -+{ -+ m_nCursor++; -+ -+ if (m_nCursor < m_nMapSize) -+ { -+ return m_pValueArray[m_nCursor]; -+ } -+ else -+ { -+ return NULL; -+ } -+} -+ -+HXBOOL FiveMinuteMap::Lookup(void* Key, void*& Value) const -+{ -+ HXBOOL bFound = FALSE; -+ int nIndex = 0; -+ -+ // If Key is alrady in the list, replace value -+ for (; nIndex < m_nMapSize; nIndex++) -+ { -+ if (m_pKeyArray[nIndex] == Key) -+ { -+ Value = m_pValueArray[nIndex]; -+ bFound = TRUE; -+ goto exit; -+ } -+ } -+ -+exit: -+ return bFound; -+} -+ -+void FiveMinuteMap::RemoveKey(void* Key) -+{ -+ HXBOOL bFound = FALSE; -+ int nIndex = 0; -+ -+ // If Key is alrady in the list, replace value -+ for (; nIndex < m_nMapSize; nIndex++) -+ { -+ if (m_pKeyArray[nIndex] == Key) -+ { -+ if (nIndex < (m_nMapSize-1)) -+ { -+ memmove(&(m_pKeyArray[nIndex]),&(m_pKeyArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1))); -+ memmove(&(m_pValueArray[nIndex]),&(m_pValueArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1))); -+ } -+ m_nMapSize--; -+ goto exit; -+ } -+ } -+ -+exit: -+ (NULL); // We're done! -+} -+ -+void FiveMinuteMap::RemoveValue(void* Value) -+{ -+ HXBOOL bFound = FALSE; -+ int nIndex = 0; -+ -+ // If Value is alrady in the list, replace value -+ for (; nIndex < m_nMapSize; nIndex++) -+ { -+ if (m_pValueArray[nIndex] == Value) -+ { -+ if (nIndex < (m_nMapSize-1)) -+ { -+ memmove(&(m_pKeyArray[nIndex]),&(m_pKeyArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1))); -+ memmove(&(m_pValueArray[nIndex]),&(m_pValueArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1))); -+ } -+ m_nMapSize--; -+ goto exit; -+ } -+ } -+ -+exit: -+ (NULL); // We're done! -+} -+ -+ -+void FiveMinuteMap::SetAt(void* Key, void* Value) -+{ -+ int nIndex = 0; -+ -+ // If Key is alrady in the list, replace value -+ for (; nIndex < m_nMapSize; nIndex++) -+ { -+ if (m_pKeyArray[nIndex] == Key) -+ { -+ m_pValueArray[nIndex] = Value; -+ goto exit; -+ } -+ } -+ -+ // If we have room, add it to the end! -+ if (m_nAllocSize == m_nMapSize) -+ { -+ m_nAllocSize += AllocationSize; -+ void** pNewKeys = new void*[m_nAllocSize]; -+ void** pNewValues = new void*[m_nAllocSize]; -+ -+ memcpy(pNewKeys,m_pKeyArray,sizeof(void*)*m_nMapSize); /* Flawfinder: ignore */ -+ memcpy(pNewValues,m_pValueArray,sizeof(void*)*m_nMapSize); /* Flawfinder: ignore */ -+ -+ delete [] m_pKeyArray; -+ delete [] m_pValueArray; -+ -+ m_pKeyArray = pNewKeys; -+ m_pValueArray = pNewValues; -+ } -+ -+ m_pKeyArray[m_nMapSize] = Key; -+ m_pValueArray[m_nMapSize] = Value; -+ m_nMapSize++; -+ -+exit: -+ (NULL); // We're done! -+} -+ -Index: helix-libs/clientapps/clutter/fivemmap.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/fivemmap.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,79 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _FIVEMMAP_H_ -+#define _FIVEMMAP_H_ -+ -+#ifndef _HXTYPES_H_ -+#error FiveMinuteMap assumes pntypes.h. -+#endif -+ -+class FiveMinuteMap -+{ -+ const int AllocationSize; -+ -+ void** m_pKeyArray; -+ void** m_pValueArray; -+ int m_nMapSize; -+ int m_nAllocSize; -+ int m_nCursor; -+public: -+ FiveMinuteMap() -+ : m_pKeyArray(NULL) -+ , m_pValueArray(NULL) -+ , m_nMapSize(0) -+ , m_nAllocSize(0) -+ , m_nCursor(0) -+ , AllocationSize(10) -+ {}; -+ -+ ~FiveMinuteMap() -+ { -+ delete [] m_pKeyArray; -+ delete [] m_pValueArray; -+ }; -+ -+ int GetCount() {return m_nMapSize;} -+ -+ void* GetFirstValue(); -+ void* GetNextValue(); -+ -+ HXBOOL Lookup(void* Key, void*& Value) const; -+ void RemoveKey(void* Key); -+ void RemoveValue(void* Value); -+ void SetAt(void* Key, void* Value); -+}; -+ -+#endif /* _FIVEMMAP_H_ */ -Index: helix-libs/clientapps/clutter/globals.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/globals.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,150 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+/**************************************************************************** -+ * -+ * Test Client: -+ * -+ * -+ * This is an test client running on Windows, Mac, and Unix without a GUI. -+ * -+ */ -+ -+#ifndef _SPLAY_GLOBALS_H -+#define _SPLAY_GLOBALS_H -+ -+#include "dllacces.h" -+#include "dllpath.h" -+#include "hxengin.h" -+#include "hxplayvelocity.h" -+#include "hxcore.h" -+#include "ihxmedpltfm.h" -+#include "excontxt.h" -+#include "preflist.h" -+ -+#define HX_COMMAND_BUFFER_SIZE 256 -+#define HX_MAX_NUM_MULTI_SEEKS 10 -+struct _stGlobals -+{ -+ _stGlobals() -+ : g_pDLLAccess(NULL), -+ g_nPlayers(0), -+ m_fpHXMediaPlatformOpen(NULL), -+ m_fpHXCreateMediaPlatform(NULL), -+ m_fpHXMediaPlatformClose(NULL), -+ m_fpCreateEngine(NULL), -+ m_fpCloseEngine(NULL), -+ m_fpSetDLLAccessPath(NULL), -+ bEnableAdviceSink(FALSE), -+ bEnableVerboseMode(FALSE), -+ g_bEnableSlowStart(TRUE), -+ g_bOnBeginOccurred(FALSE), -+ g_pszUsername( NULL), -+ g_pszPassword(NULL), -+ g_pszGUIDFile(NULL), -+ g_pszGUIDList(NULL), -+ g_Error(HXR_OK), -+ g_ulNumSecondsPlayed(0), -+ pMediaPlatform(NULL), -+ g_pIHXKicker(NULL), -+ bUseLegacyAPIs(FALSE), -+ pEngine(NULL), -+ g_pQuickSeek(NULL), -+ g_bNullRender(FALSE), -+ g_bUserStop(FALSE), -+ g_bInitVelocity(FALSE), -+ g_bABD(FALSE), -+ g_pVelocityCaps(NULL), -+ g_ulNumMultiSeeks(0), -+ g_ulMultiSeekIndex(0), -+ g_bMultiSeek(FALSE), -+ g_uThreadIDForKicker(-1) -+ { -+ memset(g_szCommandBuffer, 0, HX_COMMAND_BUFFER_SIZE); -+ memset(g_szPriorCommandBuffer, 0, HX_COMMAND_BUFFER_SIZE); -+ memset(g_Players, 0, sizeof(g_Players)); -+ memset(g_pszURLs, 0, sizeof(g_pszURLs)); -+ memset(g_pClientContexts, 0, sizeof(g_pClientContexts)); -+ } -+ -+ #define MAX_NUM_PLAYERS 256 -+ IHXPlayer* g_Players[MAX_NUM_PLAYERS]; -+ char *g_pszURLs[MAX_NUM_PLAYERS]; -+ ExampleClientContext *g_pClientContexts[MAX_NUM_PLAYERS]; -+ int g_nPlayers; -+ DLLAccessPath g_statclnt; -+ DLLAccess* g_pDLLAccess; -+ CHXPrefList g_prefList; -+ -+ FPHXMEDIAPLATFORMOPEN m_fpHXMediaPlatformOpen; -+ FPHXCREATEMEDIAPLATFORM m_fpHXCreateMediaPlatform; -+ FPHXMEDIAPLATFORMCLOSE m_fpHXMediaPlatformClose; -+ -+ FPRMCREATEENGINE m_fpCreateEngine; -+ FPRMCLOSEENGINE m_fpCloseEngine; -+ FPRMSETDLLACCESSPATH m_fpSetDLLAccessPath; -+ -+ HXBOOL bEnableAdviceSink; -+ HXBOOL bEnableVerboseMode; -+ HXBOOL g_bEnableSlowStart; -+ HXBOOL g_bOnBeginOccurred; -+ char* g_pszUsername; -+ char* g_pszPassword; -+ char* g_pszGUIDFile; -+ char* g_pszGUIDList; -+ HX_RESULT g_Error; -+ UINT32 g_ulNumSecondsPlayed; -+ IHXMediaPlatform* pMediaPlatform; -+ IHXMediaPlatformKicker* g_pIHXKicker; -+ UINT32 g_uThreadIDForKicker; -+ pthread_t g_pThreadKickmanId; -+ HXBOOL bUseLegacyAPIs; -+ IHXClientEngine* pEngine; -+ IHXQuickSeek* g_pQuickSeek; -+ HXBOOL g_bNullRender; -+ HXBOOL g_bUserStop; -+ HXBOOL g_bInitVelocity; -+ HXBOOL g_bABD; -+ IHXPlaybackVelocityCaps* g_pVelocityCaps; -+ HXBOOL g_bMultiSeek; -+ UINT32 g_ulMultiSeekTime[HX_MAX_NUM_MULTI_SEEKS]; -+ UINT32 g_ulNumMultiSeeks; -+ UINT32 g_ulMultiSeekIndex; -+ char g_szCommandBuffer[HX_COMMAND_BUFFER_SIZE]; -+ char g_szPriorCommandBuffer[HX_COMMAND_BUFFER_SIZE]; -+}; -+ -+ -+#endif // _SPLAY_GLOBALS_H -Index: helix-libs/clientapps/clutter/iids.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/iids.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,50 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+// define all guids here once... -+#define INITGUID -+#define NCIHACK -+#include "hxtypes.h" -+#include "hxcom.h" -+#include "hxiids.h" -+#include "hxpiids.h" -+#if defined _WINDOWS -+#if defined (HELIX_FEATURE_DIRECT_SOUND) -+#include "dsound.h" -+#endif /* HELIX_FEATURE_DIRECT_SOUND */ -+#if defined (HELIX_FEATURE_VIDEO) && !defined(_WINCE) -+#include "ddraw.h" -+#endif /* HELIX_FEATURE_VIDEO */ -+#endif -Index: helix-libs/clientapps/clutter/linux2.pcf -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/linux2.pcf 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,42 @@ -+# -+# ***** BEGIN LICENSE BLOCK ***** -+# Version: RCSL 1.0/RPSL 1.0 -+# -+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+# -+# The contents of this file, and the files included with this file, are -+# subject to the current version of the RealNetworks Public Source License -+# Version 1.0 (the "RPSL") available at -+# http://www.helixcommunity.org/content/rpsl unless you have licensed -+# the file under the RealNetworks Community Source License Version 1.0 -+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+# in which case the RCSL will apply. You may also obtain the license terms -+# directly from RealNetworks. You may not use this file except in -+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+# applicable to this file, the RCSL. Please see the applicable RPSL or -+# RCSL for the rights, obligations and limitations governing use of the -+# contents of the file. -+# -+# This file is part of the Helix DNA Technology. RealNetworks is the -+# developer of the Original Code and owns the copyrights in the portions -+# it created. -+# -+# This file, and the files included with this file, is distributed and made -+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+# -+# Technology Compatibility Kit Test Suite(s) Location: -+# http://www.helixcommunity.org/content/tck -+# -+# Contributor(s): -+# -+# ***** END LICENSE BLOCK ***** -+# -+ -+project.AddSystemLibraries("dl", "m", "pthread") -+ -+if (project.IsDefined("HELIX_FEATURE_VIDEO") and -+ project.IsDefined("USE_XWINDOWS")): -+ project.AddSystemLibraries("X11") -Index: helix-libs/clientapps/clutter/player.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/player.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,1057 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+/**************************************************************************** -+ * -+ * Test Client: -+ * -+ * -+ * This is an test client running on Windows, Mac, and Unix without a GUI. -+ * -+ */ -+#include "hxtypes.h" -+ -+#include -+ -+#include "hlxclib/time.h" -+#include "ihxmedpltfm.h" -+#include "hxwintyp.h" -+#include "hxcom.h" -+#include "ihxpckts.h" -+#include "hxcomm.h" -+#include "hxmon.h" -+#include "hxfiles.h" -+#include "hxengin.h" -+#include "hxcore.h" -+#include "hxclsnk.h" -+#include "hxgroup.h" -+#include "hxerror.h" -+#include "hxauth.h" -+#include "hxwin.h" -+#include "hxprefs.h" -+#include "hxtbuf.h" -+#include "fivemmap.h" -+#include "dllacces.h" -+#include "hxausvc.h" -+#include "hxstrutl.h" -+#include "hxgroup.h" -+#include "hxwin.h" -+#include "hxtick.h" -+#include "hxbuffer.h" -+#include "hxplayvelocity.h" -+#include "pckunpck.h" // For CreateAndSetBufferCCF() -+#include "hxvctrl.h" -+#include "hxbsrc.h" -+#include "excallback.h" -+#include "pthread.h" -+ -+#if defined(HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION) -+#include "hxpfs.h" -+#endif // HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION. -+ -+#if defined(HELIX_FEATURE_PREFERENCES) -+#include "preflist.h" -+#endif /* #if defined(HELIX_FEATURE_PREFERENCES) */ -+#include "exadvsnk.h" -+#include "exerror.h" -+#include "exsitsup.h" -+#include "exaumgr.h" -+#if defined(_WIN32) -+#include "exabd.h" -+#endif -+#include "excontxt.h" -+#include "print.h" -+#if defined(USE_XWINDOWS) -+#include -+#endif -+#if defined (_UNIX) -+#include -+#include -+#include -+#include -+#include -+#endif -+#if defined(_WINDOWS) -+#include -+#endif -+ -+#ifdef __TCS__ -+#include -+#if defined(__cplusplus) -+extern "C" { -+#endif /* defined(__cplusplus) */ -+ extern unsigned long tmosTimSleep(unsigned long ticks); -+ unsigned long gForcePlayerToStop = 0; -+#if defined(__cplusplus) -+} -+#endif /* defined(__cplusplus) */ -+#endif -+ -+#if defined (_MACINTOSH) || defined (_MAC_UNIX) -+bool gMacPlayerIsDone = false; -+#endif -+ -+ -+#if defined _VXWORKS -+#include "sys/times.h" -+#include "string.h" -+#include "hxtime.h" -+#endif -+ -+#if defined(_MACINTOSH) -+#ifndef _MAC_MACHO -+#include -+#include -+#endif -+#endif -+ -+#include "dllpath.h" -+ -+#ifdef _SYMBIAN -+#include -+#include "platform/symbian/symbian_event_hndlr.h" -+#endif -+ -+ENABLE_DLLACCESS_PATHS(g_SPlayAccessPath); -+ -+// typedef for SetDLLAccessPath -+ -+ -+#include "thrdutil.h" -+ -+#if defined(_AIX) -+#include -+#endif -+ -+#if defined _DEBUG || defined DEBUG -+#include "debug.h" -+#endif -+ -+#ifndef MAX_PATH -+#define MAX_PATH 256 -+#endif //!MAX_PATH -+ -+#if defined(HELIX_CONFIG_NOSTATICS) -+# include "globals/hxglobals.h" -+#endif -+ -+#define MAX_NUM_URLS 10 -+ -+#include "globals.h" //for global struct. -+ -+#include "player.h" -+ -+#if defined(_WINDOWS) && defined(_STATICALLY_LINKED) -+HINSTANCE g_hInstance = NULL; -+#endif -+ -+struct _stGlobals*& GetGlobal() -+{ -+#if defined(HELIX_CONFIG_NOSTATICS) -+ static const struct _stGlobals* const _g_pstGlobals = NULL; -+ struct _stGlobals*& g_pstGlobals = (struct _stGlobals*&)HXGlobalPtr::Get(&_g_pstGlobals); -+#else -+ static struct _stGlobals* g_pstGlobals = NULL; -+#endif -+ if( g_pstGlobals == NULL ) -+ { -+ g_pstGlobals = new struct _stGlobals(); -+ } -+ return g_pstGlobals; -+ -+} -+ -+ -+// Constants -+const int DEFAULT_TIME_DELTA = 2000; -+const int DEFAULT_STOP_TIME = -1; -+const int SLEEP_TIME = 5; -+const int GUID_LEN = 64; -+ -+// Function prototypes -+void PrintUsage(const char* pszAppName); -+HXBOOL AllPlayersDone(int nNumPlayers, IHXPlayer** ppPlayers); -+void StopAllPlayers(int nNumPlayers, IHXPlayer** ppPlayers); -+HXBOOL ReadGUIDFile(); -+char* GetAppName(char* pszArgv0); -+ -+#ifdef __TCS__ -+#if defined(__cplusplus) -+extern "C" { -+#endif /* defined(__cplusplus) */ -+ -+ extern void _alloc_stats(int verbose); -+#if defined(__cplusplus) -+} -+#endif /* defined(__cplusplus) */ -+ -+static IHXPlayer** g_Players; -+static int g_nPlayers = 0; -+static long evtCount = 0; -+static long evtFullCount = 0; -+#endif -+ -+ -+ -+#if defined(HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION) -+HX_RESULT -+DumpPFdata(IHXPresentationFeatureManager* pPFMgr, -+ const char* pszPFName) -+{ -+ HX_RESULT hxr = HXR_OK; -+ -+ IHXBuffer* pFeatureCurrentSetting = NULL; -+ IHXValues* pFeatureOptions = NULL; -+ -+ if (!pPFMgr || !pszPFName) -+ { -+ hxr = HXR_INVALID_PARAMETER; -+ } -+ else -+ { -+ // List all the options for this PF: -+ HX_RESULT hxr = pPFMgr->GetPresentationFeature( -+ pszPFName, -+ pFeatureCurrentSetting, -+ pFeatureOptions); -+ -+ if (FAILED(hxr)) -+ { -+ // PF doesn't exist! -+ STDOUT("\t%s - No such presentation feature\n\n", pszPFName); -+ } -+ else -+ { -+ // Now, go through pFeatureOptions and display -+ // them and their "is-selectable"-flag values: -+ const char* pszPFOptionName = NULL; -+ const char* pszPFCurSetting = pFeatureCurrentSetting? -+ (const char*)pFeatureCurrentSetting->GetBuffer() : NULL; -+ UINT32 bPFOptionIsSelectableFlag = FALSE; -+ IHXBuffer* pPFOptionIsSelectableFlag = NULL; -+ -+ HX_ASSERT(pszPFCurSetting); -+ STDOUT("\t%s\t(Current setting == \"%s\")\n", pszPFName, pszPFCurSetting? -+ pszPFCurSetting : ""); -+ -+ if (!pFeatureOptions) // NULL is OK; that means freeform (open-ended): -+ { -+ STDOUT("\t\t(%s's options are freeform, i.e., open-ended)\n", -+ pszPFName); -+ } -+ else // List all the options and their flags: -+ { -+ if (HXR_OK == pFeatureOptions->GetFirstPropertyCString(pszPFOptionName, -+ pPFOptionIsSelectableFlag) && *pszPFOptionName) -+ { -+ do -+ { -+ const UCHAR* pIsSelFlag = pPFOptionIsSelectableFlag->GetBuffer(); -+ if (pIsSelFlag && *pIsSelFlag) -+ { -+ // Anything but '0' (zero) is treated as '1' (is selectable): -+ bPFOptionIsSelectableFlag = (HXBOOL)('0' != *pIsSelFlag && -+ '\0' == *(pIsSelFlag+1)); -+ } -+ else -+ { -+ // Set the error, but we'll go ahead and treat it as '0': -+ hxr = HXR_INVALID_PARAMETER; -+ bPFOptionIsSelectableFlag = FALSE; -+ } -+ -+ STDOUT("\t\t%s\t\tIs selectable: %s\n", -+ pszPFOptionName, bPFOptionIsSelectableFlag? "yes":"no"); -+ // Release it to get the next PF: -+ HX_RELEASE(pPFOptionIsSelectableFlag); -+ } while (HXR_OK == pFeatureOptions->GetNextPropertyCString( -+ pszPFOptionName, pPFOptionIsSelectableFlag)); -+ } -+ } -+ -+ HX_RELEASE(pPFOptionIsSelectableFlag); -+ } -+ } -+ -+ HX_RELEASE(pFeatureCurrentSetting); -+ HX_RELEASE(pFeatureOptions); -+ -+ return hxr; -+} -+#endif // HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION. -+ -+ -+char* RemoveWrappingQuotes(char* str) -+{ -+ int len = strlen(str); -+ if (len > 0) -+ { -+ if (str[len-1] == '"') str[--len] = 0; -+ if (str[0] == '"') { int i = 0; do { str[i++] = str[i+1]; } while(--len); } -+ } -+ return str; -+} -+ -+void *kickman(void *dummy) -+{ -+ while(1) { -+ UINT32 sleepTime = 0; -+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker; -+ if( pKicker ) -+ { -+ pKicker->Kick(GetGlobal()->g_uThreadIDForKicker, &sleepTime); -+ } -+ usleep(sleepTime); -+ } -+} -+ -+PLAYER_API int init_main( ) -+{ -+#if defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC) -+ setvbuf(stdout, NULL, _IONBF, 0); -+#endif /* defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC) */ -+ -+ FPHXMEDIAPLATFORMOPEN fpHXMediaPlatformOpen = NULL; -+ FPHXCREATEMEDIAPLATFORM fpHXCreateMediaPlatform = NULL; -+ FPHXMEDIAPLATFORMCLOSE fpHXMediaPlatformClose = NULL; -+ -+ FPRMCREATEENGINE fpCreateEngine = NULL; -+ FPRMCLOSEENGINE fpCloseEngine = NULL; -+ FPRMSETDLLACCESSPATH fpSetDll = NULL; -+ -+ HX_RESULT theErr = HXR_OK; -+ ExampleClientContext** ppExContexts = NULL; -+#if defined(HELIX_FEATURE_AUTO_BANDWIDTH_DETECTION) && defined(_WIN32) -+ ExampleABD* pABD = NULL; -+#endif -+ IHXPlayer** ppPlayers = NULL; -+ IHXQuickSeek* ppQuickSeek = NULL; -+ IHXErrorSink* pErrorSink = NULL; -+ IHXErrorSinkControl* pErrorSinkControl = NULL; -+ UINT32 ulABDResult = 0; -+ UINT32 ulProbPktSize = 0; -+ UINT32 ulProbPktNum = 0; -+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) -+ INT32 lVelocity = 100; -+ INT32 lKeyFrameMode = 0; -+ INT32 lAutoSwitch = 0; -+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */ -+ CHXString* pABDServer = NULL; -+ char* pszURL[MAX_NUM_URLS]; -+ char* pszURLOrig[MAX_NUM_URLS]; -+ UINT32 ulNumURLsFound = 0; -+ int nNumPlayers = 1; -+ int nNumPlayRepeats = 1; -+ int nTimeDelta = DEFAULT_TIME_DELTA; -+ int nStopTime = DEFAULT_STOP_TIME; -+ bool bStopTime = true; -+ int i = 0; -+ char* pszGUIDList = NULL; -+#ifdef _MACINTOSH -+ char dllhome[MAX_PATH] = {'\0'}; /* Flawfinder: ignore */ -+#elif defined(_SYMBIAN) -+ char dllhome[MAX_PATH] = "c:"; /* Flawfinder: ignore */ -+#else -+ char dllhome[MAX_PATH] = {'.','\0'}; /* Flawfinder: ignore */ -+#endif -+ DLLAccess* pDLLAccess = NULL; -+ char staticLibPath[MAX_PATH] = {0}; /* Flawfinder: ignore */ -+#ifdef _WINDOWS -+ HINSTANCE hDll = NULL; -+#endif -+ bool bStopping = false; -+ int nPlay = 0; -+ -+ // NULL out the URL arrays -+ memset(pszURL, 0, MAX_NUM_URLS * sizeof(char*)); -+ memset(pszURLOrig, 0, MAX_NUM_URLS * sizeof(char*)); -+ -+ -+ //See if the user has set their HELIX_LIBS env var. This is overridden by the -+ //-l option. -+ const char* pszHelixLibs = getenv("HELIX_LIBS"); -+ if( pszHelixLibs ) -+ SafeStrCpy( dllhome, pszHelixLibs, MAX_PATH); -+ -+ -+ -+ GetGlobal()->bEnableAdviceSink = TRUE; -+ GetGlobal()->g_prefList.Add("UseOverlay", "0"); -+ -+ SafeSprintf(staticLibPath, MAX_PATH, "%s/%s", dllhome, "hxmedpltfm.so"); -+ -+ if (dllhome) -+ { -+ GetDLLAccessPath()->SetPath(DLLTYPE_COMMON, dllhome); -+ GetDLLAccessPath()->SetPath(DLLTYPE_PLUGIN, dllhome); -+ GetDLLAccessPath()->SetPath(DLLTYPE_CODEC, dllhome); -+ } -+ -+ // initialize the globals -+ GetGlobal()->m_fpCreateEngine = NULL; -+ GetGlobal()->m_fpCloseEngine = NULL; -+ GetGlobal()->g_nPlayers = 0; -+ -+ // prepare/load the HXCore module -+ pDLLAccess = new DLLAccess(); -+ -+ STDOUT("Simpleplayer is looking for the client core at %s\n", staticLibPath ); -+ -+ if (DLLAccess::DLL_OK != pDLLAccess->open(staticLibPath)) -+ { -+ const char* pErrorString = NULL; -+ pErrorString = pDLLAccess->getErrorString(); -+ STDERR("splayer: %s\n\n", pErrorString); -+#ifndef _STATICALLY_LINKED -+#ifndef _MACINTOSH -+ //Make sure the user has told us where to find the DLLs at. Either -+ //with the -l option or with the HELIX_LIBS env var. -+ STDERR("You must tell the player where to find the client core and\n"); -+ STDERR("all of its supporting DLLs and codecs. Please use the -l\n"); -+ STDERR("option or set your HELIX_LIBS env variable to point the player.\n"); -+ STDERR("to where you have all of the DLLs installed.\n\n" ); -+ //PrintUsage(argv[0]); -+#endif -+#endif -+ goto cleanup; -+ } -+ -+ GetGlobal()->m_fpHXMediaPlatformOpen = (FPHXMEDIAPLATFORMOPEN) pDLLAccess->getSymbol("HXMediaPlatformOpen"); -+ GetGlobal()->m_fpHXCreateMediaPlatform = (FPHXCREATEMEDIAPLATFORM) pDLLAccess->getSymbol("HXCreateMediaPlatform"); -+ GetGlobal()->m_fpHXMediaPlatformClose = (FPHXMEDIAPLATFORMCLOSE) pDLLAccess->getSymbol("HXMediaPlatformClose"); -+ -+ GetGlobal()->m_fpCreateEngine = (FPRMCREATEENGINE) pDLLAccess->getSymbol("CreateEngine"); -+ GetGlobal()->m_fpCloseEngine = (FPRMCLOSEENGINE) pDLLAccess->getSymbol("CloseEngine"); -+ GetGlobal()->m_fpSetDLLAccessPath = (FPRMSETDLLACCESSPATH) pDLLAccess->getSymbol("SetDLLAccessPath"); -+ -+ if (GetGlobal()->m_fpHXMediaPlatformOpen == NULL || -+ GetGlobal()->m_fpHXCreateMediaPlatform == NULL || -+ GetGlobal()->m_fpHXMediaPlatformClose == NULL || -+ GetGlobal()->m_fpCreateEngine == NULL || -+ GetGlobal()->m_fpCloseEngine == NULL || -+ GetGlobal()->m_fpSetDLLAccessPath == NULL ) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+#if defined(USE_XWINDOWS) && defined(HELIX_FEATURE_VIDEO) -+ XInitThreads(); -+#endif -+ -+ { -+ fpHXMediaPlatformOpen = GetGlobal()->m_fpHXMediaPlatformOpen; -+ fpHXCreateMediaPlatform = GetGlobal()->m_fpHXCreateMediaPlatform; -+ fpHXMediaPlatformClose = GetGlobal()->m_fpHXMediaPlatformClose; -+ -+ if (HXR_OK != fpHXMediaPlatformOpen()) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ if (HXR_OK != fpHXCreateMediaPlatform((IHXMediaPlatform**)&GetGlobal()->pMediaPlatform)) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ IHXMediaPlatform* pMediaPlatform = GetGlobal()->pMediaPlatform; -+ -+ -+ if (HXR_OK != pMediaPlatform->AddPluginPath("HelixSimplePlayer", dllhome)) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ if (HXR_OK != pMediaPlatform->Init(NULL)) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ IHXCommonClassFactory* pCCF = NULL; -+ if (HXR_OK != pMediaPlatform->QueryInterface(IID_IHXCommonClassFactory, -+ (void**)&pCCF)) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ if (HXR_OK != pCCF->CreateInstance(CLSID_IHXClientEngine, (void**)&GetGlobal()->pEngine)) -+ { -+ HX_RELEASE(pCCF); -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ HX_RELEASE(pCCF); -+ -+ IHXMediaPlatformKicker* pKicker = NULL; -+ pMediaPlatform->QueryInterface(IID_IHXMediaPlatformKicker, (void**)&pKicker); -+ HX_ASSERT(pKicker); -+ GetGlobal()->g_pIHXKicker = pKicker; -+ GetGlobal()->g_uThreadIDForKicker = HXGetCurrentThreadID(); -+ -+ pthread_t thread_id; -+ pthread_create(&thread_id, NULL, kickman, NULL); -+ GetGlobal()->g_pThreadKickmanId = thread_id; -+ } -+ -+ -+ -+ { -+ -+ -+#if defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC) -+ SetConsoleCtrlHandler((PHANDLER_ROUTINE)HandlerRoutine, -+ TRUE); -+#endif -+ -+ } -+ -+ return HXR_OK; -+ -+ cleanup: -+ deinit_main(); -+ return HXR_FAIL; -+} -+ -+/* Get the least index to available entry in Getglobal()->gPlayers */ -+static int get_index() -+{ -+ int i; -+ /* an simple implementation */ -+ for (i = 0; i < MAX_NUM_PLAYERS; i++) -+ { -+ if (GetGlobal()->g_Players[i] == NULL) -+ return i; -+ } -+ -+ return -1; -+} -+ -+PLAYER_API unsigned int get_curr_playtime(void *pPlayerHandle) -+{ -+ unsigned int time = 0; -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ if (pPlayer) -+ time = pPlayer->GetCurrentPlayTime(); -+ return time; -+} -+ -+PLAYER_API int get_player(void **ppPlayerHandle, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, on_state_change_cb_t on_state_change_cb, on_new_frame_cb_t on_new_frame_cb, void *context) -+{ -+ int index = get_index(); -+ IHXPlayer **ppPlayer = (IHXPlayer **)ppPlayerHandle; -+ ExampleClientContext* pExContext = NULL; -+ pExContext = new ExampleClientContext(index); -+ if (!pExContext) -+ { -+ return HXR_UNEXPECTED; -+ } -+ pExContext->AddRef(); -+ -+ ppPlayer[0] = NULL; -+ IHXClientEngine* pEngine = GetGlobal()->pEngine; -+ if (HXR_OK != pEngine->CreatePlayer(*ppPlayer)) -+ { -+ HX_RELEASE(pExContext); -+ return HXR_FAILED; -+ } -+#if 1 -+ char* pszGUIDList = NULL; -+ //initialize the example context -+ pszGUIDList = GetGlobal()->g_pszGUIDList; -+ { -+ char pszGUID[GUID_LEN + 1]; /* Flawfinder: ignore */ // add 1 for terminator -+ char* token = NULL; -+ IHXPreferences* pPreferences = NULL; -+ -+ pszGUID[0] = '\0'; -+ -+ if (pszGUIDList) -+ { -+ // Get next GUID from the GUID list -+ { -+ token = strtok(pszGUIDList, "\n\0"); -+ } -+ if (token) -+ { -+ strncpy(pszGUID, token, GUID_LEN); /* Flawfinder: ignore */ -+ pszGUID[GUID_LEN] = '\0'; -+ } -+ } -+ -+ ppPlayer[0]->QueryInterface(IID_IHXPreferences, -+ (void**) &pPreferences); -+ -+ pExContext->Init(ppPlayer[0], pPreferences, pszGUID, on_buffering_cb, on_pos_length_cb, on_state_change_cb, on_new_frame_cb, context); -+ -+ ppPlayer[0]->SetClientContext(pExContext); -+ -+ HX_RELEASE(pPreferences); -+ -+ IHXErrorSinkControl* pErrorSinkControl = NULL; -+ ppPlayer[0]->QueryInterface(IID_IHXErrorSinkControl, -+ (void**) &pErrorSinkControl); -+ -+ if (pErrorSinkControl) -+ { -+ IHXErrorSink* pErrorSink = NULL; -+ pExContext->QueryInterface(IID_IHXErrorSink, -+ (void**) &pErrorSink); -+ if (pErrorSink) -+ { -+ pErrorSinkControl->AddErrorSink(pErrorSink, HXLOG_EMERG, HXLOG_INFO); -+ } -+ HX_RELEASE(pErrorSink); -+ } -+ HX_RELEASE(pErrorSinkControl); -+ GetGlobal()->g_prefList.SetPreferences(ppPlayer[0]); -+ -+ } -+#endif -+ HX_ASSERT(GetGlobal()->g_nPlayers < MAX_NUM_PLAYERS); -+ GetGlobal()->g_Players[index] = ppPlayer[0]; -+ GetGlobal()->g_pClientContexts[index] = pExContext; -+ GetGlobal()->g_nPlayers++; -+ -+ return HXR_OK; -+} -+ -+static int get_index_by_player( IHXPlayer *pPlayer) -+{ -+ int i; -+ /* an simple implementation */ -+ for (i = 0; i < MAX_NUM_PLAYERS; i++) -+ { -+ if (GetGlobal()->g_Players[i] && GetGlobal()->g_Players[i] == pPlayer) -+ return i; -+ } -+ -+ return -1; -+} -+ -+PLAYER_API int player_openurl( void *pPlayerHandle, char *pszRawURL) -+{ -+ HX_RESULT ret; -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ int index = get_index_by_player(pPlayer); -+ if (index < 0) -+ return HXR_FAIL; -+ -+ char *pszURLOrig = RemoveWrappingQuotes(pszRawURL); -+ -+ //if no "://" was found lets add file:// by default so that you -+ //can refer to local content as just ./splay ~/Content/startrek.rm, -+ //for example, and not ./splay file:///home/gregory/Content/startrek.rm -+ char* pszAddOn = NULL; -+ if( strstr( pszURLOrig, "://") ) -+ pszAddOn = (char *)""; -+ else -+ pszAddOn = (char *)"file://"; -+ -+ char *pszURL = new char[strlen(pszURLOrig)+strlen(pszAddOn)+1]; -+ sprintf( pszURL, "%s%s", pszAddOn, pszURLOrig ); /* Flawfinder: ignore */ -+ // Increment the number of URLs we have found -+ STDERR("opening %s on player\n", pszURL); -+ -+ GetGlobal()->g_pszURLs[index] = pszURL; -+ ret = pPlayer->OpenURL(pszURL); -+ -+ UINT32 sleepTime = 0; -+ -+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker; -+ if( pKicker ) -+ { -+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime); -+ } -+ -+ return ret; -+} -+ -+PLAYER_API int put_player( void *pPlayerHandle) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ int index; -+ index = get_index_by_player(pPlayer); -+ if (index < 0) -+ return HXR_FAIL; -+ -+ ExampleClientContext *pClientContext = GetGlobal()->g_pClientContexts[index]; -+ if (pClientContext) { -+ pClientContext->Release(); -+ pClientContext = NULL; -+ } -+ -+ GetGlobal()->g_pClientContexts[index] = NULL; -+ if (pPlayer) { -+ if (GetGlobal()->pEngine) { -+ GetGlobal()->pEngine->ClosePlayer(pPlayer); -+ } -+ pPlayer->Release(); -+ pPlayer = NULL; -+ } -+ GetGlobal()->g_Players[index] = NULL; -+ GetGlobal()->g_nPlayers--; -+ delete [] GetGlobal()->g_pszURLs[index]; -+ GetGlobal()->g_pszURLs[index] = NULL; -+ -+ return HXR_OK; -+} -+ -+PLAYER_API int player_geturl( void *pPlayerHandle, char **pszURL) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ int index = get_index_by_player(pPlayer); -+ if (index >= 0) { -+ *pszURL = GetGlobal()->g_pszURLs[index]; -+ return HXR_OK; -+ } -+ -+ return HXR_FAIL; -+} -+ -+PLAYER_API int player_begin( void *pPlayerHandle ) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ UINT32 sleepTime = 0; -+ pPlayer->Begin(); -+ -+#if 0 -+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker; -+ if( pKicker ) -+ { -+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime); -+ } -+#endif -+ return HXR_OK; -+} -+ -+PLAYER_API int player_pause( void *pPlayerHandle ) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ UINT32 sleepTime = 0; -+ pPlayer->Pause(); -+ -+#if 0 -+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker; -+ if( pKicker ) -+ { -+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime); -+ } -+#endif -+ return HXR_OK; -+} -+ -+PLAYER_API int player_stop( void *pPlayerHandle ) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ pPlayer->Stop(); -+ return HXR_OK; -+} -+ -+#if 0 -+int main(int argc, char *argv[]) -+{ -+ IHXPlayer *pPlayer; -+ init_main(); -+ while(1) { -+ get_player(&pPlayer); -+ player_openurl(pPlayer, argv[1]); -+ player_begin(pPlayer); -+ // sleep(2); -+ player_stop(pPlayer); -+ put_player(pPlayer); -+ } -+ deinit_main(); -+ return 0; -+} -+#endif -+ -+PLAYER_API int player_seek(void *pPlayerHandle, int pos) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ if (pPlayer == NULL) -+ return HXR_FAIL; -+ -+ return pPlayer->Seek(pos); -+} -+PLAYER_API int player_getvolume(void *pPlayerHandle) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ if (pPlayer == NULL) -+ return HXR_FAIL; -+ -+ int volume = 0; -+ -+ IHXAudioPlayer* pAudioPlayer = NULL; -+ pPlayer->QueryInterface(IID_IHXAudioPlayer, (void**) &pAudioPlayer); -+ if (pAudioPlayer) -+ { -+ // Get the IHXVolume -+ IHXVolume* pVolume = pAudioPlayer->GetAudioVolume(); -+ if (pVolume) -+ { -+ volume = pVolume->GetVolume(); -+ } -+ HX_RELEASE(pVolume); -+ } -+ HX_RELEASE(pAudioPlayer); -+ -+ return volume; -+} -+ -+ -+PLAYER_API int player_setvolume(void *pPlayerHandle, unsigned short volume) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ if (pPlayer == NULL) -+ return HXR_FAIL; -+ -+ IHXAudioPlayer* pAudioPlayer = NULL; -+ pPlayer->QueryInterface(IID_IHXAudioPlayer, (void**) &pAudioPlayer); -+ if (pAudioPlayer) -+ { -+ // Get the IHXVolume -+ IHXVolume* pVolume = pAudioPlayer->GetAudioVolume(); -+ if (pVolume) -+ { -+ pVolume->SetVolume(volume); -+ } -+ HX_RELEASE(pVolume); -+ } -+ HX_RELEASE(pAudioPlayer); -+} -+ -+PLAYER_API int deinit_main() -+{ -+ -+ pthread_cancel(GetGlobal()->g_pThreadKickmanId); -+ int ret ; -+ ret = pthread_join(GetGlobal()->g_pThreadKickmanId, NULL); -+ if (ret < 0) { -+ perror("pthread_join error\n"); -+ } -+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) -+ if (GetGlobal()->g_pVelocityCaps) -+ { -+ IHXPlaybackVelocityCaps* pCaps = GetGlobal()->g_pVelocityCaps; -+ pCaps->Release(); -+ GetGlobal()->g_pVelocityCaps = NULL; -+ } -+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */ -+ -+#ifdef __TCS__ -+ g_nPlayers = 0; -+#endif -+ -+ -+ { -+ IHXClientEngine* pEngine = GetGlobal()->pEngine; -+ -+ if (pEngine) -+ { -+ IHXClientEngine2* pEngine2 = NULL; -+ if (HXR_OK == pEngine->QueryInterface(IID_IHXClientEngine2, -+ (void**)&pEngine2)) -+ { -+ pEngine2->Close(); -+ } -+ HX_RELEASE(pEngine2); -+ } -+ HX_RELEASE(GetGlobal()->pEngine); -+ HX_RELEASE(GetGlobal()->g_pIHXKicker); -+ -+ if (GetGlobal()->pMediaPlatform) -+ { -+ // Reset() not only close the platform but also remove all -+ // persistent information(i.e. preferences) maintained by the -+ // platform -+ // GetGlobal()->pMediaPlatform->Reset(NULL); -+ GetGlobal()->pMediaPlatform->Close(); -+ HX_RELEASE(GetGlobal()->pMediaPlatform); -+ } -+ -+ if (GetGlobal()->m_fpHXMediaPlatformClose) -+ { -+ GetGlobal()->m_fpHXMediaPlatformClose(); -+ } -+ } -+ -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nDone.\n"); -+ } -+ -+ if (GetGlobal()->g_pszUsername) -+ { -+ delete [] GetGlobal()->g_pszUsername; -+ GetGlobal()->g_pszUsername = NULL; -+ } -+ if (GetGlobal()->g_pszPassword) -+ { -+ delete [] GetGlobal()->g_pszPassword; -+ GetGlobal()->g_pszPassword = NULL; -+ } -+ if (GetGlobal()->g_pszGUIDFile) -+ { -+ delete [] GetGlobal()->g_pszGUIDFile; -+ GetGlobal()->g_pszGUIDFile = NULL; -+ } -+ if (GetGlobal()->g_pszGUIDList) -+ { -+ delete [] GetGlobal()->g_pszGUIDList; -+ GetGlobal()->g_pszGUIDList = NULL; -+ } -+ // If an error occurred during playback, return that -+ -+ if (GetGlobal()->g_Error != HXR_OK) -+ { -+ return GetGlobal()->g_Error; -+ } -+ // or HXR_OK (if there was more than one player) -+ else -+ { -+ return HXR_OK; -+ } -+} -+char* GetAppName(char* pszArgv0) -+{ -+ char* pszAppName; -+ -+ pszAppName = strrchr(pszArgv0, '\\'); -+ -+ if (NULL == pszAppName) -+ { -+ return pszArgv0; -+ } -+ else -+ { -+ return pszAppName + 1; -+ } -+} -+ -+void PrintUsage(const char* pszAppName) -+{ -+} -+ -+ -+ -+HXBOOL ReadGUIDFile() -+{ -+ HXBOOL bSuccess = FALSE; -+ FILE* pFile = NULL; -+ int nNumRead = 0; -+ int readSize = 10000; -+ char* pszBuffer = new char[readSize]; -+ -+ if (GetGlobal()->g_pszGUIDFile) -+ { -+ if((pFile = fopen(GetGlobal()->g_pszGUIDFile, "r")) != NULL) -+ { -+ // Read in the entire file -+ nNumRead = fread(pszBuffer, sizeof(char), readSize, pFile); -+ pszBuffer[nNumRead] = '\0'; -+ -+ // Store it for later parsing -+ GetGlobal()->g_pszGUIDList = new char[nNumRead + 1]; -+ strcpy(GetGlobal()->g_pszGUIDList, pszBuffer); /* Flawfinder: ignore */ -+ -+ fclose(pFile); -+ pFile = NULL; -+ -+ if (nNumRead > 0) -+ { -+ bSuccess = TRUE; -+ } -+ } -+ } -+ -+ delete [] pszBuffer; -+ -+ return bSuccess; -+} -+ -+static int are_all_src_seekable(IHXPlayer *pPlayer) -+{ -+ UINT16 nSrcCnt; -+ nSrcCnt = pPlayer->GetSourceCount(); -+ HXSource *pSource = NULL; /* This is brute-force */ -+ for (UINT16 i = 0; i < nSrcCnt; i++) -+ { -+ if (pPlayer->GetSource(i, (IUnknown *&)pSource) == HXR_OK) -+ { -+ if (!pSource->IsSeekable()) -+ return FALSE; -+ -+ -+ } -+ } -+ -+} -+ -+PLAYER_API int player_canseek(void *pPlayerHandle) -+{ -+ if (!pPlayerHandle) -+ return FALSE; -+ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ ExampleClientContext* pExContext=NULL; -+ if (pPlayer->GetClientContext((IUnknown*&)pExContext) != HXR_OK) -+ return FALSE; -+ -+ if (!pExContext) -+ return FALSE; -+ -+ EHXClientState State = pExContext->GetState(); -+ -+ int all_src_seekable = are_all_src_seekable(pPlayer); -+ -+ HX_RELEASE(pExContext); -+ -+ if (State < HX_CLIENT_STATE_CONNECTED) -+ return TRUE; -+ -+ if (all_src_seekable && (!pPlayer->IsLive() || State == HX_CLIENT_STATE_PAUSED)) -+ return TRUE; -+ -+ return FALSE; -+} -+ -+ -Index: helix-libs/clientapps/clutter/player.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/player.h 2008-10-13 06:54:45.000000000 -0700 -@@ -0,0 +1,60 @@ -+#ifndef _PLAYER_H_ -+#define _PLAYER_H_ -+ -+#ifdef __cplusplus -+#define PLAYER_API extern "C" -+#else -+#define PLAYER_API -+#endif -+ -+/* Duplicate of EHXClientState */ -+typedef enum _EPlayerStateState -+{ -+ PLAYER_STATE_READY = 0, // uninitialized -+ PLAYER_STATE_CONNECTING, // attempting to connect to sources -+ PLAYER_STATE_CONNECTED, // connected to sources (realized) -+ PLAYER_STATE_OPENING, // opening sources -+ PLAYER_STATE_OPENED, // opened sources -+ PLAYER_STATE_PREFETCHING,// obtaining resources, buffering, etc. -+ PLAYER_STATE_PREFETCHED, // ready for playback at time zero -+ PLAYER_STATE_PLAYING, // currently playing -+ PLAYER_STATE_PAUSED, // paused -+ PLAYER_STATE_SEEKING // seeking -+} EHXPlayerState; -+ -+typedef struct { -+ int left; -+ int top; -+ int right; -+ int bottom; -+} PlayerRect; -+ -+typedef struct { -+ PlayerRect Rect; -+ unsigned int cx; -+ unsigned int cy; -+} PlayerImgInfo; -+ -+typedef void (*on_pos_length_cb_t)(unsigned int, unsigned int, void *); -+typedef void (*on_buffering_cb_t)(unsigned int, unsigned short, void *); -+typedef void (*on_state_change_cb_t)(unsigned short, unsigned short, void *); -+typedef void (*on_new_frame_cb_t)(unsigned char *p, unsigned int size, PlayerImgInfo *rect, void *context); -+ -+PLAYER_API int init_main(); -+PLAYER_API int deinit_main(); -+PLAYER_API int get_player(void **ppPlayerHandle, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, on_state_change_cb_t on_state_change_cb, on_new_frame_cb_t on_new_frame_cb, void *context); -+PLAYER_API int player_openurl( void *pPlayerHandle, char *pszRawURL); -+PLAYER_API int put_player( void *pPlayerHandle); -+PLAYER_API int player_geturl( void *pPlayerHandle, char **pszURL); -+PLAYER_API int player_begin( void *pPlayerHandle ); -+PLAYER_API int player_stop( void *pPlayerHandle ); -+PLAYER_API int player_pause( void *pPlayerHandle ); -+PLAYER_API unsigned int get_curr_playtime(void *pPlayerHandle); -+PLAYER_API int player_seek(void *pPlayerHandle, int pos); -+PLAYER_API int player_getvolume(void *pPlayerHandle); -+PLAYER_API int player_setvolume(void *pPlayerHandle, unsigned short volumn); -+PLAYER_API int player_canseek(void *pPlayerHandle); -+ -+ -+#endif -+ -Index: helix-libs/clientapps/clutter/preflist.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/preflist.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,142 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: preflist.cpp,v 1.2 2007/07/06 20:32:36 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+#include "preflist.h" -+ -+#include "hxstring.h" -+#include "hxccf.h" -+#include "hxprefs.h" -+#include "ihxpckts.h" -+ -+class CHXPrefInfo -+{ -+public: -+ CHXPrefInfo(const char* pKey, const char* pValue); -+ ~CHXPrefInfo(); -+ -+ const char* Key() const { return m_key;} -+ const char* Value() const { return m_value;} -+ -+private: -+ CHXString m_key; -+ CHXString m_value; -+}; -+ -+CHXPrefInfo::CHXPrefInfo(const char* pKey, const char* pValue) : -+ m_key(pKey), -+ m_value(pValue) -+{} -+ -+CHXPrefInfo::~CHXPrefInfo() -+{} -+ -+CHXPrefList::CHXPrefList() -+{} -+ -+CHXPrefList::~CHXPrefList() -+{ -+ Clear(); -+} -+ -+void CHXPrefList::Add(const char* pKey, const char* pValue) -+{ -+ CHXPrefInfo* pInfo = new CHXPrefInfo(pKey, pValue); -+ -+ if (pInfo) -+ { -+ if (!m_prefInfo.AddTail(pInfo)) -+ { -+ // We failed to insert the preference. -+ HX_DELETE(pInfo); -+ } -+ } -+} -+ -+void CHXPrefList::Clear() -+{ -+ while(!m_prefInfo.IsEmpty()) -+ { -+ CHXPrefInfo* pInfo = (CHXPrefInfo*)m_prefInfo.RemoveHead(); -+ HX_DELETE(pInfo); -+ } -+} -+ -+void CHXPrefList::SetPreferences(IUnknown* pContext) -+{ -+ IHXPreferences* pPrefs = NULL; -+ IHXCommonClassFactory* pCCF = NULL; -+ -+ if (pContext && -+ (HXR_OK == pContext->QueryInterface(IID_IHXPreferences, -+ (void**)&pPrefs)) && -+ (HXR_OK == pContext->QueryInterface(IID_IHXCommonClassFactory, -+ (void**)&pCCF))) -+ { -+ CHXSimpleList::Iterator itr = m_prefInfo.Begin(); -+ -+ for(; itr != m_prefInfo.End(); ++itr) -+ { -+ CHXPrefInfo* pInfo = (CHXPrefInfo*)(*itr); -+ -+ IHXBuffer* pBuf = NULL; -+ -+ if ((HXR_OK == pCCF->CreateInstance(CLSID_IHXBuffer, -+ (void**)&pBuf)) && -+ (HXR_OK == pBuf->Set((const unsigned char*)pInfo->Value(), -+ strlen(pInfo->Value())))) -+ { -+ pPrefs->WritePref(pInfo->Key(), pBuf); -+ } -+ -+ HX_RELEASE(pBuf); -+ } -+ } -+ -+ HX_RELEASE(pPrefs); -+ HX_RELEASE(pCCF); -+} -Index: helix-libs/clientapps/clutter/preflist.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/preflist.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,69 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: preflist.h,v 1.2 2007/07/06 20:32:36 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+#ifndef PREFLIST_H -+#define PREFLIST_H -+ -+#include "hxslist.h" -+ -+class CHXPrefList -+{ -+public: -+ CHXPrefList(); -+ ~CHXPrefList(); -+ -+ void Add(const char* pKey, const char* pValue); -+ void Clear(); -+ -+ void SetPreferences(IUnknown* pContext); -+ -+private: -+ CHXSimpleList m_prefInfo; -+}; -+ -+#endif /* PREFLIST_H */ -Index: helix-libs/clientapps/clutter/print.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/print.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,80 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+#include -+#include "print.h" -+#ifdef WIN32_PLATFORM_PSPC -+#include "hlxosstr.h" -+#include -+#endif -+ -+int print2stdout(const char* pFmt, ...) -+{ -+ va_list args; -+ -+ va_start(args, pFmt); -+ -+#ifdef WIN32_PLATFORM_PSPC -+ char szMessage[512]; -+ int ret = vsprintf(szMessage, pFmt, args); -+ OutputDebugString(OS_STRING(szMessage)); -+#else -+ int ret = vfprintf(stdout, pFmt, args); -+#endif -+ -+ va_end(args); -+ -+ return ret; -+} -+ -+int print2stderr(const char* pFmt, ...) -+{ -+ va_list args; -+ -+ va_start(args, pFmt); -+ -+#ifdef WIN32_PLATFORM_PSPC -+ char szMessage[512]; -+ int ret = vsprintf(szMessage, pFmt, args); -+ OutputDebugString(OS_STRING(szMessage)); -+#else -+ int ret = vfprintf(stderr, pFmt, args); -+#endif -+ -+ va_end(args); -+ -+ return ret; -+} -Index: helix-libs/clientapps/clutter/print.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/print.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,60 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef PRINT_H -+#define PRINT_H -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#ifdef _SYMBIAN -+#include "platform/symbian/symbian_print.h" -+ -+#define STDOUT symbianPrint -+#define STDERR symbianPrint -+#else -+int print2stdout(const char* pFmt, ...); -+int print2stderr(const char* pFmt, ...); -+#define STDOUT print2stdout -+#define STDERR print2stderr -+#endif -+ -+#ifdef __cplusplus -+}; -+#endif -+ -+ -+#endif /* PRINT_H */ -Index: helix-libs/clientapps/clutter/shmhelp.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/shmhelp.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,88 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: shmhelp.h,v 1.5 2007/07/06 20:54:01 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#endif -+ -+#include "hxcom.h" -+#include "hxtypes.h" -+ -+ -+class ShmHelp -+{ -+ public: -+ -+ //Helpers -+ static void Init(Display* pDisplay ); -+ static HXBOOL ShmAvailable(); -+ static HX_RESULT DetachSharedRegion(UCHAR**ppMem, XShmSegmentInfo* pInfo ); -+ static HX_RESULT CreateSharedRegion( INT32 nSize, -+ UCHAR**ppMem, -+ int* pnShmID, -+ XShmSegmentInfo* pInfo ); -+ -+ -+ protected: -+ -+ private: -+ static HXBOOL zm_bUseShm; -+ -+ //The X11 Segment ID.... -+ static int zm_nSegment; -+ static Display* zm_pDisplay; -+ -+ ShmHelp(); -+ ShmHelp(Display*); -+ ~ShmHelp(); -+ -+}; -+ -Index: helix-libs/clientapps/clutter/unix.pcf -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/unix.pcf 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,65 @@ -+# -+# ***** BEGIN LICENSE BLOCK ***** -+# Version: RCSL 1.0/RPSL 1.0 -+# -+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+# -+# The contents of this file, and the files included with this file, are -+# subject to the current version of the RealNetworks Public Source License -+# Version 1.0 (the "RPSL") available at -+# http://www.helixcommunity.org/content/rpsl unless you have licensed -+# the file under the RealNetworks Community Source License Version 1.0 -+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+# in which case the RCSL will apply. You may also obtain the license terms -+# directly from RealNetworks. You may not use this file except in -+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+# applicable to this file, the RCSL. Please see the applicable RPSL or -+# RCSL for the rights, obligations and limitations governing use of the -+# contents of the file. -+# -+# This file is part of the Helix DNA Technology. RealNetworks is the -+# developer of the Original Code and owns the copyrights in the portions -+# it created. -+# -+# This file, and the files included with this file, is distributed and made -+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+# -+# Technology Compatibility Kit Test Suite(s) Location: -+# http://www.helixcommunity.org/content/tck -+# -+# Contributor(s): -+# -+# ***** END LICENSE BLOCK ***** -+# -+ -+ -+if( ('HELIX_FEATURE_MINI_SITE' not in project.defines) and -+ (platform.name in ('linux2', 'linux-i386')) and -+ ('HELIX_FEATURE_VIDEO' in project.defines) and -+ (project.BuildOption("nodll")) -+ ): -+ project.sys_libraries.append('Xv', 'Xext') -+ -+ -+ -+ -+if project.BuildOption("nodll"): -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV20"): -+ if platform.name in ('linux2', 'linux-i386', 'win32') and sysinfo.arch == 'i386': -+ project.AddLibraries(GetSDKPath("rvg2dec_libs") + '[adecg2]') -+ else: -+ project.AddLibraries(GetSDKPath("rvg2dec_libs") + '[cdecg2]') -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30") or \ -+ project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"): -+ if project.IsDefined("HELIX_FEATURE_ANSIC_RV89COMBO"): -+ project.AddLibraries(GetSDKPath("rv89combo_c_libs")+"[cdec]") -+ else: -+ if platform.name in ('linux2', 'linux-i386') and sysinfo.arch == 'i386': -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[adec40]") -+ else: -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[cdec40]") -+ -Index: helix-libs/clientapps/clutter/unixcmap.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/unixcmap.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,51 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixcmap.h,v 1.3 2007/07/06 20:54:01 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+EXTERN_C Colormap HXGetXColormap(Display* pDisplay, Window window); -+EXTERN_C void HXFindBestXColor(Display* pDisplay, Colormap cmap, XColor* desired); -Index: helix-libs/clientapps/clutter/visuals.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/visuals.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,74 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: visuals.h,v 1.4 2007/07/06 20:54:01 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _UNIX -+#error This is the UNIX platform specific implementation. -+#endif -+ -+#ifndef _VISUALS_H_ -+#define _VISUALS_H_ -+ -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#endif -+ -+// -+// These functions are loaded with dlsym() so turn off name mangling -+// with extern "C". -+// -+extern "C" { -+ -+Visual* GetBestVisual(Display* display); -+Visual* GetVisual(Display* display, long mask, XVisualInfo* templ); -+ -+} -+ -+#endif // _VISUALS_H_ diff --git a/meta-extras/packages/helix/helix-libs/helix-player.pc b/meta-extras/packages/helix/helix-libs/helix-player.pc deleted file mode 100644 index 5d2994809ee..00000000000 --- a/meta-extras/packages/helix/helix-libs/helix-player.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: helix-player -Description: Helix Player Interface -Version: 4.1.0 -Libs: -L${libdir} -lhelix-player -lstdc++ -Cflags: -I/opt/helix/include -D_UNIX -Requires: diff --git a/meta-extras/packages/helix/helix-libs/hxclient.pc b/meta-extras/packages/helix/helix-libs/hxclient.pc deleted file mode 100644 index 8f64d256707..00000000000 --- a/meta-extras/packages/helix/helix-libs/hxclient.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/opt/helix -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: hxclient -Description: Helix Client Libraries off the Atlas Branch -Version: 4.1.0 -Libs: -L${libdir} -lhxclient -lstdc++ -Cflags: -I${includedir} -D_UNIX -Requires: diff --git a/meta-extras/packages/helix/ribosome.bb b/meta-extras/packages/helix/ribosome.bb deleted file mode 100644 index 3cea6f6755f..00000000000 --- a/meta-extras/packages/helix/ribosome.bb +++ /dev/null @@ -1,43 +0,0 @@ -DESCRIPTION = "Ribosome: HelixCommunity Build System" -SECTION = "base" -HOMEPAGE = "http://helixcommunity.org" -LICENSE = "GPLv2" - -_SNAPSHOT = "22102008" -_TARBALL_SERVER = "http://git.moblin.org/repos/users/rusty" - -PV="r0" -PR = "r1" - -SRC_URI = "${_TARBALL_SERVER}/ribosome-${_SNAPSHOT}.tar.bz2 \ - ${_TARBALL_SERVER}/client-bif-${_SNAPSHOT}.tar.bz2 \ - ${_TARBALL_SERVER}/common-bif-${_SNAPSHOT}.tar.bz2 \ - file://ribosome/clutter.bif \ - file://ribosome/buildrc" - -S = "${WORKDIR}" - -COMPATIBLE_HOST = '(i.86.*-linux)' - -do_install() { - # Install build system of doom - install -d ${D}${libdir} - cp -a ribosome-${_SNAPSHOT} ${D}${libdir}/ribosome - install -m 0644 ribosome/buildrc ${D}${libdir}/ribosome/ - - # Install client BIF's - install -d ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF - install -m 0644 client-bif-${_SNAPSHOT}/*.bif \ - ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF - - # Install common BIF's - install -d ${D}${libdir}/ribosome/bif-cvs/helix/common/build/BIF - install -m 0644 common-bif-${_SNAPSHOT}/*.bif \ - ${D}${libdir}/ribosome/bif-cvs/helix/common/build/BIF - - # Install our own custom BIF - install -m 0644 ribosome/*.bif ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF/ - - # The [ and ] characters break packaging, remove for now - rm -rf ${D}${libdir}/ribosome/test/data/utils/[client-restricted] -} diff --git a/meta-extras/packages/helix/ribosome/buildrc b/meta-extras/packages/helix/ribosome/buildrc deleted file mode 100644 index 6dbc47a06d3..00000000000 --- a/meta-extras/packages/helix/ribosome/buildrc +++ /dev/null @@ -1,4 +0,0 @@ -AddMultiCVS("helix",":ext:cvs.helixcommunity.org:/cvsroot/") -AddBIFPath("common", "[helix]/common/build/BIF") -AddBIFPath("client", "[helix]/client/build/BIF") -SetSDKPath("oggvorbissdk", "/usr/") diff --git a/meta-extras/packages/helix/ribosome/clutter.bif b/meta-extras/packages/helix/ribosome/clutter.bif deleted file mode 100755 index a87fcb3faa9..00000000000 --- a/meta-extras/packages/helix/ribosome/clutter.bif +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - unix - - - - HELIX_FEATURE_AUDIO_VORBIS - HELIX_FEATURE_VIDEO_THEORA - HELIX_FEATURE_NETSERVICES_SHIM - HELIX_FEATURE_AVIFF - HELIX_CONFIG_SLUGGISHAUTOUPGRADE - HELIX_FEATURE_ALSA - _FORTIFY_SOURCE=2 - - - - client_include - datatype_tools_dtdriver_dtdrplin - - - - helix_client_objs - player_hxclientkit - player_hxclientkit_src_hxrecordengine - client_core - client_resource - client_xres - protocol_sdp - video_site - datatype_smil - datatype_text_realtext_fileformat - datatype_text_realtext_renderer - datatype_tools_dtdriver_dtdrplin - datatype_ogg_fileformat - datatype_vorbis_renderer - datatype_theora_renderer - datatype_h261_renderer - datatype_h263 - datatype_group_audio - datatype_group_image - datatype_ram - datatype_sdp - datatype_avi_fileformat - filesystem_local - filesystem_http - filesystem_memory - common_auth_authmgr - common_auth_rn5auth - client_auth_basicauth - common_log_logsystem - common_log_logobserverfile - - - - - - - - diff --git a/meta-extras/packages/images/poky-image-extras.bb b/meta-extras/packages/images/poky-image-extras.bb deleted file mode 100644 index 7ad5fd51711..00000000000 --- a/meta-extras/packages/images/poky-image-extras.bb +++ /dev/null @@ -1,9 +0,0 @@ -# -# Copyright (C) 2007 OpenedHand Ltd. -# - -IMAGE_FEATURES += "apps-core apps-pda" - -inherit poky-image - -IMAGE_INSTALL += "task-poky-extraapps" diff --git a/meta-extras/packages/libol/libol_0.3.18.bb b/meta-extras/packages/libol/libol_0.3.18.bb deleted file mode 100644 index ba6d6ce638d..00000000000 --- a/meta-extras/packages/libol/libol_0.3.18.bb +++ /dev/null @@ -1,8 +0,0 @@ -PR = "r7" - -SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${P}.tar.gz" - -S = "${WORKDIR}/${PN}-${PV}" - -inherit autotools binconfig - diff --git a/meta-extras/packages/librds/librds_0.0.1.bb b/meta-extras/packages/librds/librds_0.0.1.bb deleted file mode 100644 index 3c99ec1ba05..00000000000 --- a/meta-extras/packages/librds/librds_0.0.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "A software library for accessing RDS data" -HOMEPAGE = "http://rdsd.berlios.de/" -SECTION = "libs" -PROVIDES = "librds" -LICENSE = "GPLv2" - -PR = "r1" - -SRC_URI = "http://download.berlios.de/rdsd/librds-${PV}.tar.gz" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/libxosd/files/autofoo.patch b/meta-extras/packages/libxosd/files/autofoo.patch deleted file mode 100644 index e26f15e9e56..00000000000 --- a/meta-extras/packages/libxosd/files/autofoo.patch +++ /dev/null @@ -1,116 +0,0 @@ -Index: current/configure.ac -=================================================================== ---- current.orig/configure.ac 2007-06-14 09:06:04.000000000 +0000 -+++ current/configure.ac 2007-06-14 09:14:37.000000000 +0000 -@@ -52,8 +52,6 @@ - CFLAGS="$CFLAGS $X_CFLAGS -Wall" - - dnl Checks for libraries. --AM_PATH_GTK(1.2.2,, -- AC_MSG_WARN([*** GTK+ >= 1.2.2 not found ***])) - AC_CHECK_LIB(X11, XInitThreads,, - AC_MSG_ERROR([*** X11 not threadsafe ***])) - AC_CHECK_LIB(Xext, XShapeQueryExtension,, -@@ -107,63 +105,6 @@ - AC_MSG_WARN("beep media player not found") - fi - --dnl Check for xmms --AM_PATH_XMMS(1.2.7,, -- AC_MSG_WARN("xmms plugins can not be built")) --dnl Override where to place libxmms_xosd.so --AC_ARG_WITH([plugindir], -- AC_HELP_STRING([--with-plugindir=DIR], -- [Set the xmms plugin directory]), -- [XMMS_PLUGIN_DIR="$withval"], -- [XMMS_PLUGIN_DIR="$XMMS_GENERAL_PLUGIN_DIR"]) -- --dnl Check for gdk-pixbuf --AM_PATH_GDK_PIXBUF(0.22.0,, -- AC_MSG_WARN("new xmms plugin can not be built")) --dnl Override where to place pixmaps for libxmms_xosd.so --AC_ARG_WITH([pixmapdir], -- AC_HELP_STRING([--with-pixmapdir=DIR], -- [Set the directory for xmms plugin pixmaps]), -- [XMMS_PIXMAPDIR="$withval"], -- [XMMS_PIXMAPDIR="${datadir}/xosd"]) --AC_SUBST(XMMS_PIXMAPDIR) -- --dnl NEW plugin --AC_ARG_ENABLE([new-plugin], -- AC_HELP_STRING([--disable-new-plugin], -- [Disable new xmms plugin (enabled by default)]), -- [enable_new_plugin="$enableval"], -- [enable_new_plugin="yes"]) --AC_MSG_CHECKING([whether new xmms plugin was requested]) --AC_MSG_RESULT($enable_new_plugin) --AM_CONDITIONAL([BUILD_NEW_PLUGIN], -- [test x"$enable_new_plugin" = "xyes" -a x"$no_xmms" != "xyes" -a x"$no_gdk_pixbuf" != "xyes"]) -- -- --dnl Check for Beep Media player --AC_ARG_ENABLE([beep_media_player_plugin], -- AC_HELP_STRING([--enable-beep_media_player_plugin], -- [Enable beep media plugin (enabled by default)]), -- [beep_media_player_plugin="$enableval"], -- [beep_media_player_plugin="yes"]) --AC_MSG_CHECKING([whether beep media plugin was requested]) --AC_MSG_RESULT($beep_media_player_plugin) -- --AM_CONDITIONAL([BUILD_BEEP_MEDIA_PLUGIN], -- [test x"$beep_media_player_plugin" = "xyes" -a x"$no_bmp" == "xyes"]) -- --dnl OLD plugin --AC_ARG_ENABLE([old-plugin], -- AC_HELP_STRING([--enable-old-plugin], -- [Enable old xmms plugin (disabled by default)]), -- [enable_old_plugin="$enableval"], -- [enable_old_plugin="no"]) --AC_MSG_CHECKING([whether old xmms plugin was requested]) --AC_MSG_RESULT($enable_old_plugin) --AM_CONDITIONAL([BUILD_OLD_PLUGIN], -- [test x"$enable_old_plugin" = "xyes" -a x"$no_xmms" != "xyes"]) -- -- - dnl Define XOSD_VERSION - AC_DEFINE_UNQUOTED(XOSD_VERSION, "${VERSION}") - -@@ -174,8 +115,6 @@ - Makefile - src/Makefile - src/libxosd/Makefile --src/xmms_plugin/Makefile --src/bmp_plugin/Makefile - macros/Makefile - man/Makefile - pixmaps/Makefile -Index: current/src/Makefile.am -=================================================================== ---- current.orig/src/Makefile.am 2007-06-14 09:06:04.000000000 +0000 -+++ current/src/Makefile.am 2007-06-14 09:14:37.000000000 +0000 -@@ -10,6 +10,4 @@ - - include_HEADERS = xosd.h - --AM_CFLAGS = ${GTK_CFLAGS} -- --SUBDIRS=libxosd xmms_plugin bmp_plugin -+SUBDIRS=libxosd -Index: current/Makefile.am -=================================================================== ---- current.orig/Makefile.am 2007-06-14 09:06:04.000000000 +0000 -+++ current/Makefile.am 2007-06-14 09:16:15.000000000 +0000 -@@ -1,11 +1,5 @@ --if BUILD_NEW_PLUGIN -- NEW_SUB = pixmaps --endif --if BUILD_BEEP_MEDIA_PLUGIN -- NEW_SUB = pixmaps --endif --SUBDIRS = macros man $(NEW_SUB) src script --DIST_SUBDIRS = macros man pixmaps src script -+SUBDIRS = macros man src script -+DIST_SUBDIRS = macros man src script - - DISTCLEANFILES = libtool-disable-static - diff --git a/meta-extras/packages/libxosd/files/use-sane-default-font.patch b/meta-extras/packages/libxosd/files/use-sane-default-font.patch deleted file mode 100644 index 0ede1351e25..00000000000 --- a/meta-extras/packages/libxosd/files/use-sane-default-font.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: current/src/libxosd/xosd.c -=================================================================== ---- current.orig/src/libxosd/xosd.c 2007-06-16 19:37:48.000000000 +0000 -+++ current/src/libxosd/xosd.c 2007-06-17 05:00:47.000000000 +0000 -@@ -26,7 +26,7 @@ - #define XOFFSET 10 - - const char * const osd_default_font = -- "-misc-fixed-medium-r-semicondensed--*-*-*-*-c-*-*-*"; -+ "fixed"; - #if 0 - "-adobe-helvetica-bold-r-*-*-10-*"; - #endif diff --git a/meta-extras/packages/libxosd/libxosd_svn.bb b/meta-extras/packages/libxosd/libxosd_svn.bb deleted file mode 100644 index 456b7ac2365..00000000000 --- a/meta-extras/packages/libxosd/libxosd_svn.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "A library for displaying a TV-like on-screen display in X." -SECTION = "libs/x11" -DEPENDS = "virtual/libx11 libxext" -LICENSE = "LGPL" -PV = "2.2.15+svnr${SRCREV}" -PR = "r5" - -SRC_URI = "svn://libxosd.svn.sourceforge.net/svnroot/libxosd/source;module=current;proto=https \ - file://autofoo.patch;patch=1 \ - file://use-sane-default-font.patch;patch=1" - -S = "${WORKDIR}/current" - -inherit autotools binconfig - -PACKAGES =+ "${PN}-examples-dbg ${PN}-examples" -FILES_${PN}-examples = "${bindir}/osd_cat" -FILES_${PN}-examples-dbg += "${bindir}/.debug/" -FILES_${PN}-dev += "${bindir}/xosd-config" -FILES_${PN} = "${libdir}/libxosd.so.*" diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch deleted file mode 100644 index c5849998d52..00000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- - arch/arm/oprofile/op_model_v6.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -Index: linux-g/arch/arm/oprofile/op_model_v6.c -=================================================================== ---- linux-g.orig/arch/arm/oprofile/op_model_v6.c 2006-11-08 12:18:41.000000000 +0000 -+++ linux-g/arch/arm/oprofile/op_model_v6.c 2007-05-23 14:11:19.000000000 +0100 -@@ -54,12 +54,6 @@ - #define EVT_DCACHE_MISS 0x0B - #define EVT_DCACE_WRITE_BACK 0x0C - #define EVT_PC_CHANGED 0x0D --#define EVT_BCU_REQUEST 0x10 --#define EVT_BCU_FULL 0x11 --#define EVT_BCU_DRAIN 0x12 --#define EVT_BCU_ECC_NO_ELOG 0x14 --#define EVT_BCU_1_BIT_ERR 0x15 --#define EVT_RMW 0x16 - /* EVT_CCNT is not hardware defined */ - #define EVT_CCNT 0xFE - #define EVT_UNUSED 0xFF -@@ -88,7 +82,7 @@ struct pmu_type { - static struct pmu_type pmu_parms[] = { - { - .id = PMU_ARM11, -- .name = "arm/arm11", -+ .name = "arm/armv6", - .num_counters = 3, - #ifdef CONFIG_ARCH_OMAP2 - .interrupt = 3, diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig deleted file mode 100644 index 3cd1430332f..00000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig +++ /dev/null @@ -1,1451 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.18-omap1 -# Mon Aug 13 17:32:01 2007 -# -CONFIG_ARM=y -CONFIG_MMU=y -CONFIG_GENERIC_HARDIRQS=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -# CONFIG_RELAY is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SHMEM=y -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set - -# -# Block layer -# -# CONFIG_BLK_DEV_IO_TRACE 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" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP3XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -CONFIG_ARCH_OMAP=y - -# -# TI OMAP Implementations -# -CONFIG_ARCH_OMAP_OTG=y -CONFIG_ARCH_OMAP1=y -# CONFIG_ARCH_OMAP2 is not set - -# -# OMAP Feature Selections -# -CONFIG_OMAP_RESET_CLOCKS=y -CONFIG_OMAP_BOOT_TAG=y -CONFIG_OMAP_BOOT_REASON=y -CONFIG_OMAP_COMPONENT_VERSION=y -CONFIG_OMAP_GPIO_SWITCH=y -# CONFIG_OMAP_MUX is not set -CONFIG_OMAP_STI=y -CONFIG_OMAP_STI_CONSOLE=y -CONFIG_OMAP_MCBSP=y -# CONFIG_OMAP_MPU_TIMER is not set -CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_DM_TIMER=y -CONFIG_OMAP_LL_DEBUG_UART1=y -# CONFIG_OMAP_LL_DEBUG_UART2 is not set -# CONFIG_OMAP_LL_DEBUG_UART3 is not set -CONFIG_OMAP_DSP=y -# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set -CONFIG_OMAP_DSP_TASK_MULTIOPEN=y -CONFIG_OMAP_DSP_FBEXPORT=y - -# -# OMAP Core Type -# -# CONFIG_ARCH_OMAP730 is not set -# CONFIG_ARCH_OMAP15XX is not set -CONFIG_ARCH_OMAP16XX=y - -# -# OMAP Board Type -# -# CONFIG_MACH_OMAP_INNOVATOR is not set -# CONFIG_MACH_OMAP_H2 is not set -# CONFIG_MACH_OMAP_H3 is not set -# CONFIG_MACH_OMAP_OSK is not set -CONFIG_MACH_NOKIA770=y -# CONFIG_MACH_OMAP_GENERIC is not set - -# -# OMAP CPU Speed -# -CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y -CONFIG_OMAP_ARM_216MHZ=y -# CONFIG_OMAP_ARM_192MHZ is not set -# CONFIG_OMAP_ARM_168MHZ is not set -# CONFIG_OMAP_ARM_120MHZ is not set -# CONFIG_OMAP_ARM_60MHZ is not set -# CONFIG_OMAP_ARM_30MHZ is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_ARM926T=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5TJ=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_COPY_V4WB=y -CONFIG_CPU_TLB_V4WBI=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_CACHE_ROUND_ROBIN is not set - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=128 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -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 is not set -CONFIG_SPLIT_PTLOCK_CPUS=4096 -# CONFIG_RESOURCES_64BIT is not set -# CONFIG_LEDS is not set -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 time" -# CONFIG_XIP_KERNEL is not set - -# -# CPU Frequency scaling -# -# CONFIG_CPU_FREQ is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set -# CONFIG_VFP is not set - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_APM is not set - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -# CONFIG_IP_PNP_RARP 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 is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -CONFIG_INET_XFRM_MODE_TRANSPORT=y -CONFIG_INET_XFRM_MODE_TUNNEL=y -# CONFIG_INET_DIAG is not set -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_BIC=y - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -CONFIG_IPV6=y -# CONFIG_IPV6_PRIVACY is not set -# CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_INET6_AH is not set -# CONFIG_INET6_ESP is not set -# CONFIG_INET6_IPCOMP is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -CONFIG_INET6_XFRM_MODE_TRANSPORT=y -CONFIG_INET6_XFRM_MODE_TUNNEL=y -# CONFIG_IPV6_TUNNEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NF_CONNTRACK is not set -# CONFIG_NETFILTER_XTABLES is not set - -# -# IP: Netfilter Configuration -# -# CONFIG_IP_NF_CONNTRACK is not set -# CONFIG_IP_NF_QUEUE is not set - -# -# IPv6: Netfilter Configuration (EXPERIMENTAL) -# -# CONFIG_IP6_NF_QUEUE is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# 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 is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -# CONFIG_BT_BNEP_MC_FILTER is not set -# CONFIG_BT_BNEP_PROTO_FILTER is not set -CONFIG_BT_HIDP=y - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUSB is not set -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -CONFIG_BT_HCIBRF6150=y -# CONFIG_BT_HCIH4P is not set -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_WIRELESS_EXT=y - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# -CONFIG_CONNECTOR=y -# CONFIG_PROC_EVENTS is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL 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 -# CONFIG_MTD_OBSOLETE_CHIPS is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 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 - -# -# NAND Flash Device Drivers -# -CONFIG_MTD_NAND=y -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND_OMAP_HW=y -CONFIG_MTD_NAND_IDS=y -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_NANDSIM is not set - -# -# OneNAND Flash Device Drivers -# -# CONFIG_MTD_ONENAND is not set - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_BLK_DEV_INITRD is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -# CONFIG_SCSI_PROC_FS is not set - -# -# 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 is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set - -# -# SCSI Transport Attributes -# -# 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 - -# -# SCSI low-level drivers -# -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=y - -# -# PHY device support -# -# CONFIG_PHYLIB is not set - -# -# Ethernet (10 or 100Mbit) -# -CONFIG_NET_ETHERNET=y -CONFIG_MII=y -# CONFIG_SMC91X is not set -# CONFIG_DM9000 is not set - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y -# CONFIG_NET_WIRELESS_RTNETLINK is not set - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_HOSTAP is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=y -# CONFIG_PPP_SYNC_TTY is not set -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_BSDCOMP=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# 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 is not set -# 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_OMAP=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_ADS7846=y -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_RAW is not set -# 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_NR_UARTS=4 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -# CONFIG_SERIAL_8250_EXTENDED is not set - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_OMAP is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -CONFIG_OMAP_WATCHDOG=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_OMAP=y -CONFIG_OMAP_RNG=y -# CONFIG_NVRAM is not set -# CONFIG_OMAP_RTC is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set -# CONFIG_TELCLOCK is not set - -# -# I2C support -# -CONFIG_I2C=y -# CONFIG_I2C_CHARDEV is not set - -# -# 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_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA is not set -CONFIG_I2C_OMAP=y - -# -# 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_ISP1301_OMAP is not set -# CONFIG_TPS65010 is not set -CONFIG_SENSORS_TLV320AIC23=y -# CONFIG_GPIOEXPANDER_OMAP 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=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -CONFIG_SPI_BITBANG=y -CONFIG_SPI_OMAP_UWIRE=y - -# -# SPI Protocol Masters -# -# CONFIG_SPI_TSC2301 is not set - -# -# Dallas's 1-wire bus -# -# CONFIG_W1 is not set - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_TMP105 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# LED devices -# -# CONFIG_NEW_LEDS is not set - -# -# LED drivers -# - -# -# LED Triggers -# - -# -# Multimedia devices -# -# CONFIG_VIDEO_DEV is not set -CONFIG_VIDEO_V4L2=y - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -CONFIG_FIRMWARE_EDID=y -CONFIG_FB=y -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_VIRTUAL is not set -CONFIG_FB_OMAP=y -CONFIG_FB_OMAP_LCDC_EXTERNAL=y -CONFIG_FB_OMAP_LCDC_HWA742=y -# CONFIG_FB_OMAP_LCDC_BLIZZARD is not set -CONFIG_FB_OMAP_MANUAL_UPDATE=y -CONFIG_FB_OMAP_LCD_MIPID=y -# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2 -# CONFIG_FB_OMAP_DMA_TUNE is not set - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE is not set - -# -# Logo configuration -# -# CONFIG_LOGO is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set - -# -# Sound -# -CONFIG_SOUND=y - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=y -CONFIG_SND_TIMER=y -CONFIG_SND_PCM=y -CONFIG_SND_HWDEP=y -CONFIG_SND_RAWMIDI=y -# CONFIG_SND_SEQUENCER is not set -# CONFIG_SND_MIXER_OSS is not set -# CONFIG_SND_PCM_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -# 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_DUMMY=y -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ALSA ARM devices -# -CONFIG_SND_OMAP_AIC23=y -# CONFIG_SND_OMAP_TSC2101 is not set -# CONFIG_SND_OMAP24XX_EAC is not set - -# -# USB devices -# -CONFIG_SND_USB_AUDIO=y - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_BANDWIDTH=y -# CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_SUSPEND=y -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_MUSB_HDRC is not set -# CONFIG_USB_GADGET_MUSB_HDRC is not set - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# 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 is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_LIBUSUAL is not set - -# -# USB Input Devices -# -CONFIG_USB_HID=y -CONFIG_USB_HIDINPUT=y -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -# CONFIG_USB_HIDDEV is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_TOUCHSCREEN is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_ATI_REMOTE2 is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_RTL8150 is not set -CONFIG_USB_USBNET=y -# CONFIG_USB_NET_AX8817X is not set -CONFIG_USB_NET_CDCETHER=y -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=y -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_RNDIS_HOST is not set -# CONFIG_USB_NET_CDC_SUBSET is not set -CONFIG_USB_NET_ZAURUS=y -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_CONSOLE=y -# CONFIG_USB_SERIAL_GENERIC 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 is not set -# CONFIG_USB_SERIAL_CYPRESS_M8 is not set -# CONFIG_USB_SERIAL_EMPEG is not set -# CONFIG_USB_SERIAL_FTDI_SIO is not set -# 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_NAVMAN is not set -CONFIG_USB_SERIAL_PL2303=y -# 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 - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 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_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGETKIT is not set -# CONFIG_USB_PHIDGETSERVO is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TEST is not set - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=y -# CONFIG_USB_GADGET_DEBUG_FILES is not set -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -CONFIG_USB_GADGET_OMAP=y -CONFIG_USB_OMAP=y -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -# CONFIG_USB_GADGET_DUALSPEED is not set -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -# CONFIG_USB_GADGETFS is not set -CONFIG_USB_FILE_STORAGE=m -CONFIG_USB_FILE_STORAGE_TEST=y -# CONFIG_USB_G_SERIAL is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_OMAP=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# Synchronous Serial Interfaces (SSI) -# -CONFIG_OMAP_UWIRE=y -# CONFIG_OMAP_TSC2101 is not set - -# -# CBUS support -# -CONFIG_CBUS=y -CONFIG_CBUS_TAHVO=y -CONFIG_CBUS_TAHVO_USER=y -CONFIG_CBUS_TAHVO_USB=y -CONFIG_CBUS_RETU=y -CONFIG_CBUS_RETU_USER=y -CONFIG_CBUS_RETU_POWERBUTTON=y -CONFIG_CBUS_RETU_RTC=y -CONFIG_CBUS_RETU_WDT=y -# CONFIG_CBUS_RETU_HEADSET is not set - -# -# File systems -# -CONFIG_EXT2_FS=y -# CONFIG_EXT2_FS_XATTR is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY 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_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 is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_FUSE_FS is not set - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_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_JFFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -CONFIG_JFFS2_SUMMARY=y -# CONFIG_JFFS2_FS_XATTR is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_CRAMFS is not set -# 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=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_DIRECTIO is not set -# CONFIG_NFSD is not set -# CONFIG_ROOT_NFS is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -# CONFIG_RPCSEC_GSS_KRB5 is not set -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# 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 - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -CONFIG_NLS_CODEPAGE_852=y -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=y - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -# CONFIG_PRINTK_TIME is not set -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_KERNEL=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_DEBUG_SPINLOCK is not set -CONFIG_DEBUG_MUTEXES=y -# CONFIG_DEBUG_RWSEMS is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_DEBUG_VM is not set -CONFIG_FRAME_POINTER=y -# CONFIG_UNWIND_INFO is not set -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_DEBUG_USER is not set -# CONFIG_DEBUG_WAITQ is not set -CONFIG_DEBUG_ERRORS=y -# CONFIG_DEBUG_LL is not set - -# -# Security options -# -# CONFIG_KEYS is not set -CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_CAPABILITIES is not set -# CONFIG_SECURITY_ROOTPLUG is not set -# CONFIG_SECURITY_SECLVL is not set -# CONFIG_SECURITY_LOWMEM is not set - -# -# Cryptographic options -# -# CONFIG_CRYPTO is not set - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_LZO=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch deleted file mode 100644 index 79d53545e36..00000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch +++ /dev/null @@ -1,415 +0,0 @@ ---- - arch/arm/mach-omap1/board-nokia770.c | 60 +++++++++++++++++++++++++++++++---- - arch/arm/mach-omap1/mmu.c | 1 - drivers/cbus/tahvo-usb.c | 4 +- - drivers/i2c/chips/isp1301_omap.c | 1 - drivers/mtd/mtdchar.c | 6 +++ - drivers/mtd/mtdpart.c | 5 ++ - drivers/mtd/nand/omap-hw.c | 55 +++++++++++++++----------------- - drivers/serial/8250.c | 2 + - drivers/video/omap/omapfb_main.c | 4 +- - include/asm-arm/arch-omap/keypad.h | 3 + - include/asm-arm/arch-omap/serial.h | 16 +++++++++ - 11 files changed, 118 insertions(+), 39 deletions(-) - -Index: linux-g/arch/arm/mach-omap1/board-nokia770.c -=================================================================== ---- linux-g.orig/arch/arm/mach-omap1/board-nokia770.c 2006-11-08 13:18:39.000000000 +0100 -+++ linux-g/arch/arm/mach-omap1/board-nokia770.c 2007-08-13 16:23:15.000000000 +0200 -@@ -16,6 +16,8 @@ - - #include - #include -+#include -+#include - - #include - #include -@@ -33,9 +35,12 @@ - #include - #include - #include -+#include - - #include "../plat-omap/dsp/dsp_common.h" - -+#define ADS7846_PENDOWN_GPIO 15 -+ - static void __init omap_nokia770_init_irq(void) - { - /* On Nokia 770, the SleepX signal is masked with an -@@ -75,9 +80,11 @@ - }; - - static struct omap_kp_platform_data nokia770_kp_data = { -- .rows = 8, -- .cols = 8, -- .keymap = nokia770_keymap -+ .rows = 8, -+ .cols = 8, -+ .keymap = nokia770_keymap, -+ .keymapsize = ARRAY_SIZE(nokia770_keymap), -+ .delay = 4, - }; - - static struct platform_device nokia770_kp_device = { -@@ -94,6 +101,41 @@ - &nokia770_kp_device, - }; - -+static void mipid_shutdown(struct mipid_platform_data *pdata) -+{ -+ if (pdata->nreset_gpio != -1) { -+ printk(KERN_INFO "shutdown LCD\n"); -+ omap_set_gpio_dataout(pdata->nreset_gpio, 0); -+ msleep(120); -+ } -+} -+ -+static struct mipid_platform_data nokia770_mipid_platform_data = { -+ .shutdown = mipid_shutdown, -+}; -+ -+static void mipid_dev_init(void) -+{ -+ const struct omap_lcd_config *conf; -+ -+ conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config); -+ if (conf != NULL) { -+ nokia770_mipid_platform_data.nreset_gpio = conf->nreset_gpio; -+ nokia770_mipid_platform_data.data_lines = conf->data_lines; -+ } -+} -+ -+static void ads7846_dev_init(void) -+{ -+ if (omap_request_gpio(ADS7846_PENDOWN_GPIO) < 0) -+ printk(KERN_ERR "can't get ads7846 pen down GPIO\n"); -+} -+ -+static int ads7846_get_pendown_state(void) -+{ -+ return !omap_get_gpio_datain(ADS7846_PENDOWN_GPIO); -+} -+ - static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata = { - .x_max = 0x0fff, - .y_max = 0x0fff, -@@ -101,14 +143,17 @@ - .pressure_max = 255, - .debounce_max = 10, - .debounce_tol = 3, -+ .debounce_rep = 1, -+ .get_pendown_state = ads7846_get_pendown_state, - }; - - static struct spi_board_info nokia770_spi_board_info[] __initdata = { - [0] = { -- .modalias = "lcd_lph8923", -+ .modalias = "lcd_mipid", - .bus_num = 2, - .chip_select = 3, - .max_speed_hz = 12000000, -+ .platform_data = &nokia770_mipid_platform_data, - }, - [1] = { - .modalias = "ads7846", -@@ -189,7 +234,7 @@ - }, - }; - --static struct omap_board_config_kernel nokia770_config[] = { -+static struct omap_board_config_kernel nokia770_config[] __initdata = { - { OMAP_TAG_USB, NULL }, - { OMAP_TAG_MMC, &nokia770_mmc_config }, - }; -@@ -235,7 +280,7 @@ - printk("HP connected\n"); - } - --static void codec_delayed_power_down(void *arg) -+static void codec_delayed_power_down(struct work_struct *work) - { - down(&audio_pwr_sem); - if (audio_pwr_state == -1) -@@ -326,9 +371,12 @@ - ARRAY_SIZE(nokia770_spi_board_info)); - omap_board_config = nokia770_config; - omap_board_config_size = ARRAY_SIZE(nokia770_config); -+ omap_gpio_init(); - omap_serial_init(); - omap_dsp_init(); - hwa742_dev_init(); -+ ads7846_dev_init(); -+ mipid_dev_init(); - } - - static void __init omap_nokia770_map_io(void) -Index: linux-g/arch/arm/mach-omap1/mmu.c -=================================================================== ---- linux-g.orig/arch/arm/mach-omap1/mmu.c 2007-08-13 13:54:01.000000000 +0200 -+++ linux-g/arch/arm/mach-omap1/mmu.c 2007-08-13 16:23:15.000000000 +0200 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include "mmu.h" - #include - -Index: linux-g/drivers/cbus/tahvo-usb.c -=================================================================== ---- linux-g.orig/drivers/cbus/tahvo-usb.c 2006-11-08 13:18:51.000000000 +0100 -+++ linux-g/drivers/cbus/tahvo-usb.c 2007-08-13 16:23:15.000000000 +0200 -@@ -135,8 +135,8 @@ - if ((!(OTG_CTRL_REG & OTG_DRIVER_SEL)) && - tu->otg.host && tu->otg.state == OTG_STATE_A_HOST) { - /* role is host */ -- usb_bus_start_enum(tu->otg.host, -- tu->otg.host->otg_port); -+ //usb_bus_start_enum(tu->otg.host, -+ // tu->otg.host->otg_port); - } - OTG_IRQ_SRC_REG = DRIVER_SWITCH; - } else -Index: linux-g/drivers/i2c/chips/isp1301_omap.c -=================================================================== ---- linux-g.orig/drivers/i2c/chips/isp1301_omap.c 2006-11-08 13:18:51.000000000 +0100 -+++ linux-g/drivers/i2c/chips/isp1301_omap.c 2007-08-13 16:23:15.000000000 +0200 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - -Index: linux-g/drivers/mtd/mtdchar.c -=================================================================== ---- linux-g.orig/drivers/mtd/mtdchar.c 2006-11-08 13:18:55.000000000 +0100 -+++ linux-g/drivers/mtd/mtdchar.c 2007-08-13 16:23:15.000000000 +0200 -@@ -622,6 +622,12 @@ - break; - } - -+ case MEMSETOOBSEL: -+ { -+ break; -+ } -+ -+ - case MEMGETBADBLOCK: - { - loff_t offs; -Index: linux-g/drivers/mtd/mtdpart.c -=================================================================== ---- linux-g.orig/drivers/mtd/mtdpart.c 2006-11-08 13:18:55.000000000 +0100 -+++ linux-g/drivers/mtd/mtdpart.c 2007-08-13 16:23:15.000000000 +0200 -@@ -200,6 +200,11 @@ - return -EINVAL; - instr->addr += part->offset; - ret = part->master->erase(part->master, instr); -+ if (ret) { -+ if (instr->fail_addr != 0xffffffff) -+ instr->fail_addr -= part->offset; -+ instr->addr -= part->offset; -+ } - return ret; - } - -Index: linux-g/drivers/mtd/nand/omap-hw.c -=================================================================== ---- linux-g.orig/drivers/mtd/nand/omap-hw.c 2006-11-08 13:18:55.000000000 +0100 -+++ linux-g/drivers/mtd/nand/omap-hw.c 2007-08-13 16:23:15.000000000 +0200 -@@ -386,11 +386,6 @@ - return nand_read_reg8(NND_ACCESS); - } - --static void omap_nand_write_byte(struct mtd_info *mtd, u_char byte) --{ -- nand_write_reg8(NND_ACCESS, byte); --} -- - static int omap_nand_dev_ready(struct mtd_info *mtd) - { - u32 l; -@@ -425,9 +420,9 @@ - if (command == NAND_CMD_SEQIN) { - int readcmd; - -- if (column >= mtd->oobblock) { -+ if (column >= mtd->writesize) { - /* OOB area */ -- column -= mtd->oobblock; -+ column -= mtd->writesize; - readcmd = NAND_CMD_READOOB; - } else if (column < 256) { - /* First 256 bytes --> READ0 */ -@@ -458,7 +453,7 @@ - struct nand_chip *this = mtd->priv; - - if (command == NAND_CMD_READOOB) { -- column += mtd->oobblock; -+ column += mtd->writesize; - command = NAND_CMD_READ0; - } - switch (command) { -@@ -495,7 +490,8 @@ - int n; - struct nand_chip *this = mtd->priv; - -- if (this->eccmode == NAND_ECC_HW12_2048) -+ /* Ex NAND_ECC_HW12_2048 */ -+ if ((this->ecc.mode == NAND_ECC_HW) && (this->ecc.size == 2048)) - n = 4; - else - n = 1; -@@ -642,7 +638,8 @@ - int block_count = 0, i, r; - - this = mtd->priv; -- if (this->eccmode == NAND_ECC_HW12_2048) -+ /* Ex NAND_ECC_HW12_2048 */ -+ if ((this->ecc.mode == NAND_ECC_HW) && (this->ecc.size == 2048)) - block_count = 4; - else - block_count = 1; -@@ -672,12 +669,12 @@ - { - static const char *part_parsers[] = { "cmdlinepart", NULL }; - struct mtd_partition *parts; -- const struct omap_flash_part_config *cfg; -+ const struct omap_flash_part_str_config *cfg; - char *part_str = NULL; - size_t part_str_len; - int c; - -- cfg = omap_get_var_config(OMAP_TAG_FLASH_PART, &part_str_len); -+ cfg = omap_get_var_config(OMAP_TAG_FLASH_PART_STR, &part_str_len); - if (cfg != NULL) { - part_str = kmalloc(part_str_len + 1, GFP_KERNEL); - if (part_str == NULL) -@@ -794,19 +791,20 @@ - - /* Used from chip select and nand_command() */ - this->read_byte = omap_nand_read_byte; -- this->write_byte = omap_nand_write_byte; - -- this->select_chip = omap_nand_select_chip; -- this->dev_ready = omap_nand_dev_ready; -- this->chip_delay = 0; -- this->eccmode = NAND_ECC_HW3_512; -- this->cmdfunc = omap_nand_command; -- this->write_buf = omap_nand_write_buf; -- this->read_buf = omap_nand_read_buf; -- this->verify_buf = omap_nand_verify_buf; -- this->calculate_ecc = omap_nand_calculate_ecc; -- this->correct_data = omap_nand_correct_data; -- this->enable_hwecc = omap_nand_enable_hwecc; -+ this->select_chip = omap_nand_select_chip; -+ this->dev_ready = omap_nand_dev_ready; -+ this->chip_delay = 0; -+ this->ecc.mode = NAND_ECC_HW; -+ this->ecc.bytes = 3; -+ this->ecc.size = 512; -+ this->cmdfunc = omap_nand_command; -+ this->write_buf = omap_nand_write_buf; -+ this->read_buf = omap_nand_read_buf; -+ this->verify_buf = omap_nand_verify_buf; -+ this->ecc.calculate = omap_nand_calculate_ecc; -+ this->ecc.correct = omap_nand_correct_data; -+ this->ecc.hwctl = omap_nand_enable_hwecc; - - nand_write_reg(NND_SYSCFG, 0x1); /* Enable auto idle */ - nand_write_reg(NND_PSC_CLK, 10); -@@ -822,11 +820,10 @@ - l = nand_read_reg(NND_CTRL); - l |= 1 << 4; /* Set the A8 bit in CTRL reg */ - nand_write_reg(NND_CTRL, l); -- this->eccmode = NAND_ECC_HW12_2048; -- this->eccsteps = 1; -- this->eccsize = 2048; -- this->eccbytes = 12; -- omap_mtd->eccsize = 2048; -+ this->ecc.mode = NAND_ECC_HW; -+ this->ecc.steps = 1; -+ this->ecc.size = 2048; -+ this->ecc.bytes = 12; - nand_write_reg(NND_ECC_SELECT, 6); - } - -Index: linux-g/drivers/serial/8250.c -=================================================================== ---- linux-g.orig/drivers/serial/8250.c 2006-11-08 13:18:59.000000000 +0100 -+++ linux-g/drivers/serial/8250.c 2007-08-13 16:23:15.000000000 +0200 -@@ -44,6 +44,8 @@ - #include - #include - -+#include -+ - #include "8250.h" - - /* -Index: linux-g/drivers/video/omap/omapfb_main.c -=================================================================== ---- linux-g.orig/drivers/video/omap/omapfb_main.c 2007-08-13 13:54:01.000000000 +0200 -+++ linux-g/drivers/video/omap/omapfb_main.c 2007-08-13 16:23:15.000000000 +0200 -@@ -110,7 +110,7 @@ - - #ifdef CONFIG_FB_OMAP_LCDC_EXTERNAL - #ifdef CONFIG_ARCH_OMAP1 --extern struct lcd_ctrl_extif omap1_ext_if; -+extern struct lcd_ctrl_extif sossi_extif; - #else - extern struct lcd_ctrl_extif omap2_ext_if; - #endif -@@ -1658,7 +1658,7 @@ - #ifdef CONFIG_ARCH_OMAP1 - fbdev->int_ctrl = &omap1_int_ctrl; - #ifdef CONFIG_FB_OMAP_LCDC_EXTERNAL -- fbdev->ext_if = &omap1_ext_if; -+ fbdev->ext_if = &sossi_extif; - #endif - #else /* OMAP2 */ - fbdev->int_ctrl = &omap2_int_ctrl; -Index: linux-g/include/asm-arm/arch-omap/keypad.h -=================================================================== ---- linux-g.orig/include/asm-arm/arch-omap/keypad.h 2006-11-08 13:19:11.000000000 +0100 -+++ linux-g/include/asm-arm/arch-omap/keypad.h 2007-08-13 16:23:15.000000000 +0200 -@@ -14,7 +14,10 @@ - int rows; - int cols; - int *keymap; -+ unsigned int keymapsize; - unsigned int rep:1; -+ unsigned long delay; -+ unsigned int dbounce:1; - /* specific to OMAP242x*/ - unsigned int *row_gpios; - unsigned int *col_gpios; -Index: linux-g/include/asm-arm/arch-omap/serial.h -=================================================================== ---- linux-g.orig/include/asm-arm/arch-omap/serial.h 2007-08-13 13:54:01.000000000 +0200 -+++ linux-g/include/asm-arm/arch-omap/serial.h 2007-08-13 16:23:15.000000000 +0200 -@@ -26,4 +26,20 @@ - #define OMAP1510_BASE_BAUD (12000000/16) - #define OMAP16XX_BASE_BAUD (48000000/16) - -+#define is_omap_port(p) ({int __ret = 0; \ -+ if (p == IO_ADDRESS(OMAP_UART1_BASE) || \ -+ p == IO_ADDRESS(OMAP_UART2_BASE) || \ -+ p == IO_ADDRESS(OMAP_UART3_BASE)) \ -+ __ret = 1; \ -+ __ret; \ -+ }) -+ -+#define is_omap_port(p) ({int __ret = 0; \ -+ if (p == IO_ADDRESS(OMAP_UART1_BASE) || \ -+ p == IO_ADDRESS(OMAP_UART2_BASE) || \ -+ p == IO_ADDRESS(OMAP_UART3_BASE)) \ -+ __ret = 1; \ -+ __ret; \ -+ }) -+ - #endif diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig deleted file mode 100644 index 55485e25b47..00000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig +++ /dev/null @@ -1,1312 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.18-omap1 -# Wed May 23 16:23:22 2007 -# -CONFIG_ARM=y -CONFIG_MMU=y -CONFIG_GENERIC_HARDIRQS=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -# CONFIG_RELAY is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SHMEM=y -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set - -# -# Block layer -# -# CONFIG_BLK_DEV_IO_TRACE is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -# CONFIG_DEFAULT_CFQ is not set -CONFIG_DEFAULT_NOOP=y -CONFIG_DEFAULT_IOSCHED="noop" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP3XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -CONFIG_ARCH_OMAP=y - -# -# TI OMAP Implementations -# -# CONFIG_ARCH_OMAP1 is not set -CONFIG_ARCH_OMAP2=y - -# -# OMAP Feature Selections -# -CONFIG_OMAP_RESET_CLOCKS=y -CONFIG_OMAP_BOOT_TAG=y -CONFIG_OMAP_BOOT_REASON=y -CONFIG_OMAP_COMPONENT_VERSION=y -CONFIG_OMAP_GPIO_SWITCH=y -# CONFIG_OMAP_MUX is not set -CONFIG_OMAP_STI=y -CONFIG_OMAP_STI_CONSOLE=y -# CONFIG_OMAP_MCBSP is not set -# CONFIG_OMAP_MPU_TIMER is not set -CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_DM_TIMER=y -# CONFIG_OMAP_LL_DEBUG_UART1 is not set -# CONFIG_OMAP_LL_DEBUG_UART2 is not set -CONFIG_OMAP_LL_DEBUG_UART3=y -CONFIG_OMAP_DSP=y -# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set -CONFIG_OMAP_DSP_TASK_MULTIOPEN=y -CONFIG_OMAP_DSP_FBEXPORT=y -CONFIG_MACH_OMAP_GENERIC=y - -# -# OMAP Core Type -# -CONFIG_ARCH_OMAP24XX=y -CONFIG_ARCH_OMAP2420=y - -# -# OMAP Board Type -# -CONFIG_MACH_NOKIA_N800=y -CONFIG_MACH_OMAP2_TUSB6010=y -# CONFIG_MACH_OMAP_H4 is not set -# CONFIG_MACH_OMAP_APOLLON is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_V6=y -# CONFIG_CPU_32v6K is not set -CONFIG_CPU_32v6=y -CONFIG_CPU_ABRT_EV6=y -CONFIG_CPU_CACHE_V6=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_TLB_V6=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_BPREDICT_DISABLE is not set - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=128 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -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 is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_LEDS=y -# CONFIG_LEDS_TIMER is not set -# CONFIG_LEDS_CPU is not set -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x10C08000 -CONFIG_ZBOOT_ROM_BSS=0x10200000 -# CONFIG_ZBOOT_ROM is not set -CONFIG_CMDLINE="root=1f03 rootfstype=jffs2" -# CONFIG_XIP_KERNEL is not set - -# -# CPU Frequency scaling -# -# CONFIG_CPU_FREQ is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set -CONFIG_VFP=y - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_APM is not set - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=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 is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_BIC=y - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NF_CONNTRACK is not set -CONFIG_NETFILTER_XTABLES=y -# 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_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_ESP 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_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_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set - -# -# IP: Netfilter Configuration -# -# CONFIG_IP_NF_CONNTRACK is not set -# CONFIG_IP_NF_QUEUE is not set -CONFIG_IP_NF_IPTABLES=y -# 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_DSCP 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_MATCH_HASHLIMIT is not set -CONFIG_IP_NF_FILTER=y -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -# CONFIG_IP_NF_TARGET_TCPMSS is not set -CONFIG_IP_NF_TARGET_IDLETIMER=y -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# 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 is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -# CONFIG_BT_BNEP_MC_FILTER is not set -# CONFIG_BT_BNEP_PROTO_FILTER is not set -CONFIG_BT_HIDP=y - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBRF6150 is not set -CONFIG_BT_HCIH4P=y -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_WIRELESS_EXT=y - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# -# CONFIG_CONNECTOR is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL 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 -# CONFIG_MTD_OBSOLETE_CHIPS is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 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 - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# OneNAND Flash Device Drivers -# -CONFIG_MTD_ONENAND=y -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OMAP2=y -CONFIG_MTD_ONENAND_OTP=y - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -CONFIG_BLK_DEV_INITRD=y -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -# CONFIG_SCSI_PROC_FS is not set - -# -# 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 is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set - -# -# SCSI Transport Attributes -# -# 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 - -# -# SCSI low-level drivers -# -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=y - -# -# PHY device support -# - -# -# Ethernet (10 or 100Mbit) -# -# CONFIG_NET_ETHERNET is not set - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y -# CONFIG_NET_WIRELESS_RTNETLINK is not set - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set -# CONFIG_HOSTAP is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=y -CONFIG_PPP_SYNC_TTY=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_BSDCOMP=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# 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 is not set -# 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_OMAP is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_RAW is not set -# 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 is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_OMAP=y -CONFIG_SERIAL_OMAP_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_OMAP_WATCHDOG=y -# CONFIG_HW_RANDOM is not set -CONFIG_OMAP_RNG=y -# CONFIG_NVRAM is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set -# CONFIG_TELCLOCK is not set - -# -# I2C support -# -CONFIG_I2C=y -# CONFIG_I2C_CHARDEV is not set - -# -# 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_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA is not set -CONFIG_I2C_OMAP=y - -# -# 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_TPS65010 is not set -# CONFIG_SENSORS_TLV320AIC23 is not set -# CONFIG_GPIOEXPANDER_OMAP is not set -CONFIG_MENELAUS=y -# 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=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_OMAP_UWIRE is not set -CONFIG_SPI_OMAP24XX=y - -# -# SPI Protocol Masters -# -CONFIG_SPI_TSC2301=y -CONFIG_SPI_TSC2301_KEYPAD=y -CONFIG_SPI_TSC2301_TOUCHSCREEN=y -CONFIG_SPI_TSC2301_AUDIO=y - -# -# Dallas's 1-wire bus -# - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -CONFIG_SENSORS_TMP105=y -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# LED devices -# -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y - -# -# LED drivers -# -# CONFIG_LEDS_OMAP is not set -CONFIG_LEDS_OMAP_PWM=y - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y - -# -# Multimedia devices -# -CONFIG_VIDEO_DEV=y -# CONFIG_VIDEO_V4L1 is not set -# CONFIG_VIDEO_V4L1_COMPAT is not set -CONFIG_VIDEO_V4L2=y - -# -# Video Capture Adapters -# - -# -# Video Capture Adapters -# -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_VIVI is not set - -# -# Encoders and Decoders -# -# 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 -# CONFIG_VIDEO_CX2341X is not set -# CONFIG_VIDEO_CX25840 is not set -# CONFIG_VIDEO_SAA711X is not set -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_UPD64031A is not set -# CONFIG_VIDEO_UPD64083 is not set -CONFIG_VIDEO_OMAP_CAMERA=y -# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set -CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y - -# -# Radio Adapters -# -CONFIG_RADIO_TEA5761=y - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -CONFIG_VIDEO_BUF=y - -# -# Graphics support -# -# CONFIG_FIRMWARE_EDID is not set -CONFIG_FB=y -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_VIRTUAL is not set -CONFIG_FB_OMAP=y -CONFIG_FB_OMAP_LCDC_EXTERNAL=y -# CONFIG_FB_OMAP_LCDC_HWA742 is not set -CONFIG_FB_OMAP_LCDC_BLIZZARD=y -# CONFIG_FB_OMAP_MANUAL_UPDATE is not set -CONFIG_FB_OMAP_LCD_MIPID=y -CONFIG_FB_OMAP_BOOTLOADER_INIT=y -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4 - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y - -# -# Logo configuration -# -# CONFIG_LOGO is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set - -# -# Sound -# -CONFIG_SOUND=y - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=y -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=y -# CONFIG_SND_PCM_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ALSA ARM devices -# -# CONFIG_SND_OMAP_AIC23 is not set -# CONFIG_SND_OMAP_TSC2101 is not set -CONFIG_SND_OMAP24XX_EAC=y - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -# CONFIG_USB is not set -CONFIG_USB_MUSB_HDRC=y -CONFIG_USB_TUSB6010=y -CONFIG_USB_TUSB6010_TEST=y -# CONFIG_USB_MUSB_HOST is not set -CONFIG_USB_MUSB_PERIPHERAL=y -# CONFIG_USB_MUSB_OTG is not set -CONFIG_USB_GADGET_MUSB_HDRC=y -# CONFIG_USB_INVENTRA_FIFO is not set -# CONFIG_USB_INVENTRA_DMA is not set -# CONFIG_USB_TI_CPPI_DMA is not set -CONFIG_USB_TUSB_OMAP_DMA=y -CONFIG_USB_INVENTRA_HCD_LOGGING=1 - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=y -CONFIG_USB_GADGET_DEBUG_FILES=y -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -# CONFIG_USB_GADGET_OMAP is not set -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -CONFIG_USB_GADGET_DUALSPEED=y -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -# CONFIG_USB_GADGETFS is not set -CONFIG_USB_FILE_STORAGE=m -# CONFIG_USB_FILE_STORAGE_TEST is not set -# CONFIG_USB_G_SERIAL is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_OMAP=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# Synchronous Serial Interfaces (SSI) -# -# CONFIG_OMAP_TSC2101 is not set - -# -# CBUS support -# -CONFIG_CBUS=y -CONFIG_CBUS_TAHVO=y -CONFIG_CBUS_TAHVO_USER=y -CONFIG_CBUS_RETU=y -CONFIG_CBUS_RETU_USER=y -CONFIG_CBUS_RETU_POWERBUTTON=y -CONFIG_CBUS_RETU_RTC=y -CONFIG_CBUS_RETU_WDT=y -CONFIG_CBUS_RETU_HEADSET=y - -# -# File systems -# -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -# CONFIG_EXT2_FS_POSIX_ACL is not set -# CONFIG_EXT2_FS_SECURITY is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=m -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -CONFIG_JBD=m -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=m -# 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_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 is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_FUSE_FS is not set - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_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_JFFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -CONFIG_JFFS2_SUMMARY=y -# CONFIG_JFFS2_FS_XATTR is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_CRAMFS is not set -# 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 is not set -# CONFIG_NFSD is not set -# 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 is not set -CONFIG_MSDOS_PARTITION=y - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=y - -# -# Profiling support -# -CONFIG_PROFILING=y -CONFIG_OPROFILE=y - -# -# Kernel hacking -# -CONFIG_PRINTK_TIME=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_KERNEL=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_RWSEMS is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_DEBUG_VM is not set -CONFIG_FRAME_POINTER=y -# CONFIG_UNWIND_INFO is not set -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -CONFIG_DEBUG_USER=y -# CONFIG_DEBUG_WAITQ is not set -CONFIG_DEBUG_ERRORS=y -# CONFIG_DEBUG_LL is not set - -# -# Security options -# -# CONFIG_KEYS is not set -CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_CAPABILITIES is not set -# CONFIG_SECURITY_SECLVL is not set -CONFIG_SECURITY_LOWMEM=y - -# -# Cryptographic options -# -# CONFIG_CRYPTO is not set - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_LZO=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz deleted file mode 100644 index 2ceb4a784155eec7bdf8a299789f10c4dfeac4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 932654 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 z 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

Syb|-WjS+uo4AaM^!v*g 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 z

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

    xvn`X@roAEHG!Jn0wA? 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�z@T`PG2+*B zNSH;u1;k{vZlrGFDQ3>@b!1M_#Kc8jvPOYz9hto^vl)%@s*-F>^@4EDc%4TvS$+j~z~{Yrp*_ad;~% z-rOJEGM5Bv@5mMt6#xMq>0ZJXCGyeXdt8Y>mcHERJ~!4qGW5UE0IXUn3W)Wg2NVNV zfrG`e!yBxra$tFKeDt#c*5RvHOkm&)m7GRq_juabK~mWPy!7EiJ+gt6L`s-&8V0~X zWRj%DC2iI;i7~k+NA`*_5Jnoav5dxufbJ#NXhxb2KMY5=WLZLDA2ZpsertxOk*h#1 zKe&ZU8J`2XZt%2-OM+b&=~cMRt)^xrX6^Wr<LVghO4qD8wFC>;R$zIYM8m1R z?@-I_8T*ZK3wd8=3bAbJ&B)wMWZ1pFzIS#PjVOS=WRNvRJage#y?P`p)@o1deByq0 zRi(&OUrvFALK-Y2SUbTnW(_ULIA@OmT=%peQ(V;`p3pThVV1!z-VNwi>PKYR3CU?7 zUFoix=|l{ZF;-}Ux}O`s_nx%zINB`0VWK?6HcheYH32wKIx}+EdV6y4?x@v1-8*~R zK4_iqXPd5a2-Jp2q@u~Tne!@3(@1X^NY>_+7@HTcVyL^LW1!RZkr>#y0U&c!G;c8t z@t-Kz??`;Bn+iq!XL7gWW)t9t#`kcC9X6&zI$NaLhL6E#VSBuTuJ3+{j)mg^Cl6)@ z*Kqc-zl47g%_!x#7WRuB_ARo+v2=z5g=l}toWi}m50QQtUdhTG#yy6{G43%bl8EfR zB5XLadPC!YOGu?{P$JmUSVXSNOw&kYE07B-%nzAl6=`$@bk)gzaEP5-=jW~Ci^IJm z?KVIqx+GmZ+^J?;gxi*Ff!W>bJBTqxl1K~8*=Y!G$LV-L<9XIf*E1+1}&r^Zg^SYs1Uoti9Yjjf`8e6PQlQ8pMvDlUeOWyu<0v&lLO zLIO)pzAlqKD;MH~x>w(8m{gd;Td~g`Re>Y2US*<>e#{wuk9C=@P11PYqIiHT<9&wC z^0~C?eUIv~%JtDB4AZdR^8CF`6WOg7R^x77Y3t@A^=0 z)u`|=+R{*9p>=nvVZA~fLjb_%V=qCsTD)mQKV?izSu*3m$}Cy0>R;A~iFiRzbEaR5 z*Ex%9-bOLUjO3k5lB(te5k`?AbTI;VY*Ay*!Ti;KHLlAX|4*6P8LUFG@|s-|Be#wo7xN3 z(THrZyrPw;hjSEJ$gxu+U?Dd_U)*tVPXWhEK!+wH zoT}8?cN8dh;L>;qs3O5u8OH(m{|(1|zyumpRmOF|ESAywdmFOm`xDq(Rt~@p)<`j% zo%b=wM+I=dneohCM8uY^saSd>=RNPeP%UuaueukTHU5wkF2->iw_(+CRXGqIYa=c- zCbbsJ(>zLgGo6qFBA<`x5dGM&^s_JyMiW|cvjls|d?mYMl5s2$dl)67CM&+g&1kub zBn-?d=7u&{b2J+yH1=W%*$Fs={#xLTRiuYS5d%==fF>x zvI1iMlZU?HUYqPcIfnU+xt^}=OyrO*0V7WG_M$>o$GK1Ji|_P-lSKv1FdMv)K8tOW8IY@?}Vu2|#kvP8cR}<#2NaWCIZAyX>`H^ zTXe;+CAx&(gzKYSQG^pu7CVuP zEvC6;b>l5Rz|?rcEL^eytMl~2WNr<^TgQVFbduSf?=uIHBbLmewj2*me z`gxJ~@e3r&HMLp!Lq1wFqs#jKAkdZc^-^v^YrZ4olp<5!1g0F23D|D9R|p$00;xv4 zIFcOT#jUedso=u-gh7R#DYJrq%Pb|g z-HxWtnAOjRsmcEQb-?&)@95~_&DqJj*KdR)3QY^sLhg987rJ~iBTpYf+=>p4;>?=< zQgPpBb{&H#C*s%d%l~Hb+5qs}oc3M!wQ-TIdyic;uO|#}G~>-e7j5t(Sm6SwnaE6s!%50N9A+$0oG zikyO7GfF@?4Vhkx&rm+1J;|j7WX)CC^!fdFJA8#BQ?!cB)831I4ApIZRwYrnHMUDu zi<3ybRZ*zf`J<^OBUL~0R6N4ZYPzH8BE}2sZ=6xY0OjV&#|(%98FO=askzJ_WtX+p znYre~63h-IuuADb>J>-XM-Me8X(~JmXXS*=gdrp92HG48N`{lxpm`cN>37!Jf8Rd+ z;o_)uOo`ong&_CTDoL*C7W#VY{m7gkxI;u66dx<5X>d44#Bv=)J^ZT#lO`OI{{jPaDPAi$f_( z(CbQF0&!F4j-2dUJc*5qFz1SpkZ-_TDvL4cQN{|23NztQA&8Y2r#CT!@13mtVRr*1 zFkkvID912#g|aZhnHU>1uw4;!(VaX_VoKN|x=)NBfRpd3K;eL^fe!P=5%k(I;7O|! z(EpEAfaK0iK?X1?UO%iI!I%+NzLn7Pfd)C-+lSqj$YRO9j}VjH(+LXbTS?TDv^3Ir z5CP*$zHY#qUf!GJ2c%g+Kjc*0UbMPH*DjMepp}uFmdGQdN;(dj?~t8@yXrRT*_xQ} zl`4BNa&#w-&?nc$&Iif4Goe%y>{$vE7~O&-kYeHi%uqF?Maj1}+;c@d%yUDjjXm1c z0|n`|rS3wxKZDroThXFl(X<%BoKMtUqzdC5+5;@*_v&-v<%qYSDCi?wc3E)L-w)V6 ziE8keL6kUfK$Zu!l~7SfE^K@UtIA~VLL-%? zkC!o@WSw5aq_v4Tv!6?AJ-VnRCCwPwY+TuFzRZ{oIDJ=6GhD*WSTtoBHuVyg!F7Sv zq}*}_XthQ{hGy#V#=|i~l30j`sZFbG$+Xpx*}qwltL-Yz3x6AgpnqS4CGvg;@Ia(G zgYe%gOz*D$B-^$T57R_8-p>$up;Pq*tg*$ z--alER^4h4rim6`o$?Om&JOt)qDC)~+UX{<%e+E*Ra+}0Uza(f-Q#LHrL{~s0$F%g z&&RGYeuRNQ4EoRS=?2RN)hKW8x=R3KiDO0DG6-@D0I(U91nv#>(#;+-A$qgqj;EN`*i$Wbp zMWK@3GH7nwtuEv{PNwaSFN+QCl>2kzw_8z-7d#XnFB!H zCS)*nq!Mi<7SU@sy6t0hhi0OjY?q@ef4^C}9gpDcW#5RiQWJ-`tHZOu?ZW-~H?eq2 zc|=r;T9!-q(^s{2d#6C0h>F~xpXK#EN>s^RK`#=$N0(`wp!(txZtcc1{LrqtncjT= zy~o}$M_HuOFiM4rZeN(4z~hB|v-lDs#0(iCETP-u$V1}B7zY)0mA)QPx;`8YC1}S# zI>SZbC>~MSa)^p1$Pg4*xVSF~N`ZN>9*#hodoIh0|m_a&!QMe_qwU-e3@SDQeRJgmyzm zo)Uy3%4mQki*aa_@KYn=W3fupcB1Q6mM?w+Ztd*gXH)@Hv`*rBBx(TN*aYH8#5N_a zaAGP-&Hr!;MS)Sd5V znD-C|>2i;aKZG$&@S3|GjEppo^e#t|sv z{!WfT61b+%48;kWoVS?94ufa(MxyeFjZT-SU!v%Gn;gM_(m-;Ck%#bG07VPrskv8$ zmu1WNWSx_A>=1s*I(vyW^e`Kk+~NPoFcDw_HStN9^%CF|8GM*E?rM<~}!lnT#5uIm2w1Fdc8`!{YID`WDe1zXoXL06fsENYHQr@;s4n006iEHfDN72-amKYcI;Lxc7uPgr?4lzsKq{sDUP2z~r z#*p6NiLTzmx_krsh{+UCB6t zeE283o}*(C5TG?zuzdaMwEaWt?6`Gg%A`DSXt58)IY5ZG74SsG=9 zWM2)cG%sgp71t$VUKXibcyJ3o5#_M1L7WDOOkfE1+2QHM$ys~v=?~6y_z1#KEo~eTvCOpDQ(->#d8%@*xeXVCnRyRwM#7&NfNrv=v zd91?H&;e?rbzCc91=j5P%qvdCo*ktl!SVEs<8CIfTsSA%db7`Z!puVuxOrFsH$2Ye ziJRp@ST#JqVk5v@uR=O3pIsw%G3UUH{&AqykA-^4%nMD8DM2JxO3QrG3j`n`!)|HN z{cyo5v)Rih?1i}Ex*B>_S--ZwA(Ad&cFBJ=;C)!^m}b2CHrD*$Hsldg3S*m?Wctin z$z5oc?7Q?V;h;C$Q%A=TH~RDSM85z^B@oqFHR^an_83eghkX z@2j4d8FE&EGV6v3m|KLMz4D&>6WCpG+~zWB13P_BYp~*nQm`wjE@B|W<%ZJf3H$%$mG1%Nx^k84Y^RVq$yTF1h|&)(lT2<9WJN{)Jy_Qy1~f;E)^dZ?%r;{M zLkSFHcfr2+hsPIa>!c!9EUY|IWvU1n@)gB3%jkJqb@3PWkIsm77nv$JzT+CDkz|bF zGQB~Jsj$WLoO-tol7{q#5;X?(^xKXH<*F)ch*egdj~Ot!72G-1%q7OdY8{@b3${S5 zO>}V~on)3&&%Yfpz z<_?NIBC2O)M|@A+q{I%D4&X*zin5|YFPn{>W<{5=(!hv+n_`++3k>MmjWqyV-!fLS z0i8s>WSP&O(L^nFHuVN(O`a|(sADZdr+qhca~wY)OeY zTqA}q4o4=+B%;uV2kt=?wJ(18CwOKZk4ui8+lb2S)k$T3Or}c0GfFqvOP%UHfRGyc z;vq?OY_3dD7hMh)x;~g;&D~cgLq@GcF zQgn@_xGZG}7&tO=g=_Cv>`KiS+q87oDQ%irjID3FR3%VNZbehOkS|#dVC(@`#<~|3 z4K~!Lu-Q;=EW0I_)5@2?FXU_Fm(CB0t!vJD9AKSBE-zxnivM6>Ukt zoo?0*CN(^bW79Gq|J$?&0&=`#-F7u_ae8>5*cwqrtAP$kn~p2m;p|5@mmHFFN(PCh zU18hF{W2YmZ32~OB7KvX^Dd64jvS>qP^;G6e3d>(rBBGFC^RB-xbge~y?Hyb5l^YE zekZ9aDTvfm{PH}BGg3Jku|onf-}9KkHM%c9sXOo!SMAu$2OS-&Vp*1|auO&@_jHtM z$|fWSJ+>(ebLWF@et7n`+@+*#KaNg2%)JtNjV>=GCzB}y%G7UUGVk@e+ACcqBtZmG z0<`@SQ_J5PW{_Nc41%EDh0;@_Wl1`pIUZLNEU`marOG#>+wZ@x=$ySnDsMkZqNLZ? zx0lWANQ~0{#n}=;Nr-`Gi(dhEZ=_+?vSxN`u#Z*f}t`vAV zx}IXvTzRD(be%Lmz;DF;D<}OG*|8CQ9iu6_9A&)s<%*}nDP}$*}um9 zsAI)u&$%(g?~r=MV|ENrW7WInR;E-~c3|y=ZALX92$Zfb6}*@`; znl&{wl}VV~2Pem4^4*~|KvKrtG56(2PmyIZ6uaq1XBGr)+K|lRU`~4DXxg-C@Z#kG z+zoNklbR!3hjMfaSp7B{M%P^B0FlO|i={Ep6OC|;3wo(^n&O^T^{L$DBm<;HG6(Z} zrS?%xOpS%S>vjE~dW=6;9zTA(@DxkU zdi`0gzFli>t44iiYjfwxQ*S_czw)2|scQ8q{MD#7HaFFO{wHnM{%Cwpg&b6QzoMYs zlN$Wk#t5H__zollH1#G^z8(40|3~i%Ab6$NK#XYjrVUTw5vl?Fr`TFDxPM2h*+~1* z<@(Kw{0oX$3cW~yHsB@)U&1{&90lJ1WYGFS@0_=*+QzL-rt6-`2)X*c$@RHoWgtc2Pm$8xV(E7Yu>YbO56UbE)6l?u6e z-VV9Y2S?CnC!#%8{l3p~pU?%*{C1oC4UG1TZm|L`IrLMZ+|)RadgGk^wDex)Hj7PL-lxb$w*DAjsmL!n;z=)1&1R9~o`|r&#Y{V}$ zwkh8godETu){Q%?%E4q@TQ#b#6ZL!7!vLvq&>0UD;-0n-a+Q~RgXZKtMa+?5Lv#2D z90aN1{7&eNPMxrTf%F-N8j9Qbu1(+7X4a>%UDXdb2E4JI>B+}s*U%-9bl@aZsa#_` z=?EiSu=F)ujm}AUfO*&04b7(dVYOSH0+dQj`gV<$&2i~MFF39o(?c-}b;bZ$exzL(zV`;o1s~x~Nz{!tEfPU}MlQU@ z5fi?I6Q!amSR;ZGJi*@hwODu$sjH;FwM!q3K2T0K5;Yywi4g#`3}$>gbhZrPp=5>1bOSU2e#goOgsZTa`2(Fk3Mb+e>RsRofNG5~v22>8H{aX>KpQ zA@ucHC{am{_@ei@Y$ZGqin6eGB4zY4Zt0W`46#w8NlH2k*_;(JZKKr)6&-I+FMcM= zgbpwFmV=8Y4xtp{I5aFXST0_Znd6i@My7-7xV7tJbIE4P%B50a=L5olx3C)&#c(aV zk!>rk2$YEDaDx*9=*BArxoakOzmOcd-^OUC*69T%eb1$@G0l@q^E2JtU-p=f;~M_! zy|kb%g0*pDp;FR#b3Y()SXTR^&8)rqbuSGt6Q=@GD5f zj7#&bx*tuYR2IgL0Tq|a6_r_lTpN^pzKdl;bV^UQp~qN~MJD_D_#KV$nv&@E)#>!I z-|N69JMj<*6T%y>t0r3H#`rG1VFnmGzry*P%Y0~}qFw#}_~Enj&;qBt~+vNI`UzZleUvePro- z+d9Jt$cw#~hewA%MMs>#@YUhPaqIkCy*fEld+K!W?Ba0$-O=8eI(>I`dUD>vf|_xx z;h2FT7eo^{Ug<&r-59Tl)I#Uy(bUVMXA=KJSe@(M*{6a%;ySQcc!~w~g~7e6*#5ya z(r(>K!QRF?n_7jDJL^^TEUW@9Bm6ngdacaD}Cy&g27@RO^SeFde|j@S7ry4$2zKsd~sx5`5F?hxI?bQC7k8 zU6c+sqNH=PVan0_9nE|8y)JrtJ?>={OZaXOb#7{t`*ECxHA{{P=|6f`crWaq9KSkz z4dUGXo3^%nw%)%Deze!@)H-l-h5{c6=PFYF*r!$*XthGxVo*MPTXBpsn6CJe*&gIU z2^UY_{ER#iW+5Jvu9l1nSkK0mg^an(Xt}wi-oE*}8l@ee5fL&HXr(zlIzk<86@{V- z(k`7*;`HRl*4g?&U6)d>a=NKruIPwpd`Xv!1&fo>Xrj;>hH+pxL-@qWvDDCnQ!(TZ%C2h14J;lM-;Qc)+i$D$O`9_feiEPGEd<-v$N%e;4m$6A8ry zRoS;6!NgUAQ(7=FPi^3oZ?%ydSQ=>5K5v~LAGD6u?@AuLe|d1Rf8jpS3u3pPvan!4 zIXbcRSgfeSllI=h!5L6UJ@)>^QTr61v5{Tu5oMkR+wqG=qfeD)4oOWOIg{K!`r-9K z#YX93-tGj>>0R0Qkrx5<>M8?K!Y%UqD}t(nRfWJkIp04$_%Q=Ycu-X{*F6uC{!*Cz zM5}}@%_Jo?;f#-Af>?7+=St57Ch3Y>Abm{+#AxeJRa#ww1JSx~LtqrH)^y1t}75CkDnI?zF7wz*mhp)&D z!S&I|6`pbXVJ{pMm1^v@0n;HIg!NfdRd|kN%8DIlW_#w(HaOk0uRdLz;qT9JS9n8U zXOwo+fL>?q^OILjyE3|ta=EJp){V-{5B_H+Sou0LTrqWrNc4-wgl3#}P|%V*t&Lfn4v$}})rYBim~u90^n(D3fF3Ov_hJ(~wA-%^k6P_^6%WgF*lD-Djq`{OhxM8?EU+f@6JiQN_CA~p_Stidt@R1b9kVQ(rz84(d1fAP1mWTv=qcNuxKUv zC2gCY+MEq?V_y!$iva1-n}f4`B1Gg1=D2~o@j*TT&~9Bt6abYyHh!FKs5HW2cXJTosd$Lmt2HE{ft z4qESltZUclg_q#Rxh{JCIH5JgNK?v5_8pV7GM{pcn5kUJeq6u@QH-^=BhopVjw!VS zm9;&&crAVs-o^Csa+%e&f&Rwd9rtQPy<$M|M1n}zBLuk;ec6nQqZ6c0MHS~&3y&( zX%eyZ0wpF%zL4GzJ8)|bM^nkrg4#{=2#eGNubvJ^w{f=pAITqJh#oCiQ0pELegNI3 zChlKbW#Pz3IWC>?ES+9mfiTG8GW-cMNu|blqh24RaYyX|5k9R8@rjOaiM8 zlF&i$aOQ#ii}6&ZcF@`f!MoMQ>=$L6BDKT$RD(12RAL)ztO!A||8fMP7hBTIOW02z zl{wr}R+NsWaJ{sNK@0_YBi`fnF_d3*>Jb5qzFmfNEa^AHx6w;?{m+$cYAZtd5TX{W zEv;`f)W=k<)*9GVYAcg)ySgBnOSv%2pBlH3sK}xLre%|UWbQdAc_2n`GMG6~5D}P8 zCFv(#pB|o+w<|LR9`=P{qotfX9}I^o0}C=%Z7;4itp}d0aik} zxDA&}S-!#kO2(0uUegeM1Dh;{_vJry4;tRtP8eeeH0O=V%z<KT_e7x)~28+6=7Fxhtp&@hy02B*VXMTN zNsnOfabt1o#veNquOKjev{WKHtl>+4jEU_ue3sm%-yq+E>=qyp6}m^q`H1e+S_g9% zcOrDmTr;sq%&T%;MpY&U9}^5k+QOv5o~yUL)Q02BEM2#0;7W4*2<;*!VtWew9!*#J zJ*+n|9ePT+rsZLk;LS!j)YJ~IEh-?O$GssrM72?5i~vy{G5GLVm95nDJsm;JZ|`ss z>wF{F7-9eic@4JO`triE6gsZ=M|9mK&W1?KRn+h6VpZpuEN3)q!G&A?uljoPePx&L z!u3scc5x&W$K0NSURvXrVt7V9)hfvhs}`uL3}QoXr~t{OJ56y_O6{yx@F1CZvsI>c zz~6#&)-&pIL{sUF4O+n0UK1mYEDaXrW-d7%P6xtGta3`~tcSO3&?9#n+c>1j7(MFB zp?KsUpQ`#t4|s(bODVZ$5T^9z@8aHR>sgvSyWSQ7Lglvx`HGA`|FZIum2m|+Cueiz z*-TuvofnLBaKtg!Tq4Y)VtFyo%S*UHMvEjSmKdbP8lS)}da+kUvLt0ayuBWc(3U_Y z;4tb(HkcHN$cr(ei(Y-NcECa3Vzicv7w$Qul$8GDazGoqe%?AiKRh|6(^K&suYYuP zHTX#i!MTmUNyv`OKmgG_u{uv1ZJ?1I$Cc9HSMe=82DY?|e&UB$WNyI#s4B|L*3ti( zzA0Y*{5jw}bk_WWRr*t>s*BE~{OR;k)h2l(1(uGj;FP>eI-j4NvfYPn^FA54blza+ zta##BUJzq_gB+&cy~89hXB=CCjus!!m+1q9=cW>%zv*e72{4Z<2 z;MBE`PmWtzj{<#@)3~`Cd~HT*U3NZUrQj0R){2v3M@z;am36UBBBHQ3FJKjKI6en- z$Fq|Oz8+{5Dr-8N4#pkVC`?dGMOugMOdMO;vb{S9hSBXrChu-powRyrQBMTBV^ z523wZBs#vK%&L0!h#|+!Q8>4hAuk5+dmEu9u*fCr<=dTV*O%H6X3(9dH0;crKAh z$mXSQ86B2~&KlzEyimFTR4cU(Y=oofpUmlh7V595lb!*V^x?s>dF=^o2%O2oJC$(q zT|M!t>BP)J)=$MLQ&IrLBjCu1E?7N1fE#IsRE_|m;=KYA#6t+T<>YgK8C=GbTdV|h69G*zjxTUi=GhY% zf+B(N;~DM?D@+TyCP!mY<)yf^55)Xv>P7LwOjBeGx%-i;=?z&V&~7Q2uSj7a7-g@Y zj;aQ(<7prB-Qu+Xybth;Q_kTWP1KY36{TxgYYN1>T3*@$;S_WbJ=**ehU|u=QGu+7 zc^Mjo=%tt{m=7F%Gmyq#;jny}K}a39*OAj6!_Ryl78zS$I493dk~pcFFYNVAasR@8 z!YzCWj9e#Xu{260FDZ3n^=t>7ndk}z7+|3z;J1h9W~nbvU`IZH&_^C-x*t|uO0AZD zig{KClBf^1sYZGilp$%z)cG7{J)yZs>DauKna%%Ao^9~|k#ZSRLb(_nFhGXpC?j6K z?q&pPOh0&w>_Uu50`ZvdprpKNLRf{>H?!1-LA$n=VPUQJZ{eaL_S!S5y2!HtXKl3+yI(GDv!TZBkOOoSCHh=h3l>%}H31~W zg_|0{LvU2vX+5}8Lkd=(iULnGom%RCa}EUm6p&i+NOR5DNvkmvezZ-4Q zaQ*(ARHvsWXBSLQ$TLSK0x$?e*8@h;GV9JVfu=0H%=#kBd})QO*$YH;D_o(?A}?BS z;%rIhZM?$ie8aK8qXG!tsMi(QbtD&6u@YABz$9$a)x8Pf9;T$=!-_?Y($CuB^(FAV zT190P9OKc|m3|r41j)G zF}(n(xHyWuN@Rh7D`hBw&!wa*tX%xZ=+a{ZWy+K){y7Zup$&Ug9v={g zfKW{@S4}3|!}B&A)w0v4;%1OOg-bH~Uhqgq`r`-0=`7QV%h7SW@5EKlB)mKZdi;LZ zwc>N8GJKtK<`w8p$i!Ggsb6`88u;^>)c373IRh@}Zz{g3 zdSz)pj>qLES=E`965%Er^zJA~6r6LA$Fi^Dk4mFD;>#>}R(u5kWi!etOdWbwcd1y$v-55S`I?Qc zhLvigYf6ZpnuBF(V+}ZfwG9v3h)Jyy=g$td$q2p+vH%G=?9-2lZ7^4hdj*CW*C0dY z2&RMRj=AFJYP0T3lT{4ra0?c5eW8i9<#=geN$SEh(!_63(xd1@tf-zM)pSMGB>I(O z$|w+Oswz&$aiOHL0goPJRakIBC zl$($W$ON8s@yD0)AMBz}QCpX>-OYu}q$`iJYeSb(af>n?k$AYq?}}wjwGVkEcVw3e zt^4a{a4|DnI)Mv3{PNJc|Hd(Kexe%V3wiLW{if|EtI55wj=_BY)rc5f!OWcG3FZq_ z3S|;sCuH%tfh~aMF#uq4O?S7GOQMv$+Db-qc>eSGMe8jJ&F_v{#K(e2QNP>Vs^og> zcnqBd_F2A(gr4XYPbo>o$1SlevB-4SfhxNHw)7`8$Ly{;qD6Pz;%puq zssqwBmfhhPpCDk4emH5Iw~lo0&HU0N@I$v~2I1qjsOxMPuVBV(Jm+{RywQc)@x7_- zcU1h=O#xEC;Fe1DJ3Ql|W||$LHe2B~TA@pAp5@z6QUTqd5%`dkJ(HRge23J|C-2Vo zThy|C*DRQ{<0*pUHD`@yZ8q34FniA_{QuA1ySJxtWc$K@<4;jmjvcVk)s814B73le zEsiCj0p!?w_B=cY8mYGs5E?9L#-7jqu3O!@s{z^0>^bj~?AZzGuBxuDb`z3 zOn)3U{(>&LZsu5YNjI%U3Jd4-R1^z1>}NT>#3In<``SL1dcGyw>UHgH{e&!_>jL|v zimytRI7sCDkjR7GWTE}l_F)Y1Gd~CBAq7QF#R7BS=5C@gfuU=BX&96#78riUP73Az zoZqu%^;g~6p93As!dhd&K<_d*_E@gx0^y_#vF^<62l|(>*Fw32{Bq7X4g%w7hQ@Ia zI>>=>9PBR`2LnfLNzqz<54qsBE|}j*F1Vu$=68|{KGOyF-Cb;P#gJo&qwp?fq$t#( zK}lC7qZG=zTU()l%Tk+aT%*{#9L=vw>c4^cD=u&Usp5Z%y519o2h~M|N{#kgzlXFG z{uB71oi+4r2+tJaM9`MS{c}_+6t)+XfxCbT1*Z>7RgaE37+il+J8J0`w{G98P*|E) zRGKYOc{vgvct!2r2;9MI2V#k02NyeYAs2L49O&UD(w>xIRjH&7wSYw9U8nKdF=Fp`osD2p@C#cR>t?r%r$O1q-KpA%`0b=U1i+1|{T&GAz zK~Hh}&=accsDRCyIL?P=UG&1$PucHpq-(>#5$H_AGos5px!iF-q?W*8bKnovBxeOi zo+ijkRF#!Q%+XH2IB63<%QNM8Qj&-n-y1Y6%5RO~=NqJhQ2`iO#NkPdS78h)sMYUla0+cN)rMn7>Rhq_@6a-@ zp0}SE^B2W?y`R*YITfpZ;9+WKn!V$0m9`)ZbIZ6OWp*#h9PhGL^AgRAVcSGAUTyjy z`C;+d@2c$=>zKL$bwaR<5Rfua#gj%8joJy!)$DEr1id7EO!c&anA~cI=XN+APY8i>hA@lanQnb-y=i49 z-&r(gdf@;u?PkxcgeVz>t0ZjGLzo48-yOy?jX1@1y=5_TYkJrpk1mFhp^M0J>#V1^W%~sm&?cf;89Go)UCjzOquh51Wh&#SakrOKg(n>3}TkpB{Xf0XeA!LhGRn5mW)1IF%*_?l71#vE9L; z`P2ExG;g*nC)@QWPKO2Qo0<%PgKjUX`|J~1(SGa>N6#$lA)jv18qZwcd{QV+ng_6V;cdk zvOz?_pH`s~Y7Gw~a>Z+_v4+yGB+E!`=w***!a(Bdwdxu=Mf7If(Zzh&otDaK?KmFA z>-bzdoR$oGChuOa=^c(TWIXdfoBCvtKn}X$x_1@{Pf`eBuMlXWa_oqhj<@5IrXEXI#Cgk|lLx2A?s8GH2u+7ul7=~mx`Yx9m#Y3e zrk>SMDu__WHP;NCToXcBcBokwJ_U;y#bo;KN(rusZP18WY%?f3L=c&RQyb?x6%UJN z3RVA8fxMgDj7f-GpSpy4)*W8qA&R=t4YIoHTTWF)^g&l5aZZz%3K^OS(Bd0|LLW?8 zLFxE)Y{NgVyJ#fEg!6|dr%K`+;M$pud*dMnj2(_|Fi5pbPIA%!-^M+fX_jrN{}y(F zf>)t(u}$EiK#Mtal>=>+V!+k|HHr0&5hZEADVP8U4v;++fM@$;+Q1xA!*Q2}f-j;( zrxUX01S|7i#~Ll(JS;qh1bR6`?h)cJ8N~^I5yNzFr+U#8^L(qTn9j+-2uj-AEW2_{ zsHY5dO&`ORYImnVlVHv)p-R*dLM{~Br$?o-oK$W?Hh$;V!+N`RREMh&kJo(CNA1R% zt9(K(e3KlDF44=3@HE#<*B#A)M9>gtPhEw>t{D!b(n2VlNz{9*Xq5=$e*+yWc|;^| zfRQ>ZkyeVKJ494Enk=FI(iLNV2+)m#v+7anv{pL^zi!ozYWr<`Ye$&~Ke6fnQwU1; z8y#^n*>R<49B#~nfg^+u<0a`e%3Rl}{J09OHB1PLNElN_d!-YF zVD4Hx**`to2+5S}I?3ou`ivj2VoH|q$I*|>G|WdsmVm0>gwXi|k(?E3Mqvj79(6x; z;~`B1LSBGeK=&9*z`x=}fh}1%4CBv?hAX}n!j6|c1Mi{sN+-jMDO!zWBlM}WxK?X0 z%Lrz+H(C?57qxKXYizCL5d zQJUslw>bD2vK&C~wwYA4bc`Lnz+pTq;}yDY@^=*H({ltBKvz`CwNaMTP)4$&EU8kw zMENJM!D|pjuHxPmFg6>jS;&sNR}m_C|6@&Lx`X$%k^Ongn#hoxYR>*^OA;i4EgG zj8r@Bsm^U@22aRtvSLG|2VL4)2ennpnl#);ZgczuW2_f6<=qLnO^vU+6D+W-Q)%ug z+@R?k>j^s11R8dqtTuMx2bX-~Q#_qr&d>D+NOE+W|A8pXm0S-LhG_@_= zRmDH3$v8=3q}=t*hC+}#j1AM)D~DU?^6gJ?NCZycsOA$dD2GSta;ZL&)9>fzyoFH*5x<2AUgBp z%JQ)fAKrqT-V&t4@ux^d;5JU&ArUW5c@MeN7AhYl!=bV_eDy@~*)=GNAq%d=-2z1f?*0#GFyf<6kvN@DP4uSL4@|JuuJ9znKa0{O{8~dF% zttGSu(_IY`+*D3?oDStoIDL4}>*i`KhrKudbF&sXeZ04G&d#6yyEDA@PQOmR&U|~H2!8dM&+qZNJOB-(aU5~=oKy`@@> zH*Hvr8X|`Sk$Yc1s2!-aY772egQYs4<*I!+#h_3H^IShZJ*uNN4_A~|v0iIIuTJ)l z&JOA)Z{h2($R~}qI;tPn+t6COQHF2TbXBLCYP<=qEq-^|;wtR)LA|wqRIMM^4$xb74ZySvRn&eiki3m!qiaKhv%q*R?Y8Y+Xu2Kh}8JHp{0>59Mwdyok=mptPL^!!n=X2;sKE$!WEl_5HS6 z48GZJG%<81}_Ne~0cCuf?5)EwW*Ltf~g0-r*2%i2#jz4_&jE0ZP1HIE@^!8+# z7E;yUsOrJ{Iu1c9!1}l9vR7yd_YY+W%)#AsBFKz4qUQq{@_byFxsLrG5+HvGdsmUq zX0~z>g%V=OyPhQ$v&aWzLsdG55nv`893NA|x z&>cmsn50zaNYV#G4yN_3cxLeW7&BN+WYhi{M674(Oy@AtiMPdlbk~eqt*avxG{@`&vQFLvq%Z4oZePK8C$lJ7cu{=O z>Nn2M#tpH()?}YH5MpEC8Y(*HN!c(*B#YY(sFXqK(ny=wWBMfVgxZSh%&8n4>#@e| zT+YuEM))%K{u&>iHRCxV=wn^n&r|u-j9p+O-Ok#zAt!6*V|rLguRDzNVU2Dlyu(m} zr`3^th>`}+cw#(uG0-0B;oc$8GlYcH0pZ?!DB?&N`hict@QTj0J;sjvsJJW>Hb6JA zZ76jYp#|S=OfrJA?Y-D7A9l=KZ3(T8E_HgMJ zonq{-+lJFwSeN2?i3UUK15=MPf))rge&axOX`MM!H_~-8Pp9TfDd1zyj@odLQK2J< zbg1h+C)2Cu?Gkk^I5Z{ze>}=geqBRZFg8ds*7;AE3GUyGy4Prl<$A9Gux zGv@DyX@qNGn?P1o{3ZAlSVxNdIj_!W+EJ|mcV5|!LwjtXKP2`Y!KnJFg(Y}gv;REP zKRKN#vQ1buoCccTa2u%#tP3rv=?6I$I(?aR&*Nb{!`M2>WIpz`*e$vZ%rJbKZxB-B zA^0XqXl4L#&_A+#2lN0B8RkBA8=6np1FH+GduP2L(OsTkkjF^oH1%TAG(Wdt^_$Ms zOegFbZiF1~2$)QCi=^K~+zabUVrE!xh(M(b#)K4a-Bc!@2r8cA*FHA3)dB2wm;{lb zq?XOl#fOcq2*yPw0zrt`clakfZ+A<88)vqDq%7do{rHYJ`YR@SEgq2siLx%Yxl_;w@ z&_02^6OafHOpl>TYhM>x(++9e=r!zfL_{a+-l?4MtF zy*D9#%{r9ruq>(zwZQg^ zLW~9yAN=ebJ>iJwh5hzy=RBUR>#s7pn`S&5)GYkw&cbgBh8Xn|bb=g!!=BX zMVQ_9?sVj`@P!DmU_#t+IMj#C`Fk z^ccSQH){Crna}JvjeDTM&Omlj1G!l+knIHn*>=CBXVwg6Te85Ik(}F+qy``z=|X3T;(X@o?Q7P;wkDUvwNMv`yaLDqN9eNU*V|n zRNe2aVbkAu*81=&9x->l`hl|_UUcAydg$}kM{ln1IlJ#MGbak#lnv=Z7@D*9jmM0- ze-r5bc7FF)I$YsypL^Y2;c!v^&QtyK&X$Fe5Op&;r|{+YJKVRN?b?k~r65MsgjEO_ z0Xf#4jV+3iQ-9jn-q_i4Q@om6lcoggcG&yxZ$CZ5nffOmA+kC4;+blFJlW@PNVKzT zG2lL8!P+c4|MwmLpSt}sPa49HA%5(={w;0&-*@lu|JCi!x~*;(ORV^B-3qqhwGu^G zV#R;kR-_@ntpSxA48G~#{x_V~|3oFu>EC_&cf@u6ME^dgfA@8L)4Oe$NN7iQv4_R} z6s^=0mDHXe;qfS`k{?OATVwXn))K`-Y?m z(QYNtq{D9QK5A+@i#A_Z0zJ(l8(vdH43hXC(Rffy@A*i>DZXSG;q-eDdjPC#O_;ur`7@8TrqP{y#aKyDI8BqSb#kg+#TKJJ2`M07sSVK zc^d-cRHF1P>t8=)i}>xjn|!4^AyDJdVAL? zolGZ$f*-CC8v6N?p}*##SH1N+=aF}F*6($C{m$+B=~RUU`}XYQp!TMIQaf1lu3t|z z=SPql#uuGlD4bu1v2CwE+nDqR>cz&3jh|E-A+gy2B#8XGs;ZM%kz$-cvlFzU84H%y z_PrA3S*u#wuRGONZL9OT*=iRG+l;bx43(a3Z14P}t`lEZeMp%N60+D`jwTv}7=0Sa zUYe-$4ourt=X{#XGJLv$nC~ErK`I3@Y5@WnkWB()k2I99G^I5NW@dcwyCwIPU4V2t zKbfoDTo0aFo9_t2D72|yQH`!FLpwA z?{zsETdbKInImN;HTUM^=Tx@WFFZl*oroB-F+Q@(;d4CKUM>+gqd5GOGj`8g*&)?S zuA_VI#g+-7)*G<8p51_7b%>nIw0X&=?t82p8sd$DV>)pZhfULSSfTZoz)=o1-~)W+ zm=E0Z_~&Jng7r+{{c~mr4mz-zpRnBLJ?F7zQ;zK%>-@#(7Rrco!_90u_Z9_!Daj|; zX`)A7t4+Q*uSBF>P9pF~O(d1te1u?UBLP`uYC$~pVv0e+!~;rJLvf>giA%cJsvMiY+F6Th7$I}_i8fVcfGTz7&1BHNA;BgO@pY4{7(>AoWb^vupluDia6(s)& zH!s_BjoaZQc1p`c4xl>hvlTU-X*Ahb^~ z+2%-t267w>syjj)iFhW-`5Nyi0pVqYM;bE{$I$gpF(N+<@7Q&M-MP@MTFk^KzL1lV z7?!P*^L2MLXCES}`4{>)(@XSS!fz{*>Y}MzK&Rj{Fij|}8HaKy#2FXdCzOZ8TA_v8 zf`j=Mm@PsEE!u>B=wNYN(@DMQ5grLR4umgS_#8_0=oOcR&K8HJYYa6S$bn5K7M@=K z!v@c@cL-@qWd|^obF%t_S7kUU=MR! zlo9=8e>Rjqq*r@ex03Rgx}uX`P-k_XHKS^Uo#0?&q_APoi-`TiFpg)2&VX0Zd?E=> zv-lWg3mJq};Si(tmLh56(Unw7Ci7{G4n?xWluJlX$80>tVAgo5{i%eSrqVM9(tUDc zqLuWg+Ram}=TW|mx$~BAPg*@0%tdl|OkZ4XQ7kND3<~)IFK;qR3gs-qD}(>?HkzFR zrDzfH}=}mXYm?t``rYLA(c(hgY==__^sCp@nlwLha%DFf#r!*mo zV3WGAr5n+oFju>u6Gtaj#N3S3J>7WVs$F*3O6$_nXLq2ocPjd0fh*OvmF{2d?j8h7Z;&<1EY)@$TMi*rI;sCjN9g;|yr>*POf*Xd@Di&-q;br-@^htcU zr;5+;Z0DrO(&a3X^y#4%4jAm+EMO&Acp>pj(M3b?E@Tz+jz(DZ=$*P1KA+wIUwP&n z9ptJfkN@SU3YU29pbd=~TLWVnV22kn6T)fAnrg`^Et0LsJYXKD=3iBJiq1nEIbs0I zC{hm{!{sW64so`4W|e76Bj_nbQTIy-skVXesL5nJLR3>!g-|$t4^iBD-QliOQtOIz zu46%7EfO~+@D|p?)c8Y}Y`qJN*qc(6zH14v1rR$0Wk9QakgR#iwGnh?*BAr|6LN8Z znpdqN2QHmLDRj0gb0qVwZ$5M0A01f=SJx0twwQ0%PLH+IE!^_W_V?3hm|UKcO;M*% z%x5@l9^}P2>TPyJR?+#M2?w01{Ebb0 z8V_l%`qS~Gtj;5m%Lfd_rjsn0auCJ zKF5hp=R@q{aFEV+PauX<{atQOf=&=P5gj}*@{CwFj7k~aZOD$5DlJsC%NX%c&=geE zJR!lDyFvjM|N3cb3*EtcWtgyAsSV@)*AB5<639Y8gFr0qexx8YjJrt?rw>74(4U_t zRcfIBdU7!I)Be*H25_XJ{DME2|4NNGGi+rWJURVX31i3y?k|pncT}4OJu*wR1 z2l8^!z&iQP9%WsN6iJfzxpx^)Cxm}bnjTJxNiI%}cbajLIb5OvUS!FoW^6`wJY=vZ zfO(ir?>yhU)H_M>S+JBzbLPT5eclVv<|RUzrs{4od7rgjD2Bl)3265k=#;#F)@;^J z3}^N^SaRPl>o6M*>*O&w_OS@1ZuU{R*x*VB)~CqY7~l?2!wWO0et6VJWeg0&q(A50 zg*k_^JH7Hp@t@)!kjTX9)3hLEtjr^AimiMeRv5SfI&-Z3(gIRhLz}vC8BS_rd(}3o z@4Le|*u>7NO}u|SPeQG1K4BNV1w8q#;qiSAm0NyaJ*pq18vRmHNkx6p6ECD17`=A$ zV`sl{cG3p6CvY^%c^g%NBEsw{!w=^jMf9$F#+#RR2ZBi<>DIP5qMKzpy zIccO8 za@r4ym*QNb3v=yRTp#QXy>C@JQOP#vmZ-xXCJlThds&524JSm(Sx(`l`3@R z({pZ2>yswq;jlBklm@XZ&z8iww?N9<)pD+$}^@?+*_yiJZ+id0DjGZmkA-?cNJWayM#R=R(Ql==$@mX zmt1zmt1jtYN2FMNKt??ROW_rcpbaiw;m0oiJH6B`uVmG$Y1Tk)L;OgG;@O8$u|&A& zxu&^?PV5CaGmz+YG#+0itW!WS`LLy4S6?H7l0@taFt@;baUEMICd~`6WHtbMgOY$l zA)1=;aL(u`1+BnC_b;;a$~=nweGpG!#wJ5d7({57@hv5#(=|ye)0Z!Aupfr)3ENB) ziI$!IjQ+8ewdv~kS4GfF=BkS=g5yJm;_;+!kY0k2wIGj1ue zQ<&9UUzce~k;g@1Lg_3nB@lahp}4+05Y z2!;u2_0lGie4oK>cbUil5zRdN0}Kr1i}qo&arX95x46h<9BQC1Q2Sux`Np5t|Gc$z zZEei{{TfNm5i*^c^%H8o*ql)CJrXx4l6Nm1xP^su`Ej3%viRjXH~J>qpv87;YX#$J z+6PegGT<9}KO3w!YrNZwq?E|l$P77?(yN3_F%x|xU|ECv}Qri zwDrsl5SUeFSDU+*$Tect^KLSdl1<`dalKtg@dZ1qL%Q`28C6=1H|%?cO|lAqGM`Syi3|5sMG!3A1u^>oOY3yT zq!HBJpfDBF7iz_s$Z0f03?@v7@nN(1fsfTEO!g%^O<>JpGJX+C8K(PUi-87Y!&$Y- zHSVIBc7o5BSQ~GI2U^A9uu#YZjTfFo6M6%ikfOKwkL?${d=;w`e}SfQRF8EUZ#r+9 z)#I9V+|D6sBHW7}a&%|6VEfk1h$4a|PP?{i^5$XM&cD4FXP0-RzKA|zk_}v>7ua-> z#z$O^{{4#-9!)!@yp|tP0`b&eFZaacKy}T;Yk|dJ=mWc5IS-mKbxLwbjcLgkFodt8x+vr&|E=R=~G6=O&2gi zYhePH)$9s*csMre>o1)p`tXSM^P|3V%V9gS+YWjcAc*5DwT94^Yid`mIc0Eqv>F37 z&3-LC!Mq7O@PamoXq~;=e#yh;3LH?Re?c+D;!vDc0g4=dA8nw70DK>c5Dw8@VHev=?pIP(kwXn?s4&cr zeMe-Nui2a_E)eI&k%JS_iOSGkX;}$!sdOj1OSCHKBjuY6;WtjNB){RZ_R@E!igWy| zzvRQp719*Vw7kNUE|+%A(XA|1kr1+^4M9$8+5S!15I3s2RPq)rqY+=?vwk3ifTewH1Opb&vHh$jN*?6HQ>iKhh;`BDN(TYN> zfQjMeL*^roEW?-AB>jX{8m#FLWG7@RKzvswy$jSJ-xj{=?-?@j)a({cu|M3d_V>x z%8&?Gm`?HQ2(Ou8+Az%kB1^u{!Ga1)JPusjL8@lP-yo+f=Cnh`+Jvf890s}zjwnl6 z0&)-9=h-YzVfdu)qLubsXmUOv0l-cW63Fytrw4FM<**mL5GBkXfy_(r44I>|i!0Mq(C zbthCAEryP;xDPKc&b9MiH`3zudMDQJdsdS$;^vFF6R4_u(87@@5A6DVMU^sZJG=?u zCHl`pp2E3VO;q6pw%VXKueo^eHbxBIKgDJj&IktoUR7^kl-9MWeS_W;4)i4+dg~<< z9u0}x3{cG%o`?USrf70ysGoStnn{|@C)s#4o;ixya2k$kn5QbxENykbO#bkDA3g0i|~K zYEBPjJo3U}5E_#Z!PIyy{Zm-PsOG@!=3NFP6B(v*?x~{VS#-(+f<9>ylc5ZiIzTP!S_=VHg3WCj;T!q#ajPr)ZCzX_L3A z_@0?u)-#Iy-O{oPJ=bjAvQ{wN%P8fdTD_?mfrC_*$%>(f;S=nJ$mG7f=ku)X7r$yM zBi9E0RFhvEHDh_J&+eD!@>Ro~wx_FG=cewE!(RoVmD^VSmI0KH3Xdi4LViJ7=d+}G zmKC71bV4C7QWBzad2^7wD!-}?b33k#GJ8sOvVDly7H9130C-(6;_cfzlXMN&qAkYGONP3^vi|i?*}q%sCwsSf!1JRM2{rz)&5H6wGv% zrPwEFr!4xF-hNQrG0aYk=yfJoK?jvEibW$o(n^2cFbggzZY2Fwi8h3sC}+7r4CDbTYc z0*gw>)Zp1J4%|AY(75H@1JYpCNn7!L4X&~Vgt7`5haIu`pr zg#7%=H}ZU#YtUWOn1$eVrcwptp$rL-JfaJSyr!O1jax#MYvc6Ac$Ra#pkn!|YqZ5O zV7We(%!!E12$^CS_R#PkV_mvN>;|5UejPFPg`?Nw~>EAdPw(`DBdM3!rxcAAM=DaFh05+EoXe->pCqhmu@*)&Z9*> zU+Xq+xjF)tKET@bZ|-gyZ*!BK7WZqqNvKHodt<(yS)Oi67wWmj{>>9MC5hlzPIlhJ z|Ha6BWfdkFq{ZIx$^v&~<*jHKD}B-r2696EtTl0IDpgiF%9Sa}?CZTi)79>Z4)N2Q zx(0E=R|>mBqPWtTl<4ua*Q|tN0kLy?8$2USRJ3TDS0fwuMNNEnoauMWNn4R@Mh^o~ zkREBLxg2LaffWW;Ll|Kr2Pf~Sm#MVTF?N_!d;=NEbb11k%T@bS$wT6;X3tqkaGgNE z-c$~>w5`}&*I%1;*XQ9mcXvl`Yff36ZFc3ELvMSeZOA)4ch6_AJ@qQgV@Nj68tnP= zq4Y4-z$fiKVrh*r4gFD!w@-@AuxY%(PO%A@4K7C4N0~&;Eomw-3Q%BV* zE$*Ue4QTAA_9tMfMs?z@cvO1V$7B0){66Xly;Jch8eXc1Uy8s9p2$#0`pEIq(f*r5 z@XSH*+z1`!qwo`5Kep8Mr6;E#!6>tN{3Pxr{E}feQ7?j`Cg1o&!+eYif9^EIyje97 zkMbZq!hBSbcSAR4=WhM|Chpaz=Cq~HX}{j5N$+6j31*P-Y%2JgD5UXO)?xG#>S(>S z`#^ee)$Z)Th!+$q5${Y1-av-bL8Be2pQ|Ir(|Z}C({&;%iaPbtSS7X9r7Q@i^aRjg zYlNaVa}17hqiyW7JL)9DVg;ixqkeRif3lu+n}S@OM-QI9e!1n2BH%@>?Jx+T)^V$LK&QnN4*4*UjQ^|q))M<>$ z@CNwM%r7b8{N>G5#)X&FJ;!%I(#|$vJmywed(Sh z3Z?d8>9#E{-b!|!$(143V`c%ii{ z7q=;5Rp^qa@UbVgSSA#V(p*oFrFf$9VnJmI>fU;n)KQh|_U5?Tbq&5TF3XPMoO`ON z3ELEOd%CV#>|tzOG%@vhEp^iUTS>gW=z60%}p2GF9k|JH-^LWb6swr7E zF`aMSw$V2;gF3h_%dk=5(6@3o(X3ZZ`A~cn zf(9zX*BnG3vr44G-)J~Juh{qIk3LQ%&$ef{@@K&vYL#DJyRKHP^)((wG+<1B>|eTt zj$7?WQ(pA&G(H`|n#=L;{PghC7X`N7wb{i%HhTFGpWwv)oJS;x(t~$x5v!gH2=ihZU{(A=#Hc>4sohNGBkT#P>r@p%VI0Hp`_hjpTpxrf zO&!8e0Dor3ycnVIh-mf95gMUEG`V534WG=n6ltWu~GCR5E ztAAy{K8do$e#7b#CCY{CZ)q)N#W6o-$Ra=21+2uLR)^1=2)&mtbm0A6}fcUevf@ot-2de>H zHX_v9eHAy6?5nXG+NMsQ$R6%TDr5G_eTE^g)#~vQWcd)|3)jmLGMv%DQ=KV`2ilQ| z@WKGl-go*`E4O4aw{g|yf3@_qMsRX*{E+4(e88rgh)*?CX$>MDqSk0qAyt#n>+?nj zav)u6t`x7++8MBBg{z_9kuMNZ0%|fza|Z|8LGB3|s3F0QLl{*2#*oV8|0z}BvL4e4 zPJ(HB4f1gyOGsT?K+BK1BzLWTgH~!#6v2Hy0Tdh?y5I-?NVHVwP06k8cr3;KCG*HflHr#t|aphTK;>^EnyeLFYQc8#*U1Pl+o2-^VA6 zIOO1#ARfqlZypmVq&*PGpN`mYU`_yrzkJ z=ZM1erif7?U1QP^vSaAC385cv1fOeY3u=gaxM+b5Z~q$e_NM}>ZwUjr_jmQZwxZGt z&#_V#KA(t=E4=-tfWR3qld1dEeeUTkkyGAjXI2;TLnOe;w-ZBAT|Y%b4Pu~*2P5uo zA-i8VdftF1RDd_+A_ZH5T8*Bc&gKQKhR&_-;DguPfb%Xf?d#<--~?iT4|HUrMCY*7 zdDAAgAB+M-?XveW$IUf~#9H4$>LF8bE{L38{AL--!0WP%jMPIkL$Y%^uoe!T+9!$5 z<_T{GQ4+H5si~*;8^z-vb^CN!pf_BtoeAt6gZztr%ZnKessj)DY0Lh=_QjTARk7SG z0#b#j^+_ZQN|*^Sw%+1#56RUDhAw9Vwk%I(q~#Ow-by(FY6x@)mXV}^XCnkhMlW`fM@>4hnb&@bcYwc42BA}p~MD&XK@`PDOuv6 z$X&cFQmSS$E_J5Nt2^y>Gjfc`frzVuCx(5!@mHLvQw^D6Z_x$eegUo@T&A_uHornK z0svjyB7J};3B*T-i<0!Aw{~_6^Wcv-Aye2tOhaoGPz9-8SJBqfMy*V8(fo>9X(VbO zmnPrDUzl%V#*0f&^R1j4zvIWhunj1KIL)!hcibQ9NaKE6X2FuYFqP4g59j@iahy;% zS%NQYe+zS>mOBfCCq{)a6p3DUoD9DoZ*W%m26$ZL4FY}bY%M>;zL{9)@qYa(2Rz6i zthD#q#@81};4E~E7W;nOKk7470z3SmW0;)5ijLA5x_kq+1Dk(!2y`5@>lp;RU);RscTOLL(5vOb3O9l=?Ix??#a+>o(e=Bo zw?uFh_x^4$!fp%4%rEA8zNQt>9XFH)lY*eg$ZZFhJCQi~hGZQy9h|IKis^RWLPkmq zBlB}y=qZ?LOL0@zoRXp3m?J$hva!YM%R|`&;?%k8>(mE^nfIgRv{3GP!4DOS#LTJN z0T%o}>2QpPH-*?kN?97(HfM+r{q1@@e{{Q7ri&hbMjI@*YWu^5$9I4C;M2UPb(3mk zk^}c_DcwLb}NUj`R~ zta{G%#U7($bm-1i8ca@wo;989TEHTGn zZnn(5V~iCX_#XwLNOb6z#7HU`j}C9+s_U;S={f*FX7T4H1u_2 z7yKsZqpM;94C;~i4dwfCbQ|fb)S23;cs#L(WdwvXD^yKl_K3z@{qgdOSUn9vqi{hX zlN5|6JGun~D^-+y)l_vjF0GFf5S3U)hd&%uy*6Fdl;HCa-bqlRZU7uy%-`Kk*=Xhu(f7 zX?G=WX&=yzq*tVxHTb3Mv%$!YD@CAB|0!Ns#Jn<>42>>%O0G*;{q>^ox%XcO+@3gM zOIDEO#@>(&NqL}?|E&IP%p~M}kFHB~8T)aVX=?ly=BbGO<;AzuTiWEPz$=Yqi`egT zfAYRjCFvB$?-TeAWzi{ZZ3>-pf_GY0+7KIk26H;rHY$hRX7QJ&!btVz{U=3y=gUzH>ya*Lmz;zJ3d!?x-j4bpImW*Q3loT!w0593=Q-vAnBP}a3s$zwhr z)hwu!xbdO?xP?)u1ugsykJ2fM?CLJ{hU#U>N8Ru1@7jkr$2@%vHfRL(!S>%l^N9~i zI*}DAJ)#`#d7@w!o3^_mP3@N8*+DK%LG5^l>lOv~!h%a*!l@*)!s8v4%sdnGq4hIZ zdMjeQ}3FSAQ`vEM%+_xX$Ne$ zFxwDLJ%arn>43*4eokhF8`r}hxg{nC9^A6sOYE#nq;QdWalZOQnwCD{L4X19r z%mLXxRVnSE;at|LB{I_O%2Zxz?{_ck!Qi~vn<44iO4?!YO2ql|ewg@GSe0&<(j}il zKa4QTf0x4ic@H&{0+?Dze3$QDrJ7J2%o53%oQ#|zR*r^u4E)YS(>sf4`F814(7im| za1z%GQ|gFc99QC9bYD&sa#tvYCG0EjDe6e|GL9j4y>%wX(uvGp6JDLC>LYs`#_jO4 zHq9^8K&>714-40tMo6(o9+6)$)ub>^1b(YVZtrR~Ev(v2xe zypMl4G2EUFD(?xO49QQArM@}kZEbBQC3r18HmD>HUaZ+�>;|$28Of4&ou(ikBg# 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Ð$905Q0TgQ72jY+f~xv07ThlvrO(s0(TFf*c?c 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 Xw;HP*Knn2pNxPyV>uKv)|1H# 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

    xcdROIX&$U*J0 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 diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig deleted file mode 100644 index ea78481b990..00000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig +++ /dev/null @@ -1,1650 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-omap1 -# Thu Jun 26 11:32:23 2008 -# -CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_TIME=y -CONFIG_MMU=y -# CONFIG_NO_IOPORT is not set -CONFIG_GENERIC_HARDIRQS=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=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 is not set -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_POSIX_MQUEUE=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_UTS_NS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -CONFIG_SYSFS_DEPRECATED=y -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SHMEM=y -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set - -# -# 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 is not set -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -# CONFIG_DEFAULT_CFQ is not set -CONFIG_DEFAULT_NOOP=y -CONFIG_DEFAULT_IOSCHED="noop" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -CONFIG_ARCH_OMAP=y - -# -# TI OMAP Implementations -# -CONFIG_ARCH_OMAP_OTG=y -# CONFIG_ARCH_OMAP1 is not set -CONFIG_ARCH_OMAP2=y - -# -# OMAP Feature Selections -# -CONFIG_MACH_OMAP2420_DVFS=y -CONFIG_ARCH_OMAP2420_DEBUG=y -CONFIG_ARCH_OMAP2420_OBSERVABILITY=m -CONFIG_ARCH_OMAP2420_PEEK_N_POKE=m -CONFIG_ARCH_OMAP2420_SNAPSHOT=m -CONFIG_ARCH_OMAP2420_DMA_DRAIN=y -CONFIG_OMAP_RESET_CLOCKS=y -CONFIG_OMAP_BOOT_TAG=y -CONFIG_OMAP_BOOT_REASON=y -CONFIG_OMAP_COMPONENT_VERSION=y -CONFIG_OMAP_GPIO_SWITCH=y -# CONFIG_OMAP_MUX is not set -# CONFIG_OMAP_SEC is not set -CONFIG_OMAP_STI=y -CONFIG_OMAP_STI_CONSOLE=y -# CONFIG_OMAP_MCBSP is not set -CONFIG_OMAP_MMU_FWK=y -CONFIG_OMAP_MBOX_FWK=y -# CONFIG_OMAP_MPU_TIMER is not set -CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_DM_TIMER=y -# CONFIG_OMAP_LL_DEBUG_UART1 is not set -# CONFIG_OMAP_LL_DEBUG_UART2 is not set -CONFIG_OMAP_LL_DEBUG_UART3=y -CONFIG_OMAP_DSP=y -# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set -CONFIG_OMAP_DSP_TASK_MULTIOPEN=y -CONFIG_OMAP_DSP_FBEXPORT=y -CONFIG_OMAP_DSP_PAUSING=y -# CONFIG_MACH_OMAP_GENERIC is not set - -# -# OMAP Core Type -# -CONFIG_ARCH_OMAP24XX=y -CONFIG_ARCH_OMAP2420=y -# CONFIG_ARCH_OMAP2430 is not set - -# -# OMAP Board Type -# -CONFIG_MACH_NOKIA_N800=y -CONFIG_MACH_NOKIA_RX44=y -# CONFIG_MACH_NOKIA_RX48 is not set -CONFIG_MACH_OMAP2_TUSB6010=y -# CONFIG_MACH_OMAP_H4 is not set -# CONFIG_MACH_OMAP_APOLLON is not set -# CONFIG_MACH_OMAP_2430SDP is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_V6=y -# CONFIG_CPU_32v6K is not set -CONFIG_CPU_32v6=y -CONFIG_CPU_ABRT_EV6=y -CONFIG_CPU_CACHE_V6=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_TLB_V6=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_BPREDICT_DISABLE is not set -# CONFIG_OUTER_CACHE is not set - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=128 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -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 is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_LEDS=y -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x10C08000 -CONFIG_ZBOOT_ROM_BSS=0x10200000 -# CONFIG_ZBOOT_ROM is not set -CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 ro console=tty0" -# CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_TABLE=y -# CONFIG_CPU_FREQ_DEBUG is not set -CONFIG_CPU_FREQ_STAT=y -# CONFIG_CPU_FREQ_STAT_DETAILS is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_NULL=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_NULL=y -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set -CONFIG_VFP=y - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_PM_SYSFS_DEPRECATED is not set -CONFIG_APM_EMULATION=y - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=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 is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -CONFIG_INET_XFRM_MODE_BEET=y -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETLABEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NF_CONNTRACK_ENABLED is not set -CONFIG_NETFILTER_XTABLES=y -# 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 is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT 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_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_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_IP_NF_QUEUE is not set -CONFIG_IP_NF_IPTABLES=y -# 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=y -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -CONFIG_IP_NF_TARGET_IDLETIMER=y -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# 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 is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -# CONFIG_BT_BNEP_MC_FILTER is not set -# CONFIG_BT_BNEP_PROTO_FILTER is not set -CONFIG_BT_HIDP=y - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUSB is not set -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIBRF6150 is not set -CONFIG_BT_HCIH4P=y -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_WIRELESS_EXT=y - -# -# 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 - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# 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 -# CONFIG_MTD_OBSOLETE_CHIPS is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 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 - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# OneNAND Flash Device Drivers -# -CONFIG_MTD_ONENAND=y -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OMAP2=y -CONFIG_MTD_ONENAND_OTP=y - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# -# CONFIG_PNPACPI is not set - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH 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 is not set - -# -# 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 is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set - -# -# 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_SCSI_DEBUG is not set - -# -# Serial ATA (prod) and Parallel ATA (experimental) drivers -# -# 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 - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=y - -# -# PHY device support -# - -# -# Ethernet (10 or 100Mbit) -# -# CONFIG_NET_ETHERNET is not set -CONFIG_MII=y - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y -# CONFIG_NET_WIRELESS_RTNETLINK is not set - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_HOSTAP is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=y -CONFIG_PPP_SYNC_TTY=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_BSDCOMP=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -CONFIG_SLHC=y -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set -CONFIG_INPUT_POWER=y - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ATKBD is not set -# 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_KEYBOARD_OMAP is not set -# CONFIG_KEYBOARD_GPIO is not set -CONFIG_KEYBOARD_TSC2301=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_TOUCHSCREEN_PENMOUNT is not set -# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set -# CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_UCB1400 is not set -CONFIG_TOUCHSCREEN_TSC2005=y -CONFIG_TOUCHSCREEN_TSC2301=y -# CONFIG_TOUCHSCREEN_TSC2046 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_RAW is not set -# 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 is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_OMAP=y -CONFIG_SERIAL_OMAP_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_OMAP_WATCHDOG=y - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_NVRAM is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set - -# -# I2C support -# -CONFIG_I2C=y -# CONFIG_I2C_CHARDEV is not set - -# -# 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_OCORES is not set -CONFIG_I2C_OMAP=y -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA 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_ISP1301_OMAP is not set -# CONFIG_TPS65010 is not set -# CONFIG_SENSORS_TLV320AIC23 is not set -CONFIG_SENSORS_TSL2563=y -# CONFIG_GPIOEXPANDER_OMAP is not set -CONFIG_LM8323=y -CONFIG_LP5521=y -CONFIG_MENELAUS=y -# CONFIG_TWL4030_CORE 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=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_BITBANG is not set -CONFIG_SPI_OMAP24XX=y -CONFIG_SPI_OMAP_PAUSING=y - -# -# SPI Protocol Masters -# -# CONFIG_SPI_AT25 is not set -# CONFIG_SPI_TSC2005 is not set -# CONFIG_SPI_TSC2101 is not set -# CONFIG_SPI_TSC2102 is not set -CONFIG_SPI_TSC2301=y -CONFIG_SPI_TSC2301_AUDIO=y - -# -# Dallas's 1-wire bus -# -# CONFIG_W1 is not set - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -CONFIG_SENSORS_TMP105=y -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# Multifunction device drivers -# -# CONFIG_MFD_SM501 is not set - -# -# LED devices -# -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y - -# -# LED drivers -# -# CONFIG_LEDS_OMAP_DEBUG is not set -# CONFIG_LEDS_OMAP is not set -CONFIG_LEDS_OMAP_PWM=y - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y - -# -# Multimedia devices -# -CONFIG_VIDEO_DEV=y -# CONFIG_VIDEO_V4L1 is not set -# CONFIG_VIDEO_V4L1_COMPAT is not set -CONFIG_VIDEO_V4L2=y - -# -# Video Capture Adapters -# - -# -# Video Capture Adapters -# -# CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_HELPER_CHIPS_AUTO=y -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set - -# -# V4L USB devices -# -# CONFIG_VIDEO_PVRUSB2 is not set -# CONFIG_VIDEO_USBVISION is not set -CONFIG_VIDEO_OMAP_CAMERA=y -# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set -CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y - -# -# Radio Adapters -# -CONFIG_RADIO_TEA5761=y -# CONFIG_USB_DSBR is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -CONFIG_VIDEO_BUF=y -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FB_DDC is not set -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_S1D13XXX is not set -CONFIG_FB_OMAP=y -CONFIG_FB_OMAP_LCDC_EXTERNAL=y -# CONFIG_FB_OMAP_LCDC_HWA742 is not set -CONFIG_FB_OMAP_LCDC_BLIZZARD=y -# CONFIG_FB_OMAP_MANUAL_UPDATE is not set -CONFIG_FB_OMAP_LCD_MIPID=y -CONFIG_FB_OMAP_BOOTLOADER_INIT=y -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4 -CONFIG_FB_OMAP_PAUSING=y -# CONFIG_FB_VIRTUAL is not set - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -# -# Logo configuration -# -# CONFIG_LOGO is not set - -# -# Sound -# -CONFIG_SOUND=y - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=y -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=y -# CONFIG_SND_PCM_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ALSA ARM devices -# -# CONFIG_SND_OMAP_AIC23 is not set -CONFIG_SND_AIC33=y -# CONFIG_SND_OMAP_TSC2101 is not set -# CONFIG_SND_SX1 is not set -# CONFIG_SND_OMAP_TSC2102 is not set -CONFIG_SND_OMAP24XX_EAC=y - -# -# USB devices -# -# CONFIG_SND_USB_AUDIO is not set - -# -# SoC audio support -# -# CONFIG_SND_SOC is not set - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# HID Devices -# -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=y -CONFIG_USB_DEBUG=y - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DYNAMIC_MINORS=y -CONFIG_USB_SUSPEND=y -CONFIG_USB_OTG=y -CONFIG_USB_OTG_WHITELIST=y -# CONFIG_USB_OTG_BLACKLIST_HUB is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set -CONFIG_USB_MUSB_HDRC=y -CONFIG_USB_TUSB6010=y -CONFIG_USB_TUSB6010_TEST=y -# CONFIG_USB_MUSB_HOST is not set -# CONFIG_USB_MUSB_PERIPHERAL is not set -CONFIG_USB_MUSB_OTG=y -CONFIG_USB_GADGET_MUSB_HDRC=y -CONFIG_USB_MUSB_HDRC_HCD=y -CONFIG_USB_MUSB_HSET=y -# CONFIG_MUSB_PIO_ONLY is not set -# CONFIG_USB_INVENTRA_DMA is not set -# CONFIG_USB_TI_CPPI_DMA is not set -CONFIG_USB_TUSB_OMAP_DMA=y -CONFIG_USB_MUSB_LOGLEVEL=1 - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# 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 is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_KARMA is not set -CONFIG_USB_LIBUSUAL=y - -# -# USB Input Devices -# -CONFIG_USB_HID=y -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -# CONFIG_USB_HIDDEV is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_TOUCHSCREEN is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_ATI_REMOTE2 is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set -# CONFIG_USB_GTCO is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -CONFIG_USB_RTL8150=y -# CONFIG_USB_USBNET_MII is not set -CONFIG_USB_USBNET=y -CONFIG_USB_NET_CDCETHER=y -# CONFIG_USB_NET_DM9601 is not set -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=y -CONFIG_USB_NET_PLUSB=y -# CONFIG_USB_NET_MCS7830 is not set -CONFIG_USB_NET_RNDIS_HOST=y -CONFIG_USB_NET_CDC_SUBSET=y -# CONFIG_USB_ALI_M5632 is not set -# CONFIG_USB_AN2720 is not set -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -# CONFIG_USB_EPSON2888 is not set -# CONFIG_USB_KC2190 is not set -CONFIG_USB_NET_ZAURUS=y -CONFIG_USB_MON=y - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -# CONFIG_USB_SERIAL 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=y - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=m -CONFIG_USB_GADGET_DEBUG_FILES=y -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -# CONFIG_USB_GADGET_OMAP is not set -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -CONFIG_USB_GADGET_DUALSPEED=y -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -CONFIG_USB_GADGETFS=m -CONFIG_USB_FILE_STORAGE=m -CONFIG_USB_FILE_STORAGE_TEST=y -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_MIDI_GADGET is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_OMAP=y -CONFIG_MMC_PAUSING=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# CBUS support -# -CONFIG_CBUS=y -CONFIG_CBUS_TAHVO=y -CONFIG_CBUS_TAHVO_USER=y -# CONFIG_CBUS_TAHVO_USB is not set -CONFIG_CBUS_RETU=y -CONFIG_CBUS_RETU_USER=y -CONFIG_CBUS_RETU_POWERBUTTON=y -CONFIG_CBUS_RETU_RTC=y -CONFIG_CBUS_RETU_WDT=y -CONFIG_CBUS_RETU_HEADSET=y - -# -# File systems -# -CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -# CONFIG_EXT2_FS_POSIX_ACL is not set -# CONFIG_EXT2_FS_SECURITY is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -# 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 is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -CONFIG_FUSE_FS=y - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -# CONFIG_MSDOS_FS is not set -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_SYSCTL=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_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_SUMMARY=y -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_SYSFS is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_CRAMFS is not set -# 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=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -# CONFIG_NFS_DIRECTIO is not set -# CONFIG_NFSD is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -CONFIG_SUNRPC_GSS=y -CONFIG_RPCSEC_GSS_KRB5=y -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -CONFIG_CIFS=y -# CONFIG_CIFS_STATS is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_XATTR is not set -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_EXPERIMENTAL 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 is not set -CONFIG_MSDOS_PARTITION=y - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_2=y -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=y - -# -# Distributed Lock Manager -# -# CONFIG_DLM is not set - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -CONFIG_PRINTK_TIME=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set -# CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_LIST is not set -CONFIG_FRAME_POINTER=y -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_FAULT_INJECTION is not set - -# -# GCOV coverage profiling -# -# CONFIG_GCOV_PROFILE is not set -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_ERRORS=y -# CONFIG_DEBUG_LL is not set - -# -# Security options -# -# CONFIG_KEYS is not set -CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_CAPABILITIES is not set -# CONFIG_SECURITY_ROOTPLUG is not set -CONFIG_SECURITY_LOWMEM=y - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_MANAGER=y -# CONFIG_CRYPTO_HMAC is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -# CONFIG_CRYPTO_SHA1 is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_GF128MUL is not set -CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_ARC4 is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_TEST is not set - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch deleted file mode 100644 index 791a66e02a8..00000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: linux-2.6.21/drivers/cbus/retu-pwrbutton.c -=================================================================== ---- linux-2.6.21.orig/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:44:18.000000000 +0000 -+++ linux-2.6.21/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:46:22.000000000 +0000 -@@ -53,7 +53,9 @@ - state = PWRBTN_PRESSED; - - if (pwrbtn_state != state) { -- input_report_key(pwrbtn_dev, KEY_POWER, state); -+ input_report_key(pwrbtn_dev, KEY_SUSPEND, state); -+ if (state == PWRBTN_PRESSED) -+ input_event(pwrbtn_dev, EV_PWR, KEY_SUSPEND, 1); - pwrbtn_state = state; - } - } -@@ -92,8 +94,8 @@ - if (!pwrbtn_dev) - return -ENOMEM; - -- pwrbtn_dev->evbit[0] = BIT(EV_KEY); -- pwrbtn_dev->keybit[LONG(KEY_POWER)] = BIT(KEY_POWER); -+ pwrbtn_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_PWR); -+ pwrbtn_dev->keybit[LONG(KEY_SUSPEND)] = BIT(KEY_SUSPEND); - pwrbtn_dev->name = "retu-pwrbutton"; - - input_register_device(pwrbtn_dev); -Index: linux-2.6.21/drivers/char/apm-emulation.c -=================================================================== ---- linux-2.6.21.orig/drivers/char/apm-emulation.c 2008-02-21 00:32:41.000000000 +0000 -+++ linux-2.6.21/drivers/char/apm-emulation.c 2008-02-21 00:33:43.000000000 +0000 -@@ -206,10 +206,18 @@ - return ret; - } - -+static in_suspend; -+ - static void apm_suspend(void) - { - struct apm_user *as; -- int err = pm_suspend(PM_SUSPEND_MEM); -+ int err; -+ -+ in_suspend = 1; -+ -+ err = pm_suspend(PM_SUSPEND_MEM); -+ -+ in_suspend = 0; - - /* - * Anyone on the APM queues will think we're still suspended. -@@ -663,6 +671,9 @@ - { - unsigned long flags; - -+ if (in_suspend) -+ return; -+ - spin_lock_irqsave(&kapmd_queue_lock, flags); - queue_add_event(&kapmd_queue, event); - spin_unlock_irqrestore(&kapmd_queue_lock, flags); diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig deleted file mode 100644 index 52ee1b10ce9..00000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig +++ /dev/null @@ -1,1642 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-omap1 -# Tue Mar 4 12:08:53 2008 -# -CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_TIME=y -CONFIG_MMU=y -# CONFIG_NO_IOPORT is not set -CONFIG_GENERIC_HARDIRQS=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=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 is not set -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_POSIX_MQUEUE=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_UTS_NS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -CONFIG_SYSFS_DEPRECATED=y -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SHMEM=y -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set - -# -# 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 is not set -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -# CONFIG_DEFAULT_CFQ is not set -CONFIG_DEFAULT_NOOP=y -CONFIG_DEFAULT_IOSCHED="noop" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -CONFIG_ARCH_OMAP=y - -# -# TI OMAP Implementations -# -CONFIG_ARCH_OMAP_OTG=y -# CONFIG_ARCH_OMAP1 is not set -CONFIG_ARCH_OMAP2=y - -# -# OMAP Feature Selections -# -CONFIG_MACH_OMAP2420_DVFS=y -CONFIG_ARCH_OMAP2420_DEBUG=y -CONFIG_ARCH_OMAP2420_OBSERVABILITY=m -CONFIG_ARCH_OMAP2420_PEEK_N_POKE=m -CONFIG_ARCH_OMAP2420_SNAPSHOT=m -CONFIG_ARCH_OMAP2420_DMA_DRAIN=y -CONFIG_OMAP_RESET_CLOCKS=y -CONFIG_OMAP_BOOT_TAG=y -CONFIG_OMAP_BOOT_REASON=y -CONFIG_OMAP_COMPONENT_VERSION=y -CONFIG_OMAP_GPIO_SWITCH=y -# CONFIG_OMAP_MUX is not set -CONFIG_OMAP_STI=y -CONFIG_OMAP_STI_CONSOLE=y -# CONFIG_OMAP_MCBSP is not set -CONFIG_OMAP_MMU_FWK=y -CONFIG_OMAP_MBOX_FWK=y -# CONFIG_OMAP_MPU_TIMER is not set -CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_DM_TIMER=y -# CONFIG_OMAP_LL_DEBUG_UART1 is not set -# CONFIG_OMAP_LL_DEBUG_UART2 is not set -CONFIG_OMAP_LL_DEBUG_UART3=y -CONFIG_OMAP_DSP=y -# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set -CONFIG_OMAP_DSP_TASK_MULTIOPEN=y -CONFIG_OMAP_DSP_FBEXPORT=y -CONFIG_OMAP_DSP_PAUSING=y -# CONFIG_MACH_OMAP_GENERIC is not set - -# -# OMAP Core Type -# -CONFIG_ARCH_OMAP24XX=y -CONFIG_ARCH_OMAP2420=y -# CONFIG_ARCH_OMAP2430 is not set - -# -# OMAP Board Type -# -CONFIG_MACH_NOKIA_N800=y -CONFIG_MACH_NOKIA_RX44=y -CONFIG_MACH_OMAP2_TUSB6010=y -# CONFIG_MACH_OMAP_H4 is not set -# CONFIG_MACH_OMAP_APOLLON is not set -# CONFIG_MACH_OMAP_2430SDP is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_V6=y -# CONFIG_CPU_32v6K is not set -CONFIG_CPU_32v6=y -CONFIG_CPU_ABRT_EV6=y -CONFIG_CPU_CACHE_V6=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_TLB_V6=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_BPREDICT_DISABLE is not set -# CONFIG_OUTER_CACHE is not set - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=128 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -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 is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_LEDS=y -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x10C08000 -CONFIG_ZBOOT_ROM_BSS=0x10200000 -# CONFIG_ZBOOT_ROM is not set -CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 ro console=tty0" -# CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_TABLE=y -# CONFIG_CPU_FREQ_DEBUG is not set -CONFIG_CPU_FREQ_STAT=y -# CONFIG_CPU_FREQ_STAT_DETAILS is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_NULL=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_NULL=y -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set -CONFIG_VFP=y - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_PM_SYSFS_DEPRECATED is not set -CONFIG_APM_EMULATION=y - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=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 is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -CONFIG_INET_XFRM_MODE_BEET=y -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETLABEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NF_CONNTRACK_ENABLED is not set -CONFIG_NETFILTER_XTABLES=y -# 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 is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT 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_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_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_IP_NF_QUEUE is not set -CONFIG_IP_NF_IPTABLES=y -# 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=y -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -CONFIG_IP_NF_TARGET_IDLETIMER=y -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# 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 is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -# CONFIG_BT_BNEP_MC_FILTER is not set -# CONFIG_BT_BNEP_PROTO_FILTER is not set -CONFIG_BT_HIDP=y - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUSB is not set -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIBRF6150 is not set -CONFIG_BT_HCIH4P=y -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_WIRELESS_EXT=y - -# -# 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 - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# 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 -# CONFIG_MTD_OBSOLETE_CHIPS is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 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 - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# OneNAND Flash Device Drivers -# -CONFIG_MTD_ONENAND=y -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OMAP2=y -CONFIG_MTD_ONENAND_OTP=y - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# -# CONFIG_PNPACPI is not set - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH 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 is not set - -# -# 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 is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set - -# -# 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_SCSI_DEBUG is not set - -# -# Serial ATA (prod) and Parallel ATA (experimental) drivers -# -# 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 - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=y - -# -# PHY device support -# - -# -# Ethernet (10 or 100Mbit) -# -# CONFIG_NET_ETHERNET is not set -CONFIG_MII=y - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y -# CONFIG_NET_WIRELESS_RTNETLINK is not set - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_HOSTAP is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=y -CONFIG_PPP_SYNC_TTY=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_BSDCOMP=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -CONFIG_SLHC=y -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set -CONFIG_INPUT_POWER=y - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ATKBD is not set -# 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_KEYBOARD_OMAP is not set -# CONFIG_KEYBOARD_GPIO is not set -CONFIG_KEYBOARD_TSC2301=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_TOUCHSCREEN_PENMOUNT is not set -# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set -# CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_UCB1400 is not set -CONFIG_TOUCHSCREEN_TSC2005=y -CONFIG_TOUCHSCREEN_TSC2301=y -# CONFIG_TOUCHSCREEN_TSC2046 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_RAW is not set -# 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 is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_OMAP=y -CONFIG_SERIAL_OMAP_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_OMAP_WATCHDOG=y - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_NVRAM is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set - -# -# I2C support -# -CONFIG_I2C=y -# CONFIG_I2C_CHARDEV is not set - -# -# 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_OCORES is not set -CONFIG_I2C_OMAP=y -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA 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_ISP1301_OMAP is not set -# CONFIG_TPS65010 is not set -# CONFIG_SENSORS_TLV320AIC23 is not set -CONFIG_SENSORS_TSL2563=y -# CONFIG_GPIOEXPANDER_OMAP is not set -CONFIG_LM8323=y -CONFIG_LP5521=y -CONFIG_MENELAUS=y -# CONFIG_TWL4030_CORE 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=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_BITBANG is not set -CONFIG_SPI_OMAP24XX=y -CONFIG_SPI_OMAP_PAUSING=y - -# -# SPI Protocol Masters -# -# CONFIG_SPI_AT25 is not set -# CONFIG_SPI_TSC2005 is not set -# CONFIG_SPI_TSC2101 is not set -# CONFIG_SPI_TSC2102 is not set -CONFIG_SPI_TSC2301=y -CONFIG_SPI_TSC2301_AUDIO=y - -# -# Dallas's 1-wire bus -# -# CONFIG_W1 is not set - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -CONFIG_SENSORS_TMP105=y -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# Multifunction device drivers -# -# CONFIG_MFD_SM501 is not set - -# -# LED devices -# -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y - -# -# LED drivers -# -# CONFIG_LEDS_OMAP_DEBUG is not set -# CONFIG_LEDS_OMAP is not set -CONFIG_LEDS_OMAP_PWM=y - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y - -# -# Multimedia devices -# -CONFIG_VIDEO_DEV=y -# CONFIG_VIDEO_V4L1 is not set -# CONFIG_VIDEO_V4L1_COMPAT is not set -CONFIG_VIDEO_V4L2=y - -# -# Video Capture Adapters -# - -# -# Video Capture Adapters -# -# CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_HELPER_CHIPS_AUTO=y -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set - -# -# V4L USB devices -# -# CONFIG_VIDEO_PVRUSB2 is not set -# CONFIG_VIDEO_USBVISION is not set -CONFIG_VIDEO_OMAP_CAMERA=y -# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set -CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y - -# -# Radio Adapters -# -CONFIG_RADIO_TEA5761=y -# CONFIG_USB_DSBR is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -CONFIG_VIDEO_BUF=y -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FB_DDC is not set -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_S1D13XXX is not set -CONFIG_FB_OMAP=y -CONFIG_FB_OMAP_LCDC_EXTERNAL=y -# CONFIG_FB_OMAP_LCDC_HWA742 is not set -CONFIG_FB_OMAP_LCDC_BLIZZARD=y -# CONFIG_FB_OMAP_MANUAL_UPDATE is not set -CONFIG_FB_OMAP_LCD_MIPID=y -CONFIG_FB_OMAP_BOOTLOADER_INIT=y -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4 -CONFIG_FB_OMAP_PAUSING=y -# CONFIG_FB_VIRTUAL is not set - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -# -# Logo configuration -# -# CONFIG_LOGO is not set - -# -# Sound -# -CONFIG_SOUND=y - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=y -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=y -# CONFIG_SND_PCM_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ALSA ARM devices -# -# CONFIG_SND_OMAP_AIC23 is not set -CONFIG_SND_AIC33=y -# CONFIG_SND_OMAP_TSC2101 is not set -# CONFIG_SND_SX1 is not set -# CONFIG_SND_OMAP_TSC2102 is not set -CONFIG_SND_OMAP24XX_EAC=y - -# -# USB devices -# -# CONFIG_SND_USB_AUDIO is not set - -# -# SoC audio support -# -# CONFIG_SND_SOC is not set - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# HID Devices -# -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=y -CONFIG_USB_DEBUG=y - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DYNAMIC_MINORS=y -CONFIG_USB_SUSPEND=y -CONFIG_USB_OTG=y -CONFIG_USB_OTG_WHITELIST=y -# CONFIG_USB_OTG_BLACKLIST_HUB is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set -CONFIG_USB_MUSB_HDRC=y -CONFIG_USB_TUSB6010=y -CONFIG_USB_TUSB6010_TEST=y -# CONFIG_USB_MUSB_HOST is not set -# CONFIG_USB_MUSB_PERIPHERAL is not set -CONFIG_USB_MUSB_OTG=y -CONFIG_USB_GADGET_MUSB_HDRC=y -CONFIG_USB_MUSB_HDRC_HCD=y -CONFIG_USB_MUSB_HSET=y -# CONFIG_MUSB_PIO_ONLY is not set -# CONFIG_USB_INVENTRA_DMA is not set -# CONFIG_USB_TI_CPPI_DMA is not set -CONFIG_USB_TUSB_OMAP_DMA=y -CONFIG_USB_MUSB_LOGLEVEL=1 - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# 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 is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_KARMA is not set -CONFIG_USB_LIBUSUAL=y - -# -# USB Input Devices -# -CONFIG_USB_HID=y -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -# CONFIG_USB_HIDDEV is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_TOUCHSCREEN is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_ATI_REMOTE2 is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set -# CONFIG_USB_GTCO is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -CONFIG_USB_RTL8150=y -# CONFIG_USB_USBNET_MII is not set -CONFIG_USB_USBNET=y -CONFIG_USB_NET_CDCETHER=y -# CONFIG_USB_NET_DM9601 is not set -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=y -CONFIG_USB_NET_PLUSB=y -# CONFIG_USB_NET_MCS7830 is not set -CONFIG_USB_NET_RNDIS_HOST=y -CONFIG_USB_NET_CDC_SUBSET=y -# CONFIG_USB_ALI_M5632 is not set -# CONFIG_USB_AN2720 is not set -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -# CONFIG_USB_EPSON2888 is not set -# CONFIG_USB_KC2190 is not set -CONFIG_USB_NET_ZAURUS=y -CONFIG_USB_MON=y - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -# CONFIG_USB_SERIAL 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_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set -CONFIG_USB_TEST=y - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=m -CONFIG_USB_GADGET_DEBUG_FILES=y -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -# CONFIG_USB_GADGET_OMAP is not set -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -CONFIG_USB_GADGET_DUALSPEED=y -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -CONFIG_USB_GADGETFS=m -CONFIG_USB_FILE_STORAGE=m -CONFIG_USB_FILE_STORAGE_TEST=y -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_MIDI_GADGET is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_OMAP=y -CONFIG_MMC_PAUSING=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# CBUS support -# -CONFIG_CBUS=y -CONFIG_CBUS_TAHVO=y -CONFIG_CBUS_TAHVO_USER=y -# CONFIG_CBUS_TAHVO_USB is not set -CONFIG_CBUS_RETU=y -CONFIG_CBUS_RETU_USER=y -CONFIG_CBUS_RETU_POWERBUTTON=y -CONFIG_CBUS_RETU_RTC=y -CONFIG_CBUS_RETU_WDT=y -CONFIG_CBUS_RETU_HEADSET=y - -# -# File systems -# -CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -# CONFIG_EXT2_FS_POSIX_ACL is not set -# CONFIG_EXT2_FS_SECURITY is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -# 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 is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -CONFIG_FUSE_FS=y - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -# CONFIG_MSDOS_FS is not set -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_SYSCTL=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_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_SUMMARY=y -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_SYSFS is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_CRAMFS is not set -# 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=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -# CONFIG_NFS_DIRECTIO is not set -# CONFIG_NFSD is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -CONFIG_SUNRPC_GSS=y -CONFIG_RPCSEC_GSS_KRB5=y -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -CONFIG_CIFS=y -# CONFIG_CIFS_STATS is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_XATTR is not set -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_EXPERIMENTAL 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 is not set -CONFIG_MSDOS_PARTITION=y - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_2=y -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=y - -# -# Distributed Lock Manager -# -# CONFIG_DLM is not set - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -CONFIG_PRINTK_TIME=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set -# CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_LIST is not set -CONFIG_FRAME_POINTER=y -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_FAULT_INJECTION is not set -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_ERRORS=y -# CONFIG_DEBUG_LL is not set - -# -# Security options -# -# CONFIG_KEYS is not set -CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_CAPABILITIES is not set -# CONFIG_SECURITY_ROOTPLUG is not set -CONFIG_SECURITY_LOWMEM=y - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_MANAGER=y -# CONFIG_CRYPTO_HMAC is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -# CONFIG_CRYPTO_SHA1 is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_GF128MUL is not set -CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_ARC4 is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_TEST is not set - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch b/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch deleted file mode 100644 index 791a66e02a8..00000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: linux-2.6.21/drivers/cbus/retu-pwrbutton.c -=================================================================== ---- linux-2.6.21.orig/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:44:18.000000000 +0000 -+++ linux-2.6.21/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:46:22.000000000 +0000 -@@ -53,7 +53,9 @@ - state = PWRBTN_PRESSED; - - if (pwrbtn_state != state) { -- input_report_key(pwrbtn_dev, KEY_POWER, state); -+ input_report_key(pwrbtn_dev, KEY_SUSPEND, state); -+ if (state == PWRBTN_PRESSED) -+ input_event(pwrbtn_dev, EV_PWR, KEY_SUSPEND, 1); - pwrbtn_state = state; - } - } -@@ -92,8 +94,8 @@ - if (!pwrbtn_dev) - return -ENOMEM; - -- pwrbtn_dev->evbit[0] = BIT(EV_KEY); -- pwrbtn_dev->keybit[LONG(KEY_POWER)] = BIT(KEY_POWER); -+ pwrbtn_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_PWR); -+ pwrbtn_dev->keybit[LONG(KEY_SUSPEND)] = BIT(KEY_SUSPEND); - pwrbtn_dev->name = "retu-pwrbutton"; - - input_register_device(pwrbtn_dev); -Index: linux-2.6.21/drivers/char/apm-emulation.c -=================================================================== ---- linux-2.6.21.orig/drivers/char/apm-emulation.c 2008-02-21 00:32:41.000000000 +0000 -+++ linux-2.6.21/drivers/char/apm-emulation.c 2008-02-21 00:33:43.000000000 +0000 -@@ -206,10 +206,18 @@ - return ret; - } - -+static in_suspend; -+ - static void apm_suspend(void) - { - struct apm_user *as; -- int err = pm_suspend(PM_SUSPEND_MEM); -+ int err; -+ -+ in_suspend = 1; -+ -+ err = pm_suspend(PM_SUSPEND_MEM); -+ -+ in_suspend = 0; - - /* - * Anyone on the APM queues will think we're still suspended. -@@ -663,6 +671,9 @@ - { - unsigned long flags; - -+ if (in_suspend) -+ return; -+ - spin_lock_irqsave(&kapmd_queue_lock, flags); - queue_add_event(&kapmd_queue, event); - spin_unlock_irqrestore(&kapmd_queue_lock, flags); diff --git a/meta-extras/packages/linux/linux-nokia800.inc b/meta-extras/packages/linux/linux-nokia800.inc deleted file mode 100644 index 540dfbb4c2b..00000000000 --- a/meta-extras/packages/linux/linux-nokia800.inc +++ /dev/null @@ -1,43 +0,0 @@ -SECTION = "kernel" -DESCRIPTION = "Linux kernel for Nokia 770/800" -LICENSE = "GPL" - -KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" -KERNEL_CCSUFFIX = "-3.4.4+csl-arm-2005q3-2" - -inherit kernel deploy - -RPROVIDES_kernel-image = "hostap-modules" - -COMPATIBLE_MACHINE = "nokia770|nokia800" - -RPSRC = "http://www.rpsys.net/openzaurus/patches/archive" - -do_configure_prepend() { - - rm -f ${S}/.config || true - - if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then - echo "CONFIG_AEABI=y" >> ${S}/.config - echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config - else - echo "# CONFIG_AEABI is not set" >> ${S}/.config - echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config - fi - - sed -e '/CONFIG_AEABI/d' \ - -e '/CONFIG_OABI_COMPAT=/d' \ - '${WORKDIR}/defconfig' >>'${S}/.config' - - yes '' | oe_runmake oldconfig - -} - -do_deploy() { - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOYDIR}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin - cd ${DEPLOYDIR} - ln -sf ${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin ${KERNEL_IMAGETYPE}-${MACHINE}.bin - tar -cvzf ${DEPLOYDIR}/modules-${KERNEL_RELEASE}-${MACHINE}.tgz -C ${D} lib -} - -addtask deploy before do_populate_sysroot after do_install diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb b/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb deleted file mode 100644 index f987ab321a2..00000000000 --- a/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb +++ /dev/null @@ -1,18 +0,0 @@ -require linux-nokia800.inc - -PR = "r7" -SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-rx-34_2.6.18.orig.tar.gz \ - http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-rx-34_2.6.18-osso40.diff.gz;patch=1 \ - ${RPSRC}/lzo_kernel-r0.patch;patch=1 \ - ${RPSRC}/lzo_jffs2-r0.patch;patch=1 \ - ${RPSRC}/lzo_crypto-r0b.patch;patch=1 \ - ${RPSRC}/lzo_jffs2_lzomode-r0.patch;patch=1 \ - ${RPSRC}/lzo_jffs2_sysfs-r0.patch;patch=1 \ - file://fix_oprofile.patch;patch=1 \ - file://sumversion-fix.patch;patch=1 \ - file://defconfig" - -SRC_URI_append_nokia770 = " file://nokia770_nand_fix.patch;patch=1" - -S = "${WORKDIR}/linux-g" - diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb b/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb deleted file mode 100644 index 9ea91c3a262..00000000000 --- a/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb +++ /dev/null @@ -1,18 +0,0 @@ -require linux-nokia800.inc -PR = "r0" - -DEFAULT_PREFERENCE_nokia770 = "-1" - -SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \ - file://kernel-source_2.6.21-200823maemo6.diff.gz;patch=1 \ - http://www.rpsys.net/openzaurus/patches/archive/input_power-r7.patch;patch=1 \ - file://suspend-button.patch;patch=1 \ - file://defconfig" - -S = "${WORKDIR}/linux-2.6.21" - -do_install_append () { - mkdir -p ${D}/kernel/include/drivers/media/video/omap/ - cp -f drivers/media/video/omap/tcm825x.h ${D}/kernel/include/drivers/media/video/omap/ -} - diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb b/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb deleted file mode 100644 index b64c697c9b6..00000000000 --- a/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb +++ /dev/null @@ -1,18 +0,0 @@ -require linux-nokia800.inc -PR = "r5" - -DEFAULT_PREFERENCE_nokia770 = "-1" - -SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \ - http://repository.maemo.org/pool/os2008/free/source/k/kernel-source-rx-34/kernel-source-rx-34_2.6.21.0-osso71.diff.gz;patch=1 \ - http://www.rpsys.net/openzaurus/patches/archive/input_power-r7.patch;patch=1 \ - file://suspend-button.patch;patch=1 \ - file://sumversion-fix.patch;patch=1 \ - file://defconfig" - -S = "${WORKDIR}/linux-2.6.21" - -do_install_append () { - mkdir -p ${D}/kernel/include/drivers/media/video/omap/ - cp -f drivers/media/video/omap/tcm825x.h ${D}/kernel/include/drivers/media/video/omap/ -} diff --git a/meta-extras/packages/linux/linux-openmoko.inc b/meta-extras/packages/linux/linux-openmoko.inc deleted file mode 100644 index a0bf48e609d..00000000000 --- a/meta-extras/packages/linux/linux-openmoko.inc +++ /dev/null @@ -1,25 +0,0 @@ -RDEPENDS_kernel-image += "mtd-utils" - -pkg_postinst_kernel-image () { -if test "x$D" != "x"; then - exit 1 -else - if [ -f ${sysconfdir}/default/flashkernel ] ; then - echo "Upgrading Kernel in Flash" - echo "DO NOT stop this process" - - MTD_KERNEL_PARTITION=`cat /proc/mtd | grep kernel | cut -d':' -f1` - MTD_KERNEL_PARTITION=/dev/$MTD_KERNEL_PARTITION - - if [ "x$MTD_KERNEL_PARTITION" = "x" ] ; then - exit 1 - fi - - ${bindir}/flash_eraseall $MTD_KERNEL_PARTITION - ${bindir}/nandwrite -p $MTD_KERNEL_PARTITION /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} - else - touch ${sysconfdir}/default/flashkernel - fi -fi -} - diff --git a/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch b/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch deleted file mode 100644 index 4aba897b067..00000000000 --- a/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch +++ /dev/null @@ -1,20 +0,0 @@ -Backport of this patch here - -http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg270684.html - -Needed for 2.6.24 to compile with gcc 4.3 -Index: linux-2.6.24/include/linux/time.h -=================================================================== ---- linux-2.6.24.orig/include/linux/time.h 2008-05-28 15:39:46.000000000 -0700 -+++ linux-2.6.24/include/linux/time.h 2008-05-28 15:40:48.000000000 -0700 -@@ -173,6 +173,10 @@ - { - ns += a->tv_nsec; - while(unlikely(ns >= NSEC_PER_SEC)) { -+ /* The following asm() prevents the compiler from -+ * optimising this loop into a modulo operation. */ -+ asm("" : "+r"(ns)); -+ - ns -= NSEC_PER_SEC; - a->tv_sec++; - } diff --git a/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb b/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb deleted file mode 100644 index a1d573be17f..00000000000 --- a/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb +++ /dev/null @@ -1,53 +0,0 @@ -require linux.inc -require linux-openmoko.inc - -DESCRIPTION = "Linux 2.6.x (development) kernel for FIC SmartPhones shipping w/ Openmoko" - -PE = "1" -PV = "${KERNEL_RELEASE}+git${SRCREV}" -PR = "r2" - -SRC_URI = "git://git.openmoko.org/git/kernel.git;protocol=git;branch=stable \ - file://timespec_add_ns_avoid_udivdi3.patch;patch=1" - -S = "${WORKDIR}/git" - -do_configure_prepend() { - cp -f ${S}/defconfig-${CONFIG_NAME} ${WORKDIR}/defconfig -} - -############################################################## -# kernel image resides on a seperate flash partition (for now) -# -ALLOW_EMPTY = "1" - -CMDLINE = "unused -- bootloader passes ATAG list" - -COMPATIBLE_HOST = "arm.*-linux" -COMPATIBLE_MACHINE = "om-gta01|om-gta02" -DEFAULT_PREFERENCE = "1" - -KERNEL_IMAGETYPE = "uImage" -KERNEL_RELEASE = "2.6.24" -KERNEL_VERSION = "${KERNEL_RELEASE}" - -CONFIG_NAME_om-gta01 = "gta01" -CONFIG_NAME_om-gta02 = "gta02" - -UBOOT_ENTRYPOINT = "30008000" - -############################################################### -# module configs specific to this kernel -# - -# usb -module_autoload_ohci-hcd = "ohci-hcd" -module_autoload_hci_usb = "hci_usb" -module_autoload_g_ether = "g_ether" -# audio -module_autoload_snd-soc-neo1973-wm8753 = "snd-soc-neo1973-wm8753" -module_autoload_snd-soc-neo1973-gta02-wm8753 = "snd-soc-neo1973-gta02-wm8753" -module_autoload_snd-pcm-oss = "snd-pcm-oss" -module_autoload_snd-mixer-oss = "snd-mixer-oss" -# sd/mmc -module_autoload_s3cmci = "s3cmci" diff --git a/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch b/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch deleted file mode 100644 index 245b28ac516..00000000000 --- a/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- lirc/drivers/lirc_sir/lirc_sir.c.orig 2004-11-18 17:30:17 +0100 -+++ lirc/drivers/lirc_sir/lirc_sir.c 2004-11-18 17:30:21 +0100 -@@ -628,6 +628,7 @@ - struct timeval curr_tv; - static unsigned long deltv; - #ifdef LIRC_ON_SA1100 -+ unsigned long deltintrtv; - int status; - static int n=0; - diff --git a/meta-extras/packages/lirc/files/lircd.conf_nslu2 b/meta-extras/packages/lirc/files/lircd.conf_nslu2 deleted file mode 100644 index 5fbaba469c2..00000000000 --- a/meta-extras/packages/lirc/files/lircd.conf_nslu2 +++ /dev/null @@ -1,1886 +0,0 @@ -# This file is modified for the NSLU2. -# It's based on http://lirc.sourceforge.net/remotes/philips/RC-5 -# and should support all RC5 compatible remotes. -# The timings are for a de-underclocked NSLU2. - -# To see which key generates which code, run "irw". -# To check whether lirc works at all, run "mode2 -d /dev/lirc" -# after stopping lircd with "/etc/init.d/lircd stop". -# To learn a new remote, run "irrecord -d /dev/lirc /etc/lircd.conf.new" and after -# success "mv /etc/lircd.conf.new /etc/lircd.conf". -# You could also take the timing values from /etc/lircd.conf.new -# and paste it in here. -# See also /etc/lircrc. - -begin remote - - name RC5 - bits 13 - flags RC5|CONST_LENGTH - eps 30 - aeps 100 -# if it doesn't work, you could change the following values: - one 863 921 - zero 863 921 - plead 947 - gap 113626 - min_repeat 1 - repeat_bit 2 - - begin codes - amp1-0 0x0000000000001400 - amp1-1 0x0000000000001401 - amp1-2 0x0000000000001402 - amp1-3 0x0000000000001403 - amp1-4 0x0000000000001404 - amp1-5 0x0000000000001405 - amp1-6 0x0000000000001406 - amp1-7 0x0000000000001407 - amp1-8 0x0000000000001408 - amp1-9 0x0000000000001409 - amp1-graphic_equalizer_left 0x000000000000140A - amp1-graphic_equalizer_right 0x000000000000140B - amp1-standby 0x000000000000140C - amp1-mute/demute 0x000000000000140D - amp1-P.P. 0x000000000000140E - amp1-display 0x000000000000140F - amp1-volume+ 0x0000000000001410 - amp1-volume- 0x0000000000001411 - amp1-brightness+ 0x0000000000001412 - amp1-brightness- 0x0000000000001413 - amp1-colour_saturation+ 0x0000000000001414 - amp1-colour_saturation- 0x0000000000001415 - amp1-bass+ 0x0000000000001416 - amp1-bass- 0x0000000000001417 - amp1-treble+ 0x0000000000001418 - amp1-treble- 0x0000000000001419 - amp1-balance_right 0x000000000000141A - amp1-balance_left 0x000000000000141B - amp1-graph_equal_left&right 0x000000000000141C - amp1-loudness 0x000000000000141D - amp1-high_tone_filter 0x000000000000141E - amp1-low_tone_filter 0x000000000000141F - amp1-step+ 0x0000000000001420 - amp1-step- 0x0000000000001421 - amp1-signal_path_scroll 0x0000000000001422 - amp1-INVALID 0x0000000000001423 - amp1-INVALID 0x0000000000001424 - amp1-surround_mode 0x0000000000001425 - amp1-sleeptimer 0x0000000000001426 - amp1-balance_rear 0x0000000000001427 - amp1-balance_front 0x0000000000001428 - amp1-TPS 0x0000000000001429 - amp1-timer_set 0x000000000000142A - amp1-timer_up 0x000000000000142B - amp1-timer_down 0x000000000000142C - amp1-timer_memo 0x000000000000142D - amp1-acoustic_memory 0x000000000000142E - amp1-acoustic_memory_select 0x000000000000142F - amp1-pause 0x0000000000001430 - amp1-erase 0x0000000000001431 - amp1-rewind 0x0000000000001432 - amp1-go_to 0x0000000000001433 - amp1-wind 0x0000000000001434 - amp1-play 0x0000000000001435 - amp1-stop 0x0000000000001436 - amp1-recording 0x0000000000001437 - amp1-external1 0x0000000000001438 - amp1-external2 0x0000000000001439 - amp1-clear_all_memory 0x000000000000143A - amp1-INVALID 0x000000000000143B - amp1-dyn_range_expand/compr 0x000000000000143C - amp1-system_standby 0x000000000000143D - amp1-INVALID 0x000000000000143E - amp1-system_select 0x000000000000143F - amp1-surround_sound 0x0000000000000400 - amp1-balance_front 0x0000000000000401 - amp1-balance_rear 0x0000000000000402 - amp1-sound_effects1 0x0000000000000403 - amp1-sound_effects2 0x0000000000000404 - amp1-sound_effects3 0x0000000000000405 - amp1-sound_effects4 0x0000000000000406 - amp1-sound_effects5 0x0000000000000407 - amp1-sound_or_menu_func.1 0x0000000000000408 - amp1-sound_or_menu_func.2 0x0000000000000409 - amp1-sound_or_menu_func.3 0x000000000000040A - amp1-linear_function_up 0x000000000000040D - amp1-linear_function_down 0x000000000000040E - amp1-catalogue 0x000000000000040F - amp1-cursor_step_up 0x0000000000000410 - amp1-cursor_step_down 0x0000000000000411 - amp1-menu_on 0x0000000000000412 - amp1-menu_off 0x0000000000000413 - amp1-display_A/V_status 0x0000000000000414 - amp1-cursor_step_left 0x0000000000000415 - amp1-cursor_step_right 0x0000000000000416 - amp1-menu_function 0x0000000000000417 - amp1-PIP_on/off 0x0000000000000418 - amp1-PIP_shift 0x0000000000000419 - amp1-PIP_main_swap 0x000000000000041A - amp1-strobe_on/off 0x000000000000041B - amp1-multi_strobe 0x000000000000041C - amp1-main_freezed 0x000000000000041D - amp1-3/9_multi_scan 0x000000000000041E - amp1-PIP_mode_select 0x000000000000041F - amp1-mosaic 0x0000000000000420 - amp1-solarization 0x0000000000000421 - amp1-main_stored 0x0000000000000422 - amp1-PIP_strobe 0x0000000000000423 - amp1-recall_main 0x0000000000000424 - amp1-PIP_freeze 0x0000000000000425 - amp1-PIP_step_up 0x0000000000000426 - amp1-PIP_step_down 0x0000000000000427 - amp1-INVALID 0x000000000000042C - amp1-INVALID 0x0000000000000430 - amp1-INVALID 0x0000000000000431 - amp1-INVALID 0x0000000000000436 - amp1-INVALID 0x0000000000000437 - amp1-connect 0x000000000000043B - amp1-disconnect 0x000000000000043C - amp2-0 0x00000000000014C0 - amp2-1 0x00000000000014C1 - amp2-2 0x00000000000014C2 - amp2-3 0x00000000000014C3 - amp2-4 0x00000000000014C4 - amp2-5 0x00000000000014C5 - amp2-6 0x00000000000014C6 - amp2-7 0x00000000000014C7 - amp2-8 0x00000000000014C8 - amp2-9 0x00000000000014C9 - amp2-graphic_equalizer_left 0x00000000000014CA - amp2-graphic_equalizer_right 0x00000000000014CB - amp2-standby 0x00000000000014CC - amp2-mute/demute 0x00000000000014CD - amp2-P.P. 0x00000000000014CE - amp2-display 0x00000000000014CF - amp2-volume+ 0x00000000000014D0 - amp2-volume- 0x00000000000014D1 - amp2-brightness+ 0x00000000000014D2 - amp2-brightness- 0x00000000000014D3 - amp2-colour_saturation+ 0x00000000000014D4 - amp2-colour_saturation- 0x00000000000014D5 - amp2-bass+ 0x00000000000014D6 - amp2-bass- 0x00000000000014D7 - amp2-treble+ 0x00000000000014D8 - amp2-treble- 0x00000000000014D9 - amp2-balance_right 0x00000000000014DA - amp2-balance_left 0x00000000000014DB - amp2-graph_equal_left&right 0x00000000000014DC - amp2-loudness 0x00000000000014DD - amp2-high_tone_filter 0x00000000000014DE - amp2-low_tone_filter 0x00000000000014DF - amp2-step+ 0x00000000000014E0 - amp2-step- 0x00000000000014E1 - amp2-signal_path_scroll 0x00000000000014E2 - amp2-INVALID 0x00000000000014E3 - amp2-INVALID 0x00000000000014E4 - amp2-surround_mode 0x00000000000014E5 - amp2-sleeptimer 0x00000000000014E6 - amp2-balance_rear 0x00000000000014E7 - amp2-balance_front 0x00000000000014E8 - amp2-TPS 0x00000000000014E9 - amp2-timer_set 0x00000000000014EA - amp2-timer_up 0x00000000000014EB - amp2-timer_down 0x00000000000014EC - amp2-timer_memo 0x00000000000014ED - amp2-acoustic_memory 0x00000000000014EE - amp2-acoustic_memory_select 0x00000000000014EF - amp2-pause 0x00000000000014F0 - amp2-erase 0x00000000000014F1 - amp2-rewind 0x00000000000014F2 - amp2-go_to 0x00000000000014F3 - amp2-wind 0x00000000000014F4 - amp2-play 0x00000000000014F5 - amp2-stop 0x00000000000014F6 - amp2-recording 0x00000000000014F7 - amp2-external1 0x00000000000014F8 - amp2-external2 0x00000000000014F9 - amp2-clear_all_memory 0x00000000000014FA - amp2-INVALID 0x00000000000014FB - amp2-dyn_range_expand/compr 0x00000000000014FC - amp2-system_standby 0x00000000000014FD - amp2-INVALID 0x00000000000014FE - amp2-system_select 0x00000000000014FF - amp2-surround_sound 0x00000000000004C0 - amp2-balance_front 0x00000000000004C1 - amp2-balance_rear 0x00000000000004C2 - amp2-sound_effects1 0x00000000000004C3 - amp2-sound_effects2 0x00000000000004C4 - amp2-sound_effects3 0x00000000000004C5 - amp2-sound_effects4 0x00000000000004C6 - amp2-sound_effects5 0x00000000000004C7 - amp2-sound_or_menu_func.1 0x00000000000004C8 - amp2-sound_or_menu_func.2 0x00000000000004C9 - amp2-sound_or_menu_func.3 0x00000000000004CA - amp2-linear_function_up 0x00000000000004CD - amp2-linear_function_down 0x00000000000004CE - amp2-catalogue 0x00000000000004CF - amp2-cursor_step_up 0x00000000000004D0 - amp2-cursor_step_down 0x00000000000004D1 - amp2-menu_on 0x00000000000004D2 - amp2-menu_off 0x00000000000004D3 - amp2-display_A/V_status 0x00000000000004D4 - amp2-cursor_step_left 0x00000000000004D5 - amp2-cursor_step_right 0x00000000000004D6 - amp2-menu_function 0x00000000000004D7 - amp2-PIP_on/off 0x00000000000004D8 - amp2-PIP_shift 0x00000000000004D9 - amp2-PIP_main_swap 0x00000000000004DA - amp2-strobe_on/off 0x00000000000004DB - amp2-multi_strobe 0x00000000000004DC - amp2-main_freezed 0x00000000000004DD - amp2-3/9_multi_scan 0x00000000000004DE - amp2-PIP_mode_select 0x00000000000004DF - amp2-mosaic 0x00000000000004E0 - amp2-solarization 0x00000000000004E1 - amp2-main_stored 0x00000000000004E2 - amp2-PIP_strobe 0x00000000000004E3 - amp2-recall_main 0x00000000000004E4 - amp2-PIP_freeze 0x00000000000004E5 - amp2-PIP_step_up 0x00000000000004E6 - amp2-PIP_step_down 0x00000000000004E7 - amp2-INVALID 0x00000000000004EC - amp2-INVALID 0x00000000000004F0 - amp2-INVALID 0x00000000000004F1 - amp2-INVALID 0x00000000000004F6 - amp2-INVALID 0x00000000000004F7 - amp2-connect 0x00000000000004FB - amp2-disconnect 0x00000000000004FC - cd-0 0x0000000000001500 - cd-1 0x0000000000001501 - cd-2 0x0000000000001502 - cd-3 0x0000000000001503 - cd-4 0x0000000000001504 - cd-5 0x0000000000001505 - cd-6 0x0000000000001506 - cd-7 0x0000000000001507 - cd-8 0x0000000000001508 - cd-9 0x0000000000001509 - cd-cursor_scroll 0x000000000000150A - cd-display_scroll 0x000000000000150B - cd-standby 0x000000000000150C - cd-mute/demute 0x000000000000150D - cd-P.P._(personal_pref.) 0x000000000000150E - cd-display 0x000000000000150F - cd-volume+ 0x0000000000001510 - cd-volume- 0x0000000000001511 - cd-brightness+ 0x0000000000001512 - cd-brightness- 0x0000000000001513 - cd-colour_saturation+ 0x0000000000001514 - cd-colour_saturation- 0x0000000000001515 - cd-bass+ 0x0000000000001516 - cd-bass- 0x0000000000001517 - cd-treble+ 0x0000000000001518 - cd-treble- 0x0000000000001519 - cd-balance_right 0x000000000000151A - cd-balance_left 0x000000000000151B - cd-rept_once/TSPo/shuffle 0x000000000000151C - cd-repeat_cont/TSPc 0x000000000000151D - cd-select+ 0x000000000000151E - cd-select- 0x000000000000151F - cd-next 0x0000000000001520 - cd-previous 0x0000000000001521 - cd-index_next 0x0000000000001522 - cd-index_previous 0x0000000000001523 - cd-play/program 0x0000000000001524 - cd-speed_nominal 0x0000000000001525 - cd-speed+ 0x0000000000001526 - cd-speed- 0x0000000000001527 - cd-INVALID 0x0000000000001528 - cd-store_execute 0x0000000000001529 - cd-INVALID 0x000000000000152A - cd-scan_forward 0x000000000000152B - cd-INVALID 0x000000000000152C - cd-open/close 0x000000000000152D - cd-INVALID 0x000000000000152E - cd-INVALID 0x000000000000152F - cd-pause 0x0000000000001530 - cd-erase 0x0000000000001531 - cd-rewind 0x0000000000001532 - cd-go_to 0x0000000000001533 - cd-wind 0x0000000000001534 - cd-play 0x0000000000001535 - cd-stop 0x0000000000001536 - cd-recording 0x0000000000001537 - cd-external1 0x0000000000001538 - cd-external2 0x0000000000001539 - cd-clear_all_memory 0x000000000000153A - cd-repeat_A/B_program 0x000000000000153B - cd-dynamic_range_expand 0x000000000000153C - cd-system_standby 0x000000000000153D - cd-dynamic_range_compress 0x000000000000153E - cd-system_select 0x000000000000153F - cd-surround_sound 0x0000000000000500 - cd-balance_front 0x0000000000000501 - cd-balance_rear 0x0000000000000502 - cd-sound_effects1 0x0000000000000503 - cd-sound_effects2 0x0000000000000504 - cd-sound_effects3 0x0000000000000505 - cd-sound_effects4 0x0000000000000506 - cd-sound_effects5 0x0000000000000507 - cd-sound_or_menu_func.1 0x0000000000000508 - cd-sound_or_menu_func.2 0x0000000000000509 - cd-sound_or_menu_func.3 0x000000000000050A - cd-linear_function_up 0x000000000000050D - cd-linear_function_down 0x000000000000050E - cd-sound_or_menu_func. 0x000000000000050F - cd-cursor_step_up 0x0000000000000510 - cd-cursor_step_down 0x0000000000000511 - cd-menu_on 0x0000000000000512 - cd-menu_off 0x0000000000000513 - cd-display_A/V_status 0x0000000000000514 - cd-cursor_step_left 0x0000000000000515 - cd-cursor_step_right 0x0000000000000516 - cd-menu_function 0x0000000000000517 - cd-PIP_on/off 0x0000000000000518 - cd-PIP_shift 0x0000000000000519 - cd-PIP_main_swap 0x000000000000051A - cd-strobe_on/off 0x000000000000051B - cd-multi_strobe 0x000000000000051C - cd-main_freezed 0x000000000000051D - cd-3/9_multi_scan 0x000000000000051E - cd-PIP_mode_select 0x000000000000051F - cd-mosaic 0x0000000000000520 - cd-solarization 0x0000000000000521 - cd-main_stored 0x0000000000000522 - cd-PIP_strobe 0x0000000000000523 - cd-recall_main 0x0000000000000524 - cd-PIP_freeze 0x0000000000000525 - cd-PIP_step_up 0x0000000000000526 - cd-PIP_step_down 0x0000000000000527 - cd-INVALID 0x0000000000000528 - cd-INVALID 0x0000000000000529 - cd-INVALID 0x000000000000052A - cd-INVALID 0x000000000000052B - cd-FTS 0x000000000000052C - cd-INVALID 0x000000000000052D - cd-INVALID 0x0000000000000532 - cd-INVALID 0x0000000000000533 - cd-INVALID 0x0000000000000534 - cd-INVALID 0x0000000000000535 - cd-sub_mode1 0x0000000000000536 - cd-sub_mode2 0x0000000000000537 - cd-connect 0x000000000000053B - cd-disconnect 0x000000000000053C - lv1-0 0x0000000000001100 - lv1-1 0x0000000000001101 - lv1-2 0x0000000000001102 - lv1-3 0x0000000000001103 - lv1-4 0x0000000000001104 - lv1-5 0x0000000000001105 - lv1-6 0x0000000000001106 - lv1-7 0x0000000000001107 - lv1-8 0x0000000000001108 - lv1-9 0x0000000000001109 - lv1-picture_number/time 0x000000000000110A - lv1-channel_number 0x000000000000110B - lv1-standby 0x000000000000110C - lv1-mute/demute 0x000000000000110D - lv1-P.P._(personal_pref.) 0x000000000000110E - lv1-display 0x000000000000110F - lv1-volume+ 0x0000000000001110 - lv1-volume- 0x0000000000001111 - lv1-brightness+ 0x0000000000001112 - lv1-brightness- 0x0000000000001113 - lv1-colour_saturation+ 0x0000000000001114 - lv1-colour_saturation- 0x0000000000001115 - lv1-bass+ 0x0000000000001116 - lv1-bass- 0x0000000000001117 - lv1-treble+ 0x0000000000001118 - lv1-treble- 0x0000000000001119 - lv1-balance_right 0x000000000000111A - lv1-balance_left 0x000000000000111B - lv1-repeat_once/TSPo 0x000000000000111C - lv1-repeat_cont/TSPc 0x000000000000111D - lv1-next 0x000000000000111E - lv1-fast_run_reverse 0x000000000000111F - lv1-entry 0x0000000000001120 - lv1-auto_stop/memory 0x0000000000001121 - lv1-slow_run_reverse 0x0000000000001122 - lv1-audio1 0x0000000000001123 - lv1-audio2 0x0000000000001124 - lv1-still_picture 0x0000000000001125 - lv1-speed+ 0x0000000000001126 - lv1-speed- 0x0000000000001127 - lv1-slow_run_forward 0x0000000000001128 - lv1-still_forward 0x0000000000001129 - lv1-fast_run_forward 0x000000000000112A - lv1-search_automatic 0x000000000000112B - lv1-scan_reverse 0x000000000000112C - lv1-open/close_(eject) 0x000000000000112D - lv1-scan_forward 0x000000000000112E - lv1-play_reverse 0x000000000000112F - lv1-pause 0x0000000000001130 - lv1-erase 0x0000000000001131 - lv1-rewind 0x0000000000001132 - lv1-go_to 0x0000000000001133 - lv1-wind 0x0000000000001134 - lv1-play 0x0000000000001135 - lv1-stop 0x0000000000001136 - lv1-recording 0x0000000000001137 - lv1-external1 0x0000000000001138 - lv1-external2 0x0000000000001139 - lv1-clear_all_memory 0x000000000000113A - lv1-freeze_segment 0x000000000000113B - lv1-TXT_(pal)/ant.sw_(ntsc) 0x000000000000113C - lv1-system_standby 0x000000000000113D - lv1-CX_on/off 0x000000000000113E - lv1-system_select 0x000000000000113F - lv1-surround_sound 0x0000000000000100 - lv1-balance_front 0x0000000000000101 - lv1-balance_rear 0x0000000000000102 - lv1-sound_effects1 0x0000000000000103 - lv1-sound_effects2 0x0000000000000104 - lv1-sound_effects3 0x0000000000000105 - lv1-sound_effects4 0x0000000000000106 - lv1-sound_effects5 0x0000000000000107 - lv1-sound_or_menu_func.1 0x0000000000000108 - lv1-sound_or_menu_func.2 0x0000000000000109 - lv1-sound_or_menu_func.3 0x000000000000010A - lv1-INVALID 0x000000000000010B - lv1-INVALID 0x000000000000010C - lv1-linear_function_up 0x000000000000010D - lv1-linear_function_down 0x000000000000010E - lv1-sound_or_menu_func. 0x000000000000010F - lv1-cursor_step_up 0x0000000000000110 - lv1-cursor_step_down 0x0000000000000111 - lv1-menu_on 0x0000000000000112 - lv1-menu_off 0x0000000000000113 - lv1-display_A/V_status 0x0000000000000114 - lv1-cursor_step_left 0x0000000000000115 - lv1-cursor_step_right 0x0000000000000116 - lv1-menu_function 0x0000000000000117 - lv1-PIP_on/off 0x0000000000000118 - lv1-PIP_shift 0x0000000000000119 - lv1-PIP_main_swap 0x000000000000011A - lv1-strobe_on/off 0x000000000000011B - lv1-multi_strobe 0x000000000000011C - lv1-main_freezed 0x000000000000011D - lv1-3/9_multi_scan 0x000000000000011E - lv1-PIP_mode_select 0x000000000000011F - lv1-mosaic 0x0000000000000120 - lv1-solarization 0x0000000000000121 - lv1-main_stored 0x0000000000000122 - lv1-PIP_strobe 0x0000000000000123 - lv1-recall_main 0x0000000000000124 - lv1-PIP_freeze 0x0000000000000125 - lv1-PIP_step_up 0x0000000000000126 - lv1-PIP_step_down 0x0000000000000127 - lv1-INVALID 0x0000000000000128 - lv1-INVALID 0x0000000000000129 - lv1-INVALID 0x000000000000012A - lv1-INVALID 0x000000000000012B - lv1-INVALID 0x000000000000012C - lv1-INVALID 0x000000000000012D - lv1-INVALID 0x0000000000000130 - lv1-INVALID 0x0000000000000131 - lv1-INVALID 0x0000000000000132 - lv1-INVALID 0x0000000000000133 - lv1-INVALID 0x0000000000000134 - lv1-INVALID 0x0000000000000135 - lv1-sub_mode1 0x0000000000000136 - lv1-sub_mode2 0x0000000000000137 - lv1-INVALID 0x0000000000000138 - lv1-INVALID 0x0000000000000139 - lv1-INVALID 0x000000000000013A - lv1-connect 0x000000000000013B - lv1-disconnect 0x000000000000013C - lv2-0 0x0000000000001300 - lv2-1 0x0000000000001301 - lv2-2 0x0000000000001302 - lv2-3 0x0000000000001303 - lv2-4 0x0000000000001304 - lv2-5 0x0000000000001305 - lv2-6 0x0000000000001306 - lv2-7 0x0000000000001307 - lv2-8 0x0000000000001308 - lv2-9 0x0000000000001309 - lv2-picture_number/time 0x000000000000130A - lv2-chapter_number 0x000000000000130B - lv2-standby 0x000000000000130C - lv2-mute/demute 0x000000000000130D - lv2-P.P._(personal_pref.) 0x000000000000130E - lv2-display 0x000000000000130F - lv2-volume+ 0x0000000000001310 - lv2-volume- 0x0000000000001311 - lv2-brightness+ 0x0000000000001312 - lv2-brightness- 0x0000000000001313 - lv2-colour_saturation+ 0x0000000000001314 - lv2-colour_saturation- 0x0000000000001315 - lv2-bass+ 0x0000000000001316 - lv2-bass- 0x0000000000001317 - lv2-treble+ 0x0000000000001318 - lv2-treble- 0x0000000000001319 - lv2-balance_right 0x000000000000131A - lv2-balance_left 0x000000000000131B - lv2-repeat_once/TSPo 0x000000000000131C - lv2-repeat_cont/TSPc 0x000000000000131D - lv2-next 0x000000000000131E - lv2-programming 0x000000000000131F - lv2-INVALID 0x0000000000001320 - lv2-auto_stop/memory 0x0000000000001321 - lv2-slow_run_reverse 0x0000000000001322 - lv2-stereo_left/right 0x0000000000001323 - lv2-previous 0x0000000000001324 - lv2-still_reverse 0x0000000000001325 - lv2-speed+ 0x0000000000001326 - lv2-speed- 0x0000000000001327 - lv2-slow_run_forward 0x0000000000001328 - lv2-still_forward 0x0000000000001329 - lv2-digital_multi_screen 0x000000000000132A - lv2-strobe 0x000000000000132B - lv2-scan_reverse 0x000000000000132C - lv2-open/close_(eject) 0x000000000000132D - lv2-scan_forward 0x000000000000132E - lv2-INVALID 0x000000000000132F - lv2-pause 0x0000000000001330 - lv2-erase 0x0000000000001331 - lv2-rewind 0x0000000000001332 - lv2-go_to 0x0000000000001333 - lv2-wind 0x0000000000001334 - lv2-play 0x0000000000001335 - lv2-stop 0x0000000000001336 - lv2-recording 0x0000000000001337 - lv2-external1 0x0000000000001338 - lv2-external2 0x0000000000001339 - lv2-clear_all_memory 0x000000000000133A - lv2-repeat_A/B_program 0x000000000000133B - lv2-TXT_(pal)/ant.sw_(ntsc) 0x000000000000133C - lv2-system_standby 0x000000000000133D - lv2-CX_on/off 0x000000000000133E - lv2-system_select 0x000000000000133F - lv2-surround_sound 0x0000000000000300 - lv2-balance_front 0x0000000000000301 - lv2-balance_rear 0x0000000000000302 - lv2-sound_effects1 0x0000000000000303 - lv2-sound_effects2 0x0000000000000304 - lv2-sound_effects3 0x0000000000000305 - lv2-sound_effects4 0x0000000000000306 - lv2-sound_effects5 0x0000000000000307 - lv2-sound_or_menu_func.1 0x0000000000000308 - lv2-sound_or_menu_func.2 0x0000000000000309 - lv2-sound_or_menu_func.3 0x000000000000030A - lv2-linear_function_up 0x000000000000030D - lv2-linear_function_down 0x000000000000030E - lv2-sound_or_menu_func. 0x000000000000030F - lv2-cursor_step_up 0x0000000000000310 - lv2-cursor_step_down 0x0000000000000311 - lv2-menu_on 0x0000000000000312 - lv2-menu_off 0x0000000000000313 - lv2-display_A/V_status 0x0000000000000314 - lv2-cursor_step_left 0x0000000000000315 - lv2-cursor_step_right 0x0000000000000316 - lv2-menu_function 0x0000000000000317 - lv2-PIP_on/off 0x0000000000000318 - lv2-PIP_shift 0x0000000000000319 - lv2-PIP_main_swap 0x000000000000031A - lv2-strobe_on/off 0x000000000000031B - lv2-multi_strobe 0x000000000000031C - lv2-main_freezed 0x000000000000031D - lv2-3/9_multi_scan 0x000000000000031E - lv2-PIP_mode_select 0x000000000000031F - lv2-mosaic 0x0000000000000320 - lv2-solarization 0x0000000000000321 - lv2-main_stored 0x0000000000000322 - lv2-PIP_strobe 0x0000000000000323 - lv2-recall_main 0x0000000000000324 - lv2-PIP_freeze 0x0000000000000325 - lv2-PIP_step_up 0x0000000000000326 - lv2-PIP_step_down 0x0000000000000327 - lv2-FTS 0x000000000000032C - lv2-index_next 0x0000000000000330 - lv2-index_previous 0x0000000000000331 - lv2-sub_mode1 0x0000000000000336 - lv2-sub_mode2 0x0000000000000337 - lv2-connect 0x000000000000033B - lv2-disconnect 0x000000000000033C - phono-0 0x0000000000001540 - phono-1 0x0000000000001541 - phono-2 0x0000000000001542 - phono-3 0x0000000000001543 - phono-4 0x0000000000001544 - phono-5 0x0000000000001545 - phono-6 0x0000000000001546 - phono-7 0x0000000000001547 - phono-8 0x0000000000001548 - phono-9 0x0000000000001549 - phono-INVALID 0x000000000000154A - phono-INVALID 0x000000000000154B - phono-standby 0x000000000000154C - phono-mute/demute 0x000000000000154D - phono-P.P. 0x000000000000154E - phono-display 0x000000000000154F - phono-volume+ 0x0000000000001550 - phono-volume- 0x0000000000001551 - phono-brightness+ 0x0000000000001552 - phono-brightness- 0x0000000000001553 - phono-colour_saturation+ 0x0000000000001554 - phono-colour_saturation- 0x0000000000001555 - phono-bass+ 0x0000000000001556 - phono-bass- 0x0000000000001557 - phono-treble+ 0x0000000000001558 - phono-treble- 0x0000000000001559 - phono-balance_right 0x000000000000155A - phono-balance_left 0x000000000000155B - phono-repeat_once 0x000000000000155C - phono-repeat_continuously 0x000000000000155D - phono-select+ 0x000000000000155E - phono-select- 0x000000000000155F - phono-next 0x0000000000001560 - phono-previous 0x0000000000001561 - phono-index_next 0x0000000000001562 - phono-index_previous 0x0000000000001563 - phono-stereo/mono 0x0000000000001564 - phono-INVALID 0x0000000000001565 - phono-INVALID 0x0000000000001566 - phono-INVALID 0x0000000000001567 - phono-INVALID 0x0000000000001568 - phono-store_execute 0x0000000000001569 - phono-INVALID 0x000000000000156A - phono-scan_forward 0x000000000000156B - phono-INVALID 0x000000000000156C - phono-open/close 0x000000000000156D - phono-wave_scroll 0x000000000000156E - phono-INVALID 0x000000000000156F - phono-pause 0x0000000000001570 - phono-erase 0x0000000000001571 - phono-rewind 0x0000000000001572 - phono-go_to 0x0000000000001573 - phono-wind 0x0000000000001574 - phono-play 0x0000000000001575 - phono-stop 0x0000000000001576 - phono-recording 0x0000000000001577 - phono-external1 0x0000000000001578 - phono-external2 0x0000000000001579 - phono-clear_all_memory 0x000000000000157A - phono-INVALID 0x000000000000157B - phono-INVALID 0x000000000000157C - phono-system_standby 0x000000000000157D - phono-counter_memory 0x000000000000157E - phono-system_select 0x000000000000157F - phono-surround_sound 0x0000000000000540 - phono-balance_front 0x0000000000000541 - phono-balance_rear 0x0000000000000542 - phono-sound_effects1 0x0000000000000543 - phono-sound_effects2 0x0000000000000544 - phono-sound_effects3 0x0000000000000545 - phono-sound_effects4 0x0000000000000546 - phono-sound_effects5 0x0000000000000547 - phono-sound_or_menu_func.1 0x0000000000000548 - phono-sound_or_menu_func.2 0x0000000000000549 - phono-sound_or_menu_func.3 0x000000000000054A - phono-linear_function_up 0x000000000000054D - phono-linear_function_down 0x000000000000054E - phono-sound_or_menu_func. 0x000000000000054F - phono-cursor_step_up 0x0000000000000550 - phono-cursor_step_down 0x0000000000000551 - phono-menu_on 0x0000000000000552 - phono-menu_off 0x0000000000000553 - phono-display_A/V_status 0x0000000000000554 - phono-cursor_step_left 0x0000000000000555 - phono-cursor_step_right 0x0000000000000556 - phono-menu_function 0x0000000000000557 - phono-PIP_on/off 0x0000000000000558 - phono-PIP_shift 0x0000000000000559 - phono-PIP_main_swap 0x000000000000055A - phono-strobe_on/off 0x000000000000055B - phono-multi_strobe 0x000000000000055C - phono-main_freezed 0x000000000000055D - phono-3/9_multi_scan 0x000000000000055E - phono-PIP_mode_select 0x000000000000055F - phono-mosaic 0x0000000000000560 - phono-solarization 0x0000000000000561 - phono-main_stored 0x0000000000000562 - phono-PIP_strobe 0x0000000000000563 - phono-recall_main 0x0000000000000564 - phono-PIP_freeze 0x0000000000000565 - phono-PIP_step_up 0x0000000000000566 - phono-PIP_step_down 0x0000000000000567 - phono-INVALID 0x0000000000000568 - phono-INVALID 0x0000000000000569 - phono-INVALID 0x000000000000056A - phono-INVALID 0x000000000000056B - phono-INVALID 0x000000000000056C - phono-INVALID 0x000000000000056D - phono-INVALID 0x0000000000000572 - phono-INVALID 0x0000000000000573 - phono-INVALID 0x0000000000000574 - phono-INVALID 0x0000000000000575 - phono-sub_mode 0x0000000000000576 - phono-sub_mode 0x0000000000000577 - phono-connect 0x000000000000057B - phono-disconnect 0x000000000000057C - rec1-0 0x0000000000001480 - rec1-1 0x0000000000001481 - rec1-2 0x0000000000001482 - rec1-3 0x0000000000001483 - rec1-4 0x0000000000001484 - rec1-5 0x0000000000001485 - rec1-6 0x0000000000001486 - rec1-7 0x0000000000001487 - rec1-8 0x0000000000001488 - rec1-9 0x0000000000001489 - rec1-INVALID 0x000000000000148A - rec1-INVALID 0x000000000000148B - rec1-standby 0x000000000000148C - rec1-mute/demute 0x000000000000148D - rec1-P.P. 0x000000000000148E - rec1-display 0x000000000000148F - rec1-volume+ 0x0000000000001490 - rec1-volume- 0x0000000000001491 - rec1-brightness+ 0x0000000000001492 - rec1-brightness- 0x0000000000001493 - rec1-colour_saturation+ 0x0000000000001494 - rec1-colour_saturation- 0x0000000000001495 - rec1-bass+ 0x0000000000001496 - rec1-bass- 0x0000000000001497 - rec1-treble+ 0x0000000000001498 - rec1-treble- 0x0000000000001499 - rec1-balance_right 0x000000000000149A - rec1-balance_left 0x000000000000149B - rec1-repeat_once 0x000000000000149C - rec1-repeat_continuously 0x000000000000149D - rec1-select+ 0x000000000000149E - rec1-select- 0x000000000000149F - rec1-next 0x00000000000014A0 - rec1-previous 0x00000000000014A1 - rec1-INVALID 0x00000000000014A2 - rec1-last_record_cancel 0x00000000000014A3 - rec1-sequential 0x00000000000014A4 - rec1-blank_search 0x00000000000014A5 - rec1-INVALID 0x00000000000014A6 - rec1-INVALID 0x00000000000014A7 - rec1-recording_pause 0x00000000000014A8 - rec1-store_execute 0x00000000000014A9 - rec1-recording_blank 0x00000000000014AA - rec1-scan_forward 0x00000000000014AB - rec1-mechanism_A 0x00000000000014AC - rec1-eject 0x00000000000014AD - rec1-mechanism_B 0x00000000000014AE - rec1-play_reverse 0x00000000000014AF - rec1-pause 0x00000000000014B0 - rec1-erase 0x00000000000014B1 - rec1-rewind 0x00000000000014B2 - rec1-go_to 0x00000000000014B3 - rec1-wind 0x00000000000014B4 - rec1-play 0x00000000000014B5 - rec1-stop 0x00000000000014B6 - rec1-recording 0x00000000000014B7 - rec1-external1 0x00000000000014B8 - rec1-external2 0x00000000000014B9 - rec1-clear_all_memory 0x00000000000014BA - rec1-INVALID 0x00000000000014BB - rec1-INVALID 0x00000000000014BC - rec1-system_standby 0x00000000000014BD - rec1-INVALID 0x00000000000014BE - rec1-system_select 0x00000000000014BF - rec1-surround_sound 0x0000000000000480 - rec1-balance_front 0x0000000000000481 - rec1-balance_rear 0x0000000000000482 - rec1-sound_effects1 0x0000000000000483 - rec1-sound_effects2 0x0000000000000484 - rec1-sound_effects3 0x0000000000000485 - rec1-sound_effects4 0x0000000000000486 - rec1-sound_effects5 0x0000000000000487 - rec1-sound_or_menu_func.1 0x0000000000000488 - rec1-sound_or_menu_func.2 0x0000000000000489 - rec1-sound_or_menu_func.3 0x000000000000048A - rec1-linear_function_up 0x000000000000048D - rec1-linear_function_down 0x000000000000048E - rec1-sound_or_menu_func. 0x000000000000048F - rec1-cursor_step_up 0x0000000000000490 - rec1-cursor_step_down 0x0000000000000491 - rec1-menu_on 0x0000000000000492 - rec1-menu_off 0x0000000000000493 - rec1-display_A/V_status 0x0000000000000494 - rec1-cursor_step_left 0x0000000000000495 - rec1-cursor_step_right 0x0000000000000496 - rec1-menu_function 0x0000000000000497 - rec1-PIP_on/off 0x0000000000000498 - rec1-PIP_shift 0x0000000000000499 - rec1-PIP_main_swap 0x000000000000049A - rec1-strobe_on/off 0x000000000000049B - rec1-multi_strobe 0x000000000000049C - rec1-main_freezed 0x000000000000049D - rec1-3/9_multi_scan 0x000000000000049E - rec1-PIP_mode_select 0x000000000000049F - rec1-mosaic 0x00000000000004A0 - rec1-solarization 0x00000000000004A1 - rec1-main_stored 0x00000000000004A2 - rec1-PIP_strobe 0x00000000000004A3 - rec1-recall_main 0x00000000000004A4 - rec1-PIP_freeze 0x00000000000004A5 - rec1-PIP_step_up 0x00000000000004A6 - rec1-PIP_step_down 0x00000000000004A7 - rec1-automatic_start_ID 0x00000000000004A8 - rec1-write_skip_ID 0x00000000000004A9 - rec1-skip_on/off 0x00000000000004AA - rec1-write_end_ID 0x00000000000004AB - rec1-write_FTS 0x00000000000004AC - rec1-write_TOC 0x00000000000004AD - rec1-write_start_ID 0x00000000000004B2 - rec1-Ca/Er/SK_ID 0x00000000000004B3 - rec1-reformat 0x00000000000004B4 - rec1-blank_search 0x00000000000004B5 - rec1-sub_mode 0x00000000000004B6 - rec1-sub_mode 0x00000000000004B7 - rec1-connect 0x00000000000004BB - rec1-disconnect 0x00000000000004BC - rec2-0 0x00000000000015C0 - rec2-1 0x00000000000015C1 - rec2-2 0x00000000000015C2 - rec2-3 0x00000000000015C3 - rec2-4 0x00000000000015C4 - rec2-5 0x00000000000015C5 - rec2-6 0x00000000000015C6 - rec2-7 0x00000000000015C7 - rec2-8 0x00000000000015C8 - rec2-9 0x00000000000015C9 - rec2-INVALID 0x00000000000015CA - rec2-INVALID 0x00000000000015CB - rec2-standby 0x00000000000015CC - rec2-mute/demute 0x00000000000015CD - rec2-P.P. 0x00000000000015CE - rec2-display 0x00000000000015CF - rec2-volume+ 0x00000000000015D0 - rec2-volume- 0x00000000000015D1 - rec2-brightness+ 0x00000000000015D2 - rec2-brightness- 0x00000000000015D3 - rec2-colour_saturation+ 0x00000000000015D4 - rec2-colour_saturation- 0x00000000000015D5 - rec2-bass+ 0x00000000000015D6 - rec2-bass- 0x00000000000015D7 - rec2-treble+ 0x00000000000015D8 - rec2-treble- 0x00000000000015D9 - rec2-balance_right 0x00000000000015DA - rec2-balance_left 0x00000000000015DB - rec2-repeat_once 0x00000000000015DC - rec2-repeat_continuously 0x00000000000015DD - rec2-select+ 0x00000000000015DE - rec2-select- 0x00000000000015DF - rec2-next 0x00000000000015E0 - rec2-previous 0x00000000000015E1 - rec2-INVALID 0x00000000000015E2 - rec2-last_record_cancel 0x00000000000015E3 - rec2-sequential 0x00000000000015E4 - rec2-blank_search 0x00000000000015E5 - rec2-INVALID 0x00000000000015E6 - rec2-INVALID 0x00000000000015E7 - rec2-recording_pause 0x00000000000015E8 - rec2-store_execute 0x00000000000015E9 - rec2-recording_blank 0x00000000000015EA - rec2-scan_forward 0x00000000000015EB - rec2-mechanism_A 0x00000000000015EC - rec2-eject 0x00000000000015ED - rec2-mechanism_B 0x00000000000015EE - rec2-play_reverse 0x00000000000015EF - rec2-pause 0x00000000000015F0 - rec2-erase 0x00000000000015F1 - rec2-rewind 0x00000000000015F2 - rec2-go_to 0x00000000000015F3 - rec2-wind 0x00000000000015F4 - rec2-play 0x00000000000015F5 - rec2-stop 0x00000000000015F6 - rec2-recording 0x00000000000015F7 - rec2-external1 0x00000000000015F8 - rec2-external2 0x00000000000015F9 - rec2-clear_all_memory 0x00000000000015FA - rec2-INVALID 0x00000000000015FB - rec2-INVALID 0x00000000000015FC - rec2-system_standby 0x00000000000015FD - rec2-INVALID 0x00000000000015FE - rec2-system_select 0x00000000000015FF - rec2-surround_sound 0x00000000000005C0 - rec2-balance_front 0x00000000000005C1 - rec2-balance_rear 0x00000000000005C2 - rec2-sound_effects1 0x00000000000005C3 - rec2-sound_effects2 0x00000000000005C4 - rec2-sound_effects3 0x00000000000005C5 - rec2-sound_effects4 0x00000000000005C6 - rec2-sound_effects5 0x00000000000005C7 - rec2-sound_or_menu_func.1 0x00000000000005C8 - rec2-sound_or_menu_func.2 0x00000000000005C9 - rec2-sound_or_menu_func.3 0x00000000000005CA - rec2-linear_function_up 0x00000000000005CD - rec2-linear_function_down 0x00000000000005CE - rec2-sound_or_menu_func. 0x00000000000005CF - rec2-cursor_step_up 0x00000000000005D0 - rec2-cursor_step_down 0x00000000000005D1 - rec2-menu_on 0x00000000000005D2 - rec2-menu_off 0x00000000000005D3 - rec2-display_A/V_status 0x00000000000005D4 - rec2-cursor_step_left 0x00000000000005D5 - rec2-cursor_step_right 0x00000000000005D6 - rec2-menu_function 0x00000000000005D7 - rec2-PIP_on/off 0x00000000000005D8 - rec2-PIP_shift 0x00000000000005D9 - rec2-PIP_main_swap 0x00000000000005DA - rec2-strobe_on/off 0x00000000000005DB - rec2-multi_strobe 0x00000000000005DC - rec2-main_freezed 0x00000000000005DD - rec2-3/9_multi_scan 0x00000000000005DE - rec2-PIP_mode_select 0x00000000000005DF - rec2-mosaic 0x00000000000005E0 - rec2-solarization 0x00000000000005E1 - rec2-main_stored 0x00000000000005E2 - rec2-PIP_strobe 0x00000000000005E3 - rec2-recall_main 0x00000000000005E4 - rec2-PIP_freeze 0x00000000000005E5 - rec2-PIP_step_up 0x00000000000005E6 - rec2-PIP_step_down 0x00000000000005E7 - rec2-automatic_start_ID 0x00000000000005E8 - rec2-write_skip_ID 0x00000000000005E9 - rec2-skip_on/off 0x00000000000005EA - rec2-write_end_ID 0x00000000000005EB - rec2-write_FTS 0x00000000000005EC - rec2-write_TOC 0x00000000000005ED - rec2-write_start_ID 0x00000000000005F2 - rec2-Ca/Er/SK_ID 0x00000000000005F3 - rec2-reformat 0x00000000000005F4 - rec2-blank_search 0x00000000000005F5 - rec2-sub_mode 0x00000000000005F6 - rec2-sub_mode 0x00000000000005F7 - rec2-connect 0x00000000000005FB - rec2-disconnect 0x00000000000005FC - sat-0 0x0000000000001200 - sat-1 0x0000000000001201 - sat-2 0x0000000000001202 - sat-3 0x0000000000001203 - sat-4 0x0000000000001204 - sat-5 0x0000000000001205 - sat-6 0x0000000000001206 - sat-7 0x0000000000001207 - sat-8 0x0000000000001208 - sat-9 0x0000000000001209 - sat-1/2_digits 0x000000000000120A - sat-channel/program_mode 0x000000000000120B - sat-standby 0x000000000000120C - sat-mute/demute 0x000000000000120D - sat-P.P. 0x000000000000120E - sat-display 0x000000000000120F - sat-volume+ 0x0000000000001210 - sat-volume- 0x0000000000001211 - sat-brightness+ 0x0000000000001212 - sat-brightness- 0x0000000000001213 - sat-colour_saturation+ 0x0000000000001214 - sat-colour_saturation- 0x0000000000001215 - sat-bass+ 0x0000000000001216 - sat-bass- 0x0000000000001217 - sat-treble+ 0x0000000000001218 - sat-treble- 0x0000000000001219 - sat-balance_right 0x000000000000121A - sat-balance_left 0x000000000000121B - sat-INVALID 0x000000000000121C - sat-INVALID 0x000000000000121D - sat-INVALID 0x000000000000121E - sat-INVALID 0x000000000000121F - sat-channel/program+ 0x0000000000001220 - sat-channel/program- 0x0000000000001221 - sat-INVALID 0x0000000000001222 - sat-language_select/mode1 0x0000000000001223 - sat-special_stereo_on/off 0x0000000000001224 - sat-audio_mixed_/_mode2 0x0000000000001225 - sat-INVALID 0x0000000000001226 - sat-INVALID 0x0000000000001227 - sat-INVALID 0x0000000000001228 - sat-INVALID 0x0000000000001229 - sat-INVALID 0x000000000000122A - sat-INVALID 0x000000000000122B - sat-INVALID 0x000000000000122C - sat-INVALID 0x000000000000122D - sat-subtitle 0x000000000000122E - sat-INVALID 0x000000000000122F - sat-pause 0x0000000000001230 - sat-erase 0x0000000000001231 - sat-rewind 0x0000000000001232 - sat-go_to 0x0000000000001233 - sat-wind 0x0000000000001234 - sat-play 0x0000000000001235 - sat-stop 0x0000000000001236 - sat-recording 0x0000000000001237 - sat-external1 0x0000000000001238 - sat-external2 0x0000000000001239 - sat-INVALID 0x000000000000123A - sat-INVALID 0x000000000000123B - sat-TXT_submode 0x000000000000123C - sat-system_standby 0x000000000000123D - sat-INVALID 0x000000000000123E - sat-system_select 0x000000000000123F - sat-surround_sound 0x0000000000000200 - sat-balance_front 0x0000000000000201 - sat-balance_rear 0x0000000000000202 - sat-sound_effects1 0x0000000000000203 - sat-sound_effects2 0x0000000000000204 - sat-sound_effects3 0x0000000000000205 - sat-sound_effects4 0x0000000000000206 - sat-sound_effects5 0x0000000000000207 - sat-sound_or_menu_func.1 0x0000000000000208 - sat-sound_or_menu_func.2 0x0000000000000209 - sat-sound_or_menu_func.3 0x000000000000020A - sat-INVALID 0x000000000000020B - sat-INVALID 0x000000000000020C - sat-linear_function_up 0x000000000000020D - sat-linear_function_down 0x000000000000020E - sat-sound_or_menu_func. 0x000000000000020F - sat-cursor_step_up 0x0000000000000210 - sat-cursor_step_down 0x0000000000000211 - sat-menu_on 0x0000000000000212 - sat-menu_off 0x0000000000000213 - sat-display_A/V_status 0x0000000000000214 - sat-cursor_step_left 0x0000000000000215 - sat-cursor_step_right 0x0000000000000216 - sat-menu_function 0x0000000000000217 - sat-PIP_on/off 0x0000000000000218 - sat-PIP_shift 0x0000000000000219 - sat-PIP_main_swap 0x000000000000021A - sat-strobe_on/off 0x000000000000021B - sat-multi_strobe 0x000000000000021C - sat-main_freezed 0x000000000000021D - sat-3/9_multi_scan 0x000000000000021E - sat-PIP_mode_select 0x000000000000021F - sat-mosaic 0x0000000000000220 - sat-solarization 0x0000000000000221 - sat-main_stored 0x0000000000000222 - sat-PIP_strobe 0x0000000000000223 - sat-recall_main 0x0000000000000224 - sat-PIP_freeze 0x0000000000000225 - sat-PIP_step_up 0x0000000000000226 - sat-PIP_step_down 0x0000000000000227 - sat-INVALID 0x0000000000000228 - sat-INVALID 0x0000000000000229 - sat-INVALID 0x000000000000022A - sat-INVALID 0x000000000000022B - sat-INVALID 0x000000000000022C - sat-INVALID 0x000000000000022D - sat-INVALID 0x0000000000000230 - sat-INVALID 0x0000000000000231 - sat-INVALID 0x0000000000000232 - sat-INVALID 0x0000000000000233 - sat-INVALID 0x0000000000000234 - sat-INVALID 0x0000000000000235 - sat-sub_mode 0x0000000000000236 - sat-sub_mode 0x0000000000000237 - sat-INVALID 0x0000000000000238 - sat-INVALID 0x0000000000000239 - sat-INVALID 0x000000000000023A - sat-connect 0x000000000000023B - sat-INVALID 0x000000000000023C - text-0 0x0000000000001080 - text-1 0x0000000000001081 - text-2 0x0000000000001082 - text-3 0x0000000000001083 - text-4 0x0000000000001084 - text-5 0x0000000000001085 - text-6 0x0000000000001086 - text-7 0x0000000000001087 - text-8 0x0000000000001088 - text-9 0x0000000000001089 - text-step_page+ 0x000000000000108A - text-step_page- 0x000000000000108B - text-standby 0x000000000000108C - text-mute/demute 0x000000000000108D - text-P.P. 0x000000000000108E - text-display 0x000000000000108F - text-volume+ 0x0000000000001090 - text-volume- 0x0000000000001091 - text-brightness+ 0x0000000000001092 - text-brightness- 0x0000000000001093 - text-colour_saturation+ 0x0000000000001094 - text-colour_saturation- 0x0000000000001095 - text-bass+ 0x0000000000001096 - text-bass- 0x0000000000001097 - text-treble+ 0x0000000000001098 - text-treble- 0x0000000000001099 - text-balance_right 0x000000000000109A - text-balance_left 0x000000000000109B - text-enter/validation_(Frnc) 0x000000000000109C - text-memory_out 0x000000000000109D - text-sequence_out 0x000000000000109E - text-INVALID 0x000000000000109F - text-exchange 0x00000000000010A0 - text-index/summary_(France) 0x00000000000010A1 - text-row_zero_(France) 0x00000000000010A2 - text-1st/2nd_language 0x00000000000010A3 - text-spacial_stereo_on/off 0x00000000000010A4 - text-INVALID 0x00000000000010A5 - text-hardcopy_printer 0x00000000000010A6 - text-antiope_TV_mixed_(Frnc) 0x00000000000010A7 - text-PIP_select 0x00000000000010A8 - text-page_hold_on/off 0x00000000000010A9 - text-clck_timed_page_(F:magazine) 0x00000000000010AA - text-large_top/lrge_bot/norm 0x00000000000010AB - text-reveal/conceal/canc_pic 0x00000000000010AC - text-cancel_teletext_picture 0x00000000000010AD - text-TV/Text_mixed/Subtitle 0x00000000000010AE - text-PIP_shift 0x00000000000010AF - text-pause 0x00000000000010B0 - text-erase 0x00000000000010B1 - text-rewind 0x00000000000010B2 - text-go_to 0x00000000000010B3 - text-wind 0x00000000000010B4 - text-play 0x00000000000010B5 - text-stop 0x00000000000010B6 - text-recording 0x00000000000010B7 - text-external1 0x00000000000010B8 - text-external2 0x00000000000010B9 - text-PIP_display_mode 0x00000000000010BA - text-INVALID 0x00000000000010BB - text-INVALID 0x00000000000010BC - text-system_standby 0x00000000000010BD - text-news_flash_(France) 0x00000000000010BE - text-system_select 0x00000000000010BF - text-surround_sound 0x0000000000000080 - text-balance_front 0x0000000000000081 - text-balance_rear 0x0000000000000082 - text-sound_effects1 0x0000000000000083 - text-sound_effects2 0x0000000000000084 - text-sound_effects3 0x0000000000000085 - text-sound_effects4 0x0000000000000086 - text-sound_effects5 0x0000000000000087 - text-sound_or_menu_func.1 0x0000000000000088 - text-sound_or_menu_func.2 0x0000000000000089 - text-sound_or_menu_func.3 0x000000000000008A - text-linear_function_up 0x000000000000008D - text-linear_function_down 0x000000000000008E - text-sound_or_menu_func. 0x000000000000008F - text-cursor_step_up 0x0000000000000090 - text-cursor_step_down 0x0000000000000091 - text-menu_on 0x0000000000000092 - text-menu_off 0x0000000000000093 - text-display_A/V_status 0x0000000000000094 - text-cursor_step_left 0x0000000000000095 - text-cursor_step_right 0x0000000000000096 - text-menu_function 0x0000000000000097 - text-PIP_on/off 0x0000000000000098 - text-PIP_shift 0x0000000000000099 - text-PIP_main_swap 0x000000000000009A - text-strobe_on/off 0x000000000000009B - text-multi_strobe 0x000000000000009C - text-main_freezed 0x000000000000009D - text-3/9_multi_scan 0x000000000000009E - text-PIP_mode_select 0x000000000000009F - text-mosaic 0x00000000000000A0 - text-solarization 0x00000000000000A1 - text-main_stored 0x00000000000000A2 - text-PIP_strobe 0x00000000000000A3 - text-recall_main 0x00000000000000A4 - text-PIP_freeze 0x00000000000000A5 - text-PIP_step_up 0x00000000000000A6 - text-PIP_step_down 0x00000000000000A7 - text-red 0x00000000000000AB - text-green 0x00000000000000AC - text-yellow 0x00000000000000AD - text-cyan 0x00000000000000AE - text-INVALID 0x00000000000000AF - text-sub_mode 0x00000000000000B6 - text-sub_mode 0x00000000000000B7 - text-cleaning_up 0x00000000000000BA - text-connect 0x00000000000000BB - text-disconnect 0x00000000000000BC - text-cleaning_up1 0x00000000000000BD - text-cleaning_up2 0x00000000000000BE - text-cleaning_up3 0x00000000000000BF - tuner-0 0x0000000000001440 - tuner-1 0x0000000000001441 - tuner-2 0x0000000000001442 - tuner-3 0x0000000000001443 - tuner-4 0x0000000000001444 - tuner-5 0x0000000000001445 - tuner-6 0x0000000000001446 - tuner-7 0x0000000000001447 - tuner-8 0x0000000000001448 - tuner-9 0x0000000000001449 - tuner-1/2_digits 0x000000000000144A - tuner-INVALID 0x000000000000144B - tuner-standby 0x000000000000144C - tuner-mute/demute 0x000000000000144D - tuner-P.P. 0x000000000000144E - tuner-display 0x000000000000144F - tuner-volume+ 0x0000000000001450 - tuner-volume- 0x0000000000001451 - tuner-brightness+ 0x0000000000001452 - tuner-brightness- 0x0000000000001453 - tuner-colour_saturation+ 0x0000000000001454 - tuner-colour_saturation- 0x0000000000001455 - tuner-bass+ 0x0000000000001456 - tuner-bass- 0x0000000000001457 - tuner-treble+ 0x0000000000001458 - tuner-treble- 0x0000000000001459 - tuner-balance_right 0x000000000000145A - tuner-balance_left 0x000000000000145B - tuner-INVALID 0x000000000000145C - tuner-INVALID 0x000000000000145D - tuner-search+ 0x000000000000145E - tuner-search- 0x000000000000145F - tuner-preset+ 0x0000000000001460 - tuner-preset- 0x0000000000001461 - tuner-INVALID 0x0000000000001462 - tuner-INVALID 0x0000000000001463 - tuner-INVALID 0x0000000000001464 - tuner-mono/stereo 0x0000000000001465 - tuner-INVALID 0x0000000000001466 - tuner-INVALID 0x0000000000001467 - tuner-RF_switch 0x0000000000001468 - tuner-store_execute 0x0000000000001469 - tuner-INVALID 0x000000000000146A - tuner-scan_forward 0x000000000000146B - tuner-INVALID 0x000000000000146C - tuner-FM 0x000000000000146D - tuner-MW_(USA:_MW/FM) 0x000000000000146E - tuner-LW 0x000000000000146F - tuner-pause 0x0000000000001470 - tuner-erase 0x0000000000001471 - tuner-rewind 0x0000000000001472 - tuner-go_to 0x0000000000001473 - tuner-wind 0x0000000000001474 - tuner-play 0x0000000000001475 - tuner-stop 0x0000000000001476 - tuner-recording 0x0000000000001477 - tuner-external1 0x0000000000001478 - tuner-external2 0x0000000000001479 - tuner-clear_all_memory 0x000000000000147A - tuner-INVALID 0x000000000000147B - tuner-INVALID 0x000000000000147C - tuner-system_standby 0x000000000000147D - tuner-INVALID 0x000000000000147E - tuner-system_select 0x000000000000147F - tuner-surround_sound 0x0000000000000440 - tuner-balance_front 0x0000000000000441 - tuner-balance_rear 0x0000000000000442 - tuner-sound_effects1 0x0000000000000443 - tuner-sound_effects2 0x0000000000000444 - tuner-sound_effects3 0x0000000000000445 - tuner-sound_effects4 0x0000000000000446 - tuner-sound_effects5 0x0000000000000447 - tuner-sound_or_menu_func.1 0x0000000000000448 - tuner-sound_or_menu_func.2 0x0000000000000449 - tuner-sound_or_menu_func.3 0x000000000000044A - tuner-linear_function_up 0x000000000000044D - tuner-linear_function_down 0x000000000000044E - tuner-sound_or_menu_func. 0x000000000000044F - tuner-cursor_step_up 0x0000000000000450 - tuner-cursor_step_down 0x0000000000000451 - tuner-menu_on 0x0000000000000452 - tuner-menu_off 0x0000000000000453 - tuner-display_A/V_status 0x0000000000000454 - tuner-cursor_step_left 0x0000000000000455 - tuner-cursor_step_right 0x0000000000000456 - tuner-menu_function 0x0000000000000457 - tuner-PIP_on/off 0x0000000000000458 - tuner-PIP_shift 0x0000000000000459 - tuner-PIP_main_swap 0x000000000000045A - tuner-strobe_on/off 0x000000000000045B - tuner-multi_strobe 0x000000000000045C - tuner-main_freezed 0x000000000000045D - tuner-3/9_multi_scan 0x000000000000045E - tuner-PIP_mode_select 0x000000000000045F - tuner-mosaic 0x0000000000000460 - tuner-solarization 0x0000000000000461 - tuner-main_stored 0x0000000000000462 - tuner-PIP_strobe 0x0000000000000463 - tuner-recall_main 0x0000000000000464 - tuner-PIP_freeze 0x0000000000000465 - tuner-PIP_step_up 0x0000000000000466 - tuner-PIP_step_down 0x0000000000000467 - tuner-INVALID 0x000000000000046C - tuner-INVALID 0x0000000000000470 - tuner-INVALID 0x0000000000000471 - tuner-INVALID 0x0000000000000476 - tuner-INVALID 0x0000000000000477 - tuner-connect 0x000000000000047B - tuner-disconnect 0x000000000000047C - tv1-0 0x0000000000001000 - tv1-1 0x0000000000001001 - tv1-2 0x0000000000001002 - tv1-3 0x0000000000001003 - tv1-4 0x0000000000001004 - tv1-5 0x0000000000001005 - tv1-6 0x0000000000001006 - tv1-7 0x0000000000001007 - tv1-8 0x0000000000001008 - tv1-9 0x0000000000001009 - tv1-1/2/3_digs_(japan:10) 0x000000000000100A - tv1-channel/program(jap:11) 0x000000000000100B - tv1-standby 0x000000000000100C - tv1-mute/demute 0x000000000000100D - tv1-P.P._(personal_pref.) 0x000000000000100E - tv1-display 0x000000000000100F - tv1-volume+ 0x0000000000001010 - tv1-volume- 0x0000000000001011 - tv1-brightness+ 0x0000000000001012 - tv1-brightness- 0x0000000000001013 - tv1-colour_saturation+ 0x0000000000001014 - tv1-colour_saturation- 0x0000000000001015 - tv1-bass+ 0x0000000000001016 - tv1-bass- 0x0000000000001017 - tv1-treble+ 0x0000000000001018 - tv1-treble- 0x0000000000001019 - tv1-balance_right 0x000000000000101A - tv1-balance_left 0x000000000000101B - tv1-contrast+ 0x000000000000101C - tv1-contrast- 0x000000000000101D - tv1-search+ 0x000000000000101E - tv1-tint/hue+ 0x000000000000101F - tv1-channel/program+ 0x0000000000001020 - tv1-channel/program- 0x0000000000001021 - tv1-alt/channel 0x0000000000001022 - tv1-1st/2nd_language 0x0000000000001023 - tv1-spacial_stereo_on/off 0x0000000000001024 - tv1-mono/stereo_(USA) 0x0000000000001025 - tv1-sleeptimer 0x0000000000001026 - tv1-tint/hue- 0x0000000000001027 - tv1-RF_switch/PIP_select 0x0000000000001028 - tv1-vote 0x0000000000001029 - tv1-timed_page/channel 0x000000000000102A - tv1-increment_(USA) 0x000000000000102B - tv1-decrement_(USA) 0x000000000000102C - tv1-INVALID 0x000000000000102D - tv1-2nd_controls_(USA:menu) 0x000000000000102E - tv1-PIP_shift 0x000000000000102F - tv1-pause 0x0000000000001030 - tv1-erase 0x0000000000001031 - tv1-rewind 0x0000000000001032 - tv1-go_to 0x0000000000001033 - tv1-wind 0x0000000000001034 - tv1-play 0x0000000000001035 - tv1-stop 0x0000000000001036 - tv1-recording 0x0000000000001037 - tv1-external1 0x0000000000001038 - tv1-external2 0x0000000000001039 - tv1-PIP_display_mode 0x000000000000103A - tv1-view_data_mode/advance 0x000000000000103B - tv1-teletext_submode_(J:12) 0x000000000000103C - tv1-system_standby 0x000000000000103D - tv1-crispener_on/off 0x000000000000103E - tv1-system_select 0x000000000000103F - tv1-surround_sound 0x0000000000000000 - tv1-balance_front 0x0000000000000001 - tv1-balance_rear 0x0000000000000002 - tv1-sound_effects1 0x0000000000000003 - tv1-sound_effects2 0x0000000000000004 - tv1-sound_effects3 0x0000000000000005 - tv1-sound_effects4 0x0000000000000006 - tv1-sound_effects5 0x0000000000000007 - tv1-sound_or_menu_func.1 0x0000000000000008 - tv1-sound_or_menu_func.2 0x0000000000000009 - tv1-sound_or_menu_func.3 0x000000000000000A - tv1-linear_function_up 0x000000000000000D - tv1-linear_function_down 0x000000000000000E - tv1-sound_or_menu_func. 0x000000000000000F - tv1-cursor_step_up 0x0000000000000010 - tv1-cursor_step_down 0x0000000000000011 - tv1-menu_on 0x0000000000000012 - tv1-menu_off 0x0000000000000013 - tv1-display_A/V_status 0x0000000000000014 - tv1-cursor_step_left 0x0000000000000015 - tv1-cursor_step_right 0x0000000000000016 - tv1-menu_function 0x0000000000000017 - tv1-PIP_on/off 0x0000000000000018 - tv1-PIP_shift 0x0000000000000019 - tv1-PIP_main_swap 0x000000000000001A - tv1-strobe_on/off 0x000000000000001B - tv1-multi_strobe 0x000000000000001C - tv1-main_freezed 0x000000000000001D - tv1-3/9_multi_scan 0x000000000000001E - tv1-PIP_mode_select 0x000000000000001F - tv1-mosaic 0x0000000000000020 - tv1-solarization 0x0000000000000021 - tv1-main_stored 0x0000000000000022 - tv1-PIP_strobe 0x0000000000000023 - tv1-recall_main 0x0000000000000024 - tv1-PIP_freeze 0x0000000000000025 - tv1-PIP_step_up 0x0000000000000026 - tv1-PIP_step_down 0x0000000000000027 - tv1-INVALID 0x000000000000002B - tv1-INVALID 0x000000000000002C - tv1-INVALID 0x000000000000002D - tv1-INVALID 0x000000000000002E - tv1-index 0x000000000000002F - tv1-sub_mode 0x0000000000000036 - tv1-sub_mode 0x0000000000000037 - tv1-cleaning_up 0x000000000000003A - tv1-connect 0x000000000000003B - tv1-disconnect 0x000000000000003C - tv1-cleaning_up1 0x000000000000003D - tv1-cleaning_up2 0x000000000000003E - tv1-cleaning_up3 0x000000000000003F - tv2-0 0x0000000000001040 - tv2-1 0x0000000000001041 - tv2-2 0x0000000000001042 - tv2-3 0x0000000000001043 - tv2-4 0x0000000000001044 - tv2-5 0x0000000000001045 - tv2-6 0x0000000000001046 - tv2-7 0x0000000000001047 - tv2-8 0x0000000000001048 - tv2-9 0x0000000000001049 - tv2-1/2/3_digs_(japan:10) 0x000000000000104A - tv2-channel/program(jap:11) 0x000000000000104B - tv2-standby 0x000000000000104C - tv2-mute/demute 0x000000000000104D - tv2-P.P._(personal_pref.) 0x000000000000104E - tv2-display 0x000000000000104F - tv2-volume+ 0x0000000000001050 - tv2-volume- 0x0000000000001051 - tv2-brightness+ 0x0000000000001052 - tv2-brightness- 0x0000000000001053 - tv2-colour_saturation+ 0x0000000000001054 - tv2-colour_saturation- 0x0000000000001055 - tv2-bass+ 0x0000000000001056 - tv2-bass- 0x0000000000001057 - tv2-treble+ 0x0000000000001058 - tv2-treble- 0x0000000000001059 - tv2-balance_right 0x000000000000105A - tv2-balance_left 0x000000000000105B - tv2-contrast+ 0x000000000000105C - tv2-contrast- 0x000000000000105D - tv2-search+ 0x000000000000105E - tv2-tint/hue+ 0x000000000000105F - tv2-channel/program+ 0x0000000000001060 - tv2-channel/program- 0x0000000000001061 - tv2-alt/channel 0x0000000000001062 - tv2-1st/2nd_language 0x0000000000001063 - tv2-spacial_stereo_on/off 0x0000000000001064 - tv2-mono/stereo_(USA) 0x0000000000001065 - tv2-sleeptimer 0x0000000000001066 - tv2-tint/hue- 0x0000000000001067 - tv2-RF_switch/PIP_select 0x0000000000001068 - tv2-vote 0x0000000000001069 - tv2-timed_page/channel 0x000000000000106A - tv2-increment_(USA) 0x000000000000106B - tv2-decrement_(USA) 0x000000000000106C - tv2-INVALID 0x000000000000106D - tv2-2nd_controls_(USA:menu) 0x000000000000106E - tv2-PIP_shift 0x000000000000106F - tv2-pause 0x0000000000001070 - tv2-erase 0x0000000000001071 - tv2-rewind 0x0000000000001072 - tv2-go_to 0x0000000000001073 - tv2-wind 0x0000000000001074 - tv2-play 0x0000000000001075 - tv2-stop 0x0000000000001076 - tv2-recording 0x0000000000001077 - tv2-external1 0x0000000000001078 - tv2-external2 0x0000000000001079 - tv2-PIP_display_mode 0x000000000000107A - tv2-view_data_mode/advance 0x000000000000107B - tv2-teletext_submode_(J:12) 0x000000000000107C - tv2-system_standby 0x000000000000107D - tv2-crispener_on/off 0x000000000000107E - tv2-system_select 0x000000000000107F - tv2-surround_sound 0x0000000000000040 - tv2-balance_front 0x0000000000000041 - tv2-balance_rear 0x0000000000000042 - tv2-sound_effects1 0x0000000000000043 - tv2-sound_effects2 0x0000000000000044 - tv2-sound_effects3 0x0000000000000045 - tv2-sound_effects4 0x0000000000000046 - tv2-sound_effects5 0x0000000000000047 - tv2-sound_or_menu_func.1 0x0000000000000048 - tv2-sound_or_menu_func.2 0x0000000000000049 - tv2-sound_or_menu_func.3 0x000000000000004A - tv2-linear_function_up 0x000000000000004D - tv2-linear_function_down 0x000000000000004E - tv2-sound_or_menu_func. 0x000000000000004F - tv2-cursor_step_up 0x0000000000000050 - tv2-cursor_step_down 0x0000000000000051 - tv2-menu_on 0x0000000000000052 - tv2-menu_off 0x0000000000000053 - tv2-display_A/V_status 0x0000000000000054 - tv2-cursor_step_left 0x0000000000000055 - tv2-cursor_step_right 0x0000000000000056 - tv2-menu_function 0x0000000000000057 - tv2-PIP_on/off 0x0000000000000058 - tv2-PIP_shift 0x0000000000000059 - tv2-PIP_main_swap 0x000000000000005A - tv2-strobe_on/off 0x000000000000005B - tv2-multi_strobe 0x000000000000005C - tv2-main_freezed 0x000000000000005D - tv2-3/9_multi_scan 0x000000000000005E - tv2-PIP_mode_select 0x000000000000005F - tv2-mosaic 0x0000000000000060 - tv2-solarization 0x0000000000000061 - tv2-main_stored 0x0000000000000062 - tv2-PIP_strobe 0x0000000000000063 - tv2-recall_main 0x0000000000000064 - tv2-PIP_freeze 0x0000000000000065 - tv2-PIP_step_up 0x0000000000000066 - tv2-PIP_step_down 0x0000000000000067 - tv2-INVALID 0x000000000000006B - tv2-INVALID 0x000000000000006C - tv2-INVALID 0x000000000000006D - tv2-INVALID 0x000000000000006E - tv2-index 0x000000000000006F - tv2-sub_mode 0x0000000000000076 - tv2-sub_mode 0x0000000000000077 - tv2-cleaning_up 0x000000000000007A - tv2-connect 0x000000000000007B - tv2-disconnect 0x000000000000007C - tv2-cleaning_up1 0x000000000000007D - tv2-cleaning_up2 0x000000000000007E - tv2-cleaning_up3 0x000000000000007F - vcr1-0 0x0000000000001140 - vcr1-1 0x0000000000001141 - vcr1-2 0x0000000000001142 - vcr1-3 0x0000000000001143 - vcr1-4 0x0000000000001144 - vcr1-5 0x0000000000001145 - vcr1-6 0x0000000000001146 - vcr1-7 0x0000000000001147 - vcr1-8 0x0000000000001148 - vcr1-9 0x0000000000001149 - vcr1-1/2_digits/AM/PM 0x000000000000114A - vcr1-channel/program_mode 0x000000000000114B - vcr1-standby 0x000000000000114C - vcr1-mute/demute 0x000000000000114D - vcr1-P.P. 0x000000000000114E - vcr1-display 0x000000000000114F - vcr1-volume+ 0x0000000000001150 - vcr1-volume- 0x0000000000001151 - vcr1-brightness+ 0x0000000000001152 - vcr1-brightness- 0x0000000000001153 - vcr1-colour_saturation+ 0x0000000000001154 - vcr1-colour_saturation- 0x0000000000001155 - vcr1-bass+ 0x0000000000001156 - vcr1-bass- 0x0000000000001157 - vcr1-treble+ 0x0000000000001158 - vcr1-treble- 0x0000000000001159 - vcr1-balance_right 0x000000000000115A - vcr1-balance_left 0x000000000000115B - vcr1-ITR_(OTR)_delay 0x000000000000115C - vcr1-timer_programming 0x000000000000115D - vcr1-record_select 0x000000000000115E - vcr1-fast_run_reverse 0x000000000000115F - vcr1-step+ 0x0000000000001160 - vcr1-step- 0x0000000000001161 - vcr1-slow_run_reverse 0x0000000000001162 - vcr1-audio_output_select 0x0000000000001163 - vcr1-clock/channel 0x0000000000001164 - vcr1-speed- 0x0000000000001165 - vcr1-speed+ 0x0000000000001166 - vcr1-Instant_Time_Recording 0x0000000000001167 - vcr1-slow_run_forward 0x0000000000001168 - vcr1-still_forward 0x0000000000001169 - vcr1-fast_run_forward 0x000000000000116A - vcr1-index_scan 0x000000000000116B - vcr1-scan_reverse 0x000000000000116C - vcr1-eject 0x000000000000116D - vcr1-scan_forward 0x000000000000116E - vcr1-play_reverse 0x000000000000116F - vcr1-pause 0x0000000000001170 - vcr1-erase 0x0000000000001171 - vcr1-rewind 0x0000000000001172 - vcr1-go_to 0x0000000000001173 - vcr1-wind 0x0000000000001174 - vcr1-play 0x0000000000001175 - vcr1-stop 0x0000000000001176 - vcr1-recording 0x0000000000001177 - vcr1-external1 0x0000000000001178 - vcr1-external2 0x0000000000001179 - vcr1-short/long_play 0x000000000000117A - vcr1-counter_memory 0x000000000000117B - vcr1-scroll_local_display 0x000000000000117C - vcr1-system_standby 0x000000000000117D - vcr1-RF_switch 0x000000000000117E - vcr1-system_select 0x000000000000117F - vcr1-surround_sound 0x0000000000000140 - vcr1-balance_front 0x0000000000000141 - vcr1-balance_rear 0x0000000000000142 - vcr1-sound_effects1 0x0000000000000143 - vcr1-sound_effects2 0x0000000000000144 - vcr1-sound_effects3 0x0000000000000145 - vcr1-sound_effects4 0x0000000000000146 - vcr1-sound_effects5 0x0000000000000147 - vcr1-sound_or_menu_func.1 0x0000000000000148 - vcr1-sound_or_menu_func.2 0x0000000000000149 - vcr1-sound_or_menu_func.3 0x000000000000014A - vcr1-data_stream_start 0x000000000000014B - vcr1-data_stream_end 0x000000000000014C - vcr1-linear_function_up 0x000000000000014D - vcr1-linear_function_down 0x000000000000014E - vcr1-catalogue 0x000000000000014F - vcr1-cursor_step_up 0x0000000000000150 - vcr1-cursor_step_down 0x0000000000000151 - vcr1-menu_on 0x0000000000000152 - vcr1-menu_off 0x0000000000000153 - vcr1-display_A/V_status 0x0000000000000154 - vcr1-cursor_step_left 0x0000000000000155 - vcr1-cursor_step_right 0x0000000000000156 - vcr1-acknowledge 0x0000000000000157 - vcr1-PIP_on/off 0x0000000000000158 - vcr1-PIP_shift 0x0000000000000159 - vcr1-PIP_main_swap 0x000000000000015A - vcr1-strobe_on/off 0x000000000000015B - vcr1-multi_strobe 0x000000000000015C - vcr1-main_freezed 0x000000000000015D - vcr1-3/9_multi_scan 0x000000000000015E - vcr1-PIP_mode_select 0x000000000000015F - vcr1-mosaic 0x0000000000000160 - vcr1-solarization 0x0000000000000161 - vcr1-main_stored 0x0000000000000162 - vcr1-PIP_strobe 0x0000000000000163 - vcr1-recall_main 0x0000000000000164 - vcr1-PIP_freeze 0x0000000000000165 - vcr1-PIP_step_up 0x0000000000000166 - vcr1-PIP_step_down 0x0000000000000167 - vcr1-automatic_start_ID 0x0000000000000168 - vcr1-write_skip_ID 0x0000000000000169 - vcr1-skip_on/off 0x000000000000016A - vcr1-write_end_ID 0x000000000000016B - vcr1-write_FTS 0x000000000000016C - vcr1-write_TOC 0x000000000000016D - vcr1-viss_index_next 0x0000000000000170 - vcr1-viss_index_previous 0x0000000000000171 - vcr1-mark 0x0000000000000172 - vcr1-erase 0x0000000000000173 - vcr1-renumber 0x0000000000000174 - vcr1-blank_search 0x0000000000000175 - vcr1-sub_mode 0x0000000000000176 - vcr1-sub_mode 0x0000000000000177 - vcr1-auto_repeat 0x0000000000000178 - vcr1-insert_temp 0x0000000000000179 - vcr1-scr_loc_disp 0x000000000000017A - vcr1-connect 0x000000000000017B - vcr1-INVALID 0x000000000000017C - vcr2-0 0x0000000000001180 - vcr2-1 0x0000000000001181 - vcr2-2 0x0000000000001182 - vcr2-3 0x0000000000001183 - vcr2-4 0x0000000000001184 - vcr2-5 0x0000000000001185 - vcr2-6 0x0000000000001186 - vcr2-7 0x0000000000001187 - vcr2-8 0x0000000000001188 - vcr2-9 0x0000000000001189 - vcr2-1/2_digits/AM/PM 0x000000000000118A - vcr2-channel/program_mode 0x000000000000118B - vcr2-standby 0x000000000000118C - vcr2-mute/demute 0x000000000000118D - vcr2-P.P. 0x000000000000118E - vcr2-display 0x000000000000118F - vcr2-volume+ 0x0000000000001190 - vcr2-volume- 0x0000000000001191 - vcr2-brightness+ 0x0000000000001192 - vcr2-brightness- 0x0000000000001193 - vcr2-colour_saturation+ 0x0000000000001194 - vcr2-colour_saturation- 0x0000000000001195 - vcr2-bass+ 0x0000000000001196 - vcr2-bass- 0x0000000000001197 - vcr2-treble+ 0x0000000000001198 - vcr2-treble- 0x0000000000001199 - vcr2-balance_right 0x000000000000119A - vcr2-balance_left 0x000000000000119B - vcr2-ITR_(OTR)_delay 0x000000000000119C - vcr2-timer_programming 0x000000000000119D - vcr2-record_select 0x000000000000119E - vcr2-fast_run_reverse 0x000000000000119F - vcr2-step+ 0x00000000000011A0 - vcr2-step- 0x00000000000011A1 - vcr2-slow_run_reverse 0x00000000000011A2 - vcr2-audio_output_select 0x00000000000011A3 - vcr2-clock/channel 0x00000000000011A4 - vcr2-speed- 0x00000000000011A5 - vcr2-speed+ 0x00000000000011A6 - vcr2-Instant_Time_Recording 0x00000000000011A7 - vcr2-slow_run_forward 0x00000000000011A8 - vcr2-still_forward 0x00000000000011A9 - vcr2-fast_run_forward 0x00000000000011AA - vcr2-index_scan 0x00000000000011AB - vcr2-scan_reverse 0x00000000000011AC - vcr2-eject 0x00000000000011AD - vcr2-scan_forward 0x00000000000011AE - vcr2-play_reverse 0x00000000000011AF - vcr2-pause 0x00000000000011B0 - vcr2-erase 0x00000000000011B1 - vcr2-rewind 0x00000000000011B2 - vcr2-go_to 0x00000000000011B3 - vcr2-wind 0x00000000000011B4 - vcr2-play 0x00000000000011B5 - vcr2-stop 0x00000000000011B6 - vcr2-recording 0x00000000000011B7 - vcr2-external1 0x00000000000011B8 - vcr2-external2 0x00000000000011B9 - vcr2-short/long_play 0x00000000000011BA - vcr2-counter_memory 0x00000000000011BB - vcr2-scroll_local_display 0x00000000000011BC - vcr2-system_standby 0x00000000000011BD - vcr2-RF_switch 0x00000000000011BE - vcr2-system_select 0x00000000000011BF - vcr2-surround_sound 0x0000000000000180 - vcr2-balance_front 0x0000000000000181 - vcr2-balance_rear 0x0000000000000182 - vcr2-sound_effects1 0x0000000000000183 - vcr2-sound_effects2 0x0000000000000184 - vcr2-sound_effects3 0x0000000000000185 - vcr2-sound_effects4 0x0000000000000186 - vcr2-sound_effects5 0x0000000000000187 - vcr2-sound_or_menu_func.1 0x0000000000000188 - vcr2-sound_or_menu_func.2 0x0000000000000189 - vcr2-sound_or_menu_func.3 0x000000000000018A - vcr2-data_stream_start 0x000000000000018B - vcr2-data_stream_end 0x000000000000018C - vcr2-linear_function_up 0x000000000000018D - vcr2-linear_function_down 0x000000000000018E - vcr2-catalogue 0x000000000000018F - vcr2-cursor_step_up 0x0000000000000190 - vcr2-cursor_step_down 0x0000000000000191 - vcr2-menu_on 0x0000000000000192 - vcr2-menu_off 0x0000000000000193 - vcr2-display_A/V_status 0x0000000000000194 - vcr2-cursor_step_left 0x0000000000000195 - vcr2-cursor_step_right 0x0000000000000196 - vcr2-acknowledge 0x0000000000000197 - vcr2-PIP_on/off 0x0000000000000198 - vcr2-PIP_shift 0x0000000000000199 - vcr2-PIP_main_swap 0x000000000000019A - vcr2-strobe_on/off 0x000000000000019B - vcr2-multi_strobe 0x000000000000019C - vcr2-main_freezed 0x000000000000019D - vcr2-3/9_multi_scan 0x000000000000019E - vcr2-PIP_mode_select 0x000000000000019F - vcr2-mosaic 0x00000000000001A0 - vcr2-solarization 0x00000000000001A1 - vcr2-main_stored 0x00000000000001A2 - vcr2-PIP_strobe 0x00000000000001A3 - vcr2-recall_main 0x00000000000001A4 - vcr2-PIP_freeze 0x00000000000001A5 - vcr2-PIP_step_up 0x00000000000001A6 - vcr2-PIP_step_down 0x00000000000001A7 - vcr2-automatic_start_ID 0x00000000000001A8 - vcr2-write_skip_ID 0x00000000000001A9 - vcr2-skip_on/off 0x00000000000001AA - vcr2-write_end_ID 0x00000000000001AB - vcr2-write_FTS 0x00000000000001AC - vcr2-write_TOC 0x00000000000001AD - vcr2-viss_index_next 0x00000000000001B0 - vcr2-viss_index_previous 0x00000000000001B1 - vcr2-mark 0x00000000000001B2 - vcr2-erase 0x00000000000001B3 - vcr2-renumber 0x00000000000001B4 - vcr2-blank_search 0x00000000000001B5 - vcr2-sub_mode 0x00000000000001B6 - vcr2-sub_mode 0x00000000000001B7 - vcr2-auto_repeat 0x00000000000001B8 - vcr2-insert_temp 0x00000000000001B9 - vcr2-scr_loc_disp 0x00000000000001BA - vcr2-connect 0x00000000000001BB - vcr2-INVALID 0x00000000000001BC - vd-0 0x00000000000010C0 - vd-1 0x00000000000010C1 - vd-2 0x00000000000010C2 - vd-3 0x00000000000010C3 - vd-4 0x00000000000010C4 - vd-5 0x00000000000010C5 - vd-6 0x00000000000010C6 - vd-7 0x00000000000010C7 - vd-8 0x00000000000010C8 - vd-9 0x00000000000010C9 - vd-=/=_=/= 0x00000000000010CA - vd-* 0x00000000000010CB - vd-standby 0x00000000000010CC - vd-mute/demute 0x00000000000010CD - vd-P.P. 0x00000000000010CE - vd-display 0x00000000000010CF - vd-volume+ 0x00000000000010D0 - vd-volume- 0x00000000000010D1 - vd-brightness+ 0x00000000000010D2 - vd-brightness- 0x00000000000010D3 - vd-colour_saturation+ 0x00000000000010D4 - vd-colour_saturation- 0x00000000000010D5 - vd-bass+ 0x00000000000010D6 - vd-bass- 0x00000000000010D7 - vd-treble+ 0x00000000000010D8 - vd-treble- 0x00000000000010D9 - vd-balance_right 0x00000000000010DA - vd-balance_left 0x00000000000010DB - vd-INVALID 0x00000000000010DC - vd-INVALID 0x00000000000010DD - vd-attribute_on/off 0x00000000000010DE - vd-INVALID 0x00000000000010DF - vd-INVALID 0x00000000000010E0 - vd-index 0x00000000000010E1 - vd-INVALID 0x00000000000010E2 - vd-1st/2nd_language 0x00000000000010E3 - vd-spacial_stereo_on/off 0x00000000000010E4 - vd-INVALID 0x00000000000010E5 - vd-hardcopy_printer 0x00000000000010E6 - vd-INVALID 0x00000000000010E7 - vd-terminal_initiation 0x00000000000010E8 - vd-INVALID 0x00000000000010E9 - vd-INVALID 0x00000000000010EA - vd-large_top/lrge_bot/norm 0x00000000000010EB - vd-INVALID 0x00000000000010EC - vd-INVALID 0x00000000000010ED - vd-TV/Text_mixed 0x00000000000010EE - vd-view_data_line_off 0x00000000000010EF - vd-pause 0x00000000000010F0 - vd-erase 0x00000000000010F1 - vd-rewind 0x00000000000010F2 - vd-go_to 0x00000000000010F3 - vd-wind 0x00000000000010F4 - vd-play 0x00000000000010F5 - vd-stop 0x00000000000010F6 - vd-recording 0x00000000000010F7 - vd-external1 0x00000000000010F8 - vd-external2 0x00000000000010F9 - vd-INVALID 0x00000000000010FA - vd-view_data_line_on 0x00000000000010FB - vd-INVALID 0x00000000000010FC - vd-system_standby 0x00000000000010FD - vd-INVALID 0x00000000000010FE - vd-system_select 0x00000000000010FF - vd-surround_sound 0x00000000000000C0 - vd-balance_front 0x00000000000000C1 - vd-balance_rear 0x00000000000000C2 - vd-sound_effects1 0x00000000000000C3 - vd-sound_effects2 0x00000000000000C4 - vd-sound_effects3 0x00000000000000C5 - vd-sound_effects4 0x00000000000000C6 - vd-sound_effects5 0x00000000000000C7 - vd-sound_or_menu_func.1 0x00000000000000C8 - vd-sound_or_menu_func.2 0x00000000000000C9 - vd-sound_or_menu_func.3 0x00000000000000CA - vd-linear_function_up 0x00000000000000CD - vd-linear_function_down 0x00000000000000CE - vd-sound_or_menu_func. 0x00000000000000CF - vd-cursor_step_up 0x00000000000000D0 - vd-cursor_step_down 0x00000000000000D1 - vd-menu_on 0x00000000000000D2 - vd-menu_off 0x00000000000000D3 - vd-display_A/V_status 0x00000000000000D4 - vd-cursor_step_left 0x00000000000000D5 - vd-cursor_step_right 0x00000000000000D6 - vd-menu_function 0x00000000000000D7 - vd-PIP_on/off 0x00000000000000D8 - vd-PIP_shift 0x00000000000000D9 - vd-PIP_main_swap 0x00000000000000DA - vd-strobe_on/off 0x00000000000000DB - vd-multi_strobe 0x00000000000000DC - vd-main_freezed 0x00000000000000DD - vd-3/9_multi_scan 0x00000000000000DE - vd-PIP_mode_select 0x00000000000000DF - vd-mosaic 0x00000000000000E0 - vd-solarization 0x00000000000000E1 - vd-main_stored 0x00000000000000E2 - vd-PIP_strobe 0x00000000000000E3 - vd-recall_main 0x00000000000000E4 - vd-PIP_freeze 0x00000000000000E5 - vd-PIP_step_up 0x00000000000000E6 - vd-PIP_step_down 0x00000000000000E7 - vd-INVALID 0x00000000000000EB - vd-INVALID 0x00000000000000EC - vd-INVALID 0x00000000000000ED - vd-INVALID 0x00000000000000EE - vd-INVALID 0x00000000000000EF - vd-sub_mode 0x00000000000000F6 - vd-sub_mode 0x00000000000000F7 - vd-cleaning_up 0x00000000000000FA - vd-connect 0x00000000000000FB - vd-disconnect 0x00000000000000FC - vd-cleaning_up1 0x00000000000000FD - vd-cleaning_up2 0x00000000000000FE - vd-cleaning_up3 0x00000000000000FF - end codes - -end remote - diff --git a/meta-extras/packages/lirc/files/lircd.init b/meta-extras/packages/lirc/files/lircd.init deleted file mode 100755 index 11ce62447fa..00000000000 --- a/meta-extras/packages/lirc/files/lircd.init +++ /dev/null @@ -1,39 +0,0 @@ -#! /bin/sh -# -# This is an init script for Familiar -# Copy it to /etc/init.d/lircd and type -# > update-rc.d lircd defaults 20 -# - - -test -f /usr/sbin/lircd || exit 0 -test -f /etc/lircd.conf || exit 0 - -case "$1" in - start) - echo -n "Starting lirc daemon: lircd" - start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc - echo "." - ;; - stop) - echo -n "Stopping lirc daemon: lircd" - start-stop-daemon --stop --quiet --exec /usr/sbin/lircd - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircd - ;; - restart) - echo -n "Stopping lirc daemon: lircd" - start-stop-daemon --stop --quiet --exec /usr/sbin/lircd - sleep 1 - echo -n "Starting lirc daemon: lircd" - start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc - echo "." - ;; - *) - echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-extras/packages/lirc/files/lircexec.init b/meta-extras/packages/lirc/files/lircexec.init deleted file mode 100755 index 3a8c1a306ed..00000000000 --- a/meta-extras/packages/lirc/files/lircexec.init +++ /dev/null @@ -1,37 +0,0 @@ -#! /bin/sh -# -# This is an init script for Familiar -# Copy it to /etc/init.d/lircexecd and type -# > update-rc.d lircexecd defaults 20 -# It must be started after lircd (and it does alphabetically :-) -# irexec reads /etc/lircrc by default - - -test -f /usr/bin/irexec || exit 0 -test -f /etc/lircrc || exit 0 - -case "$1" in - start) - echo -n "Starting lircexec daemon: irexec" - start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon - echo "." - ;; - stop) - echo -n "Stopping lircexec daemon: irexec" - start-stop-daemon --stop --quiet --exec /usr/bin/irexec - echo "." - ;; - restart|force-restart) - echo -n "Stopping lircexec daemon: irexec" - start-stop-daemon --stop --quiet --exec /usr/bin/irexec - sleep 1 - echo -n "Starting lircexec daemon: irexec" - start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon - echo "." - ;; - *) - echo "Usage: /etc/init.d/lircexec {start|stop|reload|restart|force-restart}" - exit 1 -esac - -exit 0 diff --git a/meta-extras/packages/lirc/files/lircmd.init b/meta-extras/packages/lirc/files/lircmd.init deleted file mode 100755 index 1a96207dbb7..00000000000 --- a/meta-extras/packages/lirc/files/lircmd.init +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/sh -# -# This is an init script for Familiar -# Copy it to /etc/init.d/lirc and type -# > update-rc.d lirc defaults 20 -# - - -test -f /usr/sbin/lircmd || exit 0 - -case "$1" in - start) - echo -n "Starting lirc daemon: lircmd" - start-stop-daemon --start --quiet --exec /usr/sbin/lircmd - echo "." - ;; - stop) - echo -n "Stopping lirc daemon: lircmd" - start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircmd - ;; - restart) - echo -n "Stopping lirc daemon: lircmd" - start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd - sleep 1 - echo -n "Starting lirc daemon: lircmd" - start-stop-daemon --start --quiet --exec /usr/sbin/lircmd - echo "." - ;; - *) - echo "Usage: /etc/init.d/lircmd {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-extras/packages/lirc/files/lircrc_nslu2 b/meta-extras/packages/lirc/files/lircrc_nslu2 deleted file mode 100644 index 0669d90b094..00000000000 --- a/meta-extras/packages/lirc/files/lircrc_nslu2 +++ /dev/null @@ -1,113 +0,0 @@ -# This is the default files read by all lirc clients -# (see also /etc/lircd.conf) - -# I run /sbin/buzzer before every command to get an audible feedback - -## Here LIRC could shutdown your system -#begin -# prog = irexec -# remote = RC5 -# repeat = 0 -# button = vcr2-standby -# config = /sbin/buzzer; /sbin/halt -#end - - -## Here LIRC controls your mpd music deamon -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-pause - config = /sbin/buzzer; mpc toggle -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-step+ - config = /sbin/buzzer; mpc next -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-step- - config = /sbin/buzzer; mpc prev -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-scan_forward - config = /sbin/buzzer; mpc seek +00:00:30 -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-scan_reverse - config = /sbin/buzzer; mpc seek -00:00:30 -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-brightness+ - config = /sbin/buzzer; mpc volume +20 -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-brightness- - config = /sbin/buzzer; mpc volume -20 -end - - -## Here LIRC acts as an repeater -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-volume+ - config = /sbin/buzzer; irsend SEND_ONCE RC5 amp1-volume+ -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-volume- - config = /sbin/buzzer; irsend SEND_ONCE RC5 amp1-volume- -end - - -## Here LIRC is the input device for your LC display software -begin - prog = lcdd - remote = RC5 - repeat = 0 - button = vcr2-1 - config = A -end -begin - prog = lcdd - remote = RC5 - repeat = 0 - button = vcr2-2 - config = B -end -begin - prog = lcdd - remote = RC5 - repeat = 0 - button = vcr2-3 - config = C -end -begin - prog = lcdd - remote = RC5 - repeat = 0 - button = vcr2-4 - config = D -end diff --git a/meta-extras/packages/lirc/files/split-hauppauge.patch b/meta-extras/packages/lirc/files/split-hauppauge.patch deleted file mode 100644 index 170a233ffb1..00000000000 --- a/meta-extras/packages/lirc/files/split-hauppauge.patch +++ /dev/null @@ -1,141 +0,0 @@ ---- lirc/remotes/hauppauge/lircd.conf.hauppauge~ 2003-05-03 15:42:30.000000000 +0100 -+++ lirc/remotes/hauppauge/lircd.conf.hauppauge 2004-10-10 20:14:14.000000000 +0100 -@@ -51,71 +51,3 @@ - end codes - - end remote -- -- --# --# this config file was automatically generated --# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003 --# --# contributed by --# --# brand: Hauppauge --# model no. of remote control: --# devices being controlled by this remote: PVR 2/350 --# -- --begin remote -- -- name hauppauge_pvr -- bits 13 -- flags RC5|CONST_LENGTH -- eps 30 -- aeps 100 -- -- one 969 811 -- zero 969 811 -- plead 1097 -- gap 114605 -- toggle_bit 2 -- -- -- begin codes -- Power 0x00000000000017FD -- Go 0x00000000000017FB -- 1 0x00000000000017C1 -- 2 0x00000000000017C2 -- 3 0x00000000000017C3 -- 4 0x00000000000017C4 -- 5 0x00000000000017C5 -- 6 0x00000000000017C6 -- 7 0x00000000000017C7 -- 8 0x00000000000017C8 -- 9 0x00000000000017C9 -- Back/Exit 0x00000000000017DF -- 0 0x00000000000017C0 -- Menu 0x00000000000017CD -- Red 0x00000000000017CB -- Green 0x00000000000017EE -- Yellow 0x00000000000017F8 -- Blue 0x00000000000017E9 -- Ch+ 0x00000000000017E0 -- Ch- 0x00000000000017E1 -- Vol- 0x00000000000017D1 -- Vol+ 0x00000000000017D0 -- Ok 0x00000000000017E5 -- Mute 0x00000000000017CF -- Blank 0x00000000000017CC -- Full 0x00000000000017FC -- Rewind 0x00000000000017F2 -- Play 0x00000000000017F5 -- Forward 0x00000000000017F4 -- Record 0x00000000000017F7 -- Stop 0x00000000000017F6 -- Pause 0x00000000000017F0 -- Replay 0x00000000000017E4 -- Skip 0x00000000000017DE -- end codes -- --end remote -- -- ---- /dev/null 2004-06-13 02:32:19.000000000 +0100 -+++ lirc/remotes/hauppauge/lircd.conf.hauppauge-pvr 2004-10-10 20:14:05.000000000 +0100 -@@ -0,0 +1,64 @@ -+# -+# this config file was automatically generated -+# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003 -+# -+# contributed by -+# -+# brand: Hauppauge -+# model no. of remote control: -+# devices being controlled by this remote: PVR 2/350 -+# -+ -+begin remote -+ -+ name hauppauge_pvr -+ bits 13 -+ flags RC5|CONST_LENGTH -+ eps 30 -+ aeps 100 -+ -+ one 969 811 -+ zero 969 811 -+ plead 1097 -+ gap 114605 -+ toggle_bit 2 -+ -+ -+ begin codes -+ Power 0x00000000000017FD -+ Go 0x00000000000017FB -+ 1 0x00000000000017C1 -+ 2 0x00000000000017C2 -+ 3 0x00000000000017C3 -+ 4 0x00000000000017C4 -+ 5 0x00000000000017C5 -+ 6 0x00000000000017C6 -+ 7 0x00000000000017C7 -+ 8 0x00000000000017C8 -+ 9 0x00000000000017C9 -+ Back/Exit 0x00000000000017DF -+ 0 0x00000000000017C0 -+ Menu 0x00000000000017CD -+ Red 0x00000000000017CB -+ Green 0x00000000000017EE -+ Yellow 0x00000000000017F8 -+ Blue 0x00000000000017E9 -+ Ch+ 0x00000000000017E0 -+ Ch- 0x00000000000017E1 -+ Vol- 0x00000000000017D1 -+ Vol+ 0x00000000000017D0 -+ Ok 0x00000000000017E5 -+ Mute 0x00000000000017CF -+ Blank 0x00000000000017CC -+ Full 0x00000000000017FC -+ Rewind 0x00000000000017F2 -+ Play 0x00000000000017F5 -+ Forward 0x00000000000017F4 -+ Record 0x00000000000017F7 -+ Stop 0x00000000000017F6 -+ Pause 0x00000000000017F0 -+ Replay 0x00000000000017E4 -+ Skip 0x00000000000017DE -+ end codes -+ -+end remote diff --git a/meta-extras/packages/lirc/lirc-config.inc b/meta-extras/packages/lirc/lirc-config.inc deleted file mode 100644 index 03bfc61e39d..00000000000 --- a/meta-extras/packages/lirc/lirc-config.inc +++ /dev/null @@ -1,13 +0,0 @@ -EXTRA_OECONF = "--with-kerneldir=${STAGING_KERNEL_DIR} --with-driver=${DRIVER}" - -DRIVER ?= "serial" -# fails to build at the moment, re-enable later -#DRIVER_collie = "sa1100" -DRIVER_h3600 = "sa1100" -DRIVER_simpad = "sa1100" -DRIVER_nslu2 = "nslu2" -# XXX Why is X disabled on all these platforms anyway? -EXTRA_OECONF_append_collie = " --without-x" -EXTRA_OECONF_append_h3600 = " --without-x" -EXTRA_OECONF_append_simpad = " --without-x" -EXTRA_OECONF_append_nslu2 = " --without-x --with-transmitter --with-soft-carrier" diff --git a/meta-extras/packages/lirc/lirc-modules_0.8.3.bb b/meta-extras/packages/lirc/lirc-modules_0.8.3.bb deleted file mode 100644 index ee1de7194ed..00000000000 --- a/meta-extras/packages/lirc/lirc-modules_0.8.3.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls." -SECTION = "base" -PRIORITY = "optional" -LICENSE = "GPL" -DEPENDS = "virtual/kernel virtual/fakeroot-native" -PR = "r2" - -SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \ - file://lirc_sir-sa1100.patch;patch=1" -S = "${WORKDIR}/lirc-${PV}" - -inherit autotools module-base - -include lirc-config.inc - -do_compile() { - # ${KERNEL_LD} doesn't understand the LDFLAGS, so suppress them - cd drivers && oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" LDFLAGS="" -} - -fakeroot do_install() { - oe_runmake -C drivers DESTDIR="${D}" moduledir="/lib/modules/${KERNEL_VERSION}/lirc" install - rm -rf ${D}/dev -} - -pkg_postinst() { -#!/bin/sh -set -e -if [ ! -c $D/dev/lirc ]; then mknod $D/dev/lirc c 61 0; fi -exit 0 -} - -FILES_${PN} = "/lib/modules" diff --git a/meta-extras/packages/lirc/lirc_0.8.3.bb b/meta-extras/packages/lirc/lirc_0.8.3.bb deleted file mode 100644 index 9e4cacc3e4c..00000000000 --- a/meta-extras/packages/lirc/lirc_0.8.3.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls." -SECTION = "console/network" -PRIORITY = "optional" -LICENSE = "GPL" -DEPENDS = "virtual/kernel virtual/libx11 libxau libsm libice" -PR = "r5" - -SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \ - file://lircd.init file://lircmd.init" -S = "${WORKDIR}/lirc-${PV}" - -inherit autotools module-base update-rc.d - -INITSCRIPT_NAME = "lircd" -INITSCRIPT_PARAMS = "defaults 20" - -include lirc-config.inc - -EXTRA_OEMAKE = 'SUBDIRS="daemons tools"' - -do_install_append() { - install -d ${D}${sysconfdir}/init.d - install ${WORKDIR}/lircd.init ${D}${sysconfdir}/init.d/lircd - - install -d ${D}${datadir}/lirc/ - cp -pPR ${S}/remotes ${D}${datadir}/lirc/ -} - -PACKAGES =+ "lirc-x" - -FILES_lirc-x = "${bindir}/irxevent ${bindir}/xmode2" diff --git a/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch b/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch deleted file mode 100644 index 77511d68f6b..00000000000 --- a/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: trunk/tools/llvm-config/Makefile -=================================================================== ---- trunk.orig/tools/llvm-config/Makefile 2008-02-11 15:14:22.000000000 +0000 -+++ trunk/tools/llvm-config/Makefile 2008-04-11 16:58:06.000000000 +0100 -@@ -27,7 +27,7 @@ - # This is blank for now. We need to be careful about adding stuff here: - # LDFLAGS tend not to be portable, and we don't currently require the - # user to use libtool when linking against LLVM. --SUB_LDFLAGS = -+SUB_LDFLAGS = ${LD.Flags} - - FinalLibDeps = $(PROJ_OBJ_DIR)/FinalLibDeps.txt - LibDeps = $(PROJ_OBJ_DIR)/LibDeps.txt -@@ -57,10 +57,11 @@ - # Build our final script. - $(ToolDir)/llvm-config: llvm-config.in $(FinalLibDeps) - $(Echo) "Building llvm-config script." -+ $(Echo) 's,@LLVM_LDFLAGS@,$(SUB_LDFLAGS),' - $(Verb) $(ECHO) 's,@LLVM_CPPFLAGS@,$(SUB_CPPFLAGS),' > temp.sed - $(Verb) $(ECHO) 's,@LLVM_CFLAGS@,$(SUB_CFLAGS),' >> temp.sed - $(Verb) $(ECHO) 's,@LLVM_CXXFLAGS@,$(SUB_CXXFLAGS),' >> temp.sed -- $(Verb) $(ECHO) 's,@LLVM_LDFLAGS@,$(SUB_LDFLAGS),' >> temp.sed -+ $(Verb) $(ECHO) 's#@LLVM_LDFLAGS@#$(SUB_LDFLAGS)#' >> temp.sed - $(Verb) $(ECHO) 's,@LLVM_BUILDMODE@,$(BuildMode),' >> temp.sed - $(Verb) $(SED) -f temp.sed < $< > $@ - $(Verb) $(RM) temp.sed diff --git a/meta-extras/packages/llvm/llvm-native_svn.bb b/meta-extras/packages/llvm/llvm-native_svn.bb deleted file mode 100644 index 56cc0d97b7f..00000000000 --- a/meta-extras/packages/llvm/llvm-native_svn.bb +++ /dev/null @@ -1,13 +0,0 @@ -DEPENDS = "flex-native" -SRC_URI = "svn://llvm.org/svn/llvm-project/llvm;proto=http;module=trunk \ - file://fix_ldflags_export.patch;patch=1" - -PV = "0.0+${SRCREV}" -PR = "r1" - -S = "${WORKDIR}/trunk" - -inherit autotools native - -EXTRA_OECONF = "--enable-optimized" -EXTRA_OEMAKE = "ENABLE_OPTIMIZED=1" \ No newline at end of file diff --git a/meta-extras/packages/madplay/madplay_0.15.2b.bb b/meta-extras/packages/madplay/madplay_0.15.2b.bb deleted file mode 100644 index d942b965e2c..00000000000 --- a/meta-extras/packages/madplay/madplay_0.15.2b.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Madplay is a command-line MPEG audio decoder and player" -SECTION = "console/multimedia" -DEPENDS = "libmad" -LICENSE = "GPL" -AUTHOR = "Robert Leslie " -HOMEPAGE = "http://www.mars.org/home/rob/proj/mpeg/" - -SRC_URI = "ftp://ftp.mars.org/pub/mpeg/${PN}-${PV}.tar.gz" - -inherit autotools - -FILES_${PN} = "${bindir}/madplay" diff --git a/meta-extras/packages/maemo-mapper/files/fix_segfault.patch b/meta-extras/packages/maemo-mapper/files/fix_segfault.patch deleted file mode 100644 index 23730e8c01b..00000000000 --- a/meta-extras/packages/maemo-mapper/files/fix_segfault.patch +++ /dev/null @@ -1,31 +0,0 @@ - src/maemo-mapper.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -Index: trunk/src/maemo-mapper.c -=================================================================== ---- trunk.orig/src/maemo-mapper.c 2006-11-28 15:11:49.000000000 +0000 -+++ trunk/src/maemo-mapper.c 2006-11-28 22:40:19.000000000 +0000 -@@ -140,8 +140,8 @@ - #define HILDON_HARDKEY_RIGHT GDK_Right - #define HILDON_HARDKEY_SELECT GDK_Return - #define HILDON_HARDKEY_FULLSCREEN GDK_F10 --#define HILDON_HARDKEY_INCREASE GDK_F6 --#define HILDON_HARDKEY_DECREASE GDK_F5 -+#define HILDON_HARDKEY_INCREASE GDK_plus -+#define HILDON_HARDKEY_DECREASE GDK_minus - #define HILDON_HARDKEY_ESC GDK_Escape - #define HILDON_COLOR_BUTTON GTK_COLOR_BUTTON - -@@ -3117,9 +3117,9 @@ set_conn_state(ConnState new_conn_state) - gtk_widget_destroy(_fix_banner); - _fix_banner = NULL; - } -- if(!_connect_banner) -- _connect_banner = hildon_banner_show_animation( -- _window, NULL, _("Searching for GPS receiver")); -+// if(!_connect_banner) -+// _connect_banner = hildon_banner_show_animation( -+// _window, NULL, _("Searching for GPS receiver")); - break; - case RCVR_UP: - if(_connect_banner) diff --git a/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb b/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb deleted file mode 100644 index ceda4ff8118..00000000000 --- a/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "GPS navigation/map display software" -LICENSE = "GPL" -DEPENDS = "sqlite3 gtk+ gnome-vfs dbus bluez-libs" -RDEPENDS = "bluez-utils" -PV = "1.2.4+svn${SRCDATE}" -PR = "r1" - -# Only works with SRCDATE_maemo-mapper-nohildon = "20061114" -SRC_URI = "svn://garage.maemo.org/svn/maemo-mapper;proto=https;module=trunk \ - http://home.tal.org/%7Emilang/n770/maemo-mapper-desktop-20061114-001.patch;patch=1;pnum=0 \ - file://fix_segfault.patch;patch=1" - -S = "${WORKDIR}/trunk" - -inherit autotools pkgconfig - -do_install_append () { - install -d ${D}${datadir}/applications/ - mv ${D}/maemo-mapper.desktop ${D}${datadir}/applications/ -} - -#FILES_${PN} += "${datadir}/icons" diff --git a/meta-extras/packages/maemo/nokia770-init/fixup-770.sh b/meta-extras/packages/maemo/nokia770-init/fixup-770.sh deleted file mode 100644 index 0f1734d2ab9..00000000000 --- a/meta-extras/packages/maemo/nokia770-init/fixup-770.sh +++ /dev/null @@ -1,26 +0,0 @@ -#! /bin/sh -case "$1" in - start) - echo -n "Unmounting virtual fs from initrd" - umount /mnt/initfs/sys - umount /mnt/initfs/proc - ln -s /dev/vc/0 /dev/tty0 - ln -s /dev/vc/1 /dev/tty1 - ln -s /dev/vc/2 /dev/tty2 - ln -s /dev/vc/3 /dev/tty3 - ln -s /dev/vc/4 /dev/tty4 - ln -s /dev/vc/5 /dev/tty5 - ln -s /dev/vc/6 /dev/tty6 - ln -s /dev/vc/7 /dev/tty7 - /sbin/ifconfig wlan0 up - ;; - stop) - ;; - *) - echo "Usage: $SCRIPTNAME {start|stop}" >&2 - exit 1 - ;; -esac - -exit 0 - \ No newline at end of file diff --git a/meta-extras/packages/maemo/nokia770-init_1.0.bb b/meta-extras/packages/maemo/nokia770-init_1.0.bb deleted file mode 100644 index 9075c016a66..00000000000 --- a/meta-extras/packages/maemo/nokia770-init_1.0.bb +++ /dev/null @@ -1,38 +0,0 @@ -LICENSE = "GPL" -PR = "r7" - -DEPENDS = "base-passwd" - -SRC_URI = "file://fixup-770.sh" - -COMPATIBLE_MACHINE = "(nokia770|nokia800)" - -inherit update-rc.d - -INITSCRIPT_NAME = "fixup-770.sh" -INITSCRIPT_PARAMS = "defaults 01" - -FILES_${PN} = "${sysconfdir} ${libdir}" - -do_install () { - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/fixup-770.sh ${D}/${sysconfdir}/init.d/fixup-770.sh - - install -d ${D}/lib/firmware -} - -pkg_postinst () { -#!/bin/sh - -# set up some links to firmware and modules in initrd - mkdir -p $D/lib/firmware - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/3825.arm $D/lib/firmware/3825.arm - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/3826.arm $D/lib/firmware/3826.arm - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/bc4fw.bin $D/lib/firmware/bc4fw.bin - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/brf6150fw.bin $D/lib/firmware/brf6150fw.bin - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/mtlm3825.arm $D/lib/firmware/mtlm3825.arm - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/mtlm3826.arm $D/lib/firmware/mtlm3826.arm - -# rm -rf $D/lib/modules -# ln -s /mnt/initfs/lib/modules $D/lib/modules -} diff --git a/meta-extras/packages/maemo/xpext/auxdir.patch b/meta-extras/packages/maemo/xpext/auxdir.patch deleted file mode 100644 index da5841a1329..00000000000 --- a/meta-extras/packages/maemo/xpext/auxdir.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- configure.ac.old 2005-06-03 12:53:28.000000000 +0200 -+++ configure.ac 2005-06-03 12:54:29.000000000 +0200 -@@ -25,9 +25,9 @@ - - AC_PREREQ([2.57]) - AC_INIT([spext], [1.0], [lauri.leukkunen@nokia.com], spext) -+AC_CONFIG_AUX_DIR(.) - AM_INIT_AUTOMAKE([dist-bzip2]) - AM_MAINTAINER_MODE --AC_CONFIG_AUX_DIR(.) - - dnl PKG_CHECK_MODULES(FIXESEXT, fixesext) - diff --git a/meta-extras/packages/maemo/xpext_1.0-5.bb b/meta-extras/packages/maemo/xpext_1.0-5.bb deleted file mode 100644 index 5be3d1c0411..00000000000 --- a/meta-extras/packages/maemo/xpext_1.0-5.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "X Server Nokia 770 extensions library" -LICENSE= "MIT" -SECTION = "x11/libs" -PRIORITY = "optional" -DEPENDS = "virtual/libx11 libxext" -PR = "r1" - -SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${PN}/${PN}_${PV}.tar.gz \ - file://auxdir.patch;patch=1;pnum=0" -S = "${WORKDIR}/xpext-1.0" - -# ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPV})" - -inherit autotools pkgconfig - -do_configure_prepend () { - cd ${S} - chmod +x ./autogen.sh - ./autogen.sh -} diff --git a/meta-extras/packages/maemo/xsp_1.0.0-8.bb b/meta-extras/packages/maemo/xsp_1.0.0-8.bb deleted file mode 100644 index c722213c863..00000000000 --- a/meta-extras/packages/maemo/xsp_1.0.0-8.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "X Server Nokia 770 extensions library" -SECTION = "x11/libs" -PRIORITY = "optional" -LICENSE= "MIT" -DEPENDS = "virtual/libx11 libxext xpext" - -PR = "r1" - -SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${PN}_${PV}.tar.gz" -S = "${WORKDIR}/Xsp" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb b/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb deleted file mode 100644 index d868f148c3b..00000000000 --- a/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Matchbox input manager" -LICENSE = "GPL" -DEPENDS = "matchbox-wm libmatchbox" -SECTION = "x11/wm" - -SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/${PV}/mb-applet-input-manager-${PV}.tar.gz" -S = "${WORKDIR}/mb-applet-input-manager-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps" - diff --git a/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb b/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb deleted file mode 100644 index 3f1c2d02c74..00000000000 --- a/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb +++ /dev/null @@ -1,10 +0,0 @@ -LICENSE = "GPLv2" -PRIORITY = "optional" -DEPENDS = "libmatchbox gtk+" -PV = "0.0+svnr${SRCREV}" - -SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=mb-applet-light;proto=http" - -S = "${WORKDIR}/mb-applet-light" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb b/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb deleted file mode 100644 index 68b224714a9..00000000000 --- a/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Matchbox Startup monitor applet" -LICENSE = "GPL" -DEPENDS = "libmatchbox startup-notification" -SECTION = "x11/wm" - -SRC_URI = "http://matchbox-project.org/sources/mb-applet-startup-monitor/${PV}/mb-applet-startup-monitor-${PV}.tar.gz" -S = "${WORKDIR}/mb-applet-startup-monitor-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps" diff --git a/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb b/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb deleted file mode 100644 index e4b843f6b14..00000000000 --- a/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Matchbox Volume Applet" -LICENSE = "GPL" -DEPENDS = "matchbox-wm libmatchbox gtk+" -SECTION = "x11/wm" - -SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-volume/${PV}/mb-applet-volume-${PV}.tar.gz" -S = "${WORKDIR}/mb-applet-volume-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} = "${bindir} ${datadir}/applications ${datadir}/pixmaps" - diff --git a/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb b/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb deleted file mode 100644 index 2927ccd08f9..00000000000 --- a/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SECTION = "x11/wm" -DESCRIPTION = "Matchbox window manager common files" -LICENSE = "GPL" -DEPENDS = "libmatchbox" - -SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-pda-folders" - -FILES_${PN} = "${bindir} \ - ${datadir}/matchbox/vfolders \ - ${datadir}/pixmaps" diff --git a/meta-extras/packages/matchbox-common/matchbox-common_svn.bb b/meta-extras/packages/matchbox-common/matchbox-common_svn.bb deleted file mode 100644 index ec62ac05a82..00000000000 --- a/meta-extras/packages/matchbox-common/matchbox-common_svn.bb +++ /dev/null @@ -1,17 +0,0 @@ -SECTION = "x11/wm" -DESCRIPTION = "Matchbox window manager common files" -LICENSE = "GPL" -DEPENDS = "libmatchbox" -PV = "0.9.1+svnr${SRCREV}" -S = "${WORKDIR}/matchbox-common" -DEFAULT_PREFERENCE = "-1" - -SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-common;proto=http" - -inherit autotools pkgconfig - -EXTRA_OECONF = " --enable-pda-folders " - -FILES_${PN} = "${bindir} \ - ${datadir}/matchbox/vfolders \ - ${datadir}/pixmaps" diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop deleted file mode 100644 index 4e08dfd3790..00000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=Home -Comment=Home -Exec=mb-applet-home -Type=PanelApp -Icon=xrandr.png -Categories=Panel;Utility;MB diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home deleted file mode 100755 index 132e72bdd47..00000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec mb-applet-launcher -na -o -1 -l --title "Home" mbdesktop.png matchbox-remote -d diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop deleted file mode 100644 index 512e3771e41..00000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=Screen Rotator -Comment=Panel based Rotation tool. -Exec=mb-applet-launcher -na -l --title "Screen Rotator" /usr/share/pixmaps/xrandr.png xrandr-panelapp.sh -Type=PanelApp -Icon=xrandr.png -Categories=Panel;Utility;MB diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh deleted file mode 100755 index d17c805ffcf..00000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -if [ -n "$(xrandr | grep rotation | grep left)" ] -then -xrandr -o normal -xmodmap /etc/X11/xmodmap-portrait -else -xrandr -o left -xmodmap /etc/X11/xmodmap-left -fi diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png deleted file mode 100644 index 08cd476e8a3f605482890f134197527989dc506d..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 1651 zc-jGT28{WMP)q1^`J! zK~zY`y_Z{T99J2~e`j`fXLqt!Z(=*PV>eh1btqPvlpxx=AU}X&mq_6usst*EDQQ%w zprArY8!U)SL))NOZAkNgh?)vjkkF=a1T@Ids!9_HM}qXB&=MQhn`VRE)_ZeicIF%& z_HJ*SI;uF*r`bJc&iVf5|6NB=7#iR&KK~yh4_E*Kh)1K*1MThY>!p;Q<(#6Fx}mjn zI&CMD$zj{JPw2p>`}+F6G%_->N(jMn0aVMPITR=s{Xg@@8MXJPdw2YCbaYe)yzzM4 z)7I8@V~Q6lDb6WXn3qbHf0x!;T3ST+%{Olb?$8$=p3CLPWHQ%Pz7R+~MykQ-UY&3# zTzF3^JRXl%DHT`*;K-3996fq;NgH0v#&zdV2m~89ZsJF~A0ZNs6o659cM*WU|KkGP zpW8yu=DR*Vm(N?gFtUeiCQCRJMoCrDzZd{OFcKvki(m7=tMgd|0wZ94Gyt}R&@`ly z1)re8)UxAV2*Ks430`{cAWq(1e$>d4e=Na3z2Wr;f&uV(6-mFtpI`nBhH28jeGs1! zxV~~K%Bu*dW#C$lCxl={0OFB6O$`>&6%InVyf*qge;NHPuIqd>22f=)ECNso9ngfp zqg6!L1b#1=eo5GL@%t1Z69#%=?D!$hj-5g&i4bCeKy_|YatRZZ00%v&Y$}$U2QI{tp;n`y@Z05T4mh6il#;%v8b2F9%?0(p5oajAEmkR zFg>^4R>Qre3k0Gj3Q(#(1KDhrW5-7L)Y=Ts48{3EZxqAO(Di~pRF4wdv6z>khuau> zVw!z>9%6X^FWIp1GbjO;qqy?^96~Ip6ZM?Xwr!@Tr)XQ5;=tZ^w)V$~Msxyx4V1!l zB(CG)I4(}!#kMNa7}t5^TTL_v6FfD%hfCA{VK$ZH%=v$EcKofy4Ak?1@$qq{r~btc z?u*m8Hh>WD-x-_COoq&C3SBuMB`AebvK-H)qLaM}UQIHYoZ-}~<9GrM1@pQNLR1y9 zs%WqAfkYyK%%|9JOLIYaa-P|@6U6=VG?(Y z3q=46^FR#)x%nK9o5x#(b$RlA+RPkpPQZl;xbgw4io)s!=xl+GX3zvUE*v}oFP;n1 z)3*&H)IcVkM$krnNy--sXkZ;U~}QX#P05VdCa3tn3_{ zJG1=iVesh%<_O8!C@GmqyhF}9k7dKL*Wl1ejiz-y_)U|{Y@(vLC@6)Lh4`1UjtNR> zG8_)mKk#J^J-v^!=jK?`8b)XzUXcims(;nne8uT3ju+?qU4^3H%6VE3cD@ddki?1>~D9VQ#Qud?s) zVJ0RgkV;~%FmaWS`@Xr0d%u2f#j&cqTuNC(dwIQN0#!*wZZ?~hc{@)@VzC$pMxMrq zY~qK*@3EyXf}DSgp&t*CPNy+VlWkww#^B%}x<@CUFYe9Pij#N9+r?+q{QUfUsZ10; zOnhGN&$_z0?hb}Rk?Po%Qi^0U>9MX}Ha2t{y!u9(aJ13w=;*M75K1gr`3EaCr3wDo;-Epmb^ok;qy&D_`n0NG&D3g xH`=5chM`(kubvS?Tv*P&FwhTd`Zzxl{|DLv%?hKZePRFr002ovPDHLkV1lt(6%7CY diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb deleted file mode 100644 index 89758534481..00000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "Simple dockapps created with monolaunch and shell script" -DEPENDS = "matchbox-common xmodmap" -SRC_URI = "file://xrandr-panelapp.sh \ - file://xrandr-panelapp.desktop \ - file://mb-applet-home \ - file://home-panelapp.desktop \ - file://xrandr.png" -SECTION = "x11/wm" -PRIORITY = "optional" -PR = "r8" -LICENSE = "MIT" - -do_install() { - install -d ${D}${bindir} - install -d ${D}${datadir}/applications - install -d ${D}${datadir}/pixmaps - install -m 0755 ${WORKDIR}/xrandr-panelapp.sh ${D}${bindir}/ - install -m 0644 ${WORKDIR}/xrandr-panelapp.desktop ${D}${datadir}/applications/ - install -m 0644 ${WORKDIR}/xrandr.png ${D}${datadir}/pixmaps/ - install -m 0755 ${WORKDIR}/mb-applet-home ${D}${bindir}/ - install -m 0644 ${WORKDIR}/home-panelapp.desktop ${D}${datadir}/applications/ - -} diff --git a/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb b/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb deleted file mode 100644 index fea6953eced..00000000000 --- a/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Matchbox Panel Manager" -LICENSE = "GPL" -DEPENDS = "gtk+" -SECTION = "x11/wm" - -SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.bz2" -S = "${WORKDIR}/${PN}-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps" - diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel.inc b/meta-extras/packages/matchbox-panel/matchbox-panel.inc deleted file mode 100644 index f7d6b933899..00000000000 --- a/meta-extras/packages/matchbox-panel/matchbox-panel.inc +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "Matchbox Window Manager Panel" -LICENSE = "GPL" -DEPENDS = "libmatchbox virtual/libx11 libxext libxpm apmd startup-notification virtual/kernel wireless-tools" -RDEPENDS = "matchbox-common" -SECTION = "x11/wm" - -PR = "r2" - -inherit autotools pkgconfig gettext - -CFLAGS += "-D_GNU_SOURCE" - -EXTRA_OECONF = " --enable-startup-notification --enable-dnotify " -EXTRA_OECONF_append_h3600 = " --enable-small-icons " -EXTRA_OECONF_append_h3900 = " --enable-small-icons " -EXTRA_OECONF_append_h2200 = " --enable-small-icons " -EXTRA_OECONF_append_h4000 = " --enable-small-icons " -EXTRA_OECONF_append_collie = " --enable-small-icons " -EXTRA_OECONF_append_poodle = " --enable-small-icons " -EXTRA_OECONF_append_mnci = " --enable-small-icons " -EXTRA_OECONF_append_integral13 = " --enable-small-icons " -PACKAGE_ARCH = "${MACHINE}" - -FILES_${PN} = "${bindir}/* \ - ${datadir}/applications \ - ${datadir}/pixmaps" - diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb b/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb deleted file mode 100644 index 2b5f4693a74..00000000000 --- a/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require matchbox-panel.inc - -PR="r3" -SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz" - - diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb b/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb deleted file mode 100644 index 50182dacce4..00000000000 --- a/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb +++ /dev/null @@ -1,9 +0,0 @@ -require matchbox-panel.inc -PV = "0.9.2+svnr${SRCREV}" -DEFAULT_PREFERENCE = "-1" - -SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http" - -EXTRA_OECONF = "--enable-startup-notification --enable-dnotify" - -S = "${WORKDIR}/${PN}" diff --git a/meta-extras/packages/mozilla/files/eabi-fix.patch b/meta-extras/packages/mozilla/files/eabi-fix.patch deleted file mode 100644 index fd3bb886831..00000000000 --- a/meta-extras/packages/mozilla/files/eabi-fix.patch +++ /dev/null @@ -1,66 +0,0 @@ -http://lists.debian.org/debian-arm/2007/05/msg00039.html - -From: Lennert Buytenhek - -Hi, - -The reason that building nss (i.e., firefox) would segfault on ARM EABI -systems is an assumption about the layout of the jmp_buf structure in -the nspr library (which nss depends on) that does hold on old-ABI but -no longer holds on EABI. The attached patch fixes this assumption, -and fixes the shlibsign segfault during the building of nss (it also -fixes a floating point byte order assumption.) - -Looks sane? - -It's of course a stupid idea to depend on a particular layout of the -jmp_buf structure in application programs, but oh well. People write -ugly buggy code, film at 11. - - ---- mozilla/nsprpub/pr/src/misc/prdtoa.c.orig 2007-05-06 02:39:00.000000000 +0200 -+++ mozilla/nsprpub/pr/src/misc/prdtoa.c 2007-05-06 02:39:22.000000000 +0200 -@@ -59,8 +59,8 @@ - /* FIXME: deal with freelist and p5s. */ - } - --#if defined(__arm) || defined(__arm__) || defined(__arm26__) \ -- || defined(__arm32__) -+#if (defined(__arm) || defined(__arm__) || defined(__arm26__) \ -+ || defined(__arm32__)) && !defined(__ARM_EABI__) && !defined(__ARMEB__) - #define IEEE_ARM - #elif defined(IS_LITTLE_ENDIAN) - #define IEEE_8087 ---- mozilla/nsprpub/pr/include/md/_linux.h.orig 2007-05-06 02:39:45.000000000 +0200 -+++ mozilla/nsprpub/pr/include/md/_linux.h 2007-05-06 02:40:57.000000000 +0200 -@@ -346,7 +346,7 @@ - #error "Linux/MIPS pre-glibc2 not supported yet" - #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ - --#elif defined(__arm__) -+#elif defined(__arm__) && !defined(__ARM_EABI__) - /* ARM/Linux */ - #if defined(__GLIBC__) && __GLIBC__ >= 2 - #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20] -@@ -358,6 +358,18 @@ - #error "ARM/Linux pre-glibc2 not supported yet" - #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ - -+#elif defined(__arm__) && defined(__ARM_EABI__) -+/* ARM/Linux */ -+#if defined(__GLIBC__) && __GLIBC__ >= 2 -+#define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[8] -+#define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[7] = (val)) -+#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t)) -+#define _MD_GET_FP_PTR(_t) (&(_t)->md.context[0].__jmpbuf[7]) -+#define _MD_SP_TYPE __ptr_t -+#else -+#error "ARM/Linux pre-glibc2 not supported yet" -+#endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ -+ - #else - - #error "Unknown CPU architecture" - - - diff --git a/meta-extras/packages/mozilla/files/eabi-fix2.patch b/meta-extras/packages/mozilla/files/eabi-fix2.patch deleted file mode 100644 index 5f64e7f796e..00000000000 --- a/meta-extras/packages/mozilla/files/eabi-fix2.patch +++ /dev/null @@ -1,56 +0,0 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=369722 - -Index: js/src/jsnum.h -=================================================================== -RCS file: /cvsroot/mozilla/js/src/jsnum.h,v -retrieving revision 3.27 -diff -p -u -8 -r3.27 jsnum.h ---- mozilla/js/src/jsnum.h 21 Dec 2006 01:00:32 -0000 3.27 -+++ mozilla/js/src/jsnum.h 8 Feb 2007 12:13:01 -0000 -@@ -52,23 +52,24 @@ JS_BEGIN_EXTERN_C - - /* - * Stefan Hanske reports: - * ARM is a little endian architecture but 64 bit double words are stored - * differently: the 32 bit words are in little endian byte order, the two words - * are stored in big endian`s way. - */ - --#if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__) --#define CPU_IS_ARM -+#if !defined(__ARM_EABI__) && \ -+ (defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)) -+#define IEEE_ARM - #endif - - typedef union jsdpun { - struct { --#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM) -+#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM) - uint32 lo, hi; - #else - uint32 hi, lo; - #endif - } s; - jsdouble d; - } jsdpun; - -@@ -87,17 +88,17 @@ typedef union jsdpun { - - #else /* not or old GNUC */ - - /* - * We don't know of any non-gcc compilers that perform alias optimization, - * so this code should work. - */ - --#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM) -+#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM) - #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[1]) - #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[0]) - #else - #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[0]) - #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[1]) - #endif - - #define JSDOUBLE_SET_HI32(x, y) (JSDOUBLE_HI32(x)=(y)) diff --git a/meta-extras/packages/mozilla/files/eabi-fix3.patch b/meta-extras/packages/mozilla/files/eabi-fix3.patch deleted file mode 100644 index 8bf8c2f4dab..00000000000 --- a/meta-extras/packages/mozilla/files/eabi-fix3.patch +++ /dev/null @@ -1,15 +0,0 @@ -From: Marcin Juszkiewicz - -Index: mozilla/extensions/transformiix/source/base/Double.cpp -=================================================================== ---- mozilla.orig/extensions/transformiix/source/base/Double.cpp 2007-05-09 11:21:34.000000000 +0200 -+++ mozilla/extensions/transformiix/source/base/Double.cpp 2007-05-09 11:23:59.000000000 +0200 -@@ -71,7 +71,7 @@ - * are stored in big endian`s way. - */ - --#if defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__) -+#if !defined(__ARM_EABI__) && defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__) - #define CPU_IS_ARM - #endif - diff --git a/meta-extras/packages/mozilla/files/minimo.desktop b/meta-extras/packages/mozilla/files/minimo.desktop deleted file mode 100644 index 5ef0f2075a1..00000000000 --- a/meta-extras/packages/mozilla/files/minimo.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=Minimo -Comment=Minimo web browser -Exec=minimo http://www.mozilla.org/projects/minimo/home.html -Terminal=0 -Type=Application -Icon=minimo.png -Categories=Application;Network; -StartupNotify=True diff --git a/meta-extras/packages/mozilla/files/minimo.png b/meta-extras/packages/mozilla/files/minimo.png deleted file mode 100644 index f8b2e2192bee0bb7720df05c459fa94e493b7691..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 4323 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 RwWa_7002ovPDHLkV1h2GB=rCQ diff --git a/meta-extras/packages/mozilla/minimo/bug-322806.diff b/meta-extras/packages/mozilla/minimo/bug-322806.diff deleted file mode 100644 index e001e3fc672..00000000000 --- a/meta-extras/packages/mozilla/minimo/bug-322806.diff +++ /dev/null @@ -1,13 +0,0 @@ -See https://bugzilla.mozilla.org/show_bug.cgi?id=322806 and http://bugs.openembedded.org/show_bug.cgi?id=1600 - ---- /tmp/xptcinvoke_arm.cpp 2006-12-10 20:02:57.000000000 +0100 -+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp 2006-12-10 20:03:54.592227000 +0100 -@@ -212,7 +212,7 @@ - "add sp, sp, r4 \n\t" /* restore stack pointer */ - "mov %0, r0 \n\t" /* the result... */ - : "=r" (result) -- : "r" (&my_params) -+ : "r" (&my_params), "m" (my_params) - : "r0", "r1", "r2", "r3", "r4", "ip", "lr", "sp" - ); - diff --git a/meta-extras/packages/mozilla/minimo/minimo b/meta-extras/packages/mozilla/minimo/minimo deleted file mode 100644 index d130173adf0..00000000000 --- a/meta-extras/packages/mozilla/minimo/minimo +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export MOZILLA_FIVE_HOME=/usr/lib/mozilla-minimo -export LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME} -exec ${MOZILLA_FIVE_HOME}/minimo "$@" diff --git a/meta-extras/packages/mozilla/minimo/minimo.patch b/meta-extras/packages/mozilla/minimo/minimo.patch deleted file mode 100644 index 8894ee7f453..00000000000 --- a/meta-extras/packages/mozilla/minimo/minimo.patch +++ /dev/null @@ -1,356 +0,0 @@ -Index: mozilla/content/html/content/src/nsFormSubmission.cpp -=================================================================== ---- mozilla.orig/content/html/content/src/nsFormSubmission.cpp 2005-07-13 18:55:59.000000000 +0200 -+++ mozilla/content/html/content/src/nsFormSubmission.cpp 2007-05-10 12:11:20.000000000 +0200 -@@ -1315,11 +1315,6 @@ - nsresult rv = NS_OK; - - nsCAutoString charset(aCharset); -- // canonical name is passed so that we just have to check against -- // *our* canonical names listed in charsetaliases.properties -- if (charset.EqualsLiteral("ISO-8859-1")) { -- charset.AssignLiteral("windows-1252"); -- } - - // use UTF-8 for UTF-16* and UTF-32* (per WHATWG and existing practice of - // MS IE/Opera). -Index: mozilla/embedding/base/Makefile.in -=================================================================== ---- mozilla.orig/embedding/base/Makefile.in 2006-02-14 06:28:31.000000000 +0100 -+++ mozilla/embedding/base/Makefile.in 2007-05-10 12:11:20.000000000 +0200 -@@ -43,6 +43,7 @@ - - MODULE = embed_base - LIBRARY_NAME = embed_base_s -+EXPORT_LIBRARY = 1 - XPIDL_MODULE = embed_base - - include $(DEPTH)/config/autoconf.mk -Index: mozilla/js/src/Makefile.in -=================================================================== ---- mozilla.orig/js/src/Makefile.in 2006-07-28 00:56:20.000000000 +0200 -+++ mozilla/js/src/Makefile.in 2007-05-10 12:11:21.000000000 +0200 -@@ -46,6 +46,7 @@ - - MODULE = js - LIBRARY_NAME = mozjs -+EXPORT_LIBRARY = 1 - LIB_IS_C_ONLY = 1 - GRE_MODULE = 1 - -Index: mozilla/minimo/Makefile.in -=================================================================== ---- mozilla.orig/minimo/Makefile.in 2006-07-24 21:40:53.000000000 +0200 -+++ mozilla/minimo/Makefile.in 2007-05-10 12:13:46.000000000 +0200 -@@ -41,6 +41,6 @@ - - include $(DEPTH)/config/autoconf.mk - --DIRS = config components chrome locales customization base extensions -+DIRS = config chrome locales customization base extensions - - include $(topsrcdir)/config/rules.mk -Index: mozilla/minimo/base/Makefile.in -=================================================================== ---- mozilla.orig/minimo/base/Makefile.in 2006-08-09 17:42:26.000000000 +0200 -+++ mozilla/minimo/base/Makefile.in 2007-05-10 12:11:21.000000000 +0200 -@@ -96,7 +96,6 @@ - - # this should move into the toolkit! - LOCAL_INCLUDES = -I$(srcdir) -I$(topsrcdir)/xpfe/browser/src/ --CPPSRCS += nsBrowserStatusFilter.cpp nsBrowserInstance.cpp - - ifdef WINCE - RCINCLUDE = wince/SplashScreen.rc -@@ -143,10 +142,6 @@ - endif - - --FINAL_LINK_COMPS=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-comps --FINAL_LINK_COMP_NAMES=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-names --FINAL_LINK_LIBS=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-libs -- - include $(topsrcdir)/config/static-config.mk - - EXTRA_DEPS += $(STATIC_EXTRA_DEPS) -@@ -180,14 +175,11 @@ - # (same as in mozilla/js/src/Makefile.in) - ifdef WINCE - LDFLAGS += -OPT:NOICF -+else -+# Hack to work around libxpcom_core.a / libunicharutil_s.a link order problem. -+LDFLAGS += -u NS_StringGetData_P -u NS_StringGetMutableData_P - endif - --export:: -- $(NSINSTALL) $(topsrcdir)/xpfe/browser/src/nsBrowserStatusFilter.cpp . -- $(NSINSTALL) $(topsrcdir)/xpfe/browser/src/nsBrowserInstance.cpp . -- -- --GARBAGE += nsBrowserStatusFilter.cpp nsBrowserInstance.cpp - - ifdef WINCE - package:: -Index: mozilla/minimo/base/Minimo.cpp -=================================================================== ---- mozilla.orig/minimo/base/Minimo.cpp 2006-10-27 22:30:36.000000000 +0200 -+++ mozilla/minimo/base/Minimo.cpp 2007-05-10 12:13:21.000000000 +0200 -@@ -813,6 +813,8 @@ - #ifdef MOZ_WIDGET_GTK2 - gtk_set_locale(); - gtk_init(&argc, &argv); -+ gtk_widget_set_default_visual(gdk_rgb_get_visual()); -+ gtk_widget_set_default_colormap(gdk_rgb_get_cmap()); - #endif - - #ifdef HACKY_PRE_LOAD_LIBRARY -Index: mozilla/minimo/base/SplashScreen.cpp -=================================================================== ---- mozilla.orig/minimo/base/SplashScreen.cpp 2006-08-21 21:00:24.000000000 +0200 -+++ mozilla/minimo/base/SplashScreen.cpp 2007-05-10 12:11:22.000000000 +0200 -@@ -202,9 +202,24 @@ - void KillSplashScreen() {} - void GetScreenSize(unsigned long* x, unsigned long* y) - { -+#ifdef MOZ_WIDGET_GTK2 -+ GdkDisplay* display = gdk_display_get_default(); -+ if (display != NULL) -+ { -+ GdkScreen *screen; -+ screen = gdk_display_get_default_screen(display); -+ *x = gdk_screen_get_width(screen); -+ *y = gdk_screen_get_height(screen); -+ } -+ else -+ { -+#endif - // we need to figure this out. - *x = 240; - *y = 320; -+#ifdef MOZ_WIDGET_GTK2 -+ } -+#endif - } - - -Index: mozilla/minimo/config/linux_package.sh -=================================================================== ---- mozilla.orig/minimo/config/linux_package.sh 2006-06-30 18:35:19.000000000 +0200 -+++ mozilla/minimo/config/linux_package.sh 2007-05-10 12:11:22.000000000 +0200 -@@ -29,9 +29,7 @@ - cp -pRL bin/libnssckbi.so minimo - cp -pRL bin/libsmime3.so minimo - cp -pRL bin/libsoftokn3.so minimo --cp -pRL bin/libsoftokn3.chk minimo - cp -pRL bin/libfreebl3.so minimo --cp -pRL bin/libfreebl3.chk minimo - cp -pRL bin/libssl3.so minimo - - mkdir -p minimo/chrome -@@ -62,8 +60,6 @@ - cp -pRL bin/components/nsHelperAppDlg.js minimo/components - cp -pRL bin/components/nsProgressDialog.js minimo/components - --cp -pRL bin/extensions/spatial-navigation@extensions.mozilla.org/components/* minimo/components -- - mkdir -p minimo/greprefs - cp -pRL bin/greprefs/* minimo/greprefs - -@@ -80,7 +76,7 @@ - - echo Linking XPT files. - --bin/xpt_link minimo/components/all.xpt bin/components/*.xpt -+host/bin/host_xpt_link minimo/components/all.xpt bin/components/*.xpt - - echo Chewing on chrome - -Index: mozilla/profile/dirserviceprovider/src/Makefile.in -=================================================================== ---- mozilla.orig/profile/dirserviceprovider/src/Makefile.in 2005-04-06 05:35:21.000000000 +0200 -+++ mozilla/profile/dirserviceprovider/src/Makefile.in 2007-05-10 12:11:23.000000000 +0200 -@@ -44,6 +44,7 @@ - - MODULE = profdirserviceprovider - LIBRARY_NAME = profdirserviceprovider_s -+EXPORT_LIBRARY = 1 - MOZILLA_INTERNAL_API = 1 - - REQUIRES = xpcom \ -Index: mozilla/security/coreconf/Linux.mk -=================================================================== ---- mozilla.orig/security/coreconf/Linux.mk 2006-02-03 23:26:36.000000000 +0100 -+++ mozilla/security/coreconf/Linux.mk 2007-05-10 12:11:23.000000000 +0200 -@@ -117,6 +117,10 @@ - OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE - CPU_ARCH = mips - else -+ifeq ($(OS_TEST),arm) -+ OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE -+ CPU_ARCH = arm -+else - OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE - CPU_ARCH = x86 - endif -@@ -133,6 +137,7 @@ - endif - endif - endif -+endif - - - LIBC_TAG = _glibc -Index: mozilla/security/coreconf/arch.mk -=================================================================== ---- mozilla.orig/security/coreconf/arch.mk 2006-02-03 23:26:36.000000000 +0100 -+++ mozilla/security/coreconf/arch.mk 2007-05-10 12:11:24.000000000 +0200 -@@ -60,18 +60,14 @@ - 64BIT_TAG= - endif - --OS_ARCH := $(subst /,_,$(shell uname -s)) -+OS_ARCH := Linux - - # - # Attempt to differentiate between sparc and x86 Solaris - # - --OS_TEST := $(shell uname -m) --ifeq ($(OS_TEST),i86pc) -- OS_RELEASE := $(shell uname -r)_$(OS_TEST) --else -- OS_RELEASE := $(shell uname -r) --endif -+OS_TEST := arm -+OS_RELEASE := 2.6 - - # - # Force the IRIX64 machines to use IRIX. -Index: mozilla/toolkit/components/build/Makefile.in -=================================================================== ---- mozilla.orig/toolkit/components/build/Makefile.in 2006-07-13 22:08:29.000000000 +0200 -+++ mozilla/toolkit/components/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -112,7 +112,6 @@ - $(NULL) - - SHARED_LIBRARY_LIBS = \ -- ../startup/src/$(LIB_PREFIX)appstartup_s.$(LIB_SUFFIX) \ - $(NULL) - - ifdef MOZ_XPINSTALL -Index: mozilla/toolkit/components/startup/src/Makefile.in -=================================================================== ---- mozilla.orig/toolkit/components/startup/src/Makefile.in 2005-07-27 22:42:44.000000000 +0200 -+++ mozilla/toolkit/components/startup/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -43,6 +43,7 @@ - - MODULE = toolkitcomps - LIBRARY_NAME = appstartup_s -+EXPORT_LIBRARY = 1 - FORCE_STATIC_LIB = 1 - LIBXUL_LIBRARY = 1 - -Index: mozilla/toolkit/xre/Makefile.in -=================================================================== ---- mozilla.orig/toolkit/xre/Makefile.in 2007-02-06 08:13:20.000000000 +0100 -+++ mozilla/toolkit/xre/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -45,7 +45,6 @@ - - MODULE = xulapp - LIBRARY_NAME = xulapp_s --EXPORT_LIBRARY = 1 - LIBXUL_LIBRARY = 1 - - REQUIRES = \ -@@ -180,14 +179,6 @@ - - include $(topsrcdir)/config/rules.mk - --ifdef BUILD_STATIC_LIBS --export:: -- @$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(FINAL_LINK_COMP_NAMES) Apprunner --# embedding/browser/gtk/src/Makefile.in sucks! we need to add an empty line to --# FINAL_LINK_COMPS to keep the two lists in sync :-( -- @$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(FINAL_LINK_COMPS) "" --endif -- - LOCAL_INCLUDES += \ - -I$(srcdir) \ - -I$(topsrcdir)/xpfe/bootstrap \ -Index: mozilla/xpcom/build/Makefile.in -=================================================================== ---- mozilla.orig/xpcom/build/Makefile.in 2006-01-29 17:51:02.000000000 +0100 -+++ mozilla/xpcom/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -61,7 +61,7 @@ - endif - - # Do not set EXPORT_LIBRARY as we do not want xpcom in the static libs list --#EXPORT_LIBRARY = 1 -+EXPORT_LIBRARY = 1 - GRE_MODULE = 1 - MOZILLA_INTERNAL_API = 1 - -Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp -=================================================================== ---- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2004-04-18 16:18:18.000000000 +0200 -+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2007-05-10 12:11:27.000000000 +0200 -@@ -45,9 +45,9 @@ - #endif - - /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ --static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); -+nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); - --static nsresult -+nsresult - PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) - { - #define PARAM_BUFFER_COUNT 16 -Index: mozilla/xpfe/browser/src/Makefile.in -=================================================================== ---- mozilla.orig/xpfe/browser/src/Makefile.in 2005-03-18 22:23:45.000000000 +0100 -+++ mozilla/xpfe/browser/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -44,6 +44,7 @@ - - MODULE = browser - LIBRARY_NAME = mozbrwsr_s -+EXPORT_LIBRARY = 1 - FORCE_STATIC_LIB = 1 - LIBXUL_LIBRARY = 1 - MODULE_NAME = nsBrowserModule -Index: mozilla/xpfe/components/build/Makefile.in -=================================================================== ---- mozilla.orig/xpfe/components/build/Makefile.in 2005-09-27 02:15:25.000000000 +0200 -+++ mozilla/xpfe/components/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -44,7 +44,6 @@ - - MODULE = appcomps - LIBRARY_NAME = appcomps --EXPORT_LIBRARY = 1 - IS_COMPONENT = 1 - MODULE_NAME = application - LIBXUL_LIBRARY = 1 -Index: mozilla/xpfe/components/filepicker/src/Makefile.in -=================================================================== ---- mozilla.orig/xpfe/components/filepicker/src/Makefile.in 2006-05-22 18:29:32.000000000 +0200 -+++ mozilla/xpfe/components/filepicker/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -47,7 +47,6 @@ - MODULE = filepicker - LIBRARY_NAME = fileview - SHORT_LIBNAME = fileview --EXPORT_LIBRARY = 1 - IS_COMPONENT = 1 - MODULE_NAME = nsFileViewModule - MOZILLA_INTERNAL_API = 1 -Index: mozilla/xpfe/components/find/src/Makefile.in -=================================================================== ---- mozilla.orig/xpfe/components/find/src/Makefile.in 2005-03-18 22:23:46.000000000 +0100 -+++ mozilla/xpfe/components/find/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -45,7 +45,6 @@ - MODULE = appcomps - XPIDL_MODULE = mozfind - LIBRARY_NAME = mozfind --EXPORT_LIBRARY = 1 - IS_COMPONENT = 1 - MODULE_NAME = nsFindComponent - LIBXUL_LIBRARY = 1 diff --git a/meta-extras/packages/mozilla/minimo/minimo.png b/meta-extras/packages/mozilla/minimo/minimo.png deleted file mode 100644 index f8b2e2192bee0bb7720df05c459fa94e493b7691..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 4323 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 RwWa_7002ovPDHLkV1h2GB=rCQ diff --git a/meta-extras/packages/mozilla/minimo/mozconfig b/meta-extras/packages/mozilla/minimo/mozconfig deleted file mode 100644 index 393981e9fa9..00000000000 --- a/meta-extras/packages/mozilla/minimo/mozconfig +++ /dev/null @@ -1,36 +0,0 @@ -# mozilla/configure: Features and packages: - -ac_add_options --enable-application=minimo -ac_add_options --enable-default-toolkit=gtk2 -ac_add_options --disable-freetype2 -ac_add_options --enable-xft -ac_add_options --disable-postscript -ac_add_options --disable-xprint -ac_add_options --disable-gnomevfs -ac_add_options --disable-gnomeui -ac_add_options --disable-jsd -ac_add_options --disable-plugins -ac_add_options --disable-view-source -ac_add_options --disable-accessibility -ac_add_options --disable-xpinstall -ac_add_options --enable-single-profile -ac_add_options --disable-jsloader -ac_add_options --disable-printing -ac_add_options --enable-native-uconv -ac_add_options --enable-plaintext-editor-only -ac_add_options --disable-xpcom-obsolete -ac_add_options --disable-pref-extensions -ac_add_options --disable-extensions -ac_add_options --enable-image-decoders=png,gif,jpeg -ac_add_options --disable-mathml -ac_add_options --disable-installer -ac_add_options --disable-updater -ac_add_options --disable-tests -ac_add_options --enable-optimize=-Os -ac_add_options --disable-logging -ac_add_options --enable-strip -ac_add_options --enable-elf-dynstr-gc -ac_add_options --disable-shared -ac_add_options --enable-static -ac_add_options --disable-profilesharing -ac_add_options --disable-profilelocking diff --git a/meta-extras/packages/mozilla/minimo_cvs.bb b/meta-extras/packages/mozilla/minimo_cvs.bb deleted file mode 100644 index 5eec96d1432..00000000000 --- a/meta-extras/packages/mozilla/minimo_cvs.bb +++ /dev/null @@ -1,153 +0,0 @@ -DESCRIPTION = "A minimal version of the Mozilla web browser for mobile devices" -SECTION = "x11/network" -LICENSE = "MPL/GPL/LGPL" -HOMEPAGE = "http://www.mozilla.org/projects/minimo/" -PRIORITY = "optional" - -DEPENDS = "libxrender xt xft fontconfig freetype libidl dbus-glib pango atk gtk+ libidl-native" - -CVSSVR = "cvs-mirror.mozilla.org" -BRTAG = "MOZILLA_1_8_BRANCH" -MOZDATE = "20070510" - -PV = "0.02+cvs${MOZDATE}" -PR = "r3" - -SRC_URI = "cvs://anonymous@${CVSSVR}/cvsroot;module=mozilla;tag=${BRTAG};date=${MOZDATE} \ - file://minimo.patch;patch=1 \ - file://bug-322806.diff;patch=1 \ - file://mozconfig \ - file://minimo \ - file://eabi-fix.patch;patch=1 \ - file://eabi-fix2.patch;patch=1 \ - file://eabi-fix3.patch;patch=1 \ - file://minimo.desktop \ - file://minimo.png" - -inherit autotools - -S = "${WORKDIR}/mozilla" - -export MOZCONFIG = "${WORKDIR}/mozconfig" - -export CROSS_COMPILE="1" -export ac_cv_prog_HOST_CC="${BUILD_CC}" -export ac_cv_prog_HOST_CFLAGS="${BUILD_CFLAGS}" -export ac_cv_prog_HOST_CXX="${BUILD_CXX}" -export ac_cv_prog_HOST_CXXFLAGS="${BUILD_CXXFLAGS}" -export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2" - -mozdir="${libdir}/mozilla-minimo" - -EXTRA_OECONF += "--build=${BUILD_SYS} --host=${BUILD_SYS} --target=${TARGET_SYS} " - -do_configure() { - cd ${S} - oe_runmake -f client.mk CONFIGURE_ARGS="${EXTRA_OECONF}" configure - sed -i s:${TARGET_PREFIX}strip:echo:g config/autoconf.mk -} - -do_compile() { - cd ${S} - oe_runmake -f client.mk build -} - -do_install() { - cd ${WORKDIR} - - install -d ${D}${bindir} - install -m 0755 minimo ${D}${bindir} - - install -d ${D}${datadir}/applications - install -m 0644 minimo.desktop ${D}${datadir}/applications - - install -d ${D}/${datadir}/pixmaps - install -m 0644 minimo.png ${D}${datadir}/pixmaps - - cd ${S} - - ./minimo/config/linux_package.sh ${S} ${S}/minimo/config - - cd dist/minimo - - install -d ${D}${mozdir} - install -m 0755 minimo ${D}${mozdir} - install -m 0755 libfreebl3.so ${D}${mozdir} - install -m 0755 libnspr4.so ${D}${mozdir} - install -m 0755 libnss3.so ${D}${mozdir} - install -m 0755 libnssckbi.so ${D}${mozdir} - install -m 0755 libplc4.so ${D}${mozdir} - install -m 0755 libplds4.so ${D}${mozdir} - install -m 0755 libsmime3.so ${D}${mozdir} - install -m 0755 libsoftokn3.so ${D}${mozdir} - install -m 0755 libssl3.so ${D}${mozdir} - - install -d ${D}${mozdir}/chrome - install -m 0644 chrome/classic.jar ${D}${mozdir}/chrome - install -m 0644 chrome/classic.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/en-US.jar ${D}${mozdir}/chrome - install -m 0644 chrome/en-US.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/minimo-skin-vga.jar ${D}${mozdir}/chrome - install -m 0644 chrome/minimo-skin-vga.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/minimo-skin.jar ${D}${mozdir}/chrome - install -m 0644 chrome/minimo-skin.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/minimo.jar ${D}${mozdir}/chrome - install -m 0644 chrome/minimo.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/pippki.jar ${D}${mozdir}/chrome - install -m 0644 chrome/pippki.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/toolkit.jar ${D}${mozdir}/chrome - install -m 0644 chrome/toolkit.manifest ${D}${mozdir}/chrome - - install -d ${D}${mozdir}/components - install -m 0644 components/all.xpt ${D}${mozdir}/components - install -m 0644 components/nsHelperAppDlg.js ${D}${mozdir}/components - install -m 0644 components/nsProgressDialog.js ${D}${mozdir}/components - - install -d ${D}${mozdir}/greprefs - install -m 0644 greprefs/all.js ${D}${mozdir}/greprefs - install -m 0644 greprefs/security-prefs.js ${D}${mozdir}/greprefs - - install -d ${D}${mozdir}/res - install -m 0644 res/forms.css ${D}${mozdir}/res - install -m 0644 res/html.css ${D}${mozdir}/res - install -m 0644 res/quirk.css ${D}${mozdir}/res - install -m 0644 res/ua.css ${D}${mozdir}/res - install -m 0644 res/arrow.gif ${D}${mozdir}/res - install -m 0644 res/arrowd.gif ${D}${mozdir}/res - install -m 0644 res/broken-image.gif ${D}${mozdir}/res - install -m 0644 res/loading-image.gif ${D}${mozdir}/res - install -m 0644 res/charsetData.properties ${D}${mozdir}/res - install -m 0644 res/charsetalias.properties ${D}${mozdir}/res - install -m 0644 res/langGroups.properties ${D}${mozdir}/res - install -m 0644 res/language.properties ${D}${mozdir}/res - install -m 0644 res/unixcharset.properties ${D}${mozdir}/res - - install -d ${D}${mozdir}/res/dtd - install -m 0644 res/dtd/xhtml11.dtd ${D}${mozdir}/res/dtd - - install -d ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/html40Latin1.properties ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/html40Special.properties ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/html40Symbols.properties ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/htmlEntityVersions.properties ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/transliterate.properties ${D}${mozdir}/res/entityTables - - install -d ${D}${mozdir}/res/fonts - install -m 0644 res/fonts/fontEncoding.properties ${D}${mozdir}/res/fonts - install -m 0644 res/fonts/pangoFontEncoding.properties ${D}${mozdir}/res/fonts - - install -d ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-audio.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-binary.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-find.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-image.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-menu.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-movie.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-sound.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-telnet.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-text.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-unknown.gif ${D}${mozdir}/res/html -} - -FILES_${PN}-dbg += "${libdir}/mozilla-minimo/.debug*" -FILES_${PN} += "${mozdir}" diff --git a/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg b/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg deleted file mode 100644 index 8858b3e7c24..00000000000 --- a/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Wait for the desktop to say its finished loading -dbus-wait org.matchbox_project.desktop Loaded -exec /usr/bin/nm-applet diff --git a/meta-extras/packages/networkmanager/files/99_networkmanager b/meta-extras/packages/networkmanager/files/99_networkmanager deleted file mode 100644 index 20cbcc1bcaf..00000000000 --- a/meta-extras/packages/networkmanager/files/99_networkmanager +++ /dev/null @@ -1 +0,0 @@ -d root root 0700 /var/run/NetworkManager none diff --git a/meta-extras/packages/networkmanager/files/NetworkManager b/meta-extras/packages/networkmanager/files/NetworkManager deleted file mode 100644 index 4522e0107b4..00000000000 --- a/meta-extras/packages/networkmanager/files/NetworkManager +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# -### BEGIN INIT INFO -# Provides: NetworkManager -# Required-Start: $remote_fs dbus hal -# Required-Stop: $remote_fs dbus hal -# Should-Start: $syslog -# Should-Stop: $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: network connection manager -# Description: Daemon for automatically switching network -# connections to the best available connection. -### END INIT INFO - -. /etc/profile - -case $1 in - 'start') - echo -n "Starting NetworkManager daemon: NetworkManager" - /usr/sbin/NetworkManager - /usr/sbin/NetworkManagerDispatcher - /usr/sbin/wpa_supplicant -u & - echo "." - ;; - - 'stop') - echo -n "Stopping NetworkManager daemon: NetworkManager" - kill `ps |grep /usr/sbin/NetworkManagerDispatcher | grep -v grep | cut "-d " -f2` - kill `ps |grep /usr/sbin/NetworkManager | grep -v grep | cut "-d " -f2` - kill `ps |grep /usr/sbin/wpa_supplicant | grep -v grep | cut "-d " -f2` - echo "." - ;; - - 'restart') - $0 stop - $0 start - ;; - - *) - echo "Usage: $0 { start | stop | restart }" - ;; -esac diff --git a/meta-extras/packages/networkmanager/files/allow-disabling.patch b/meta-extras/packages/networkmanager/files/allow-disabling.patch deleted file mode 100644 index 10730e9fe53..00000000000 --- a/meta-extras/packages/networkmanager/files/allow-disabling.patch +++ /dev/null @@ -1,45 +0,0 @@ -Allow interfaces to be ignored by networkmanager by creation of a -/etc/network/nm-disabled-INTERFACENAME file. - -RP - 16/7/2008 - -Index: trunk/src/backends/NetworkManagerDebian.c -=================================================================== ---- trunk.orig/src/backends/NetworkManagerDebian.c 2008-07-15 19:23:11.000000000 +0100 -+++ trunk/src/backends/NetworkManagerDebian.c 2008-07-15 19:37:05.000000000 +0100 -@@ -29,6 +29,7 @@ - - #include - #include -+#include - #include - #include - #include "NetworkManagerGeneric.h" -@@ -374,12 +375,25 @@ - /* - * nm_system_device_get_disabled - * -- * Return whether the distro-specific system config tells us to use -- * dhcp for this device. -+ * Return whether the distro-specific system config tells us to interact -+ * with this device. - * - */ - gboolean nm_system_device_get_disabled (NMDevice *dev) - { -+ struct stat statbuf; -+ gchar *filepath; -+ -+ g_return_val_if_fail (dev != NULL, FALSE); -+ -+ filepath = g_strdup_printf (SYSCONFDIR"/network/nm-disabled-%s", nm_device_get_iface (dev)); -+ -+ if (stat(filepath, &statbuf) == 0) { -+ g_free(filepath); -+ return TRUE; -+ } -+ -+ g_free(filepath); - return FALSE; - } - diff --git a/meta-extras/packages/networkmanager/files/applet-no-animation.patch b/meta-extras/packages/networkmanager/files/applet-no-animation.patch deleted file mode 100644 index d437fd0fc9e..00000000000 --- a/meta-extras/packages/networkmanager/files/applet-no-animation.patch +++ /dev/null @@ -1,234 +0,0 @@ -Index: trunk/src/applet.c -=================================================================== ---- trunk.orig/src/applet.c 2008-02-06 20:30:04.000000000 +0000 -+++ trunk/src/applet.c 2008-02-06 20:46:59.000000000 +0000 -@@ -111,8 +111,6 @@ - - static void nma_init (NMApplet *applet) - { -- applet->animation_id = 0; -- applet->animation_step = 0; - applet->passphrase_dialog = NULL; - applet->icon_theme = NULL; - #ifdef ENABLE_NOTIFY -@@ -1006,20 +1004,6 @@ - } - } - --static gboolean --vpn_animation_timeout (gpointer data) --{ -- NMApplet *applet = NM_APPLET (data); -- -- foo_set_icon (applet, applet->vpn_connecting_icons[applet->animation_step], ICON_LAYER_VPN); -- -- applet->animation_step++; -- if (applet->animation_step >= NUM_VPN_CONNECTING_FRAMES) -- applet->animation_step = 0; -- -- return TRUE; --} -- - static void - vpn_connection_state_changed (NMVPNConnection *connection, - NMVPNConnectionState state, -@@ -1030,10 +1014,6 @@ - - switch (state) { - case NM_VPN_CONNECTION_STATE_ACTIVATED: -- if (applet->animation_id) { -- g_source_remove (applet->animation_id); -- applet->animation_id = 0; -- } - foo_set_icon (applet, applet->vpn_lock_icon, ICON_LAYER_VPN); - // vpn_connection_info_set_last_attempt_success (info, TRUE); - break; -@@ -1041,10 +1021,7 @@ - case NM_VPN_CONNECTION_STATE_NEED_AUTH: - case NM_VPN_CONNECTION_STATE_CONNECT: - case NM_VPN_CONNECTION_STATE_IP_CONFIG_GET: -- if (applet->animation_id == 0) { -- applet->animation_step = 0; -- applet->animation_id = g_timeout_add (100, vpn_animation_timeout, applet); -- } -+ foo_set_icon (applet, applet->network_connecting_icon, ICON_LAYER_VPN); - break; - case NM_VPN_CONNECTION_STATE_FAILED: - // vpn_connection_info_set_last_attempt_success (info, FALSE); -@@ -1053,10 +1030,6 @@ - g_hash_table_remove (applet->vpn_connections, nm_vpn_connection_get_name (connection)); - /* Fall through */ - default: -- if (applet->animation_id) { -- g_source_remove (applet->animation_id); -- applet->animation_id = 0; -- } - foo_set_icon (applet, NULL, ICON_LAYER_VPN); - break; - } -@@ -2295,45 +2268,6 @@ - } FooAnimationTimeoutInfo; - - static void --foo_animation_timeout_info_destroy (gpointer data) --{ -- g_slice_free (FooAnimationTimeoutInfo, data); --} -- --static gboolean --foo_animation_timeout (gpointer data) --{ -- FooAnimationTimeoutInfo *info = (FooAnimationTimeoutInfo *) data; -- NMApplet *applet = info->applet; -- int stage = -1; -- -- switch (info->state) { -- case NM_DEVICE_STATE_PREPARE: -- stage = 0; -- break; -- case NM_DEVICE_STATE_CONFIG: -- stage = 1; -- break; -- case NM_DEVICE_STATE_IP_CONFIG: -- stage = 2; -- break; -- default: -- break; -- } -- -- if (stage >= 0) -- foo_set_icon (applet, -- applet->network_connecting_icons[stage][applet->animation_step], -- ICON_LAYER_LINK); -- -- applet->animation_step++; -- if (applet->animation_step >= NUM_CONNECTING_FRAMES) -- applet->animation_step = 0; -- -- return TRUE; --} -- --static void - foo_common_state_change (NMDevice *device, NMDeviceState state, NMApplet *applet) - { - FooAnimationTimeoutInfo *info; -@@ -2345,11 +2279,7 @@ - info = g_slice_new (FooAnimationTimeoutInfo); - info->applet = applet; - info->state = state; -- applet->animation_step = 0; -- applet->animation_id = g_timeout_add_full (G_PRIORITY_DEFAULT_IDLE, -- 100, foo_animation_timeout, -- info, -- foo_animation_timeout_info_destroy); -+ foo_set_icon (applet, applet->network_connecting_icon, ICON_LAYER_LINK); - break; - case NM_DEVICE_STATE_ACTIVATED: - break; -@@ -2602,12 +2532,6 @@ - NMApplet *applet = NM_APPLET (user_data); - gboolean handled = FALSE; - -- applet->animation_step = 0; -- if (applet->animation_id) { -- g_source_remove (applet->animation_id); -- applet->animation_id = 0; -- } -- - clear_active_connections (applet); - applet->active_connections = nm_client_get_active_connections (applet->nm_client); - -@@ -3166,17 +3090,8 @@ - if (applet->wireless_100_icon) - g_object_unref (applet->wireless_100_icon); - -- for (i = 0; i < NUM_CONNECTING_STAGES; i++) { -- int j; -- -- for (j = 0; j < NUM_CONNECTING_FRAMES; j++) -- if (applet->network_connecting_icons[i][j]) -- g_object_unref (applet->network_connecting_icons[i][j]); -- } -- -- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++) -- if (applet->vpn_connecting_icons[i]) -- g_object_unref (applet->vpn_connecting_icons[i]); -+ if (applet->network_connecting_icon) -+ g_object_unref (applet->network_connecting_icon); - - nma_icons_zero (applet); - } -@@ -3196,16 +3111,7 @@ - applet->wireless_75_icon = NULL; - applet->wireless_100_icon = NULL; - -- for (i = 0; i < NUM_CONNECTING_STAGES; i++) -- { -- int j; -- -- for (j = 0; j < NUM_CONNECTING_FRAMES; j++) -- applet->network_connecting_icons[i][j] = NULL; -- } -- -- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++) -- applet->vpn_connecting_icons[i] = NULL; -+ applet->network_connecting_icon = NULL; - - applet->icons_loaded = FALSE; - } -@@ -3257,28 +3163,7 @@ - ICON_LOAD(applet->wireless_75_icon, "nm-signal-75"); - ICON_LOAD(applet->wireless_100_icon, "nm-signal-100"); - -- for (i = 0; i < NUM_CONNECTING_STAGES; i++) -- { -- int j; -- -- for (j = 0; j < NUM_CONNECTING_FRAMES; j++) -- { -- char *name; -- -- name = g_strdup_printf ("nm-stage%02d-connecting%02d", i+1, j+1); -- ICON_LOAD(applet->network_connecting_icons[i][j], name); -- g_free (name); -- } -- } -- -- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++) -- { -- char *name; -- -- name = g_strdup_printf ("nm-vpn-connecting%02d", i+1); -- ICON_LOAD(applet->vpn_connecting_icons[i], name); -- g_free (name); -- } -+ ICON_LOAD(applet->network_connecting_icon, "nm-connecting"); - - success = TRUE; - -Index: trunk/src/applet.h -=================================================================== ---- trunk.orig/src/applet.h 2008-02-06 20:30:06.000000000 +0000 -+++ trunk/src/applet.h 2008-02-06 20:46:05.000000000 +0000 -@@ -111,20 +111,12 @@ - GdkPixbuf * wireless_50_icon; - GdkPixbuf * wireless_75_icon; - GdkPixbuf * wireless_100_icon; --#define NUM_CONNECTING_STAGES 3 --#define NUM_CONNECTING_FRAMES 11 -- GdkPixbuf * network_connecting_icons[NUM_CONNECTING_STAGES][NUM_CONNECTING_FRAMES]; --#define NUM_VPN_CONNECTING_FRAMES 14 -- GdkPixbuf * vpn_connecting_icons[NUM_VPN_CONNECTING_FRAMES]; -+ GdkPixbuf * network_connecting_icon; - GdkPixbuf * vpn_lock_icon; - - /* Active status icon pixbufs */ - GdkPixbuf * icon_layers[ICON_LAYER_MAX + 1]; - -- /* Animation stuff */ -- int animation_step; -- guint animation_id; -- - /* Direct UI elements */ - #ifdef HAVE_STATUS_ICON - GtkStatusIcon * status_icon; diff --git a/meta-extras/packages/networkmanager/files/applet-no-gnome.diff b/meta-extras/packages/networkmanager/files/applet-no-gnome.diff deleted file mode 100644 index e098e8c9edd..00000000000 --- a/meta-extras/packages/networkmanager/files/applet-no-gnome.diff +++ /dev/null @@ -1,59 +0,0 @@ ---- - configure.ac | 3 +-- - src/main.c | 8 ++++++++ - 2 files changed, 9 insertions(+), 2 deletions(-) - -Index: src/main.c -=================================================================== ---- src/main.c.orig 2007-09-26 10:39:16.000000000 +0100 -+++ src/main.c 2007-09-26 10:39:37.000000000 +0100 -@@ -27,7 +27,9 @@ - - #include - #include -+#if 0 - #include -+#endif - #include - - #include "applet.h" -@@ -36,11 +38,15 @@ - int main (int argc, char *argv[]) - { - NMApplet * applet; -+#if 0 - GnomeProgram * program; - - program = gnome_program_init ("nm-applet", VERSION, LIBGNOMEUI_MODULE, - argc, argv, - GNOME_PARAM_NONE, GNOME_PARAM_NONE); -+#else -+ gtk_init (&argc, &argv); -+#endif - - bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); -@@ -53,7 +59,9 @@ int main (int argc, char *argv[]) - gtk_main (); - - g_object_unref (applet); -+#if 0 - g_object_unref (program); -+#endif - - exit (0); - } -Index: configure.ac -=================================================================== ---- configure.ac.orig 2007-09-26 10:39:30.000000000 +0100 -+++ configure.ac 2007-09-26 10:39:37.000000000 +0100 -@@ -65,8 +65,7 @@ PKG_CHECK_MODULES(NMA, - gtk+-2.0 >= 2.6 - libglade-2.0 - gconf-2.0 -- gnome-keyring-1 -- libgnomeui-2.0]) -+ gnome-keyring-1]) - - ##### Find out the version of DBUS we're using - dbus_version=`pkg-config --modversion dbus-1` diff --git a/meta-extras/packages/networkmanager/files/libnlfix.patch b/meta-extras/packages/networkmanager/files/libnlfix.patch deleted file mode 100644 index 69f4922ea07..00000000000 --- a/meta-extras/packages/networkmanager/files/libnlfix.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: trunk/src/nm-netlink.c -=================================================================== ---- trunk.orig/src/nm-netlink.c 2007-09-25 22:37:50.000000000 +0100 -+++ trunk/src/nm-netlink.c 2009-05-16 12:44:26.000000000 +0100 -@@ -52,16 +52,20 @@ - struct nl_handle * - nm_netlink_get_default_handle (void) - { -+ struct nl_cb *cb; -+ - if (def_nl_handle) - return def_nl_handle; - -- def_nl_handle = nl_handle_alloc_nondefault (NL_CB_VERBOSE); -- g_assert (def_nl_handle); -+ cb = nl_cb_alloc(NL_CB_VERBOSE); -+ def_nl_handle = nl_handle_alloc_cb (cb); -+ if (!def_nl_handle) { -+ nm_warning ("couldn't allocate netlink handle."); -+ return NULL; -+ } - -- nl_handle_set_pid (def_nl_handle, (pthread_self () << 16 | getpid ())); - if (nl_connect (def_nl_handle, NETLINK_ROUTE) < 0) { - nm_error ("couldn't connect to netlink: %s", nl_geterror ()); -- nl_handle_destroy (def_nl_handle); - return NULL; - } - diff --git a/meta-extras/packages/networkmanager/files/makefile-fix.patch b/meta-extras/packages/networkmanager/files/makefile-fix.patch deleted file mode 100644 index 5fbbf3a74a4..00000000000 --- a/meta-extras/packages/networkmanager/files/makefile-fix.patch +++ /dev/null @@ -1,17 +0,0 @@ -This line causes libtool to try and create a program which fails since there is no -main(). This is hidden with libtool 1.5.10 but appears with 2.2.2. - -RP - 14/4/08 - -Index: trunk/src/ppp-manager/Makefile.am -=================================================================== ---- trunk.orig/src/ppp-manager/Makefile.am 2008-04-14 23:00:54.000000000 +0100 -+++ trunk/src/ppp-manager/Makefile.am 2008-04-14 23:01:24.000000000 +0100 -@@ -25,7 +25,6 @@ - $(top_builddir)/src/marshallers/libmarshallers.la - - nm_pppd_plugindir = $(libdir) --nm_pppd_plugin_PROGRAMS = nm-pppd-plugin.so - - nm_pppd_plugin_so_SOURCES = \ - nm-pppd-plugin.c \ diff --git a/meta-extras/packages/networkmanager/files/nmutil-fix.patch b/meta-extras/packages/networkmanager/files/nmutil-fix.patch deleted file mode 100644 index d8495bac401..00000000000 --- a/meta-extras/packages/networkmanager/files/nmutil-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: trunk/configure.ac -=================================================================== ---- trunk.orig/configure.ac 2009-01-08 10:49:26.000000000 -0600 -+++ trunk/configure.ac 2009-01-08 12:00:34.000000000 -0600 -@@ -62,6 +62,7 @@ - glib-2.0 >= 2.10 - NetworkManager >= 0.7.0 - libnm_glib -+ libnm-util - gtk+-2.0 >= 2.6 - libglade-2.0 - gconf-2.0 diff --git a/meta-extras/packages/networkmanager/files/no-restarts.diff b/meta-extras/packages/networkmanager/files/no-restarts.diff deleted file mode 100644 index 20bdf82aab6..00000000000 --- a/meta-extras/packages/networkmanager/files/no-restarts.diff +++ /dev/null @@ -1,21 +0,0 @@ -Index: src/backends/NetworkManagerDebian.c -=================================================================== ---- src/backends/NetworkManagerDebian.c (revision 2881) -+++ src/backends/NetworkManagerDebian.c (working copy) -@@ -204,8 +204,6 @@ - */ - void nm_system_update_dns (void) - { -- nm_spawn_process ("/usr/sbin/invoke-rc.d nscd restart"); -- - } - - -@@ -218,7 +216,6 @@ - */ - void nm_system_restart_mdns_responder (void) - { -- nm_spawn_process ("/usr/bin/killall -q -USR1 mDNSResponder"); - } - - diff --git a/meta-extras/packages/networkmanager/files/no_vpn.patch b/meta-extras/packages/networkmanager/files/no_vpn.patch deleted file mode 100644 index 49423e879fc..00000000000 --- a/meta-extras/packages/networkmanager/files/no_vpn.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: trunk/src/applet.c -=================================================================== ---- trunk.orig/src/applet.c 2008-02-29 17:47:39.000000000 +0000 -+++ trunk/src/applet.c 2008-02-29 17:48:38.000000000 +0000 -@@ -1783,7 +1783,7 @@ - } - - nma_menu_add_devices (menu, applet); -- nma_menu_add_vpn_submenu (menu, applet); -+ //nma_menu_add_vpn_submenu (menu, applet); - - gtk_widget_show_all (applet->menu); - diff --git a/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb b/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb deleted file mode 100644 index 1f0987011f4..00000000000 --- a/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "GTK+ applet for NetworkManager" -HOMEPAGE = "http://projects.gnome.org/NetworkManager/" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content=" -LICENSE = "GPLv2+ & LGPLv2.1+" -DEPENDS = "networkmanager dbus-glib libglade gconf gnome-keyring" -#TODO DEPENDS libnotify -RDEPENDS = "networkmanager dbus-wait" -PR = "r7" - -inherit gnome gtk-icon-cache - -SRC_URI = "svn://svn.gnome.org/svn/network-manager-applet/;module=trunk;proto=http \ - file://applet-no-gnome.diff;patch=1;pnum=0 \ - file://applet-no-animation.patch;patch=1 \ - file://no_vpn.patch;patch=1 \ - file://nmutil-fix.patch;patch=1 \ - file://70NetworkManagerApplet.shbg" - -PV = "0.0+svnr${SRCREV}" - -S = "${WORKDIR}/trunk" - -FILES_${PN} += "${datadir}/nm-applet/ \ - ${datadir}/gnome-vpn-properties/ \ - ${datadir}/gnome/autostart/" - -do_install_append () { - install -d ${D}${sysconfdir}/X11/Xsession.d/ - install -m 755 ${WORKDIR}/70NetworkManagerApplet.shbg ${D}${sysconfdir}/X11/Xsession.d/ -} - -#TODO: remove if libnotify in DEPENDS -EXTRA_OECONF += "--without-libnotify" diff --git a/meta-extras/packages/networkmanager/networkmanager_svn.bb b/meta-extras/packages/networkmanager/networkmanager_svn.bb deleted file mode 100644 index 40f04e497c8..00000000000 --- a/meta-extras/packages/networkmanager/networkmanager_svn.bb +++ /dev/null @@ -1,51 +0,0 @@ -DESCRIPTION = "NetworkManager" -HOMEPAGE = "http://projects.gnome.org/NetworkManager/" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content=" -SECTION = "net/misc" -LICENSE = "GPLv2+ & LGPLv2+" -PRIORITY = "optional" -DEPENDS = "libnl dbus dbus-glib hal gconf-dbus wireless-tools ppp gnome-common polkit" -RDEPENDS = "hal wpa-supplicant iproute2 dhcp-client" - -PV = "0.7+svnr${SRCREV}" -PR = "r10" - -SRC_URI="svn://svn.gnome.org/svn/NetworkManager/;module=trunk;proto=http \ - file://no-restarts.diff;patch=1;pnum=0 \ - file://libnlfix.patch;patch=1 \ - file://makefile-fix.patch;patch=1 \ - file://allow-disabling.patch;patch=1 \ - file://NetworkManager \ - file://99_networkmanager" - -EXTRA_OECONF = "--with-distro=debian \ - --with-ip=/sbin/ip" -# TODO: will /bin/ip from busybox do? - -S = "${WORKDIR}/trunk" - -inherit autotools pkgconfig update-rc.d - -INITSCRIPT_NAME = "NetworkManager" -INITSCRIPT_PARAMS = "defaults 22" - -do_install_append () { - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_networkmanager ${D}/etc/default/volatiles - # This overwrites the provided init script - install -m 0755 ${WORKDIR}/NetworkManager ${D}/etc/init.d/ - rmdir ${D}/var/run/NetworkManager - rmdir ${D}/var/run -} - -PACKAGES =+ "libnmutil libnmglib" - -FILES_libnmutil += "${libdir}/libnm-util.so.*" - -FILES_libnmglib += "${libdir}/libnm_glib.so.*" - -FILES_${PN}-dev = "${includedir}/* \ - ${libdir}/*.so \ - ${libdir}/*.a \ - ${libdir}/pkgconfig/*.pc \ - ${datadir}/NetworkManager/gdb-cmd" diff --git a/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch b/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch deleted file mode 100644 index 3367292e1f6..00000000000 --- a/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -ur notification-daemon-0.3.7.orig/configure.ac notification-daemon-0.3.7/configure.ac ---- notification-daemon-0.3.7.orig/configure.ac 2007-02-28 05:16:16.000000000 +0000 -+++ notification-daemon-0.3.7/configure.ac 2008-01-18 11:29:28.000000000 +0000 -@@ -82,9 +82,7 @@ - glib-2.0 >= $REQ_GLIB_VERSION, \ - dbus-1 >= $REQ_DBUS_VERSION, \ - dbus-glib-1 >= $REQ_DBUS_VERSION, \ -- libsexy >= $REQ_SEXY_VERSION, \ -- gconf-2.0, \ -- libwnck-1.0 \ -+ gconf-2.0 \ - " - PKG_CHECK_MODULES(NOTIFICATION_DAEMON, $pkg_modules) - AC_SUBST(NOTIFICATION_DAEMON_CFLAGS) -Only in notification-daemon-0.3.7/: configure.ac~ -Only in notification-daemon-0.3.7.orig/: debian -diff -ur notification-daemon-0.3.7.orig/src/daemon/daemon.c notification-daemon-0.3.7/src/daemon/daemon.c ---- notification-daemon-0.3.7.orig/src/daemon/daemon.c 2007-02-15 10:47:09.000000000 +0000 -+++ notification-daemon-0.3.7/src/daemon/daemon.c 2008-01-18 11:24:40.000000000 +0000 -@@ -39,9 +39,6 @@ - #include - #include - --#define WNCK_I_KNOW_THIS_IS_UNSTABLE --#include -- - #include "daemon.h" - #include "engines.h" - #include "stack.h" -@@ -771,37 +768,6 @@ - static gboolean - fullscreen_window_exists(GtkWidget *nw) - { -- WnckScreen *wnck_screen; -- GList *l; -- -- wnck_screen = wnck_screen_get(GDK_SCREEN_XNUMBER( -- gdk_drawable_get_screen(GDK_DRAWABLE(GTK_WIDGET(nw)->window)))); -- wnck_screen_force_update(wnck_screen); -- -- for (l = wnck_screen_get_windows_stacked(wnck_screen); -- l != NULL; -- l = l->next) -- { -- WnckWindow *wnck_win = (WnckWindow *)l->data; -- -- if (wnck_window_is_fullscreen(wnck_win)) -- { -- /* -- * Sanity check if the window is _really_ fullscreen to -- * work around a bug in libwnck that doesn't get all -- * unfullscreen events. -- */ -- int sw = wnck_screen_get_width(wnck_screen); -- int sh = wnck_screen_get_height(wnck_screen); -- int x, y, w, h; -- -- wnck_window_get_geometry(wnck_win, &x, &y, &w, &h); -- -- if (sw == w && sh == h) -- return TRUE; -- } -- } -- - return FALSE; - } - -Only in notification-daemon-0.3.7/src/daemon: daemon.c~ -diff -ur notification-daemon-0.3.7.orig/src/themes/standard/theme.c notification-daemon-0.3.7/src/themes/standard/theme.c ---- notification-daemon-0.3.7.orig/src/themes/standard/theme.c 2007-01-26 04:20:15.000000000 +0000 -+++ notification-daemon-0.3.7/src/themes/standard/theme.c 2008-01-18 11:34:58.000000000 +0000 -@@ -1,7 +1,6 @@ - #include "config.h" - - #include --#include - - typedef void (*ActionInvokedCb)(GtkWindow *nw, const char *key); - typedef void (*UrlClickedCb)(GtkWindow *nw, const char *url); -@@ -799,7 +798,7 @@ - gtk_widget_show(vbox); - gtk_box_pack_start(GTK_BOX(windata->content_hbox), vbox, TRUE, TRUE, 0); - -- windata->body_label = sexy_url_label_new(); -+ windata->body_label = gtk_label_new(NULL); - gtk_box_pack_start(GTK_BOX(vbox), windata->body_label, TRUE, TRUE, 0); - gtk_misc_set_alignment(GTK_MISC(windata->body_label), 0, 0); - gtk_label_set_line_wrap(GTK_LABEL(windata->body_label), TRUE); -@@ -874,7 +873,7 @@ - gtk_label_set_markup(GTK_LABEL(windata->summary_label), str); - g_free(str); - -- sexy_url_label_set_markup(SEXY_URL_LABEL(windata->body_label), body); -+ gtk_label_set_markup(GTK_LABEL(windata->body_label), body); - - if (body == NULL || *body == '\0') - gtk_widget_hide(windata->body_label); -Only in notification-daemon-0.3.7/src/themes/standard: theme.c~ diff --git a/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb b/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb deleted file mode 100644 index f443e307c99..00000000000 --- a/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "A dbus service that listens to desktop notification requests and displays them" -HOMEPAGE = "http://www.galago-project.org/" -SECTION = "x11" -LICENSE = "GPL" -DEPENDS = "dbus gtk+ gconf" - -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \ - file://no-wnck-sexy.patch;patch=1" - -EXTRA_OECONF = "--disable-binreloc" - -inherit autotools pkgconfig - -FILES_${PN} = "\ - ${libexecdir}/notification-daemon \ - ${datadir}/dbus-1/services/ \ - ${libdir}/notification-daemon-1.0/engines/*.so \ - ${sysconfdir}/gconf/schemas/notification-daemon.schemas \ -" - -FILES_${PN}-dbg += "${libexecdir}/.debug ${libdir}/notification-daemon-1.0/engines/.debug" diff --git a/meta-extras/packages/osc/osc-native_svn.bb b/meta-extras/packages/osc/osc-native_svn.bb deleted file mode 100755 index ab0ee0ba3a7..00000000000 --- a/meta-extras/packages/osc/osc-native_svn.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESCRIPTION = "osc - OpenSUSE build service command-line tool." -HOMEPAGE = "http://en.opensuse.org/Build_Service/CLI" -SECTION = "console/utils" -LICENSE = "GPL" -PV = "0.0+svnr${SRCREV}" -PR = "r1" -DEPENDS = "python-native rpm-native" -RDEPENDS = "" - -SRC_URI = "svn://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/clientlib/python;module=osc;proto=https" -S = "${WORKDIR}/osc" - -inherit native - -do_install() { - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \ - ${STAGING_BINDIR_NATIVE}/python setup.py build || - oefatal "python setup.py build execution failed." - - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install --prefix=${D}${prefix} --install-data=${D}${datadir} || \ - oefatal "python setup.py install execution failed." - - ln -sf osc-wrapper.py ${D}${bindir}/osc -} - diff --git a/meta-extras/packages/prism-firmware/prism-firmware.bb b/meta-extras/packages/prism-firmware/prism-firmware.bb deleted file mode 100644 index 903c55e15ed..00000000000 --- a/meta-extras/packages/prism-firmware/prism-firmware.bb +++ /dev/null @@ -1,32 +0,0 @@ -DESCRIPTION = "Firmware for the Prism 2.x/3 cards" -SECTION = "base" -LICENSE = "closed" -RDEPENDS = "hostap-utils" -RREPLACES = "prism3-firmware prism3-support" -RCONFLICTS = "prism3-firmware prism3-support" -PACKAGE_ARCH = "all" -PR = "r3" - -SRC_URI = "http://www.red-bean.com/~proski/firmware/primary.tar.bz2 \ - http://www.red-bean.com/~proski/firmware/1.7.4.tar.bz2 \ - file://prism-fw.sh \ - file://hostap.rules" - -do_install() { - install -d ${D}${base_libdir}/firmware/ - install -d ${D}${base_libdir}/udev/ - install -d ${D}${sysconfdir}/pcmcia/ - install -d ${D}${sysconfdir}/udev/rules.d/ - - install -m 0644 ${WORKDIR}/primary/af010104.hex ${D}${base_libdir}/firmware/ - install -m 0644 ${WORKDIR}/primary/ak010104.hex ${D}${base_libdir}/firmware/ - install -m 0644 ${WORKDIR}/primary/pm010102.hex ${D}${base_libdir}/firmware/ - - install -m 0644 ${WORKDIR}/1.7.4/rf010704.hex ${D}${base_libdir}/firmware/ - - install -m 0755 ${WORKDIR}/prism-fw.sh ${D}${base_libdir}/udev/ - install -m 0644 ${WORKDIR}/hostap.rules ${D}${sysconfdir}/udev/rules.d/ -} - -PACKAGES = "${PN}" -FILES_${PN} += "${base_libdir}" diff --git a/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules b/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules deleted file mode 100644 index dece98ae93d..00000000000 --- a/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules +++ /dev/null @@ -1,4 +0,0 @@ -# -# update firmware on Prism cards (load it to RAM, not to Flash) -# -SUBSYSTEM=="net", KERNEL=="wlan*" RUN="/lib/udev/prism-fw.sh" diff --git a/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh b/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh deleted file mode 100644 index 619f612be1b..00000000000 --- a/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -CARD_ID=`/usr/sbin/hostap_diag $INTERFACE|grep NICID|awk '{print $2}'|sed -e 's/id=0x//'` - -# 801d cards lack even Primary firmware so we cannot use hostap_diag -PRI=/lib/firmware/pm010102.hex -STA=/lib/firmware/rf010704.hex - -if [ $CARD_ID = '800c' ] || [ $CARD_ID = '8013' ] || [ $CARD_ID = '8017' ] || \ - [ $CARD_ID = '801b' ] || [ $CARD_ID = '8022' ] || [ $CARD_ID = '8023' ] ; then - PRI=/lib/firmware/ak010104.hex -elif [ $CARD_ID = '800b' ] || [ $CARD_ID = '8012' ] || [ $CARD_ID = '8016' ] || \ - [ $CARD_ID = '801a' ] ; then - PRI=/lib/firmware/af010104.hex -elif [ $CARD_ID = '800e' ] || [ $CARD_ID = '8015' ] || [ $CARD_ID = '8019' ] || \ - [ $CARD_ID = '801d' ] ; then - PRI=/lib/firmware/pm010102.hex -fi - -DIR=/proc/net/hostap/wlan0 - -if [ ! -d $DIR ]; then - exit 1 -fi - -if grep -q no_pri=1 $DIR/debug; then - /usr/sbin/prism2_srec -gs wlan0 $PRI - /usr/sbin/prism2_srec -gp wlan0 $PRI -fi - -/usr/sbin/prism2_srec -rp wlan0 $STA - diff --git a/meta-extras/packages/python/python-iniparse-native_0.3.2.bb b/meta-extras/packages/python/python-iniparse-native_0.3.2.bb deleted file mode 100644 index 41aa13d97a2..00000000000 --- a/meta-extras/packages/python/python-iniparse-native_0.3.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require python-iniparse_${PV}.bb -inherit native -DEPENDS = "python-native" -RDEPENDS = "" -PR = "r0" - diff --git a/meta-extras/packages/python/python-iniparse_0.3.2.bb b/meta-extras/packages/python/python-iniparse_0.3.2.bb deleted file mode 100644 index 27a38f4249c..00000000000 --- a/meta-extras/packages/python/python-iniparse_0.3.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "iniparse is a INI parser for Python" -HOMEPAGE = "http://code.google.com/p/iniparse/" -SECTION = "devel/python" -PRIORITY = "optional" -LICENSE = "GPL" -PR = "r0" - -SRC_URI = "http://iniparse.googlecode.com/files/iniparse-${PV}.tar.gz" -S = "${WORKDIR}/iniparse-${PV}" - -inherit distutils diff --git a/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb b/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb deleted file mode 100644 index ff8f02ecd73..00000000000 --- a/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require python-urlgrabber_${PV}.bb -inherit native -DEPENDS = "python-native python-pycurl-native" -RDEPENDS = "" diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch deleted file mode 100644 index 7a1ee059d1a..00000000000 --- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up urlgrabber-3.0.0/urlgrabber/grabber.py.cleanup urlgrabber-3.0.0/urlgrabber/grabber.py ---- urlgrabber-3.0.0/urlgrabber/grabber.py.cleanup 2007-11-29 10:25:13.000000000 +0000 -+++ urlgrabber-3.0.0/urlgrabber/grabber.py 2007-11-29 10:26:15.000000000 +0000 -@@ -1204,16 +1204,18 @@ class URLGrabberFileObject: - bs = 1024*8 - size = 0 - -- if amount is not None: bs = min(bs, amount - size) -- block = self.read(bs) -- size = size + len(block) -- while block: -- new_fo.write(block) -+ try: - if amount is not None: bs = min(bs, amount - size) - block = self.read(bs) - size = size + len(block) -+ while block: -+ new_fo.write(block) -+ if amount is not None: bs = min(bs, amount - size) -+ block = self.read(bs) -+ size = size + len(block) -+ finally: -+ new_fo.close() - -- new_fo.close() - try: - modified_tuple = self.hdr.getdate_tz('last-modified') - modified_stamp = rfc822.mktime_tz(modified_tuple) diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch deleted file mode 100644 index 90180d29a04..00000000000 --- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py -index e090e90..a26880c 100644 ---- a/urlgrabber/grabber.py -+++ b/urlgrabber/grabber.py -@@ -439,6 +439,12 @@ try: - except: - __version__ = '???' - -+try: -+ # this part isn't going to do much - need to talk to gettext -+ from i18n import _ -+except ImportError, msg: -+ def _(st): return st -+ - ######################################################################## - # functions for debugging output. These functions are here because they - # are also part of the module initialization. -@@ -1052,7 +1058,8 @@ class PyCurlFileObject(): - self._reget_length = 0 - self._prog_running = False - self._error = (None, None) -- self.size = None -+ self.size = 0 -+ self._hdr_ended = False - self._do_open() - - -@@ -1085,9 +1092,14 @@ class PyCurlFileObject(): - return -1 - - def _hdr_retrieve(self, buf): -+ if self._hdr_ended: -+ self._hdr_dump = '' -+ self.size = 0 -+ self._hdr_ended = False -+ - if self._over_max_size(cur=len(self._hdr_dump), - max_size=self.opts.max_header_size): -- return -1 -+ return -1 - try: - self._hdr_dump += buf - # we have to get the size before we do the progress obj start -@@ -1104,7 +1116,17 @@ class PyCurlFileObject(): - s = parse150(buf) - if s: - self.size = int(s) -- -+ -+ if buf.lower().find('location') != -1: -+ location = ':'.join(buf.split(':')[1:]) -+ location = location.strip() -+ self.scheme = urlparse.urlsplit(location)[0] -+ self.url = location -+ -+ if len(self._hdr_dump) != 0 and buf == '\r\n': -+ self._hdr_ended = True -+ if DEBUG: DEBUG.info('header ended:') -+ - return len(buf) - except KeyboardInterrupt: - return pycurl.READFUNC_ABORT -@@ -1136,6 +1158,7 @@ class PyCurlFileObject(): - self.curl_obj.setopt(pycurl.PROGRESSFUNCTION, self._progress_update) - self.curl_obj.setopt(pycurl.FAILONERROR, True) - self.curl_obj.setopt(pycurl.OPT_FILETIME, True) -+ self.curl_obj.setopt(pycurl.FOLLOWLOCATION, True) - - if DEBUG: - self.curl_obj.setopt(pycurl.VERBOSE, True) -@@ -1291,7 +1314,12 @@ class PyCurlFileObject(): - raise err - - elif str(e.args[1]) == '' and self.http_code != 0: # fake it until you make it -- msg = 'HTTP Error %s : %s ' % (self.http_code, self.url) -+ if self.scheme in ['http', 'https']: -+ msg = 'HTTP Error %s : %s ' % (self.http_code, self.url) -+ elif self.scheme in ['ftp']: -+ msg = 'FTP Error %s : %s ' % (self.http_code, self.url) -+ else: -+ msg = "Unknown Error: URL=%s , scheme=%s" % (self.url, self.scheme) - else: - msg = 'PYCURL ERROR %s - "%s"' % (errcode, str(e.args[1])) - code = errcode -@@ -1299,6 +1327,12 @@ class PyCurlFileObject(): - err.code = code - err.exception = e - raise err -+ else: -+ if self._error[1]: -+ msg = self._error[1] -+ err = URLGRabError(14, msg) -+ err.url = self.url -+ raise err - - def _do_open(self): - self.curl_obj = _curl_cache -@@ -1532,11 +1566,14 @@ class PyCurlFileObject(): - def _over_max_size(self, cur, max_size=None): - - if not max_size: -- max_size = self.size -- if self.opts.size: # if we set an opts size use that, no matter what -- max_size = self.opts.size -+ if not self.opts.size: -+ max_size = self.size -+ else: -+ max_size = self.opts.size -+ - if not max_size: return False # if we have None for all of the Max then this is dumb -- if cur > max_size + max_size*.10: -+ -+ if cur > int(float(max_size) * 1.10): - - msg = _("Downloaded more than max size for %s: %s > %s") \ - % (self.url, cur, max_size) -@@ -1582,7 +1619,11 @@ class PyCurlFileObject(): - self.opts.progress_obj.end(self._amount_read) - self.fo.close() - -- -+ def geturl(self): -+ """ Provide the geturl() method, used to be got from -+ urllib.addinfourl, via. urllib.URLopener.* """ -+ return self.url -+ - _curl_cache = pycurl.Curl() # make one and reuse it over and over and over - - -diff --git a/urlgrabber/progress.py b/urlgrabber/progress.py -index dd07c6a..45eb248 100644 ---- a/urlgrabber/progress.py -+++ b/urlgrabber/progress.py -@@ -658,6 +658,8 @@ def format_time(seconds, use_hours=0): - if seconds is None or seconds < 0: - if use_hours: return '--:--:--' - else: return '--:--' -+ elif seconds == float('inf'): -+ return 'Infinite' - else: - seconds = int(seconds) - minutes = seconds / 60 diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch deleted file mode 100644 index b63e7c33acf..00000000000 --- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/urlgrabber/grabber.py 2010-02-19 14:50:45.000000000 -0500 -+++ b/urlgrabber/grabber.py 2010-02-19 14:51:28.000000000 -0500 -@@ -1626,6 +1626,12 @@ - - _curl_cache = pycurl.Curl() # make one and reuse it over and over and over - -+def reset_curl_obj(): -+ """To make sure curl has reread the network/dns info we force a reload""" -+ global _curl_cache -+ _curl_cache.close() -+ _curl_cache = pycurl.Curl() -+ - - ##################################################################### - # DEPRECATED FUNCTIONS diff --git a/meta-extras/packages/python/python-urlgrabber_3.9.1.bb b/meta-extras/packages/python/python-urlgrabber_3.9.1.bb deleted file mode 100644 index 9f3a4cc6a7f..00000000000 --- a/meta-extras/packages/python/python-urlgrabber_3.9.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "urlgrabber is a pure python package that drastically simplifies the fetching of files." - -HOMEPAGE = "http://urlgrabber.baseurl.org/" -SECTION = "devel/python" -PRIORITY = "optional" -LICENSE = "GPL" -PR = "r1" - -SRC_URI = "http://urlgrabber.baseurl.org/download/urlgrabber-${PV}.tar.gz \ - file://urlgrabber-HEAD.patch;patch=1 \ - file://urlgrabber-reset.patch;patch=1" -S = "${WORKDIR}/urlgrabber-${PV}" - -DEPENDS = "python-pycurl" - -inherit distutils \ No newline at end of file diff --git a/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb b/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb deleted file mode 100644 index 0a44b99e2c7..00000000000 --- a/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb +++ /dev/null @@ -1,7 +0,0 @@ -require yum-metadata-parser_${PV}.bb -inherit native -DEPENDS = "python-native sqlite3-native glib-2.0-native libxml2-native" -RDEPENDS = "" -PR = "r0" - -#BUILD_CFLAGS += "-I${STAGING_LIBDIR}/glib-2.0" diff --git a/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb b/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb deleted file mode 100644 index 2e404a2bb16..00000000000 --- a/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "C-based metadata parser to quickly parse xml metadata into sqlite databases." -HOMEPAGE = "http://linux.duke.edu/projects/yum/download.ptml" -SECTION = "devel/python" -PRIORITY = "optional" -DEPENDS = "python sqlite3 glib-2.0 libxml2" -LICENSE = "GPL" - -PR = "r1" - -SRC_URI = "http://linux.duke.edu/projects/yum/download/yum-metadata-parser/yum-metadata-parser-${PV}.tar.gz" -S = "${WORKDIR}/yum-metadata-parser-${PV}" - -TARGET_CFLAGS += "-I${STAGING_LIBDIR}/glib-2.0" - -inherit distutils diff --git a/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch b/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch deleted file mode 100644 index 4ebc3dea8d3..00000000000 --- a/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 594157753a24d0575aaf948dc0e9500f6bdb2178 Mon Sep 17 00:00:00 2001 -From: Michael Krelin -Date: Sat, 2 Jun 2007 16:39:58 +0200 -Subject: [PATCH] fix mkspecs - ---- - mkspecs/common/g++.conf | 18 +++++++++--------- - mkspecs/common/linux.conf | 26 +++++++++++++------------- - 2 files changed, 22 insertions(+), 22 deletions(-) - -Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf -=================================================================== ---- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/g++.conf -+++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf -@@ -2,12 +2,12 @@ - # qmake configuration for common gcc - # - --QMAKE_CC = gcc --QMAKE_CFLAGS += -pipe -+QMAKE_CC = $(OE_QMAKE_CC) -+QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS) - QMAKE_CFLAGS_DEPS += -M - QMAKE_CFLAGS_WARN_ON += -Wall -W - QMAKE_CFLAGS_WARN_OFF += -w --QMAKE_CFLAGS_RELEASE += -O2 -+QMAKE_CFLAGS_RELEASE += -O2 - QMAKE_CFLAGS_DEBUG += -g - QMAKE_CFLAGS_SHLIB += -fPIC - QMAKE_CFLAGS_STATIC_LIB += -fPIC -@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility= - QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} - QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE} - --QMAKE_CXX = g++ --QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -+QMAKE_CXX = $(OE_QMAKE_CXX) -+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) - QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS - QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON - QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF -@@ -30,11 +30,11 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAG - QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} - QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE - --QMAKE_LINK = g++ --QMAKE_LINK_SHLIB = g++ --QMAKE_LINK_C = gcc --QMAKE_LINK_C_SHLIB = gcc --QMAKE_LFLAGS += -+QMAKE_LINK = $(OE_QMAKE_LINK) -+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) -+QMAKE_LINK_C = $(OE_QMAKE_CC) -+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_CC) -+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) - QMAKE_LFLAGS_RELEASE += -Wl,-O1 - QMAKE_LFLAGS_DEBUG += - QMAKE_LFLAGS_APP += -@@ -43,7 +43,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SH - QMAKE_LFLAGS_SONAME += -Wl,-soname, - QMAKE_LFLAGS_THREAD += - QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined --QMAKE_RPATH = -Wl,-rpath, -+QMAKE_RPATH = -Wl,-rpath-link, - - QMAKE_PCH_OUTPUT_EXT = .gch - -Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf -=================================================================== ---- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/linux.conf -+++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf -@@ -7,27 +7,27 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_ - - QMAKE_INCDIR = - QMAKE_LIBDIR = --QMAKE_INCDIR_X11 = /usr/X11R6/include --QMAKE_LIBDIR_X11 = /usr/X11R6/lib --QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] --QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] --QMAKE_INCDIR_OPENGL = /usr/X11R6/include --QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib -+QMAKE_INCDIR_X11 = -+QMAKE_LIBDIR_X11 = -+QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) -+QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) -+QMAKE_INCDIR_OPENGL = -+QMAKE_LIBDIR_OPENGL = - - QMAKE_LIBS = - QMAKE_LIBS_DYNLOAD = -ldl --QMAKE_LIBS_X11 = -lXext -lX11 -lm --QMAKE_LIBS_X11SM = -lSM -lICE -+QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) -+QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM) - QMAKE_LIBS_NIS = -lnsl - QMAKE_LIBS_OPENGL = -lGLU -lGL - QMAKE_LIBS_OPENGL_QT = -lGL - QMAKE_LIBS_THREAD = -lpthread - --QMAKE_MOC = $$[QT_INSTALL_BINS]/moc --QMAKE_UIC = $$[QT_INSTALL_BINS]/uic -+QMAKE_MOC = $(OE_QMAKE_MOC) -+QMAKE_UIC = $(OE_QMAKE_UIC) - --QMAKE_AR = ar cqs --QMAKE_OBJCOPY = objcopy -+QMAKE_AR = $(OE_QMAKE_AR) cqs -+QMAKE_OBJCOPY = $(OE_QMAKE_OBJCOPY) - QMAKE_RANLIB = - - QMAKE_TAR = tar -cf -@@ -39,7 +39,7 @@ QMAKE_COPY_DIR = $(COPY) -r - QMAKE_MOVE = mv -f - QMAKE_DEL_FILE = rm -f - QMAKE_DEL_DIR = rmdir --QMAKE_STRIP = strip -+QMAKE_STRIP = $(OE_QMAKE_STRIP) - QMAKE_STRIPFLAGS_LIB += --strip-unneeded - QMAKE_CHK_DIR_EXISTS = test -d - QMAKE_MKDIR = mkdir -p diff --git a/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf b/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf deleted file mode 100644 index f58481a693a..00000000000 --- a/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf +++ /dev/null @@ -1 +0,0 @@ -include(../linux-g++/qmake.conf) diff --git a/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch b/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch deleted file mode 100644 index 4197dbbf64a..00000000000 --- a/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp -=================================================================== ---- qtopia-core-opensource-src-4.3.1.orig/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:45:26.000000000 +0200 -+++ qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:57:09.000000000 +0200 -@@ -416,7 +416,7 @@ - t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t"; - if(!project->isEmpty("QMAKE_PRE_LINK")) - t << var("QMAKE_PRE_LINK") << "\n\t"; -- t << "$(LINK) $(LFLAGS) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)"; -+ t << "$(LINK) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS) $(LFLAGS)"; - if(!project->isEmpty("QMAKE_POST_LINK")) - t << "\n\t" << var("QMAKE_POST_LINK"); - t << endl << endl; -@@ -430,7 +430,7 @@ - t << mkdir_p_asstring(destdir) << "\n\t"; - if(!project->isEmpty("QMAKE_PRE_LINK")) - t << var("QMAKE_PRE_LINK") << "\n\t"; -- t << "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)"; -+ t << "$(LINK) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) $(LFLAGS)"; - if(!project->isEmpty("QMAKE_POST_LINK")) - t << "\n\t" << var("QMAKE_POST_LINK"); - t << endl << endl; diff --git a/meta-extras/packages/qmake/qmake2-cross_2.10a.bb b/meta-extras/packages/qmake/qmake2-cross_2.10a.bb deleted file mode 100644 index 60f738b9ce1..00000000000 --- a/meta-extras/packages/qmake/qmake2-cross_2.10a.bb +++ /dev/null @@ -1,74 +0,0 @@ -DESCRIPTION = "TrollTech Makefile Generator" -PRIORITY = "optional" -HOMEPAGE = "http://www.trolltech.com" -SECTION = "devel" -LICENSE = "GPL" -PR = "r2" - -QTVER = "qt-embedded-linux-opensource-src-4.5.3" - -SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \ - file://0001-fix-mkspecs.patch;patch=1 \ - file://use-lflags-last.patch;patch=1 \ - file://linux-oe-qmake.conf" -S = "${WORKDIR}/${QTVER}" - -# we need the real target system here -CROSS_SYS := "${TARGET_SYS}" -CROSS_BINDIR := "${STAGING_BINDIR_CROSS}" -inherit autotools cross - -export QTDIR = "${S}" -EXTRA_OEMAKE = "-e" -EXTRA_OECONF = "-opensource" - -do_configure() { - # Install the OE build templates - for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ - do - install -d ${S}/mkspecs/$template - install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf - ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h - done - - QMAKESPEC= - PLATFORM=${HOST_OS}-oe-g++ - export PLATFORM - # yes, TARGET_SYS is correct, because this is a 'cross'-qmake-native :) :M: - export OE_QMAKE_CC="${CC}" - export OE_QMAKE_CFLAGS="${CFLAGS}" - export OE_QMAKE_CXX="${CXX}" - export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}" - export OE_QMAKE_LDFLAGS="${LDFLAGS}" - export OE_QMAKE_LINK="${CCLD}" - export OE_QMAKE_AR="${AR}" - export OE_QMAKE_OBJCOPY="${OBJCOPY}" - export OE_QMAKE_STRIP="${STRIP}" - export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic" - export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc" - export OE_QMAKE_RCC="non-existant" - export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake" - export OE_QMAKE_RPATH="-Wl,-rpath-link," - echo yes | ./configure -prefix ${STAGING_DIR}/${CROSS_SYS}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed" -} - -do_compile() { - : -} - -do_install() { - install -d ${D}${CROSS_BINDIR}/ - install -m 0755 bin/qmake ${D}${CROSS_BINDIR}/qmake2 - install -m 0755 bin/qmake ${D}${CROSS_BINDIR}/qmake-qt4 - install -d ${D}${STAGING_DIR}/${CROSS_SYS}/qt4/ - cp -PfR mkspecs ${D}${STAGING_DIR}/${CROSS_SYS}/qt4/ - install -d ${D}${STAGING_DIR}/${HOST_SYS}/qt4/ - cp -PfR mkspecs ${D}${STAGING_DIR}/${HOST_SYS}/qt4/ -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/${STAGING_DIR_NATIVE}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/qt4 - sysroot_stage_dir ${D}/${STAGING_DIR_TARGET}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/qt4 -} - - diff --git a/meta-extras/packages/redland/files/crosscompile.patch b/meta-extras/packages/redland/files/crosscompile.patch deleted file mode 100644 index 281007a7919..00000000000 --- a/meta-extras/packages/redland/files/crosscompile.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: redland-1.0.8/raptor/configure.ac -=================================================================== ---- redland-1.0.8.orig/raptor/configure.ac 2008-12-16 17:26:58.000000000 +0000 -+++ redland-1.0.8/raptor/configure.ac 2008-12-16 17:27:41.000000000 +0000 -@@ -279,23 +279,7 @@ - - if test $ac_cv_func_vsnprintf = yes; then - AC_MSG_CHECKING(vsnprintf has C99 compatible return value) -- AC_TRY_RUN([#include --int is_c99(char *s, ...) { -- char buffer[32]; -- va_list args; -- int r; -- va_start(args, s); -- r = vsnprintf(buffer, 5, s, args); -- va_end(args); -- -- return (r == 7); --} -- --int main(int argc, char* argv) { -- return is_c99("1234567"); --}], AC_MSG_RESULT(no), -- AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [vsnprint has C99 compatible return value]) -- AC_MSG_RESULT(yes)) -+ AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [vsnprint has C99 compatible return value]) - fi - - need_libm=no diff --git a/meta-extras/packages/redland/files/sane_pkgconfig.patch b/meta-extras/packages/redland/files/sane_pkgconfig.patch deleted file mode 100644 index 32742e2b296..00000000000 --- a/meta-extras/packages/redland/files/sane_pkgconfig.patch +++ /dev/null @@ -1,126 +0,0 @@ -Index: redland-1.0.8/configure.ac -=================================================================== ---- redland-1.0.8.orig/configure.ac 2008-07-04 07:56:25.000000000 +0100 -+++ redland-1.0.8/configure.ac 2008-12-17 23:04:25.000000000 +0000 -@@ -404,7 +404,7 @@ - - if test "$have_libdb" = yes; then - bdb_available="Version $bdb_version (library $bdb_dbname in $bdb_lib_dir)" -- LIBRDF_LIBS="$LIBRDF_LIBS $nLDFLAGS -l$bdb_dbname" -+ LIBRDF_LIBS="$LIBRDF_LIBS -l$bdb_dbname" - LIBRDF_CPPFLAGS="$LIBRDF_CPPFLAGS $nCPPFLAGS" - fi - -Index: redland-1.0.8/raptor/configure.ac -=================================================================== ---- redland-1.0.8.orig/raptor/configure.ac 2008-12-17 23:04:25.000000000 +0000 -+++ redland-1.0.8/raptor/configure.ac 2008-12-18 11:18:36.000000000 +0000 -@@ -304,9 +304,12 @@ - AC_DEFINE(HAVE_ROUND, 1, [have round() in libm]), - AC_MSG_RESULT(no)) - LIBS="$oLIBS" -+PRIV_PC_LIBS="" -+PRIV_PC_REQS="" - - if test "X$need_libm" = Xyes; then - LIBS="$LIBS -lm" -+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lm" - fi - - -@@ -369,6 +372,7 @@ - AC_MSG_CHECKING(for working expat in libxmlparse and libxmltok) - if test $xmlp = 1 -a $xmlt = 1 -a $ac_cv_header_xmlparse_h = yes; then - LIBS="$LIBS -lxmlparse -lxmltok" -+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lxmlparse -lxmltok" - AC_TRY_RUN([#include - main() {XML_ParserCreate(NULL); return(0);}], - worked=yes, worked=no, worked=no) -@@ -391,6 +395,7 @@ - AC_MSG_CHECKING(for working expat in libexpat) - if test $libexpat = 1 -a $ac_cv_header_expat_h = yes ; then - LIBS="$LIBS -lexpat" -+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lexpat" - AC_TRY_RUN([#include - main() {XML_ParserCreate(NULL); return(0);}], - worked=yes, worked=no, worked=no) -@@ -531,6 +536,7 @@ - oLIBS="$LIBS" - if test "X$XML_CONFIG" != X; then - LIBS="$LIBS `$XML_CONFIG --libs`" -+ PRIV_PC_REQS="$PRIV_PC_REQS libxml-2.0" - AC_CHECK_FUNC(xmlCreatePushParserCtxt, have_xmlCreatePushParserCtxt=yes, have_xmlCreatePushParserCtxt=no) - AC_MSG_CHECKING(for system (GNOME) libxml library) - if test $have_xmlCreatePushParserCtxt = yes; then -@@ -637,6 +643,7 @@ - oLIBS="$LIBS" - if test "X$XSLT_CONFIG" != X; then - LIBS="$LIBS `$XSLT_CONFIG --libs`" -+ PRIV_PC_REQS="$PRIV_PC_REQS libxslt" - AC_CHECK_FUNC(xsltSaveResultToString, have_xsltSaveResultToString=yes, have_xsltSaveResultToString=no) - AC_MSG_CHECKING(for system libxslt library) - if test $have_xsltSaveResultToString = yes; then -@@ -1034,6 +1041,7 @@ - if test $need_libcurl = 1; then - CPPFLAGS="$CPPFLAGS `$CURL_CONFIG --cflags`" - LIBS="$LIBS `$CURL_CONFIG --libs`" -+ PRIV_PC_REQS="$PRIV_PC_REQS libcurl" - AC_LIBOBJ(raptor_www_curl) - - fi -@@ -1054,6 +1062,7 @@ - if test $ac_cv_header_libinn_h = yes; then - CPPFLAGS="$CPPFLAGS -I/usr/include/inn" - LIBS="$LIBS -L/usr/lib/news -linn" -+ PRIV_PC_LIBS="$PRIV_PC_LIBS -linn" - AC_CHECK_LIB(inn, HashMessageID, have_libinn=yes) - - AC_MSG_CHECKING(parsedate in libinn) -@@ -1102,6 +1111,7 @@ - - if test $need_libfetch = 1; then - LIBS="$LIBS -lfetch" -+ PRIV_PC_LIBS="$PRIV_PC_REQS -lfetch" - AC_LIBOBJ(raptor_www_libfetch) - fi - -@@ -1120,6 +1130,7 @@ - else - LIBS="$LIBS `$XML_CONFIG --libs`" - CPPFLAGS="`$XML_CONFIG --cflags` $CPPFLAGS" -+ PRIV_PC_REQS="$PRIV_PC_REQS libxml-2.0" - fi - RAPTOR_XML_PARSER=libxml - fi -@@ -1147,6 +1158,7 @@ - if test $need_libxslt = 1; then - LIBS="$LIBS `$XSLT_CONFIG --libs`" - CPPFLAGS="`$XSLT_CONFIG --cflags` $CPPFLAGS" -+ PRIV_PC_REQS="$PRIV_PC_REQS libxslt" - fi - - RAPTOR_LIBTOOLLIBS=libraptor.la -@@ -1214,6 +1226,9 @@ - AC_SUBST(MEM_LIBS) - AC_SUBST(STANDARD_CFLAGS) - -+AC_SUBST(PRIV_PC_LIBS) -+AC_SUBST(PRIV_PC_REQS) -+ - ECHO_N="$ECHO_N" - ECHO_C="$ECHO_C" - AC_SUBST(ECHO_N) -Index: redland-1.0.8/raptor/raptor.pc.in -=================================================================== ---- redland-1.0.8.orig/raptor/raptor.pc.in 2008-12-17 23:06:47.000000000 +0000 -+++ redland-1.0.8/raptor/raptor.pc.in 2008-12-17 23:07:20.000000000 +0000 -@@ -6,7 +6,8 @@ - Name: Raptor - Description: RDF Parser Toolkit Library - Version: @VERSION@ -+Requires.private: @PRIV_PC_REQS@ - Libs: -L${libdir} -lraptor --Libs.private: @LIBS@ -+Libs.private: @PRIV_PC_LIBS@@ - Cflags: -I${includedir} - diff --git a/meta-extras/packages/redland/redland_1.0.8.bb b/meta-extras/packages/redland/redland_1.0.8.bb deleted file mode 100644 index f1ff8f8e897..00000000000 --- a/meta-extras/packages/redland/redland_1.0.8.bb +++ /dev/null @@ -1,9 +0,0 @@ -SRC_URI = "http://download.librdf.org/source/redland-1.0.8.tar.gz \ - file://crosscompile.patch;patch=1 \ - file://sane_pkgconfig.patch;patch=1" - -PR = "r3" - -EXTRA_OECONF = "--with-bdb-lib=${STAGING_LIBDIR} --with-bdb-include=${STAGING_INCDIR} --with-sqlite=no" - -inherit autotools diff --git a/meta-extras/packages/smart/smart_1.1.bb b/meta-extras/packages/smart/smart_1.1.bb deleted file mode 100644 index 8f89eb3e00d..00000000000 --- a/meta-extras/packages/smart/smart_1.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION = "Next generation package handling tool." -HOMEPAGE = "http://labix.org/smart/" -LICENSE = "GPL v2+" -DEPENDS = "zlib python desktop-file-utils-native python-pygtk rpm" - -SRC_URI = "http://labix.org/download/smart/smart-1.1.tar.bz2" - -S = "${WORKDIR}/smart-${PV}" - -inherit distutils - -FILES_${PN} += "/usr/share/lib/${PYTHON_DIR}/site-packages/smart/interfaces/images/*.png \ - /usr/share/lib/${PYTHON_DIR/site-packages/smart/backends/" - -FILES_${PN}-doc += "/usr/share/share/man/man8/smart.8" - -FILES_${PN}-locale += "/usr/share/share/locale/es_ES/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/it/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/de/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/ru/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/sv/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/fr/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/hu/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/zh_TW/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/pt_BR/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/zh_CN/LC_MESSAGES/smart.mo" - -FILES_${PN}-dbg += "/usr/lib/${PYTHON_DIR}/site-packages/smart/backends/rpm/.debug \ - /usr/lib/${PYTHON_DIR}/site-packages/smart/backends/deb/.debug \" \ No newline at end of file diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw.bb b/meta-extras/packages/spectrum-fw/spectrum-fw.bb deleted file mode 100644 index 45011d336c3..00000000000 --- a/meta-extras/packages/spectrum-fw/spectrum-fw.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Firmware for Spectrum Wireless LAN cards" -DEPENDS += " unzip-native " -LICENSE = "closed" -PR = "r2" - -SRC_URI = "http://ftp.osuosl.org/pub/nslu2/sources/MC&DriverOnlyInstallers.zip \ - file://get_symbol_fw \ - file://parse_symbol_fw" -S = "${WORKDIR}" - -do_configure() { - ./get_symbol_fw -} - -do_install() { - install -d ${D}${base_libdir}/firmware/ - install -m 0755 ${WORKDIR}/symbol_sp24t_prim_fw ${D}${base_libdir}/firmware/symbol_sp24t_prim_fw - install -m 0755 ${WORKDIR}/symbol_sp24t_sec_fw ${D}${base_libdir}/firmware/symbol_sp24t_sec_fw -} - -PACKAGE_ARCH = "all" -FILES_${PN} += "${base_libdir}/firmware/symbol*" diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw b/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw deleted file mode 100755 index 80420b01a8d..00000000000 --- a/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# Get firmware for Symbol Spectrum24 Trilogy. -# Both the header file and the binary firmware files are produced. - -# Copyright (C) 2004 Pavel Roskin - -# This script is Free Software, and it can be copied, distributed and -# modified as defined in the GNU General Public License. A copy of -# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html - -# Usage: get_symbol_fw -# Output: spectrum_fw.h symbol_sp24t_prim_fw symbol_sp24t_sec_fw -# Needed tools: curl (or wget), unzip, perl. - -set -e - -DL_INT1='S24DRVR392B67-01.exe' -DL_INT2='Driver Only Installer/NetWLan5.sys' -DRIVER1=symbol1.drv -DRIVER2=symbol2.drv - -unzip -p $DL_INT1 "$DL_INT2" >$DRIVER2 - -perl parse_symbol_fw $DRIVER2 spectrum_fw.h symbol_sp24t_prim_fw \ - symbol_sp24t_sec_fw - -rm -f $DRIVER1 $DRIVER2 - diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw b/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw deleted file mode 100755 index 7fe0ea57c47..00000000000 --- a/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/perl -w - -# Extract Symbol firmware and convert is to a header file and two binary -# files. - -# Copyright (C) 2004 Pavel Roskin - -# This script is Free Software, and it can be copied, distributed and -# modified as defined in the GNU General Public License. A copy of -# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html - -# Usage: -# parse_symbol_fw infile header binfile1 binfile2 - -use strict; - -# Print message and exit (like "die", but without raising an exception). -# Newline is added at the end. -sub error -{ - printf STDERR "ERROR: "; - printf STDERR @_; - printf STDERR "\n"; - exit 1; -} - -sub readnum_ba () -{ - my $byte_a; - read INFILE,$byte_a,1; - my $byte_b; - read INFILE,$byte_b,1; - return (ord($byte_b) << 8) + ord($byte_a); -} - - -if ($#ARGV != 3) { - error ("Usage: parse_symbol_fw infile header binfile1 binfile2"); -} - -unless (open (INFILE, "< $ARGV[0]")) { - error ("couldn't open $ARGV[0] for reading: $!"); -} - -unless (open (OUTFILE, "> $ARGV[1]")) { - error ("couldn't open $ARGV[1] for writing: $!"); -} - -# Process one array, either for primary or for secondary firmware -sub process_one_array($$) { - my $arrname = shift(@_); - my $binfile = shift(@_); - my $offset = -1; - my $str_offset = 0; - - # Skip to the beginning of firmware - $/ = "\x00"; - while () { - if (m{FILE: }g) { - $offset = $str_offset + pos() - 6; - last; - } - $str_offset = tell(INFILE); - } - - if ($offset == -1) { - error("Cannot find FILE: marker"); - } - - my @fwdata = split; - print $fwdata[1] . "\n"; - seek(INFILE, $offset, 0); - - my $blknum = $fwdata[3]; - my $pdrlen = $fwdata[4]; - my $crclen = $fwdata[5]; - my $compatlen = $fwdata[6]; - - while (!eof(INFILE)) { - my $byte; - read INFILE, $byte, 1; - last if (ord($byte) == 0x1a); - } - - # Walk all blocks - my $block = $blknum; - while ($block-- > 0) { - seek(INFILE, 4, 1); - my $len = readnum_ba(); - seek(INFILE, $len, 1); - } - - my $img_len = tell(INFILE) - $offset + $pdrlen + $crclen + $compatlen + 2; - seek(INFILE, $offset, 0); - - # Write binary file for the section - unless (open (BINFILE, "> $binfile")) { - error ("couldn't open $binfile for writing: $!"); - } - - # Output the array - printf OUTFILE "/* %s %s */\n", $fwdata[1], $fwdata[2]; - printf OUTFILE "static u8 %s[] = {\n", $arrname; - - my $count = 0; - while ($count++ < $img_len) { - my $byte; - read INFILE, $byte, 1; - $byte = ord($byte); - printf OUTFILE "0x%02x,", $byte; - printf BINFILE "%c", $byte; - if ($count % 16 == 0) { - printf OUTFILE "\n"; - } - } - - if ($img_len % 16) { - printf OUTFILE "\n"; - } - - print OUTFILE "};\n"; - close(BINFILE); -} - -process_one_array("primsym", $ARGV[2]); -process_one_array("secsym", $ARGV[3]); - -close(INFILE); -close(OUTFILE); diff --git a/meta-extras/packages/syslog-ng/files/initscript b/meta-extras/packages/syslog-ng/files/initscript deleted file mode 100644 index b95e8adc201..00000000000 --- a/meta-extras/packages/syslog-ng/files/initscript +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/sh -# -# This is an init script for openembedded -# Copy it to /etc/init.d/syslog-ng and type -# > update-rc.d syslog-ng defaults 5 -# - - -syslog_ng=/usr/sbin/syslog-ng -test -x "$syslog_ng" || exit 0 - -case "$1" in - start) - echo -n "Starting syslog-ng:" - start-stop-daemon --start --quiet --exec $syslog_ng - echo "." - ;; - stop) - echo -n "Stopping syslog-ng:" - start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng - ;; - restart) - echo "Stopping syslog-ng:" - start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid - echo -n "Waiting for syslog-ng to die off" - for i in 1 2 3 ; - do - sleep 1 - echo -n "." - done - echo "" - echo -n "Starting syslog-ng:" - start-stop-daemon --start --quiet --exec $syslog_ng - echo "." - ;; - *) - echo "Usage: /etc/init.d/syslog-ng {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-extras/packages/syslog-ng/files/syslog-ng.conf b/meta-extras/packages/syslog-ng/files/syslog-ng.conf deleted file mode 100644 index 4d1e9f8b22d..00000000000 --- a/meta-extras/packages/syslog-ng/files/syslog-ng.conf +++ /dev/null @@ -1,89 +0,0 @@ -# -# Syslog-ng example configuration for for Debian GNU/Linux -# -# Copyright (c) 1999 anonymous -# Copyright (c) 1999 Balazs Scheidler -# $Id: syslog-ng.conf.sample,v 1.3 2003/05/20 08:57:27 asd Exp $ -# -# Syslog-ng configuration file, compatible with default Debian syslogd -# installation. -# - -options { long_hostnames(off); sync(0); }; - -source src { file("/proc/kmsg"); unix-stream("/dev/log"); internal(); }; -source net { udp(); }; - -destination authlog { file("/var/log/auth.log"); }; -destination syslog { file("/var/log/syslog"); }; -destination cron { file("/var/log/cron.log"); }; -destination daemon { file("/var/log/daemon.log"); }; -destination kern { file("/var/log/kern.log"); }; -destination lpr { file("/var/log/lpr.log"); }; -destination user { file("/var/log/user.log"); }; -destination uucp { file("/var/log/uucp.log"); }; -destination ppp { file("/var/log/ppp.log"); }; -destination mail { file("/var/log/mail.log"); }; - -destination mailinfo { file("/var/log/mail.info"); }; -destination mailwarn { file("/var/log/mail.warn"); }; -destination mailerr { file("/var/log/mail.err"); }; - -destination newscrit { file("/var/log/news/news.crit"); }; -destination newserr { file("/var/log/news/news.err"); }; -destination newsnotice { file("/var/log/news/news.notice"); }; - -destination debug { file("/var/log/debug"); }; -destination messages { file("/var/log/messages"); }; -destination console { usertty("root"); }; -destination console_all { file("/dev/tty12"); }; -#destination loghost { udp("loghost" port(999)); }; - - -destination xconsole { pipe("/dev/xconsole"); }; - -filter f_auth { facility(auth); }; -filter f_authpriv { facility(auth, authpriv); }; -filter f_syslog { not facility(authpriv, mail); }; -filter f_cron { facility(cron); }; -filter f_daemon { facility(daemon); }; -filter f_kern { facility(kern); }; -filter f_lpr { facility(lpr); }; -filter f_mail { facility(mail); }; -filter f_user { facility(user); }; -filter f_uucp { facility(cron); }; -filter f_ppp { facility(local2); }; -filter f_news { facility(news); }; -filter f_debug { not facility(auth, authpriv, news, mail); }; -filter f_messages { level(info..warn) - and not facility(auth, authpriv, mail, news); }; -filter f_emergency { level(emerg); }; - -filter f_info { level(info); }; -filter f_notice { level(notice); }; -filter f_warn { level(warn); }; -filter f_crit { level(crit); }; -filter f_err { level(err); }; - -log { source(src); filter(f_authpriv); destination(authlog); }; -log { source(src); filter(f_syslog); destination(syslog); }; -log { source(src); filter(f_cron); destination(cron); }; -log { source(src); filter(f_daemon); destination(daemon); }; -log { source(src); filter(f_kern); destination(kern); }; -log { source(src); filter(f_lpr); destination(lpr); }; -log { source(src); filter(f_mail); destination(mail); }; -log { source(src); filter(f_user); destination(user); }; -log { source(src); filter(f_uucp); destination(uucp); }; -log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); }; -log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); }; -log { source(src); filter(f_mail); filter(f_err); destination(mailerr); }; -log { source(src); filter(f_news); filter(f_crit); destination(newscrit); }; -log { source(src); filter(f_news); filter(f_err); destination(newserr); }; -log { source(src); filter(f_news); filter(f_notice); destination(newsnotice); }; -log { source(src); filter(f_debug); destination(debug); }; -log { source(src); filter(f_messages); destination(messages); }; -log { source(src); filter(f_emergency); destination(console); }; -log { source(src); filter(f_ppp); destination(ppp); }; -log { source(src); destination(console_all); }; - - diff --git a/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb b/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb deleted file mode 100644 index 0d13b922f25..00000000000 --- a/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb +++ /dev/null @@ -1,34 +0,0 @@ -DESCRIPTION = "Alternative system logger daemon" -DEPENDS = "libol flex eventlog glib-2.0" -PR = "r1" - -SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/${P}.tar.gz \ - file://syslog-ng.conf \ - file://initscript" - -S = "${WORKDIR}/${PN}-${PV}" - -inherit autotools update-rc.d - -EXTRA_OECONF = "--with-libol=${STAGING_BINDIR_CROSS}/ --enable-dynamic-linking" - -do_install_append() { - install -d ${D}/${sysconfdir}/${PN} - install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/syslog-ng.conf - install -d ${D}/${sysconfdir}/init.d - install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog-ng -} - -pkg_postinst() { - update-rc.d -f syslog remove -} - -pkg_postrm() { - update-rc.d syslog add 5 -} - -CONFFILES_${PN} = "${sysconfdir}/syslog-ng.conf" - -INITSCRIPT_NAME = "syslog-ng" -#INITSCRIPT_PARAMS = "defaults 05" -INITSCRIPT_PARAMS = "remove" diff --git a/meta-extras/packages/tasks/task-poky-extras.bb b/meta-extras/packages/tasks/task-poky-extras.bb deleted file mode 100644 index c983beda977..00000000000 --- a/meta-extras/packages/tasks/task-poky-extras.bb +++ /dev/null @@ -1,9 +0,0 @@ -PACKAGES = "task-poky-extraapps" -DESCRIPTION = "Extras Tasks for OpenedHand Poky" - -ALLOW_EMPTY = "1" - -RDEPENDS_task-poky-extraapps = "\ - madplay \ - maemo-mapper-nohildon \ - mc" diff --git a/meta-extras/packages/tasks/task-poky-x11-netbook.bb b/meta-extras/packages/tasks/task-poky-x11-netbook.bb deleted file mode 100644 index 9c5d9ce300c..00000000000 --- a/meta-extras/packages/tasks/task-poky-x11-netbook.bb +++ /dev/null @@ -1,28 +0,0 @@ -# -# Copyright (C) 2008 Intel. -# - -DESCRIPTION = "Netbook Tasks for Poky" -PR = "r1" - -PACKAGES = "\ - task-poky-x11-netbook \ - task-poky-x11-netbook-dbg \ - task-poky-x11-netbook-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ALLOW_EMPTY = "1" - -NETWORK_MANAGER ?= "connman-gnome" -RDEPENDS_task-poky-x11-netbook = "\ - mutter \ - matchbox-desktop \ - matchbox-session-netbook \ - matchbox-config-gtk \ - xcursor-transparent-theme \ - sato-icon-theme \ - settings-daemon \ - gtk-sato-engine \ - ${NETWORK_MANAGER}" diff --git a/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch b/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch deleted file mode 100644 index 2bd1b191daa..00000000000 --- a/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: Twisted-2.5.0/TwistedCore-2.5.0/twisted/__init__.py -=================================================================== ---- Twisted-2.5.0.orig/TwistedCore-2.5.0/twisted/__init__.py 2007-03-05 16:30:08.117422472 +0100 -+++ Twisted-2.5.0/TwistedCore-2.5.0/twisted/__init__.py 2007-03-05 16:30:13.810553949 +0100 -@@ -14,13 +14,6 @@ - raise RuntimeError("Twisted requires Python 2.3 or later.") - del sys - --# Ensure zope.interface is installed --try: -- from zope.interface import Interface -- del Interface --except ImportError: -- raise ImportError("you need zope.interface installed " -- "(http://zope.org/Products/ZopeInterface/)") - - # Ensure compat gets imported - from twisted.python import compat diff --git a/meta-extras/packages/twisted/twisted_2.5.0.bb b/meta-extras/packages/twisted/twisted_2.5.0.bb deleted file mode 100644 index e00b351b2ae..00000000000 --- a/meta-extras/packages/twisted/twisted_2.5.0.bb +++ /dev/null @@ -1,175 +0,0 @@ -DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \ -Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \ -(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." -HOMEPAGE = "http://www.twistedmatrix.com" -SECTION = "console/network" -PRIORITY = "optional" -LICENSE = "LGPL" -RDEPENDS = "python-core python-zopeinterface" -RDEPENDS_python-twisted += "python-twisted-bin python-twisted-conch python-twisted-core \ - python-twisted-lore python-twisted-mail python-twisted-names \ - python-twisted-news python-twisted-runner python-twisted-web \ - python-twisted-words" -PR = "r5" - -SRC_URI = "http://tmrc.mit.edu/mirror/twisted/Twisted/2.5/Twisted-${PV}.tar.bz2 \ - file://remove-zope-check.patch;patch=1" - -S = "${WORKDIR}/Twisted-${PV}" - -inherit distutils - -PACKAGES += "python-twisted-zsh python-twisted-test python-twisted-protocols \ - python-twisted-bin python-twisted-conch python-twisted-lore \ - python-twisted-mail python-twisted-names python-twisted-news python-twisted-runner \ - python-twisted-web python-twisted-words python-twisted python-twisted-core \ - " - -ALLOW_EMPTY = "1" -FILES_${PN} = "" -FILES_python-twisted = "" - -FILES_python-twisted-test = " \ -${libdir}/python2.4/site-packages/twisted/python/web/test \ -" - -FILES_python-twisted-protocols = " \ -${libdir}/python2.4/site-packages/twisted/python/protocols/ \ -" - -FILES_python-twisted-zsh = " \ -${libdir}/python2.4/site-packages/twisted/python/zsh \ -${libdir}/python2.4/site-packages/twisted/python/zshcomp.* \ -" - -FILES_python-twisted-bin = " \ -${libdir}/python2.4/site-packages/twisted/protocols/_c_urlarg.so \ -${libdir}/python2.4/site-packages/twisted/spread/cBanana.so" - -FILES_python-twisted-conch = " \ -${bindir}/ckeygen \ -${bindir}/tkconch \ -${bindir}/conch \ -${bindir}/conchftp \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_conch.py \ -${libdir}/python2.4/site-packages/twisted/conch \ -" - -FILES_python-twisted-core = " \ -${bindir}/manhole \ -${bindir}/mktap \ -${bindir}/twistd \ -${bindir}/tap2deb \ -${bindir}/tap2rpm \ -${bindir}/tapconvert \ -${bindir}/tkmktap \ -${bindir}/trial \ -${libdir}/python2.4/site-packages/twisted/*.py \ -${libdir}/python2.4/site-packages/twisted/plugins/__init__.py \ -${libdir}/python2.4/site-packages/twisted/plugins/notestplugin.py \ -${libdir}/python2.4/site-packages/twisted/plugins/testplugin.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_ftp.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_inet.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_manhole.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_portforward.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_socks.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_telnet.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_trial.py \ -${libdir}/python2.4/site-packages/twisted/plugins/dropin.cache \ -${libdir}/python2.4/site-packages/twisted/application \ -${libdir}/python2.4/site-packages/twisted/cred \ -${libdir}/python2.4/site-packages/twisted/enterprise \ -${libdir}/python2.4/site-packages/twisted/internet \ -${libdir}/python2.4/site-packages/twisted/manhole \ -${libdir}/python2.4/site-packages/twisted/manhole \ -${libdir}/python2.4/site-packages/twisted/persisted \ -${libdir}/python2.4/site-packages/twisted/protocols\ -${libdir}/python2.4/site-packages/twisted/python\ -${libdir}/python2.4/site-packages/twisted/python/timeoutqueue.py \ -${libdir}/python2.4/site-packages/twisted/python/filepath.py \ -${libdir}/python2.4/site-packages/twisted/python/dxprofile.py \ -${libdir}/python2.4/site-packages/twisted/python/plugin.py \ -${libdir}/python2.4/site-packages/twisted/python/htmlizer.py \ -${libdir}/python2.4/site-packages/twisted/python/__init__.py \ -${libdir}/python2.4/site-packages/twisted/python/dispatch.py \ -${libdir}/python2.4/site-packages/twisted/python/hook.py \ -${libdir}/python2.4/site-packages/twisted/python/threadpool.py \ -${libdir}/python2.4/site-packages/twisted/python/otp.py \ -${libdir}/python2.4/site-packages/twisted/python/usage.py \ -${libdir}/python2.4/site-packages/twisted/python/roots.py \ -${libdir}/python2.4/site-packages/twisted/python/versions.py \ -${libdir}/python2.4/site-packages/twisted/python/urlpath.py \ -${libdir}/python2.4/site-packages/twisted/python/util.py \ -${libdir}/python2.4/site-packages/twisted/python/components.py \ -${libdir}/python2.4/site-packages/twisted/python/logfile.py \ -${libdir}/python2.4/site-packages/twisted/python/runtime.py \ -${libdir}/python2.4/site-packages/twisted/python/reflect.py \ -${libdir}/python2.4/site-packages/twisted/python/context.py \ -${libdir}/python2.4/site-packages/twisted/python/threadable.py \ -${libdir}/python2.4/site-packages/twisted/python/rebuild.py \ -${libdir}/python2.4/site-packages/twisted/python/failure.py \ -${libdir}/python2.4/site-packages/twisted/python/lockfile.py \ -${libdir}/python2.4/site-packages/twisted/python/formmethod.py \ -${libdir}/python2.4/site-packages/twisted/python/finalize.py \ -${libdir}/python2.4/site-packages/twisted/python/win32.py \ -${libdir}/python2.4/site-packages/twisted/python/dist.py \ -${libdir}/python2.4/site-packages/twisted/python/shortcut.py \ -${libdir}/python2.4/site-packages/twisted/python/zipstream.py \ -${libdir}/python2.4/site-packages/twisted/python/release.py \ -${libdir}/python2.4/site-packages/twisted/python/syslog.py \ -${libdir}/python2.4/site-packages/twisted/python/log.py \ -${libdir}/python2.4/site-packages/twisted/python/compat.py \ -${libdir}/python2.4/site-packages/twisted/python/zshcomp.py \ -${libdir}/python2.4/site-packages/twisted/python/procutils.py \ -${libdir}/python2.4/site-packages/twisted/python/text.py \ -${libdir}/python2.4/site-packages/twisted/python/_twisted_zsh_stub \ -${libdir}/python2.4/site-packages/twisted/scripts/ \ -${libdir}/python2.4/site-packages/twisted/spread/ \ -${libdir}/python2.4/site-packages/twisted/tap/ \ -${libdir}/python2.4/site-packages/twisted/trial/ \ -${libdir}/python2.4/site-packages/twisted/__init__.py \ -${libdir}/python2.4/site-packages/twisted/_version.py \ -${libdir}/python2.4/site-packages/twisted/copyright.py \ -${libdir}/python2.4/site-packages/twisted/im.py \ -${libdir}/python2.4/site-packages/twisted/plugin.py \ -" - -FILES_python-twisted-lore = " \ -${bindir}/bookify \ -${bindir}/lore \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_lore.py \ -${libdir}/python2.4/site-packages/twisted/lore \ -" - -FILES_python-twisted-mail = " \ -${bindir}/mailmail \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_mail.py \ -${libdir}/python2.4/site-packages/twisted/mail \ -" - -FILES_python-twisted-names = " \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_names.py \ -${libdir}/python2.4/site-packages/twisted/names \ -" - -FILES_python-twisted-news = " \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_news.py \ -${libdir}/python2.4/site-packages/twisted/news \ -" - -FILES_python-twisted-runner = " \ -${libdir}python2.4/site-packages/twisted/runner/portmap.so \ -${libdir}/python2.4/site-packages/twisted/runner\ -" - -FILES_python-twisted-web = " \ -${bindir}/websetroot \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_web.py \ -${libdir}/python2.4/site-packages/twisted/web\ -" - -FILES_python-twisted-words = " \ -${bindir}/im \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_words.py \ -${libdir}/python2.4/site-packages/twisted/words\ -" diff --git a/meta-extras/packages/uicmoc/uicmoc4-native.inc b/meta-extras/packages/uicmoc/uicmoc4-native.inc deleted file mode 100644 index b6933628d97..00000000000 --- a/meta-extras/packages/uicmoc/uicmoc4-native.inc +++ /dev/null @@ -1,67 +0,0 @@ -DESCRIPTION = "User-Interface-, Meta-Object-, and Resource Compiler for Qt/[X11|Mac|Embedded] version 4.x" -DEPENDS = "zlib-native" -SECTION = "libs" -HOMEPAGE = "http://www.trolltech.com" -PRIORITY = "optional" -LICENSE = "GPL" -PR = "r1" - -SRC_URI = "ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-${PV}.tar.gz" -S = "${WORKDIR}/qtopia-core-opensource-src-${PV}" - -inherit native - -EXTRA_OECONF = "-prefix ${STAGING_DIR_NATIVE}/qt4 \ - -qt-libjpeg -qt-gif -system-zlib \ - -no-nis -no-cups -no-exceptions \ - -no-accessibility -no-libjpeg \ - -no-nas-sound -no-sm \ - -no-xshape -no-xinerama \ - -no-xcursor -no-xrandr \ - -no-xrender -no-fontconfig \ - -no-tablet -no-xkb \ - -no-libpng \ - -verbose -release -fast -static \ - -L ${STAGING_LIBDIR_NATIVE} \ - -qt3support " -# yank default -e -EXTRA_OEMAKE = " " - -do_configure() { - sed -i 's:^QT += xml qt3support$:QT += xml qt3support network:' "${S}"/src/tools/uic3/uic3.pro - echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}" -} - -TOBUILD = "\ - src/tools/moc \ - src/corelib \ - src/sql \ - src/qt3support \ - src/xml \ - src/tools/uic \ - src/tools/rcc \ - src/network \ - src/gui \ - src/tools/uic3 \ -" - -do_compile() { - unset CC CXX CFLAGS LFLAGS CXXFLAGS CPPFLAGS - for i in ${TOBUILD}; do - cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}" - done -} - -do_install() { - install -d ${D}${bindir}/ - install -m 0755 bin/moc ${D}${bindir}//moc4 - install -m 0755 bin/uic ${D}${bindir}/uic4 - install -m 0755 bin/uic3 ${D}${bindir}/uic34 - install -m 0755 bin/rcc $${D}${bindir}/rcc4 - install -d ${D}/qt4/ - install -m 0644 tools/porting/src/q3porting.xml ${D}/qt4/ -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/qt4 -} diff --git a/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb b/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb deleted file mode 100644 index 1950f630682..00000000000 --- a/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb +++ /dev/null @@ -1 +0,0 @@ -require uicmoc4-native.inc diff --git a/meta-extras/packages/xorg-app/iceauth_1.0.2.bb b/meta-extras/packages/xorg-app/iceauth_1.0.2.bb deleted file mode 100644 index 3dec6f46609..00000000000 --- a/meta-extras/packages/xorg-app/iceauth_1.0.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DESCRIPTION = "a tool for manipulating ICE protocol authorization records" - -DEPENDS += " libice" diff --git a/meta-extras/packages/xorg-app/luit_1.0.2.bb b/meta-extras/packages/xorg-app/luit_1.0.2.bb deleted file mode 100644 index 00ae395c617..00000000000 --- a/meta-extras/packages/xorg-app/luit_1.0.2.bb +++ /dev/null @@ -1,8 +0,0 @@ -require xorg-app-common.inc -PE = "1" -PR = "r1" - -DESCRIPTION = "a filter for locale and ISO 2022 support on Unicode terminals" - -DEPENDS += " zlib virtual/libx11 libfontenc libxdmcp" - diff --git a/meta-extras/packages/xorg-app/oclock_1.0.1.bb b/meta-extras/packages/xorg-app/oclock_1.0.1.bb deleted file mode 100644 index b2abeadfb0e..00000000000 --- a/meta-extras/packages/xorg-app/oclock_1.0.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxmu libxext libxt" - diff --git a/meta-extras/packages/xorg-app/rgb_1.0.1.bb b/meta-extras/packages/xorg-app/rgb_1.0.1.bb deleted file mode 100644 index f3622410ee6..00000000000 --- a/meta-extras/packages/xorg-app/rgb_1.0.1.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " xproto util-macros" - -FILES_${PN} += "${datadir}/X11" diff --git a/meta-extras/packages/xorg-app/sessreg_1.0.4.bb b/meta-extras/packages/xorg-app/sessreg_1.0.4.bb deleted file mode 100644 index 6dc94a36995..00000000000 --- a/meta-extras/packages/xorg-app/sessreg_1.0.4.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DESCRIPTION = "a simple program for managing utmp/wtmp entries" - -DEPENDS += " virtual/libx11" diff --git a/meta-extras/packages/xorg-app/twm_1.0.4.bb b/meta-extras/packages/xorg-app/twm_1.0.4.bb deleted file mode 100644 index b8e75b2bbdb..00000000000 --- a/meta-extras/packages/xorg-app/twm_1.0.4.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DESCRIPTION = "tiny window manager" - -DEPENDS += " virtual/libx11 libxext libxt libxmu" - -ALTERNATIVE_PATH = "${bindir}/twm" -ALTERNATIVE_NAME = "x-window-manager" -ALTERNATIVE_LINK = "${bindir}/x-window-manager" -ALTERNATIVE_PRIORITY = "1" diff --git a/meta-extras/packages/xorg-app/xbiff_1.0.1.bb b/meta-extras/packages/xorg-app/xbiff_1.0.1.bb deleted file mode 100644 index 5ccac5cf175..00000000000 --- a/meta-extras/packages/xorg-app/xbiff_1.0.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc -PE = "1" -PR = "r1" - -DEPENDS += " libxaw xbitmaps libxext" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb b/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb deleted file mode 100644 index 852b8037577..00000000000 --- a/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxaw libxt" diff --git a/meta-extras/packages/xorg-app/xclock_1.0.4.bb b/meta-extras/packages/xorg-app/xclock_1.0.4.bb deleted file mode 100644 index bbd839a1329..00000000000 --- a/meta-extras/packages/xorg-app/xclock_1.0.4.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc -DESCRIPTION = "analog / digital clock for X" -DEPENDS += " virtual/libx11 libxaw libxrender libxft libxkbfile libxt" -PE = "1" - diff --git a/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb b/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb deleted file mode 100644 index 056d04bf12b..00000000000 --- a/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxdmcp" diff --git a/meta-extras/packages/xorg-app/xconsole_1.0.3.bb b/meta-extras/packages/xorg-app/xconsole_1.0.3.bb deleted file mode 100644 index 0e28d9897ef..00000000000 --- a/meta-extras/packages/xorg-app/xconsole_1.0.3.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc -DESCRIPTION = "monitor system console messages with X" -DEPENDS += " libxt" -PE = "1" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb b/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb deleted file mode 100644 index 98e619e99a6..00000000000 --- a/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -DESCRIPTION = "create an X cursor file from a collection of PNG images" -DEPENDS += " virtual/libx11 libxcursor libpng" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb b/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb deleted file mode 100644 index b995e917530..00000000000 --- a/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -DESCRIPTION = "query configuration information of DRI drivers" -DEPENDS += " virtual/libx11 glproto virtual/libgl" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xfd_1.0.1.bb b/meta-extras/packages/xorg-app/xfd_1.0.1.bb deleted file mode 100644 index f2b0c128355..00000000000 --- a/meta-extras/packages/xorg-app/xfd_1.0.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc -PE = "1" -PR = "r1" - -DEPENDS += " libxaw freetype fontconfig libxft libxt" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb b/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb deleted file mode 100644 index 294b029b72c..00000000000 --- a/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "point and click selection of X11 font names" -DEPENDS += " libxaw" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xgamma_1.0.2.bb b/meta-extras/packages/xorg-app/xgamma_1.0.2.bb deleted file mode 100644 index e5d479aa81f..00000000000 --- a/meta-extras/packages/xorg-app/xgamma_1.0.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "Alter a monitor's gamma correction through the X server" -DEPENDS += " virtual/libx11 libxxf86vm" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb b/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb deleted file mode 100644 index 4223f934389..00000000000 --- a/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxkbfile virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb b/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb deleted file mode 100644 index 4223f934389..00000000000 --- a/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxkbfile virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb b/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb deleted file mode 100644 index 102a9ba2d85..00000000000 --- a/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc - -#DESCRIPTION = "" - -DEPENDS += " libxaw libxkbfile virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xkill_1.0.1.bb b/meta-extras/packages/xorg-app/xkill_1.0.1.bb deleted file mode 100644 index b6ede179c15..00000000000 --- a/meta-extras/packages/xorg-app/xkill_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxmu" diff --git a/meta-extras/packages/xorg-app/xload_1.0.2.bb b/meta-extras/packages/xorg-app/xload_1.0.2.bb deleted file mode 100644 index adc79bc7edd..00000000000 --- a/meta-extras/packages/xorg-app/xload_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "system load average display for X" -DEPENDS += " libxaw libxt" -PE = "1" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xlogo_1.0.1.bb b/meta-extras/packages/xorg-app/xlogo_1.0.1.bb deleted file mode 100644 index 393d99b3336..00000000000 --- a/meta-extras/packages/xorg-app/xlogo_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxaw libxprintutil libxp libxrender libxft libxext libxt" diff --git a/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb b/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb deleted file mode 100644 index b6ede179c15..00000000000 --- a/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxmu" diff --git a/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb b/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb deleted file mode 100644 index b6ede179c15..00000000000 --- a/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxmu" diff --git a/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb b/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb deleted file mode 100644 index 31cd482b610..00000000000 --- a/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "server font list displayer for X" -DEPENDS += " virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xmag_1.0.2.bb b/meta-extras/packages/xorg-app/xmag_1.0.2.bb deleted file mode 100644 index 1f01603462b..00000000000 --- a/meta-extras/packages/xorg-app/xmag_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "magnify parts of the screen" -DEPENDS += " libxaw libxt" -PE = "1" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xmessage_1.0.2.bb b/meta-extras/packages/xorg-app/xmessage_1.0.2.bb deleted file mode 100644 index 82b6a9a5775..00000000000 --- a/meta-extras/packages/xorg-app/xmessage_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "xmessage displays a message or query in a window." -DEPENDS += " libxaw libxt" -PE = "1" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xorg-app-common.inc b/meta-extras/packages/xorg-app/xorg-app-common.inc deleted file mode 100644 index 11f7fe3e006..00000000000 --- a/meta-extras/packages/xorg-app/xorg-app-common.inc +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "X application" -HOMEPAGE = "http://www.x.org/" -SECTION = "x11/apps" -LICENSE = "MIT-X" -DEPENDS = "util-macros-native virtual/libx11" - -XORG_PN = "${PN}" - -SRC_URI = "${XORG_MIRROR}/individual/app/${XORG_PN}-${PV}.tar.bz2" - -S = "${WORKDIR}/${XORG_PN}-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} += " /usr/lib/X11/${XORG_PN}" diff --git a/meta-extras/packages/xorg-app/xpr_1.0.2.bb b/meta-extras/packages/xorg-app/xpr_1.0.2.bb deleted file mode 100644 index 96b340c8c73..00000000000 --- a/meta-extras/packages/xorg-app/xpr_1.0.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "print an X window dump" -DEPENDS += " libxmu virtual/libx11" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb b/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb deleted file mode 100644 index 8a569b06595..00000000000 --- a/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb b/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb deleted file mode 100644 index 0f63feb79ff..00000000000 --- a/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "Sets the visual appearance of the X root window" -LICENSE = "MIT" -DEPENDS += "libxmu xbitmaps" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb b/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb deleted file mode 100644 index 6a2e501624c..00000000000 --- a/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxmu virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xterm_207.bb b/meta-extras/packages/xorg-app/xterm_207.bb deleted file mode 100644 index aae600b5450..00000000000 --- a/meta-extras/packages/xorg-app/xterm_207.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "xterm app" -SECTION = "x11/applications" -LICENSE = "MIT-X" - -DEPENDS = "libxaw xproto virtual/libx11 xextproto xext xau libxpm ncurses" - -SRC_URI = "${XORG_MIRROR}/development/X11R7.0-RC4/extras/${PN}-${PV}.tar.gz" - -inherit autotools pkgconfig - -FILES_${PN} += " /usr/lib/X11" - -#EXTRA_OERECONF = " -I${S}/xterm.m4" -EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR} FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config --disable-imake" - -#do_configure_prepend () { -# mv ${S}/aclocal.m4 ${S}/xterm.m4 -#} -do_configure() { - - sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure - - oe_runconf -} diff --git a/meta-extras/packages/xorg-app/xtrap_1.0.2.bb b/meta-extras/packages/xorg-app/xtrap_1.0.2.bb deleted file mode 100644 index cf87d235c75..00000000000 --- a/meta-extras/packages/xorg-app/xtrap_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxtrap" diff --git a/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb b/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb deleted file mode 100644 index 8a20fff4e8e..00000000000 --- a/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc -PE = "1" -PR = "r1" - -DEPENDS += " libxaw libxxf86vm libxt" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb b/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb deleted file mode 100644 index ac27f13f342..00000000000 --- a/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "Print out X-Video extension adaptor information" -DEPENDS += " libxv" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xwd_1.0.1.bb b/meta-extras/packages/xorg-app/xwd_1.0.1.bb deleted file mode 100644 index 6a2e501624c..00000000000 --- a/meta-extras/packages/xorg-app/xwd_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxmu virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xwud_1.0.1.bb b/meta-extras/packages/xorg-app/xwud_1.0.1.bb deleted file mode 100644 index 8a569b06595..00000000000 --- a/meta-extras/packages/xorg-app/xwud_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11" diff --git a/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb b/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb deleted file mode 100644 index f622d769d57..00000000000 --- a/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-data-common.inc - -DESCRIPTION = "Common X11 Bitmaps" -LICENSE = "MIT" -DEPENDS += "libxmu" diff --git a/meta-extras/packages/xorg-data/xorg-data-common.inc b/meta-extras/packages/xorg-data/xorg-data-common.inc deleted file mode 100644 index e128763398a..00000000000 --- a/meta-extras/packages/xorg-data/xorg-data-common.inc +++ /dev/null @@ -1,10 +0,0 @@ -HOMEPAGE = "http://www.x.org" -SECTION = "x11/data" -LICENSE = "MIT-X" - -XORG_PN = "${PN}" - -SRC_URI = "${XORG_MIRROR}/individual/data/${XORG_PN}-${PV}.tar.bz2" -S = "${WORKDIR}/${XORG_PN}-${PV}" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch deleted file mode 100644 index f87e7cc2cda..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100 -+++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000 -@@ -198,6 +198,11 @@ - return FALSE; - } - -+ /* Re-get the "fixed" parameters since they might have changed */ -+ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); -+ if (k < 0) -+ perror ("FBIOGET_FSCREENINFO"); -+ - /* Now get the new screeninfo */ - ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); - depth = priv->var.bits_per_pixel; diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch deleted file mode 100644 index 3da235e1e17..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch +++ /dev/null @@ -1,15 +0,0 @@ -# Reverse include order in render/picturestr.h to be able to compile against renderproto >= 0.9.3 -Index: xorg-server-1.2.0/render/picturestr.h -=================================================================== ---- xorg-server-1.2.0.orig/render/picturestr.h 2008-02-09 22:54:46.000000000 +0100 -+++ xorg-server-1.2.0/render/picturestr.h 2008-02-09 22:54:50.000000000 +0100 -@@ -26,8 +26,8 @@ - #ifndef _PICTURESTR_H_ - #define _PICTURESTR_H_ - --#include "glyphstr.h" - #include "scrnintstr.h" -+#include "glyphstr.h" - #include "resource.h" - - typedef struct _DirectFormat { diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch deleted file mode 100644 index edc5146302e..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - hw/kdrive/src/kmode.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c -=================================================================== ---- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2007-05-16 10:30:29.000000000 +0100 -+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-05-16 10:31:08.000000000 +0100 -@@ -106,6 +106,8 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 120, 176, KdSyncNegative, /* 37.861 */ - 1, 20, 24, KdSyncNegative, /* 72.809 */ - }, -+ /* DEFAULT */ -+#define MONITOR_TIMING_DEFAULT 13 - { 640, 480, 60, 25175, /* VESA */ - 16, 48, 160, KdSyncNegative, /* 31.469 */ - 10, 33, 45, KdSyncNegative, /* 59.940 */ -@@ -127,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 160, 256, KdSyncPositive, /* 46.875 */ - 1, 21, 25, KdSyncPositive, /* 75.000 */ - }, -- /* DEFAULT */ --#define MONITOR_TIMING_DEFAULT 9 - { 800, 600, 72, 50000, /* VESA */ - 56, 64, 240, KdSyncPositive, /* 48.077 */ - 37, 23, 66, KdSyncPositive, /* 72.188 */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch deleted file mode 100644 index 56817a70012..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- /tmp/kmode.c 2007-10-07 11:49:52.000000000 +0200 -+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-10-07 11:51:57.962045000 +0200 -@@ -119,7 +119,19 @@ - 0, 0, 0, KdSyncNegative, /* 59.940 */ - }, - -- -+ -+/* gumstix console-vx */ -+ { 480, 272, 60, 0, /* VESA */ -+ 0, 0, 0, KdSyncNegative, /* 31.469 */ -+ 0, 0, 0, KdSyncNegative, /* 59.940 */ -+ }, -+ -+ { 272, 480, 60, 0, /* VESA */ -+ 0, 0, 0, KdSyncNegative, /* 31.469 */ -+ 0, 0, 0, KdSyncNegative, /* 59.940 */ -+ }, -+ -+ - /* 800x600 modes */ - { 800, 600, 85, 56250, /* VESA */ - 32, 152, 248, KdSyncPositive, /* 53.674 */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch deleted file mode 100644 index 714536934cd..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch +++ /dev/null @@ -1,419 +0,0 @@ -diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c ---- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c 2006-11-16 19:01:23.000000000 +0100 -+++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c 2007-09-15 16:53:20.152045000 +0200 -@@ -213,6 +213,24 @@ - - /* Now get the new screeninfo */ - ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); -+ /* Special treatment of 18bpp */ -+ if ((priv->var.red.length == 6) && (priv->var.green.length == 6) && -+ (priv->var.blue.length == 6)) -+ { -+ priv->var.red.length = 8; -+ if (priv->var.red.offset != 0) -+ priv->var.red.offset = 16; -+ priv->var.green.length = 8; -+ priv->var.green.offset = 8; -+ priv->var.blue.length = 8; -+ if (priv->var.blue.offset != 0) -+ priv->var.blue.offset = 16; -+ priv->var.bits_per_pixel = 32; -+ priv->Have18Bpp = TRUE; -+ } -+ else -+ priv->Have18Bpp = FALSE; -+ - depth = priv->var.bits_per_pixel; - gray = priv->var.grayscale; - -@@ -334,7 +352,7 @@ - KdMouseMatrix m; - FbdevPriv *priv = screen->card->driver; - -- if (scrpriv->randr != RR_Rotate_0) -+ if (scrpriv->randr != RR_Rotate_0 || priv->Have18Bpp) - scrpriv->shadow = TRUE; - else - scrpriv->shadow = FALSE; -@@ -398,6 +416,354 @@ - return TRUE; - } - -+void -+shadowUpdatePacked18 (ScreenPtr pScreen, -+ shadowBufPtr pBuf) -+{ -+ RegionPtr damage = shadowDamage (pBuf); -+ PixmapPtr pShadow = pBuf->pPixmap; -+ int nbox = REGION_NUM_RECTS (damage); -+ BoxPtr pbox = REGION_RECTS (damage); -+ FbBits *shaBase, *shaLine, *sha; -+ FbStride shaStride; -+ int scrBase, scrLine, scr; -+ int shaBpp; -+ int shaXoff, shaYoff; /* XXX assumed to be zero */ -+ int x, y, w, h, width; -+ int i; -+ char *winBase = NULL, *win; -+ CARD32 winSize; -+ -+ fbGetDrawable (&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, shaYoff); -+ while (nbox--) -+ { -+ x = pbox->x1 * shaBpp; -+ y = pbox->y1; -+ w = (pbox->x2 - pbox->x1) * shaBpp; -+ h = pbox->y2 - pbox->y1; -+ -+ scrLine = (x >> FB_SHIFT); -+ shaLine = shaBase + y * shaStride + (x >> FB_SHIFT); -+ -+ x &= FB_MASK; -+ w = (w + x + FB_MASK) >> FB_SHIFT; -+ -+ while (h--) -+ { -+ winSize = 0; -+ scrBase = 0; -+ width = w; -+ scr = scrLine; -+ sha = shaLine; -+ while (width) { -+ /* how much remains in this window */ -+ i = scrBase + winSize - scr; -+ if (i <= 0 || scr < scrBase) -+ { -+ winBase = (char *) (*pBuf->window) (pScreen, -+ y, -+ scr * 3, -+ SHADOW_WINDOW_WRITE, -+ &winSize, -+ pBuf->closure); -+ if(!winBase) -+ return; -+ scrBase = scr; -+ winSize /= 3; -+ i = winSize; -+ } -+ win = winBase + (scr - scrBase); -+ if (i > width) -+ i = width; -+ width -= i; -+ scr += i; -+#define PickBit(a,i) (((a) >> (i)) & 1) -+ while (i--) -+ { -+ FbBits bits = *sha++; -+ *win++ = ((bits & 0xFC) >> 2) | -+ ((bits & 0xC00) >> 4); -+ *win++ = ((bits & 0xF000) >> 12) | -+ ((bits & 0x3C0000) >> 14); -+ *win++ = (bits & 0xC00000) >> 22; -+ } -+ } -+ shaLine += shaStride; -+ y++; -+ } -+ pbox++; -+ } -+} -+ -+#define LEFT_TO_RIGHT 1 -+#define RIGHT_TO_LEFT -1 -+#define TOP_TO_BOTTOM 2 -+#define BOTTOM_TO_TOP -2 -+ -+void -+shadowUpdateRotatePacked18 (ScreenPtr pScreen, -+ shadowBufPtr pBuf) -+{ -+ RegionPtr damage = shadowDamage (pBuf); -+ PixmapPtr pShadow = pBuf->pPixmap; -+ int nbox = REGION_NUM_RECTS (damage); -+ BoxPtr pbox = REGION_RECTS (damage); -+ FbBits *shaBits; -+ FbStride shaStride; -+ int shaBpp; -+ int shaXoff, shaYoff; -+ int box_x1, box_x2, box_y1, box_y2; -+ int sha_x1 = 0, sha_y1 = 0; -+ int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h; -+ int scr_x, scr_y; -+ int w; -+ int pixelsPerBits; -+ int pixelsMask; -+ FbStride shaStepOverY = 0, shaStepDownY = 0; -+ FbStride shaStepOverX = 0, shaStepDownX = 0; -+ FbBits *shaLine, *sha; -+ int shaHeight = pShadow->drawable.height; -+ int shaWidth = pShadow->drawable.width; -+ FbBits shaMask; -+ int shaFirstShift, shaShift; -+ int o_x_dir; -+ int o_y_dir; -+ int x_dir; -+ int y_dir; -+ -+ fbGetDrawable (&pShadow->drawable, shaBits, shaStride, shaBpp, shaXoff, shaYoff); -+ pixelsPerBits = (sizeof (FbBits) * 8) / shaBpp; -+ pixelsMask = ~(pixelsPerBits - 1); -+ shaMask = FbBitsMask (FB_UNIT-shaBpp, shaBpp); -+ /* -+ * Compute rotation related constants to walk the shadow -+ */ -+ o_x_dir = LEFT_TO_RIGHT; -+ o_y_dir = TOP_TO_BOTTOM; -+ if (pBuf->randr & SHADOW_REFLECT_X) -+ o_x_dir = -o_x_dir; -+ if (pBuf->randr & SHADOW_REFLECT_Y) -+ o_y_dir = -o_y_dir; -+ switch (pBuf->randr & (SHADOW_ROTATE_ALL)) { -+ case SHADOW_ROTATE_0: /* upper left shadow -> upper left screen */ -+ default: -+ x_dir = o_x_dir; -+ y_dir = o_y_dir; -+ break; -+ case SHADOW_ROTATE_90: /* upper right shadow -> upper left screen */ -+ x_dir = o_y_dir; -+ y_dir = -o_x_dir; -+ break; -+ case SHADOW_ROTATE_180: /* lower right shadow -> upper left screen */ -+ x_dir = -o_x_dir; -+ y_dir = -o_y_dir; -+ break; -+ case SHADOW_ROTATE_270: /* lower left shadow -> upper left screen */ -+ x_dir = -o_y_dir; -+ y_dir = o_x_dir; -+ break; -+ } -+ switch (x_dir) { -+ case LEFT_TO_RIGHT: -+ shaStepOverX = shaBpp; -+ shaStepOverY = 0; -+ break; -+ case TOP_TO_BOTTOM: -+ shaStepOverX = 0; -+ shaStepOverY = shaStride; -+ break; -+ case RIGHT_TO_LEFT: -+ shaStepOverX = -shaBpp; -+ shaStepOverY = 0; -+ break; -+ case BOTTOM_TO_TOP: -+ shaStepOverX = 0; -+ shaStepOverY = -shaStride; -+ break; -+ } -+ switch (y_dir) { -+ case TOP_TO_BOTTOM: -+ shaStepDownX = 0; -+ shaStepDownY = shaStride; -+ break; -+ case RIGHT_TO_LEFT: -+ shaStepDownX = -shaBpp; -+ shaStepDownY = 0; -+ break; -+ case BOTTOM_TO_TOP: -+ shaStepDownX = 0; -+ shaStepDownY = -shaStride; -+ break; -+ case LEFT_TO_RIGHT: -+ shaStepDownX = shaBpp; -+ shaStepDownY = 0; -+ break; -+ } -+ -+ while (nbox--) -+ { -+ box_x1 = pbox->x1; -+ box_y1 = pbox->y1; -+ box_x2 = pbox->x2; -+ box_y2 = pbox->y2; -+ pbox++; -+ -+ /* -+ * Compute screen and shadow locations for this box -+ */ -+ switch (x_dir) { -+ case LEFT_TO_RIGHT: -+ scr_x1 = box_x1 & pixelsMask; -+ scr_x2 = (box_x2 + pixelsPerBits - 1) & pixelsMask; -+ -+ sha_x1 = scr_x1; -+ break; -+ case TOP_TO_BOTTOM: -+ scr_x1 = box_y1 & pixelsMask; -+ scr_x2 = (box_y2 + pixelsPerBits - 1) & pixelsMask; -+ -+ sha_y1 = scr_x1; -+ break; -+ case RIGHT_TO_LEFT: -+ scr_x1 = (shaWidth - box_x2) & pixelsMask; -+ scr_x2 = (shaWidth - box_x1 + pixelsPerBits - 1) & pixelsMask; -+ -+ sha_x1 = (shaWidth - scr_x1 - 1); -+ break; -+ case BOTTOM_TO_TOP: -+ scr_x1 = (shaHeight - box_y2) & pixelsMask; -+ scr_x2 = (shaHeight - box_y1 + pixelsPerBits - 1) & pixelsMask; -+ -+ sha_y1 = (shaHeight - scr_x1 - 1); -+ break; -+ } -+ switch (y_dir) { -+ case TOP_TO_BOTTOM: -+ scr_y1 = box_y1; -+ scr_y2 = box_y2; -+ -+ sha_y1 = scr_y1; -+ break; -+ case RIGHT_TO_LEFT: -+ scr_y1 = (shaWidth - box_x2); -+ scr_y2 = (shaWidth - box_x1); -+ -+ sha_x1 = box_x2 - 1; -+ break; -+ case BOTTOM_TO_TOP: -+ scr_y1 = shaHeight - box_y2; -+ scr_y2 = shaHeight - box_y1; -+ -+ sha_y1 = box_y2 - 1; -+ break; -+ case LEFT_TO_RIGHT: -+ scr_y1 = box_x1; -+ scr_y2 = box_x2; -+ -+ sha_x1 = box_x1; -+ break; -+ } -+ scr_w = ((scr_x2 - scr_x1) * shaBpp) >> FB_SHIFT; -+ scr_h = scr_y2 - scr_y1; -+ scr_y = scr_y1; -+ -+ /* shift amount for first pixel on screen */ -+ shaFirstShift = FB_UNIT - ((sha_x1 * shaBpp) & FB_MASK) - shaBpp; -+ -+ /* pointer to shadow data first placed on screen */ -+ shaLine = (shaBits + -+ sha_y1 * shaStride + -+ ((sha_x1 * shaBpp) >> FB_SHIFT)); -+ -+ /* -+ * Copy the bits, always write across the physical frame buffer -+ * to take advantage of write combining. -+ */ -+ while (scr_h--) -+ { -+ int p; -+ FbBits bits; -+ char *win; -+ int i; -+ CARD32 winSize; -+ -+ sha = shaLine; -+ shaShift = shaFirstShift; -+ w = scr_w; -+ scr_x = scr_x1 * shaBpp >> FB_SHIFT; -+ -+ while (w) -+ { -+ /* -+ * Map some of this line -+ */ -+ win = (char *) (*pBuf->window) (pScreen, -+ scr_y, -+ scr_x * 3, -+ SHADOW_WINDOW_WRITE, -+ &winSize, -+ pBuf->closure); -+ i = winSize / 3; -+ if (i > w) -+ i = w; -+ w -= i; -+ scr_x += i; -+ /* -+ * Copy the portion of the line mapped -+ */ -+ while (i--) -+ { -+ bits = 0; -+ p = pixelsPerBits; -+ /* -+ * Build one word of output from multiple inputs -+ * -+ * Note that for 90/270 rotations, this will walk -+ * down the shadow hitting each scanline once. -+ * This is probably not very efficient. -+ */ -+ while (p--) -+ { -+ bits = FbScrLeft(bits, shaBpp); -+ bits |= FbScrRight (*sha, shaShift) & shaMask; -+ -+ shaShift -= shaStepOverX; -+ if (shaShift >= FB_UNIT) -+ { -+ shaShift -= FB_UNIT; -+ sha--; -+ } -+ else if (shaShift < 0) -+ { -+ shaShift += FB_UNIT; -+ sha++; -+ } -+ sha += shaStepOverY; -+ } -+ *win++ = ((bits & 0xFC) >> 2) | -+ ((bits & 0xC00) >> 4); -+ *win++ = ((bits & 0xF000) >> 12) | -+ ((bits & 0x3C0000) >> 14); -+ *win++ = (bits & 0xC00000) >> 22; -+ } -+ } -+ scr_y++; -+ shaFirstShift -= shaStepDownX; -+ if (shaFirstShift >= FB_UNIT) -+ { -+ shaFirstShift -= FB_UNIT; -+ shaLine--; -+ } -+ else if (shaFirstShift < 0) -+ { -+ shaFirstShift += FB_UNIT; -+ shaLine++; -+ } -+ shaLine += shaStepDownY; -+ } -+ } -+} -+ - Bool - fbdevSetShadow (ScreenPtr pScreen) - { -@@ -418,7 +784,14 @@ - - window = fbdevWindowLinear; - update = 0; -- if (scrpriv->randr) -+ if (priv->Have18Bpp) -+ { -+ if (scrpriv->randr != RR_Rotate_0) -+ update = shadowUpdateRotatePacked18; -+ else -+ update = shadowUpdatePacked18; -+ } -+ else if (scrpriv->randr) - if (priv->var.bits_per_pixel == 16) { - switch (scrpriv->randr) { - case RR_Rotate_90: -diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h ---- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h 2006-09-18 08:04:17.000000000 +0200 -+++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h 2007-09-15 16:45:07.362045000 +0200 -@@ -44,6 +44,7 @@ - int fd; - char *fb; - char *fb_base; -+ Bool Have18Bpp; - } FbdevPriv; - - typedef struct _fbdevScrPriv { diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch deleted file mode 100644 index 255e707b559..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- kmode.c 2006-05-03 19:48:42.000000000 +0200 -+++ xserver/hw/kdrive/src/kmode.c 2006-05-03 19:50:43.000000000 +0200 -@@ -32,6 +32,31 @@ - /* H V Hz KHz */ - /* FP BP BLANK POLARITY */ - -+ /* Treo 650 */ -+ -+ { 320, 320, 64, 16256, -+ 17, 12, 32, KdSyncNegative, -+ 1, 11, 14, KdSyncNegative, -+ }, -+ -+ { 320, 320, 64, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ -+ /* LifeDrive/T3/TX modes */ -+ -+ { 320, 480, 64, 16256, -+ 17, 12, 32, KdSyncNegative, -+ 1, 11, 14, KdSyncNegative, -+ }, -+ -+ { 480, 320, 64, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ -+ - /* IPAQ modeline: - * - * Modeline "320x240" 5.7222 320 337 340 352 240 241 244 254" diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch deleted file mode 100644 index 5ad3e4e277c..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- /tmp/kmode.c 2005-06-27 14:46:19.716843288 +0200 -+++ xserver/hw/kdrive/src/kmode.c 2005-06-27 14:46:30.070269328 +0200 -@@ -41,6 +41,11 @@ - 1, 11, 14, KdSyncNegative, - }, - -+ { 240, 320, 64, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ - /* Other VESA modes */ - { 640, 350, 85, 31500, /* VESA */ - 32, 96, 192, KdSyncPositive, /* 26.413 */ -@@ -80,6 +85,13 @@ - 16, 48, 160, KdSyncNegative, /* 31.469 */ - 10, 33, 45, KdSyncNegative, /* 59.940 */ - }, -+ -+ -+ { 480, 640, 60, 0, /* VESA */ -+ 0, 0, 0, KdSyncNegative, /* 31.469 */ -+ 0, 0, 0, KdSyncNegative, /* 59.940 */ -+ }, -+ - - /* 800x600 modes */ - { 800, 600, 85, 56250, /* VESA */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch deleted file mode 100644 index b53e327dae4..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch +++ /dev/null @@ -1,54 +0,0 @@ -Index: git/hw/kdrive/Makefile.am -=================================================================== ---- git.orig/hw/kdrive/Makefile.am 2006-09-02 12:12:13.000000000 +0200 -+++ git/hw/kdrive/Makefile.am 2006-09-02 12:12:14.000000000 +0200 -@@ -7,6 +7,10 @@ - FBDEV_SUBDIRS = fbdev epson - endif - -+if KDRIVEW100 -+W100_SUBDIRS = w100 -+endif -+ - if XSDLSERVER - XSDL_SUBDIRS = sdl - endif -@@ -20,6 +24,7 @@ - linux \ - $(XSDL_SUBDIRS) \ - $(FBDEV_SUBDIRS) \ -+ $(W100_SUBDIRS) \ - $(VESA_SUBDIRS) \ - $(XEPHYR_SUBDIRS) \ - fake -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2006-09-02 12:12:14.000000000 +0200 -+++ git/configure.ac 2006-09-02 12:12:14.000000000 +0200 -@@ -442,6 +442,7 @@ - AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no]) - AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto]) - AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto]) -+AC_ARG_ENABLE(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no]) - dnl xprint - AC_ARG_ENABLE(freetype, AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: yes)]), [XP_USE_FREETYPE=$enableval],[XP_USE_FREETYPE=no]) - AC_ARG_WITH(freetype-config, AS_HELP_STRING([ --with-freetype-config=PROG], [Use FreeType configuration program PROG (default: auto)]), freetype_config=$withval, freetype_config=auto) -@@ -1519,6 +1520,10 @@ - AC_SUBST([XSDL_LIBS]) - AC_SUBST([XSDL_INCS]) - -+AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes]) -+if test "x$KDRIVEW100" = xyes; then -+ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server]) -+fi - - dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers) - AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules]) -@@ -1753,6 +1758,7 @@ - hw/kdrive/epson/Makefile - hw/kdrive/fake/Makefile - hw/kdrive/fbdev/Makefile -+hw/kdrive/w100/Makefile - hw/kdrive/i810/Makefile - hw/kdrive/linux/Makefile - hw/kdrive/mach64/Makefile diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch deleted file mode 100644 index 39bc22c6b38..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch +++ /dev/null @@ -1,15 +0,0 @@ -Patch suggested by Manuel Teira to actually enable offscreen pixmap -acceleration in Xw100. Value 16 is empirical, works well on hx4700, -but in case of issues, consider double it (other accelerated drivers -use bigger values than 16). - ---- xorg-server-1.2.0/hw/kdrive/w100/ati_draw.c.org 2007-04-04 10:28:57.000000000 +0000 -+++ xorg-server-1.2.0/hw/kdrive/w100/ati_draw.c 2007-04-06 14:43:40.000000000 +0000 -@@ -433,6 +433,7 @@ - * or kaaPixmapUseScreen. But this is probably caused by some bug in this - * driver... */ - atis->kaa.flags |= KAA_OFFSCREEN_PIXMAPS; -+ atis->kaa.pitchAlign = 16; - if (!kaaDrawInit(pScreen, &atis->kaa)) - return FALSE; - diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch deleted file mode 100644 index 239ae0bb67e..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch +++ /dev/null @@ -1,28 +0,0 @@ -Index: xorg-server-1.4/hw/kdrive/w100/ati_stub.c -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/w100/ati_stub.c 2007-09-08 21:40:26.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/w100/ati_stub.c 2007-09-08 22:04:27.000000000 +0200 -@@ -74,10 +74,20 @@ - void - InitInput(int argc, char **argv) - { -- KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); --#ifdef TOUCHSCREEN -- KdAddMouseDriver(&TsFuncs); -+ KdKeyboardInfo *ki; -+ -+ KdAddKeyboardDriver (&LinuxKeyboardDriver); -+ KdAddPointerDriver (&LinuxMouseDriver); -+ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver); -+ KdAddPointerDriver (&LinuxEvdevMouseDriver); -+#ifdef TSLIB -+ KdAddPointerDriver (&TsDriver); - #endif -+ -+ ki = KdParseKeyboard ("keyboard"); -+ KdAddKeyboard(ki); -+ -+ KdInitInput (); - } - - void diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch deleted file mode 100644 index 1bb6f357c6a..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch +++ /dev/null @@ -1,6335 +0,0 @@ -Index: git/hw/kdrive/w100/ati.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,434 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+#include "ati.h" -+#include "w100_regs.h" -+ -+ -+struct pci_id_entry ati_pci_ids[] = { -+ {0x1002, 0x5644, 0, "ATI Imageon 3200"}, -+ {0x1002, 0x5741, 0, "ATI Imageon 100"}, -+ {0x1002, 0x5744, 0, "ATI Imageon 3220"}, -+ {0, 0, 0, NULL} -+}; -+ -+ -+static Bool -+ATICardInit(KdCardInfo * card) -+{ -+ ATICardInfo *atic; -+ int i; -+ Bool initialized = FALSE; -+ -+ atic = xcalloc(sizeof(ATICardInfo), 1); -+ if (atic == NULL) -+ return FALSE; -+ -+#ifdef KDRIVEFBDEV -+ if (!initialized && fbdevInitialize(card, &atic->backend_priv.fbdev)) { -+ atic->use_fbdev = TRUE; -+ initialized = TRUE; -+ atic->backend_funcs.cardfini = fbdevCardFini; -+ atic->backend_funcs.scrfini = fbdevScreenFini; -+ atic->backend_funcs.initScreen = fbdevInitScreen; -+ atic->backend_funcs.finishInitScreen = fbdevFinishInitScreen; -+ atic->backend_funcs.createRes = fbdevCreateResources; -+ atic->backend_funcs.preserve = fbdevPreserve; -+ atic->backend_funcs.restore = fbdevRestore; -+ atic->backend_funcs.dpms = fbdevDPMS; -+ atic->backend_funcs.enable = fbdevEnable; -+ atic->backend_funcs.disable = fbdevDisable; -+ atic->backend_funcs.getColors = fbdevGetColors; -+ atic->backend_funcs.putColors = fbdevPutColors; -+#ifdef RANDR -+ atic->backend_funcs.randrSetConfig = fbdevRandRSetConfig; -+#endif -+ } -+#endif -+#ifdef KDRIVEVESA -+ if (!initialized && vesaInitialize(card, &atic->backend_priv.vesa)) { -+ atic->use_vesa = TRUE; -+ initialized = TRUE; -+ atic->backend_funcs.cardfini = vesaCardFini; -+ atic->backend_funcs.scrfini = vesaScreenFini; -+ atic->backend_funcs.initScreen = vesaInitScreen; -+ atic->backend_funcs.finishInitScreen = vesaFinishInitScreen; -+ atic->backend_funcs.createRes = vesaCreateResources; -+ atic->backend_funcs.preserve = vesaPreserve; -+ atic->backend_funcs.restore = vesaRestore; -+ atic->backend_funcs.dpms = vesaDPMS; -+ atic->backend_funcs.enable = vesaEnable; -+ atic->backend_funcs.disable = vesaDisable; -+ atic->backend_funcs.getColors = vesaGetColors; -+ atic->backend_funcs.putColors = vesaPutColors; -+#ifdef RANDR -+ atic->backend_funcs.randrSetConfig = vesaRandRSetConfig; -+#endif -+ } -+#endif -+ -+ if (!initialized || !ATIMap(card, atic)) { -+ xfree(atic); -+ return FALSE; -+ } -+ -+ card->driver = atic; -+ -+ for (i = 0; ati_pci_ids[i].name != NULL; i++) { -+ if (ati_pci_ids[i].device == card->attr.deviceID) { -+ atic->pci_id = &ati_pci_ids[i]; -+ break; -+ } -+ } -+ -+ ErrorF("Using ATI card: %s\n", atic->pci_id->name); -+ -+ return TRUE; -+} -+ -+static void -+ATICardFini(KdCardInfo * card) -+{ -+ ATICardInfo *atic = (ATICardInfo *) card->driver; -+ -+ ATIUnmap(card, atic); -+ atic->backend_funcs.cardfini(card); -+} -+ -+/* -+ * Once screen->off_screen_base is set, this function -+ * allocates the remaining memory appropriately -+ */ -+ -+static void -+ATISetOffscreen(KdScreenInfo * screen) -+{ -+ ATICardInfo(screen); -+ int screen_size; -+ char *mmio = atic->reg_base; -+ -+ /* check (and adjust) pitch */ -+ if (mmio) { -+ int byteStride = screen->fb[0].byteStride; -+ int bitStride; -+ int pixelStride; -+ int bpp = screen->fb[0].bitsPerPixel; -+ -+ /* -+ * Ensure frame buffer is correctly aligned -+ */ -+ if (byteStride & 0x3f) { -+ byteStride = (byteStride + 0x3f) & ~0x3f; -+ bitStride = byteStride * 8; -+ pixelStride = bitStride / bpp; -+ -+ screen->fb[0].byteStride = byteStride; -+ screen->fb[0].pixelStride = pixelStride; -+ } -+ } -+ -+ screen_size = screen->fb[0].byteStride * screen->height; -+ -+ screen->off_screen_base = screen_size; -+ -+} -+ -+static Bool -+ATIScreenInit(KdScreenInfo * screen) -+{ -+ ATIScreenInfo *atis; -+ ATICardInfo(screen); -+ Bool success = FALSE; -+ -+ atis = xcalloc(sizeof(ATIScreenInfo), 1); -+ if (atis == NULL) -+ return FALSE; -+ -+ atis->atic = atic; -+ atis->screen = screen; -+ screen->driver = atis; -+ -+ if (screen->fb[0].depth == 0) -+ screen->fb[0].depth = 16; -+#ifdef KDRIVEFBDEV -+ if (atic->use_fbdev) { -+ success = fbdevScreenInitialize(screen, &atis->backend_priv.fbdev); -+ } -+#endif -+#ifdef KDRIVEVESA -+ if (atic->use_vesa) { -+ success = vesaScreenInitialize(screen, &atis->backend_priv.vesa); -+ } -+#endif -+ -+ if (!success) { -+ screen->driver = NULL; -+ xfree(atis); -+ return FALSE; -+ } -+ -+ ErrorF -+ ("Offscreen memory at offset %08x, memory base %08x, size %08x\n", -+ screen->off_screen_base, screen->memory_base, -+ screen->memory_size); -+ ATISetOffscreen(screen); -+ -+ return TRUE; -+} -+ -+#ifdef RANDR -+static Bool -+ATIRandRSetConfig(ScreenPtr pScreen, -+ Rotation randr, int rate, RRScreenSizePtr pSize) -+{ -+ KdScreenPriv(pScreen); -+ KdScreenInfo *screen = pScreenPriv->screen; -+ ATICardInfo *atic = screen->card->driver; -+ Bool ret; -+ -+ ATIDrawDisable(pScreen); -+ ret = atic->backend_funcs.randrSetConfig(pScreen, randr, rate, pSize); -+ ATISetOffscreen(screen); -+ /* -+ * Set frame buffer mapping -+ */ -+ (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap(pScreen), -+ pScreen->width, -+ pScreen->height, -+ screen->fb[0].depth, -+ screen->fb[0].bitsPerPixel, -+ screen->fb[0].byteStride, -+ screen->fb[0].frameBuffer); -+ -+ ATIDrawEnable(pScreen); -+ return ret; -+} -+ -+static Bool -+ATIRandRInit(ScreenPtr pScreen) -+{ -+ rrScrPrivPtr pScrPriv; -+ -+ pScrPriv = rrGetScrPriv(pScreen); -+ pScrPriv->rrSetConfig = ATIRandRSetConfig; -+ return TRUE; -+} -+#endif -+ -+static void -+ATIScreenFini(KdScreenInfo * screen) -+{ -+ ATIScreenInfo *atis = (ATIScreenInfo *) screen->driver; -+ ATICardInfo *atic = screen->card->driver; -+ -+ atic->backend_funcs.scrfini(screen); -+ xfree(atis); -+ screen->driver = 0; -+} -+ -+Bool -+ATIMap(KdCardInfo * card, ATICardInfo * atic) -+{ -+ atic->mem_base = (CARD8 *) KdMapDevice(ATI_MEM_BASE(card), -+ ATI_MEM_SIZE(card)); -+ -+ if (atic->mem_base == NULL) -+ return FALSE; -+ atic->reg_base = atic->mem_base + 0x10000; /* XXX */ -+ -+ KdSetMappedMode(ATI_MEM_BASE(card), ATI_MEM_SIZE(card), -+ KD_MAPPED_MODE_REGISTERS); -+ -+ return TRUE; -+} -+ -+void -+ATIUnmap(KdCardInfo * card, ATICardInfo * atic) -+{ -+ if (atic->reg_base) { -+ KdResetMappedMode(ATI_REG_BASE(card), ATI_REG_SIZE(card), -+ KD_MAPPED_MODE_REGISTERS); -+ KdUnmapDevice((void *) atic->reg_base, ATI_REG_SIZE(card)); -+ atic->reg_base = 0; -+ } -+} -+ -+static Bool -+ATIInitScreen(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ return atic->backend_funcs.initScreen(pScreen); -+} -+ -+static Bool -+ATIFinishInitScreen(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ if (!atic->backend_funcs.finishInitScreen(pScreen)) -+ return FALSE; -+#ifdef RANDR -+ if (!ATIRandRInit(pScreen)) -+ return FALSE; -+#endif -+ return TRUE; -+} -+ -+static Bool -+ATICreateResources(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ return atic->backend_funcs.createRes(pScreen); -+} -+ -+static void -+ATIPreserve(KdCardInfo * card) -+{ -+ ATICardInfo *atic = card->driver; -+ -+ atic->backend_funcs.preserve(card); -+} -+ -+static void -+ATIRestore(KdCardInfo * card) -+{ -+ ATICardInfo *atic = card->driver; -+ -+ ATIUnmap(card, atic); -+ -+ atic->backend_funcs.restore(card); -+} -+ -+static Bool -+ATIDPMS(ScreenPtr pScreen, int mode) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ return atic->backend_funcs.dpms(pScreen, mode); -+} -+ -+static Bool -+ATIEnable(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ mc_ext_mem_location_u eml; -+ char *mmio; -+ -+ if (!atic->backend_funcs.enable(pScreen)) -+ return FALSE; -+ -+ if ((atic->reg_base == NULL) -+ && !ATIMap(pScreenPriv->screen->card, atic)) -+ return FALSE; -+ -+ mmio = atic->reg_base; -+ eml.val = MMIO_IN32(mmio, mmMC_EXT_MEM_LOCATION); -+ atic->ext_mem_location = eml.f.mc_ext_mem_start << 8; -+ ATISetOffscreen(pScreenPriv->screen); -+ -+ return TRUE; -+} -+ -+static void -+ATIDisable(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ ATIUnmap(pScreenPriv->card, atic); -+ -+ atic->backend_funcs.disable(pScreen); -+} -+ -+static void -+ATIGetColors(ScreenPtr pScreen, int fb, int n, xColorItem * pdefs) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ atic->backend_funcs.getColors(pScreen, fb, n, pdefs); -+} -+ -+static void -+ATIPutColors(ScreenPtr pScreen, int fb, int n, xColorItem * pdefs) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ atic->backend_funcs.putColors(pScreen, fb, n, pdefs); -+} -+ -+/* Compute log base 2 of val. */ -+int -+ATILog2(int val) -+{ -+ int bits; -+ -+ for (bits = 0; val != 0; val >>= 1, ++bits); -+ return bits - 1; -+} -+ -+ -+ -+KdCardFuncs ATIFuncs = { -+ ATICardInit, /* cardinit */ -+ ATIScreenInit, /* scrinit */ -+ ATIInitScreen, /* initScreen */ -+ ATIFinishInitScreen, /* finishInitScreen */ -+ ATICreateResources, /* createRes */ -+ ATIPreserve, /* preserve */ -+ ATIEnable, /* enable */ -+ ATIDPMS, /* dpms */ -+ ATIDisable, /* disable */ -+ ATIRestore, /* restore */ -+ ATIScreenFini, /* scrfini */ -+ ATICardFini, /* cardfini */ -+ -+#define ATICursorInit 0 -+#define ATICursorEnable 0 -+#define ATICursorDisable 0 -+#define ATICursorFini 0 -+#define ATIRecolorCursor 0 -+ ATICursorInit, /* initCursor */ -+ ATICursorEnable, /* enableCursor */ -+ ATICursorDisable, /* disableCursor */ -+ ATICursorFini, /* finiCursor */ -+ ATIRecolorCursor, /* recolorCursor */ -+ -+ ATIDrawInit, /* initAccel */ -+ ATIDrawEnable, /* enableAccel */ -+ ATIDrawDisable, /* disableAccel */ -+ ATIDrawFini, /* finiAccel */ -+ -+ ATIGetColors, /* getColors */ -+ ATIPutColors, /* putColors */ -+}; -Index: git/hw/kdrive/w100/ati_cursor.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_cursor.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,93 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+#include "ati.h" -+#include "cursorstr.h" -+#include "ati_draw.h" -+ -+static void -+ATIMoveCursor(ScreenPtr pScreen, int x, int y) -+{ -+} -+ -+ -+static Bool -+ATIRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) -+{ -+ return FALSE; -+} -+ -+ -+static Bool -+ATIUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) -+{ -+ return TRUE; -+} -+ -+ -+static void -+ATISetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) -+{ -+} -+ -+ -+miPointerSpriteFuncRec ATIPointerSpriteFuncs = { -+ ATIRealizeCursor, -+ ATIUnrealizeCursor, -+ ATISetCursor, -+ ATIMoveCursor, -+}; -+ -+ -+void -+ATICursorEnable(ScreenPtr pScreen) -+{ -+} -+ -+ -+void -+ATICursorDisable(ScreenPtr pScreen) -+{ -+} -+ -+ -+Bool -+ATICursorInit(ScreenPtr pScreen) -+{ -+ return FALSE; -+} -+ -+ -+void -+ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem * pdef) -+{ -+ return; -+} -+ -+ -+void -+ATICursorFini(ScreenPtr pScreen) -+{ -+} -Index: git/hw/kdrive/w100/ati_dma.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_dma.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,333 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+ -+#include "ati.h" -+#include "w100_regs.h" -+#include "w100_const.h" -+#include "ati_dma.h" -+#include "ati_draw.h" -+ -+ -+#define DEBUG_FIFO 0 -+ -+extern CARD32 w100_microcode[][2]; -+ -+#if DEBUG_FIFO -+static void -+ATIDebugFifo(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ -+ ErrorF("mmCP_CSQ_CNTL: 0x%08x\n", MMIO_IN32(mmio, mmCP_CSQ_CNTL)); -+ ErrorF("mmCP_CSQ_STAT: 0x%08x\n", MMIO_IN32(mmio, mmCP_CSQ_STAT)); -+ ErrorF("mmRBBM_STATUS: 0x%08x\n", MMIO_IN32(mmio, mmRBBM_STATUS)); -+} -+#endif -+ -+static void -+ATIUploadMicrocode(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ int i; -+ -+ MMIO_OUT32(mmio, mmCP_ME_RAM_ADDR, 0); -+ for (i = 0; i < 256; i++) { -+ MMIO_OUT32(mmio, mmCP_ME_RAM_DATAH, w100_microcode[i][1]); -+ MMIO_OUT32(mmio, mmCP_ME_RAM_DATAL, w100_microcode[i][0]); -+ } -+} -+ -+/* Required when reading from video memory after acceleration to make sure all -+ * data has been flushed to video memory from the pixel cache. -+ */ -+static void -+ATIFlushPixelCache(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ rbbm_status_u rs; -+ TIMEOUT_LOCALS; -+ -+ WHILE_NOT_TIMEOUT(.2) { -+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS); -+ if (!rs.f.gui_active) -+ break; -+ } -+ if (TIMEDOUT()) -+ ErrorF("Timeout flushing pixel cache.\n"); -+} -+ -+static void -+ATIEngineReset(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ CARD32 sclk_cntl; -+ sclk_cntl_u sc; -+ rbbm_soft_reset_u rsr; -+ -+#if DEBUG_FIFO -+ ErrorF("Engine Reset!\n"); -+ ATIDebugFifo(atis); -+#endif -+ -+ ATIFlushPixelCache(atis); -+ -+ sc.val = sclk_cntl = MMIO_IN32(mmio, mmSCLK_CNTL); -+ sc.f.sclk_force_e2 = sc.f.sclk_force_e3 = sc.f.sclk_force_idct = 1; -+ MMIO_OUT32(mmio, mmSCLK_CNTL, sc.val); -+ -+ rsr.val = 0; -+ rsr.f.soft_reset_e2 = 1; -+ MMIO_OUT32(mmio, mmRBBM_SOFT_RESET, rsr.val); -+ MMIO_OUT32(mmio, mmRBBM_SOFT_RESET, 0); -+ -+ MMIO_OUT32(mmio, mmSCLK_CNTL, sclk_cntl); -+} -+ -+inline void -+ATIWaitAvailMMIO(ATIScreenInfo * atis, int n) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ rbbm_status_u rs; -+ TIMEOUT_LOCALS; -+ -+ if (atis->mmio_avail >= n) { -+ atis->mmio_avail -= n; -+ return; -+ } -+ WHILE_NOT_TIMEOUT(.2) { -+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS); -+ atis->mmio_avail = rs.f.cmdfifo_avail; -+ if (atis->mmio_avail >= n) -+ break; -+ ErrorF("Available %d slots.\n", atis->mmio_avail); -+ } -+ if (TIMEDOUT()) { -+ ErrorF("Timeout waiting for %d MMIO slots.\n", n); -+ ATIEngineReset(atis); -+ ATIDrawSetup(atis->screen->pScreen); -+ } -+ atis->mmio_avail -= n; -+} -+ -+ -+void -+ATIWaitIdle(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ rbbm_status_u rs; -+ TIMEOUT_LOCALS; -+ -+ /* Empty the fifo */ -+ ATIWaitAvailMMIO(atis, 16); -+ -+ WHILE_NOT_TIMEOUT(.2) { -+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS); -+ if (!rs.f.gui_active) -+ break; -+#if DEBUG_FIFO -+ ATIDebugFifo(atis); -+#endif -+ /* don't know if this is needed, but it's in aticore */ -+ MMIO_IN32(mmio, mmCP_RB_RPTR); -+ } -+ if (TIMEDOUT()) { -+ ErrorF("Timeout idling accelerator, resetting...\n"); -+ ATIEngineReset(atis); -+ ATIDrawSetup(atis->screen->pScreen); -+ } -+ -+ ATIFlushPixelCache(atis); -+ -+#if DEBUG_FIFO -+ ErrorF("Idle?\n"); -+ ATIDebugFifo(atis); -+#endif -+} -+ -+ -+static Bool -+ATIDMAInit(ScreenPtr pScreen, Bool use_agp) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ ATICardInfo(pScreenPriv); -+ char *mmio = atic->reg_base; -+ int dma_offset, rbsize = 10; -+ wrap_start_dir_u wsd; -+ wrap_buf_a_u wba; -+ cp_rb_cntl_u rc; -+ cp_csq_cntl_u cc; -+ CARD32 mem_offset; -+ -+ /* with rbsize = 10, DMA buffer will be of 0x2000 (8192) bytes */ -+ atis->ring_count = 1 << (rbsize + 1); -+ atis->ring_mask = atis->ring_count - 1; -+ atis->ring_len = atis->ring_count * 4; -+ atis->dma_space = KdOffscreenAlloc(pScreen, atis->ring_len, -+ 16, TRUE, NULL, NULL); -+ if (atis->dma_space == NULL) -+ return FALSE; -+ -+ wsd.val = MMIO_IN32(mmio, mmWRAP_START_DIR); -+ atis->ring_addr = -+ (CARD32 *) (atic->mem_base + (wsd.f.start_addr << 1)); -+ dma_offset = atis->dma_space->offset; -+ -+ ATIUploadMicrocode(atis); -+ ATIEngineReset(atis); -+ -+ atis->ring_read = 0; -+ atis->ring_write = 0; -+ atis->ring_free = atis->ring_count; -+ -+ mem_offset = atic->ext_mem_location + atis->dma_space->offset; -+ MMIO_OUT32(mmio, mmCP_RB_BASE, mem_offset); -+ MMIO_OUT32(mmio, mmCP_RB_WPTR, atis->ring_write); -+ MMIO_OUT32(mmio, mmCP_RB_RPTR, atis->ring_read); -+ MMIO_OUT32(mmio, mmCP_RB_RPTR_ADDR, 0); -+ -+ wba.val = 0; -+ wba.f.offset_addr_a = mem_offset; -+ switch (rbsize) { -+ case 9: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_0; -+ break; -+ case 10: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_1; -+ break; -+ case 11: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_2; -+ break; -+ case 12: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_3; -+ break; -+ case 13: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_4; -+ break; -+ } -+ MMIO_OUT32(mmio, mmWRAP_BUF_A, wba.val); -+ -+ rc.val = 0; -+ rc.f.rb_no_update = 1; -+ rc.f.rb_bufsz = rbsize; -+ MMIO_OUT32(mmio, mmCP_RB_CNTL, rc.val); -+ -+ cc.val = 0; -+ cc.f.csq_mode = CSQ_CNTL_MODE_FREERUN; -+ MMIO_OUT32(mmio, mmCP_CSQ_CNTL, cc.val); -+ -+ return TRUE; -+} -+ -+static Bool -+ATIDMAFini(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ ATICardInfo(pScreenPriv); -+ char *mmio = atic->reg_base; -+ -+ MMIO_OUT32(mmio, mmCP_CSQ_CNTL, 0); -+ -+ ATIEngineReset(atis); -+ -+ //KdOffscreenFree(pScreen, atis->dma_space); -+ -+ return TRUE; -+} -+ -+void -+ATIDMASetup(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ atis->using_dma = FALSE; -+ atis->using_pio = FALSE; -+ if (ATIDMAInit(pScreen, FALSE)) -+ atis->using_dma = TRUE; -+ -+ if (atis->using_dma) -+ ErrorF("Initialized DMA\n"); -+} -+ -+void -+ATIDMATeardown(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ ATIWaitIdle(atis); -+ -+ if (atis->using_dma) -+ ATIDMAFini(pScreen); -+ -+ atis->using_pio = FALSE; -+ atis->using_dma = FALSE; -+} -+ -+ -+CARD32 * -+ATIRequestEntries(ATIScreenInfo * atis, int n) -+{ -+ char *mmio = atis->atic->reg_base; -+ CARD32 *ptr; -+ TIMEOUT_LOCALS; -+ -+ WHILE_NOT_TIMEOUT(1) { -+ if (atis->ring_free > n) { -+ ptr = atis->ring_addr + atis->ring_write; -+ return ptr; -+ } -+ atis->ring_read = MMIO_IN32(mmio, mmCP_RB_RPTR); -+ atis->ring_write = MMIO_IN32(mmio, mmCP_RB_WPTR); -+ -+ if (atis->ring_read == atis->ring_write) { -+ atis->ring_free = atis->ring_count; -+ } else { -+ atis->ring_free = -+ (atis->ring_count + -+ atis->ring_read - atis->ring_write) & atis->ring_mask; -+ } -+ } -+ if (TIMEDOUT()) -+ ErrorF("Timeout waiting for %d entries.\n", n); -+ return NULL; -+} -+ -+void -+ATISubmitEntries(ATIScreenInfo * atis, int n) -+{ -+ char *mmio = atis->atic->reg_base; -+ atis->ring_free -= n; -+ atis->ring_write += n; -+ atis->ring_write &= atis->ring_mask; -+ MMIO_OUT32(mmio, mmCP_RB_WPTR, atis->ring_write); -+} -Index: git/hw/kdrive/w100/ati_dma.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_dma.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,176 @@ -+/* -+ * Copyright © 2004 Eric Anholt -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Eric Anholt not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Eric Anholt makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ERIC ANHOLT BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati_dma.h,v 1.5 2005-01-27 05:25:57 anholt Exp $ */ -+ -+#ifndef _ATI_DMA_H_ -+#define _ATI_DMA_H_ -+ -+#define CCE_DEBUG 1 -+ -+/* CCE packet defines */ -+ -+#define ATI_CCE_PACKETTYPE_MASK 0xc0000000 -+#define ATI_CCE_PACKET0 0x00000000 -+#define ATI_CCE_PACKET0_COUNT_MASK 0x3fff0000 -+#define ATI_CCE_PACKET0_ONE_REG_WR 0x00008000 -+#define ATI_CCE_PACKET0_REG_MASK 0x000007ff -+#define ATI_CCE_PACKET1 0x40000000 -+#define ATI_CCE_PACKET1_REG_1 0x000007ff -+#define ATI_CCE_PACKET1_REG_2 0x003ff800 -+#define ATI_CCE_PACKET1_REG_2_SHIFT 10 -+#define ATI_CCE_PACKET2 0x80000000 -+#define ATI_CCE_PACKET3 0xc0000000 -+#define ATI_CCE_PACKET3_COUNT_MASK 0x3fff0000 -+#define ATI_CCE_PACKET3_IT_OPCODE_MASK 0x0000ff00 -+ -+ -+#if !CCE_DEBUG -+#define DMA_PACKET0(reg, count) \ -+ (ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2)) -+#else -+#define DMA_PACKET0(reg, count) \ -+ (__packet0count = (count), __reg = (reg), \ -+ ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2)) -+#endif -+#define DMA_PACKET1(reg1, reg2) \ -+ (ATI_CCE_PACKET1 | \ -+ (((reg2) >> 2) << ATI_CCE_PACKET1_REG_2_SHIFT) | ((reg1) >> 2)) -+#define DMA_PACKET3(type, count) \ -+ ((type) | (((count) - 1) << 16)) -+ -+ -+ -+#ifdef USE_DMA -+ -+#if !CCE_DEBUG -+ -+#define RING_LOCALS \ -+ CARD32 *__head; int __count -+#define BEGIN_DMA(n) \ -+do { \ -+ __head = ATIRequestEntries(atis, n); \ -+ __count = 0; \ -+} while (0) -+#define END_DMA() do { \ -+ ATISubmitEntries(atis, __count); \ -+} while (0) -+ -+#else /* CCE_DEBUG */ -+#define RING_LOCALS \ -+ CARD32 *__head; int __count, __total, __reg, __packet0count -+#define BEGIN_DMA(n) \ -+do { \ -+ __head = ATIRequestEntries(atis, n); \ -+ __count = 0; \ -+ __total = n; \ -+ __reg = 0; \ -+ __packet0count = 0; \ -+} while (0) -+#define END_DMA() do { \ -+ if (__count != __total) \ -+ FatalError("count != total (%d vs %d) at %s:%d\n", \ -+ __count, __total, __FILE__, __LINE__); \ -+ ATISubmitEntries(atis, __count); \ -+} while (0) -+ -+#endif /* CCE_DEBUG */ -+ -+#define BEGIN_DMA_REG(n) BEGIN_DMA(n * 2) -+#define END_DMA_REG() END_DMA() -+ -+#define OUT_REG(reg, val) \ -+do { \ -+ OUT_RING(DMA_PACKET0(reg, 1)); \ -+ OUT_RING(val); \ -+} while (0) -+ -+ -+#else /* USE_DMA */ -+ -+ -+#define RING_LOCALS char *__mmio = atis->atic->reg_base -+#define BEGIN_DMA_REG(n) \ -+do { \ -+ ATIWaitAvailMMIO(atis, n); \ -+} while (0) -+#define END_DMA_REG() do {} while (0) -+#define OUT_REG(reg, val) MMIO_OUT32(__mmio, reg, val) -+#endif /* USE_DMA */ -+ -+ -+#define OUT_RING(val) do { \ -+ __head[__count++] = (val); \ -+} while (0) -+ -+#define OUT_RING_REG(reg, val) do { \ -+ if (__reg != reg) \ -+ FatalError("unexpected reg (0x%x vs 0x%x) at %s:%d\n", \ -+ reg, __reg, __FILE__, __LINE__); \ -+ if (__packet0count-- <= 0) \ -+ FatalError("overrun of packet0 at %s:%d\n", \ -+ __FILE__, __LINE__); \ -+ __head[__count++] = (val); \ -+ __reg += 4; \ -+} while (0) -+ -+#define OUT_RING_F(x) OUT_RING(GET_FLOAT_BITS(x)) -+ -+#define TIMEOUT_LOCALS struct timeval _target, _curtime -+ -+static inline Bool -+tv_le(struct timeval *tv1, struct timeval *tv2) -+{ -+ if (tv1->tv_sec < tv2->tv_sec || -+ (tv1->tv_sec == tv2->tv_sec && tv1->tv_usec < tv2->tv_usec)) -+ return TRUE; -+ else -+ return FALSE; -+} -+ -+#define WHILE_NOT_TIMEOUT(_timeout) \ -+ gettimeofday(&_target, NULL); \ -+ _target.tv_usec += ((_timeout) * 1000000); \ -+ _target.tv_sec += _target.tv_usec / 1000000; \ -+ _target.tv_usec = _target.tv_usec % 1000000; \ -+ while (gettimeofday(&_curtime, NULL), tv_le(&_curtime, &_target)) -+ -+#define TIMEDOUT() (!tv_le(&_curtime, &_target)) -+ -+ -+void -+ATIFlushIndirect(ATIScreenInfo *atis, Bool discard); -+ -+void -+ATIDMASetup(ScreenPtr pScreen); -+ -+void -+ATIDMATeardown(ScreenPtr pScreen); -+ -+CARD32 * -+ATIRequestEntries(ATIScreenInfo *atis, int n); -+ -+void -+ATISubmitEntries(ATIScreenInfo *atis, int n); -+ -+inline void -+ATIWaitAvailMMIO(ATIScreenInfo *atis, int n); -+#endif /* _ATI_DMA_H_ */ -Index: git/hw/kdrive/w100/ati_draw.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_draw.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,477 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#define USE_DMA -+#define DRAW_USING_PACKET3 -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+#include "ati.h" -+#include "w100_regs.h" -+#include "w100_const.h" -+#include "ati_dma.h" -+#include "ati_draw.h" -+#include "kaa.h" -+ -+ -+CARD8 ATISolidRop[16] = { -+ /* GXclear */ 0x00, -+ /* 0 */ -+ /* GXand */ 0xa0, -+ /* src AND dst */ -+ /* GXandReverse */ 0x50, -+ /* src AND NOT dst */ -+ /* GXcopy */ 0xf0, -+ /* src */ -+ /* GXandInverted */ 0x0a, -+ /* NOT src AND dst */ -+ /* GXnoop */ 0xaa, -+ /* dst */ -+ /* GXxor */ 0x5a, -+ /* src XOR dst */ -+ /* GXor */ 0xfa, -+ /* src OR dst */ -+ /* GXnor */ 0x05, -+ /* NOT src AND NOT dst */ -+ /* GXequiv */ 0xa5, -+ /* NOT src XOR dst */ -+ /* GXinvert */ 0x55, -+ /* NOT dst */ -+ /* GXorReverse */ 0xf5, -+ /* src OR NOT dst */ -+ /* GXcopyInverted */ 0x0f, -+ /* NOT src */ -+ /* GXorInverted */ 0xaf, -+ /* NOT src OR dst */ -+ /* GXnand */ 0x5f, -+ /* NOT src OR NOT dst */ -+ /* GXset */ 0xff, -+ /* 1 */ -+}; -+ -+CARD8 ATIBltRop[16] = { -+ /* GXclear */ 0x00, -+ /* 0 */ -+ /* GXand */ 0x88, -+ /* src AND dst */ -+ /* GXandReverse */ 0x44, -+ /* src AND NOT dst */ -+ /* GXcopy */ 0xcc, -+ /* src */ -+ /* GXandInverted */ 0x22, -+ /* NOT src AND dst */ -+ /* GXnoop */ 0xaa, -+ /* dst */ -+ /* GXxor */ 0x66, -+ /* src XOR dst */ -+ /* GXor */ 0xee, -+ /* src OR dst */ -+ /* GXnor */ 0x11, -+ /* NOT src AND NOT dst */ -+ /* GXequiv */ 0x99, -+ /* NOT src XOR dst */ -+ /* GXinvert */ 0x55, -+ /* NOT dst */ -+ /* GXorReverse */ 0xdd, -+ /* src OR NOT dst */ -+ /* GXcopyInverted */ 0x33, -+ /* NOT src */ -+ /* GXorInverted */ 0xbb, -+ /* NOT src OR dst */ -+ /* GXnand */ 0x77, -+ /* NOT src OR NOT dst */ -+ /* GXset */ 0xff, -+ /* 1 */ -+}; -+ -+static int copydx, copydy; -+static ATIScreenInfo *accel_atis; -+static char *accel_mmio; -+ -+ -+void -+ATIDrawSetup(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ default_sc_bottom_right_u dsbr; -+ RING_LOCALS; -+ -+ dsbr.val = 0; -+ dsbr.f.default_sc_right = dsbr.f.default_sc_bottom = W100_MAXINT; -+ -+ BEGIN_DMA_REG(2); -+ OUT_REG(mmDEFAULT_SC_BOTTOM_RIGHT, dsbr.val); -+ OUT_REG(mmSRC_SC_BOTTOM_RIGHT, dsbr.val); -+ END_DMA_REG(); -+} -+ -+static void -+ATIWaitMarker(ScreenPtr pScreen, int marker) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ ENTER_DRAW(0); -+ ATIWaitIdle(atis); -+ LEAVE_DRAW(0); -+} -+ -+ -+#if ATI_TRACE_DRAW -+void -+ATIEnterDraw(PixmapPtr pPix, const char *function) -+{ -+ if (pPix != NULL) { -+ KdScreenPriv(pPix->drawable.pScreen); -+ CARD32 offset; -+ -+ offset = ((CARD8 *) pPix->devPrivate.ptr - -+ pScreenPriv->screen->memory_base); -+ -+ ErrorF("Enter %s 0x%x (%dx%dx%d/%d)\n", function, offset, -+ pPix->drawable.width, pPix->drawable.height, -+ pPix->drawable.depth, pPix->drawable.bitsPerPixel); -+ } else -+ ErrorF("Enter %s\n", function); -+} -+ -+void -+ATILeaveDraw(PixmapPtr pPix, const char *function) -+{ -+ if (pPix != NULL) { -+ KdScreenPriv(pPix->drawable.pScreen); -+ CARD32 offset; -+ -+ offset = ((CARD8 *) pPix->devPrivate.ptr - -+ pScreenPriv->screen->memory_base); -+ -+ ErrorF("Leave %s 0x%x\n", function, offset); -+ } else -+ ErrorF("Leave %s\n", function); -+} -+#endif -+ -+/* Assumes that depth 15 and 16 can be used as depth 16, which is okay since we -+ * require src and dest datatypes to be equal. -+ */ -+static Bool -+ATIGetDatatypeBpp(int bpp, CARD32 * type) -+{ -+ switch (bpp) { -+ case 8: -+ *type = DATATYPE_8BPP; -+ return TRUE; -+ case 16: -+ *type = DATATYPE_ARGB1555; -+ return TRUE; -+ default: -+ ATI_FALLBACK(("Unsupported bpp: %d\n", bpp)); -+ return FALSE; -+ } -+} -+ -+ -+Bool -+ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 * pitch, CARD32 * offset) -+{ -+ KdScreenPriv(pPix->drawable.pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ /* XXX this only works for surfaces allocated in external memory */ -+ *offset = ((CARD8 *) pPix->devPrivate.ptr - -+ pScreenPriv->screen->memory_base) + atic->ext_mem_location; -+ *pitch = pPix->devKind >> 1; -+ -+ return TRUE; -+} -+ -+ -+static Bool -+ATIPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) -+{ -+ KdScreenPriv(pPix->drawable.pScreen); -+ ATIScreenInfo(pScreenPriv); -+ ATICardInfo(pScreenPriv); -+ CARD32 datatype, dst_pitch, dst_offset; -+ dp_gui_master_cntl_u gmc; -+ dp_cntl_u dp_cntl; -+ RING_LOCALS; -+ -+ accel_atis = atis; -+ accel_mmio = atic->reg_base; -+ -+ if (!ATIGetDatatypeBpp(pPix->drawable.bitsPerPixel, &datatype)) -+ return FALSE; -+ if (!ATIGetPixmapOffsetPitch(pPix, &dst_pitch, &dst_offset)) -+ return FALSE; -+ -+ ENTER_DRAW(pPix); -+ -+ gmc.val = 0; -+ gmc.f.gmc_dst_pitch_offset_cntl = 1; -+ gmc.f.gmc_dst_clipping = 1; -+ gmc.f.gmc_brush_datatype = BRUSH_SOLIDCOLOR; -+ gmc.f.gmc_dst_datatype = datatype; -+ gmc.f.gmc_src_datatype = datatype; -+ gmc.f.gmc_byte_pix_order = 1; -+ gmc.f.gmc_rop3 = ATISolidRop[alu]; -+ gmc.f.gmc_dp_src_source = SOURCE_MEM_RECTANGULAR; -+ gmc.f.gmc_clr_cmp_fcn_dis = 1; -+ gmc.f.gmc_dp_op = OP_ROP; -+ -+ dp_cntl.val = 0; -+ dp_cntl.f.dst_x_dir = 1; -+ dp_cntl.f.dst_y_dir = 1; -+ -+ BEGIN_DMA_REG(6); -+ OUT_REG(mmDST_PITCH, dst_pitch); -+ OUT_REG(mmDST_OFFSET, dst_offset); -+ OUT_REG(mmDP_GUI_MASTER_CNTL, gmc.val); -+ OUT_REG(mmDP_BRUSH_FRGD_CLR, fg); -+ OUT_REG(mmDP_WRITE_MSK, pm); -+ OUT_REG(mmDP_CNTL, dp_cntl.val); -+ END_DMA_REG(); -+ -+ LEAVE_DRAW(pPix); -+ return TRUE; -+} -+ -+static void -+ATISolid(int x1, int y1, int x2, int y2) -+{ -+ ENTER_DRAW(0); -+ ATIScreenInfo *atis = accel_atis; -+ RING_LOCALS; -+ -+#ifdef DRAW_USING_PACKET3 -+ BEGIN_DMA(3); -+ OUT_RING(DMA_PACKET3(W100_CCE_PACKET3_PAINT_MULTI, 2)); -+ OUT_RING((x1 << 16) | y1); -+ OUT_RING(((x2 - x1) << 16) | (y2 - y1)); -+ END_DMA(); -+#elif defined DRAW_USING_PACKET0 -+ BEGIN_DMA(3); -+ OUT_RING(DMA_PACKET0(mmDST_Y_X, 2)); -+ OUT_RING_REG(mmDST_Y_X, (y1 << 16) | x1); -+ OUT_RING_REG(mmDST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1)); -+ END_DMA(); -+#else -+ BEGIN_DMA_REG(2); -+ OUT_REG(mmDST_Y_X, (y1 << 16) | x1); -+ OUT_REG(mmDST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1)); -+ END_DMA_REG(); -+#endif -+ LEAVE_DRAW(0); -+} -+ -+ -+static void -+ATIDoneSolid(void) -+{ -+ ENTER_DRAW(0); -+ LEAVE_DRAW(0); -+} -+ -+ -+static Bool -+ATIPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu, -+ Pixel pm) -+{ -+ KdScreenPriv(pDst->drawable.pScreen); -+ ATIScreenInfo(pScreenPriv); -+ ATICardInfo(pScreenPriv); -+ CARD32 datatype, src_pitch, src_offset, dst_pitch, dst_offset; -+ dp_gui_master_cntl_u gmc; -+ dp_cntl_u dp_cntl; -+ dp_datatype_u dpdt; -+ RING_LOCALS; -+ -+ accel_mmio = atic->reg_base; -+ copydx = dx; -+ copydy = dy; -+ accel_atis = atis; -+ -+ if (!ATIGetDatatypeBpp(pDst->drawable.bitsPerPixel, &datatype)) -+ return FALSE; -+ if (!ATIGetPixmapOffsetPitch(pSrc, &src_pitch, &src_offset)) -+ return FALSE; -+ if (!ATIGetPixmapOffsetPitch(pDst, &dst_pitch, &dst_offset)) -+ return FALSE; -+ -+ ENTER_DRAW(pDst); -+ -+ gmc.val = 0; -+ gmc.f.gmc_src_pitch_offset_cntl = 1; -+ gmc.f.gmc_dst_pitch_offset_cntl = 1; -+ gmc.f.gmc_src_clipping = 1; -+ gmc.f.gmc_dst_clipping = 1; -+ gmc.f.gmc_brush_datatype = BRUSH_NONE; -+ gmc.f.gmc_dst_datatype = datatype; -+ gmc.f.gmc_src_datatype = datatype; -+ gmc.f.gmc_byte_pix_order = 1; -+ gmc.f.gmc_rop3 = ATIBltRop[alu]; -+ gmc.f.gmc_dp_src_source = SOURCE_MEM_RECTANGULAR; -+ gmc.f.gmc_clr_cmp_fcn_dis = 1; -+ gmc.f.gmc_dp_op = OP_ROP; -+ -+ dp_cntl.val = 0; -+ if (dx >= 0) -+ dp_cntl.f.dst_x_dir = 1; -+ if (dy >= 0) -+ dp_cntl.f.dst_y_dir = 1; -+ -+ dpdt.val = 0; -+ dpdt.f.dp_dst_datatype = datatype; -+ dpdt.f.dp_src_datatype = datatype; -+ dpdt.f.dp_byte_pix_order = 1; -+ -+ BEGIN_DMA_REG(8); -+ OUT_REG(mmSRC_PITCH, src_pitch); -+ OUT_REG(mmSRC_OFFSET, src_offset); -+ OUT_REG(mmDST_PITCH, dst_pitch); -+ OUT_REG(mmDST_OFFSET, dst_offset); -+ OUT_REG(mmDP_GUI_MASTER_CNTL, gmc.val); -+ OUT_REG(mmDP_WRITE_MSK, pm); -+ OUT_REG(mmDP_CNTL, dp_cntl.val); -+ OUT_REG(mmDP_DATATYPE, dpdt.val); -+ END_DMA_REG(); -+ -+ LEAVE_DRAW(pDst); -+ return TRUE; -+} -+ -+static void -+ATICopy(int srcX, int srcY, int dstX, int dstY, int w, int h) -+{ -+ ATIScreenInfo *atis = accel_atis; -+ RING_LOCALS; -+ -+ ENTER_DRAW(0); -+#ifndef DRAW_USING_PACKET3 -+ if (copydx < 0) { -+ srcX += w - 1; -+ dstX += w - 1; -+ } -+ if (copydy < 0) { -+ srcY += h - 1; -+ dstY += h - 1; -+ } -+#endif -+ -+#ifdef DRAW_USING_PACKET3 -+ BEGIN_DMA(4); -+ OUT_RING(DMA_PACKET3(W100_CCE_PACKET3_BITBLT_MULTI, 3)); -+ OUT_RING((srcX << 16) | srcY); -+ OUT_RING((dstX << 16) | dstY); -+ OUT_RING((w << 16) | h); -+ END_DMA(); -+#elif defined DRAW_USING_PACKET0 -+ BEGIN_DMA(4); -+ OUT_RING(DMA_PACKET0(mmSRC_Y_X, 3)); -+ OUT_RING_REG(mmSRC_Y_X, (srcY << 16) | srcX); -+ OUT_RING_REG(mmDST_Y_X, (dstY << 16) | dstX); -+ OUT_RING_REG(mmDST_HEIGHT_WIDTH, (h << 16) | w); -+ END_DMA(); -+#else -+ BEGIN_DMA_REG(3); -+ OUT_REG(mmSRC_Y_X, (srcY << 16) | srcX); -+ OUT_REG(mmDST_Y_X, (dstY << 16) | dstX); -+ OUT_REG(mmDST_HEIGHT_WIDTH, (h << 16) | w); -+ END_DMA_REG(); -+#endif -+ LEAVE_DRAW(0); -+} -+ -+ -+static void -+ATIDoneCopy(void) -+{ -+ ENTER_DRAW(0); -+ LEAVE_DRAW(0); -+} -+ -+ -+Bool -+ATIDrawInit(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ ErrorF("Screen: %d/%d depth/bpp\n", pScreenPriv->screen->fb[0].depth, -+ pScreenPriv->screen->fb[0].bitsPerPixel); -+ -+ memset(&atis->kaa, 0, sizeof(KaaScreenInfoRec)); -+ atis->kaa.waitMarker = ATIWaitMarker; -+ atis->kaa.PrepareSolid = ATIPrepareSolid; -+ atis->kaa.Solid = ATISolid; -+ atis->kaa.DoneSolid = ATIDoneSolid; -+ atis->kaa.PrepareCopy = ATIPrepareCopy; -+ atis->kaa.Copy = ATICopy; -+ atis->kaa.DoneCopy = ATIDoneCopy; -+ /* XXX if this flag isn't specified, Kdrive crashes in kaaPixmapUseMemory -+ * or kaaPixmapUseScreen. But this is probably caused by some bug in this -+ * driver... */ -+ atis->kaa.flags |= KAA_OFFSCREEN_PIXMAPS; -+ if (!kaaDrawInit(pScreen, &atis->kaa)) -+ return FALSE; -+ -+ return TRUE; -+} -+ -+ -+void -+ATIDrawEnable(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ ATIDMASetup(pScreen); -+ ATIDrawSetup(pScreen); -+ -+ atis->scratch_area = NULL; -+ atis->kaa.PrepareBlend = NULL; -+ atis->kaa.Blend = NULL; -+ atis->kaa.DoneBlend = NULL; -+ atis->kaa.CheckComposite = NULL; -+ atis->kaa.PrepareComposite = NULL; -+ atis->kaa.Composite = NULL; -+ atis->kaa.DoneComposite = NULL; -+ atis->kaa.UploadToScreen = NULL; -+ atis->kaa.UploadToScratch = NULL; -+ -+ -+ kaaMarkSync(pScreen); -+} -+ -+void -+ATIDrawDisable(ScreenPtr pScreen) -+{ -+ ATIDMATeardown(pScreen); -+} -+ -+void -+ATIDrawFini(ScreenPtr pScreen) -+{ -+ kaaDrawFini(pScreen); -+} -Index: git/hw/kdrive/w100/ati_draw.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_draw.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,107 @@ -+/* -+ * Copyright © 2004 Eric Anholt -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Eric Anholt not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Eric Anholt makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ERIC ANHOLT BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati_draw.h,v 1.9 2005-02-21 03:44:10 anholt Exp $ */ -+ -+#ifndef _ATI_DRAW_H_ -+#define _ATI_DRAW_H_ -+ -+Bool ATIGetOffsetPitch(ATIScreenInfo *atis, int bpp, CARD32 *pitch_offset, -+ int offset, int pitch); -+Bool ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 *pitch, CARD32 *offset); -+ -+Bool R128CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, -+ PicturePtr pDstPicture); -+Bool R128PrepareComposite(int op, PicturePtr pSrcPicture, -+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, -+ PixmapPtr pMask, PixmapPtr pDst); -+void R128Composite(int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, -+ int w, int h); -+void R128DoneComposite(void); -+ -+Bool R128PrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst); -+void R128Trapezoids(KaaTrapezoid *traps, int ntraps); -+void R128DoneTrapezoids(void); -+ -+Bool R100CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, -+ PicturePtr pDstPicture); -+Bool R100PrepareComposite(int op, PicturePtr pSrcPicture, -+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, -+ PixmapPtr pMask, PixmapPtr pDst); -+Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, -+ PicturePtr pDstPicture); -+Bool R200PrepareComposite(int op, PicturePtr pSrcPicture, -+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, -+ PixmapPtr pMask, PixmapPtr pDst); -+void RadeonComposite(int srcX, int srcY, int maskX, int maskY, int dstX, -+ int dstY, int w, int h); -+void RadeonDoneComposite(void); -+ -+Bool RadeonPrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst); -+void RadeonTrapezoids(KaaTrapezoid *traps, int ntraps); -+void RadeonDoneTrapezoids(void); -+ -+void RadeonSwitchTo2D(ATIScreenInfo *atis); -+void RadeonSwitchTo3D(ATIScreenInfo *atis); -+void ATIWaitIdle(ATIScreenInfo *atis); -+ -+#define ATI_TRACE_FALL 0 -+#define ATI_TRACE_DRAW 1 -+ -+#if ATI_TRACE_FALL -+#define ATI_FALLBACK(x) \ -+do { \ -+ ErrorF("%s: ", __FUNCTION__); \ -+ ErrorF x; \ -+ return FALSE; \ -+} while (0) -+#else -+#define ATI_FALLBACK(x) return FALSE -+#endif -+ -+#if ATI_TRACE_DRAW -+#define ENTER_DRAW(pix) ATIEnterDraw(pix, __FUNCTION__) -+#define LEAVE_DRAW(pix) ATILeaveDraw(pix, __FUNCTION__) -+ -+void -+ATIEnterDraw (PixmapPtr pPixmap, const char *function); -+ -+void -+ATILeaveDraw (PixmapPtr pPixmap, const char *function); -+#else /* ATI_TRACE */ -+#define ENTER_DRAW(pix) -+#define LEAVE_DRAW(pix) -+#endif /* !ATI_TRACE */ -+ -+#ifndef USE_DMA -+/* if DMA is not going to be used, drawing using PACKET3 or PACKET0 won't -+ * be possible */ -+#ifdef DRAW_USING_PACKET3 -+#undef DRAW_USING_PACKET3 -+#endif -+ -+#ifdef DRAW_USING_PACKET0 -+#undef DRAW_USING_PACKET0 -+#endif -+ -+#endif /* USE_DMA */ -+ -+#endif /* _ATI_DRAW_H_ */ -Index: git/hw/kdrive/w100/ati.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,256 @@ -+/* -+ * $Id: ati.h,v 1.18 2005-06-10 02:14:44 anholt Exp $ -+ * -+ * Copyright © 2003 Eric Anholt -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Eric Anholt not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Eric Anholt makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ERIC ANHOLT BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati.h,v 1.18 2005-06-10 02:14:44 anholt Exp $ */ -+ -+#ifndef _ATI_H_ -+#define _ATI_H_ -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+ -+#ifdef KDRIVEFBDEV -+#include -+#endif -+#ifdef KDRIVEVESA -+#include -+#endif -+ -+#include "kxv.h" -+ -+ -+#define ATI_MEM_BASE(c) (0x08000000) -+#define ATI_MEM_SIZE(c) (0x01000000) -+#define ATI_REG_BASE(c) (ATI_MEM_BASE(c) + 0x10000) /* the 0x08000000 must be obtained from /proc/iomem, the 0x10000 from ReadCfgReg(cfgREG_BASE) << 16) & 0xff0000 */ -+#define ATI_REG_SIZE(c) (0x2000) -+ -+#ifdef __powerpc__ -+ -+static __inline__ void -+MMIO_OUT32(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ __asm__ __volatile__( -+ "stwbrx %1,%2,%3\n\t" -+ "eieio" -+ : "=m" (*((volatile unsigned char *)base+offset)) -+ : "r" (val), "b" (base), "r" (offset)); -+} -+ -+static __inline__ CARD32 -+MMIO_IN32(__volatile__ void *base, const unsigned long offset) -+{ -+ register unsigned int val; -+ __asm__ __volatile__( -+ "lwbrx %0,%1,%2\n\t" -+ "eieio" -+ : "=r" (val) -+ : "b" (base), "r" (offset), -+ "m" (*((volatile unsigned char *)base+offset))); -+ return val; -+} -+ -+#else -+ -+#define MMIO_OUT32(mmio, a, v) (*(VOL32 *)((mmio) + (a)) = (v)) -+#define MMIO_IN32(mmio, a) (*(VOL32 *)((mmio) + (a))) -+ -+#endif -+ -+#define MMIO_OUT8(mmio, a, v) (*(VOL8 *)((mmio) + (a)) = (v)) -+#define MMIO_IN8(mmio, a, v) (*(VOL8 *)((mmio) + (a))) -+ -+ -+typedef volatile CARD8 VOL8; -+typedef volatile CARD16 VOL16; -+typedef volatile CARD32 VOL32; -+ -+struct pci_id_entry { -+ CARD16 vendor; -+ CARD16 device; -+ CARD8 caps; -+ char *name; -+}; -+ -+struct backend_funcs { -+ void (*cardfini)(KdCardInfo *); -+ void (*scrfini)(KdScreenInfo *); -+ Bool (*initScreen)(ScreenPtr); -+ Bool (*finishInitScreen)(ScreenPtr pScreen); -+ Bool (*createRes)(ScreenPtr); -+ void (*preserve)(KdCardInfo *); -+ void (*restore)(KdCardInfo *); -+ Bool (*dpms)(ScreenPtr, int); -+ Bool (*enable)(ScreenPtr); -+ void (*disable)(ScreenPtr); -+ void (*getColors)(ScreenPtr, int, int, xColorItem *); -+ void (*putColors)(ScreenPtr, int, int, xColorItem *); -+#ifdef RANDR -+ Bool (*randrSetConfig) (ScreenPtr, Rotation, int, RRScreenSizePtr); -+#endif -+}; -+ -+typedef struct _ATICardInfo { -+ union { -+#ifdef KDRIVEFBDEV -+ FbdevPriv fbdev; -+#endif -+#ifdef KDRIVEVESA -+ VesaCardPrivRec vesa; -+#endif -+ } backend_priv; -+ struct backend_funcs backend_funcs; -+ -+ struct pci_id_entry *pci_id; -+ CARD8 *mem_base; -+ CARD8 *reg_base; -+ CARD32 fb_location; -+ CARD32 ext_mem_location; -+ Bool use_fbdev, use_vesa; -+} ATICardInfo; -+ -+#define getATICardInfo(kd) ((ATICardInfo *) ((kd)->card->driver)) -+#define ATICardInfo(kd) ATICardInfo *atic = getATICardInfo(kd) -+ -+typedef struct _ATICursor { -+ int width, height; -+ int xhot, yhot; -+ -+ Bool has_cursor; -+ CursorPtr pCursor; -+ Pixel source, mask; -+ KdOffscreenArea *area; -+} ATICursor; -+ -+typedef struct _ATIPortPriv { -+ int brightness; -+ int saturation; -+ RegionRec clip; -+ CARD32 size; -+ KdOffscreenArea *off_screen; -+ DrawablePtr pDraw; -+ PixmapPtr pPixmap; -+ -+ CARD32 src_offset; -+ CARD32 src_pitch; -+ CARD8 *src_addr; -+ -+ int id; -+ int src_x1, src_y1, src_x2, src_y2; -+ int dst_x1, dst_y1, dst_x2, dst_y2; -+ int src_w, src_h, dst_w, dst_h; -+} ATIPortPrivRec, *ATIPortPrivPtr; -+ -+typedef struct _ATIScreenInfo { -+ union { -+#ifdef KDRIVEFBDEV -+ FbdevScrPriv fbdev; -+#endif -+#ifdef KDRIVEVESA -+ VesaScreenPrivRec vesa; -+#endif -+ } backend_priv; -+ KaaScreenInfoRec kaa; -+ -+ ATICardInfo *atic; -+ KdScreenInfo *screen; -+ -+ int scratch_offset; -+ int scratch_next; -+ KdOffscreenArea *scratch_area; -+ -+ ATICursor cursor; -+ -+ KdVideoAdaptorPtr pAdaptor; -+ int num_texture_ports; -+ -+ Bool using_pio; /* If we use decode DMA packets to MMIO. */ -+ Bool using_dma; /* If we use non-DRI DMA to submit packets. */ -+ -+ KdOffscreenArea *dma_space; /* For "DMA" from framebuffer. */ -+ CARD32 *ring_addr; /* Beginning of ring buffer. */ -+ int ring_write; /* Index of write ptr in ring. */ -+ int ring_read; /* Index of read ptr in ring. */ -+ int ring_len; -+ int ring_mask; -+ int ring_count; -+ int ring_free; -+ -+ -+ int mmio_avail; -+} ATIScreenInfo; -+ -+#define getATIScreenInfo(kd) ((ATIScreenInfo *) ((kd)->screen->driver)) -+#define ATIScreenInfo(kd) ATIScreenInfo *atis = getATIScreenInfo(kd) -+ -+typedef union { float f; CARD32 i; } fi_type; -+ -+ -+/* ati.c */ -+Bool -+ATIMap(KdCardInfo *card, ATICardInfo *atic); -+ -+void -+ATIUnmap(KdCardInfo *card, ATICardInfo *atic); -+ -+/* ati_draw.c */ -+void -+ATIDrawSetup(ScreenPtr pScreen); -+ -+Bool -+ATIDrawInit(ScreenPtr pScreen); -+ -+void -+ATIDrawEnable(ScreenPtr pScreen); -+ -+void -+ATIDrawDisable(ScreenPtr pScreen); -+ -+void -+ATIDrawFini(ScreenPtr pScreen); -+ -+ -+/* ati_cursor.c */ -+Bool -+ATICursorInit(ScreenPtr pScreen); -+ -+void -+ATICursorEnable(ScreenPtr pScreen); -+ -+void -+ATICursorDisable(ScreenPtr pScreen); -+ -+void -+ATICursorFini(ScreenPtr pScreen); -+ -+void -+ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem *pdef); -+ -+int -+ATILog2(int val); -+ -+ -+extern KdCardFuncs ATIFuncs; -+ -+#endif /* _ATI_H_ */ -Index: git/hw/kdrive/w100/ati_microcode.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_microcode.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,412 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+/* CCE microcode (from ATI) */ -+ -+#include "ati.h" -+ -+ -+CARD32 w100_microcode[][2] = { -+ {0x21007000, 0x00000000} -+ , -+ {0x20007000, 0x00000000} -+ , -+ {0x00000098, 0x00000004} -+ , -+ {0x0000009c, 0x00000004} -+ , -+ {0x66544a49, 0x00000000} -+ , -+ {0x49494174, 0x00000000} -+ , -+ {0x54517d83, 0x00000000} -+ , -+ {0x498d8b64, 0x00000000} -+ , -+ {0x49494949, 0x00000000} -+ , -+ {0x49b6493c, 0x00000000} -+ , -+ {0x49494949, 0x00000000} -+ , -+ {0x49494949, 0x00000000} -+ , -+ {0x49490d10, 0x00000000} -+ , -+ {0x000f0000, 0x00000016} -+ , -+ {0x30292027, 0x00000000} -+ , -+ {0x00000012, 0x00000004} -+ , -+ {0x000f0000, 0x00000016} -+ , -+ {0x30292427, 0x00000000} -+ , -+ {0x0000730f, 0x00000002} -+ , /* mmIDCT_CONTROL */ -+ {0x00061000, 0x00000002} -+ , -+ {0x0000001d, 0x0000001a} -+ , -+ {0x00004000, 0x0000001e} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x0000001d, 0x0000001a} -+ , -+ {0x00004000, 0x0000001e} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x0000001d, 0x0000001a} -+ , -+ {0x00004000, 0x0000001e} -+ , -+ {0x00000013, 0x00000004} -+ , -+ {0x0003803a, 0x00000002} -+ , -+ {0x04006300, 0x00000002} -+ , /* mmIDCT_RUNS */ -+ {0x00000013, 0x00000004} -+ , -+ {0x00007300, 0x00000002} -+ , /* mmIDCT_RUNS */ -+ {0x00065000, 0x00000002} -+ , -+ {0x00003301, 0x00000002} -+ , /* mmIDCT_LEVELS */ -+ {0x04006301, 0x00000006} -+ , /* mmIDCT_LEVELS */ -+ {0x00007300, 0x00000002} -+ , /* mmIDCT_RUNS */ -+ {0x00007301, 0x00000002} -+ , /* mmIDCT_LEVELS */ -+ {0x00007301, 0x00000006} -+ , /* mmIDCT_LEVELS */ -+ {0x0003803a, 0x00000002} -+ , -+ {0x04006300, 0x00000006} -+ , /* mmIDCT_RUNS */ -+ {0x00a05000, 0x00000002} -+ , -+ {0x00000039, 0x0000000c} -+ , -+ {0x00000000, 0x00000002} -+ , -+ {0x00007300, 0x00000002} -+ , /* mmIDCT_RUNS */ -+ {0x00007301, 0x00000002} -+ , /* mmIDCT_LEVELS */ -+ {0x00007301, 0x00000002} -+ , /* mmIDCT_LEVELS */ -+ {0x0060002a, 0x00000004} -+ , -+ {0x00007488, 0x00000002} -+ , /* mmE2_ARITHMETIC_CNTL */ -+ {0x0003803b, 0x00000002} -+ , -+ {0x00098000, 0x00000002} -+ , -+ {0x00200000, 0x00000002} -+ , -+ {0x00000039, 0x0000000c} -+ , -+ {0x00007465, 0x00000002} -+ , /* mmDST_X_Y */ -+ {0x00007464, 0x00000002} -+ , /* mmSRC_X_Y */ -+ {0x00007478, 0x00000002} -+ , /* mmMVC_CNTL_START */ -+ {0x00600034, 0x00000004} -+ , -+ {0x00000000, 0x00000006} -+ , -+ {0xffffffff, 0x00000000} -+ , -+ {0x00000006, 0x00000000} -+ , -+ {0x01605000, 0x00000002} -+ , -+ {0x00065000, 0x00000002} -+ , -+ {0x00098000, 0x00000002} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x64c0603d, 0x00000004} -+ , -+ {0x00080000, 0x00000016} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x0400241d, 0x00000002} -+ , /* mmBRUSH_Y_X */ -+ {0x00007424, 0x00000002} -+ , /* mmDST_LINE_START */ -+ {0x00067425, 0x00000002} -+ , /* mmDST_LINE_END */ -+ {0x04002424, 0x00000002} -+ , /* mmDST_LINE_START */ -+ {0x00067425, 0x00000002} -+ , /* mmDST_LINE_END */ -+ {0x00000046, 0x00000004} -+ , -+ {0x00005000, 0x00000000} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x0000740e, 0x00000002} -+ , /* mmDST_Y_X */ -+ {0x00019000, 0x00000002} -+ , -+ {0x00011050, 0x00000014} -+ , -+ {0x00000050, 0x00000012} -+ , -+ {0x0400240f, 0x00000002} -+ , /* mmDST_HEIGHT_WIDTH */ -+ {0x0000504a, 0x00000004} -+ , -+ {0x00007465, 0x00000002} -+ , /* mmDST_X_Y */ -+ {0x00007466, 0x00000002} -+ , /* mmDST_WIDTH_HEIGHT */ -+ {0x00000051, 0x00000004} -+ , -+ {0x01e65473, 0x00000002} -+ , /* mmDP_CNTL_DST_DIR */ -+ {0x4401b0b9, 0x00000002} -+ , -+ {0x01c110b9, 0x00000002} -+ , -+ {0x2666705d, 0x00000018} -+ , -+ {0x040c2465, 0x00000002} -+ , /* mmDST_X_Y */ -+ {0x0000005d, 0x00000018} -+ , -+ {0x04002464, 0x00000002} -+ , /* mmSRC_X_Y */ -+ {0x00007466, 0x00000002} -+ , /* mmDST_WIDTH_HEIGHT */ -+ {0x00000054, 0x00000004} -+ , -+ {0x00401060, 0x00000008} -+ , -+ {0x00101000, 0x00000002} -+ , -+ {0x000d80ff, 0x00000002} -+ , -+ {0x00800063, 0x00000008} -+ , -+ {0x000f9000, 0x00000002} -+ , -+ {0x000e00ff, 0x00000002} -+ , -+ {0x00000000, 0x00000006} -+ , -+ {0x00000080, 0x00000018} -+ , -+ {0x00000054, 0x00000004} -+ , -+ {0x00007490, 0x00000002} -+ , /* mmDP_SRC_FRGD_CLR */ -+ {0x00065000, 0x00000002} -+ , -+ {0x00009000, 0x00000002} -+ , -+ {0x00041000, 0x00000002} -+ , -+ {0x0c00340e, 0x00000002} -+ , /* mmDST_Y_X */ -+ {0x00049000, 0x00000002} -+ , -+ {0x00051000, 0x00000002} -+ , -+ {0x01e784f8, 0x00000002} -+ , -+ {0x00200000, 0x00000002} -+ , -+ {0x00600073, 0x0000000c} -+ , -+ {0x00007463, 0x00000002} -+ , /* mmDST_HEIGHT_WIDTH_8 */ -+ {0x006074f0, 0x00000021} -+ , /* mmHOST_DATA0 */ -+ {0x20007068, 0x00000004} -+ , -+ {0x00005068, 0x00000004} -+ , -+ {0x00007490, 0x00000002} -+ , /* mmDP_SRC_FRGD_CLR */ -+ {0x00007491, 0x00000002} -+ , /* mmDP_SRC_BKGD_CLR */ -+ {0x0000740e, 0x00000002} -+ , /* mmDST_Y_X */ -+ {0x0000740f, 0x00000002} -+ , /* mmDST_HEIGHT_WIDTH */ -+ {0x00a05000, 0x00000002} -+ , -+ {0x00600076, 0x0000000c} -+ , -+ {0x006074f0, 0x00000021} -+ , /* mmHOST_DATA0 */ -+ {0x000074f8, 0x00000002} -+ , /* mmHOST_DATA_LAST */ -+ {0x00000076, 0x00000004} -+ , -+ {0x000a740e, 0x00000002} -+ , /* mmDST_Y_X */ -+ {0x0020740f, 0x00000002} -+ , /* mmDST_HEIGHT_WIDTH */ -+ {0x00600079, 0x00000004} -+ , -+ {0x0000748c, 0x00000002} -+ , /* mmCLR_CMP_CNTL */ -+ {0x0000748d, 0x00000002} -+ , /* mmCLR_CMP_CLR_SRC */ -+ {0x0000748e, 0x00000006} -+ , /* mmCLR_CMP_CLR_DST */ -+ {0x00005000, 0x00000002} -+ , -+ {0x00a05000, 0x00000002} -+ , -+ {0x00007468, 0x00000002} -+ , /* mmDST_HEIGHT_Y */ -+ {0x00061000, 0x00000002} -+ , -+ {0x00000084, 0x0000000c} -+ , -+ {0x00058000, 0x00000002} -+ , -+ {0x0c607462, 0x00000002} -+ , /* mmDST_WIDTH_X */ -+ {0x00000086, 0x00000004} -+ , -+ {0x00600085, 0x00000004} -+ , -+ {0x400070ba, 0x00000000} -+ , -+ {0x000380ba, 0x00000002} -+ , -+ {0x00000093, 0x0000001c} -+ , -+ {0x00065095, 0x00000018} -+ , -+ {0x0400246f, 0x00000002} -+ , /* mmSC_TOP_LEFT */ -+ {0x00061096, 0x00000018} -+ , -+ {0x04007470, 0x00000000} -+ , /* mmSC_BOTTOM_RIGHT */ -+ {0x0000746f, 0x00000002} -+ , /* mmSC_TOP_LEFT */ -+ {0x00007470, 0x00000000} -+ , /* mmSC_BOTTOM_RIGHT */ -+ {0x00090000, 0x00000006} -+ , -+ {0x00090000, 0x00000002} -+ , -+ {0x000d8002, 0x00000006} -+ , -+ {0x01200000, 0x00000002} -+ , -+ {0x20077000, 0x00000002} -+ , -+ {0x01200000, 0x00000002} -+ , -+ {0x20007000, 0x00000002} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x0120741b, 0x00000002} -+ , /* mmDP_GUI_MASTER_CNTL */ -+ {0x8040740a, 0x00000002} -+ , /* mmSRC_PITCH_OFFSET */ -+ {0x8040740b, 0x00000002} -+ , /* mmDST_PITCH_OFFSET */ -+ {0x00110000, 0x00000002} -+ , -+ {0x000380ba, 0x00000002} -+ , -+ {0x000000aa, 0x0000001c} -+ , -+ {0x00061096, 0x00000018} -+ , -+ {0x84407471, 0x00000002} -+ , /* mmSRC_SC_BOTTOM_RIGHT */ -+ {0x00061095, 0x00000018} -+ , -+ {0x8400746f, 0x00000002} -+ , /* mmSC_TOP_LEFT */ -+ {0x00061096, 0x00000018} -+ , -+ {0x84407470, 0x00000002} -+ , /* mmSC_BOTTOM_RIGHT */ -+ {0x000000ad, 0x00000004} -+ , -+ {0x80407471, 0x00000002} -+ , /* mmSRC_SC_BOTTOM_RIGHT */ -+ {0x8000746f, 0x00000002} -+ , /* mmSC_TOP_LEFT */ -+ {0x80407470, 0x00000002} -+ , /* mmSC_BOTTOM_RIGHT */ -+ {0x00108000, 0x00000002} -+ , -+ {0x01400000, 0x00000002} -+ , -+ {0x006000b1, 0x0000000c} -+ , -+ {0x20c07000, 0x00000020} -+ , -+ {0x000000b3, 0x00000012} -+ , -+ {0x00800000, 0x00000006} -+ , -+ {0x0080741d, 0x00000006} -+ , /* mmBRUSH_Y_X */ -+ {0x00000000, 0x00000000} -+ , -+ {0x00000001, 0x00000000} -+ , -+ {0x000380b5, 0x00000002} -+ , -+ {0x04002054, 0x00000002} -+ , /* mmNQWAIT_UNTIL */ -+ {0x00005000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+}; -Index: git/hw/kdrive/w100/ati_stub.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_stub.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,103 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+#include "ati.h" -+#include "w100_regs.h" -+#include "klinux.h" -+ -+extern struct pci_id_entry ati_pci_ids[]; -+ -+static Bool -+FindW100(CARD16 vendor, CARD16 device, CARD32 count, KdCardAttr * attr) -+{ -+ char *mmio; -+ CARD32 chip_id; -+ Bool found = FALSE; -+ -+ mmio = KdMapDevice(ATI_REG_BASE(0), ATI_REG_SIZE(0)); -+ KdSetMappedMode((CARD32) mmio, ATI_REG_SIZE(0), -+ KD_MAPPED_MODE_REGISTERS); -+ -+ chip_id = MMIO_IN32(mmio, mmCHIP_ID); -+ if ((vendor | (device << 16)) == chip_id) { -+ ErrorF("Found Chip ID: %08x\n\n", chip_id); -+ attr->deviceID = device; -+ attr->vendorID = vendor; -+ found = TRUE; -+ } -+ KdUnmapDevice(mmio, ATI_REG_SIZE(0)); -+ return found; -+} -+ -+ -+void -+InitCard(char *name) -+{ -+ struct pci_id_entry *id; -+ KdCardAttr attr; -+ -+ for (id = ati_pci_ids; id->name != NULL; id++) { -+ int j = 0; -+ if (FindW100(id->vendor, id->device, j++, &attr)) -+ KdCardInfoAdd(&ATIFuncs, &attr, 0); -+ } -+} -+ -+void -+InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) -+{ -+ KdInitOutput(pScreenInfo, argc, argv); -+} -+ -+void -+InitInput(int argc, char **argv) -+{ -+ KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); -+#ifdef TOUCHSCREEN -+ KdAddMouseDriver(&TsFuncs); -+#endif -+} -+ -+void -+ddxUseMsg(void) -+{ -+ KdUseMsg(); -+#ifdef KDRIVEVESA -+ vesaUseMsg(); -+#endif -+} -+ -+int -+ddxProcessArgument(int argc, char **argv, int i) -+{ -+ int ret; -+ -+#ifdef KDRIVEVESA -+ if (!(ret = vesaProcessArgument(argc, argv, i))) -+#endif -+ ret = KdProcessArgument(argc, argv, i); -+ -+ return ret; -+} -Index: git/hw/kdrive/w100/Makefile.am -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/Makefile.am 2006-09-02 12:42:38.000000000 +0200 -@@ -0,0 +1,56 @@ -+if KDRIVEFBDEV -+FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev -+FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a -+endif -+ -+if KDRIVEVESA -+VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa -+VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a -+endif -+ -+INCLUDES = \ -+ @KDRIVE_INCS@ \ -+ $(FBDEV_INCLUDES) \ -+ $(VESA_INCLUDES) \ -+ @KDRIVE_CFLAGS@ -+ -+bin_PROGRAMS = Xw100 -+ -+if TSLIB -+TSLIB_FLAG = -lts -+endif -+ -+noinst_LIBRARIES = libw100.a -+ -+libw100_a_SOURCES = \ -+ ati_cursor.c \ -+ ati_dma.c \ -+ ati_dma.h \ -+ ati_draw.c \ -+ ati_draw.h \ -+ ati_microcode.c \ -+ ati.c \ -+ ati.h \ -+ w100_regs.h \ -+ w100_const.h -+ -+Xw100_SOURCES = \ -+ ati_stub.c -+ -+W100_LIBS = \ -+ libw100.a \ -+ $(FBDEV_LIBS) \ -+ $(VESA_LIBS) \ -+ $(DRI_LIBS) \ -+ @KDRIVE_LIBS@ -+ -+Xw100_LDADD = \ -+ $(W100_LIBS) \ -+ @XSERVER_LIBS@ \ -+ $(TSLIB_FLAG) -+ -+ -+Xw100_DEPENDENCIES = \ -+ libw100.a \ -+ $(FBDEV_LIBS) \ -+ $(VESA_LIBS) -Index: git/hw/kdrive/w100/w100_const.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/w100_const.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,25 @@ -+#define CSQ_CNTL_MODE_FREERUN 0x8 -+ -+#define WB_BLOCK_SIZE_A_0 0 -+#define WB_BLOCK_SIZE_A_1 1 -+#define WB_BLOCK_SIZE_A_2 2 -+#define WB_BLOCK_SIZE_A_3 3 -+#define WB_BLOCK_SIZE_A_4 4 -+ -+#define DATATYPE_8BPP 2 -+#define DATATYPE_ARGB1555 3 -+#define DATATYPE_ARGB4444 5 -+ -+#define BRUSH_SOLIDCOLOR 13 -+#define BRUSH_NONE 15 -+ -+#define OP_ROP 0 -+#define OP_ARITHMETIC 1 -+ -+#define SOURCE_MEM_RECTANGULAR 2 -+ -+#define W100_MAXINT 0x1fff -+ -+#define W100_CCE_PACKET3_PAINT_MULTI 0xc0001a00 -+#define W100_CCE_PACKET3_BITBLT_MULTI 0xc0001b00 -+ -Index: git/hw/kdrive/w100/w100_regs.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/w100_regs.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,3802 @@ -+#ifndef _W100_REGS_H_ -+#define _W100_REGS_H_ -+ -+/* Block CIF Start: */ -+#define mmCHIP_ID 0x0000 -+#define mmREVISION_ID 0x0004 -+#define mmWRAP_BUF_A 0x0008 -+#define mmWRAP_BUF_B 0x000C -+#define mmWRAP_TOP_DIR 0x0010 -+#define mmWRAP_START_DIR 0x0014 -+#define mmCIF_CNTL 0x0018 -+#define mmCFGREG_BASE 0x001C -+#define mmCIF_IO 0x0020 -+#define mmCIF_READ_DBG 0x0024 -+#define mmCIF_WRITE_DBG 0x0028 -+#define cfgIND_ADDR_A_0 0x0000 -+#define cfgIND_ADDR_A_1 0x0001 -+#define cfgIND_ADDR_A_2 0x0002 -+#define cfgIND_DATA_A 0x0003 -+#define cfgREG_BASE 0x0004 -+#define cfgINTF_CNTL 0x0005 -+#define cfgSTATUS 0x0006 -+#define cfgCPU_DEFAULTS 0x0007 -+#define cfgIND_ADDR_B_0 0x0008 -+#define cfgIND_ADDR_B_1 0x0009 -+#define cfgIND_ADDR_B_2 0x000A -+#define cfgIND_DATA_B 0x000B -+#define cfgPM4_RPTR 0x000C -+#define cfgSCRATCH 0x000D -+#define cfgPM4_WRPTR_0 0x000E -+#define cfgPM4_WRPTR_1 0x000F -+/* Block CIF End: */ -+ -+/* Block CP Start: */ -+#define mmCP_RB_CNTL 0x0210 -+#define mmCP_RB_BASE 0x0214 -+#define mmCP_RB_RPTR_ADDR 0x0218 -+#define mmCP_RB_RPTR 0x021C -+#define mmCP_RB_RPTR_WR 0x02F8 -+#define mmCP_RB_WPTR 0x0220 -+#define mmCP_IB_BASE 0x0228 -+#define mmCP_IB_BUFSZ 0x022C -+#define mmCP_CSQ_CNTL 0x0230 -+#define mmCP_CSQ_APER_PRIMARY 0x0300 -+#define mmCP_CSQ_APER_INDIRECT 0x0340 -+#define mmCP_ME_CNTL 0x0240 -+#define mmCP_ME_RAM_ADDR 0x0244 -+#define mmCP_ME_RAM_RADDR 0x0248 -+#define mmCP_ME_RAM_DATAH 0x024C -+#define mmCP_ME_RAM_DATAL 0x0250 -+#define mmCP_DEBUG 0x025C -+#define mmSCRATCH_REG0 0x0260 -+#define mmSCRATCH_REG1 0x0264 -+#define mmSCRATCH_REG2 0x0268 -+#define mmSCRATCH_REG3 0x026C -+#define mmSCRATCH_REG4 0x0270 -+#define mmSCRATCH_REG5 0x0274 -+#define mmSCRATCH_UMSK 0x0280 -+#define mmSCRATCH_ADDR 0x0284 -+#define mmCP_CSQ_ADDR 0x02E4 -+#define mmCP_CSQ_DATA 0x02E8 -+#define mmCP_CSQ_STAT 0x02EC -+#define mmCP_STAT 0x02F0 -+#define mmGEN_INT_CNTL 0x0200 -+#define mmGEN_INT_STATUS 0x0204 -+/* Block CP End: */ -+ -+/* Block DISPLAY Start: */ -+#define mmLCD_FORMAT 0x0410 -+#define mmGRAPHIC_CTRL 0x0414 -+#define mmGRAPHIC_OFFSET 0x0418 -+#define mmGRAPHIC_PITCH 0x041C -+#define mmCRTC_TOTAL 0x0420 -+#define mmACTIVE_H_DISP 0x0424 -+#define mmACTIVE_V_DISP 0x0428 -+#define mmGRAPHIC_H_DISP 0x042C -+#define mmGRAPHIC_V_DISP 0x0430 -+#define mmVIDEO_CTRL 0x0434 -+#define mmGRAPHIC_KEY 0x0438 -+#define mmVIDEO_Y_OFFSET 0x043C -+#define mmVIDEO_Y_PITCH 0x0440 -+#define mmVIDEO_U_OFFSET 0x0444 -+#define mmVIDEO_U_PITCH 0x0448 -+#define mmVIDEO_V_OFFSET 0x044C -+#define mmVIDEO_V_PITCH 0x0450 -+#define mmVIDEO_H_POS 0x0454 -+#define mmVIDEO_V_POS 0x0458 -+#define mmBRIGHTNESS_CNTL 0x045C -+#define mmCURSOR1_OFFSET 0x0460 -+#define mmCURSOR1_H_POS 0x0464 -+#define mmCURSOR1_V_POS 0x0468 -+#define mmCURSOR1_COLOR0 0x046C -+#define mmCURSOR1_COLOR1 0x0470 -+#define mmCURSOR2_OFFSET 0x0474 -+#define mmCURSOR2_H_POS 0x0478 -+#define mmCURSOR2_V_POS 0x047C -+#define mmCURSOR2_COLOR0 0x0480 -+#define mmCURSOR2_COLOR1 0x0484 -+#define mmDISP_INT_CNTL 0x0488 -+#define mmCRTC_SS 0x048C -+#define mmCRTC_LS 0x0490 -+#define mmCRTC_REV 0x0494 -+#define mmCRTC_DCLK 0x049C -+#define mmCRTC_GS 0x04A0 -+#define mmCRTC_VPOS_GS 0x04A4 -+#define mmCRTC_GCLK 0x04A8 -+#define mmCRTC_GOE 0x04AC -+#define mmCRTC_FRAME 0x04B0 -+#define mmCRTC_FRAME_VPOS 0x04B4 -+#define mmGPIO_DATA 0x04B8 -+#define mmGPIO_CNTL1 0x04BC -+#define mmGPIO_CNTL2 0x04C0 -+#define mmLCDD_CNTL1 0x04C4 -+#define mmLCDD_CNTL2 0x04C8 -+#define mmGENLCD_CNTL1 0x04CC -+#define mmGENLCD_CNTL2 0x04D0 -+#define mmDISP_DEBUG 0x04D4 -+#define mmDISP_DB_BUF_CNTL 0x04D8 -+#define mmDISP_CRC_SIG 0x04DC -+#define mmCRTC_DEFAULT_COUNT 0x04E0 -+#define mmLCD_BACKGROUND_COLOR 0x04E4 -+#define mmCRTC_PS2 0x04E8 -+#define mmCRTC_PS2_VPOS 0x04EC -+#define mmCRTC_PS1_ACTIVE 0x04F0 -+#define mmCRTC_PS1_NACTIVE 0x04F4 -+#define mmCRTC_GCLK_EXT 0x04F8 -+#define mmCRTC_ALW 0x04FC -+#define mmCRTC_ALW_VPOS 0x0500 -+#define mmCRTC_PSK 0x0504 -+#define mmCRTC_PSK_HPOS 0x0508 -+#define mmCRTC_CV4_START 0x050C -+#define mmCRTC_CV4_END 0x0510 -+#define mmCRTC_CV4_HPOS 0x0514 -+#define mmCRTC_ECK 0x051C -+#define mmREFRESH_CNTL 0x0520 -+#define mmGENLCD_CNTL3 0x0524 -+#define mmGPIO_DATA2 0x0528 -+#define mmGPIO_CNTL3 0x052C -+#define mmGPIO_CNTL4 0x0530 -+#define mmCHIP_STRAP 0x0534 -+#define mmDISP_DEBUG2 0x0538 -+#define mmDEBUG_BUS_CNTL 0x053C -+#define mmGAMMA_VALUE1 0x0540 -+#define mmGAMMA_VALUE2 0x0544 -+#define mmGAMMA_SLOPE 0x0548 -+#define mmGEN_STATUS 0x054C -+#define mmHW_INT 0x0550 -+/* Block DISPLAY End: */ -+ -+/* Block GFX Start: */ -+#define mmDST_OFFSET 0x1004 -+#define mmDST_PITCH 0x1008 -+#define mmDST_PITCH_OFFSET 0x102C -+#define mmDST_X 0x101C -+#define mmDST_Y 0x1020 -+#define mmDST_X_Y 0x1194 -+#define mmDST_Y_X 0x1038 -+#define mmDST_WIDTH 0x100C -+#define mmDST_HEIGHT 0x1010 -+#define mmDST_WIDTH_HEIGHT 0x1198 -+#define mmDST_HEIGHT_WIDTH 0x103C -+#define mmDST_HEIGHT_WIDTH_8 0x118C -+#define mmDST_HEIGHT_Y 0x11A0 -+#define mmDST_WIDTH_X 0x1188 -+#define mmDST_WIDTH_X_INCY 0x119C -+#define mmDST_LINE_START 0x1090 -+#define mmDST_LINE_END 0x1094 -+#define mmBRUSH_OFFSET 0x108C -+#define mmBRUSH_Y_X 0x1074 -+#define mmDP_BRUSH_FRGD_CLR 0x107C -+#define mmDP_BRUSH_BKGD_CLR 0x1078 -+#define mmSRC2_OFFSET 0x1060 -+#define mmSRC2_PITCH 0x1064 -+#define mmSRC2_PITCH_OFFSET 0x1068 -+#define mmSRC2_X 0x1050 -+#define mmSRC2_Y 0x1054 -+#define mmSRC2_X_Y 0x1058 -+#define mmSRC2_WIDTH 0x1080 -+#define mmSRC2_HEIGHT 0x1084 -+#define mmSRC2_INC 0x1088 -+#define mmSRC_OFFSET 0x11AC -+#define mmSRC_PITCH 0x11B0 -+#define mmSRC_PITCH_OFFSET 0x1028 -+#define mmSRC_X 0x1014 -+#define mmSRC_Y 0x1018 -+#define mmSRC_X_Y 0x1190 -+#define mmSRC_Y_X 0x1034 -+#define mmSRC_WIDTH 0x1040 -+#define mmSRC_HEIGHT 0x1044 -+#define mmSRC_INC 0x1048 -+#define mmHOST_DATA0 0x13C0 -+#define mmHOST_DATA1 0x13C4 -+#define mmHOST_DATA2 0x13C8 -+#define mmHOST_DATA3 0x13CC -+#define mmHOST_DATA4 0x13D0 -+#define mmHOST_DATA5 0x13D4 -+#define mmHOST_DATA6 0x13D8 -+#define mmHOST_DATA7 0x13DC -+#define mmHOST_DATA_LAST 0x13E0 -+#define mmDP_SRC_FRGD_CLR 0x1240 -+#define mmDP_SRC_BKGD_CLR 0x1244 -+#define mmSC_LEFT 0x1140 -+#define mmSC_RIGHT 0x1144 -+#define mmSC_TOP 0x1148 -+#define mmSC_BOTTOM 0x114C -+#define mmSRC_SC_RIGHT 0x1154 -+#define mmSRC_SC_BOTTOM 0x115C -+#define mmDP_CNTL 0x11C8 -+#define mmDP_CNTL_DST_DIR 0x11CC -+#define mmDP_DATATYPE 0x12C4 -+#define mmDP_MIX 0x12C8 -+#define mmDP_WRITE_MSK 0x12CC -+#define mmCLR_CMP_CLR_SRC 0x1234 -+#define mmCLR_CMP_CLR_DST 0x1238 -+#define mmCLR_CMP_CNTL 0x1230 -+#define mmCLR_CMP_MSK 0x123C -+#define mmDEFAULT_PITCH_OFFSET 0x10A0 -+#define mmDEFAULT_SC_BOTTOM_RIGHT 0x10A8 -+#define mmDEFAULT2_SC_BOTTOM_RIGHT 0x10AC -+#define mmREF1_PITCH_OFFSET 0x10B8 -+#define mmREF2_PITCH_OFFSET 0x10BC -+#define mmREF3_PITCH_OFFSET 0x10C0 -+#define mmREF4_PITCH_OFFSET 0x10C4 -+#define mmREF5_PITCH_OFFSET 0x10C8 -+#define mmREF6_PITCH_OFFSET 0x10CC -+#define mmDP_GUI_MASTER_CNTL 0x106C -+#define mmSC_TOP_LEFT 0x11BC -+#define mmSC_BOTTOM_RIGHT 0x11C0 -+#define mmSRC_SC_BOTTOM_RIGHT 0x11C4 -+#define mmGLOBAL_ALPHA 0x1210 -+#define mmFILTER_COEF 0x1214 -+#define mmMVC_CNTL_START 0x11E0 -+#define mmE2_ARITHMETIC_CNTL 0x1220 -+#define mmDEBUG0 0x1280 -+#define mmDEBUG1 0x1284 -+#define mmDEBUG2 0x1288 -+#define mmDEBUG3 0x128C -+#define mmDEBUG4 0x1290 -+#define mmDEBUG5 0x1294 -+#define mmDEBUG6 0x1298 -+#define mmDEBUG7 0x129C -+#define mmDEBUG8 0x12A0 -+#define mmDEBUG9 0x12A4 -+#define mmDEBUG10 0x12A8 -+#define mmDEBUG11 0x12AC -+#define mmDEBUG12 0x12B0 -+#define mmDEBUG13 0x12B4 -+#define mmDEBUG14 0x12B8 -+#define mmDEBUG15 0x12BC -+#define mmENG_CNTL 0x13E8 -+#define mmENG_PERF_CNT 0x13F0 -+/* Block GFX End: */ -+ -+/* Block IDCT Start: */ -+#define mmIDCT_RUNS 0x0C00 -+#define mmIDCT_LEVELS 0x0C04 -+#define mmIDCT_CONTROL 0x0C3C -+#define mmIDCT_AUTH_CONTROL 0x0C08 -+#define mmIDCT_AUTH 0x0C0C -+/* Block IDCT End: */ -+ -+/* Block MC Start: */ -+#define mmMEM_CNTL 0x0180 -+#define mmMEM_ARB 0x0184 -+#define mmMC_FB_LOCATION 0x0188 -+#define mmMEM_EXT_CNTL 0x018C -+#define mmMC_EXT_MEM_LOCATION 0x0190 -+#define mmMEM_EXT_TIMING_CNTL 0x0194 -+#define mmMEM_SDRAM_MODE_REG 0x0198 -+#define mmMEM_IO_CNTL 0x019C -+#define mmMC_DEBUG 0x01A0 -+#define mmMC_BIST_CTRL 0x01A4 -+#define mmMC_BIST_COLLAR_READ 0x01A8 -+#define mmTC_MISMATCH 0x01AC -+#define mmMC_PERF_MON_CNTL 0x01B0 -+#define mmMC_PERF_COUNTERS 0x01B4 -+/* Block MC End: */ -+ -+/* Block RBBM Start: */ -+#define mmWAIT_UNTIL 0x1400 -+#define mmISYNC_CNTL 0x1404 -+#define mmRBBM_GUICNTL 0x1408 -+#define mmRBBM_STATUS 0x0140 -+#define mmRBBM_STATUS_alt_1 0x140C -+#define mmRBBM_CNTL 0x0144 -+#define mmRBBM_SOFT_RESET 0x0148 -+#define mmNQWAIT_UNTIL 0x0150 -+#define mmRBBM_DEBUG 0x016C -+#define mmRBBM_CMDFIFO_ADDR 0x0170 -+#define mmRBBM_CMDFIFO_DATAL 0x0174 -+#define mmRBBM_CMDFIFO_DATAH 0x0178 -+#define mmRBBM_CMDFIFO_STAT 0x017C -+/* Block RBBM End: */ -+ -+/* Block CG Start: */ -+#define mmCLK_PIN_CNTL 0x0080 -+#define mmPLL_REF_FB_DIV 0x0084 -+#define mmPLL_CNTL 0x0088 -+#define mmSCLK_CNTL 0x008C -+#define mmPCLK_CNTL 0x0090 -+#define mmCLK_TEST_CNTL 0x0094 -+#define mmPWRMGT_CNTL 0x0098 -+#define mmPWRMGT_STATUS 0x009C -+/* Block CG End: */ -+ -+ -+/* data structure definitions */ -+ -+typedef struct _chip_id_t { -+ unsigned long vendor_id : 16; -+ unsigned long device_id : 16; -+ } chip_id_t; -+ -+typedef union { -+ unsigned long val : 32; -+ chip_id_t f; -+} chip_id_u; -+ -+typedef struct _revision_id_t { -+ unsigned long minor_rev_id : 4; -+ unsigned long major_rev_id : 4; -+ unsigned long : 24; -+ } revision_id_t; -+ -+typedef union { -+ unsigned long val : 32; -+ revision_id_t f; -+} revision_id_u; -+ -+typedef struct _wrap_buf_a_t { -+ unsigned long offset_addr_a : 24; -+ unsigned long block_size_a : 3; -+ unsigned long : 5; -+ } wrap_buf_a_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wrap_buf_a_t f; -+} wrap_buf_a_u; -+ -+typedef struct _wrap_buf_b_t { -+ unsigned long offset_addr_b : 24; -+ unsigned long block_size_b : 3; -+ unsigned long : 5; -+ } wrap_buf_b_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wrap_buf_b_t f; -+} wrap_buf_b_u; -+ -+typedef struct _wrap_top_dir_t { -+ unsigned long top_addr : 23; -+ unsigned long : 9; -+ } wrap_top_dir_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wrap_top_dir_t f; -+} wrap_top_dir_u; -+ -+typedef struct _wrap_start_dir_t { -+ unsigned long start_addr : 23; -+ unsigned long : 9; -+ } wrap_start_dir_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wrap_start_dir_t f; -+} wrap_start_dir_u; -+ -+typedef struct _cif_cntl_t { -+ unsigned long swap_reg : 2; -+ unsigned long swap_fbuf_1 : 2; -+ unsigned long swap_fbuf_2 : 2; -+ unsigned long swap_fbuf_3 : 2; -+ unsigned long pmi_int_disable : 1; -+ unsigned long pmi_schmen_disable : 1; -+ unsigned long intb_oe : 1; -+ unsigned long en_wait_to_compensate_dq_prop_dly : 1; -+ unsigned long compensate_wait_rd_size : 2; -+ unsigned long wait_asserted_timeout_val : 2; -+ unsigned long wait_masked_val : 2; -+ unsigned long en_wait_timeout : 1; -+ unsigned long en_one_clk_setup_before_wait : 1; -+ unsigned long interrupt_active_high : 1; -+ unsigned long en_overwrite_straps : 1; -+ unsigned long strap_wait_active_hi : 1; -+ unsigned long lat_busy_count : 2; -+ unsigned long lat_rd_pm4_sclk_busy : 1; -+ unsigned long dis_system_bits : 1; -+ unsigned long dis_mr : 1; -+ unsigned long cif_spare_1 : 4; -+ } cif_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cif_cntl_t f; -+} cif_cntl_u; -+ -+typedef struct _cfgreg_base_t { -+ unsigned long cfgreg_base : 24; -+ unsigned long : 8; -+ } cfgreg_base_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cfgreg_base_t f; -+} cfgreg_base_u; -+ -+typedef struct _cif_io_t { -+ unsigned long dq_srp : 1; -+ unsigned long dq_srn : 1; -+ unsigned long dq_sp : 4; -+ unsigned long dq_sn : 4; -+ unsigned long waitb_srp : 1; -+ unsigned long waitb_srn : 1; -+ unsigned long waitb_sp : 4; -+ unsigned long waitb_sn : 4; -+ unsigned long intb_srp : 1; -+ unsigned long intb_srn : 1; -+ unsigned long intb_sp : 4; -+ unsigned long intb_sn : 4; -+ unsigned long : 2; -+ } cif_io_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cif_io_t f; -+} cif_io_u; -+ -+typedef struct _cif_read_dbg_t { -+ unsigned long unpacker_pre_fetch_trig_gen : 2; -+ unsigned long dly_second_rd_fetch_trig : 1; -+ unsigned long rst_rd_burst_id : 1; -+ unsigned long dis_rd_burst_id : 1; -+ unsigned long en_block_rd_when_packer_is_not_emp : 1; -+ unsigned long dis_pre_fetch_cntl_sm : 1; -+ unsigned long rbbm_chrncy_dis : 1; -+ unsigned long rbbm_rd_after_wr_lat : 2; -+ unsigned long dis_be_during_rd : 1; -+ unsigned long one_clk_invalidate_pulse : 1; -+ unsigned long dis_chnl_priority : 1; -+ unsigned long rst_read_path_a_pls : 1; -+ unsigned long rst_read_path_b_pls : 1; -+ unsigned long dis_reg_rd_fetch_trig : 1; -+ unsigned long dis_rd_fetch_trig_from_ind_addr : 1; -+ unsigned long dis_rd_same_byte_to_trig_fetch : 1; -+ unsigned long dis_dir_wrap : 1; -+ unsigned long dis_ring_buf_to_force_dec : 1; -+ unsigned long dis_addr_comp_in_16bit : 1; -+ unsigned long clr_w : 1; -+ unsigned long err_rd_tag_is_3 : 1; -+ unsigned long err_load_when_ful_a : 1; -+ unsigned long err_load_when_ful_b : 1; -+ unsigned long : 7; -+ } cif_read_dbg_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cif_read_dbg_t f; -+} cif_read_dbg_u; -+ -+typedef struct _cif_write_dbg_t { -+ unsigned long packer_timeout_count : 2; -+ unsigned long en_upper_load_cond : 1; -+ unsigned long en_chnl_change_cond : 1; -+ unsigned long dis_addr_comp_cond : 1; -+ unsigned long dis_load_same_byte_addr_cond : 1; -+ unsigned long dis_timeout_cond : 1; -+ unsigned long dis_timeout_during_rbbm : 1; -+ unsigned long dis_packer_ful_during_rbbm_timeout : 1; -+ unsigned long en_dword_split_to_rbbm : 1; -+ unsigned long en_dummy_val : 1; -+ unsigned long dummy_val_sel : 1; -+ unsigned long mask_pm4_wrptr_dec : 1; -+ unsigned long dis_mc_clean_cond : 1; -+ unsigned long err_two_reqi_during_ful : 1; -+ unsigned long err_reqi_during_idle_clk : 1; -+ unsigned long err_global : 1; -+ unsigned long en_wr_buf_dbg_load : 1; -+ unsigned long en_wr_buf_dbg_path : 1; -+ unsigned long sel_wr_buf_byte : 3; -+ unsigned long dis_rd_flush_wr : 1; -+ unsigned long dis_packer_ful_cond : 1; -+ unsigned long dis_invalidate_by_ops_chnl : 1; -+ unsigned long en_halt_when_reqi_err : 1; -+ unsigned long cif_spare_2 : 5; -+ unsigned long : 1; -+ } cif_write_dbg_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cif_write_dbg_t f; -+} cif_write_dbg_u; -+ -+typedef struct _ind_addr_a_0_t { -+ unsigned char ind_addr_a_0 : 8; -+ } ind_addr_a_0_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_a_0_t f; -+} ind_addr_a_0_u; -+ -+typedef struct _ind_addr_a_1_t { -+ unsigned char ind_addr_a_1 : 8; -+ } ind_addr_a_1_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_a_1_t f; -+} ind_addr_a_1_u; -+ -+typedef struct _ind_addr_a_2_t { -+ unsigned char ind_addr_a_2 : 8; -+ } ind_addr_a_2_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_a_2_t f; -+} ind_addr_a_2_u; -+ -+typedef struct _ind_data_a_t { -+ unsigned char ind_data_a : 8; -+ } ind_data_a_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_data_a_t f; -+} ind_data_a_u; -+ -+typedef struct _reg_base_t { -+ unsigned char reg_base : 8; -+ } reg_base_t; -+ -+typedef union { -+ unsigned char val : 8; -+ reg_base_t f; -+} reg_base_u; -+ -+typedef struct _intf_cntl_t { -+ unsigned char ad_inc_a : 1; -+ unsigned char ring_buf_a : 1; -+ unsigned char rd_fetch_trigger_a : 1; -+ unsigned char rd_data_rdy_a : 1; -+ unsigned char ad_inc_b : 1; -+ unsigned char ring_buf_b : 1; -+ unsigned char rd_fetch_trigger_b : 1; -+ unsigned char rd_data_rdy_b : 1; -+ } intf_cntl_t; -+ -+typedef union { -+ unsigned char val : 8; -+ intf_cntl_t f; -+} intf_cntl_u; -+ -+typedef struct _status_t { -+ unsigned char wr_fifo_available_space : 2; -+ unsigned char fbuf_wr_pipe_emp : 1; -+ unsigned char soft_reset : 1; -+ unsigned char system_pwm_mode : 2; -+ unsigned char mem_access_dis : 1; -+ unsigned char en_pre_fetch : 1; -+ } status_t; -+ -+typedef union { -+ unsigned char val : 8; -+ status_t f; -+} status_u; -+ -+typedef struct _cpu_defaults_t { -+ unsigned char unpack_rd_data : 1; -+ unsigned char access_ind_addr_a : 1; -+ unsigned char access_ind_addr_b : 1; -+ unsigned char access_scratch_reg : 1; -+ unsigned char pack_wr_data : 1; -+ unsigned char transition_size : 1; -+ unsigned char en_read_buf_mode : 1; -+ unsigned char rd_fetch_scratch : 1; -+ } cpu_defaults_t; -+ -+typedef union { -+ unsigned char val : 8; -+ cpu_defaults_t f; -+} cpu_defaults_u; -+ -+typedef struct _ind_addr_b_0_t { -+ unsigned char ind_addr_b_0 : 8; -+ } ind_addr_b_0_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_b_0_t f; -+} ind_addr_b_0_u; -+ -+typedef struct _ind_addr_b_1_t { -+ unsigned char ind_addr_b_1 : 8; -+ } ind_addr_b_1_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_b_1_t f; -+} ind_addr_b_1_u; -+ -+typedef struct _ind_addr_b_2_t { -+ unsigned char ind_addr_b_2 : 8; -+ } ind_addr_b_2_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_b_2_t f; -+} ind_addr_b_2_u; -+ -+typedef struct _ind_data_b_t { -+ unsigned char ind_data_b : 8; -+ } ind_data_b_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_data_b_t f; -+} ind_data_b_u; -+ -+typedef struct _pm4_rptr_t { -+ unsigned char pm4_rptr : 8; -+ } pm4_rptr_t; -+ -+typedef union { -+ unsigned char val : 8; -+ pm4_rptr_t f; -+} pm4_rptr_u; -+ -+typedef struct _scratch_t { -+ unsigned char scratch : 8; -+ } scratch_t; -+ -+typedef union { -+ unsigned char val : 8; -+ scratch_t f; -+} scratch_u; -+ -+typedef struct _pm4_wrptr_0_t { -+ unsigned char pm4_wrptr_0 : 8; -+ } pm4_wrptr_0_t; -+ -+typedef union { -+ unsigned char val : 8; -+ pm4_wrptr_0_t f; -+} pm4_wrptr_0_u; -+ -+typedef struct _pm4_wrptr_1_t { -+ unsigned char pm4_wrptr_1 : 6; -+ unsigned char rd_fetch_pm4_rptr : 1; -+ unsigned char wrptr_atomic_update_w : 1; -+ } pm4_wrptr_1_t; -+ -+typedef union { -+ unsigned char val : 8; -+ pm4_wrptr_1_t f; -+} pm4_wrptr_1_u; -+ -+typedef struct _cp_rb_cntl_t { -+ unsigned long rb_bufsz : 6; -+ unsigned long : 2; -+ unsigned long rb_blksz : 6; -+ unsigned long : 2; -+ unsigned long buf_swap : 2; -+ unsigned long max_fetch : 2; -+ unsigned long : 7; -+ unsigned long rb_no_update : 1; -+ unsigned long : 3; -+ unsigned long rb_rptr_wr_ena : 1; -+ } cp_rb_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_cntl_t f; -+} cp_rb_cntl_u; -+ -+typedef struct _cp_rb_base_t { -+ unsigned long : 2; -+ unsigned long rb_base : 22; -+ unsigned long : 8; -+ } cp_rb_base_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_base_t f; -+} cp_rb_base_u; -+ -+typedef struct _cp_rb_rptr_addr_t { -+ unsigned long rb_rptr_swap : 2; -+ unsigned long rb_rptr_addr : 22; -+ unsigned long : 8; -+ } cp_rb_rptr_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_rptr_addr_t f; -+} cp_rb_rptr_addr_u; -+ -+typedef struct _cp_rb_rptr_t { -+ unsigned long rb_rptr : 23; -+ unsigned long : 9; -+ } cp_rb_rptr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_rptr_t f; -+} cp_rb_rptr_u; -+ -+typedef struct _cp_rb_rptr_wr_t { -+ unsigned long rb_rptr_wr : 23; -+ unsigned long : 9; -+ } cp_rb_rptr_wr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_rptr_wr_t f; -+} cp_rb_rptr_wr_u; -+ -+typedef struct _cp_rb_wptr_t { -+ unsigned long rb_wptr : 23; -+ unsigned long : 9; -+ } cp_rb_wptr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_wptr_t f; -+} cp_rb_wptr_u; -+ -+typedef struct _cp_ib_base_t { -+ unsigned long : 2; -+ unsigned long ib_base : 22; -+ unsigned long : 8; -+ } cp_ib_base_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_ib_base_t f; -+} cp_ib_base_u; -+ -+typedef struct _cp_ib_bufsz_t { -+ unsigned long ib_bufsz : 23; -+ unsigned long : 9; -+ } cp_ib_bufsz_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_ib_bufsz_t f; -+} cp_ib_bufsz_u; -+ -+typedef struct _cp_csq_cntl_t { -+ unsigned long csq_cnt_primary : 8; -+ unsigned long csq_cnt_indirect : 8; -+ unsigned long : 12; -+ unsigned long csq_mode : 4; -+ } cp_csq_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_cntl_t f; -+} cp_csq_cntl_u; -+ -+typedef struct _cp_csq_aper_primary_t { -+ unsigned long cp_csq_aper_primary : 32; -+ } cp_csq_aper_primary_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_aper_primary_t f; -+} cp_csq_aper_primary_u; -+ -+typedef struct _cp_csq_aper_indirect_t { -+ unsigned long cp_csq_aper_indirect : 32; -+ } cp_csq_aper_indirect_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_aper_indirect_t f; -+} cp_csq_aper_indirect_u; -+ -+typedef struct _cp_me_cntl_t { -+ unsigned long me_stat : 16; -+ unsigned long me_statmux : 5; -+ unsigned long : 8; -+ unsigned long me_busy : 1; -+ unsigned long me_mode : 1; -+ unsigned long me_step : 1; -+ } cp_me_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_cntl_t f; -+} cp_me_cntl_u; -+ -+typedef struct _cp_me_ram_addr_t { -+ unsigned long me_ram_addr : 8; -+ unsigned long : 24; -+ } cp_me_ram_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_ram_addr_t f; -+} cp_me_ram_addr_u; -+ -+typedef struct _cp_me_ram_raddr_t { -+ unsigned long me_ram_raddr : 8; -+ unsigned long : 24; -+ } cp_me_ram_raddr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_ram_raddr_t f; -+} cp_me_ram_raddr_u; -+ -+typedef struct _cp_me_ram_datah_t { -+ unsigned long me_ram_datah : 6; -+ unsigned long : 26; -+ } cp_me_ram_datah_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_ram_datah_t f; -+} cp_me_ram_datah_u; -+ -+typedef struct _cp_me_ram_datal_t { -+ unsigned long me_ram_datal : 32; -+ } cp_me_ram_datal_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_ram_datal_t f; -+} cp_me_ram_datal_u; -+ -+typedef struct _cp_debug_t { -+ unsigned long cp_debug : 32; -+ } cp_debug_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_debug_t f; -+} cp_debug_u; -+ -+typedef struct _scratch_reg0_t { -+ unsigned long scratch_reg0 : 32; -+ } scratch_reg0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg0_t f; -+} scratch_reg0_u; -+ -+typedef struct _scratch_reg1_t { -+ unsigned long scratch_reg1 : 32; -+ } scratch_reg1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg1_t f; -+} scratch_reg1_u; -+ -+typedef struct _scratch_reg2_t { -+ unsigned long scratch_reg2 : 32; -+ } scratch_reg2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg2_t f; -+} scratch_reg2_u; -+ -+typedef struct _scratch_reg3_t { -+ unsigned long scratch_reg3 : 32; -+ } scratch_reg3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg3_t f; -+} scratch_reg3_u; -+ -+typedef struct _scratch_reg4_t { -+ unsigned long scratch_reg4 : 32; -+ } scratch_reg4_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg4_t f; -+} scratch_reg4_u; -+ -+typedef struct _scratch_reg5_t { -+ unsigned long scratch_reg5 : 32; -+ } scratch_reg5_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg5_t f; -+} scratch_reg5_u; -+ -+typedef struct _scratch_umsk_t { -+ unsigned long scratch_umsk : 6; -+ unsigned long : 10; -+ unsigned long scratch_swap : 2; -+ unsigned long : 14; -+ } scratch_umsk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_umsk_t f; -+} scratch_umsk_u; -+ -+typedef struct _scratch_addr_t { -+ unsigned long : 5; -+ unsigned long scratch_addr : 27; -+ } scratch_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_addr_t f; -+} scratch_addr_u; -+ -+typedef struct _cp_csq_addr_t { -+ unsigned long : 2; -+ unsigned long csq_addr : 8; -+ unsigned long : 22; -+ } cp_csq_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_addr_t f; -+} cp_csq_addr_u; -+ -+typedef struct _cp_csq_data_t { -+ unsigned long csq_data : 32; -+ } cp_csq_data_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_data_t f; -+} cp_csq_data_u; -+ -+typedef struct _cp_csq_stat_t { -+ unsigned long csq_rptr_primary : 8; -+ unsigned long csq_wptr_primary : 8; -+ unsigned long csq_rptr_indirect : 8; -+ unsigned long csq_wptr_indirect : 8; -+ } cp_csq_stat_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_stat_t f; -+} cp_csq_stat_u; -+ -+typedef struct _cp_stat_t { -+ unsigned long mru_busy : 1; -+ unsigned long mwu_busy : 1; -+ unsigned long rsiu_busy : 1; -+ unsigned long rciu_busy : 1; -+ unsigned long : 5; -+ unsigned long csf_primary_busy : 1; -+ unsigned long csf_indirect_busy : 1; -+ unsigned long csq_primary_busy : 1; -+ unsigned long csq_indirect_busy : 1; -+ unsigned long csi_busy : 1; -+ unsigned long : 14; -+ unsigned long guidma_busy : 1; -+ unsigned long viddma_busy : 1; -+ unsigned long cmdstrm_busy : 1; -+ unsigned long cp_busy : 1; -+ } cp_stat_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_stat_t f; -+} cp_stat_u; -+ -+typedef struct _gen_int_cntl_t { -+ unsigned long crtc_vblank_mask : 1; -+ unsigned long crtc_vline_mask : 1; -+ unsigned long crtc_hwint1_mask : 1; -+ unsigned long crtc_hwint2_mask : 1; -+ unsigned long : 15; -+ unsigned long gui_idle_mask : 1; -+ unsigned long : 8; -+ unsigned long pm4_idle_int_mask : 1; -+ unsigned long dvi_i2c_int_mask : 1; -+ unsigned long : 2; -+ } gen_int_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gen_int_cntl_t f; -+} gen_int_cntl_u; -+ -+typedef struct _gen_int_status_rd_t { -+ unsigned long crtc_vblank_stat : 1; -+ unsigned long crtc_vline_stat : 1; -+ unsigned long crtc_hwint1_stat : 1; -+ unsigned long crtc_hwint2_stat : 1; -+ unsigned long : 15; -+ unsigned long gui_idle_stat : 1; -+ unsigned long : 8; -+ unsigned long pm4_idle_int_stat : 1; -+ unsigned long dvi_i2c_int_stat : 1; -+ unsigned long : 2; -+ } gen_int_status_rd_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gen_int_status_rd_t f; -+} gen_int_status_rd_u; -+ -+typedef struct _gen_int_status_wr_t { -+ unsigned long crtc_vblank_stat_ak : 1; -+ unsigned long crtc_vline_stat_ak : 1; -+ unsigned long crtc_hwint1_stat_ak : 1; -+ unsigned long crtc_hwint2_stat_ak : 1; -+ unsigned long : 15; -+ unsigned long gui_idle_stat_ak : 1; -+ unsigned long : 8; -+ unsigned long pm4_idle_int_ak : 1; -+ unsigned long dvi_i2c_int_ak : 1; -+ unsigned long : 2; -+ } gen_int_status_wr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gen_int_status_wr_t f; -+} gen_int_status_wr_u; -+ -+typedef struct _lcd_format_t { -+ unsigned long lcd_type : 4; -+ unsigned long color_to_mono : 1; -+ unsigned long data_inv : 1; -+ unsigned long stn_fm : 2; -+ unsigned long tft_fm : 2; -+ unsigned long scan_lr_en : 1; -+ unsigned long scan_ud_en : 1; -+ unsigned long pol_inv : 1; -+ unsigned long rst_fm : 1; -+ unsigned long yuv_to_rgb : 1; -+ unsigned long hr_tft : 1; -+ unsigned long ulc_panel : 1; -+ unsigned long : 15; -+ } lcd_format_t; -+ -+typedef union { -+ unsigned long val : 32; -+ lcd_format_t f; -+} lcd_format_u; -+ -+typedef struct _graphic_ctrl_t { -+ unsigned long color_depth : 3; -+ unsigned long portrait_mode : 2; -+ unsigned long low_power_on : 1; -+ unsigned long req_freq : 4; -+ unsigned long en_crtc : 1; -+ unsigned long en_graphic_req : 1; -+ unsigned long en_graphic_crtc : 1; -+ unsigned long total_req_graphic : 9; -+ unsigned long lcd_pclk_on : 1; -+ unsigned long lcd_sclk_on : 1; -+ unsigned long pclk_running : 1; -+ unsigned long sclk_running : 1; -+ unsigned long : 6; -+ } graphic_ctrl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_ctrl_t f; -+} graphic_ctrl_u; -+ -+typedef struct _graphic_offset_t { -+ unsigned long graphic_offset : 24; -+ unsigned long : 8; -+ } graphic_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_offset_t f; -+} graphic_offset_u; -+ -+typedef struct _graphic_pitch_t { -+ unsigned long graphic_pitch : 11; -+ unsigned long : 21; -+ } graphic_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_pitch_t f; -+} graphic_pitch_u; -+ -+typedef struct _crtc_total_t { -+ unsigned long crtc_h_total : 10; -+ unsigned long : 6; -+ unsigned long crtc_v_total : 10; -+ unsigned long : 6; -+ } crtc_total_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_total_t f; -+} crtc_total_u; -+ -+typedef struct _active_h_disp_t { -+ unsigned long active_h_start : 10; -+ unsigned long : 6; -+ unsigned long active_h_end : 10; -+ unsigned long : 6; -+ } active_h_disp_t; -+ -+typedef union { -+ unsigned long val : 32; -+ active_h_disp_t f; -+} active_h_disp_u; -+ -+typedef struct _active_v_disp_t { -+ unsigned long active_v_start : 10; -+ unsigned long : 6; -+ unsigned long active_v_end : 10; -+ unsigned long : 6; -+ } active_v_disp_t; -+ -+typedef union { -+ unsigned long val : 32; -+ active_v_disp_t f; -+} active_v_disp_u; -+ -+typedef struct _graphic_h_disp_t { -+ unsigned long graphic_h_start : 10; -+ unsigned long : 6; -+ unsigned long graphic_h_end : 10; -+ unsigned long : 6; -+ } graphic_h_disp_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_h_disp_t f; -+} graphic_h_disp_u; -+ -+typedef struct _graphic_v_disp_t { -+ unsigned long graphic_v_start : 10; -+ unsigned long : 6; -+ unsigned long graphic_v_end : 10; -+ unsigned long : 6; -+ } graphic_v_disp_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_v_disp_t f; -+} graphic_v_disp_u; -+ -+typedef struct _video_ctrl_t { -+ unsigned long video_mode : 1; -+ unsigned long keyer_en : 1; -+ unsigned long en_video_req : 1; -+ unsigned long en_graphic_req_video : 1; -+ unsigned long en_video_crtc : 1; -+ unsigned long video_hor_exp : 2; -+ unsigned long video_ver_exp : 2; -+ unsigned long uv_combine : 1; -+ unsigned long total_req_video : 9; -+ unsigned long video_ch_sel : 1; -+ unsigned long video_portrait : 2; -+ unsigned long yuv2rgb_en : 1; -+ unsigned long yuv2rgb_option : 1; -+ unsigned long video_inv_hor : 1; -+ unsigned long video_inv_ver : 1; -+ unsigned long gamma_sel : 2; -+ unsigned long dis_limit : 1; -+ unsigned long en_uv_hblend : 1; -+ unsigned long rgb_gamma_sel : 2; -+ } video_ctrl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_ctrl_t f; -+} video_ctrl_u; -+ -+typedef struct _graphic_key_t { -+ unsigned long keyer_color : 16; -+ unsigned long keyer_mask : 16; -+ } graphic_key_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_key_t f; -+} graphic_key_u; -+ -+typedef struct _video_y_offset_t { -+ unsigned long y_offset : 24; -+ unsigned long : 8; -+ } video_y_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_y_offset_t f; -+} video_y_offset_u; -+ -+typedef struct _video_y_pitch_t { -+ unsigned long y_pitch : 11; -+ unsigned long : 21; -+ } video_y_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_y_pitch_t f; -+} video_y_pitch_u; -+ -+typedef struct _video_u_offset_t { -+ unsigned long u_offset : 24; -+ unsigned long : 8; -+ } video_u_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_u_offset_t f; -+} video_u_offset_u; -+ -+typedef struct _video_u_pitch_t { -+ unsigned long u_pitch : 11; -+ unsigned long : 21; -+ } video_u_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_u_pitch_t f; -+} video_u_pitch_u; -+ -+typedef struct _video_v_offset_t { -+ unsigned long v_offset : 24; -+ unsigned long : 8; -+ } video_v_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_v_offset_t f; -+} video_v_offset_u; -+ -+typedef struct _video_v_pitch_t { -+ unsigned long v_pitch : 11; -+ unsigned long : 21; -+ } video_v_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_v_pitch_t f; -+} video_v_pitch_u; -+ -+typedef struct _video_h_pos_t { -+ unsigned long video_h_start : 10; -+ unsigned long : 6; -+ unsigned long video_h_end : 10; -+ unsigned long : 6; -+ } video_h_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_h_pos_t f; -+} video_h_pos_u; -+ -+typedef struct _video_v_pos_t { -+ unsigned long video_v_start : 10; -+ unsigned long : 6; -+ unsigned long video_v_end : 10; -+ unsigned long : 6; -+ } video_v_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_v_pos_t f; -+} video_v_pos_u; -+ -+typedef struct _brightness_cntl_t { -+ unsigned long brightness : 7; -+ unsigned long : 25; -+ } brightness_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ brightness_cntl_t f; -+} brightness_cntl_u; -+ -+typedef struct _cursor1_offset_t { -+ unsigned long cur1_offset : 24; -+ unsigned long cur1_x_offset : 4; -+ unsigned long cur1_y_offset : 4; -+ } cursor1_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_offset_t f; -+} cursor1_offset_u; -+ -+typedef struct _cursor1_h_pos_t { -+ unsigned long cur1_h_start : 10; -+ unsigned long : 6; -+ unsigned long cur1_h_end : 10; -+ unsigned long : 5; -+ unsigned long cur1_en : 1; -+ } cursor1_h_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_h_pos_t f; -+} cursor1_h_pos_u; -+ -+typedef struct _cursor1_v_pos_t { -+ unsigned long cur1_v_start : 10; -+ unsigned long : 6; -+ unsigned long cur1_v_end : 10; -+ unsigned long : 6; -+ } cursor1_v_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_v_pos_t f; -+} cursor1_v_pos_u; -+ -+typedef struct _cursor1_color0_t { -+ unsigned long cur1_color0_r : 8; -+ unsigned long cur1_color0_g : 8; -+ unsigned long cur1_color0_b : 8; -+ unsigned long : 8; -+ } cursor1_color0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_color0_t f; -+} cursor1_color0_u; -+ -+typedef struct _cursor1_color1_t { -+ unsigned long cur1_color1_r : 8; -+ unsigned long cur1_color1_g : 8; -+ unsigned long cur1_color1_b : 8; -+ unsigned long : 8; -+ } cursor1_color1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_color1_t f; -+} cursor1_color1_u; -+ -+typedef struct _cursor2_offset_t { -+ unsigned long cur2_offset : 24; -+ unsigned long cur2_x_offset : 4; -+ unsigned long cur2_y_offset : 4; -+ } cursor2_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_offset_t f; -+} cursor2_offset_u; -+ -+typedef struct _cursor2_h_pos_t { -+ unsigned long cur2_h_start : 10; -+ unsigned long : 6; -+ unsigned long cur2_h_end : 10; -+ unsigned long : 5; -+ unsigned long cur2_en : 1; -+ } cursor2_h_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_h_pos_t f; -+} cursor2_h_pos_u; -+ -+typedef struct _cursor2_v_pos_t { -+ unsigned long cur2_v_start : 10; -+ unsigned long : 6; -+ unsigned long cur2_v_end : 10; -+ unsigned long : 6; -+ } cursor2_v_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_v_pos_t f; -+} cursor2_v_pos_u; -+ -+typedef struct _cursor2_color0_t { -+ unsigned long cur2_color0_r : 8; -+ unsigned long cur2_color0_g : 8; -+ unsigned long cur2_color0_b : 8; -+ unsigned long : 8; -+ } cursor2_color0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_color0_t f; -+} cursor2_color0_u; -+ -+typedef struct _cursor2_color1_t { -+ unsigned long cur2_color1_r : 8; -+ unsigned long cur2_color1_g : 8; -+ unsigned long cur2_color1_b : 8; -+ unsigned long : 8; -+ } cursor2_color1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_color1_t f; -+} cursor2_color1_u; -+ -+typedef struct _disp_int_cntl_t { -+ unsigned long vline_int_pos : 10; -+ unsigned long : 6; -+ unsigned long hpos_int_pos : 10; -+ unsigned long : 4; -+ unsigned long vblank_int_pol : 1; -+ unsigned long frame_int_pol : 1; -+ } disp_int_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_int_cntl_t f; -+} disp_int_cntl_u; -+ -+typedef struct _crtc_ss_t { -+ unsigned long ss_start : 10; -+ unsigned long : 6; -+ unsigned long ss_end : 10; -+ unsigned long : 2; -+ unsigned long ss_align : 1; -+ unsigned long ss_pol : 1; -+ unsigned long ss_run_mode : 1; -+ unsigned long ss_en : 1; -+ } crtc_ss_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ss_t f; -+} crtc_ss_u; -+ -+typedef struct _crtc_ls_t { -+ unsigned long ls_start : 10; -+ unsigned long : 6; -+ unsigned long ls_end : 10; -+ unsigned long : 2; -+ unsigned long ls_align : 1; -+ unsigned long ls_pol : 1; -+ unsigned long ls_run_mode : 1; -+ unsigned long ls_en : 1; -+ } crtc_ls_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ls_t f; -+} crtc_ls_u; -+ -+typedef struct _crtc_rev_t { -+ unsigned long rev_pos : 10; -+ unsigned long : 6; -+ unsigned long rev_align : 1; -+ unsigned long rev_freq_nref : 5; -+ unsigned long rev_en : 1; -+ unsigned long : 9; -+ } crtc_rev_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_rev_t f; -+} crtc_rev_u; -+ -+typedef struct _crtc_dclk_t { -+ unsigned long dclk_start : 10; -+ unsigned long : 6; -+ unsigned long dclk_end : 10; -+ unsigned long : 1; -+ unsigned long dclk_run_mode : 2; -+ unsigned long dclk_pol : 1; -+ unsigned long dclk_align : 1; -+ unsigned long dclk_en : 1; -+ } crtc_dclk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_dclk_t f; -+} crtc_dclk_u; -+ -+typedef struct _crtc_gs_t { -+ unsigned long gs_start : 10; -+ unsigned long : 6; -+ unsigned long gs_end : 10; -+ unsigned long : 3; -+ unsigned long gs_align : 1; -+ unsigned long gs_pol : 1; -+ unsigned long gs_en : 1; -+ } crtc_gs_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_gs_t f; -+} crtc_gs_u; -+ -+typedef struct _crtc_vpos_gs_t { -+ unsigned long gs_vpos_start : 10; -+ unsigned long : 6; -+ unsigned long gs_vpos_end : 10; -+ unsigned long : 6; -+ } crtc_vpos_gs_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_vpos_gs_t f; -+} crtc_vpos_gs_u; -+ -+typedef struct _crtc_gclk_t { -+ unsigned long gclk_start : 10; -+ unsigned long : 6; -+ unsigned long gclk_end : 10; -+ unsigned long : 3; -+ unsigned long gclk_align : 1; -+ unsigned long gclk_pol : 1; -+ unsigned long gclk_en : 1; -+ } crtc_gclk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_gclk_t f; -+} crtc_gclk_u; -+ -+typedef struct _crtc_goe_t { -+ unsigned long goe_start : 10; -+ unsigned long : 6; -+ unsigned long goe_end : 10; -+ unsigned long : 3; -+ unsigned long goe_align : 1; -+ unsigned long goe_pol : 1; -+ unsigned long goe_en : 1; -+ } crtc_goe_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_goe_t f; -+} crtc_goe_u; -+ -+typedef struct _crtc_frame_t { -+ unsigned long crtc_fr_start : 10; -+ unsigned long : 6; -+ unsigned long crtc_fr_end : 10; -+ unsigned long : 4; -+ unsigned long crtc_frame_en : 1; -+ unsigned long crtc_frame_align : 1; -+ } crtc_frame_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_frame_t f; -+} crtc_frame_u; -+ -+typedef struct _crtc_frame_vpos_t { -+ unsigned long crtc_fr_vpos : 10; -+ unsigned long : 22; -+ } crtc_frame_vpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_frame_vpos_t f; -+} crtc_frame_vpos_u; -+ -+typedef struct _gpio_data_t { -+ unsigned long gio_out : 16; -+ unsigned long gio_in : 16; -+ } gpio_data_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_data_t f; -+} gpio_data_u; -+ -+typedef struct _gpio_cntl1_t { -+ unsigned long gio_pd : 16; -+ unsigned long gio_schmen : 16; -+ } gpio_cntl1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_cntl1_t f; -+} gpio_cntl1_u; -+ -+typedef struct _gpio_cntl2_t { -+ unsigned long gio_oe : 16; -+ unsigned long gio_srp : 1; -+ unsigned long gio_srn : 1; -+ unsigned long gio_sp : 4; -+ unsigned long gio_sn : 4; -+ unsigned long : 6; -+ } gpio_cntl2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_cntl2_t f; -+} gpio_cntl2_u; -+ -+typedef struct _lcdd_cntl1_t { -+ unsigned long lcdd_pd : 18; -+ unsigned long lcdd_srp : 1; -+ unsigned long lcdd_srn : 1; -+ unsigned long lcdd_sp : 4; -+ unsigned long lcdd_sn : 4; -+ unsigned long lcdd_align : 1; -+ unsigned long : 3; -+ } lcdd_cntl1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ lcdd_cntl1_t f; -+} lcdd_cntl1_u; -+ -+typedef struct _lcdd_cntl2_t { -+ unsigned long lcdd_oe : 18; -+ unsigned long : 14; -+ } lcdd_cntl2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ lcdd_cntl2_t f; -+} lcdd_cntl2_u; -+ -+typedef struct _genlcd_cntl1_t { -+ unsigned long dclk_oe : 1; -+ unsigned long dclk_pd : 1; -+ unsigned long dclk_srp : 1; -+ unsigned long dclk_srn : 1; -+ unsigned long dclk_sp : 4; -+ unsigned long dclk_sn : 4; -+ unsigned long ss_oe : 1; -+ unsigned long ss_pd : 1; -+ unsigned long ls_oe : 1; -+ unsigned long ls_pd : 1; -+ unsigned long gs_oe : 1; -+ unsigned long gs_pd : 1; -+ unsigned long goe_oe : 1; -+ unsigned long goe_pd : 1; -+ unsigned long rev_oe : 1; -+ unsigned long rev_pd : 1; -+ unsigned long frame_oe : 1; -+ unsigned long frame_pd : 1; -+ unsigned long : 8; -+ } genlcd_cntl1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ genlcd_cntl1_t f; -+} genlcd_cntl1_u; -+ -+typedef struct _genlcd_cntl2_t { -+ unsigned long gclk_oe : 1; -+ unsigned long gclk_pd : 1; -+ unsigned long gclk_srp : 1; -+ unsigned long gclk_srn : 1; -+ unsigned long gclk_sp : 4; -+ unsigned long gclk_sn : 4; -+ unsigned long genlcd_srp : 1; -+ unsigned long genlcd_srn : 1; -+ unsigned long genlcd_sp : 4; -+ unsigned long genlcd_sn : 4; -+ unsigned long : 10; -+ } genlcd_cntl2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ genlcd_cntl2_t f; -+} genlcd_cntl2_u; -+ -+typedef struct _disp_debug_t { -+ unsigned long disp_debug : 32; -+ } disp_debug_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_debug_t f; -+} disp_debug_u; -+ -+typedef struct _disp_db_buf_cntl_rd_t { -+ unsigned long en_db_buf : 1; -+ unsigned long update_db_buf_done : 1; -+ unsigned long db_buf_cntl : 6; -+ unsigned long : 24; -+ } disp_db_buf_cntl_rd_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_db_buf_cntl_rd_t f; -+} disp_db_buf_cntl_rd_u; -+ -+typedef struct _disp_db_buf_cntl_wr_t { -+ unsigned long en_db_buf : 1; -+ unsigned long update_db_buf : 1; -+ unsigned long db_buf_cntl : 6; -+ unsigned long : 24; -+ } disp_db_buf_cntl_wr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_db_buf_cntl_wr_t f; -+} disp_db_buf_cntl_wr_u; -+ -+typedef struct _disp_crc_sig_t { -+ unsigned long crc_sig_r : 6; -+ unsigned long crc_sig_g : 6; -+ unsigned long crc_sig_b : 6; -+ unsigned long crc_cont_en : 1; -+ unsigned long crc_en : 1; -+ unsigned long crc_mask_en : 1; -+ unsigned long crc_sig_cntl : 6; -+ unsigned long : 5; -+ } disp_crc_sig_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_crc_sig_t f; -+} disp_crc_sig_u; -+ -+typedef struct _crtc_default_count_t { -+ unsigned long crtc_hcount_def : 10; -+ unsigned long : 6; -+ unsigned long crtc_vcount_def : 10; -+ unsigned long : 6; -+ } crtc_default_count_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_default_count_t f; -+} crtc_default_count_u; -+ -+typedef struct _lcd_background_color_t { -+ unsigned long lcd_bg_red : 8; -+ unsigned long lcd_bg_green : 8; -+ unsigned long lcd_bg_blue : 8; -+ unsigned long : 8; -+ } lcd_background_color_t; -+ -+typedef union { -+ unsigned long val : 32; -+ lcd_background_color_t f; -+} lcd_background_color_u; -+ -+typedef struct _crtc_ps2_t { -+ unsigned long ps2_start : 10; -+ unsigned long : 6; -+ unsigned long ps2_end : 10; -+ unsigned long : 4; -+ unsigned long ps2_pol : 1; -+ unsigned long ps2_en : 1; -+ } crtc_ps2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ps2_t f; -+} crtc_ps2_u; -+ -+typedef struct _crtc_ps2_vpos_t { -+ unsigned long ps2_vpos_start : 10; -+ unsigned long : 6; -+ unsigned long ps2_vpos_end : 10; -+ unsigned long : 6; -+ } crtc_ps2_vpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ps2_vpos_t f; -+} crtc_ps2_vpos_u; -+ -+typedef struct _crtc_ps1_active_t { -+ unsigned long ps1_h_start : 10; -+ unsigned long : 6; -+ unsigned long ps1_h_end : 10; -+ unsigned long : 3; -+ unsigned long ps1_pol : 1; -+ unsigned long ps1_en : 1; -+ unsigned long ps1_use_nactive : 1; -+ } crtc_ps1_active_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ps1_active_t f; -+} crtc_ps1_active_u; -+ -+typedef struct _crtc_ps1_nactive_t { -+ unsigned long ps1_h_start_na : 10; -+ unsigned long : 6; -+ unsigned long ps1_h_end_na : 10; -+ unsigned long : 5; -+ unsigned long ps1_en_na : 1; -+ } crtc_ps1_nactive_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ps1_nactive_t f; -+} crtc_ps1_nactive_u; -+ -+typedef struct _crtc_gclk_ext_t { -+ unsigned long gclk_alter_start : 10; -+ unsigned long : 6; -+ unsigned long gclk_alter_width : 2; -+ unsigned long gclk_en_alter : 1; -+ unsigned long gclk_db_width : 2; -+ unsigned long : 11; -+ } crtc_gclk_ext_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_gclk_ext_t f; -+} crtc_gclk_ext_u; -+ -+typedef struct _crtc_alw_t { -+ unsigned long alw_hstart : 10; -+ unsigned long : 6; -+ unsigned long alw_hend : 10; -+ unsigned long : 4; -+ unsigned long alw_delay : 1; -+ unsigned long alw_en : 1; -+ } crtc_alw_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_alw_t f; -+} crtc_alw_u; -+ -+typedef struct _crtc_alw_vpos_t { -+ unsigned long alw_vstart : 10; -+ unsigned long : 6; -+ unsigned long alw_vend : 10; -+ unsigned long : 6; -+ } crtc_alw_vpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_alw_vpos_t f; -+} crtc_alw_vpos_u; -+ -+typedef struct _crtc_psk_t { -+ unsigned long psk_vstart : 10; -+ unsigned long : 6; -+ unsigned long psk_vend : 10; -+ unsigned long : 4; -+ unsigned long psk_pol : 1; -+ unsigned long psk_en : 1; -+ } crtc_psk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_psk_t f; -+} crtc_psk_u; -+ -+typedef struct _crtc_psk_hpos_t { -+ unsigned long psk_hstart : 10; -+ unsigned long : 6; -+ unsigned long psk_hend : 10; -+ unsigned long : 6; -+ } crtc_psk_hpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_psk_hpos_t f; -+} crtc_psk_hpos_u; -+ -+typedef struct _crtc_cv4_start_t { -+ unsigned long cv4_vstart : 10; -+ unsigned long : 20; -+ unsigned long cv4_pol : 1; -+ unsigned long cv4_en : 1; -+ } crtc_cv4_start_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_cv4_start_t f; -+} crtc_cv4_start_u; -+ -+typedef struct _crtc_cv4_end_t { -+ unsigned long cv4_vend1 : 10; -+ unsigned long : 6; -+ unsigned long cv4_vend2 : 10; -+ unsigned long : 6; -+ } crtc_cv4_end_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_cv4_end_t f; -+} crtc_cv4_end_u; -+ -+typedef struct _crtc_cv4_hpos_t { -+ unsigned long cv4_hstart : 10; -+ unsigned long : 6; -+ unsigned long cv4_hend : 10; -+ unsigned long : 6; -+ } crtc_cv4_hpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_cv4_hpos_t f; -+} crtc_cv4_hpos_u; -+ -+typedef struct _crtc_eck_t { -+ unsigned long eck_freq1 : 3; -+ unsigned long eck_en : 1; -+ unsigned long : 28; -+ } crtc_eck_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_eck_t f; -+} crtc_eck_u; -+ -+typedef struct _refresh_cntl_t { -+ unsigned long ref_frame : 3; -+ unsigned long nref_frame : 5; -+ unsigned long ref_cntl : 1; -+ unsigned long stop_sm_nref : 1; -+ unsigned long stop_req_nref : 1; -+ unsigned long : 21; -+ } refresh_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ refresh_cntl_t f; -+} refresh_cntl_u; -+ -+typedef struct _genlcd_cntl3_t { -+ unsigned long ps1_oe : 1; -+ unsigned long ps1_pd : 1; -+ unsigned long ps2_oe : 1; -+ unsigned long ps2_pd : 1; -+ unsigned long rev2_oe : 1; -+ unsigned long rev2_pd : 1; -+ unsigned long awl_oe : 1; -+ unsigned long awl_pd : 1; -+ unsigned long dinv_oe : 1; -+ unsigned long dinv_pd : 1; -+ unsigned long psk_out : 1; -+ unsigned long psd_out : 1; -+ unsigned long eck_out : 1; -+ unsigned long cv4_out : 1; -+ unsigned long ps1_out : 1; -+ unsigned long ps2_out : 1; -+ unsigned long rev_out : 1; -+ unsigned long rev2_out : 1; -+ unsigned long : 14; -+ } genlcd_cntl3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ genlcd_cntl3_t f; -+} genlcd_cntl3_u; -+ -+typedef struct _gpio_data2_t { -+ unsigned long gio2_out : 16; -+ unsigned long gio2_in : 16; -+ } gpio_data2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_data2_t f; -+} gpio_data2_u; -+ -+typedef struct _gpio_cntl3_t { -+ unsigned long gio2_pd : 16; -+ unsigned long gio2_schmen : 16; -+ } gpio_cntl3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_cntl3_t f; -+} gpio_cntl3_u; -+ -+typedef struct _gpio_cntl4_t { -+ unsigned long gio2_oe : 16; -+ unsigned long : 16; -+ } gpio_cntl4_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_cntl4_t f; -+} gpio_cntl4_u; -+ -+typedef struct _chip_strap_t { -+ unsigned long config_strap : 8; -+ unsigned long pkg_strap : 1; -+ unsigned long : 23; -+ } chip_strap_t; -+ -+typedef union { -+ unsigned long val : 32; -+ chip_strap_t f; -+} chip_strap_u; -+ -+typedef struct _disp_debug2_t { -+ unsigned long disp_debug2 : 32; -+ } disp_debug2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_debug2_t f; -+} disp_debug2_u; -+ -+typedef struct _debug_bus_cntl_t { -+ unsigned long debug_testmux : 4; -+ unsigned long debug_testsel : 4; -+ unsigned long debug_gioa_sel : 2; -+ unsigned long debug_giob_sel : 2; -+ unsigned long debug_clk_sel : 1; -+ unsigned long debug_clk_inv : 1; -+ unsigned long : 2; -+ unsigned long debug_bus : 16; -+ } debug_bus_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug_bus_cntl_t f; -+} debug_bus_cntl_u; -+ -+typedef struct _gamma_value1_t { -+ unsigned long gamma1 : 8; -+ unsigned long gamma2 : 8; -+ unsigned long gamma3 : 8; -+ unsigned long gamma4 : 8; -+ } gamma_value1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gamma_value1_t f; -+} gamma_value1_u; -+ -+typedef struct _gamma_value2_t { -+ unsigned long gamma5 : 8; -+ unsigned long gamma6 : 8; -+ unsigned long gamma7 : 8; -+ unsigned long gamma8 : 8; -+ } gamma_value2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gamma_value2_t f; -+} gamma_value2_u; -+ -+typedef struct _gamma_slope_t { -+ unsigned long slope1 : 3; -+ unsigned long slope2 : 3; -+ unsigned long slope3 : 3; -+ unsigned long slope4 : 3; -+ unsigned long slope5 : 3; -+ unsigned long slope6 : 3; -+ unsigned long slope7 : 3; -+ unsigned long slope8 : 3; -+ unsigned long : 8; -+ } gamma_slope_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gamma_slope_t f; -+} gamma_slope_u; -+ -+typedef struct _gen_status_t { -+ unsigned long status : 16; -+ unsigned long : 16; -+ } gen_status_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gen_status_t f; -+} gen_status_u; -+ -+typedef struct _hw_int_t { -+ unsigned long hwint1_pos : 5; -+ unsigned long hwint2_pos : 5; -+ unsigned long hwint1_pol : 1; -+ unsigned long hwint2_pol : 1; -+ unsigned long hwint1_en_db : 1; -+ unsigned long hwint2_en_db : 1; -+ unsigned long : 18; -+ } hw_int_t; -+ -+typedef union { -+ unsigned long val : 32; -+ hw_int_t f; -+} hw_int_u; -+ -+typedef struct _dst_offset_t { -+ unsigned long dst_offset : 24; -+ unsigned long : 8; -+ } dst_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_offset_t f; -+} dst_offset_u; -+ -+typedef struct _dst_pitch_t { -+ unsigned long dst_pitch : 14; -+ unsigned long mc_dst_pitch_mul : 2; -+ unsigned long : 16; -+ } dst_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_pitch_t f; -+} dst_pitch_u; -+ -+typedef struct _dst_pitch_offset_t { -+ unsigned long dst_offset : 20; -+ unsigned long dst_pitch : 10; -+ unsigned long mc_dst_pitch_mul : 2; -+ } dst_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_pitch_offset_t f; -+} dst_pitch_offset_u; -+ -+typedef struct _dst_x_t { -+ unsigned long dst_x : 14; -+ unsigned long : 18; -+ } dst_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_x_t f; -+} dst_x_u; -+ -+typedef struct _dst_y_t { -+ unsigned long dst_y : 14; -+ unsigned long : 18; -+ } dst_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_y_t f; -+} dst_y_u; -+ -+typedef struct _dst_x_y_t { -+ unsigned long dst_y : 14; -+ unsigned long : 2; -+ unsigned long dst_x : 14; -+ unsigned long : 2; -+ } dst_x_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_x_y_t f; -+} dst_x_y_u; -+ -+typedef struct _dst_y_x_t { -+ unsigned long dst_x : 14; -+ unsigned long : 2; -+ unsigned long dst_y : 14; -+ unsigned long : 2; -+ } dst_y_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_y_x_t f; -+} dst_y_x_u; -+ -+typedef struct _dst_width_t { -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 18; -+ } dst_width_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_width_t f; -+} dst_width_u; -+ -+typedef struct _dst_height_t { -+ unsigned long dst_height : 14; -+ unsigned long : 18; -+ } dst_height_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_height_t f; -+} dst_height_u; -+ -+typedef struct _dst_width_height_t { -+ unsigned long dst_height : 14; -+ unsigned long : 2; -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 2; -+ } dst_width_height_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_width_height_t f; -+} dst_width_height_u; -+ -+typedef struct _dst_height_width_t { -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 2; -+ unsigned long dst_height : 14; -+ unsigned long : 2; -+ } dst_height_width_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_height_width_t f; -+} dst_height_width_u; -+ -+typedef struct _dst_height_width_8_t { -+ unsigned long : 16; -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_height : 8; -+ } dst_height_width_8_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_height_width_8_t f; -+} dst_height_width_8_u; -+ -+typedef struct _dst_height_y_t { -+ unsigned long dst_y : 14; -+ unsigned long : 2; -+ unsigned long dst_height : 14; -+ unsigned long : 2; -+ } dst_height_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_height_y_t f; -+} dst_height_y_u; -+ -+typedef struct _dst_width_x_t { -+ unsigned long dst_x : 14; -+ unsigned long : 2; -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 2; -+ } dst_width_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_width_x_t f; -+} dst_width_x_u; -+ -+typedef struct _dst_width_x_incy_t { -+ unsigned long dst_x : 14; -+ unsigned long : 2; -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 2; -+ } dst_width_x_incy_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_width_x_incy_t f; -+} dst_width_x_incy_u; -+ -+typedef struct _dst_line_start_t { -+ unsigned long dst_start_x : 14; -+ unsigned long : 2; -+ unsigned long dst_start_y : 14; -+ unsigned long : 2; -+ } dst_line_start_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_line_start_t f; -+} dst_line_start_u; -+ -+typedef struct _dst_line_end_t { -+ unsigned long dst_end_x : 14; -+ unsigned long : 2; -+ unsigned long dst_end_y_b0 : 8; -+ unsigned long dst_end_y_b1 : 6; -+ unsigned long : 2; -+ } dst_line_end_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_line_end_t f; -+} dst_line_end_u; -+ -+typedef struct _brush_offset_t { -+ unsigned long brush_offset : 24; -+ unsigned long : 8; -+ } brush_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ brush_offset_t f; -+} brush_offset_u; -+ -+typedef struct _brush_y_x_t { -+ unsigned long brush_x : 5; -+ unsigned long : 3; -+ unsigned long brush_y : 3; -+ unsigned long : 21; -+ } brush_y_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ brush_y_x_t f; -+} brush_y_x_u; -+ -+typedef struct _dp_brush_frgd_clr_t { -+ unsigned long dp_brush_frgd_clr : 32; -+ } dp_brush_frgd_clr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_brush_frgd_clr_t f; -+} dp_brush_frgd_clr_u; -+ -+typedef struct _dp_brush_bkgd_clr_t { -+ unsigned long dp_brush_bkgd_clr : 32; -+ } dp_brush_bkgd_clr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_brush_bkgd_clr_t f; -+} dp_brush_bkgd_clr_u; -+ -+typedef struct _src2_offset_t { -+ unsigned long src2_offset : 24; -+ unsigned long : 8; -+ } src2_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_offset_t f; -+} src2_offset_u; -+ -+typedef struct _src2_pitch_t { -+ unsigned long src2_pitch : 14; -+ unsigned long src2_pitch_mul : 2; -+ unsigned long : 16; -+ } src2_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_pitch_t f; -+} src2_pitch_u; -+ -+typedef struct _src2_pitch_offset_t { -+ unsigned long src2_offset : 20; -+ unsigned long : 2; -+ unsigned long src2_pitch : 8; -+ unsigned long src2_pitch_mul : 2; -+ } src2_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_pitch_offset_t f; -+} src2_pitch_offset_u; -+ -+typedef struct _src2_x_t { -+ unsigned long src_x : 14; -+ unsigned long : 18; -+ } src2_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_x_t f; -+} src2_x_u; -+ -+typedef struct _src2_y_t { -+ unsigned long src_y : 14; -+ unsigned long : 18; -+ } src2_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_y_t f; -+} src2_y_u; -+ -+typedef struct _src2_x_y_t { -+ unsigned long src_y : 14; -+ unsigned long : 2; -+ unsigned long src_x : 14; -+ unsigned long : 2; -+ } src2_x_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_x_y_t f; -+} src2_x_y_u; -+ -+typedef struct _src2_width_t { -+ unsigned long src2_width : 14; -+ unsigned long : 18; -+ } src2_width_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_width_t f; -+} src2_width_u; -+ -+typedef struct _src2_height_t { -+ unsigned long src2_height : 14; -+ unsigned long : 18; -+ } src2_height_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_height_t f; -+} src2_height_u; -+ -+typedef struct _src2_inc_t { -+ unsigned long src2_xinc : 6; -+ unsigned long : 2; -+ unsigned long src2_yinc : 6; -+ unsigned long : 18; -+ } src2_inc_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_inc_t f; -+} src2_inc_u; -+ -+typedef struct _src_offset_t { -+ unsigned long src_offset : 24; -+ unsigned long : 8; -+ } src_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_offset_t f; -+} src_offset_u; -+ -+typedef struct _src_pitch_t { -+ unsigned long src_pitch : 14; -+ unsigned long src_pitch_mul : 2; -+ unsigned long : 16; -+ } src_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_pitch_t f; -+} src_pitch_u; -+ -+typedef struct _src_pitch_offset_t { -+ unsigned long src_offset : 20; -+ unsigned long src_pitch : 10; -+ unsigned long src_pitch_mul : 2; -+ } src_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_pitch_offset_t f; -+} src_pitch_offset_u; -+ -+typedef struct _src_x_t { -+ unsigned long src_x : 14; -+ unsigned long : 18; -+ } src_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_x_t f; -+} src_x_u; -+ -+typedef struct _src_y_t { -+ unsigned long src_y : 14; -+ unsigned long : 18; -+ } src_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_y_t f; -+} src_y_u; -+ -+typedef struct _src_x_y_t { -+ unsigned long src_y : 14; -+ unsigned long : 2; -+ unsigned long src_x : 14; -+ unsigned long : 2; -+ } src_x_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_x_y_t f; -+} src_x_y_u; -+ -+typedef struct _src_y_x_t { -+ unsigned long src_x : 14; -+ unsigned long : 2; -+ unsigned long src_y : 14; -+ unsigned long : 2; -+ } src_y_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_y_x_t f; -+} src_y_x_u; -+ -+typedef struct _src_width_t { -+ unsigned long src_width : 14; -+ unsigned long : 18; -+ } src_width_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_width_t f; -+} src_width_u; -+ -+typedef struct _src_height_t { -+ unsigned long src_height : 14; -+ unsigned long : 18; -+ } src_height_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_height_t f; -+} src_height_u; -+ -+typedef struct _src_inc_t { -+ unsigned long src_xinc : 6; -+ unsigned long : 2; -+ unsigned long src_yinc : 6; -+ unsigned long : 18; -+ } src_inc_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_inc_t f; -+} src_inc_u; -+ -+typedef struct _host_data0_t { -+ unsigned long host_data : 32; -+ } host_data0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data0_t f; -+} host_data0_u; -+ -+typedef struct _host_data1_t { -+ unsigned long host_data : 32; -+ } host_data1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data1_t f; -+} host_data1_u; -+ -+typedef struct _host_data2_t { -+ unsigned long host_data : 32; -+ } host_data2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data2_t f; -+} host_data2_u; -+ -+typedef struct _host_data3_t { -+ unsigned long host_data : 32; -+ } host_data3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data3_t f; -+} host_data3_u; -+ -+typedef struct _host_data4_t { -+ unsigned long host_data : 32; -+ } host_data4_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data4_t f; -+} host_data4_u; -+ -+typedef struct _host_data5_t { -+ unsigned long host_data : 32; -+ } host_data5_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data5_t f; -+} host_data5_u; -+ -+typedef struct _host_data6_t { -+ unsigned long host_data : 32; -+ } host_data6_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data6_t f; -+} host_data6_u; -+ -+typedef struct _host_data7_t { -+ unsigned long host_data : 32; -+ } host_data7_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data7_t f; -+} host_data7_u; -+ -+typedef struct _host_data_last_t { -+ unsigned long host_data_last : 32; -+ } host_data_last_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data_last_t f; -+} host_data_last_u; -+ -+typedef struct _dp_src_frgd_clr_t { -+ unsigned long dp_src_frgd_clr : 32; -+ } dp_src_frgd_clr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_src_frgd_clr_t f; -+} dp_src_frgd_clr_u; -+ -+typedef struct _dp_src_bkgd_clr_t { -+ unsigned long dp_src_bkgd_clr : 32; -+ } dp_src_bkgd_clr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_src_bkgd_clr_t f; -+} dp_src_bkgd_clr_u; -+ -+typedef struct _sc_left_t { -+ unsigned long sc_left : 14; -+ unsigned long : 18; -+ } sc_left_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_left_t f; -+} sc_left_u; -+ -+typedef struct _sc_right_t { -+ unsigned long sc_right : 14; -+ unsigned long : 18; -+ } sc_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_right_t f; -+} sc_right_u; -+ -+typedef struct _sc_top_t { -+ unsigned long sc_top : 14; -+ unsigned long : 18; -+ } sc_top_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_top_t f; -+} sc_top_u; -+ -+typedef struct _sc_bottom_t { -+ unsigned long sc_bottom : 14; -+ unsigned long : 18; -+ } sc_bottom_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_bottom_t f; -+} sc_bottom_u; -+ -+typedef struct _src_sc_right_t { -+ unsigned long sc_right : 14; -+ unsigned long : 18; -+ } src_sc_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_sc_right_t f; -+} src_sc_right_u; -+ -+typedef struct _src_sc_bottom_t { -+ unsigned long sc_bottom : 14; -+ unsigned long : 18; -+ } src_sc_bottom_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_sc_bottom_t f; -+} src_sc_bottom_u; -+ -+typedef struct _dp_cntl_t { -+ unsigned long dst_x_dir : 1; -+ unsigned long dst_y_dir : 1; -+ unsigned long src_x_dir : 1; -+ unsigned long src_y_dir : 1; -+ unsigned long dst_major_x : 1; -+ unsigned long src_major_x : 1; -+ unsigned long : 26; -+ } dp_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_cntl_t f; -+} dp_cntl_u; -+ -+typedef struct _dp_cntl_dst_dir_t { -+ unsigned long : 15; -+ unsigned long dst_y_dir : 1; -+ unsigned long : 15; -+ unsigned long dst_x_dir : 1; -+ } dp_cntl_dst_dir_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_cntl_dst_dir_t f; -+} dp_cntl_dst_dir_u; -+ -+typedef struct _dp_datatype_t { -+ unsigned long dp_dst_datatype : 4; -+ unsigned long : 4; -+ unsigned long dp_brush_datatype : 4; -+ unsigned long dp_src2_type : 1; -+ unsigned long dp_src2_datatype : 3; -+ unsigned long dp_src_datatype : 3; -+ unsigned long : 11; -+ unsigned long dp_byte_pix_order : 1; -+ unsigned long : 1; -+ } dp_datatype_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_datatype_t f; -+} dp_datatype_u; -+ -+typedef struct _dp_mix_t { -+ unsigned long : 8; -+ unsigned long dp_src_source : 3; -+ unsigned long dp_src2_source : 3; -+ unsigned long : 2; -+ unsigned long dp_rop3 : 8; -+ unsigned long dp_op : 1; -+ unsigned long : 7; -+ } dp_mix_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_mix_t f; -+} dp_mix_u; -+ -+typedef struct _dp_write_msk_t { -+ unsigned long dp_write_msk : 32; -+ } dp_write_msk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_write_msk_t f; -+} dp_write_msk_u; -+ -+typedef struct _clr_cmp_clr_src_t { -+ unsigned long clr_cmp_clr_src : 32; -+ } clr_cmp_clr_src_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clr_cmp_clr_src_t f; -+} clr_cmp_clr_src_u; -+ -+typedef struct _clr_cmp_clr_dst_t { -+ unsigned long clr_cmp_clr_dst : 32; -+ } clr_cmp_clr_dst_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clr_cmp_clr_dst_t f; -+} clr_cmp_clr_dst_u; -+ -+typedef struct _clr_cmp_cntl_t { -+ unsigned long clr_cmp_fcn_src : 3; -+ unsigned long : 5; -+ unsigned long clr_cmp_fcn_dst : 3; -+ unsigned long : 13; -+ unsigned long clr_cmp_src : 2; -+ unsigned long : 6; -+ } clr_cmp_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clr_cmp_cntl_t f; -+} clr_cmp_cntl_u; -+ -+typedef struct _clr_cmp_msk_t { -+ unsigned long clr_cmp_msk : 32; -+ } clr_cmp_msk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clr_cmp_msk_t f; -+} clr_cmp_msk_u; -+ -+typedef struct _default_pitch_offset_t { -+ unsigned long default_offset : 20; -+ unsigned long default_pitch : 10; -+ unsigned long : 2; -+ } default_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ default_pitch_offset_t f; -+} default_pitch_offset_u; -+ -+typedef struct _default_sc_bottom_right_t { -+ unsigned long default_sc_right : 14; -+ unsigned long : 2; -+ unsigned long default_sc_bottom : 14; -+ unsigned long : 2; -+ } default_sc_bottom_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ default_sc_bottom_right_t f; -+} default_sc_bottom_right_u; -+ -+typedef struct _default2_sc_bottom_right_t { -+ unsigned long default_sc_right : 14; -+ unsigned long : 2; -+ unsigned long default_sc_bottom : 14; -+ unsigned long : 2; -+ } default2_sc_bottom_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ default2_sc_bottom_right_t f; -+} default2_sc_bottom_right_u; -+ -+typedef struct _ref1_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref1_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref1_pitch_offset_t f; -+} ref1_pitch_offset_u; -+ -+typedef struct _ref2_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref2_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref2_pitch_offset_t f; -+} ref2_pitch_offset_u; -+ -+typedef struct _ref3_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref3_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref3_pitch_offset_t f; -+} ref3_pitch_offset_u; -+ -+typedef struct _ref4_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref4_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref4_pitch_offset_t f; -+} ref4_pitch_offset_u; -+ -+typedef struct _ref5_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref5_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref5_pitch_offset_t f; -+} ref5_pitch_offset_u; -+ -+typedef struct _ref6_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref6_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref6_pitch_offset_t f; -+} ref6_pitch_offset_u; -+ -+typedef struct _dp_gui_master_cntl_t { -+ unsigned long gmc_src_pitch_offset_cntl : 1; -+ unsigned long gmc_dst_pitch_offset_cntl : 1; -+ unsigned long gmc_src_clipping : 1; -+ unsigned long gmc_dst_clipping : 1; -+ unsigned long gmc_brush_datatype : 4; -+ unsigned long gmc_dst_datatype : 4; -+ unsigned long gmc_src_datatype : 3; -+ unsigned long gmc_byte_pix_order : 1; -+ unsigned long gmc_default_sel : 1; -+ unsigned long gmc_rop3 : 8; -+ unsigned long gmc_dp_src_source : 3; -+ unsigned long gmc_clr_cmp_fcn_dis : 1; -+ unsigned long : 1; -+ unsigned long gmc_wr_msk_dis : 1; -+ unsigned long gmc_dp_op : 1; -+ } dp_gui_master_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_gui_master_cntl_t f; -+} dp_gui_master_cntl_u; -+ -+typedef struct _sc_top_left_t { -+ unsigned long sc_left : 14; -+ unsigned long : 2; -+ unsigned long sc_top : 14; -+ unsigned long : 2; -+ } sc_top_left_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_top_left_t f; -+} sc_top_left_u; -+ -+typedef struct _sc_bottom_right_t { -+ unsigned long sc_right : 14; -+ unsigned long : 2; -+ unsigned long sc_bottom : 14; -+ unsigned long : 2; -+ } sc_bottom_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_bottom_right_t f; -+} sc_bottom_right_u; -+ -+typedef struct _src_sc_top_left_t { -+ unsigned short sc_left; -+ unsigned short sc_top; -+} src_sc_top_left_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_sc_top_left_t f; -+} src_sc_top_left_u; -+ -+typedef struct _src_sc_bottom_right_t { -+ unsigned long sc_right : 14; -+ unsigned long : 2; -+ unsigned long sc_bottom : 14; -+ unsigned long : 2; -+ } src_sc_bottom_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_sc_bottom_right_t f; -+} src_sc_bottom_right_u; -+ -+typedef struct _global_alpha_t { -+ unsigned long alpha_r : 8; -+ unsigned long alpha_g : 8; -+ unsigned long alpha_b : 8; -+ unsigned long alpha_a : 8; -+} global_alpha_t; -+ -+typedef union { -+ unsigned long val : 32; -+ global_alpha_t f; -+} global_alpha_u; -+ -+typedef struct _filter_coef_t { -+ unsigned long c_4 : 4; -+ unsigned long c_3 : 4; -+ unsigned long c_2 : 4; -+ unsigned long c_1 : 4; -+ unsigned long c1 : 4; -+ unsigned long c2 : 4; -+ unsigned long c3 : 4; -+ unsigned long c4 : 4; -+} filter_coef_t; -+ -+typedef union { -+ unsigned long val : 32; -+ filter_coef_t f; -+} filter_coef_u; -+ -+typedef struct _mvc_cntl_start_t { -+ unsigned long mc_cntl_src_1_index : 4; -+ unsigned long mc_cntl_dst_offset : 20; -+ unsigned long mc_dst_pitch_mul : 2; -+ unsigned long mc_cntl_src_2_index : 3; -+ unsigned long mc_cntl_width_height_sel : 3; -+} mvc_cntl_start_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mvc_cntl_start_t f; -+} mvc_cntl_start_u; -+ -+typedef struct _e2_arithmetic_cntl_t { -+ unsigned long opcode : 5; -+ unsigned long shiftright : 4; -+ unsigned long clamp : 1; -+ unsigned long rounding : 2; -+ unsigned long filter_n : 3; -+ unsigned long : 1; -+ unsigned long srcblend_inv : 1; -+ unsigned long srcblend : 4; -+ unsigned long : 3; -+ unsigned long dstblend_inv : 1; -+ unsigned long dstblend : 4; -+ unsigned long dst_signed : 1; -+ unsigned long autoinc : 1; -+ unsigned long : 1; -+} e2_arithmetic_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ e2_arithmetic_cntl_t f; -+} e2_arithmetic_cntl_u; -+ -+typedef struct _debug0_t { -+ unsigned long debug0_r : 8; -+ unsigned long : 8; -+ unsigned long debug0_rw : 8; -+ unsigned long : 8; -+} debug0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug0_t f; -+} debug0_u; -+ -+typedef struct _debug1_t { -+ unsigned long debug1_r : 8; -+ unsigned long : 8; -+ unsigned long debug1_rw : 8; -+ unsigned long : 8; -+} debug1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug1_t f; -+} debug1_u; -+ -+typedef struct _debug2_t { -+ unsigned long debug2_r : 8; -+ unsigned long : 8; -+ unsigned long debug2_rw : 8; -+ unsigned long : 8; -+} debug2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug2_t f; -+} debug2_u; -+ -+typedef struct _debug3_t { -+ unsigned long : 32; -+} debug3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug3_t f; -+} debug3_u; -+ -+typedef struct _debug4_t { -+ unsigned long : 32; -+} debug4_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug4_t f; -+} debug4_u; -+ -+typedef struct _debug5_t { -+ unsigned long : 32; -+} debug5_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug5_t f; -+} debug5_u; -+ -+typedef struct _debug6_t { -+ unsigned long : 32; -+} debug6_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug6_t f; -+} debug6_u; -+ -+typedef struct _debug7_t { -+ unsigned long : 32; -+} debug7_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug7_t f; -+} debug7_u; -+ -+typedef struct _debug8_t { -+ unsigned long : 32; -+} debug8_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug8_t f; -+} debug8_u; -+ -+typedef struct _debug9_t { -+ unsigned long : 32; -+} debug9_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug9_t f; -+} debug9_u; -+ -+typedef struct _debug10_t { -+ unsigned long : 32; -+ } debug10_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug10_t f; -+} debug10_u; -+ -+typedef struct _debug11_t { -+ unsigned long : 32; -+ } debug11_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug11_t f; -+} debug11_u; -+ -+typedef struct _debug12_t { -+ unsigned long : 32; -+ } debug12_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug12_t f; -+} debug12_u; -+ -+typedef struct _debug13_t { -+ unsigned long : 32; -+ } debug13_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug13_t f; -+} debug13_u; -+ -+typedef struct _debug14_t { -+ unsigned long : 32; -+ } debug14_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug14_t f; -+} debug14_u; -+ -+typedef struct _debug15_t { -+ unsigned long : 32; -+ } debug15_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug15_t f; -+} debug15_u; -+ -+typedef struct _eng_cntl_t { -+ unsigned long erc_reg_rd_ws : 1; -+ unsigned long erc_reg_wr_ws : 1; -+ unsigned long erc_idle_reg_wr : 1; -+ unsigned long dis_engine_triggers : 1; -+ unsigned long dis_rop_src_uses_dst_w_h : 1; -+ unsigned long dis_src_uses_dst_dirmaj : 1; -+ unsigned long : 6; -+ unsigned long force_3dclk_when_2dclk : 1; -+ unsigned long : 19; -+ } eng_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ eng_cntl_t f; -+} eng_cntl_u; -+ -+typedef struct _eng_perf_cnt_t { -+ unsigned long perf_cnt : 20; -+ unsigned long perf_sel : 4; -+ unsigned long perf_en : 1; -+ unsigned long : 3; -+ unsigned long perf_clr : 1; -+ unsigned long : 3; -+ } eng_perf_cnt_t; -+ -+typedef union { -+ unsigned long val : 32; -+ eng_perf_cnt_t f; -+} eng_perf_cnt_u; -+ -+typedef struct _idct_runs_t { -+ unsigned long idct_runs_3 : 8; -+ unsigned long idct_runs_2 : 8; -+ unsigned long idct_runs_1 : 8; -+ unsigned long idct_runs_0 : 8; -+ } idct_runs_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_runs_t f; -+} idct_runs_u; -+ -+typedef struct _idct_levels_t { -+ unsigned long idct_level_hi : 16; -+ unsigned long idct_level_lo : 16; -+ } idct_levels_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_levels_t f; -+} idct_levels_u; -+ -+typedef struct _idct_control_t { -+ unsigned long idct_ctl_luma_rd_format : 2; -+ unsigned long idct_ctl_chroma_rd_format : 2; -+ unsigned long idct_ctl_scan_pattern : 1; -+ unsigned long idct_ctl_intra : 1; -+ unsigned long idct_ctl_flush : 1; -+ unsigned long idct_ctl_passthru : 1; -+ unsigned long idct_ctl_sw_reset : 1; -+ unsigned long idct_ctl_constreq : 1; -+ unsigned long idct_ctl_scramble : 1; -+ unsigned long idct_ctl_alt_scan : 1; -+ unsigned long : 20; -+ } idct_control_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_control_t f; -+} idct_control_u; -+ -+typedef struct _idct_auth_control_t { -+ unsigned long control_bits : 32; -+ } idct_auth_control_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_auth_control_t f; -+} idct_auth_control_u; -+ -+typedef struct _idct_auth_t { -+ unsigned long auth : 32; -+ } idct_auth_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_auth_t f; -+} idct_auth_u; -+ -+typedef struct _mem_cntl_t { -+ unsigned long : 1; -+ unsigned long en_mem_ch1 : 1; -+ unsigned long en_mem_ch2 : 1; -+ unsigned long int_mem_mapping : 1; -+ unsigned long : 28; -+ } mem_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_cntl_t f; -+} mem_cntl_u; -+ -+typedef struct _mem_arb_t { -+ unsigned long disp_time_slot : 4; -+ unsigned long disp_timer : 4; -+ unsigned long arb_option : 1; -+ unsigned long : 23; -+ } mem_arb_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_arb_t f; -+} mem_arb_u; -+ -+typedef struct _mc_fb_location_t { -+ unsigned long mc_fb_start : 16; -+ unsigned long mc_fb_top : 16; -+ } mc_fb_location_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_fb_location_t f; -+} mc_fb_location_u; -+ -+typedef struct _mem_ext_cntl_t { -+ unsigned long mem_ext_enable : 1; -+ unsigned long mem_ap_enable : 1; -+ unsigned long mem_addr_mapping : 2; -+ unsigned long mem_wdoe_cntl : 2; -+ unsigned long mem_wdoe_extend : 1; -+ unsigned long : 1; -+ unsigned long mem_page_timer : 8; -+ unsigned long mem_dynamic_cke : 1; -+ unsigned long mem_sdram_tri_en : 1; -+ unsigned long mem_self_refresh_en : 1; -+ unsigned long mem_power_down : 1; -+ unsigned long mem_hw_power_down_en : 1; -+ unsigned long mem_power_down_stat : 1; -+ unsigned long : 3; -+ unsigned long mem_pd_mck : 1; -+ unsigned long mem_pd_ma : 1; -+ unsigned long mem_pd_mdq : 1; -+ unsigned long mem_tristate_mck : 1; -+ unsigned long mem_tristate_ma : 1; -+ unsigned long mem_tristate_mcke : 1; -+ unsigned long mem_invert_mck : 1; -+ } mem_ext_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_ext_cntl_t f; -+} mem_ext_cntl_u; -+ -+typedef struct _mc_ext_mem_location_t { -+ unsigned long mc_ext_mem_start : 16; -+ unsigned long mc_ext_mem_top : 16; -+ } mc_ext_mem_location_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_ext_mem_location_t f; -+} mc_ext_mem_location_u; -+ -+typedef struct _mem_ext_timing_cntl_t { -+ unsigned long mem_trp : 2; -+ unsigned long mem_trcd : 2; -+ unsigned long mem_tras : 3; -+ unsigned long : 1; -+ unsigned long mem_trrd : 2; -+ unsigned long mem_tr2w : 2; -+ unsigned long mem_twr : 2; -+ unsigned long : 4; -+ unsigned long mem_twr_mode : 1; -+ unsigned long : 1; -+ unsigned long mem_refresh_dis : 1; -+ unsigned long : 3; -+ unsigned long mem_refresh_rate : 8; -+ } mem_ext_timing_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_ext_timing_cntl_t f; -+} mem_ext_timing_cntl_u; -+ -+typedef struct _mem_sdram_mode_reg_t { -+ unsigned long mem_mode_reg : 14; -+ unsigned long : 2; -+ unsigned long mem_read_latency : 2; -+ unsigned long mem_schmen_latency : 2; -+ unsigned long mem_cas_latency : 2; -+ unsigned long mem_schmen_extend : 1; -+ unsigned long : 8; -+ unsigned long mem_sdram_reset : 1; -+ } mem_sdram_mode_reg_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_sdram_mode_reg_t f; -+} mem_sdram_mode_reg_u; -+ -+typedef struct _mem_io_cntl_t { -+ unsigned long mem_sn_mck : 4; -+ unsigned long mem_sn_ma : 4; -+ unsigned long mem_sn_mdq : 4; -+ unsigned long mem_srn_mck : 1; -+ unsigned long mem_srn_ma : 1; -+ unsigned long mem_srn_mdq : 1; -+ unsigned long : 1; -+ unsigned long mem_sp_mck : 4; -+ unsigned long mem_sp_ma : 4; -+ unsigned long mem_sp_mdq : 4; -+ unsigned long mem_srp_mck : 1; -+ unsigned long mem_srp_ma : 1; -+ unsigned long mem_srp_mdq : 1; -+ unsigned long : 1; -+ } mem_io_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_io_cntl_t f; -+} mem_io_cntl_u; -+ -+typedef struct _mc_debug_t { -+ unsigned long mc_debug : 32; -+ } mc_debug_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_debug_t f; -+} mc_debug_u; -+ -+typedef struct _mc_bist_ctrl_t { -+ unsigned long mc_bist_ctrl : 32; -+ } mc_bist_ctrl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_bist_ctrl_t f; -+} mc_bist_ctrl_u; -+ -+typedef struct _mc_bist_collar_read_t { -+ unsigned long mc_bist_collar_read : 32; -+ } mc_bist_collar_read_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_bist_collar_read_t f; -+} mc_bist_collar_read_u; -+ -+typedef struct _tc_mismatch_t { -+ unsigned long tc_mismatch : 24; -+ unsigned long : 8; -+ } tc_mismatch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ tc_mismatch_t f; -+} tc_mismatch_u; -+ -+typedef struct _mc_perf_mon_cntl_t { -+ unsigned long clr_perf : 1; -+ unsigned long en_perf : 1; -+ unsigned long : 2; -+ unsigned long perf_op_a : 2; -+ unsigned long perf_op_b : 2; -+ unsigned long : 8; -+ unsigned long monitor_period : 8; -+ unsigned long perf_count_a_overflow : 1; -+ unsigned long perf_count_b_overflow : 1; -+ unsigned long : 6; -+ } mc_perf_mon_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_perf_mon_cntl_t f; -+} mc_perf_mon_cntl_u; -+ -+typedef struct _mc_perf_counters_t { -+ unsigned long mc_perf_counter_a : 16; -+ unsigned long mc_perf_counter_b : 16; -+ } mc_perf_counters_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_perf_counters_t f; -+} mc_perf_counters_u; -+ -+typedef struct _wait_until_t { -+ unsigned long wait_crtc_pflip : 1; -+ unsigned long wait_re_crtc_vline : 1; -+ unsigned long wait_fe_crtc_vline : 1; -+ unsigned long wait_crtc_vline : 1; -+ unsigned long wait_dma_viph0_idle : 1; -+ unsigned long wait_dma_viph1_idle : 1; -+ unsigned long wait_dma_viph2_idle : 1; -+ unsigned long wait_dma_viph3_idle : 1; -+ unsigned long wait_dma_vid_idle : 1; -+ unsigned long wait_dma_gui_idle : 1; -+ unsigned long wait_cmdfifo : 1; -+ unsigned long wait_ov0_flip : 1; -+ unsigned long wait_ov0_slicedone : 1; -+ unsigned long : 1; -+ unsigned long wait_2d_idle : 1; -+ unsigned long wait_3d_idle : 1; -+ unsigned long wait_2d_idleclean : 1; -+ unsigned long wait_3d_idleclean : 1; -+ unsigned long wait_host_idleclean : 1; -+ unsigned long wait_extern_sig : 1; -+ unsigned long cmdfifo_entries : 7; -+ unsigned long : 3; -+ unsigned long wait_both_crtc_pflip : 1; -+ unsigned long eng_display_select : 1; -+ } wait_until_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wait_until_t f; -+} wait_until_u; -+ -+typedef struct _isync_cntl_t { -+ unsigned long isync_any2d_idle3d : 1; -+ unsigned long isync_any3d_idle2d : 1; -+ unsigned long isync_trig2d_idle3d : 1; -+ unsigned long isync_trig3d_idle2d : 1; -+ unsigned long isync_wait_idlegui : 1; -+ unsigned long isync_cpscratch_idlegui : 1; -+ unsigned long : 26; -+ } isync_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ isync_cntl_t f; -+} isync_cntl_u; -+ -+typedef struct _rbbm_guicntl_t { -+ unsigned long host_data_swap : 2; -+ unsigned long : 30; -+ } rbbm_guicntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_guicntl_t f; -+} rbbm_guicntl_u; -+ -+typedef struct _rbbm_status_t { -+ unsigned long cmdfifo_avail : 7; -+ unsigned long : 1; -+ unsigned long hirq_on_rbb : 1; -+ unsigned long cprq_on_rbb : 1; -+ unsigned long cfrq_on_rbb : 1; -+ unsigned long hirq_in_rtbuf : 1; -+ unsigned long cprq_in_rtbuf : 1; -+ unsigned long cfrq_in_rtbuf : 1; -+ unsigned long cf_pipe_busy : 1; -+ unsigned long eng_ev_busy : 1; -+ unsigned long cp_cmdstrm_busy : 1; -+ unsigned long e2_busy : 1; -+ unsigned long rb2d_busy : 1; -+ unsigned long rb3d_busy : 1; -+ unsigned long se_busy : 1; -+ unsigned long re_busy : 1; -+ unsigned long tam_busy : 1; -+ unsigned long tdm_busy : 1; -+ unsigned long pb_busy : 1; -+ unsigned long : 6; -+ unsigned long gui_active : 1; -+ } rbbm_status_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_status_t f; -+} rbbm_status_u; -+ -+typedef struct _rbbm_cntl_t { -+ unsigned long rb_settle : 4; -+ unsigned long abortclks_hi : 3; -+ unsigned long : 1; -+ unsigned long abortclks_cp : 3; -+ unsigned long : 1; -+ unsigned long abortclks_cfifo : 3; -+ unsigned long : 2; -+ unsigned long cpq_data_swap : 1; -+ unsigned long : 3; -+ unsigned long no_abort_idct : 1; -+ unsigned long no_abort_bios : 1; -+ unsigned long no_abort_fb : 1; -+ unsigned long no_abort_cp : 1; -+ unsigned long no_abort_hi : 1; -+ unsigned long no_abort_hdp : 1; -+ unsigned long no_abort_mc : 1; -+ unsigned long no_abort_aic : 1; -+ unsigned long no_abort_vip : 1; -+ unsigned long no_abort_disp : 1; -+ unsigned long no_abort_cg : 1; -+ } rbbm_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cntl_t f; -+} rbbm_cntl_u; -+ -+typedef struct _rbbm_soft_reset_t { -+ unsigned long soft_reset_cp : 1; -+ unsigned long soft_reset_hi : 1; -+ unsigned long reserved3 : 3; -+ unsigned long soft_reset_e2 : 1; -+ unsigned long reserved2 : 2; -+ unsigned long soft_reset_mc : 1; -+ unsigned long reserved1 : 2; -+ unsigned long soft_reset_disp : 1; -+ unsigned long soft_reset_cg : 1; -+ unsigned long : 19; -+ } rbbm_soft_reset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_soft_reset_t f; -+} rbbm_soft_reset_u; -+ -+typedef struct _nqwait_until_t { -+ unsigned long wait_gui_idle : 1; -+ unsigned long : 31; -+ } nqwait_until_t; -+ -+typedef union { -+ unsigned long val : 32; -+ nqwait_until_t f; -+} nqwait_until_u; -+ -+typedef struct _rbbm_debug_t { -+ unsigned long rbbm_debug : 32; -+ } rbbm_debug_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_debug_t f; -+} rbbm_debug_u; -+ -+typedef struct _rbbm_cmdfifo_addr_t { -+ unsigned long cmdfifo_addr : 6; -+ unsigned long : 26; -+ } rbbm_cmdfifo_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cmdfifo_addr_t f; -+} rbbm_cmdfifo_addr_u; -+ -+typedef struct _rbbm_cmdfifo_datal_t { -+ unsigned long cmdfifo_datal : 32; -+ } rbbm_cmdfifo_datal_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cmdfifo_datal_t f; -+} rbbm_cmdfifo_datal_u; -+ -+typedef struct _rbbm_cmdfifo_datah_t { -+ unsigned long cmdfifo_datah : 12; -+ unsigned long : 20; -+ } rbbm_cmdfifo_datah_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cmdfifo_datah_t f; -+} rbbm_cmdfifo_datah_u; -+ -+typedef struct _rbbm_cmdfifo_stat_t { -+ unsigned long cmdfifo_rptr : 6; -+ unsigned long : 2; -+ unsigned long cmdfifo_wptr : 6; -+ unsigned long : 18; -+ } rbbm_cmdfifo_stat_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cmdfifo_stat_t f; -+} rbbm_cmdfifo_stat_u; -+ -+typedef struct _clk_pin_cntl_t { -+ unsigned long osc_en : 1; -+ unsigned long osc_gain : 5; -+ unsigned long dont_use_xtalin : 1; -+ unsigned long xtalin_pm_en : 1; -+ unsigned long xtalin_dbl_en : 1; -+ unsigned long : 7; -+ unsigned long cg_debug : 16; -+ } clk_pin_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clk_pin_cntl_t f; -+} clk_pin_cntl_u; -+ -+typedef struct _pll_ref_fb_div_t { -+ unsigned long pll_ref_div : 4; -+ unsigned long : 4; -+ unsigned long pll_fb_div_int : 6; -+ unsigned long : 2; -+ unsigned long pll_fb_div_frac : 3; -+ unsigned long : 1; -+ unsigned long pll_reset_time : 4; -+ unsigned long pll_lock_time : 8; -+ } pll_ref_fb_div_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pll_ref_fb_div_t f; -+} pll_ref_fb_div_u; -+ -+typedef struct _pll_cntl_t { -+ unsigned long pll_pwdn : 1; -+ unsigned long pll_reset : 1; -+ unsigned long pll_pm_en : 1; -+ unsigned long pll_mode : 1; -+ unsigned long pll_refclk_sel : 1; -+ unsigned long pll_fbclk_sel : 1; -+ unsigned long pll_tcpoff : 1; -+ unsigned long pll_pcp : 3; -+ unsigned long pll_pvg : 3; -+ unsigned long pll_vcofr : 1; -+ unsigned long pll_ioffset : 2; -+ unsigned long pll_pecc_mode : 2; -+ unsigned long pll_pecc_scon : 2; -+ unsigned long pll_dactal : 4; -+ unsigned long pll_cp_clip : 2; -+ unsigned long pll_conf : 3; -+ unsigned long pll_mbctrl : 2; -+ unsigned long pll_ring_off : 1; -+ } pll_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pll_cntl_t f; -+} pll_cntl_u; -+ -+typedef struct _sclk_cntl_t { -+ unsigned long sclk_src_sel : 2; -+ unsigned long : 2; -+ unsigned long sclk_post_div_fast : 4; -+ unsigned long sclk_clkon_hys : 3; -+ unsigned long sclk_post_div_slow : 4; -+ unsigned long disp_cg_ok2switch_en : 1; -+ unsigned long sclk_force_reg : 1; -+ unsigned long sclk_force_disp : 1; -+ unsigned long sclk_force_mc : 1; -+ unsigned long sclk_force_extmc : 1; -+ unsigned long sclk_force_cp : 1; -+ unsigned long sclk_force_e2 : 1; -+ unsigned long sclk_force_e3 : 1; -+ unsigned long sclk_force_idct : 1; -+ unsigned long sclk_force_bist : 1; -+ unsigned long busy_extend_cp : 1; -+ unsigned long busy_extend_e2 : 1; -+ unsigned long busy_extend_e3 : 1; -+ unsigned long busy_extend_idct : 1; -+ unsigned long : 3; -+ } sclk_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sclk_cntl_t f; -+} sclk_cntl_u; -+ -+typedef struct _pclk_cntl_t { -+ unsigned long pclk_src_sel : 2; -+ unsigned long : 2; -+ unsigned long pclk_post_div : 4; -+ unsigned long : 8; -+ unsigned long pclk_force_disp : 1; -+ unsigned long : 15; -+ } pclk_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pclk_cntl_t f; -+} pclk_cntl_u; -+ -+typedef struct _clk_test_cntl_t { -+ unsigned long testclk_sel : 4; -+ unsigned long : 3; -+ unsigned long start_check_freq : 1; -+ unsigned long tstcount_rst : 1; -+ unsigned long : 15; -+ unsigned long test_count : 8; -+ } clk_test_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clk_test_cntl_t f; -+} clk_test_cntl_u; -+ -+typedef struct _pwrmgt_cntl_t { -+ unsigned long pwm_enable : 1; -+ unsigned long : 1; -+ unsigned long pwm_mode_req : 2; -+ unsigned long pwm_wakeup_cond : 2; -+ unsigned long pwm_fast_noml_hw_en : 1; -+ unsigned long pwm_noml_fast_hw_en : 1; -+ unsigned long pwm_fast_noml_cond : 4; -+ unsigned long pwm_noml_fast_cond : 4; -+ unsigned long pwm_idle_timer : 8; -+ unsigned long pwm_busy_timer : 8; -+ } pwrmgt_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pwrmgt_cntl_t f; -+} pwrmgt_cntl_u; -+ -+typedef struct _pwrmgt_status_t { -+ unsigned long pwm_mode : 2; -+ unsigned long : 30; -+ } pwrmgt_status_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pwrmgt_status_t f; -+} pwrmgt_status_u; -+ -+ -+#endif //_W100_REGS_H_ - diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb deleted file mode 100644 index cdfa305d50c..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb +++ /dev/null @@ -1,64 +0,0 @@ -DESCRIPTION = "X server for glamo chip in GTA02" -SECTION = "x11/base" -LICENSE = "MIT" -DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto \ - scrnsaverproto xineramaproto videoproto xextproto xproto \ - libxau libxext libxdmcp libxfont libxrandr tslib virtual/libx11 \ - xtrans libxkbfile libxcalibrate" -DEPENDS += "libxkbfile libxcalibrate" -RDEPENDS_${PN} = "xserver-kdrive" -PROVIDES = "virtual/xserver" -PE = "1" -PR = "r8" -PV = "1.3.0.0+git${SRCREV}" - -SRC_URI = "git://git.openmoko.org/git/xglamo.git;protocol=git \ - file://kmode.patch;patch=1 \ - file://disable-apm.patch;patch=1 \ - file://no-serial-probing.patch;patch=1 \ - file://fbdev-not-fix.patch;patch=1 \ - file://optional-xkb.patch;patch=1 \ - file://enable-tslib.patch;patch=1 \ - file://kmode-palm.patch;patch=1 \ - file://enable-epson.patch;patch=1 \ - file://enable-builtin-fonts.patch;patch=1 \ - file://kdrive-evdev.patch;patch=1 \ - file://kdrive-use-evdev.patch;patch=1 \ - file://disable-xf86-dga-xorgcfg.patch;patch=1 \ - file://fix_default_mode.patch;patch=1 \ - file://enable-xcalibrate.patch;patch=1 \ - file://hide-cursor-and-ppm-root.patch;patch=1 \ - file://xcalibrate_coords.patch;patch=1 \ - file://w100.patch;patch=1 \ - file://w100-autofoo.patch;patch=1 \ - file://w100-fix-offscreen-bmp.patch;patch=1 \ - file://kdrive-1.3-18bpp.patch;patch=1 \ - file://gumstix-kmode.patch;patch=1 \ - file://fix-picturestr-include-order.patch;patch=1 \ -" - -FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-glamo:${FILE_DIRNAME}/xserver-kdrive-1.3.0.0:${FILE_DIRNAME}/xserver-kdrive:${FILE_DIRNAME}/files" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-composite --enable-kdrive \ - --disable-dga --disable-dri --disable-xinerama \ - --disable-xf86misc --disable-xf86vidmode \ - --disable-xorg --disable-xorgcfg \ - --disable-xkb --disable-xnest --disable-xvfb \ - --disable-xevie --disable-xprint --disable-xtrap \ - --disable-dmx \ - --with-default-font-path=built-ins \ - --enable-tslib --enable-xcalibrate \ - ac_cv_file__usr_share_sgml_X11_defs_ent=no" - -do_configure_prepend() { - sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac -} - -FILES_${PN} = "${bindir}/Xglamo" -FILES_${PN}-dbg = "${bindir}/.debug/Xglamo" - -ARM_INSTRUCTION_SET = "arm" diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch deleted file mode 100644 index ee8c1ed6808..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- - hw/kdrive/linux/tslib.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-05-17 10:28:12.000000000 +0100 -+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-05-17 10:28:42.000000000 +0100 -@@ -111,10 +111,7 @@ TsRead (int fd, void *closure) - event.pressure); - discard = 0; - if (event.pressure) { -- if (event.pressure > pi->dixdev->absolute->button_threshold) -- flags = KD_BUTTON_8; -- else -- flags = KD_BUTTON_1; -+ flags = KD_BUTTON_1; - - /* - * Here we test for the touch screen driver actually being on the diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch deleted file mode 100644 index c5997c2ffa4..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch +++ /dev/null @@ -1,124 +0,0 @@ ---- - configure |38107 ----------------------------------------------------------- - configure.ac | 2 - - hw/kdrive/linux/tslib.c | 68 ++++++++++++++++++++++++++---------------------- - 2 files changed, 39 insertions(+), 31 deletions(-) - - -Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-30 00:44:13.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-01-30 21:55:52.000000000 +0000 -@@ -47,6 +47,10 @@ - - #define TSLIB_QUEUE_SIZE 3 - -+/* For XCalibrate extension */ -+void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure); -+void *tslib_raw_event_closure; -+ - struct TslibPrivate { - int fd; - int lastx, lasty; -@@ -76,6 +80,19 @@ TsRead (int fd, void *closure) - unsigned long flags = 0; - int discard = 0; - -+ if (tslib_raw_event_hook) -+ { -+ /* XCalibrate Ext */ -+ if (ts_read_raw(private->tsDev, &event, 1) == 1) -+ { -+ tslib_raw_event_hook (event.x, -+ event.y, -+ event.pressure, -+ tslib_raw_event_closure); -+ } -+ return; -+ } -+ - if (!private->tsDev) { - DebugF("[tslib] EXTREME BADNESS: TsRead called while tsDev is null!\n"); - return; -@@ -322,14 +339,14 @@ TsRead (int fd, void *closure) - } - } - --/* must always be NULL-terminated. */ --char *valid_ts_names[] = { -- "ADS784x Touchscreen", -- "omap-ts", -- "TSC2301 touchscreen", -- NULL -+static char *TsNames[] = { -+ NULL, /* set via TSLIB_TSDEVICE */ -+ "/dev/ts", -+ "/dev/touchscreen/0", - }; - -+#define NUM_TS_NAMES (sizeof (TsNames) / sizeof (TsNames[0])) -+ - #define TS_NAME_SIZE 32 - - static Status -@@ -383,11 +400,10 @@ TslibDisable (KdPointerInfo *pi) - private->tsDev = NULL; - } - -- - static Status - TslibInit (KdPointerInfo *pi) - { -- int fd = 0, i = 0; -+ int fd = 0, i = 0, j = 0; - char devpath[PATH_MAX], devname[TS_NAME_SIZE]; - DIR *inputdir = NULL; - struct dirent *inputent = NULL; -@@ -397,33 +413,25 @@ TslibInit (KdPointerInfo *pi) - return !Success; - - if (!pi->path || strcmp(pi->path, "auto") == 0) { -- if (!(inputdir = opendir("/dev/input"))) { -- ErrorF("[tslib/TslibInit]: couldn't open /dev/input!\n"); -- return BadMatch; -- } - -- while ((inputent = readdir(inputdir))) { -- if (strncmp(inputent->d_name, "event", 5) != 0) -- continue; -+ if ((TsNames[0] = getenv("TSLIB_TSDEVICE")) == NULL) -+ j++; -+ -+ for (i = j; i < NUM_TS_NAMES; i++) -+ { -+ struct tsdev *tsDev; - -- snprintf(devpath, PATH_MAX, "/dev/input/%s", inputent->d_name); -- fd = open(devpath, O_RDWR); -+ if(!(tsDev = ts_open(TsNames[i], 0))) -+ continue; - -- if (!ioctl(fd, EVIOCGNAME(sizeof(devname)), devname)) { -- close(fd); -+ if (ts_config(tsDev)) - continue; -- } -- close(fd); - -- for (i = 0; valid_ts_names[i]; i++) { -- if (strcmp(devname, valid_ts_names[i]) == 0) { -- pi->path = KdSaveString(devpath); -- break; -- } -- } -- } -- -- closedir(inputdir); -+ ts_close(tsDev); -+ -+ pi->path = KdSaveString(TsNames[i]); -+ break; -+ } - } - - if (!pi->path || strcmp(pi->path, "auto") == 0) { diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch deleted file mode 100644 index ada8f3a788f..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: xorg-server-1.1.99.3/configure.ac -=================================================================== ---- xorg-server-1.1.99.3.orig/configure.ac 2010-06-09 12:52:26.000000000 +0100 -+++ xorg-server-1.1.99.3/configure.ac 2010-06-09 12:52:51.000000000 +0100 -@@ -1731,7 +1731,9 @@ - DIX_CFLAGS="-DHAVE_DIX_CONFIG_H" - AC_SUBST([DIX_CFLAGS]) - --AC_SUBST([libdir exec_prefix prefix]) -+AC_SUBST([libdir]) -+AC_SUBST([exec_prefix]) -+AC_SUBST([prefix]) - - # Man page sections - used in config utils & generating man pages - XORG_MANPAGE_SECTIONS diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch deleted file mode 100644 index bd8842721b2..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000 -+++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000 -@@ -342,7 +342,7 @@ - /* - * Open the APM driver - */ -- LinuxApmFd = open ("/dev/apm_bios", 2); -+ /*LinuxApmFd = open ("/dev/apm_bios", 2); - if (LinuxApmFd < 0 && errno == ENOENT) - LinuxApmFd = open ("/dev/misc/apm_bios", 2); - if (LinuxApmFd >= 0) -@@ -352,7 +352,7 @@ - RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0); - AddEnabledDevice (LinuxApmFd); - } -- -+ */ - /* - * now get the VT - */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch deleted file mode 100644 index 9c43e52ead4..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 -+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 -@@ -505,7 +505,11 @@ - XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la' - - dnl Core modules for most extensions, et al. -+if test "$KDRIVE" = yes; then -+REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto" -+else - REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto" -+fi - REQUIRED_LIBS="xfont xau fontenc" - - AM_CONDITIONAL(XV, [test "x$XV" = xyes]) -@@ -1514,7 +1526,9 @@ - AC_SUBST(XKB_COMPILED_DIR) - - dnl and the rest of these are generic, so they're in config.h -+if test ! x"$KDRIVE" = xyes; then - AC_DEFINE(XFreeXDGA, 1, [Build XDGA support]) -+fi - AC_DEFINE(XResExtension, 1, [Build XRes extension]) - - dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined -@@ -1534,10 +1548,12 @@ - - AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix]) - -+if test ! "x$KDRIVE" = xyes ; then - dnl xorgconfig CLI configuration utility - PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11]) - AC_SUBST(XORGCONFIG_DEP_CFLAGS) - AC_SUBST(XORGCONFIG_DEP_LIBS) -+fi - - dnl xorgcfg GUI configuration utility - AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg], diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch deleted file mode 100644 index 9c38156cd22..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch +++ /dev/null @@ -1,82 +0,0 @@ -Index: xorg-server-1.1.99.3/Makefile.am -=================================================================== ---- xorg-server-1.1.99.3.orig/Makefile.am 2008-02-20 22:22:56.000000000 +0000 -+++ xorg-server-1.1.99.3/Makefile.am 2008-02-20 22:23:22.000000000 +0000 -@@ -34,6 +34,11 @@ - XSP_DIR=xsp - endif - -+if XKB -+XKB_DIR=xkb -+endif -+ -+ - SUBDIRS = \ - doc \ - include \ -@@ -46,7 +51,7 @@ - randr \ - render \ - Xi \ -- xkb \ -+ $(XKB_DIR) \ - $(DBE_DIR) \ - $(MFB_DIR) \ - $(AFB_DIR) \ -Index: xorg-server-1.1.99.3/configure.ac -=================================================================== ---- xorg-server-1.1.99.3.orig/configure.ac 2008-02-20 22:04:15.000000000 +0000 -+++ xorg-server-1.1.99.3/configure.ac 2008-02-20 22:28:35.000000000 +0000 -@@ -434,6 +434,7 @@ - AC_ARG_ENABLE(dbus, AS_HELP_STRING([--disable-dbus], [Build D-BUS support (default: auto)]), [DBUS=$enableval], [DBUS=auto]) - AC_ARG_ENABLE(xsp, AS_HELP_STRING([--disable-xsp], [Build XSP support (default: auto)]), [XSP=$enableval], [XSP=auto]) - AC_ARG_ENABLE(tslib, AS_HELP_STRING([--disable-tslib], [Build embedded touchscreen support (default: auto)]), [TSLIB=$enableval], [TSLIB=auto]) -+AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) - - dnl DDXes. - AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) -@@ -751,12 +752,15 @@ - - AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) - --AC_DEFINE(XKB, 1, [Build XKB]) --AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) --AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) --REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" --XKB_LIB='$(top_builddir)/xkb/libxkb.la' --XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' -+AM_CONDITIONAL(XKB, [test "x$XKB" = xyes]) -+if test "x$XKB" = xyes; then -+ AC_DEFINE(XKB, 1, [Build XKB]) -+ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) -+ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) -+ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" -+ XKB_LIB='$(top_builddir)/xkb/libxkb.la' -+ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' -+fi - - AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, - [Do not have `strcasecmp'.])) -Index: xorg-server-1.1.99.3/hw/kdrive/src/Makefile.am -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/Makefile.am 2008-02-20 22:28:04.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/Makefile.am 2008-02-20 22:28:31.000000000 +0000 -@@ -39,4 +39,4 @@ - libkdrivestubs_a_SOURCES = \ - $(top_srcdir)/fb/fbcmap.c - --libkdrivexkb_a_SOURCES = kxkb.c -+libkdrivexkb_a_SOURCES = -Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2008-02-20 22:25:58.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2008-02-20 22:27:29.000000000 +0000 -@@ -777,7 +777,7 @@ - KdInitModMap(ki); - KdInitAutoRepeats(ki); - --#ifndef XKB -+#ifdef XKB - if (!noXkbExtension) { - memset(&names, 0, sizeof(XkbComponentNamesRec)); - if (XkbInitialMap) diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch deleted file mode 100644 index 13a6c2c9545..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig 2006-06-08 14:49:12.158684250 +0200 -+++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c 2006-06-08 14:49:52.493205000 +0200 -@@ -52,8 +52,8 @@ - /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */ - - #define NEED_REPLIES - #ifdef HAVE_DIX_CONFIG_H --#include -+#include - #endif - - #include diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch deleted file mode 100644 index e488657b743..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 -+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 -@@ -1438,6 +1446,10 @@ - fi - -- # tslib... -+ AC_CHECK_HEADERS([tslib.h]) -+ if test "$ac_cv_header_tslib_h" = yes; then -+ AC_DEFINE(TSLIB, 1, [Build kdrive with tslib support]) -+ AC_DEFINE(TOUCHSCREEN, 1, [Build kdrive with touchscreen support]) -+ fi - - # damage shadow extension glx (NOTYET) fb mi - KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src' -@@ -1467,7 +1479,7 @@ - AC_SUBST(KDRIVE_CFLAGS) - AC_SUBST(KDRIVE_PURE_LIBS) - AC_SUBST(KDRIVE_LIBS) --AM_CONDITIONAL(TSLIB, false) -+AM_CONDITIONAL(TSLIB, [test x"$ac_cv_header_tslib_h" = xyes]) - AM_CONDITIONAL(H3600_TS, false) - AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes]) - AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes]) diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch deleted file mode 100644 index f87e7cc2cda..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100 -+++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000 -@@ -198,6 +198,11 @@ - return FALSE; - } - -+ /* Re-get the "fixed" parameters since they might have changed */ -+ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); -+ if (k < 0) -+ perror ("FBIOGET_FSCREENINFO"); -+ - /* Now get the new screeninfo */ - ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); - depth = priv->var.bits_per_pixel; diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch deleted file mode 100644 index 09c9e8909c4..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch +++ /dev/null @@ -1,446 +0,0 @@ ---- - Xi/chgdctl.c | 55 +++++++++++++++++++------ - Xi/getdctl.c | 87 +++++++++++++++++++++++++++++++---------- - Xi/getdctl.h | 11 +++-- - Xi/stubs.c | 2 - configure.ac | 2 - dix/devices.c | 31 +++++++++----- - hw/kdrive/linux/tslib.c | 8 +-- - hw/kdrive/src/kinput.c | 6 +- - hw/xfree86/common/xf86Xinput.c | 3 - - include/input.h | 2 - include/inputstr.h | 18 +++++++- - 11 files changed, 162 insertions(+), 63 deletions(-) - -Index: xorg-server-1.1.99.3/Xi/chgdctl.c -=================================================================== ---- xorg-server-1.1.99.3.orig/Xi/chgdctl.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/Xi/chgdctl.c 2007-01-29 22:59:27.000000000 +0000 -@@ -104,8 +104,10 @@ ProcXChangeDeviceControl(ClientPtr clien - xChangeDeviceControlReply rep; - AxisInfoPtr a; - CARD32 *resolution; -- xDeviceTSCtl *ts; -+ xDeviceAbsCalibCtl *calib; -+ xDeviceAbsAreaCtl *area; - xDeviceCoreCtl *c; -+ xDeviceEnableCtl *e; - - REQUEST(xChangeDeviceControlReq); - REQUEST_AT_LEAST_SIZE(xChangeDeviceControlReq); -@@ -170,25 +172,28 @@ ProcXChangeDeviceControl(ClientPtr clien - return Success; - } - break; -- case DEVICE_TOUCHSCREEN: -- ts = (xDeviceTSCtl *)&stuff[1]; -- -- if (ts->button_threshold < 0 || ts->button_threshold > 255) { -+ case DEVICE_ABS_CALIB: -+ calib = (xDeviceAbsCalibCtl *)&stuff[1]; -+ -+ if (calib->button_threshold < 0 || calib->button_threshold > 255) { - SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, - BadValue); - return Success; - } - -- status = ChangeDeviceControl(client, dev, (xDeviceCtl *) ts); -+ status = ChangeDeviceControl(client, dev, (xDeviceCtl *) calib); - - if (status == Success) { -- dev->touchscreen->min_x = ts->min_x; -- dev->touchscreen->max_x = ts->max_x; -- dev->touchscreen->min_y = ts->min_y; -- dev->touchscreen->max_y = ts->max_y; -- dev->touchscreen->button_threshold = ts->button_threshold; -- } else if (status == DeviceBusy) { -- rep.status = DeviceBusy; -+ dev->absolute->min_x = calib->min_x; -+ dev->absolute->max_x = calib->max_x; -+ dev->absolute->min_y = calib->min_y; -+ dev->absolute->max_y = calib->max_y; -+ dev->absolute->flip_x = calib->flip_x; -+ dev->absolute->flip_y = calib->flip_y; -+ dev->absolute->rotation = calib->rotation; -+ dev->absolute->button_threshold = calib->button_threshold; -+ } else if (status == DeviceBusy || status == BadValue) { -+ rep.status = status; - WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), - &rep); - return Success; -@@ -199,6 +204,30 @@ ProcXChangeDeviceControl(ClientPtr clien - } - - break; -+ case DEVICE_ABS_AREA: -+ area = (xDeviceAbsAreaCtl *)&stuff[1]; -+ -+ status = ChangeDeviceControl(client, dev, (xDeviceCtl *) area); -+ -+ if (status == Success) { -+ dev->absolute->offset_x = area->offset_x; -+ dev->absolute->offset_y = area->offset_y; -+ dev->absolute->width = area->width; -+ dev->absolute->height = area->height; -+ dev->absolute->screen = area->screen; -+ dev->absolute->following = area->following; -+ } else if (status == DeviceBusy || status == BadValue) { -+ rep.status = status; -+ WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), -+ &rep); -+ return Success; -+ } else { -+ SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, -+ BadMatch); -+ return Success; -+ } -+ -+ break; - case DEVICE_CORE: - c = (xDeviceCoreCtl *)&stuff[1]; - -Index: xorg-server-1.1.99.3/Xi/getdctl.c -=================================================================== ---- xorg-server-1.1.99.3.orig/Xi/getdctl.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/Xi/getdctl.c 2007-01-29 22:59:27.000000000 +0000 -@@ -124,14 +124,23 @@ ProcXGetDeviceControl(ClientPtr client) - total_length = sizeof(xDeviceResolutionState) + - (3 * sizeof(int) * dev->valuator->numAxes); - break; -- case DEVICE_TOUCHSCREEN: -- if (!dev->touchscreen) { -+ case DEVICE_ABS_CALIB: -+ if (!dev->absolute) { - SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, - BadMatch); - return Success; - } - -- total_length = sizeof(xDeviceTSCtl); -+ total_length = sizeof(xDeviceAbsCalibCtl); -+ break; -+ case DEVICE_ABS_AREA: -+ if (!dev->absolute) { -+ SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, -+ BadMatch); -+ return Success; -+ } -+ -+ total_length = sizeof(xDeviceAbsAreaCtl); - break; - case DEVICE_CORE: - total_length = sizeof(xDeviceCoreCtl); -@@ -152,8 +161,11 @@ ProcXGetDeviceControl(ClientPtr client) - case DEVICE_RESOLUTION: - CopySwapDeviceResolution(client, dev->valuator, buf, total_length); - break; -- case DEVICE_TOUCHSCREEN: -- CopySwapDeviceTouchscreen(client, dev->touchscreen, buf); -+ case DEVICE_ABS_CALIB: -+ CopySwapDeviceAbsCalib(client, dev->absolute, buf); -+ break; -+ case DEVICE_ABS_AREA: -+ CopySwapDeviceAbsArea(client, dev->absolute, buf); - break; - case DEVICE_CORE: - CopySwapDeviceCore(client, dev, buf); -@@ -206,28 +218,61 @@ CopySwapDeviceResolution(ClientPtr clien - } - } - --void CopySwapDeviceTouchscreen (ClientPtr client, TouchscreenClassPtr dts, -+void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts, - char *buf) - { - register char n; -- xDeviceTSState *ts = (xDeviceTSState *) buf; -+ xDeviceAbsCalibState *calib = (xDeviceAbsCalibState *) buf; - -- ts->control = DEVICE_TOUCHSCREEN; -- ts->length = sizeof(ts); -- ts->min_x = dts->min_x; -- ts->max_x = dts->max_x; -- ts->min_y = dts->min_y; -- ts->max_y = dts->max_y; -- ts->button_threshold = dts->button_threshold; -+ calib->control = DEVICE_ABS_CALIB; -+ calib->length = sizeof(calib); -+ calib->min_x = dts->min_x; -+ calib->max_x = dts->max_x; -+ calib->min_y = dts->min_y; -+ calib->max_y = dts->max_y; -+ calib->flip_x = dts->flip_x; -+ calib->flip_y = dts->flip_y; -+ calib->rotation = dts->rotation; -+ calib->button_threshold = dts->button_threshold; - - if (client->swapped) { -- swaps(&ts->control, n); -- swaps(&ts->length, n); -- swapl(&ts->min_x, n); -- swapl(&ts->max_x, n); -- swapl(&ts->min_y, n); -- swapl(&ts->max_y, n); -- swapl(&ts->button_threshold, n); -+ swaps(&calib->control, n); -+ swaps(&calib->length, n); -+ swapl(&calib->min_x, n); -+ swapl(&calib->max_x, n); -+ swapl(&calib->min_y, n); -+ swapl(&calib->max_y, n); -+ swapl(&calib->flip_x, n); -+ swapl(&calib->flip_y, n); -+ swapl(&calib->rotation, n); -+ swapl(&calib->button_threshold, n); -+ } -+} -+ -+void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts, -+ char *buf) -+{ -+ register char n; -+ xDeviceAbsAreaState *area = (xDeviceAbsAreaState *) buf; -+ -+ area->control = DEVICE_ABS_AREA; -+ area->length = sizeof(area); -+ area->offset_x = dts->offset_x; -+ area->offset_y = dts->offset_y; -+ area->width = dts->width; -+ area->height = dts->height; -+ area->screen = dts->screen; -+ area->following = dts->following; -+ -+ if (client->swapped) { -+ swaps(&area->control, n); -+ swaps(&area->length, n); -+ swapl(&area->offset_x, n); -+ swapl(&area->offset_y, n); -+ swapl(&area->width, n); -+ swapl(&area->height, n); -+ swapl(&area->screen, n); -+ swapl(&area->following, n); - } - } - -Index: xorg-server-1.1.99.3/Xi/getdctl.h -=================================================================== ---- xorg-server-1.1.99.3.orig/Xi/getdctl.h 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/Xi/getdctl.h 2007-01-29 22:59:27.000000000 +0000 -@@ -42,10 +42,13 @@ void CopySwapDeviceResolution(ClientPtr - int /* length */ - ); - --void CopySwapDeviceTouchscreen(ClientPtr /* client */ , -- TouchscreenClassPtr /* ts */ , -- char * /* buf */ -- ); -+void CopySwapDeviceAbsCalib (ClientPtr client, -+ AbsoluteClassPtr dts, -+ char *buf); -+ -+void CopySwapDeviceAbsArea (ClientPtr client, -+ AbsoluteClassPtr dts, -+ char *buf); - - void CopySwapDeviceCore(ClientPtr /* client */ , - DeviceIntPtr /* dev */ , -Index: xorg-server-1.1.99.3/Xi/stubs.c -=================================================================== ---- xorg-server-1.1.99.3.orig/Xi/stubs.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/Xi/stubs.c 2007-01-29 22:59:27.000000000 +0000 -@@ -287,7 +287,7 @@ ChangeDeviceControl(register ClientPtr c - switch (control->control) { - case DEVICE_RESOLUTION: - return (BadMatch); -- case DEVICE_TOUCHSCREEN: -+ case DEVICE_ABS_CALIB: - return (BadMatch); - case DEVICE_CORE: - return (BadMatch); -Index: xorg-server-1.1.99.3/dix/devices.c -=================================================================== ---- xorg-server-1.1.99.3.orig/dix/devices.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/dix/devices.c 2007-01-29 22:59:27.000000000 +0000 -@@ -117,7 +117,7 @@ AddInputDevice(DeviceProc deviceProc, Bo - dev->button = (ButtonClassPtr)NULL; - dev->focus = (FocusClassPtr)NULL; - dev->proximity = (ProximityClassPtr)NULL; -- dev->touchscreen = (TouchscreenClassPtr)NULL; -+ dev->absolute = (AbsoluteClassPtr)NULL; - dev->kbdfeed = (KbdFeedbackPtr)NULL; - dev->ptrfeed = (PtrFeedbackPtr)NULL; - dev->intfeed = (IntegerFeedbackPtr)NULL; -@@ -821,22 +821,31 @@ InitValuatorClassDeviceStruct(DeviceIntP - } - - _X_EXPORT Bool --InitTouchscreenClassDeviceStruct(DeviceIntPtr dev) -+InitAbsoluteClassDeviceStruct(DeviceIntPtr dev) - { -- register TouchscreenClassPtr tsc; -+ register AbsoluteClassPtr abs; - -- tsc = (TouchscreenClassPtr)xalloc(sizeof(TouchscreenClassRec)); -- if (!tsc) -+ abs = (AbsoluteClassPtr)xalloc(sizeof(AbsoluteClassRec)); -+ if (!abs) - return FALSE; - - /* we don't do anything sensible with these, but should */ -- tsc->min_x = -1; -- tsc->min_y = -1; -- tsc->max_x = -1; -- tsc->max_y = -1; -+ abs->min_x = -1; -+ abs->min_y = -1; -+ abs->max_x = -1; -+ abs->max_y = -1; -+ abs->flip_x = 0; -+ abs->flip_y = 0; -+ abs->rotation = 0; -+ abs->button_threshold = 0; - -- tsc->button_threshold = 0; -- dev->touchscreen = tsc; -+ abs->offset_x = 0; -+ abs->offset_y = 0; -+ abs->width = -1; -+ abs->height = -1; -+ abs->following = 0; -+ -+ dev->absolute = abs; - - return TRUE; - } -Index: xorg-server-1.1.99.3/hw/xfree86/common/xf86Xinput.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/xfree86/common/xf86Xinput.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/xfree86/common/xf86Xinput.c 2007-01-29 22:59:27.000000000 +0000 -@@ -538,7 +538,8 @@ ChangeDeviceControl (ClientPtr client, D - switch (control->control) { - case DEVICE_CORE: - case DEVICE_RESOLUTION: -- case DEVICE_TOUCHSCREEN: -+ case DEVICE_ABS_CALIB: -+ case DEVICE_ABS_AREA: - return Success; - default: - return BadMatch; -Index: xorg-server-1.1.99.3/include/input.h -=================================================================== ---- xorg-server-1.1.99.3.orig/include/input.h 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/include/input.h 2007-01-29 22:59:27.000000000 +0000 -@@ -238,7 +238,7 @@ extern Bool InitValuatorClassDeviceStruc - int /*numMotionEvents*/, - int /*mode*/); - --extern Bool InitTouchscreenClassDeviceStruct( -+extern Bool InitAbsoluteClassDeviceStruct( - DeviceIntPtr /*device*/); - - extern Bool InitFocusClassDeviceStruct( -Index: xorg-server-1.1.99.3/include/inputstr.h -=================================================================== ---- xorg-server-1.1.99.3.orig/include/inputstr.h 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/include/inputstr.h 2007-01-29 22:59:27.000000000 +0000 -@@ -185,13 +185,25 @@ typedef struct _ProximityClassRec { - char pad; - } ProximityClassRec, *ProximityClassPtr; - --typedef struct _TouchscreenClassRec { -+typedef struct _AbsoluteClassRec { -+ /* Calibration. */ - int min_x; - int max_x; - int min_y; - int max_y; -+ int flip_x; -+ int flip_y; -+ int rotation; - int button_threshold; --} TouchscreenClassRec, *TouchscreenClassPtr; -+ -+ /* Area. */ -+ int offset_x; -+ int offset_y; -+ int width; -+ int height; -+ int screen; -+ XID following; -+} AbsoluteClassRec, *AbsoluteClassPtr; - - typedef struct _KbdFeedbackClassRec *KbdFeedbackPtr; - typedef struct _PtrFeedbackClassRec *PtrFeedbackPtr; -@@ -293,7 +305,7 @@ typedef struct _DeviceIntRec { - ButtonClassPtr button; - FocusClassPtr focus; - ProximityClassPtr proximity; -- TouchscreenClassPtr touchscreen; -+ AbsoluteClassPtr absolute; - KbdFeedbackPtr kbdfeed; - PtrFeedbackPtr ptrfeed; - IntegerFeedbackPtr intfeed; -Index: xorg-server-1.1.99.3/configure.ac -=================================================================== ---- xorg-server-1.1.99.3.orig/configure.ac 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/configure.ac 2007-01-29 22:59:27.000000000 +0000 -@@ -1586,7 +1586,7 @@ if test "$KDRIVE" = yes; then - #KDRIVE_PURE_LIBS="$DIX_LIB $OS_LIB $FB_LIB $XEXT_LIB $MIEXT_DAMAGE_LIB \ - # $MIEXT_SHADOW_LIB $XPSTUBS_LIB" - KDRIVE_XKB_DDX_LIB='$(top_builddir)/hw/kdrive/src/libkdrivexkb.a' -- KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $KDRIVE_XKB_DDX_LIB $XKB_LIB $KDRIVE_XKB_DDX_LIB$COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB $CONFIG_LIB" -+ KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $KDRIVE_XKB_DDX_LIB $XKB_LIB $KDRIVE_XKB_DDX_LIB $COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB $CONFIG_LIB" - KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a' - KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a' - KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' -Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-01-29 22:59:27.000000000 +0000 -@@ -94,7 +94,7 @@ TsRead (int fd, void *closure) - event.pressure); - discard = 0; - if (event.pressure) { -- if (event.pressure > pi->dixdev->touchscreen->button_threshold) -+ if (event.pressure > pi->dixdev->absolute->button_threshold) - flags = KD_BUTTON_8; - else - flags = KD_BUTTON_1; -@@ -356,9 +356,9 @@ TslibEnable (KdPointerInfo *pi) - close(private->fd); - return BadAlloc; - } -- if (pi->dixdev && pi->dixdev->touchscreen && -- pi->dixdev->touchscreen->button_threshold == 0) -- pi->dixdev->touchscreen->button_threshold = 115; -+ if (pi->dixdev && pi->dixdev->absolute && -+ pi->dixdev->absolute->button_threshold == 0) -+ pi->dixdev->absolute->button_threshold = 115; - - DebugF("[tslib/TslibEnable] successfully enabled %s\n", pi->path); - KdRegisterFd(private->fd, TsRead, pi); -Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2007-01-29 22:59:27.000000000 +0000 -@@ -444,7 +444,7 @@ KdPointerProc(DeviceIntPtr pDevice, int - - #ifdef XINPUT - if (pi->inputClass == KD_TOUCHSCREEN) { -- InitTouchscreenClassDeviceStruct(pDevice); -+ InitAbsoluteClassDeviceStruct(pDevice); - xiclass = AtomFromName(XI_TOUCHSCREEN); - } - else { -@@ -2323,8 +2323,8 @@ ChangeDeviceControl(register ClientPtr c - /* FIXME do something more intelligent here */ - return BadMatch; - -- case DEVICE_TOUCHSCREEN: -- if (!pDev->touchscreen) -+ case DEVICE_ABS_CALIB: -+ if (!pDev->absolute) - return BadDevice; - else - return Success; diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch deleted file mode 100644 index 06eab817bda..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch +++ /dev/null @@ -1,503 +0,0 @@ -# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at -# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html ---- -# hw/kdrive/linux/evdev.c | 385 ++++++++++++++++++++++++++++++++++++++++++++++-- -# hw/kdrive/src/kdrive.c | 9 + -# hw/kdrive/src/kdrive.h | 4 -# 3 files changed, 386 insertions(+), 12 deletions(-) -# -Index: xorg-server-1.1.99.3/hw/kdrive/linux/evdev.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/linux/evdev.c 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/linux/evdev.c 2007-01-25 22:05:48.000000000 +0000 -@@ -31,9 +31,11 @@ - #include - #include - #include -+#include - #include "inputstr.h" - #include "scrnintstr.h" - #include "kdrive.h" -+#include "kkeymap.h" - - #define NUM_EVENTS 128 - #define ABS_UNSET -65535 -@@ -107,9 +109,10 @@ EvdevRead (int evdevPort, void *closure) - { - KdPointerInfo *pi = closure; - Kevdev *ke = pi->driverPrivate; -- int i; -+ int i, j; - struct input_event events[NUM_EVENTS]; - int n; -+ int flags; - - n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); - if (n <= 0) -@@ -117,22 +120,64 @@ EvdevRead (int evdevPort, void *closure) - n /= sizeof (struct input_event); - for (i = 0; i < n; i++) - { -+ flags = KD_MOUSE_DELTA | kdPointerInfo->buttonState; - switch (events[i].type) { - case EV_SYN: - break; - case EV_KEY: -- EvdevMotion (pi); -- ASSIGNBIT(ke->key,events[i].code, events[i].value); -- if (events[i].code < 0x100) -- ErrorF ("key %d %d\n", events[i].code, events[i].value); -- else -- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value); -+ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) { -+ switch (events[i].code) { -+ case BTN_LEFT: -+ if (events[i].value == 1) -+ flags |= KD_BUTTON_1; -+ else -+ flags &= ~KD_BUTTON_1; -+ break; -+ case BTN_MIDDLE: -+ if (events[i].value == 1) -+ flags |= KD_BUTTON_2; -+ else -+ flags &= ~KD_BUTTON_2; -+ break; -+ case BTN_RIGHT: -+ if (events[i].value == 1) -+ flags |= KD_BUTTON_3; -+ else -+ flags &= ~KD_BUTTON_3; -+ break; -+ default: -+ /* Unknow button */ -+ break; -+ } -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); -+ } - break; - case EV_REL: -- ke->rel[events[i].code] += events[i].value; -+ if (events[i].code == REL_X) { -+ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0); -+ } -+ else if (events[i].code == REL_Y) { -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value); -+ } -+ else if (events[i].code == REL_WHEEL) { -+ for (j = 0; j < abs (events[i].value); j++) { -+ if (events[i].value > 0) -+ flags |= KD_BUTTON_4; -+ else -+ flags |= KD_BUTTON_5; -+ -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); -+ -+ if (events[i].value > 0) -+ flags &= ~KD_BUTTON_4; -+ else -+ flags &= ~KD_BUTTON_5; -+ -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); -+ } /* events[i].code == REL_WHEEL */ -+ } - break; - case EV_ABS: -- ke->abs[events[i].code] = events[i].value; - break; - } - } -@@ -162,6 +207,12 @@ EvdevInit (KdPointerInfo *pi) - for (i = 0; i < NUM_DEFAULT_EVDEV; i++) { - fd = open (kdefaultEvdev[i], 2); - if (fd >= 0) { -+ if (ioctl (fd, EVIOCGRAB, 1) < 0) -+ { -+ close (fd); -+ continue; -+ } -+ - pi->path = KdSaveString (kdefaultEvdev[i]); - break; - } -@@ -300,7 +351,319 @@ KdPointerDriver LinuxEvdevMouseDriver = - NULL, - }; - --#if 0 -+/* Keyboard */ -+ -+int kbd_fd = -1; -+int EvdevInputType = 0; -+ -+KeySym evdevKeymap[(194 - 1 + 1) * 2] = { -+/* These are directly mapped from DOS scanset 0 */ -+/* 1 8 */ XK_Escape, NoSymbol, -+/* 2 9 */ XK_1, XK_exclam, -+/* 3 10 */ XK_2, XK_at, -+/* 4 11 */ XK_3, XK_numbersign, -+/* 5 12 */ XK_4, XK_dollar, -+/* 6 13 */ XK_5, XK_percent, -+/* 7 14 */ XK_6, XK_asciicircum, -+/* 8 15 */ XK_7, XK_ampersand, -+/* 9 16 */ XK_8, XK_asterisk, -+/* 10 17 */ XK_9, XK_parenleft, -+/* 11 18 */ XK_0, XK_parenright, -+/* 12 19 */ XK_minus, XK_underscore, -+/* 13 20 */ XK_equal, XK_plus, -+/* 14 21 */ XK_BackSpace, NoSymbol, -+/* 15 22 */ XK_Tab, NoSymbol, -+/* 16 23 */ XK_Q, NoSymbol, -+/* 17 24 */ XK_W, NoSymbol, -+/* 18 25 */ XK_E, NoSymbol, -+/* 19 26 */ XK_R, NoSymbol, -+/* 20 27 */ XK_T, NoSymbol, -+/* 21 28 */ XK_Y, NoSymbol, -+/* 22 29 */ XK_U, NoSymbol, -+/* 23 30 */ XK_I, NoSymbol, -+/* 24 31 */ XK_O, NoSymbol, -+/* 25 32 */ XK_P, NoSymbol, -+/* 26 33 */ XK_bracketleft, XK_braceleft, -+/* 27 34 */ XK_bracketright, XK_braceright, -+/* 28 35 */ XK_Return, NoSymbol, -+/* 29 36 */ XK_Control_L, NoSymbol, -+/* 30 37 */ XK_A, NoSymbol, -+/* 31 38 */ XK_S, NoSymbol, -+/* 32 39 */ XK_D, NoSymbol, -+/* 33 40 */ XK_F, NoSymbol, -+/* 34 41 */ XK_G, NoSymbol, -+/* 35 42 */ XK_H, NoSymbol, -+/* 36 43 */ XK_J, NoSymbol, -+/* 37 44 */ XK_K, NoSymbol, -+/* 38 45 */ XK_L, NoSymbol, -+/* 39 46 */ XK_semicolon, XK_colon, -+/* 40 47 */ XK_apostrophe, XK_quotedbl, -+/* 41 48 */ XK_grave, XK_asciitilde, -+/* 42 49 */ XK_Shift_L, NoSymbol, -+/* 43 50 */ XK_backslash, XK_bar, -+/* 44 51 */ XK_Z, NoSymbol, -+/* 45 52 */ XK_X, NoSymbol, -+/* 46 53 */ XK_C, NoSymbol, -+/* 47 54 */ XK_V, NoSymbol, -+/* 48 55 */ XK_B, NoSymbol, -+/* 49 56 */ XK_N, NoSymbol, -+/* 50 57 */ XK_M, NoSymbol, -+/* 51 58 */ XK_comma, XK_less, -+/* 52 59 */ XK_period, XK_greater, -+/* 53 60 */ XK_slash, XK_question, -+/* 54 61 */ XK_Shift_R, NoSymbol, -+/* 55 62 */ XK_KP_Multiply, NoSymbol, -+/* 56 63 */ XK_Alt_L, XK_Meta_L, -+/* 57 64 */ XK_space, NoSymbol, -+/* 58 65 */ XK_Caps_Lock, NoSymbol, -+/* 59 66 */ XK_F1, NoSymbol, -+/* 60 67 */ XK_F2, NoSymbol, -+/* 61 68 */ XK_F3, NoSymbol, -+/* 62 69 */ XK_F4, NoSymbol, -+/* 63 70 */ XK_F5, NoSymbol, -+/* 64 71 */ XK_F6, NoSymbol, -+/* 65 72 */ XK_F7, NoSymbol, -+/* 66 73 */ XK_F8, NoSymbol, -+/* 67 74 */ XK_F9, NoSymbol, -+/* 68 75 */ XK_F10, NoSymbol, -+/* 69 76 */ XK_Break, XK_Pause, -+/* 70 77 */ XK_Scroll_Lock, NoSymbol, -+/* 71 78 */ XK_KP_Home, XK_KP_7, -+/* 72 79 */ XK_KP_Up, XK_KP_8, -+/* 73 80 */ XK_KP_Page_Up, XK_KP_9, -+/* 74 81 */ XK_KP_Subtract, NoSymbol, -+/* 75 82 */ XK_KP_Left, XK_KP_4, -+/* 76 83 */ XK_KP_5, NoSymbol, -+/* 77 84 */ XK_KP_Right, XK_KP_6, -+/* 78 85 */ XK_KP_Add, NoSymbol, -+/* 79 86 */ XK_KP_End, XK_KP_1, -+/* 80 87 */ XK_KP_Down, XK_KP_2, -+/* 81 88 */ XK_KP_Page_Down, XK_KP_3, -+/* 82 89 */ XK_KP_Insert, XK_KP_0, -+/* 83 90 */ XK_KP_Delete, XK_KP_Decimal, -+/* 84 91 */ NoSymbol, NoSymbol, -+/* 85 92 */ NoSymbol, NoSymbol, -+/* 86 93 */ NoSymbol, NoSymbol, -+/* 87 94 */ XK_F11, NoSymbol, -+/* 88 95 */ XK_F12, NoSymbol, -+ -+/* These are remapped from the extended set (using ExtendMap) */ -+ -+/* 89 96 */ XK_Control_R, NoSymbol, -+/* 90 97 */ XK_KP_Enter, NoSymbol, -+/* 91 98 */ XK_KP_Divide, NoSymbol, -+/* 92 99 */ XK_Sys_Req, XK_Print, -+/* 93 100 */ XK_Alt_R, XK_Meta_R, -+/* 94 101 */ XK_Num_Lock, NoSymbol, -+/* 95 102 */ XK_Home, NoSymbol, -+/* 96 103 */ XK_Up, NoSymbol, -+/* 97 104 */ XK_Page_Up, NoSymbol, -+/* 98 105 */ XK_Left, NoSymbol, -+/* 99 106 */ XK_Right, NoSymbol, -+/* 100 107 */ XK_End, NoSymbol, -+/* 101 108 */ XK_Down, NoSymbol, -+/* 102 109 */ XK_Page_Down, NoSymbol, -+/* 103 110 */ XK_Insert, NoSymbol, -+/* 104 111 */ XK_Delete, NoSymbol, -+/* 105 112 */ XK_Super_L, NoSymbol, -+/* 106 113 */ XK_Super_R, NoSymbol, -+/* 107 114 */ XK_Menu, NoSymbol, -+/* 108 115 */ NoSymbol, NoSymbol, -+/* 109 116 */ NoSymbol, NoSymbol, -+/* 110 117 */ NoSymbol, NoSymbol, -+/* 111 118 */ NoSymbol, NoSymbol, -+/* 112 119 */ NoSymbol, NoSymbol, -+ -+/* 113 120 */ NoSymbol, NoSymbol, -+/* 114 121 */ NoSymbol, NoSymbol, -+/* 115 122 */ NoSymbol, NoSymbol, -+/* 116 123 */ NoSymbol, NoSymbol, -+/* 117 124 */ NoSymbol, NoSymbol, -+/* 118 125 */ NoSymbol, NoSymbol, -+/* 119 126 */ NoSymbol, NoSymbol, -+/* 120 127 */ NoSymbol, NoSymbol, -+/* 121 128 */ NoSymbol, NoSymbol, -+/* 122 129 */ NoSymbol, NoSymbol, -+/* 123 130 */ NoSymbol, NoSymbol, -+/* 124 131 */ NoSymbol, NoSymbol, -+/* 125 132 */ NoSymbol, NoSymbol, -+/* 126 133 */ NoSymbol, NoSymbol, -+/* 127 134 */ NoSymbol, NoSymbol, -+/* 128 135 */ NoSymbol, NoSymbol, -+/* 129 136 */ NoSymbol, NoSymbol, -+/* 130 137 */ NoSymbol, NoSymbol, -+/* 131 138 */ NoSymbol, NoSymbol, -+/* 132 139 */ NoSymbol, NoSymbol, -+/* 133 140 */ NoSymbol, NoSymbol, -+/* 134 141 */ NoSymbol, NoSymbol, -+/* 135 142 */ NoSymbol, NoSymbol, -+/* 136 143 */ NoSymbol, NoSymbol, -+/* 137 144 */ NoSymbol, NoSymbol, -+/* 138 145 */ NoSymbol, NoSymbol, -+/* 139 146 */ NoSymbol, NoSymbol, -+/* 140 147 */ NoSymbol, NoSymbol, -+/* 141 148 */ NoSymbol, NoSymbol, -+/* 142 149 */ NoSymbol, NoSymbol, -+/* 143 150 */ NoSymbol, NoSymbol, -+/* 144 151 */ NoSymbol, NoSymbol, -+/* 145 152 */ NoSymbol, NoSymbol, -+/* 146 153 */ NoSymbol, NoSymbol, -+/* 147 154 */ NoSymbol, NoSymbol, -+/* 148 155 */ NoSymbol, NoSymbol, -+/* 149 156 */ NoSymbol, NoSymbol, -+/* 150 157 */ NoSymbol, NoSymbol, -+/* 151 158 */ NoSymbol, NoSymbol, -+/* 152 159 */ NoSymbol, NoSymbol, -+/* 153 160 */ NoSymbol, NoSymbol, -+/* 154 161 */ NoSymbol, NoSymbol, -+/* 155 162 */ NoSymbol, NoSymbol, -+/* 156 163 */ NoSymbol, NoSymbol, -+/* 157 164 */ NoSymbol, NoSymbol, -+/* 158 165 */ NoSymbol, NoSymbol, -+/* 159 166 */ NoSymbol, NoSymbol, -+/* 160 167 */ NoSymbol, NoSymbol, -+/* 161 168 */ NoSymbol, NoSymbol, -+/* 162 169 */ NoSymbol, NoSymbol, -+/* 163 170 */ NoSymbol, NoSymbol, -+/* 164 171 */ NoSymbol, NoSymbol, -+/* 165 172 */ NoSymbol, NoSymbol, -+/* 166 173 */ NoSymbol, NoSymbol, -+/* 167 174 */ NoSymbol, NoSymbol, -+/* 168 175 */ NoSymbol, NoSymbol, -+/* 169 176 */ NoSymbol, NoSymbol, -+/* 170 177 */ NoSymbol, NoSymbol, -+/* 171 178 */ NoSymbol, NoSymbol, -+/* 172 179 */ NoSymbol, NoSymbol, -+/* 173 180 */ NoSymbol, NoSymbol, -+/* 174 181 */ NoSymbol, NoSymbol, -+/* 175 182 */ NoSymbol, NoSymbol, -+/* 176 183 */ NoSymbol, NoSymbol, -+/* 177 184 */ NoSymbol, NoSymbol, -+/* 178 185 */ NoSymbol, NoSymbol, -+/* 179 186 */ NoSymbol, NoSymbol, -+/* 180 187 */ NoSymbol, NoSymbol, -+/* 181 188 */ NoSymbol, NoSymbol, -+/* 182 189 */ NoSymbol, NoSymbol, -+/* 183 190 */ NoSymbol, NoSymbol, -+/* 184 191 */ NoSymbol, NoSymbol, -+/* 185 192 */ NoSymbol, NoSymbol, -+/* 186 193 */ NoSymbol, NoSymbol, -+/* 187 194 */ NoSymbol, NoSymbol, -+/* 188 195 */ NoSymbol, NoSymbol, -+/* 189 196 */ NoSymbol, NoSymbol, -+/* 190 197 */ NoSymbol, NoSymbol, -+/* 191 198 */ NoSymbol, NoSymbol, -+/* 192 199 */ NoSymbol, NoSymbol, -+/* 193 200 */ NoSymbol, NoSymbol, -+/* 194 201 */ NoSymbol, NoSymbol, -+}; -+ -+static void -+EvdevKbdRead (int fd, void *closure) -+{ -+ int i, n; -+ struct input_event events[NUM_EVENTS]; -+ -+ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event)); -+ if (n <= 0) -+ return; -+ -+ n /= sizeof (struct input_event); -+ -+ for (i = 0; i < n; i++) -+ { -+ if (events[i].type == EV_KEY) -+ KdEnqueueKeyboardEvent (events[i].code, !events[i].value); -+ } -+} -+ -+static void -+EvdevKbdLoad (void) -+{ -+ kdMinScanCode = 0; -+ kdMaxScanCode = 193; -+ kdKeymapWidth = 2; -+ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap)); -+} -+ -+static int -+EvdevKbdInit (void) -+{ -+ int fd, i; -+ -+ if (!EvdevInputType) -+ EvdevInputType = KdAllocInputType (); -+ -+ if (!kdKeyboard) -+ { -+ for (i = 0; i < NUM_DEFAULT_EVDEV; i++) -+ { -+ fd = open (kdefaultEvdev[i], 2); -+ if (fd >= 0) -+ { -+ kdKeyboard = KdSaveString (kdefaultEvdev[i]); -+ break; -+ } -+ } -+ } -+ else -+ { -+ fd = open (kdKeyboard, O_RDWR); -+ if (fd < 0) -+ return FALSE; -+ } -+ -+ if (ioctl (fd, EVIOCGRAB, 1) < 0) -+ { -+ close (fd); -+ return FALSE; -+ } -+ -+ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL)) -+ return FALSE; -+ -+ kbd_fd = fd; -+ return TRUE; -+} -+ -+static void -+EvdevKbdFini (void) -+{ -+} -+ -+static void -+EvdevKbdLeds (int leds) -+{ -+ struct input_event event; -+ -+ memset(&event, 0, sizeof(event)); -+ -+ event.type = EV_LED; -+ event.code = LED_CAPSL; -+ event.value = leds & (1 << 0) ? 1 : 0; -+ write(kbd_fd, (char *) &event, sizeof(event)); -+ -+ event.type = EV_LED; -+ event.code = LED_NUML; -+ event.value = leds & (1 << 1) ? 1 : 0; -+ write(kbd_fd, (char *) &event, sizeof(event)); -+ -+ event.type = EV_LED; -+ event.code = LED_SCROLLL; -+ event.value = leds & (1 << 2) ? 1 : 0; -+ write(kbd_fd, (char *) &event, sizeof(event)); -+ -+ event.type = EV_LED; -+ event.code = LED_COMPOSE; -+ event.value = leds & (1 << 3) ? 1 : 0; -+ write(kbd_fd, (char *) &event, sizeof(event)); -+} -+ -+static void -+EvdevKbdBell (int volume, int frequency, int duration) -+{ -+} -+ - KdKeyboardFuncs LinuxEvdevKeyboardFuncs = { - EvdevKbdLoad, - EvdevKbdInit, -@@ -309,4 +672,4 @@ KdKeyboardFuncs LinuxEvdevKeyboardFuncs - EvdevKbdFini, - 0, - }; --#endif -+ -Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.c 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.c 2007-01-25 21:56:32.000000000 +0000 -@@ -80,6 +80,7 @@ Bool kdDontZap; - Bool kdEnabled; - int kdSubpixelOrder; - int kdVirtualTerminal = -1; -+char *kdKeyboard = 0; - Bool kdSwitchPending; - char *kdSwitchCmd; - DDXPointRec kdOrigin; -@@ -707,6 +708,14 @@ KdProcessArgument (int argc, char **argv - UseMsg (); - return 2; - } -+ if (!strcmp (argv[i], "-keyboard")) -+ { -+ if ((i+1) < argc) -+ kdKeyboard = argv[i+1]; -+ else -+ UseMsg (); -+ return 2; -+ } - if (!strcmp (argv[i], "-rgba")) - { - if ((i+1) < argc) -Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.h 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h 2007-01-25 21:58:26.000000000 +0000 -@@ -512,6 +512,7 @@ extern Bool kdEmulateMiddleButton; - extern Bool kdDisableZaphod; - extern Bool kdDontZap; - extern int kdVirtualTerminal; -+extern char *kdKeyboard; - extern char *kdSwitchCmd; - extern KdOsFuncs *kdOsFuncs; - -@@ -875,12 +876,13 @@ void - ProcessInputEvents (void); - - extern KdPointerDriver LinuxMouseDriver; --extern KdPointerDriver LinuxEvdevDriver; -+extern KdPointerDriver LinuxEvdevMouseFuncs; - extern KdPointerDriver Ps2MouseDriver; - extern KdPointerDriver BusMouseDriver; - extern KdPointerDriver MsMouseDriver; - extern KdPointerDriver TsDriver; - extern KdKeyboardDriver LinuxKeyboardDriver; -+extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs; - extern KdOsFuncs LinuxFuncs; - - extern KdPointerDriver VxWorksMouseDriver; diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch deleted file mode 100644 index d4f885ee264..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100 -+++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100 -@@ -28,6 +28,8 @@ - #endif - #include - -+extern int use_evdev; -+ - void - InitCard (char *name) - { -@@ -45,7 +47,10 @@ - void - InitInput (int argc, char **argv) - { -- KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); -+ if (use_evdev) -+ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs); -+ else -+ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); - #ifdef TOUCHSCREEN - KdAddMouseDriver (&TsFuncs); - #endif ---- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100 -+++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100 -@@ -44,6 +44,8 @@ - #include "dpmsproc.h" - #endif - -+int use_evdev = 0; -+ - typedef struct _kdDepths { - CARD8 depth; - CARD8 bpp; -@@ -687,6 +689,7 @@ - ErrorF("-videoTest Start the server, pause momentarily and exit\n"); - ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); - ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n"); -+ ErrorF("-use-evdev Use Linux evdev input\n"); - ErrorF("-switchCmd Command to execute on vt switch\n"); - ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n"); - ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); -@@ -796,6 +799,10 @@ - UseMsg (); - return 2; - } -+ if (!strcmp (argv[i], "-use-evdev")) -+ { -+ use_evdev = 1; -+ } - if (!strcmp (argv[i], "-keyboard")) - { - if ((i+1) < argc) diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch deleted file mode 100644 index 23a0f7eae8c..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- - hw/kdrive/src/kmode.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -Index: xorg-server-1.1.99.3/hw/kdrive/src/kmode.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kmode.c 2007-01-25 23:53:59.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kmode.c 2007-01-27 17:17:09.000000000 +0000 -@@ -41,6 +41,11 @@ const KdMonitorTiming kdMonitorTimings[ - 1, 11, 14, KdSyncNegative, - }, - -+ { 240, 320, 64, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ - /* Other VESA modes */ - { 640, 350, 85, 31500, /* VESA */ - 32, 96, 192, KdSyncPositive, /* 26.413 */ -@@ -80,6 +85,22 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 48, 160, KdSyncNegative, /* 31.469 */ - 10, 33, 45, KdSyncNegative, /* 59.940 */ - }, -+ -+ -+ { 480, 640, 60, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ -+ { 800, 480, 51, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ -+ { 480, 800, 51, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, - - /* 800x600 modes */ - { 800, 600, 85, 56250, /* VESA */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch deleted file mode 100644 index 35ccadaa8d5..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700 -+++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700 -@@ -927,8 +927,10 @@ char *kdefaultMouse[] = { - "/dev/psaux", - "/dev/input/mice", - "/dev/adbmouse", -+#ifdef BREAK_MY_SERIAL_CONSOLE - "/dev/ttyS0", - "/dev/ttyS1", -+#endif - }; - - #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0])) diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch deleted file mode 100644 index 2a10f13d40e..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch +++ /dev/null @@ -1,73 +0,0 @@ ---- - Xext/Makefile.am | 5 - Xext/xcalibrate.c | 262 +++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 8 + - include/kdrive-config.h.in | 3 - mi/miinitext.c | 6 + - 5 files changed, 283 insertions(+), 1 deletion(-) - -Index: xorg-server-1.1.99.3/mi/miinitext.c -=================================================================== ---- xorg-server-1.1.99.3.orig/mi/miinitext.c 2006-11-03 14:49:06.000000000 +0000 -+++ xorg-server-1.1.99.3/mi/miinitext.c 2007-01-27 17:59:40.000000000 +0000 -@@ -368,6 +368,9 @@ extern void ResExtensionInit(INITARGS); - #ifdef DMXEXT - extern void DMXExtensionInit(INITARGS); - #endif -+#ifdef XCALIBRATE -+extern void XCalibrateExtensionInit(INITARGS); -+#endif - #ifdef XEVIE - extern void XevieExtensionInit(INITARGS); - #endif -@@ -662,6 +665,9 @@ InitExtensions(argc, argv) - #ifdef XSP - if (!noXspExtension) XSPExtensionInit(); - #endif -+#ifdef XCALIBRATE -+ XCalibrateExtensionInit (); -+#endif - } - - void -Index: xorg-server-1.1.99.3/configure.ac -=================================================================== ---- xorg-server-1.1.99.3.orig/configure.ac 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/configure.ac 2007-01-29 22:58:18.000000000 +0000 -@@ -1584,7 +1590,7 @@ if test "$KDRIVE" = yes; then - KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a' - KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a' - KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' -- KDRIVE_LIBS="$XSERVERLIBS_LIBS $DIX_LIB $XSP_LIB $KDRIVE_LIB $TSLIB_LIBS $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB" -+ KDRIVE_LIBS="$XSERVERLIBS_LIBS $DIX_LIB $XSP_LIB $KDRIVE_LIB $TSLIB_LIBS $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB" - - # check if we can build Xephyr - PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"]) -Index: xorg-server-1.1.99.3/include/kdrive-config.h.in -=================================================================== ---- xorg-server-1.1.99.3.orig/include/kdrive-config.h.in 2006-11-03 14:49:06.000000000 +0000 -+++ xorg-server-1.1.99.3/include/kdrive-config.h.in 2007-01-27 17:59:40.000000000 +0000 -@@ -28,4 +28,7 @@ - /* Have the backtrace() functiln. */ - #undef HAVE_BACKTRACE - -+/* Enable XCalibrate extension */ -+#undef XCALIBRATE -+ - #endif /* _KDRIVE_CONFIG_H_ */ -Index: xorg-server-1.1.99.3/Xext/Makefile.am -=================================================================== ---- xorg-server-1.1.99.3.orig/Xext/Makefile.am 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/Xext/Makefile.am 2007-01-29 22:58:33.000000000 +0000 -@@ -81,6 +81,11 @@ BUILTIN_SRCS += $(XCALIBRATE_SRCS) - # XCalibrare needs tslib - endif - -+XCALIBRATE_SRCS = xcalibrate.c -+if XCALIBRATE -+BUILTIN_SRCS += $(XCALIBRATE_SRCS) -+endif -+ - # X EVent Interception Extension: allows accessibility helpers & composite - # managers to intercept events from input devices and transform as needed - # before the clients see them. diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch deleted file mode 100644 index fbe89b16b1a..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch +++ /dev/null @@ -1,122 +0,0 @@ ---- - Xext/xcalibrate.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++- - hw/kdrive/src/kdrive.h | 3 +++ - hw/kdrive/src/kinput.c | 12 ++++++++++++ - 3 files changed, 61 insertions(+), 1 deletion(-) - -Index: xorg-server-1.1.99.3/Xext/xcalibrate.c -=================================================================== ---- xorg-server-1.1.99.3.orig/Xext/xcalibrate.c 2007-06-30 16:27:13.000000000 +0100 -+++ xorg-server-1.1.99.3/Xext/xcalibrate.c 2007-06-30 16:27:15.000000000 +0100 -@@ -166,7 +166,6 @@ ProcXCalibrateSetRawMode (ClientPtr clie - return (client->noClientException); - } - -- - static int - SProcXCalibrateSetRawMode (ClientPtr client) - { -@@ -180,6 +179,47 @@ SProcXCalibrateSetRawMode (ClientPtr cli - return ProcXCalibrateSetRawMode(client); - } - -+static int -+ProcXCalibrateScreenToCoord (ClientPtr client) -+{ -+ REQUEST(xXCalibrateScreenToCoordReq); -+ xXCalibrateScreenToCoordReply rep; -+ -+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq); -+ -+ memset (&rep, 0, sizeof (rep)); -+ rep.type = X_Reply; -+ rep.sequenceNumber = client->sequence; -+ rep.x = stuff->x; -+ rep.y = stuff->y; -+ -+ KdScreenToMouseCoords(&rep.x, &rep.y); -+ -+ if (client->swapped) -+ { -+ int n; -+ -+ swaps (&rep.x, n); -+ swaps (&rep.y, n); -+ } -+ WriteToClient(client, sizeof (rep), (char *) &rep); -+ return (client->noClientException); -+} -+ -+static int -+SProcXCalibrateScreenToCoord (ClientPtr client) -+{ -+ REQUEST(xXCalibrateScreenToCoordReq); -+ int n; -+ -+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq); -+ -+ swaps(&stuff->x, n); -+ swaps(&stuff->y, n); -+ -+ return ProcXCalibrateScreenToCoord(client); -+} -+ - static void - XCalibrateResetProc (ExtensionEntry *extEntry) - { -@@ -194,6 +234,9 @@ ProcXCalibrateDispatch (ClientPtr client - return ProcXCalibrateQueryVersion(client); - case X_XCalibrateRawMode: - return ProcXCalibrateSetRawMode(client); -+ case X_XCalibrateScreenToCoord: -+ return ProcXCalibrateScreenToCoord(client); -+ - default: break; - } - -@@ -213,6 +256,8 @@ SProcXCalibrateDispatch (ClientPtr clien - return SProcXCalibrateQueryVersion(client); - case X_XCalibrateRawMode: - return SProcXCalibrateSetRawMode(client); -+ case X_XCalibrateScreenToCoord: -+ return SProcXCalibrateScreenToCoord(client); - - default: break; - } -Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.h 2007-06-30 16:27:13.000000000 +0100 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h 2007-06-30 16:30:40.000000000 +0100 -@@ -851,6 +851,9 @@ void - KdSetPointerMatrix (KdPointerMatrix *pointer); - - void -+KdScreenToMouseCoords (int *x, int *y); -+ -+void - KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height); - - void -Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2007-06-30 16:27:14.000000000 +0100 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2007-06-30 16:30:16.000000000 +0100 -@@ -570,6 +570,18 @@ KdSetPointerMatrix (KdPointerMatrix *mat - } - - void -+KdScreenToMouseCoords (int *x, int *y) -+{ -+ int (*m)[3] = kdPointerMatrix.matrix; -+ int div = m[0][1] * m[1][0] - m[1][1] * m[0][0]; -+ int sx = *x; -+ int sy = *y; -+ -+ *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div; -+ *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div; -+} -+ -+void - KdComputePointerMatrix (KdPointerMatrix *m, Rotation randr, int width, - int height) - { diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch deleted file mode 100644 index a8f002ea2a1..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch +++ /dev/null @@ -1,82 +0,0 @@ ---- - hw/kdrive/fbdev/fbdev.c | 17 ++++++++++++----- - hw/kdrive/fbdev/fbdev.h | 1 + - hw/kdrive/fbdev/fbinit.c | 20 ++++++++++++++++---- - 3 files changed, 29 insertions(+), 9 deletions(-) - ---- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.c -+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.c -@@ -33,16 +33,23 @@ - - extern int KdTsPhyScreen; - -+char *fbdevDevicePath = NULL; - Bool - fbdevInitialize (KdCardInfo *card, FbdevPriv *priv) - { - int k; - unsigned long off; -- if ((priv->fd = open("/dev/fb0", O_RDWR)) < 0 && \ -- (priv->fd = open("/dev/fb/0", O_RDWR)) < 0) { -- perror("Error opening /dev/fb0"); -- return FALSE; -- } -+ -+ if (fbdevDevicePath == NULL) -+ fbdevDevicePath = "/dev/fb0"; -+ -+ if ((priv->fd = open(fbdevDevicePath, O_RDWR)) < 0) -+ { -+ ErrorF("Error opening framebuffer %s: %s\n", -+ fbdevDevicePath, strerror(errno)); -+ return FALSE; -+ } -+ - /* quiet valgrind */ - memset (&priv->fix, '\0', sizeof (priv->fix)); - if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) { ---- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.h -+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.h -@@ -53,6 +53,7 @@ typedef struct _fbdevScrPriv { - } FbdevScrPriv; - - extern KdCardFuncs fbdevFuncs; -+extern char* fbdevDevicePath; - - Bool - fbdevInitialize (KdCardInfo *card, FbdevPriv *priv); ---- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbinit.c -+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbinit.c -@@ -59,16 +59,28 @@ InitInput (int argc, char **argv) - void - ddxUseMsg (void) - { -- KdUseMsg(); -+ KdUseMsg(); -+ ErrorF("\nXfbdev Device Usage:\n"); -+ ErrorF("-fb path Framebuffer device to use. Defaults to /dev/fb0\n"); -+ ErrorF("\n"); - } - - int - ddxProcessArgument (int argc, char **argv, int i) - { -- return KdProcessArgument (argc, argv, i); --} -- -+ if (!strcmp (argv[i], "-fb")) -+ { -+ if (i+1 < argc) -+ { -+ fbdevDevicePath = argv[i+1]; -+ return 2; -+ } -+ UseMsg(); -+ exit(1); -+ } - -+ return KdProcessArgument (argc, argv, i); -+} - - KdCardFuncs fbdevFuncs = { - fbdevCardInit, /* cardinit */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb deleted file mode 100644 index d1e955f9d37..00000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb +++ /dev/null @@ -1,52 +0,0 @@ -LICENSE = "MIT" -DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto xpext xsp libxkbfile dbus" - -PROVIDES = "virtual/xserver" -PACKAGES =+ "xserver-kdrive-xomap" -SECTION = "x11/base" -DESCRIPTION = "X server from freedesktop.org" -DESCRIPTION_xserver-kdrive-xomap = "X server for the OMAP in the Nokia 800" - -PE = "1" - -COMPATIBLE_MACHINE = "nokia(800|770)" - -FILES_${PN} = "${libdir}/xserver /etc/dbus-1/* ${bindir}/Xomap" - -SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/xorg-server_1.1.99.3-0osso31.tar.gz \ - file://kmode.patch;patch=1 \ - file://disable-apm.patch;patch=1 \ - file://no-serial-probing.patch;patch=1 \ - file://fbdev-not-fix.patch;patch=1 \ - file://enable-builtin-fonts.patch;patch=1 \ - file://xcalibrate.patch;patch=1 \ - file://fixups.patch;patch=1 \ - file://button_only.patch;patch=1 \ - file://calibrateext.patch;patch=1 \ - file://disable-xkb.patch;patch=1 \ - file://configfix.patch;patch=1 \ - file://xcalibrate_coords.patch;patch=1" -# file://kdrive-evdev.patch;patch=1 \ -# file://kdrive-use-evdev.patch;patch=1 \ -# file://disable-xf86-dga-xorgcfg.patch;patch=1 \ -# file://enable-tslib.patch;patch=1 \ -# file://xfbdev-fb-opt.patch;patch=1" - -S = "${WORKDIR}/xorg-server-1.1.99.3" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-composite --enable-kdrive --enable-builtin-fonts \ - --disable-dga --disable-dri --disable-xinerama \ - --disable-xf86misc --disable-xf86vidmode \ - --disable-xorg --disable-xorgcfg \ - --disable-dmx --enable-xcalibrate \ - --disable-xkb --disable-xnest --disable-xvfb \ - --disable-xevie --disable-xprint --disable-xtrap \ - --with-default-font-path=built-ins \ - ac_cv_file__usr_share_X11_sgml_defs_ent=no \ - --enable-xomap" - -do_configure_prepend() { - sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac -} diff --git a/meta-extras/packages/yum/createrepo-native/pathfix.patch b/meta-extras/packages/yum/createrepo-native/pathfix.patch deleted file mode 100644 index a09a51ccc95..00000000000 --- a/meta-extras/packages/yum/createrepo-native/pathfix.patch +++ /dev/null @@ -1,81 +0,0 @@ -Index: createrepo-0.9/Makefile -=================================================================== ---- createrepo-0.9.orig/Makefile 2008-08-23 17:49:24.000000000 +0100 -+++ createrepo-0.9/Makefile 2008-08-23 17:52:01.000000000 +0100 -@@ -10,22 +10,6 @@ - SHELL = /bin/sh - top_srcdir = . - srcdir = . --prefix = /usr --exec_prefix = ${prefix} -- --bindir = ${exec_prefix}/bin --sbindir = ${exec_prefix}/sbin --libexecdir = ${exec_prefix}/libexec --datadir = ${prefix}/share --sysconfdir = ${prefix}/etc --sharedstatedir = ${prefix}/com --localstatedir = ${prefix}/var --libdir = ${exec_prefix}/lib --infodir = ${prefix}/info --docdir = --includedir = ${prefix}/include --oldincludedir = /usr/include --mandir = ${prefix}/share/man - - pkgdatadir = $(datadir)/$(PKGNAME) - pkglibdir = $(libdir)/$(PKGNAME) -Index: createrepo-0.9/bin/Makefile -=================================================================== ---- createrepo-0.9.orig/bin/Makefile 2008-08-23 17:50:13.000000000 +0100 -+++ createrepo-0.9/bin/Makefile 2008-08-23 17:50:23.000000000 +0100 -@@ -1,22 +1,6 @@ - SHELL = /bin/sh - top_srcdir = .. - srcdir = ../bin --prefix = /usr --exec_prefix = ${prefix} -- --bindir = ${exec_prefix}/bin --sbindir = ${exec_prefix}/sbin --libexecdir = ${exec_prefix}/libexec --datadir = ${prefix}/share --sysconfdir = ${prefix}/etc --sharedstatedir = ${prefix}/com --localstatedir = ${prefix}/var --libdir = ${exec_prefix}/lib --infodir = ${prefix}/info --docdir = --includedir = ${prefix}/include --oldincludedir = /usr/include --mandir = ${prefix}/man - - pkgdatadir = $(datadir)/$(PKGNAME) - pkglibdir = $(libdir)/$(PKGNAME) -Index: createrepo-0.9/docs/Makefile -=================================================================== ---- createrepo-0.9.orig/docs/Makefile 2008-08-23 17:52:42.000000000 +0100 -+++ createrepo-0.9/docs/Makefile 2008-08-23 17:52:50.000000000 +0100 -@@ -1,22 +1,6 @@ - SHELL = /bin/sh - top_srcdir = .. - srcdir = ../docs --prefix = /usr --exec_prefix = ${prefix} -- --bindir = ${exec_prefix}/bin --sbindir = ${exec_prefix}/sbin --libexecdir = ${exec_prefix}/libexec --datadir = ${prefix}/share --sysconfdir = ${prefix}/etc --sharedstatedir = ${prefix}/com --localstatedir = ${prefix}/var --libdir = ${exec_prefix}/lib --infodir = ${prefix}/info --docdir = --includedir = ${prefix}/include --oldincludedir = /usr/include --mandir = ${datadir}/man - - pkgdatadir = $(datadir)/$(PKGNAME) - pkglibdir = $(libdir)/$(PKGNAME) diff --git a/meta-extras/packages/yum/createrepo-native_0.9.8.bb b/meta-extras/packages/yum/createrepo-native_0.9.8.bb deleted file mode 100644 index 895f2e96fef..00000000000 --- a/meta-extras/packages/yum/createrepo-native_0.9.8.bb +++ /dev/null @@ -1,17 +0,0 @@ -DEPENDS = "python-native libxml2-native" -RDEPENDS = "yum-native" - -SRC_URI = "http://createrepo.baseurl.org/download/createrepo-${PV}.tar.gz \ - file://pathfix.patch;patch=1 " -PR = "r2" - -inherit autotools native - -S = "${WORKDIR}/createrepo-${PV}" - -do_compile_append () { - sed -e 's#exec /usr/share#exec ${datadir}#' -i ${S}/bin/createrepo - sed -e 's#exec /usr/share#exec ${datadir}#' -i ${S}/bin/modifyrepo - sed -e 's#!/usr/bin/python#!${bindir}/python#' -i ${S}/genpkgmetadata.py - sed -e 's#!/usr/bin/python#!${bindir}/python#' -i ${S}/modifyrepo.py -} diff --git a/meta-extras/packages/yum/files/98_yum b/meta-extras/packages/yum/files/98_yum deleted file mode 100644 index cb4047ad2b2..00000000000 --- a/meta-extras/packages/yum/files/98_yum +++ /dev/null @@ -1 +0,0 @@ -d root root 0755 /var/cache/yum none diff --git a/meta-extras/packages/yum/files/extract-postinst.awk b/meta-extras/packages/yum/files/extract-postinst.awk deleted file mode 100644 index 8f2836b32cb..00000000000 --- a/meta-extras/packages/yum/files/extract-postinst.awk +++ /dev/null @@ -1,11 +0,0 @@ -/Name:.*/ { - package = substr($0, 7) - next -} -/postinstall.*scriptlet .*/ { - next -} -{ - print $0 >> ENVIRON["D"] "/etc/rpm-postinsts/" package ".sh" -} - diff --git a/meta-extras/packages/yum/files/fix b/meta-extras/packages/yum/files/fix deleted file mode 100644 index bcb3301e146..00000000000 --- a/meta-extras/packages/yum/files/fix +++ /dev/null @@ -1,18 +0,0 @@ ---- - rpmUtils/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- yum-3.2.18.orig/rpmUtils/Makefile -+++ yum-3.2.18/rpmUtils/Makefile -@@ -1,10 +1,10 @@ - PYTHON=python - PACKAGE = $(shell basename `pwd`) - PYFILES = $(wildcard *.py) - PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)') --PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix') -+PYSYSDIR := /usr - PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER) - PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE) - - all: - echo "Nothing to do" diff --git a/meta-extras/packages/yum/files/hacks.patch b/meta-extras/packages/yum/files/hacks.patch deleted file mode 100644 index 61f477172ca..00000000000 --- a/meta-extras/packages/yum/files/hacks.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- - rpmUtils/arch.py | 3 +++ - rpmUtils/transaction.py | 1 + - yum/constants.py | 2 +- - yum/depsolve.py | 2 ++ - 4 files changed, 7 insertions(+), 1 deletion(-) - -Index: yum-3.2.18/rpmUtils/arch.py -=================================================================== ---- yum-3.2.18.orig/rpmUtils/arch.py 2008-06-17 14:05:42.000000000 +0100 -+++ yum-3.2.18/rpmUtils/arch.py 2008-10-02 22:09:19.000000000 +0100 -@@ -275,6 +275,12 @@ - return arch - - def getCanonArch(skipRpmPlatform = 0): -+ import os -+ if 'YUM_ARCH_FORCE' in os.environ: -+ return os.environ['YUM_ARCH_FORCE'] -+ -+ sys.exit(1) -+ - if not skipRpmPlatform and os.access("/etc/rpm/platform", os.R_OK): - try: - f = open("/etc/rpm/platform", "r") -@@ -331,6 +338,12 @@ - base arch is the arch before noarch in the arches dict if myarch is not - a key in the multilibArches.""" - -+ import os -+ if 'YUM_ARCH_FORCE' in os.environ: -+ return os.environ['YUM_ARCH_FORCE'] -+ -+ sys.exit(1) -+ - if not myarch: - myarch = canonArch - -Index: yum-3.2.18/rpmUtils/transaction.py -=================================================================== ---- yum-3.2.18.orig/rpmUtils/transaction.py 2008-06-17 14:05:42.000000000 +0100 -+++ yum-3.2.18/rpmUtils/transaction.py 2008-10-02 17:09:57.000000000 +0100 -@@ -43,6 +43,7 @@ - 'clean'] - self.tsflags = [] - self.open = True -+ self.ts.setProbFilter(rpm.RPMPROB_FILTER_IGNOREOS | rpm.RPMPROB_FILTER_IGNOREARCH) - - def __del__(self): - # Automatically close the rpm transaction when the reference is lost -Index: yum-3.2.18/yum/constants.py -=================================================================== ---- yum-3.2.18.orig/yum/constants.py 2008-07-21 16:56:54.000000000 +0100 -+++ yum-3.2.18/yum/constants.py 2008-10-02 17:09:57.000000000 +0100 -@@ -17,7 +17,7 @@ - """ - - #Constants --YUM_PID_FILE = '/var/run/yum.pid' -+YUM_PID_FILE = '/var/run2/yum.pid' - - #transaction set states - TS_UPDATE = 10 -Index: yum-3.2.18/yum/depsolve.py -=================================================================== ---- yum-3.2.18.orig/yum/depsolve.py 2008-08-06 17:05:16.000000000 +0100 -+++ yum-3.2.18/yum/depsolve.py 2008-10-02 17:09:57.000000000 +0100 -@@ -141,9 +141,14 @@ - else: - self.logger.critical(_('Invalid tsflag in config file: %s'), flag) - -+ self._ts.addTsFlag(rpm.RPMTRANS_FLAG_NOPOST) -+ self._ts.addTsFlag(rpm.RPMTRANS_FLAG_NOTRIGGERS) -+ - probfilter = 0 - for flag in self.tsInfo.probFilterFlags: - probfilter |= flag -+ probfilter |= rpm.RPMPROB_FILTER_IGNOREOS -+ probfilter |= rpm.RPMPROB_FILTER_IGNOREARCH - self._ts.setProbFilter(probfilter) - - def whatProvides(self, name, flags, version): diff --git a/meta-extras/packages/yum/files/paths.patch b/meta-extras/packages/yum/files/paths.patch deleted file mode 100644 index 0175d05b347..00000000000 --- a/meta-extras/packages/yum/files/paths.patch +++ /dev/null @@ -1,106 +0,0 @@ ---- - Makefile | 18 +++++++++--------- - docs/Makefile | 12 ++++++------ - etc/Makefile | 20 ++++++++++---------- - 3 files changed, 25 insertions(+), 25 deletions(-) - -Index: yum-3.2.27/Makefile -=================================================================== ---- yum-3.2.27.orig/Makefile 2010-03-04 01:10:20.000000000 +0000 -+++ yum-3.2.27/Makefile 2010-03-23 13:49:50.663912930 +0000 -@@ -22,19 +22,19 @@ - for d in $(SUBDIRS); do make PYTHON=$(PYTHON) -C $$d; [ $$? = 0 ] || exit 1 ; done - - install: -- mkdir -p $(DESTDIR)/usr/share/yum-cli -+ mkdir -p $(DESTDIR)$(datadir)/yum-cli - for p in $(PYFILES) ; do \ -- install -m 644 $$p $(DESTDIR)/usr/share/yum-cli/$$p; \ -+ install -m 644 $$p $(DESTDIR)$(datadir)/yum-cli/$$p; \ - done -- mv $(DESTDIR)/usr/share/yum-cli/yum-updatesd.py $(DESTDIR)/usr/share/yum-cli/yumupd.py -- $(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/usr/share/yum-cli', 1, '$(PYDIR)', 1)" -+ mv $(DESTDIR)$(datadir)/yum-cli/yum-updatesd.py $(DESTDIR)$(datadir)/yum-cli/yumupd.py -+ $(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)$(datadir)/yum-cli', 1, '$(PYDIR)', 1)" - -- mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/sbin -- install -m 755 bin/yum.py $(DESTDIR)/usr/bin/yum -- install -m 755 bin/yum-updatesd.py $(DESTDIR)/usr/sbin/yum-updatesd -+ mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) -+ install -m 755 bin/yum.py $(DESTDIR)$(bindir)/yum -+ install -m 755 bin/yum-updatesd.py $(DESTDIR)$(sbindir)/yum-updatesd - -- mkdir -p $(DESTDIR)/var/cache/yum -- mkdir -p $(DESTDIR)/var/lib/yum -+ mkdir -p $(DESTDIR)$(localstatedir)/cache/yum -+ mkdir -p $(DESTDIR)$(localstatedir)/lib/yum - - for d in $(SUBDIRS); do make PYTHON=$(PYTHON) DESTDIR=`cd $(DESTDIR); pwd` -C $$d install; [ $$? = 0 ] || exit 1; done - -Index: yum-3.2.27/docs/Makefile -=================================================================== ---- yum-3.2.27.orig/docs/Makefile 2009-04-07 14:57:06.000000000 +0100 -+++ yum-3.2.27/docs/Makefile 2010-03-23 13:52:30.086667913 +0000 -@@ -6,10 +6,10 @@ - rm -fr epydoc - - install: -- mkdir -p $(DESTDIR)/usr/share/man/man5 -- mkdir -p $(DESTDIR)/usr/share/man/man8 -- install -m 644 yum.8 $(DESTDIR)/usr/share/man/man8/yum.8 -- install -m 644 yum-shell.8 $(DESTDIR)/usr/share/man/man8/yum-shell.8 -- install -m 644 yum.conf.5 $(DESTDIR)/usr/share/man/man5/yum.conf.5 -- install -m 644 yum-updatesd.8 $(DESTDIR)/usr/share/man/man8/yum-updatesd.8 -- install -m 644 yum-updatesd.conf.5 $(DESTDIR)/usr/share/man/man5/yum-updatesd.conf.5 -+ mkdir -p $(DESTDIR)$(mandir)/man5 -+ mkdir -p $(DESTDIR)$(mandir)/man8 -+ install -m 644 yum.8 $(DESTDIR)$(mandir)/man8/yum.8 -+ install -m 644 yum-shell.8 $(DESTDIR)$(mandir)/man8/yum-shell.8 -+ install -m 644 yum.conf.5 $(DESTDIR)$(mandir)/man5/yum.conf.5 -+ install -m 644 yum-updatesd.8 $(DESTDIR)$(mandir)/man8/yum-updatesd.8 -+ install -m 644 yum-updatesd.conf.5 $(DESTDIR)$(mandir)/man5/yum-updatesd.conf.5 -Index: yum-3.2.27/etc/Makefile -=================================================================== ---- yum-3.2.27.orig/etc/Makefile 2009-10-26 18:56:06.000000000 +0000 -+++ yum-3.2.27/etc/Makefile 2010-03-23 13:54:40.421912460 +0000 -@@ -1,4 +1,4 @@ --YUMETC=$(DESTDIR)/etc/yum -+YUMETC=$(DESTDIR)$(sysconfdir)/yum - - all: - echo "Nothing to do" -@@ -7,23 +7,23 @@ - rm -f *.pyc *.pyo *~ - - install: -- mkdir -p $(DESTDIR)/etc/yum/ -- mkdir -p $(DESTDIR)/etc/yum/repos.d -+ mkdir -p $(DESTDIR)$(sysconfdir)/yum/ -+ mkdir -p $(DESTDIR)$(sysconfdir)/yum/repos.d - - install -m 644 yum.conf $(YUMETC)/yum.conf - - install -m 644 version-groups.conf $(YUMETC)/version-groups.conf - -- mkdir -p $(DESTDIR)/etc/logrotate.d -- install -m 644 yum.logrotate $(DESTDIR)/etc/logrotate.d/yum -+ mkdir -p $(DESTDIR)$(sysconfdir)/logrotate.d -+ install -m 644 yum.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/yum - -- mkdir -p $(DESTDIR)/etc/rc.d/init.d -- install -m 755 yum-updatesd.init $(DESTDIR)/etc/rc.d/init.d/yum-updatesd -+ mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d -+ install -m 755 yum-updatesd.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/yum-updatesd - -- mkdir -p $(DESTDIR)/etc/dbus-1/system.d/ -- install -m 755 yum-updatesd-dbus.conf $(DESTDIR)/etc/dbus-1/system.d/yum-updatesd.conf -+ mkdir -p $(DESTDIR)$(sysconfdir)/dbus-1/system.d/ -+ install -m 755 yum-updatesd-dbus.conf $(DESTDIR)$(sysconfdir)/dbus-1/system.d/yum-updatesd.conf - -- install -m 755 yum-updatesd.conf $(DESTDIR)/etc/yum/yum-updatesd.conf -+ install -m 755 yum-updatesd.conf $(DESTDIR)$(sysconfdir)/yum/yum-updatesd.conf - -- mkdir -p $(DESTDIR)/etc/bash_completion.d -- install -m 644 yum.bash $(DESTDIR)/etc/bash_completion.d -+ mkdir -p $(DESTDIR)$(sysconfdir)/bash_completion.d -+ install -m 644 yum.bash $(DESTDIR)$(sysconfdir)/bash_completion.d diff --git a/meta-extras/packages/yum/files/paths2.patch b/meta-extras/packages/yum/files/paths2.patch deleted file mode 100644 index 8fe6d0c983a..00000000000 --- a/meta-extras/packages/yum/files/paths2.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- - rpmUtils/Makefile | 2 +- - yum/Makefile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: yum-3.2.27/rpmUtils/Makefile -=================================================================== ---- yum-3.2.27.orig/rpmUtils/Makefile 2010-03-24 17:26:39.759798777 +0000 -+++ yum-3.2.27/rpmUtils/Makefile 2010-03-24 17:26:54.835863845 +0000 -@@ -2,8 +2,8 @@ - PACKAGE = $(shell basename `pwd`) - PYFILES = $(wildcard *.py) - PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)') --PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix') --PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER) -+PYSYSDIR = $(libdir) -+PYLIBDIR = $(PYSYSDIR)/python$(PYVER) - PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE) - - all: -Index: yum-3.2.27/yum/Makefile -=================================================================== ---- yum-3.2.27.orig/yum/Makefile 2010-03-24 17:26:39.759798777 +0000 -+++ yum-3.2.27/yum/Makefile 2010-03-24 17:26:43.726773783 +0000 -@@ -2,8 +2,8 @@ - PACKAGE = $(shell basename `pwd`) - PYFILES = $(wildcard *.py) - PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)') --PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix') --PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER) -+PYSYSDIR = $(libdir) -+PYLIBDIR = $(PYSYSDIR)/python$(PYVER) - PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE) - - all: diff --git a/meta-extras/packages/yum/files/yum-install-recommends.py b/meta-extras/packages/yum/files/yum-install-recommends.py deleted file mode 100755 index 64716f2c3e0..00000000000 --- a/meta-extras/packages/yum/files/yum-install-recommends.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python -import os, sys - -root = sys.argv[1] -installcmd = sys.argv[2] - -# -# Take an rpm image and look through for Recommends:. For each recommends -# found, try and install any matching packages including any Recommends for -# packages installed by us. -# - - -def get_recommends(): - deps = [] - output = os.popen("rpm --root %s -aq --recommends" % (root)) - lines = output.readlines() - for line in lines: - line = line.replace("(none)","") - if line: - deps.append(line.split()[0]) - return deps - -processed = [] - -while True: - toinstall = [] - recommends = set(get_recommends()) - for item in recommends: - if item not in processed: - toinstall.append(item) - if len(toinstall) != 0: - print "Installing %s" % " ".join(toinstall) - os.system("%s %s" % (installcmd, " ".join(toinstall))) - else: - break - processed.extend(toinstall) - - diff --git a/meta-extras/packages/yum/yum_3.2.27.bb b/meta-extras/packages/yum/yum_3.2.27.bb deleted file mode 100644 index acebc79dded..00000000000 --- a/meta-extras/packages/yum/yum_3.2.27.bb +++ /dev/null @@ -1,46 +0,0 @@ -DESCRIPTION = "yum package manger is an automatic updater for rpm." -HOMEPAGE = "http://yum.baseurl.org/" -BUGTRACKER = "http://yum.baseurl.org/report" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \ - file://yum/sqlutils.py;beginline=2;endline=14;md5=d704ae6a9d69ce90768ab9188236b992" - -RDEPENDS = "python-rpm python-core python-iniparse python-urlgrabber \ - python-shell python-re python-logging python-pickle \ - python-netserver python-compression \ - python-unixadmin python-xml python-sqlite3 \ - python-textutils python-fcntl python-email \ - yum-metadata-parser" - -PR = "r9" - -SRC_URI = "http://yum.baseurl.org/download/3.2/yum-${PV}.tar.gz \ - file://paths.patch;apply=yes \ - file://paths2.patch;apply=yes \ - file://yum-install-recommends.py \ - file://extract-postinst.awk \ - file://98_yum" - -S = "${WORKDIR}/yum-${PV}" - -inherit autotools - -do_compile_append () { - sed -e 's#!/usr/bin/python#!${bindir}/python#' -e 's#/usr/share#${datadir}#' -i ${S}/bin/yum.py - sed -e 's#!/usr/bin/python#!${bindir}/python#' -e 's#/usr/share#${datadir}#' -i ${S}/bin/yum-updatesd.py -} - -do_install_append () { - install -d ${D}${bindir}/ - install ${WORKDIR}/extract-postinst.awk ${D}${bindir}/ - install ${WORKDIR}/yum-install-recommends.py ${D}${bindir}/ - rmdir ${D}${localstatedir}/cache/yum - rmdir ${D}${localstatedir}/cache - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/98_yum ${D}/etc/default/volatiles -} - -FILES_${PN} += "${libdir}/python* ${datadir}/yum-cli" - -BBCLASSEXTEND = "native" diff --git a/meta-extras/packages/zope/zope_3.3.1.bb b/meta-extras/packages/zope/zope_3.3.1.bb deleted file mode 100644 index 283cb18d0e2..00000000000 --- a/meta-extras/packages/zope/zope_3.3.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -DESCRIPTION = "A full fledged pluggable content management system with integrated web server and much more." -SECTION = "console/network" -PRIORITY = "optional" -DEPENDS = "python" -RDEPENDS = "python-core python-shell" -LICENSE = "ZPL" -PR = "r3" - -SRC_URI = "http://www.zope.org/Products/Zope3/${PV}/Zope-${PV}.tgz" - -S = "${WORKDIR}/Zope-${PV}" - -do_configure() { - ./configure --with-python=${STAGING_BINDIR_NATIVE}/python --prefix=${prefix} --force -} - -do_compile() { - oe_runmake HOST_SYS=${HOST_SYS} BUILD_SYS=${BUILD_SYS} STAGING_INCDIR=${STAGING_INCDIR} STAGING_LIBDIR=${STAGING_LIBDIR} -} - -PYTHON_MAJMIN = "2.5" - -do_install() { - install -d ${D}${libdir}/python${PYTHON_MAJMIN} - oe_runmake install prefix=${D}${prefix} HOST_SYS=${HOST_SYS} BUILD_SYS=${BUILD_SYS} STAGING_INCDIR=${STAGING_INCDIR} STAGING_LIBDIR=${STAGING_LIBDIR} - mv ${D}${libdir}/python/* ${D}${libdir}/python${PYTHON_MAJMIN} -} - -PACKAGES =+ "python-zopeinterface python-zopeinterface-dbg" - -FILES_${PN} = "${prefix}" -FILES_${PN}_doc = "${prefix}/doc" -FILES_${PN}-dbg += "\ -${libdir}/python${PYTHON_MAJMIN}/BTrees/.debug \ -${libdir}/python${PYTHON_MAJMIN}/persistent/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/proxy/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/thread/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/security/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/hookable/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/app/container/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/i18nmessageid/.debug \ -${libdir}/python${PYTHON_MAJMIN}/ZODB/.debug" -FILES_python-zopeinterface-dbg += "${libdir}/python${PYTHON_MAJMIN}/zope/interface/.debug " - -FILES_python-zopeinterface = "${libdir}/python${PYTHON_MAJMIN}/zope/interface/*.* ${libdir}/python${PYTHON_MAJMIN}/zope/interface/common" diff --git a/meta-moblin/classes/moblin-feed-incremental-bleeding.bbclass b/meta-moblin/classes/moblin-feed-incremental-bleeding.bbclass deleted file mode 100644 index 4865ee26388..00000000000 --- a/meta-moblin/classes/moblin-feed-incremental-bleeding.bbclass +++ /dev/null @@ -1,3 +0,0 @@ -FEEDNAMEPREFIX = "moblin-bleeding" -FEEDURIPREFIX = "output/moblin-incremental-bleeding/ipk/" -EXTRAOPKGCONFIG = "moblin-feed-config-opkg" diff --git a/meta-moblin/classes/moblin-image.bbclass b/meta-moblin/classes/moblin-image.bbclass deleted file mode 100644 index f9bab011b0f..00000000000 --- a/meta-moblin/classes/moblin-image.bbclass +++ /dev/null @@ -1,99 +0,0 @@ -# Common for Moblin images -# -# Copyright (C) 2007 OpenedHand LTD - -# IMAGE_FEATURES control content of images built with Poky. -# -# By default we install task-moblin-boot and task-base packages - this gives us -# working (console only) rootfs. -# -# Available IMAGE_FEATURES: -# -# - apps-console-core -# - x11-base - X11 server + minimal desktop -# - x11-sato - OpenedHand Sato environment -# - x11-netbook - Metacity based environment for netbooks -# - apps-x11-core - X Terminal, file manager, file editor -# - apps-x11-games -# - apps-x11-pimlico - OpenedHand Pimlico apps -# - tools-sdk - SDK -# - tools-debug - debugging tools -# - tools-profile - profiling tools -# - tools-testapps - tools usable to make some device tests -# - nfs-server - NFS server (exports / over NFS to everybody) -# - dev-pkgs - development packages -# - dbg-pkgs - debug packages -# - -MOBLIN_BASE_INSTALL = '\ - task-moblin-boot \ - task-base-extended \ - ${@base_contains("IMAGE_FEATURES", "dbg-pkgs", "task-moblin-boot-dbg task-base-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", "dev-pkgs", "task-moblin-boot-dev task-base-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "apps-console-core", "task-moblin-apps-console", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-console-core", "dbg-pkgs"], "task-moblin-apps-console-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-console-core", "dev-pkgs"], "task-moblin-apps-console-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "x11-base", "task-moblin-x11-base", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-base", "dbg-pkgs"], "task-moblin-x11-base-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-base", "dev-pkgs"], "task-moblin-x11-base-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "x11-sato", "task-moblin-x11-sato", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-sato", "dbg-pkgs"], "task-moblin-x11-sato-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-sato", "dev-pkgs"], "task-moblin-x11-sato-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "x11-netbook", "task-moblin-x11-netbook", "", d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-netbook", "dbg-pkgs"], "task-moblin-x11-netbook-dbg", "", d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-netbook", "dev-pkgs"], "task-moblin-x11-netbook-dev", "", d)} \ - ${@base_contains("IMAGE_FEATURES", "apps-x11-core", "task-moblin-apps-x11-core", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-core", "dbg-pkgs"], "task-moblin-apps-x11-core-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-core", "dev-pkgs"], "task-moblin-apps-x11-core-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "apps-x11-games", "task-moblin-apps-x11-games", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-games", "dbg-pkgs"], "task-moblin-apps-x11-games-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-games", "dev-pkgs"], "task-moblin-apps-x11-games-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "apps-x11-pimlico", "task-moblin-apps-x11-pimlico", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-pimlico", "dbg-pkgs"], "task-moblin-apps-x11-pimlico-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-pimlico", "dev-pkgs"], "task-moblin-apps-x11-pimlico-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "tools-debug", "task-moblin-tools-debug", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-debug", "dbg-pkgs"], "task-moblin-tools-debug-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-debug", "dev-pkgs"], "task-moblin-tools-debug-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "tools-profile", "task-moblin-tools-profile", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-profile", "dbg-pkgs"], "task-moblin-tools-profile-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-profile", "dev-pkgs"], "task-moblin-tools-profile-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "tools-testapps", "task-moblin-tools-testapps", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-testapps", "dbg-pkgs"], "task-moblin-tools-testapps-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-testapps", "dev-pkgs"], "task-moblin-tools-testapps-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "tools-sdk", "task-moblin-sdk task-moblin-standalone-sdk-target", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-sdk", "dbg-pkgs"], "task-moblin-sdk-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-sdk", "dev-pkgs"], "task-moblin-sdk-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "nfs-server", "task-moblin-nfs-server", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["nfs-server", "dbg-pkgs"], "task-moblin-nfs-server-dbg", "",d)} \ - - ${@base_contains("IMAGE_FEATURES", ["nfs-server", "dev-pkgs"], "task-moblin-nfs-server-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "package-management", "${ROOTFS_PKGMANAGE}", "",d)} \ - ${MOBLIN_EXTRA_INSTALL} \ - ' - -MOBLIN_EXTRA_INSTALL ?= "" - -IMAGE_INSTALL ?= "${MOBLIN_BASE_INSTALL}" - -X11_IMAGE_FEATURES = "x11-base apps-x11-core package-management" -ENHANCED_IMAGE_FEATURES = "${X11_IMAGE_FEATURES} apps-x11-games apps-x11-pimlico package-management" -NETBOOK_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-netbook" - -inherit image - -# Create /etc/timestamp during image construction to give a reasonably sane default time setting -ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp ; " - -ROOTFS_POSTINSTALL_COMMAND += "rootfs_trim_schemas ; " diff --git a/meta-moblin/classes/qt3e.bbclass b/meta-moblin/classes/qt3e.bbclass deleted file mode 100644 index 35958b34ab7..00000000000 --- a/meta-moblin/classes/qt3e.bbclass +++ /dev/null @@ -1,11 +0,0 @@ -# -# override variables set by qmake_base to compile Qt/X11 apps -# -export QTDIR="${STAGING_DIR_HOST}/qte3" -export QTEDIR="${STAGING_DIR_HOST}/qte3" -export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic3" -export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc3" -export OE_QMAKE_CXXFLAGS="${CXXFLAGS} " -export OE_QMAKE_INCDIR_QT="${QTEDIR}/include" -export OE_QMAKE_LIBDIR_QT="${QTEDIR}/lib" -export OE_QMAKE_LIBS_QT="qte" diff --git a/meta-moblin/classes/qt3x11.bbclass b/meta-moblin/classes/qt3x11.bbclass deleted file mode 100644 index 5408b7f3422..00000000000 --- a/meta-moblin/classes/qt3x11.bbclass +++ /dev/null @@ -1,15 +0,0 @@ -DEPENDS_prepend = "${@["qt3x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt-x11-free')]}" -EXTRA_QMAKEVARS_POST += "CONFIG+=thread" -# -# override variables set by qmake_base to compile Qt/X11 apps -# -export QTDIR = "${STAGING_DIR_HOST}/qt3" -export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic3" -export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc3" -export OE_QMAKE_CXXFLAGS = "${CXXFLAGS} -DQT_NO_XIM" -export OE_QMAKE_INCDIR_QT = "${QTDIR}/include" -export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib" -export OE_QMAKE_LIBS_QT = "qt" -export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm" -export OE_QMAKE_LIBS_OPENGL = "-lGLU -lGL -lXmu" -export OE_QMAKE_LIBS_OPENGL_QT = "-lGL -lXmu" diff --git a/meta-moblin/classes/qt4x11.bbclass b/meta-moblin/classes/qt4x11.bbclass deleted file mode 100644 index 76a45c33cb1..00000000000 --- a/meta-moblin/classes/qt4x11.bbclass +++ /dev/null @@ -1,3 +0,0 @@ -DEPENDS_prepend = "${@["qt4x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt4-x11-free')]}" - -inherit qmake2 diff --git a/meta-moblin/classes/qtopia4core.bbclass b/meta-moblin/classes/qtopia4core.bbclass deleted file mode 100644 index b5f10fa486c..00000000000 --- a/meta-moblin/classes/qtopia4core.bbclass +++ /dev/null @@ -1,13 +0,0 @@ -DEPENDS_prepend = "${@["qtopia-core ", ""][(bb.data.getVar('PN', d, 1) == 'qtopia-core')]}" -inherit qmake2 - -QT_DIR_NAME = "qtopia" -# -# override variables set by qmake-base to compile QtopiaCore apps -# -export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qtopia" -export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}" -export OE_QMAKE_LIBS_QT = "qt" -export OE_QMAKE_LIBS_X11 = "" -export OE_QMAKE_EXTRA_MODULES = "network" -EXTRA_QMAKEVARS_PRE += " QT_LIBINFIX=E " diff --git a/meta-moblin/conf/distro/include/meta-moblin-scm-revisions.inc b/meta-moblin/conf/distro/include/meta-moblin-scm-revisions.inc deleted file mode 100644 index 47a464e5195..00000000000 --- a/meta-moblin/conf/distro/include/meta-moblin-scm-revisions.inc +++ /dev/null @@ -1,36 +0,0 @@ -SRCREV_pn-anerley ??= "20c6ceffda21595d8894293700006fe3a4cb33ba" -SRCREV_pn-bickley ??= "3cbd5ef693c117ad5c094ddd1678a1a04d0feae3" -SRCREV_pn-bisho ??= "53cc5951be36cee818bef3beb5770f10aabdc7f1" -SRCREV_pn-bognor-regis ??= "c52c7f7013b4b62d7c59d25fc809ce951a5556af" -SRCREV_pn-carrick ??= "9bd8f987b27d95694b1e63efe198b2dffbd4c5b0" -SRCREV_pn-clutter-imcontext ??= "2cb6f0ff153db639a489e58e36802e0e928b1968" -SRCREV_pn-dalston ??= "b4d03283cb8aa2b76014eeb20e78cd13c14012ae" -SRCREV_pn-gnet = "495" -SRCREV_pn-hornsey ??= "39cb0cd0ee3526cba27aeebcc3e28dee6add136a" -SRCREV_pn-json-glib ??= "7411cadc0fdd9ffc2bd7004c9980913ac857a495" -SRCREV_pn-libccss ??= "62697eb84fe190f9b8c65fcbaae10ec3d9edfffd" -SRCREV_pn-libjana ??= "9ec1da8a534e87a83a6d729b48a41ca7b9cfb7b7" -SRCREV_pn-librest ??= "fe5048c92199afc9a7e9aef0add7f0e2b004bb47" -SRCREV_pn-libsocialweb ??= "da8d57ea8dcd348d956715000ded39aa26c7f0f5" -SRCREV_pn-libsynthesis ??= "70f0065aa3b085bdf059830f95e5b5766eecb0bb" -SRCREV_pn-mobile-broadband-provider-info ?= "35ef359c591cccd99380225fa431855b16a12edc" -SRCREV_pn-moblin-app-installer ??= "bc65c884d3a1ae37e69431417888126b2a3ea021" -SRCREV_pn-moblin-gtk-engine ??= "dff58e5f1b6c111a6c06e2385624e40d687ebf4f" -SRCREV_pn-moblin-icon-theme ??= "36b7ac1e57ea6d95e6432779c4769c14fce24899" -SRCREV_pn-moblin-menus ??= "1edfdab8234ec0b4bbc83fb706a15e08aa8a957a" -SRCREV_pn-moblin-proto ??= "8f2cb524fe06555182c25b4ba3202d7b368ac0ce" -SRCREV_pn-moblin-user-skel ??= "356851e174085b874adb909e664aca321a047bcb" -SRCREV_pn-moblin-panel-applications ??= "ba6b5f353203bb02728addb08da3d249f26eedbe" -SRCREV_pn-moblin-panel-media ??= "4e93c6da0bbae8d1d0a5d3b1410761679aa7b83b" -SRCREV_pn-moblin-panel-myzone ??= "54d9bee3a40a7700a69582a76aba89e213410046" -SRCREV_pn-moblin-panel-pasteboard ??= "44411a4516e6ae22767662430fa37ed6a7d27a15" -SRCREV_pn-moblin-panel-people ??= "0766282d120587919718b3bcb91553af1a1a00da" -SRCREV_pn-moblin-panel-status ??= "fb10eaf16bbd064c12587ec8c734abe72a9841d3" -SRCREV_pn-moblin-web-browser ??= "78ddd155cc297811720e4c4835d468ac6c4d9666" -SRCREV_pn-mojito ??= "cfad50252a4ad60f28b12d21e2fdb35db56984f5" -SRCREV_pn-mutter-moblin ??= "7a23e0d63cc31c12dab9de517de04b0ecf41b28a" -SRCREV_pn-mx ??= "94934b5d03a31ce76c4f9eea8dcfb1d94b396906" -SRCREV_pn-nbtk ??= "635f9b4f1a2897aaa85ec1285e57dc5478517c2f" -SRCREV_pn-syncevolution ??= "29972357bf6582c318258b7bdf1feb13c0fef824" -SRCREV_pn-twitter-glib ??= "62b262bf7892b629f7de67498d58f549ffeb704e" - diff --git a/meta-moblin/conf/distro/include/moblin-2.0-fixed-revisions.inc b/meta-moblin/conf/distro/include/moblin-2.0-fixed-revisions.inc deleted file mode 100644 index 5992ed91cec..00000000000 --- a/meta-moblin/conf/distro/include/moblin-2.0-fixed-revisions.inc +++ /dev/null @@ -1,87 +0,0 @@ -# -# Known good source dates/revisions/tags to use, *only* for where Moblin deviates -# from Poky (or to lock down SCM based packages): -# -PREFERRED_VERSION_eds-dbus ?= "2.20.0" -PREFERRED_VERSION_dbus ?= "1.2.14" -PREFERRED_VERSION_dbus-native ?= "1.2.14" -PREFERRED_VERSION_gtk+ ?= "2.16.4" -PREFERRED_VERSION_udev ?= "145" - -PREFERRED_VERSION_mesa-dri ?= "7.5" -PREFERRED_VERSION_xf86-video-intel ?= "2.12.0" -PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.6.0" -PREFERRED_VERSION_libxcb ?= "1.3" -PREFERRED_VERSION_xcb-proto ?= "1.5" -PREFERRED_VERSION_libx11-trim ?= "1.2.1" - -PREFERRED_VERSION_libdrm ?= "" -PREFERRED_VERSION_xf86-input-keyboard ?= "" -PREFERRED_VERSION_dri2proto ?= "" -SRCREV_pn-libdrm ?= "3f3c5be6f908272199ccf53f108b1124bfe0a00e" -SRCREV_pn-xf86-input-keyboard ?= "3e28d68b50d291938734e9684b8296ca864f3892" -SRCREV_pn-dri2proto ?= "66c56ab10d917e3f47f93178d7eac6430970d3c4" - -SRCREV_pn-anerley ?= "0cb9ac6b82ff6658ae10d603bdfba04ef3df979e" -SRCREV_pn-bickley ?= "761816f24e2aeb329d4f7270a2af324f85b7be8f" -SRCREV_pn-bisho ?= "53cc5951be36cee818bef3beb5770f10aabdc7f1" -SRCREV_pn-bognor-regis ?= "6b6cce0cb90ea47a3cc4ac2804c8b5664530ca80" -SRCREV_pn-carrick ?= "0451a081309f11dd5e9b6e41778ab878d862cbd0" - - -SRCREV_pn-connman ?= "6af0b24817b8712c755ef24ed0ee4c5e84550657" -SRCREV_pn-connman-gnome ?= "857b149c7febe9b0ffd9790050a288f018644eda" -SRCREV_pn-contacts ?= "c8e6b16222d5bc9d8f60ae6594af4933613a4e25" - - -# Still tosort: - -SRCREV_pn-clutter ?= "e860d939f9d9611dcf5b8c6e70272b6318a4ba94" -1.0.0 -SRCREV_pn-clutter-1.0 ?= "420ed353b53bd624331bd249d7df98d14714b504" -1.0.0 -SRCREV_pn-clutter-box2d ?= "2bcf5b836548dc4909e13b8ae7f60dc64c93d559" -clutter-box2d-0.9~20090609 -SRCREV_pn-clutter-gst ?= "db9bcf9d6f3a7d0f34747bed0f3ab28d7eb8f6ab" -gst-0.10~20090729 -SRCREV_pn-clutter-gtk ?= "5dfc07761adf3ab3d1c9ee97b92bc4a65473db36" -0.10.2 -SRCREV_pn-clutter-imcontext ?= "2cb6f0ff153db639a489e58e36802e0e928b1968" -0.1 -SRCREV_pn-clutter-mozembed ?= "5a5329425aec7fe7749e97fd8c430457259f6165" -0.0~20090731 - - -SRCREV_pn-dalston ?= "b4d03283cb8aa2b76014eeb20e78cd13c14012ae" -SRCREV_pn-dates ?= "966969063535da0786b7483c1bcd427df8a0d87d" -SRCREV_pn-gconnman ?= "3d951640146d08249e0219cbae6a4c2da787a878" -SRCREV_pn-hornsey ?= "39cb0cd0ee3526cba27aeebcc3e28dee6add136a" -SRCREV_pn-json-glib ?= "7411cadc0fdd9ffc2bd7004c9980913ac857a495" -SRCREV_pn-libccss ?= "62697eb84fe190f9b8c65fcbaae10ec3d9edfffd" -SRCREV_pn-librest ?= "ff4561e2a8c38f49127f6e3b2ce7c238a29e1571" -SRCREV_pn-libsynthesis ?= "70f0065aa3b085bdf059830f95e5b5766eecb0bb" -SRCREV_pn-moblin-gtk-engine ?= "dff58e5f1b6c111a6c06e2385624e40d687ebf4f" -SRCREV_pn-moblin-icon-theme ?= "36b7ac1e57ea6d95e6432779c4769c14fce24899" -SRCREV_pn-moblin-menus ?= "1edfdab8234ec0b4bbc83fb706a15e08aa8a957a" -SRCREV_pn-moblin-proto ?= "8f2cb524fe06555182c25b4ba3202d7b368ac0ce" -SRCREV_pn-moblin-user-skel ?= "356851e174085b874adb909e664aca321a047bcb" -SRCREV_pn-moblin-panel-applications ?= "ba6b5f353203bb02728addb08da3d249f26eedbe" -SRCREV_pn-moblin-panel-media ?= "4e93c6da0bbae8d1d0a5d3b1410761679aa7b83b" -SRCREV_pn-moblin-panel-myzone ?= "54d9bee3a40a7700a69582a76aba89e213410046" -SRCREV_pn-moblin-panel-pasteboard ?= "44411a4516e6ae22767662430fa37ed6a7d27a15" -SRCREV_pn-moblin-panel-people ?= "0766282d120587919718b3bcb91553af1a1a00da" -SRCREV_pn-moblin-panel-status ?= "fb10eaf16bbd064c12587ec8c734abe72a9841d3" -SRCREV_pn-moblin-web-browser ?= "a3ea71159bef93dc03762195bd5404a51db5e4a6" -SRCREV_pn-mojito ?= "cfad50252a4ad60f28b12d21e2fdb35db56984f5" -SRCREV_pn-mozilla-headless-services ?= "9091da493c679c546ec7312b653e63f9701d5c8f" -SRCREV_pn-mutter ?= "c96345dd81176f171c2d15dd9d5c5b20f334f842" -SRCREV_pn-mutter-moblin ?= "7a23e0d63cc31c12dab9de517de04b0ecf41b28a" -SRCREV_pn-mux ?= "72460e890dbb15edbf7dc193116be0dcf9794a8b" -SRCREV_pn-nbtk ?= "635f9b4f1a2897aaa85ec1285e57dc5478517c2f" -SRCREV_pn-mtpfs = "17" -SRCREV_pn-qemugl ?= "d888bbc723c00d197d34a39b5b7448660ec1b1c0" -SRCREV_pn-syncevolution ?= "29972357bf6582c318258b7bdf1feb13c0fef824" -SRCREV_pn-tasks ?= "a3c6109973c2f39190f554b49dacda7ec5231ef4" -SRCREV_pn-twitter-glib ?= "9dfca7cf38e3dddbda6dc82d0164f65814b8783e" - -SRCREVMOZILLAHEADLESS ?= "1a622cb7c384" diff --git a/meta-moblin/conf/distro/include/moblin-fixed-revisions.inc b/meta-moblin/conf/distro/include/moblin-fixed-revisions.inc deleted file mode 100644 index 6cbc8d8aa3f..00000000000 --- a/meta-moblin/conf/distro/include/moblin-fixed-revisions.inc +++ /dev/null @@ -1,38 +0,0 @@ -# -# Known good source dates/revisions/tags to use, *only* for where Moblin deviates -# from Poky (or to lock down SCM based packages): -# -PREFERRED_VERSION_eds-dbus ?= "2.20.0" -PREFERRED_VERSION_udev ?= "145" - -PREFERRED_VERSION_mesa-dri ?= "7.8.2" -PREFERRED_VERSION_xf86-video-intel ?= "2.12.0" -PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.7.99.2" -PREFERRED_VERSION_libxcb ?= "1.3" -PREFERRED_VERSION_xcb-proto ?= "1.5" -PREFERRED_VERSION_libx11-trim ?= "1.3" - -PREFERRED_VERSION_libdrm ?= "2.4.17" -PREFERRED_VERSION_xf86-input-keyboard ?= "" -PREFERRED_VERSION_dri2proto ?= "" - - -PREFERRED_VERSION_anerley ?= "0.1.7" -PREFERRED_VERSION_bickley ?= "0.4" -PREFERRED_VERSION_bisho ?= "0.17.1" -PREFERRED_VERSION_bognor-regis ?= "0.5.0" -PREFERRED_VERSION_carrick ?= "1.1.13" -PREFERRED_VERSION_dalston ?= "0.1.12" -PREFERRED_VERSION_gupnp-av ?= "0.4" -PREFERRED_VERSION_hornsey ?= "1.0" -PREFERRED_VERSION_mojito ?= "0.21.7" -PREFERRED_VERSION_nbtk ?= "1.2.3" -PREFERRED_VERSION_moblin-panel-applications ?= "0.1.2" -PREFERRED_VERSION_moblin-panel-media ?= "0.0.7" -PREFERRED_VERSION_moblin-panel-myzone ?= "0.0.12" -PREFERRED_VERSION_moblin-panel-pasteboard ?= "0.0.2" -PREFERRED_VERSION_moblin-panel-people ?= "0.0.9" -PREFERRED_VERSION_moblin-panel-status ?= "0.0.9" -PREFERRED_VERSION_mutter ?= "2.28.1" -PREFERRED_VERSION_mutter-moblin ?= "0.43.8" - diff --git a/meta-moblin/conf/distro/include/moblin-floating-revisions.inc b/meta-moblin/conf/distro/include/moblin-floating-revisions.inc deleted file mode 100644 index 1634c038867..00000000000 --- a/meta-moblin/conf/distro/include/moblin-floating-revisions.inc +++ /dev/null @@ -1,99 +0,0 @@ -SRCREV_pn-libccss ?= "62697eb84fe190f9b8c65fcbaae10ec3d9edfffd" -SRCREV_pn-clutter-gtk ?= "5dfc07761adf3ab3d1c9ee97b92bc4a65473db36" -SRCREV_pn-clutter-gst ?= "24c84abf0cdd24b6f4696c5a920673a55218cfd4" -SRCREV_pn-bisho ?= "7b97cf8a9e2ef228be71e549e622df5d59869b39" - -SRCREV_pn-ashford ?= "${AUTOREV}" -SRCREV_pn-anerley ?= "${AUTOREV}" -PREFERRED_VERSION_anerley ?= "0.1.7+git%" -SRCREV_pn-bickley ?= "${AUTOREV}" -PREFERRED_VERSION_bickley ?= "0.4+git%" -SRCREV_pn-bisho ?= "${AUTOREV}" -PREFERRED_VERSION_bisho ?= "0.17.1+git%" -SRCREV_pn-bognor-regis ?= "${AUTOREV}" -PREFERRED_VERSION_bognor-regis ?= "0.5.0+git%" -SRCREV_pn-carrick ?= "${AUTOREV}" -PREFERRED_VERSION_carrick ?= "1.2.0+git%" -SRCREV_pn-clutter ?= "${AUTOREV}" -SRCREV_pn-clutter-1.0 ?= "${AUTOREV}" -SRCREV_pn-clutter-gtk ?= "${AUTOREV}" -SRCREV_pn-clutter-gst ?= "${AUTOREV}" -SRCREV_pn-clutter-imcontext ?= "${AUTOREV}" -SRCREV_pn-clutter-mozembed ?= "${AUTOREV}" -SRCREV_pn-connman ?= "${AUTOREV}" -SRCREV_pn-connman-gnome ?= "${AUTOREV}" -SRCREV_pn-contacts ?= "${AUTOREV}" -SRCREV_pn-dalston ?= "${AUTOREV}" -PREFERRED_VERSION_dalston ?= "0.1.12+git%" -SRCREV_pn-dates ?= "${AUTOREV}" -SRCREV_pn-eds-dbus ?= "${AUTOREV}" -SRCREV_pn-gconnman ?= "${AUTOREV}" -PREFERRED_VERSION_gupnp-av ?= "0.5.2" -SRCREV_pn-hornsey ?= "${AUTOREV}" -PREFERRED_VERSION_hornsey ?= "1.0+git%" -SRCREV_pn-json-glib ?= "${AUTOREV}" -SRCREV_pn-libccss ?= "${AUTOREV}" -SRCREV_pn-libjana ?= "${AUTOREV}" -SRCREV_pn-librest ?= "${AUTOREV}" -SRCREV_pn-libsocialweb ?= "${AUTOREV}" -PREFERRED_VERSION_libsocialweb ?= "0.0+git%" -SRCREV_pn-libsynthesis ?= "${AUTOREV}" -SRCREV_pn-linux-moblin ?= "${AUTOREV}" -SRCREV_pn-mobile-broadband-provider-info ?= "${AUTOREV}" -SRCREV_pn-moblin-app-installer ?= "${AUTOREV}" -SRCREV_pn-moblin-gtk-engine ?= "${AUTOREV}" -SRCREV_pn-moblin-menus ?= "${AUTOREV}" -SRCREV_pn-moblin-web-browser ?= "${AUTOREV}" -SRCREV_pn-moblin-icon-theme ?= "${AUTOREV}" -SRCREV_pn-moblin-user-skel ?= "${AUTOREV}" -SRCREV_pn-moblin-panel-applications ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-applications ?= "0.1.2+git%" -SRCREV_pn-moblin-panel-media ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-media ?= "0.0.7+git%" -SRCREV_pn-moblin-panel-myzone ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-myzone ?= "0.0.12+git%" -SRCREV_pn-moblin-panel-pasteboard ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-pasteboard ?= "0.0.2+git%" -SRCREV_pn-moblin-panel-people ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-people ?= "0.0.9+git%" -SRCREV_pn-moblin-panel-status ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-status ?= "0.0.9+git%" -SRCREV_pn-mojito ?= "${AUTOREV}" -PREFERRED_VERSION_mojito ?= "0.21.7+git%" -SRCREV_pn-mozilla-headless ?= "${AUTOREV}" -SRCREV_pn-mozilla-headless-services ?= "${AUTOREV}" -SRCREV_pn-mutter ?= "${AUTOREV}" -PREFERRED_VERSION_mutter ?= "2.28.1+git%" -SRCREV_pn-mutter-moblin ?= "${AUTOREV}" -PREFERRED_VERSION_mutter-moblin ?= "0.43.8+git%" -SRCREV_pn-nbtk ?= "${AUTOREV}" -PREFERRED_VERSION_nbtk ?= "1.2.3+git%" -SRCREV_pn-mx ?= "${AUTOREV}" -SRCREV_pn-qemugl ?= "${AUTOREV}" -SRCREV_pn-sample-media ?= "${AUTOREV}" -SRCREV_pn-syncevolution ?= "${AUTOREV}" -SRCREV_pn-tasks ?= "${AUTOREV}" -SRCREV_pn-twitter-glib ?= "${AUTOREV}" -SRCREV_pn-xf86-video-gma500 ?= "${AUTOREV}" - -SRCREV_pn-libdrm ?= "${AUTOREV}" -PREFERRED_VERSION_libdrm ?= "2.4.15+git%" -SRCREV_pn-mesa-dri ?= "${AUTOREV}" -PREFERRED_VERSION_mesa-dri ?= "7.5+git%" -SRCREV_pn-xf86-video-intel ?= "${AUTOREV}" -PREFERRED_VERSION_xf86-video-intel ?= "2.10.0+git%" -SRCREV_pn-xserver-xf86-dri-lite ?= "${AUTOREV}" -PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.6.0+git%" -SRCREV_pn-xf86-input-keyboard ?= "${AUTOREV}" -PREFERRED_VERSION_xf86-input-keyboard ?= "1.3.2+git%" -SRCREV_pn-dri2proto ?= "${AUTOREV}" -PREFERRED_VERSION_dri2proto ?= "1.99.3+git%" -SRCREV_pn-libx11-trim ?= "${AUTOREV}" -PREFERRED_VERSION_libx11-trim ?= "1.2.1+git%" - -PREFERRED_VERSION_libxcb ?= "1.3" -PREFERRED_VERSION_xcb-proto ?= "1.5" - -MOBLINBROWSERBRANCH = "mx" -# Set to no browser in images for now to allow image builds -MOBLINBROWSER = "" diff --git a/meta-moblin/conf/distro/moblin-bleeding.conf b/meta-moblin/conf/distro/moblin-bleeding.conf deleted file mode 100644 index 822958258ed..00000000000 --- a/meta-moblin/conf/distro/moblin-bleeding.conf +++ /dev/null @@ -1,2 +0,0 @@ -require conf/distro/include/moblin-floating-revisions.inc -require conf/distro/moblin.conf diff --git a/meta-moblin/conf/distro/moblin.conf b/meta-moblin/conf/distro/moblin.conf deleted file mode 100644 index a0d5af73939..00000000000 --- a/meta-moblin/conf/distro/moblin.conf +++ /dev/null @@ -1,13 +0,0 @@ -require conf/distro/poky.conf - -DISTRO = "moblin" -DISTRO_NAME = "Moblin (Poky Powered)" -DISTRO_VERSION = "1.99+snapshot-${DATE}" - -require conf/distro/include/moblin-fixed-revisions.inc - -POKY_EXTRA_RDEPENDS = "task-moblin-boot" - -TOOLCHAIN_TARGET_SDKTASK ?= "task-moblin-standalone-sdk-target" -#No debug info for now " task-moblin-standalone-sdk-target-dbg" - diff --git a/meta-moblin/conf/layer.conf b/meta-moblin/conf/layer.conf deleted file mode 100644 index b5daea69ed4..00000000000 --- a/meta-moblin/conf/layer.conf +++ /dev/null @@ -1,11 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH := "${BBPATH}:${LAYERDIR}" - -# We have a packages directory, add to BBFILES -BBFILES := "${BBFILES} ${LAYERDIR}/packages/*/*.bb" - -BBFILE_COLLECTIONS += "moblin" -BBFILE_PATTERN_moblin := "^${LAYERDIR}/" -BBFILE_PRIORITY_moblin = "5" - -require conf/distro/include/meta-moblin-scm-revisions.inc diff --git a/meta-moblin/packages/anerley/anerley.inc b/meta-moblin/packages/anerley/anerley.inc deleted file mode 100644 index c18c9b25532..00000000000 --- a/meta-moblin/packages/anerley/anerley.inc +++ /dev/null @@ -1,6 +0,0 @@ -DESCRIPTION = "People widgets for Moblin User Experience" -SRC_URI = "http://download.moblin.org/sources/anerley/0.1/anerley-${PV}.tar.bz2" -LICENSE = "LGPLv2.1" -DEPENDS = "telepathy-glib glib-2.0 telepathy-mission-control nbtk eds-dbus" - -inherit autotools diff --git a/meta-moblin/packages/anerley/anerley_0.1.7.bb b/meta-moblin/packages/anerley/anerley_0.1.7.bb deleted file mode 100644 index a2d491bffea..00000000000 --- a/meta-moblin/packages/anerley/anerley_0.1.7.bb +++ /dev/null @@ -1,3 +0,0 @@ -require anerley.inc - -PR = "r0" diff --git a/meta-moblin/packages/anerley/anerley_git.bb b/meta-moblin/packages/anerley/anerley_git.bb deleted file mode 100644 index a656d424ff5..00000000000 --- a/meta-moblin/packages/anerley/anerley_git.bb +++ /dev/null @@ -1,7 +0,0 @@ -require anerley.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.1.7+git${SRCPV}" -PR = "r0" - -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/bickley/bickley.inc b/meta-moblin/packages/bickley/bickley.inc deleted file mode 100644 index f386b862e3b..00000000000 --- a/meta-moblin/packages/bickley/bickley.inc +++ /dev/null @@ -1,9 +0,0 @@ -DESCRIPTION = "A meta data manager API and framework (including Media)" -SRC_URI = "http://download.moblin.org/sources/bickley/0.4/bickley-0.4_20091124.tar.bz2" - -DEPENDS = "gtk+ dbus-glib clutter-gst-0.10 libexif taglib gupnp gupnp-av samba" -RDEPENDS = "xdg-user-dirs" - -FILES_${PN} =+ "${datadir}/dbus-1/services/" - -inherit autotools diff --git a/meta-moblin/packages/bickley/bickley_0.4.bb b/meta-moblin/packages/bickley/bickley_0.4.bb deleted file mode 100644 index 9a8de226198..00000000000 --- a/meta-moblin/packages/bickley/bickley_0.4.bb +++ /dev/null @@ -1,4 +0,0 @@ -require bickley.inc - -S = "${WORKDIR}/${PN}-${PV}_20091124" -PR = "r1" diff --git a/meta-moblin/packages/bickley/bickley_git.bb b/meta-moblin/packages/bickley/bickley_git.bb deleted file mode 100644 index a02d610ddce..00000000000 --- a/meta-moblin/packages/bickley/bickley_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require bickley.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.4+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/bisho/bisho.inc b/meta-moblin/packages/bisho/bisho.inc deleted file mode 100644 index 5ff9b9e35a3..00000000000 --- a/meta-moblin/packages/bisho/bisho.inc +++ /dev/null @@ -1,9 +0,0 @@ -DESCRIPTION = "Web Services Settings" -SRC_URI = "http://download.moblin.org/sources/bisho/0.17/bisho-0.17.1.tar.bz2" -LICENSE = "GPLv2" - -DEPENDS = "gtk+ mojito nbtk" - -inherit autotools - -FILES_${PN} += "${datadir}/icons/" diff --git a/meta-moblin/packages/bisho/bisho_0.17.1.bb b/meta-moblin/packages/bisho/bisho_0.17.1.bb deleted file mode 100644 index e483da5d791..00000000000 --- a/meta-moblin/packages/bisho/bisho_0.17.1.bb +++ /dev/null @@ -1 +0,0 @@ -require bisho.inc diff --git a/meta-moblin/packages/bisho/bisho_git.bb b/meta-moblin/packages/bisho/bisho_git.bb deleted file mode 100644 index 21a2e7afc7d..00000000000 --- a/meta-moblin/packages/bisho/bisho_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require bisho.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.17.1+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/bognor-regis/bognor-regis.inc b/meta-moblin/packages/bognor-regis/bognor-regis.inc deleted file mode 100644 index 34563548f25..00000000000 --- a/meta-moblin/packages/bognor-regis/bognor-regis.inc +++ /dev/null @@ -1,9 +0,0 @@ -DESCRIPTION = "Media deamon and play queue manager" -SRC_URI = "http://download.moblin.org/sources/bognor-regis/0.5/bognor-regis-0.5.0_20091116.tar.bz2" -LICENSE = "GPLv2" - -DEPENDS = "glib-2.0 dbus-glib gtk+ libnotify gupnp gupnp-av bickley" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools diff --git a/meta-moblin/packages/bognor-regis/bognor-regis_0.5.0.bb b/meta-moblin/packages/bognor-regis/bognor-regis_0.5.0.bb deleted file mode 100644 index 5bec1aa3883..00000000000 --- a/meta-moblin/packages/bognor-regis/bognor-regis_0.5.0.bb +++ /dev/null @@ -1,3 +0,0 @@ -require bognor-regis.inc - -S = "${WORKDIR}/${PN}-${PV}_20091116" diff --git a/meta-moblin/packages/bognor-regis/bognor-regis_git.bb b/meta-moblin/packages/bognor-regis/bognor-regis_git.bb deleted file mode 100644 index 6bc69d8dee3..00000000000 --- a/meta-moblin/packages/bognor-regis/bognor-regis_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require bognor-regis.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.5.0+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/carrick/carrick.inc b/meta-moblin/packages/carrick/carrick.inc deleted file mode 100644 index 1924e9cbfe4..00000000000 --- a/meta-moblin/packages/carrick/carrick.inc +++ /dev/null @@ -1,14 +0,0 @@ -DESCIPTION = "Connection Management Panel Applet" -SRC_URI = "http://download.moblin.org/sources/carrick/1.1/carrick-${PV}.tar.bz2" -LICENSE = "GPLv2" - -DEPENDS = "nbtk mutter-moblin librest libnotify mobile-broadband-provider-info" -RDEPENDS = "connman" - -FILES_${PN} += "${datadir}/icons/hicolor" - -inherit autotools - -do_configure_prepend () { - mkdir -p ${S}/build/autotools -} diff --git a/meta-moblin/packages/carrick/carrick_1.1.13.bb b/meta-moblin/packages/carrick/carrick_1.1.13.bb deleted file mode 100644 index f7ec5c017b4..00000000000 --- a/meta-moblin/packages/carrick/carrick_1.1.13.bb +++ /dev/null @@ -1 +0,0 @@ -include carrick.inc diff --git a/meta-moblin/packages/carrick/carrick_git.bb b/meta-moblin/packages/carrick/carrick_git.bb deleted file mode 100644 index 3258e052b73..00000000000 --- a/meta-moblin/packages/carrick/carrick_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -include carrick.inc - -SRC_URI = "git://git.moblin.org/${PN}-ng.git;protocol=git" -PV = "1.2.0+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/clutter-imcontext/clutter-imcontext_git.bb b/meta-moblin/packages/clutter-imcontext/clutter-imcontext_git.bb deleted file mode 100644 index ead537d6645..00000000000 --- a/meta-moblin/packages/clutter-imcontext/clutter-imcontext_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -LICENSE = "GPLv2" -PV = "0.0+git${SRCPV}" -PR = "r7" -DEPENDS = "clutter-1.0 glib-2.0" -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make - echo "CLEANFILES=" >> ${S}/gtk-doc.make -} \ No newline at end of file diff --git a/meta-moblin/packages/clutter/clutter-mozembed.inc b/meta-moblin/packages/clutter/clutter-mozembed.inc deleted file mode 100644 index 72c9412d047..00000000000 --- a/meta-moblin/packages/clutter/clutter-mozembed.inc +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Clutter Mozilla Embedded" -HOMEPAGE = "http://www.clutter-project.org/" -LICENSE = "LGPL" - -DEPENDS = "mozilla-headless mozilla-headless-services clutter-1.0" - -FILESPATH = "${FILE_DIRNAME}/clutter-mozembed" - -FILES_${PN} =+ "${datadir}/cluttermozembed/chrome/" - -EXTRA_OECONF = "--enable-plugins" - -inherit autotools pkgconfig gtk-doc - diff --git a/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch b/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch deleted file mode 100644 index 135b9e79f0b..00000000000 --- a/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/cluttermozembed/Makefile.am -=================================================================== ---- git.orig/cluttermozembed/Makefile.am 2009-06-10 15:04:54.000000000 +0100 -+++ git/cluttermozembed/Makefile.am 2009-06-10 15:10:12.000000000 +0100 -@@ -61,7 +61,7 @@ - clutter-mozembed-private.h - source_c = \ - clutter-mozembed.c \ -- clutter-mozembed-download.c -+ clutter-mozembed-download.c dummy.cpp - - bin_PROGRAMS = clutter-mozheadless - diff --git a/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++.patch b/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++.patch deleted file mode 100644 index cc9d43a6749..00000000000 --- a/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/cluttermozembed/Makefile.am -=================================================================== ---- git.orig/clutter-mozembed/Makefile.am 2009-07-24 16:58:24.000000000 +0100 -+++ git/clutter-mozembed/Makefile.am 2009-07-24 17:00:53.000000000 +0100 -@@ -66,7 +66,7 @@ - clutter-mozembed.c \ - clutter-mozembed-comms.c \ - clutter-mozembed-comms.h \ -- clutter-mozembed-download.c -+ clutter-mozembed-download.c dummy.cpp - - bin_PROGRAMS = clutter-mozheadless - diff --git a/meta-moblin/packages/clutter/clutter-mozembed_git.bb b/meta-moblin/packages/clutter/clutter-mozembed_git.bb deleted file mode 100644 index e2da2d6a7d1..00000000000 --- a/meta-moblin/packages/clutter/clutter-mozembed_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -require clutter-mozembed.inc - -PV = "0.8.0+git${SRCPV}" -PR = "r7" - -SRC_URI = "git://git.clutter-project.org/clutter-mozembed.git;protocol=git \ - file://link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch;patch=1;rev=da7632f3e2c8d1a70ab01cc7adb63760d8718b41 \ - file://link-with-g++.patch;patch=1;notrev=da7632f3e2c8d1a70ab01cc7adb63760d8718b41" -S = "${WORKDIR}/git" - -do_configure_prepend () { - touch ${S}/clutter-mozembed/dummy.cpp - touch ${S}/clutter-mozembed/dummy2.cpp -} diff --git a/meta-moblin/packages/consolekit/consolekit_0.3.0.bb b/meta-moblin/packages/consolekit/consolekit_0.3.0.bb deleted file mode 100644 index fcd735d7adc..00000000000 --- a/meta-moblin/packages/consolekit/consolekit_0.3.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "ConsoleKit is a framework for defining and tracking users, login sessions, and seats." -LICENSE = "GPLv2" -DEPENDS = "dbus" - -inherit gnome - -SRC_URI = "http://people.freedesktop.org/~mccann/dist/ConsoleKit-${PV}.tar.bz2 \ - file://nopolkit.patch;patch=1" -S = "${WORKDIR}/ConsoleKit-${PV}" - -FILES_${PN} += "${libdir}/ConsoleKit ${datadir}/dbus-1 ${datadir}/PolicyKit" - - - - diff --git a/meta-moblin/packages/consolekit/files/nopolkit.patch b/meta-moblin/packages/consolekit/files/nopolkit.patch deleted file mode 100644 index bebbcaffffd..00000000000 --- a/meta-moblin/packages/consolekit/files/nopolkit.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: ConsoleKit-0.3.0/configure.ac -=================================================================== ---- ConsoleKit-0.3.0.orig/configure.ac 2009-05-22 12:53:27.000000000 +0100 -+++ ConsoleKit-0.3.0/configure.ac 2009-05-22 12:53:56.000000000 +0100 -@@ -55,10 +55,7 @@ - gthread-2.0 >= $GLIB_REQUIRED_VERSION - ) - --PKG_CHECK_MODULES(POLKIT, -- polkit >= $POLKIT_REQUIRED_VERSION, -- have_polkit=yes, -- have_polkit=no) -+have_polkit=no - if test "x$have_polkit" = "xyes" ; then - AC_DEFINE(HAVE_POLKIT, [], [Define if we have polkit]) - fi diff --git a/meta-moblin/packages/dalston/dalston.inc b/meta-moblin/packages/dalston/dalston.inc deleted file mode 100644 index 204bccd697d..00000000000 --- a/meta-moblin/packages/dalston/dalston.inc +++ /dev/null @@ -1,7 +0,0 @@ -DESCRIPTION = "System Information Icons" -SRC_URI = "http://download.moblin.org/sources/dalston/0.1/dalston-0.1.12.tar.bz2" -LICENSE = "LGPLv2.1" - -DEPENDS = "glib-2.0 gtk+ pulseaudio libcanberra libnotify nbtk mutter-moblin" - -inherit autotools diff --git a/meta-moblin/packages/dalston/dalston_0.1.12.bb b/meta-moblin/packages/dalston/dalston_0.1.12.bb deleted file mode 100644 index 4af8ebeb21b..00000000000 --- a/meta-moblin/packages/dalston/dalston_0.1.12.bb +++ /dev/null @@ -1 +0,0 @@ -require dalston.inc diff --git a/meta-moblin/packages/dalston/dalston_git.bb b/meta-moblin/packages/dalston/dalston_git.bb deleted file mode 100644 index c61cb2b772d..00000000000 --- a/meta-moblin/packages/dalston/dalston_git.bb +++ /dev/null @@ -1,6 +0,0 @@ -require dalston.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.1.12+git${SRCPV}" -S = "${WORKDIR}/git" - diff --git a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-fontconfig.conf b/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-fontconfig.conf deleted file mode 100644 index 6e08254bdaf..00000000000 --- a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-fontconfig.conf +++ /dev/null @@ -1,24 +0,0 @@ - - - - - sans-serif - - Droid Sans - - - - Droid Sans - - sans-serif - - - - - Droid Sans Fallback - - - Droid Sans - - - diff --git a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-mono-fontconfig.conf b/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-mono-fontconfig.conf deleted file mode 100644 index 5c7f4754197..00000000000 --- a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-mono-fontconfig.conf +++ /dev/null @@ -1,16 +0,0 @@ - - - - - monospace - - Droid Sans Mono - - - - Droid Sans Mono - - monospace - - - diff --git a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-serif-fontconfig.conf b/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-serif-fontconfig.conf deleted file mode 100644 index 30c15015fcb..00000000000 --- a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-serif-fontconfig.conf +++ /dev/null @@ -1,16 +0,0 @@ - - - - - serif - - Droid Serif - - - - Droid Serif - - serif - - - diff --git a/meta-moblin/packages/droid-fonts/droid-fonts_1.0.112.bb b/meta-moblin/packages/droid-fonts/droid-fonts_1.0.112.bb deleted file mode 100644 index 19ef6f1420b..00000000000 --- a/meta-moblin/packages/droid-fonts/droid-fonts_1.0.112.bb +++ /dev/null @@ -1,38 +0,0 @@ -HOMEPAGE = "http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=data/fonts" - -DESCRIPTION = "The Droid typeface family was designed in the fall of 2006 by Ascender's \ - Steve Matteson, as a commission from Google to create a set of system fonts \ - for its Android platform. The goal was to provide optimal quality and comfort \ - on a mobile handset when rendered in application menus, web browsers and for \ - other screen text." - -SRC_URI = "http://pokylinux.org/sources/droid-fonts-1.0.112.tar.gz \ - file://droid-fonts-sans-fontconfig.conf \ - file://droid-fonts-sans-mono-fontconfig.conf \ - file://droid-fonts-serif-fontconfig.conf " - -LICENSE = "Apache License, Version 2.0" -SECTION = "x11/fonts" -RDEPENDS = "fontconfig-utils" -PACKAGES = "${PN}" -FILES_${PN} += "${sysconfdir} ${datadir}" - -do_install () { - install -d ${D}${datadir}/fonts/ttf/ - for i in *.ttf; do - install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} - done - - install -d ${D}${sysconfdir}/fonts/conf.d/ - install -m 0644 ${WORKDIR}/*.conf ${D}${sysconfdir}/fonts/conf.d/ - - install -d ${D}${prefix}/share/doc/${PN}/ - install -m 0644 README.txt ${D}${datadir}/doc/${PN}/ - install -m 0644 NOTICE ${D}${datadir}/doc/${PN}/ -} - -pkg_postinst () { -#!/bin/sh -fc-cache -} - diff --git a/meta-moblin/packages/gmime/gmime/iconv-detect.h b/meta-moblin/packages/gmime/gmime/iconv-detect.h deleted file mode 100644 index 714cb5aa9dd..00000000000 --- a/meta-moblin/packages/gmime/gmime/iconv-detect.h +++ /dev/null @@ -1,5 +0,0 @@ -/* This is an auto-generated header, DO NOT EDIT! */ - -#define ICONV_ISO_INT_FORMAT "iso-%u-%u" -#define ICONV_ISO_STR_FORMAT "iso-%u-%s" -#define ICONV_10646 "iso-10646" diff --git a/meta-moblin/packages/gmime/gmime/nodolt.patch b/meta-moblin/packages/gmime/gmime/nodolt.patch deleted file mode 100644 index e4d5259c7ba..00000000000 --- a/meta-moblin/packages/gmime/gmime/nodolt.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: gmime-2.4.10/configure.in -=================================================================== ---- gmime-2.4.10.orig/configure.in -+++ gmime-2.4.10/configure.in -@@ -80,7 +80,6 @@ AC_PATH_PROG(TAR, tar, /bin/tar) - - AC_EXEEXT - AC_PROG_LIBTOOL --DOLT - - AM_MAINTAINER_MODE - diff --git a/meta-moblin/packages/gmime/gmime_2.4.10.bb b/meta-moblin/packages/gmime/gmime_2.4.10.bb deleted file mode 100644 index 3b9327a9316..00000000000 --- a/meta-moblin/packages/gmime/gmime_2.4.10.bb +++ /dev/null @@ -1,20 +0,0 @@ -LICENSE = "LGPL" -DESCRIPTION = "Runtime libraries for parsing and creating MIME mail" -SECTION = "libs" -PRIORITY = "optional" -DEPENDS = "glib-2.0 zlib" - -inherit gnome autotools lib_package binconfig - -SRC_URI += "file://iconv-detect.h \ - file://nodolt.patch;patch=1" - -EXTRA_OECONF += "--disable-mono" - -export ac_cv_have_iconv_detect_h=yes -do_configure_append = "cp ${WORKDIR}/iconv-detect.h ${S}" - -# we do not need GNOME 1 gnome-config support -do_install_append () { - rm -f ${D}${libdir}/gmimeConf.sh -} diff --git a/meta-moblin/packages/gnet/files/buildfix.patch b/meta-moblin/packages/gnet/files/buildfix.patch deleted file mode 100644 index 80676202645..00000000000 --- a/meta-moblin/packages/gnet/files/buildfix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gnet/examples/Makefile.am -=================================================================== ---- gnet.orig/examples/Makefile.am -+++ gnet/examples/Makefile.am -@@ -2,7 +2,7 @@ - - @SET_MAKE@ - --SUBDIRS = xmlrpc -+SUBDIRS = - - if OS_WIN32 - noinst_PROGRAMS = echoclient echoserver \ diff --git a/meta-moblin/packages/gnet/files/configure_fix.patch b/meta-moblin/packages/gnet/files/configure_fix.patch deleted file mode 100644 index e6aadcc6a93..00000000000 --- a/meta-moblin/packages/gnet/files/configure_fix.patch +++ /dev/null @@ -1,58 +0,0 @@ -Index: trunk/configure.ac -=================================================================== ---- trunk.orig/configure.ac -+++ trunk/configure.ac -@@ -332,53 +332,6 @@ AC_DEFINE_UNQUOTED(GNET_SOCKADDR_FAMILY_ - [$gnet_sockaddr_family_field_name], - [Name of sockaddr_storage family field]) - --dnl ####################################### --dnl Check if abstract sockets are supported --dnl ####################################### -- --AC_LANG_PUSH(C) --AC_CACHE_CHECK([for abstract socket namespace availability], -- ac_cv_gnet_have_abstract_sockets, -- [AC_RUN_IFELSE([AC_LANG_PROGRAM( --[[ --#include --#include --#include --#include --#include --#include --#include --]], --[[ -- int listen_fd, len; -- struct sockaddr_un addr; -- -- listen_fd = socket (PF_UNIX, SOCK_STREAM, 0); -- if (listen_fd < 0) { -- perror ("socket() failed: "); -- exit (1); -- } -- memset (&addr, '\0', sizeof (addr)); -- addr.sun_family = AF_UNIX; -- strcpy (addr.sun_path, "X/tmp/gnet-fake-socket-path-used-in-configure-test"); -- len = SUN_LEN (&addr); /* calculate size before adding the \0 */ -- addr.sun_path[0] = '\0'; /* this is what makes it abstract */ -- -- if (bind (listen_fd, (struct sockaddr*) &addr, len) < 0) { -- perror ("Abstract socket namespace bind() failed: "); -- exit (1); -- } -- exit (0); --]])], -- [ac_cv_gnet_have_abstract_sockets=yes], -- [ac_cv_gnet_have_abstract_sockets=no] --)]) --AC_LANG_POP(C) -- --if test x$ac_cv_gnet_have_abstract_sockets = xyes ; then -- AC_DEFINE(HAVE_ABSTRACT_SOCKETS,1,[Have abstract socket namespace]) --fi -- - ############################### - # Compiler characteristics - AC_C_CONST diff --git a/meta-moblin/packages/gnet/files/pkgconfig_fix.patch b/meta-moblin/packages/gnet/files/pkgconfig_fix.patch deleted file mode 100644 index a4a433f1ce1..00000000000 --- a/meta-moblin/packages/gnet/files/pkgconfig_fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: trunk/gnet-2.0.pc.in -=================================================================== ---- trunk.orig/gnet-2.0.pc.in 2008-11-06 16:41:25.000000000 +0000 -+++ trunk/gnet-2.0.pc.in 2008-11-06 16:42:23.000000000 +0000 -@@ -6,5 +6,6 @@ - Name: Gnet - Description: A network compatibility layer library - Version: @VERSION@ -+Requires: glib-2.0 gthread-2.0 - Libs: -L${libdir} -lgnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@ @GLIB_LIBS@ @GTHREAD_LIBS@ --Cflags: -I${includedir}/gnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@ -I${libdir}/gnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@/include/ @GLIB_CFLAGS@ @GTHREAD_CFLAGS@ -+Cflags: -I${includedir}/gnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@ -I${libdir}/gnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@/include/ diff --git a/meta-moblin/packages/gnet/gnet_svn.bb b/meta-moblin/packages/gnet/gnet_svn.bb deleted file mode 100644 index fde58f0f320..00000000000 --- a/meta-moblin/packages/gnet/gnet_svn.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "GNet is a simple network library. It is written in C, object-oriented, and built upon GLib." -LICENSE = "LGPL" -SECTION = "libs/network" -HOMEPAGE = "http://www.gnetlibrary.org" -DEPENDS = "glib-2.0" -PV = "2.0.7+svnr${SRCREV}" -PR = "r1" - -SRC_URI = "svn://svn.gnome.org/svn/${PN}/;module=trunk;proto=http \ - file://buildfix.patch;patch=1 \ - file://configure_fix.patch;patch=1 \ - file://pkgconfig_fix.patch;patch=1 " - -S = "${WORKDIR}/trunk" - -EXTRA_OECONF = "--disable-pthreads" - -FILES_${PN}-dev += "${libdir}/gnet-2.0" - -inherit autotools pkgconfig diff --git a/meta-moblin/packages/gnome/gnome-menus_2.24.1.bb b/meta-moblin/packages/gnome/gnome-menus_2.24.1.bb deleted file mode 100644 index c36b3ef50bc..00000000000 --- a/meta-moblin/packages/gnome/gnome-menus_2.24.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -DEPENDS = "python gnome-vfs libxml2 gconf popt gtk+" -LICENSE = "GPL" - -inherit gnome pkgconfig - -DEPENDS += "intltool" - -PACKAGES += "${PN}-python" -FILES_${PN} += "${datadir}/desktop-directories/" -FILES_${PN}-python = "${libdir}/python*" -FILES_${PN}-dbg += "${libdir}/python*/site-packages/*/.debug \ - ${libdir}/python*/site-packages/.debug" - diff --git a/meta-moblin/packages/gnome/gvfs_1.0.2.bb b/meta-moblin/packages/gnome/gvfs_1.0.2.bb deleted file mode 100644 index da071c4a643..00000000000 --- a/meta-moblin/packages/gnome/gvfs_1.0.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "gvfs is a userspace virtual filesystem" -LICENSE = "LGPL" -DEPENDS = "glib-2.0 fuse gnome-keyring" -PR = "r1" - -inherit gnome -EXTRA_OECONF = "--disable-samba --disable-archive" - -PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash" - -FILES_${PN} += "${datadir}/dbus-1/services/* ${libdir}/gio/modules/*.so" -FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*" -FILES_${PN}-dev += "${libdir}/gio/modules/*.la" - -FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${sysconfdir}/gvfs/mounts/ftp.mount" -FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${sysconfdir}/gvfs/mounts/sftp.mount" -FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${sysconfdir}/gvfs/mounts/trash.mount" diff --git a/meta-moblin/packages/gnome/mobile-broadband-provider-info/fixpkgconfig.patch b/meta-moblin/packages/gnome/mobile-broadband-provider-info/fixpkgconfig.patch deleted file mode 100644 index 1a0caadad1f..00000000000 --- a/meta-moblin/packages/gnome/mobile-broadband-provider-info/fixpkgconfig.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/Makefile.am -=================================================================== ---- git.orig/Makefile.am 2009-10-12 17:26:59.000000000 +0100 -+++ git/Makefile.am 2009-10-12 17:27:08.000000000 +0100 -@@ -6,7 +6,7 @@ - - EXTRA_DIST = mobile-broadband-provider-info.pc.in - --pkgconfigdir = $(datadir)/pkgconfig -+pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = mobile-broadband-provider-info.pc - - check-local: diff --git a/meta-moblin/packages/gnome/mobile-broadband-provider-info_git.bb b/meta-moblin/packages/gnome/mobile-broadband-provider-info_git.bb deleted file mode 100644 index 56df4ff5c8c..00000000000 --- a/meta-moblin/packages/gnome/mobile-broadband-provider-info_git.bb +++ /dev/null @@ -1,9 +0,0 @@ - -inherit gnome pkgconfig - -SRC_URI = "git://git.gnome.org/mobile-broadband-provider-info;protocol=git \ - file://fixpkgconfig.patch;patch=1" - -S = "${WORKDIR}/git" - -PV = "0.0+git${SRCPV}" diff --git a/meta-moblin/packages/hornsey/Makefile.am b/meta-moblin/packages/hornsey/Makefile.am deleted file mode 100644 index bce92c4060b..00000000000 --- a/meta-moblin/packages/hornsey/Makefile.am +++ /dev/null @@ -1,662 +0,0 @@ -## Process this file with automake to create Makefile.in. - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH. -GPATH = $(srcdir) - -if HAVE_FREETYPE -OPENTYPE_SUBDIR=opentype -endif - -EXTRA_DIST = -BUILT_GIRSOURCES = - -FRIBIDI_SUBDIR=mini-fribidi - -SUBDIRS = $(OPENTYPE_SUBDIR) $(FRIBIDI_SUBDIR) - -DIST_SUBDIRS = mini-fribidi opentype - -INCLUDES = \ - -DG_LOG_DOMAIN=\"Pango\" \ - -DPANGO_ENABLE_BACKEND \ - -DPANGO_ENABLE_ENGINE \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ - -DLIBDIR=\"$(libdir)\" \ - -I$(top_srcdir) \ - $(PANGO_DEBUG_FLAGS) \ - $(GLIB_CFLAGS) \ - $(XFT_CFLAGS) \ - $(CAIRO_CFLAGS) \ - $(FREETYPE_CFLAGS) \ - $(X_CFLAGS) - -BUILT_SOURCES = pango-enum-types.h pango-enum-types.c pango-features.h - -pangoincludedir=$(includedir)/pango-1.0/pango - -if OS_WIN32 -else -libm = -lm -endif - -# ------------------- libpango ------------------- - -lib_LTLIBRARIES = libpango-1.0.la -BUILT_GIRSOURCES += Pango-1.0.gir - -libpango_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpango_1_0_la_LIBADD = \ - $(GLIB_LIBS) \ - $(libm) \ - $(INCLUDED_LANG_MODULES) -libpango_1_0_la_DEPENDENCIES = \ - $(INCLUDED_LANG_MODULES) - -libpango_1_0_la_LIBADD += mini-fribidi/libmini-fribidi.la -libpango_1_0_la_DEPENDENCIES += mini-fribidi/libmini-fribidi.la - -if PLATFORM_WIN32 -libpango_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pango.def -Wl,pango-win32-res.o -libpango_1_0_la_DEPENDENCIES += pango-win32-res.o pango.def -endif -pango-win32-res.o: pango.rc - $(AM_V_GEN) $(WINDRES) $< $@ - -libpango_1_0_la_SOURCES = \ - break.c \ - ellipsize.c \ - fonts.c \ - glyphstring.c \ - modules.c \ - pango-attributes.c \ - pango-bidi-type.c \ - pango-color.c \ - pango-color-table.h \ - pango-context.c \ - pango-coverage.c \ - pango-engine.c \ - pango-engine-private.h \ - pango-fontmap.c \ - pango-fontset.c \ - pango-glyph-item.c \ - pango-gravity.c \ - pango-impl-utils.h \ - pango-item.c \ - pango-language.c \ - pango-language-sample-table.h \ - pango-layout.c \ - pango-layout-private.h \ - pango-markup.c \ - pango-matrix.c \ - pango-renderer.c \ - pango-script.c \ - pango-script-lang-table.h \ - pango-script-private.h \ - pango-tabs.c \ - pango-utils.c \ - reorder-items.c \ - shape.c \ - pango-enum-types.c \ - module-defs-lang.c - -pango_headers = \ - pango.h \ - pango-attributes.h \ - pango-bidi-type.h \ - pango-break.h \ - pango-context.h \ - pango-coverage.h \ - pango-engine.h \ - pango-font.h \ - pango-fontmap.h \ - pango-fontset.h \ - pango-glyph.h \ - pango-glyph-item.h \ - pango-gravity.h \ - pango-item.h \ - pango-language.h \ - pango-layout.h \ - pango-matrix.h \ - pango-modules.h \ - pango-renderer.h \ - pango-script.h \ - pango-tabs.h \ - pango-types.h \ - pango-utils.h - -pangoinclude_HEADERS = \ - $(pango_headers) \ - pango-features.h \ - pango-enum-types.h - -pango-enum-types.h: s-enum-types-h - $(AM_V_GEN) true -s-enum-types-h: @REBUILD@ $(pango_headers) Makefile - $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \ - --fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include \n\nG_BEGIN_DECLS\n" \ - --fprod "/* enumerations from \"@filename@\" */\n" \ - --vhead "GType @enum_name@_get_type (void);\n#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ - --ftail "G_END_DECLS\n\n#endif /* __PANGO_ENUM_TYPES_H__ */" \ - $(pango_headers) ) > tmp-pango-enum-types.h \ - && (cmp -s tmp-pango-enum-types.h pango-enum-types.h || cp tmp-pango-enum-types.h pango-enum-types.h ) \ - && rm -f tmp-pango-enum-types.h \ - && echo timestamp > $(@F) - -pango-enum-types.c: s-enum-types-c - $(AM_V_GEN) true -s-enum-types-c: @REBUILD@ $(pango_headers) Makefile - $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \ - --fhead "#include " \ - --fprod "\n/* enumerations from \"@filename@\" */" \ - --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ - --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ - --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n }\n return etype;\n}\n" \ - $(pango_headers) ) > tmp-pango-enum-types.c \ - && (cmp -s tmp-pango-enum-types.c pango-enum-types.c || cp tmp-pango-enum-types.c pango-enum-types.c ) \ - && rm -f tmp-pango-enum-types.c \ - && echo timestamp > $(@F) - -pango-features.h: - $(AM_V_GEN) cd $(top_builddir) && ./config.status pango/pango-features.h - -Pango-1.0.gir: $(libpango_1_0_la_SOURCES) -Pango-1.0.gir: $(pango_headers) -Pango-1.0.gir: libpango-1.0.la -Pango-1.0.gir: $(G_IR_SCANNER) Makefile - $(AM_V_GEN) $(G_IR_SCANNER) -v --namespace Pango --nsversion=1.0 \ - --add-include-path=$(srcdir) --add-include-path=. \ - --include=GObject-2.0 \ - --include=cairo-1.0 \ - --library=libpango-1.0.la \ - --libtool="$(LIBTOOL)" \ - --output $@ \ - --pkg gobject-2.0 \ - --pkg cairo \ - --pkg freetype2 \ - -I$(top_srcdir) \ - $(PANGO_CFLAGS) \ - $(libpango_1_0_la_SOURCES) \ - $(pango_headers) \ - pango-enum-types.h - -# ------------------- libpangox ------------------- - -if HAVE_X -pangoinclude_HEADERS += $(pangox_headers) -lib_LTLIBRARIES += libpangox-1.0.la -aliasdir = $(sysconfdir)/pango -alias_DATA = pangox.aliases -endif - -pangox_headers = pangox.h -pangox_public_sources = pangox.c - -libpangox_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangox_1_0_la_LIBADD = \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_X_MODULES) \ - $(GLIB_LIBS) \ - $(X_LIBS) \ - $(X_EXTRA_LIBS) -libpangox_1_0_la_DEPENDENCIES = \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_X_MODULES) - -if PLATFORM_WIN32 -libpangox_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangox.def -Wl,pangox-win32-res.o -libpangox_1_0_la_DEPENDENCIES += pangox-win32-res.o pangox.def -endif - -pangox-win32-res.o: pangox.rc - $(WINDRES) $< $@ - -libpangox_1_0_la_SOURCES = \ - $(pangox_public_sources) \ - modules.h \ - module-defs-x.c \ - pangox-private.h \ - pangox-fontcache.c \ - pangox-fontmap.c - -# ------------------- libpangoft2 ------------------- - -if HAVE_FREETYPE -pangoinclude_HEADERS += $(pangoft2_headers) -lib_LTLIBRARIES += libpangoft2-1.0.la -BUILT_GIRSOURCES += PangoFT2-1.0.gir -endif - -pangoft2_headers = \ - pango-ot.h \ - pangofc-font.h \ - pangofc-fontmap.h \ - pangofc-decoder.h \ - pangoft2.h - -pangoft2_public_sources = \ - pangofc-font.c \ - pangofc-fontmap.c \ - pangofc-decoder.c \ - pangoft2.c - -libpangoft2_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangoft2_1_0_la_LIBADD = \ - opentype/libharfbuzz.la \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_FC_MODULES) \ - $(GLIB_LIBS) \ - $(FREETYPE_LIBS) \ - $(libm) -libpangoft2_1_0_la_DEPENDENCIES = \ - opentype/libharfbuzz.la \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_FC_MODULES) -libpangoft2_1_0_la_SOURCES = \ - $(pangoft2_public_sources) \ - modules.h \ - module-defs-fc.c \ - pangofc-private.h \ - pangoft2.h \ - pangoft2-private.h \ - pangoft2-fontmap.c \ - pangoft2-render.c \ - pango-ot-private.h \ - pango-ot-buffer.c \ - pango-ot-info.c \ - pango-ot-ruleset.c \ - pango-ot-tag.c - - -if PLATFORM_WIN32 -libpangoft2_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangoft2.def -Wl,pangoft2-win32-res.o -libpangoft2_1_0_la_DEPENDENCIES += pangoft2-win32-res.o pangoft2.def -endif -pangoft2-win32-res.o: pangoft2.rc - $(AM_V_GEN) $(WINDRES) $< $@ - -PangoFT2-1.0.gir: $(pangoft2_headers) -PangoFT2-1.0.gir: $(libpangoft2_1_0_la_SOURCES) -PangoFT2-1.0.gir: libpangoft2-1.0.la -PangoFT2-1.0.gir: Pango-1.0.gir $(G_IR_SCANNER) Makefile - $(AM_V_GEN) $(G_IR_SCANNER) -v --namespace PangoFT2 --nsversion=1.0 \ - --add-include-path=$(srcdir) --add-include-path=. \ - --include=GObject-2.0 \ - --include=Pango-1.0 \ - --include=freetype2-2.0 \ - --include=fontconfig-2.0 \ - --library=libpangoft2-1.0.la \ - --libtool="$(LIBTOOL)" \ - --output $@ \ - --pkg gobject-2.0 \ - --pkg freetype2 \ - --pkg pangoft2 \ - -I$(top_srcdir) \ - $(pangoft2_headers) \ - $(pangoft2_public_sources) - -# ------------------- libpangoxft ------------------- - -if HAVE_XFT -pangoinclude_HEADERS += $(pangoxft_headers) -lib_LTLIBRARIES += libpangoxft-1.0.la -BUILT_GIRSOURCES += PangoXft-1.0.gir -endif - -pangoxft_headers = pangoxft.h pangoxft-render.h - -libpangoxft_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangoxft_1_0_la_LIBADD = \ - libpangoft2-$(PANGO_API_VERSION).la \ - libpango-$(PANGO_API_VERSION).la \ - $(GLIB_LIBS) \ - $(X_LIBS) \ - $(XFT_LIBS) \ - $(FREETYPE_LIBS) \ - $(libm) -libpangoxft_1_0_la_DEPENDENCIES = \ - libpangoft2-$(PANGO_API_VERSION).la \ - libpango-$(PANGO_API_VERSION).la - -if PLATFORM_WIN32 -libpangoxft_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangoxft.def -Wl,pangoxft-win32-res.o -libpangoxft_1_0_la_DEPENDENCIES += pangoxft-win32-res.o pangoxft.def -endif -pangoxft-win32-res.o: pangoxft.rc - $(AM_V_GEN) $(WINDRES) $< $@ - -libpangoxft_1_0_la_SOURCES = \ - pangoxft-font.c \ - pangoxft-fontmap.c \ - pangoxft-private.h \ - pangoxft-render.c - - -PangoXft-1.0.gir: $(pangoxft_headers) -PangoXft-1.0.gir: $(libpangoxft_1_0_la_SOURCES) -PangoXft-1.0.gir: libpangoxft-1.0.la -PangoXft-1.0.gir: Pango-1.0.gir PangoFT2-1.0.gir $(G_IR_SCANNER) Makefile - $(AM_V_GEN) $(G_IR_SCANNER) -v --namespace PangoXft --nsversion=1.0 \ - --add-include-path=$(srcdir) --add-include-path=. \ - --include=GObject-2.0 \ - --include=xft-2.0 \ - --include=xlib-2.0 \ - --include=PangoFT2-1.0 \ - --library=libpangoxft-1.0.la \ - --libtool="$(LIBTOOL)" \ - --output $@ \ - --pkg gobject-2.0 \ - --pkg freetype2 \ - -I$(top_srcdir) \ - $(PANGO_CFLAGS) \ - $(pangoxft_headers) \ - $(libpangoxft_1_0_la_SOURCES) - -# ------------------- libpangocairo ------------------- - -if HAVE_CAIRO -pangoinclude_HEADERS += $(pangocairo_headers) -lib_LTLIBRARIES += libpangocairo-1.0.la -BUILT_GIRSOURCES += PangoCairo-1.0.gir -endif - -pangocairo_headers = pangocairo.h - -libpangocairo_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangocairo_1_0_la_LIBADD = \ - libpango-$(PANGO_API_VERSION).la \ - $(GLIB_LIBS) \ - $(CAIRO_LIBS) \ - $(libm) -libpangocairo_1_0_la_DEPENDENCIES = \ - libpango-$(PANGO_API_VERSION).la -libpangocairo_1_0_la_SOURCES = \ - pangocairo-context.c \ - pangocairo-font.c \ - pangocairo-fontmap.c \ - pangocairo-render.c \ - pangocairo-private.h - -if HAVE_CAIRO_WIN32 -if PLATFORM_WIN32 -libpangocairo_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangocairo.def -libpangocairo_1_0_la_DEPENDENCIES += pangocairo.def -endif - -libpangocairo_1_0_la_LIBADD += libpangowin32-$(PANGO_API_VERSION).la $(WIN32_LIBS) -libpangocairo_1_0_la_DEPENDENCIES += libpangowin32-$(PANGO_API_VERSION).la - -libpangocairo_1_0_la_SOURCES += pangocairo-win32font.c pangocairo-win32fontmap.c pangocairo-win32.h -endif - -if HAVE_CAIRO_FREETYPE -libpangocairo_1_0_la_LIBADD += libpangoft2-$(PANGO_API_VERSION).la $(FREETYPE_LIBS) -libpangocairo_1_0_la_DEPENDENCIES += libpangoft2-$(PANGO_API_VERSION).la -PANGOCAIRO_FONT_BACKEND_GI_MODULE = PangoFT2-1.0 - -libpangocairo_1_0_la_SOURCES += \ - pangocairo-fcfont.c \ - pangocairo-fcfontmap.c \ - pangocairo-fc.h -endif - -if HAVE_CAIRO_ATSUI -libpangocairo_1_0_la_SOURCES += \ - modules.h \ - module-defs-atsui.c \ - pangoatsui.h \ - pangoatsui.c \ - pangoatsui-private.h \ - pangoatsui-fontmap.c \ - pangocairo-atsui.h \ - pangocairo-atsuifont.c \ - pangocairo-atsuifont.h \ - pangocairo-atsuifontmap.c -pangoinclude_HEADERS += pangoatsui.h - -libpangocairo_1_0_la_CFLAGS = -xobjective-c -libpangocairo_1_0_la_LDFLAGS += -framework CoreFoundation -framework Carbon -framework Cocoa -libpangocairo_1_0_la_LIBADD += $(INCLUDED_ATSUI_MODULES) -# We don't have an ATSUI GIR right now, so this is just hypothetical -PANGOCAIRO_FONT_BACKEND_GI_MODULE = PangoATSUI-1.0 -endif - -PangoCairo-1.0.gir: $(libpangocairo_1_0_la_SOURCES) -PangoCairo-1.0.gir: $(pangocairo_headers) -PangoCairo-1.0.gir: libpangocairo-1.0.la -PangoCairo-1.0.gir: Pango-1.0.gir $(PANGOCAIRO_FONT_BACKEND_GI_MODULE).gir $(G_IR_SCANNER) Makefile - $(AM_V_GEN) $(G_IR_SCANNER) -v --namespace PangoCairo --nsversion=1.0 \ - --add-include-path=$(srcdir) --add-include-path=. \ - --include=GObject-2.0 \ - --include=cairo-1.0 \ - --include=Pango-1.0 \ - --add-include-path=. \ - --include=$(PANGOCAIRO_FONT_BACKEND_GI_MODULE) \ - --library=libpangocairo-1.0.la \ - --libtool="$(LIBTOOL)" \ - --output $@ \ - --pkg gobject-2.0 \ - --pkg cairo \ - -I$(top_srcdir) \ - $(PANGO_CFLAGS) \ - $(libpangocairo_1_0_la_SOURCES) \ - $(pangocairo_headers) - -# ------------------- libpangowin32 ------------------- - -if HAVE_WIN32 -pangoinclude_HEADERS += pangowin32.h -lib_LTLIBRARIES += libpangowin32-1.0.la -endif - -libpangowin32_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangowin32_1_0_la_LIBADD = \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_WIN32_MODULES) \ - $(GLIB_LIBS) \ - $(WIN32_LIBS) -libpangowin32_1_0_la_DEPENDENCIES = \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_WIN32_MODULES) -libpangowin32_1_0_la_SOURCES = \ - modules.h \ - module-defs-win32.c \ - pangowin32.h \ - pangowin32.c \ - pangowin32-private.h \ - pangowin32-fontcache.c \ - pangowin32-fontmap.c - -if PLATFORM_WIN32 -libpangowin32_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangowin32.def -Wl,pangowin32-win32-res.o -libpangowin32_1_0_la_DEPENDENCIES += pangowin32-win32-res.o pangowin32.def -endif -pangowin32-win32-res.o: pangowin32.rc - $(AM_V_GEN) $(WINDRES) $< $@ - - -# ------------------- win32 build stuff ------------------- - -if OS_WIN32 -install-def-files: - $(AM_V_GEN) mkdir -p $(DESTDIR)$(libdir) && \ - $(INSTALL) $(srcdir)/pango.def $(DESTDIR)$(libdir)/pango-$(PANGO_API_VERSION).def -if HAVE_FREETYPE - $(INSTALL) $(srcdir)/pangoft2.def $(DESTDIR)$(libdir)/pangoft2-$(PANGO_API_VERSION).def -endif - $(INSTALL) $(srcdir)/pangowin32.def $(DESTDIR)$(libdir)/pangowin32-$(PANGO_API_VERSION).def - $(INSTALL) $(srcdir)/pangocairo.def $(DESTDIR)$(libdir)/pangocairo-$(PANGO_API_VERSION).def -if HAVE_X - $(INSTALL) $(srcdir)/pangox.def $(DESTDIR)$(libdir)/pangox-$(PANGO_API_VERSION).def - $(INSTALL) $(srcdir)/pangoxft.def $(DESTDIR)$(libdir)/pangoxft-$(PANGO_API_VERSION).def -endif -uninstall-def-files: - -rm $(DESTDIR)$(libdir)/pango$(PANGO_API_VERSION).def -if HAVE_FREETYPE - -rm $(DESTDIR)$(libdir)/pangoft2-$(PANGO_API_VERSION).def -endif - -rm $(DESTDIR)$(libdir)/pangowin32-$(PANGO_API_VERSION).def - -rm $(DESTDIR)$(libdir)/pangocairo-$(PANGO_API_VERSION).def -if HAVE_X - -rm $(DESTDIR)$(libdir)/pangox-$(PANGO_API_VERSION).def - -rm $(DESTDIR)$(libdir)/pangoxft-$(PANGO_API_VERSION).def -endif -else -install-def-files: -uninstall-def-files: - -endif - -if MS_LIB_AVAILABLE -MS_LIB_FILES = pango-$(PANGO_API_VERSION).lib pangowin32-$(PANGO_API_VERSION).lib pangocairo-$(PANGO_API_VERSION).lib - -if HAVE_FREETYPE -MS_LIB_FILES += pangoft2-$(PANGO_API_VERSION).lib -endif - -noinst_DATA = $(MS_LIB_FILES) - -install-ms-lib: $(MS_LIB_FILES) - $(INSTALL) pango-$(PANGO_API_VERSION).lib $(DESTDIR)$(libdir) -if HAVE_FREETYPE - $(INSTALL) pangoft2-$(PANGO_API_VERSION).lib $(DESTDIR)$(libdir) -endif - $(INSTALL) pangowin32-$(PANGO_API_VERSION).lib $(DESTDIR)$(libdir) - $(INSTALL) pangocairo-$(PANGO_API_VERSION).lib $(DESTDIR)$(libdir) - -uninstall-ms-lib: - -rm $(DESTDIR)$(libdir)/pango-$(PANGO_API_VERSION).lib - -rm $(DESTDIR)$(libdir)/pangoft2-$(PANGO_API_VERSION).lib - -rm $(DESTDIR)$(libdir)/pangowin32-$(PANGO_API_VERSION).lib - -rm $(DESTDIR)$(libdir)/pangocairo-$(PANGO_API_VERSION).lib -else -install-ms-lib: -uninstall-ms-lib: -endif - -pango-$(PANGO_API_VERSION).lib: libpango-$(PANGO_API_VERSION).la $(srcdir)/pango.def - $(AM_V_GEN) lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libpango-$(PANGO_API_VERSION)-$(PANGO_CURRENT_MINUS_AGE).dll -def:$(srcdir)/pango.def -out:$@ - -pangoft2-$(PANGO_API_VERSION).lib: libpangoft2-$(PANGO_API_VERSION).la $(srcdir)/pangoft2.def - $(AM_V_GEN) lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libpangoft2-$(PANGO_API_VERSION)-$(PANGO_CURRENT_MINUS_AGE).dll -def:$(srcdir)/pangoft2.def -out:$@ - -pangowin32-$(PANGO_API_VERSION).lib: libpangowin32-$(PANGO_API_VERSION).la $(srcdir)/pangowin32.def - $(AM_V_GEN) lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libpangowin32-$(PANGO_API_VERSION)-$(PANGO_CURRENT_MINUS_AGE).dll -def:$(srcdir)/pangowin32.def -out:$@ - -pangocairo-$(PANGO_API_VERSION).lib: libpangocairo-$(PANGO_API_VERSION).la $(srcdir)/pangocairo.def - $(AM_V_GEN) lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libpangocairo-$(PANGO_API_VERSION)-$(PANGO_CURRENT_MINUS_AGE).dll -def:$(srcdir)/pangocairo.def -out:$@ - - -# ------------------- introspection ------------------- - -if HAVE_INTROSPECTION - -girdir = $(GIRDIR) -gir_DATA = $(BUILT_GIRSOURCES) - -typelibsdir = $(TYPELIBDIR) -typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) - -%.typelib: %.gir $(G_IR_COMPILER) - $(AM_V_GEN) LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}. $(G_IR_COMPILER) --includedir=$(srcdir) --includedir=. $(G_IR_COMPILER_OPTS) $< -o $(builddir)/$(@F) - -endif # HAVE_INTROSPECTION - -# ------------------- pango-querymodules ------------------- - -bin_PROGRAMS = pango-querymodules - -# -# As a temporary hack, we pull in libpangox here so that we can link -# -pango_querymodules_SOURCES = \ - querymodules.c - -pango_querymodules_LDADD = -if HAVE_X -pango_querymodules_LDADD += libpangox-$(PANGO_API_VERSION).la -endif -if HAVE_XFT -pango_querymodules_LDADD += libpangoxft-$(PANGO_API_VERSION).la -endif -if HAVE_FREETYPE -pango_querymodules_LDADD += libpangoft2-$(PANGO_API_VERSION).la -endif -if HAVE_WIN32 -pango_querymodules_LDADD += libpangowin32-$(PANGO_API_VERSION).la -endif -pango_querymodules_LDADD += libpango-$(PANGO_API_VERSION).la $(GLIB_LIBS) - -EXTRA_DIST += \ - pango-enum-types.h \ - module-defs.h \ - module-defs-fc.c.win32 \ - module-defs-win32.c.win32 \ - pango.def \ - pangocairo.def \ - pangowin32.def \ - pangoft2.def \ - makefile.msc \ - pango.rc \ - pango.rc.in \ - pangox.aliases \ - pangoft2.rc \ - pangoft2.rc.in \ - pangowin32.rc \ - pangowin32.rc.in \ - pangox.rc \ - pangox.rc.in \ - pangoxft.rc \ - pangoxft.rc.in \ - check.defs - - -if HAVE_INCLUDED_MODULES -included-modules: - $(AM_V_GEN) cd $(top_builddir)/modules && $(MAKE) $(AM_MAKEFLAGS) included-modules - -$(INCLUDED_LANG_MODULES) $(INCLUDED_X_MODULES) $(INCLUDED_FC_MODULES) $(INCLUDED_WIN32_MODULES) $(INCLUDED_ATSUI_MODULES): included-modules - $(AM_V_GEN) true - -.PHONY: included-modules -endif - -MODULE_DEF_FILES = \ - module-defs.h \ - module-defs-lang.c \ - module-defs-x.c \ - module-defs-fc.c \ - module-defs-win32.c \ - module-defs-atsui.c - -$(MODULE_DEF_FILES): $(top_builddir)/config.status - $(AM_V_GEN) cd $(top_builddir) && $(SHELL) ./config.status pango/$@ - -CLEANFILES = \ - pango-enum-types.h \ - s-enum-types-h \ - pango-enum-types.c \ - s-enum-types-c - -MOSTLYCLEANFILES = \ - *.list \ - *.expected - -DISTCLEANFILES = \ - pango-features.h \ - $(MODULE_DEF_FILES) - -install-data-local: install-ms-lib install-def-files - -install-exec-hook: -if DISABLE_EXPLICIT_DEPS - -for i in libpangoft2-$(PANGO_API_VERSION).la libpangoxft-$(PANGO_API_VERSION).la libpangox-$(PANGO_API_VERSION).la libpangowin32-$(PANGO_API_VERSION).la; do \ - test -f $(DESTDIR)$(libdir)/$$i && $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$$i ; \ - done -endif - -uninstall-local: uninstall-ms-lib uninstall-def-files - -TESTS = check.defs - --include $(top_srcdir)/git.mk diff --git a/meta-moblin/packages/hornsey/hornsey.inc b/meta-moblin/packages/hornsey/hornsey.inc deleted file mode 100644 index c9d9631a781..00000000000 --- a/meta-moblin/packages/hornsey/hornsey.inc +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "The Moblin Media Player" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -LICENSE = "LGPLv2.1" - -SRC_URI = "http://download.moblin.org/sources/hornsey/1.0/hornsey-1.0_20091116.tar.bz2" - -DEPENDS = "clutter-1.0 clutter-gtk-0.10 clutter-gst-1.0 bickley bognor-regis mx startup-notification libunique xtst tracker" - -EXTRA_OECONF = "--disable-shave" - -FILES_${PN} += "${datadir}/icons" - -inherit autotools diff --git a/meta-moblin/packages/hornsey/hornsey_1.0.bb b/meta-moblin/packages/hornsey/hornsey_1.0.bb deleted file mode 100644 index 5ac2852743b..00000000000 --- a/meta-moblin/packages/hornsey/hornsey_1.0.bb +++ /dev/null @@ -1,5 +0,0 @@ -require hornsey.inc - -DEPENDS = "clutter-1.0 clutter-gtk-0.10 clutter-gst-0.10 bickley bognor-regis nbtk startup-notification libunique xtst" - -S = "${WORKDIR}/${PN}-${PV}_20091116" diff --git a/meta-moblin/packages/hornsey/hornsey_git.bb b/meta-moblin/packages/hornsey/hornsey_git.bb deleted file mode 100644 index df01150017b..00000000000 --- a/meta-moblin/packages/hornsey/hornsey_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require hornsey.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "1.0+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/images/moblin-image-directdisk.inc b/meta-moblin/packages/images/moblin-image-directdisk.inc deleted file mode 100644 index bcce9d53897..00000000000 --- a/meta-moblin/packages/images/moblin-image-directdisk.inc +++ /dev/null @@ -1,8 +0,0 @@ -inherit boot-directdisk - -do_bootdirectdisk_prepend () { - import bb - fstypes = bb.data.getVar('IMAGE_FSTYPES', d, True) - if 'ext3' not in fstypes: - bb.msg.fatal(bb.msg.domain.Build, "ext3 not in IMAGE_FSTYPES") -} diff --git a/meta-moblin/packages/images/moblin-image-live.inc b/meta-moblin/packages/images/moblin-image-live.inc deleted file mode 100644 index 453bc527c8b..00000000000 --- a/meta-moblin/packages/images/moblin-image-live.inc +++ /dev/null @@ -1,27 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -AUTO_SYSLINUXCFG = "1" -INITRD = "${DEPLOY_DIR_IMAGE}/moblin-image-minimal-initramfs-${MACHINE}.cpio.gz" -APPEND += "root=/dev/ram0 " -TIMEOUT = "10" - -EXCLUDE_FROM_WORLD = "1" - -LABELS += "boot install" - -do_bootimg[depends] += "moblin-image-minimal-initramfs:do_rootfs" - -inherit bootimg - -do_bootimg_prepend () { - import bb - fstypes = bb.data.getVar('IMAGE_FSTYPES', d, True) - if 'ext3' not in fstypes: - bb.msg.fatal(bb.msg.domain.Build, "ext3 not in IMAGE_FSTYPES") -} - -ROOTFS = "${DEPLOY_DIR_IMAGE}/${MOBLIN_LIVE_IMAGENAME}-${MACHINE}.ext3" - -do_bootimg[depends] += "${MOBLIN_LIVE_IMAGENAME}:do_rootfs" diff --git a/meta-moblin/packages/images/moblin-image-minimal-initramfs.bb b/meta-moblin/packages/images/moblin-image-minimal-initramfs.bb deleted file mode 100644 index 6d0254fd0b6..00000000000 --- a/meta-moblin/packages/images/moblin-image-minimal-initramfs.bb +++ /dev/null @@ -1,12 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Simple initramfs image. Mostly used for live images." - -IMAGE_INSTALL = "initramfs-live-boot initramfs-live-install busybox udev base-passwd" - -export IMAGE_BASENAME = "moblin-image-minimal-initramfs" -IMAGE_LINGUAS = "" - -inherit moblin-image diff --git a/meta-moblin/packages/images/moblin-image-minimal-live.bb b/meta-moblin/packages/images/moblin-image-minimal-live.bb deleted file mode 100644 index 9d7f789fa3b..00000000000 --- a/meta-moblin/packages/images/moblin-image-minimal-live.bb +++ /dev/null @@ -1,9 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Minimal Bootable Live Image" -MOBLIN_LIVE_IMAGENAME = "moblin-image-minimal" - -require moblin-image-live.inc - diff --git a/meta-moblin/packages/images/moblin-image-minimal.bb b/meta-moblin/packages/images/moblin-image-minimal.bb deleted file mode 100644 index 3178fff07f9..00000000000 --- a/meta-moblin/packages/images/moblin-image-minimal.bb +++ /dev/null @@ -1,12 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -IMAGE_INSTALL = "task-moblin-boot ${ROOTFS_PKGMANAGE}" - -IMAGE_LINGUAS = " " - -inherit moblin-image - -# remove not needed ipkg informations -ROOTFS_POSTPROCESS_COMMAND += "remove_packaging_data_files" diff --git a/meta-moblin/packages/images/moblin-image-netbook-directdisk.bb b/meta-moblin/packages/images/moblin-image-netbook-directdisk.bb deleted file mode 100644 index 3de2944c801..00000000000 --- a/meta-moblin/packages/images/moblin-image-netbook-directdisk.bb +++ /dev/null @@ -1,10 +0,0 @@ -# -# Copyright (C) 2010 Intel Corporation. -# -require moblin-image-directdisk.inc - -DESCRIPTION = "Moblin Direct Disk Image" - -ROOTFS = "${DEPLOY_DIR_IMAGE}/moblin-image-netbook-${MACHINE}.ext3" - -do_bootdirectdisk[depends] += "moblin-image-netbook:do_rootfs" diff --git a/meta-moblin/packages/images/moblin-image-netbook-live.bb b/meta-moblin/packages/images/moblin-image-netbook-live.bb deleted file mode 100644 index 78b579f7799..00000000000 --- a/meta-moblin/packages/images/moblin-image-netbook-live.bb +++ /dev/null @@ -1,9 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Netbook Bootable Live Image" -MOBLIN_LIVE_IMAGENAME = "moblin-image-netbook" - -require moblin-image-live.inc - diff --git a/meta-moblin/packages/images/moblin-image-netbook.bb b/meta-moblin/packages/images/moblin-image-netbook.bb deleted file mode 100644 index 8cbcf2a5e2d..00000000000 --- a/meta-moblin/packages/images/moblin-image-netbook.bb +++ /dev/null @@ -1,7 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -IMAGE_FEATURES += "apps-console-core ${NETBOOK_IMAGE_FEATURES}" - -inherit moblin-image diff --git a/meta-moblin/packages/images/moblin-image-sdk-live.bb b/meta-moblin/packages/images/moblin-image-sdk-live.bb deleted file mode 100644 index 8301d97ad12..00000000000 --- a/meta-moblin/packages/images/moblin-image-sdk-live.bb +++ /dev/null @@ -1,10 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Bootable Live SDK Image" -MOBLIN_LIVE_IMAGENAME = "moblin-image-sdk" - -require moblin-image-live.inc - - diff --git a/meta-moblin/packages/images/moblin-image-sdk.bb b/meta-moblin/packages/images/moblin-image-sdk.bb deleted file mode 100644 index ddb352ca9d2..00000000000 --- a/meta-moblin/packages/images/moblin-image-sdk.bb +++ /dev/null @@ -1,7 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -IMAGE_FEATURES += "apps-console-core ${NETBOOK_IMAGE_FEATURES} tools-debug tools-profile tools-sdk dev-pkgs" - -inherit moblin-image diff --git a/meta-moblin/packages/json-glib/json-glib_0.6.2.bb b/meta-moblin/packages/json-glib/json-glib_0.6.2.bb deleted file mode 100644 index d96f8b3e197..00000000000 --- a/meta-moblin/packages/json-glib/json-glib_0.6.2.bb +++ /dev/null @@ -1,7 +0,0 @@ - -SRC_URI = "http://folks.o-hand.com/~ebassi/sources/json-glib-0.6.2.tar.gz" -PR = "r0" - -DEPENDS = "glib-2.0" - -inherit autotools diff --git a/meta-moblin/packages/json-glib/json-glib_git.bb b/meta-moblin/packages/json-glib/json-glib_git.bb deleted file mode 100644 index 0b32e3ae34e..00000000000 --- a/meta-moblin/packages/json-glib/json-glib_git.bb +++ /dev/null @@ -1,19 +0,0 @@ -HOMEPAGE = "http://live.gnome.org/JsonGlib" -SRC_URI = "git://github.com/ebassi/${PN}.git;protocol=git" -PV = "0.7.2+git${SRCPV}" -PR = "r1" - -S = "${WORKDIR}/git" - -DEPENDS = "glib-2.0" - -inherit autotools - -EXTRA_OECONF = "--disable-introspection" - -acpaths = "-I ${S}/build/autotools " - -do_configure_prepend () { - echo "EXTRA_DIST = " > ${S}/gtk-doc.make -} - diff --git a/meta-moblin/packages/libccss/libccss_git.bb b/meta-moblin/packages/libccss/libccss_git.bb deleted file mode 100644 index 8bd93c940f7..00000000000 --- a/meta-moblin/packages/libccss/libccss_git.bb +++ /dev/null @@ -1,12 +0,0 @@ -SRC_URI = "git://anongit.freedesktop.org/git/ccss.git;protocol=git" -PV = "0.1+git${SRCPV}" -PR = "r2" -DEPENDS = "glib-2.0 cairo librsvg libsoup-2.4" -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make - echo "CLEANFILES=" >> ${S}/gtk-doc.make -} diff --git a/meta-moblin/packages/libidl/libidl_0.8.12.bb b/meta-moblin/packages/libidl/libidl_0.8.12.bb deleted file mode 100644 index 9cc9ea2ed80..00000000000 --- a/meta-moblin/packages/libidl/libidl_0.8.12.bb +++ /dev/null @@ -1,16 +0,0 @@ -LICENSE = "LGPL" -DESCRIPTION = "Library for parsing CORBA IDL files" -SECTION = "gnome/libs" -DEPENDS = "glib-2.0 flex" -PR = "r4" - -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-${PV}.tar.bz2" -S = "${WORKDIR}/libIDL-${PV}" - -BINCONFIG_GLOB = "*-config-2" -inherit autotools pkgconfig binconfig - -FILES_${PN} = "${libdir}/*.so.*" -FILES_${PN}-dev += " ${bindir}" - -BBCLASSEXTEND = "native" diff --git a/meta-moblin/packages/libjana/libjana/clockpatch.patch b/meta-moblin/packages/libjana/libjana/clockpatch.patch deleted file mode 100644 index 7b20222239c..00000000000 --- a/meta-moblin/packages/libjana/libjana/clockpatch.patch +++ /dev/null @@ -1,31 +0,0 @@ -Index: jana/libjana-gtk/jana-gtk-clock.c -=================================================================== ---- jana.orig/libjana-gtk/jana-gtk-clock.c -+++ jana/libjana-gtk/jana-gtk-clock.c -@@ -695,7 +695,7 @@ draw_digital_clock (JanaGtkClock *clock, - cairo_fill (cr); - - /* Draw dark outline frame */ -- thickness = width/20; -+ thickness = width/40; - cairo_new_path (cr); - cairo_rectangle (cr, thickness/2, thickness/2, - width - thickness, height - thickness); -@@ -703,7 +703,7 @@ draw_digital_clock (JanaGtkClock *clock, - cairo_set_source_rgb (cr, base_color[0]/2, - base_color[1]/2, base_color[2]/2); - cairo_stroke (cr); -- -+#if 0 - /* Draw main outline frame */ - cairo_new_path (cr); - cairo_rectangle (cr, thickness, thickness, -@@ -728,7 +728,7 @@ draw_digital_clock (JanaGtkClock *clock, - base_color[1]/1.5, base_color[2]/1.5); - cairo_set_line_width (cr, thickness/2); - cairo_stroke (cr); -- -+#endif - cairo_identity_matrix (cr); - } - diff --git a/meta-moblin/packages/libjana/libjana_git.bb b/meta-moblin/packages/libjana/libjana_git.bb deleted file mode 100644 index 7797580ca54..00000000000 --- a/meta-moblin/packages/libjana/libjana_git.bb +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "O-Hand Jana Library" -DEPENDS = "gtk+ eds-dbus gconf" -PV = "0.4.4+git${SRCPV}" -PR = "r0" - -inherit autotools pkgconfig lib_package - -SRC_URI = "git://git.gnome.org/jana;protocol=git" -S = "${WORKDIR}/git/" - -EXTRA_OECONF = "--enable-examples " - -do_configure_prepend() { - touch gtk-doc.make -} - -PACKAGES =+ "libjana-ecal libjana-ecal-dbg \ - libjana-gtk libjana-gtk-dbg \ - " - -LEAD_SONAME = "libjana.so" - -FILES_libjana-ecal = "${libdir}/libjana-ecal.so.*" -FILES_libjana-ecal-dbg += "${libdir}/.debug/libjana-ecal*" -FILES_libjana-gtk = "${libdir}/libjana-gtk.so.* ${datadir}/jana/landwater.vmf" -FILES_libjana-gtk-dbg += "${libdir}/.debug/libjana-gtk.so.*" -FILES_libjana-bin_append = " ${datadir}/jana/flag-uk.png " diff --git a/meta-moblin/packages/libnotify/libnotify_0.4.4.bb b/meta-moblin/packages/libnotify/libnotify_0.4.4.bb deleted file mode 100644 index a3f622e84dc..00000000000 --- a/meta-moblin/packages/libnotify/libnotify_0.4.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Send desktop notifications to a notification daemon" -HOMEPAGE = "http://www.galago-project.org/" -SECTION = "libs" -LICENSE = "LGPL" -DEPENDS = "dbus gtk+ dbus-glib" -PR = "r0" - -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${PN}-${PV}.tar.gz" - -inherit autotools pkgconfig diff --git a/meta-moblin/packages/librest/librest_git.bb b/meta-moblin/packages/librest/librest_git.bb deleted file mode 100644 index 33e714d6cf2..00000000000 --- a/meta-moblin/packages/librest/librest_git.bb +++ /dev/null @@ -1,14 +0,0 @@ - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.6.1+git${SRCPV}" -PR = "r0" - -DEPENDS = "libsoup-2.4" - -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make -} diff --git a/meta-moblin/packages/libsamplerate/libsamplerate0_0.1.2.bb b/meta-moblin/packages/libsamplerate/libsamplerate0_0.1.2.bb deleted file mode 100644 index 10923404d0d..00000000000 --- a/meta-moblin/packages/libsamplerate/libsamplerate0_0.1.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "An audio Sample Rate Conversion library" -SECTION = "libs" -LICENSE = "GPL libsamplerate" -DEPENDS = "flac" -PR = "r3" - -SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz" -S = "${WORKDIR}/libsamplerate-${PV}" - -inherit autotools pkgconfig diff --git a/meta-moblin/packages/libsexy/files/libsexy-pkgconfig-fixes.patch b/meta-moblin/packages/libsexy/files/libsexy-pkgconfig-fixes.patch deleted file mode 100644 index 61da9474df4..00000000000 --- a/meta-moblin/packages/libsexy/files/libsexy-pkgconfig-fixes.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: libsexy-0.1.11/libsexy.pc.in -=================================================================== ---- libsexy-0.1.11.orig/libsexy.pc.in 2005-11-10 10:21:18.000000000 +0000 -+++ libsexy-0.1.11/libsexy.pc.in 2008-03-05 14:36:39.000000000 +0000 -@@ -6,7 +6,8 @@ - Name: libsexy - Description: Doing naughty things to good widgets - Version: @VERSION@ --Libs: -L${libdir} -lsexy @PACKAGE_LIBS@ --Cflags: -I${includedir} @PACKAGE_CFLAGS@ - -+Requires: pango glib-2.0 gtk+-2.0 libxml-2.0 -+Libs: -L${libdir} -lsexy -+Cflags: -I${includedir} - diff --git a/meta-moblin/packages/libsexy/libsexy.inc b/meta-moblin/packages/libsexy/libsexy.inc deleted file mode 100644 index ff68c6d5e64..00000000000 --- a/meta-moblin/packages/libsexy/libsexy.inc +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "Libsexy is a collection of GTK+ widgets that extend the functionality of such standard widgets as GtkEntry and GtkLabel" -HOMEPAGE = "http://wiki.chipx86.com/wiki/Libsexy" -AUTHOR = "Christian Hammond " -SECTION = "x11/libs" - -DEPENDS = "gtk+ enchant libxml2" - -SRC_URI = "http://releases.chipx86.com/libsexy/${PN}/${PN}-${PV}.tar.gz \ - file://libsexy-pkgconfig-fixes.patch;patch=1" - -inherit autotools pkgconfig - - diff --git a/meta-moblin/packages/libsexy/libsexy_0.1.11.bb b/meta-moblin/packages/libsexy/libsexy_0.1.11.bb deleted file mode 100644 index 91784ffb49d..00000000000 --- a/meta-moblin/packages/libsexy/libsexy_0.1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require libsexy.inc -PR = "r1" diff --git a/meta-moblin/packages/libsndfile/libsndfile1/acincludefix.patch b/meta-moblin/packages/libsndfile/libsndfile1/acincludefix.patch deleted file mode 100644 index 46a21c19bee..00000000000 --- a/meta-moblin/packages/libsndfile/libsndfile1/acincludefix.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix m4 quoting to avoid an infinite loop in m4 with recent autoconf/automake - -RP 1/2/10 - -Index: libsndfile-1.0.17/acinclude.m4 -=================================================================== ---- libsndfile-1.0.17.orig/acinclude.m4 2010-02-01 14:53:35.517826746 +0000 -+++ libsndfile-1.0.17/acinclude.m4 2010-02-01 14:53:51.409122706 +0000 -@@ -255,7 +255,7 @@ - - ) - ] -- -+[ - if test $ac_cv_c_byte_order = big ; then - ac_cv_c_big_endian=1 - ac_cv_c_little_endian=0 -@@ -272,7 +272,7 @@ - AC_MSG_WARN([[*** src/config.h may need to be hand editied. ]]) - AC_MSG_WARN([[*****************************************************************]]) - fi -- -+] - )# AC_C_FIND_ENDIAN - - diff --git a/meta-moblin/packages/libsndfile/libsndfile1/add-cxx.patch b/meta-moblin/packages/libsndfile/libsndfile1/add-cxx.patch deleted file mode 100644 index da0c4010e6d..00000000000 --- a/meta-moblin/packages/libsndfile/libsndfile1/add-cxx.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - ---- libsndfile-1.0.17.orig/configure.ac -+++ libsndfile-1.0.17/configure.ac -@@ -29,10 +29,11 @@ AC_LANG([C]) - # to 0. - - SHARED_VERSION_INFO="1:17:0" - - AC_PROG_CC -+AC_PROG_CXX - AM_PROG_LIBTOOL - - AC_CHECK_PROG(autogen, autogen, yes, no) - - AC_PROG_INSTALL diff --git a/meta-moblin/packages/libsndfile/libsndfile1_1.0.17.bb b/meta-moblin/packages/libsndfile/libsndfile1_1.0.17.bb deleted file mode 100644 index e46e3e15c04..00000000000 --- a/meta-moblin/packages/libsndfile/libsndfile1_1.0.17.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "An audio format Conversion library" -HOMEPAGE = "http://www.mega-nerd.com/libsndfile" -AUTHOR = "Erik de Castro Lopo" -DEPENDS = "sqlite3" -SECTION = "libs/multimedia" -LICENSE = "LGPL" -PR = "r4" - -SRC_URI = "http://www.mega-nerd.com/libsndfile/libsndfile-${PV}.tar.gz \ - file://acincludefix.patch;patch=1 \ - file://add-cxx.patch;patch=1" - -S = "${WORKDIR}/libsndfile-${PV}" - -inherit autotools lib_package pkgconfig - -do_configure_prepend_arm() { - export ac_cv_sys_largefile_source=1 - export ac_cv_sys_file_offset_bits=64 - ac_cv_sizeof_off_t=8 -} - diff --git a/meta-moblin/packages/libsocialweb/libsocialweb.inc b/meta-moblin/packages/libsocialweb/libsocialweb.inc deleted file mode 100644 index 9238125a749..00000000000 --- a/meta-moblin/packages/libsocialweb/libsocialweb.inc +++ /dev/null @@ -1,13 +0,0 @@ -SRC_URI = "http://download.moblin.org/sources/${PN}/0.0/${PN}-0.0.tar.bz2" - -DEPENDS = "libsoup-2.4 gconf-dbus librest glib-2.0 twitter-glib gnome-keyring" -RDEPENDS_${PN} = "connman" - -inherit autotools - -FILES_${PN} += "${datadir}/dbus-1/services" -FILES_${PN}-dbg += "${libdir}/libsocialweb/sources/.debug/* ${libdir}/libsocialweb/services/.debug/" - -PARALLEL_MAKE = "" - -EXTRA_OECONF = "--with-online=connman --disable-shave" diff --git a/meta-moblin/packages/libsocialweb/libsocialweb_git.bb b/meta-moblin/packages/libsocialweb/libsocialweb_git.bb deleted file mode 100644 index 3a72a5e5d78..00000000000 --- a/meta-moblin/packages/libsocialweb/libsocialweb_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require libsocialweb.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/libsynthesis/libsynthesis_git.bb b/meta-moblin/packages/libsynthesis/libsynthesis_git.bb deleted file mode 100644 index dfe3bdaa6b4..00000000000 --- a/meta-moblin/packages/libsynthesis/libsynthesis_git.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Synthesis SyncML Engine" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git;branch=syncevolution-0-9-x" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r2" - -DEPENDS = "libpcre sqlite3 zlib" - -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - cd ${S}/src - ${S}/src/gen-makefile-am.sh - cd ${S} -} - diff --git a/meta-moblin/packages/libunique/libunique_1.0.6.bb b/meta-moblin/packages/libunique/libunique_1.0.6.bb deleted file mode 100644 index 55c3417f729..00000000000 --- a/meta-moblin/packages/libunique/libunique_1.0.6.bb +++ /dev/null @@ -1,8 +0,0 @@ -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libunique/1.0/libunique-1.0.6.tar.bz2" -PR = "r0" - -DEPENDS = "glib-2.0 gtk+ dbus" - -S = "${WORKDIR}/unique-${PV}" - -inherit autotools diff --git a/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook/session b/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook/session deleted file mode 100644 index f72b130e880..00000000000 --- a/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook/session +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export LIBGL_ALWAYS_INDIRECT=1 -export CLUTTER_DISABLE_MIPMAPPED_TEXT=1 -exec /usr/bin/mutter --mutter-plugins=moblin-netbook diff --git a/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0.1.bb b/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0.1.bb deleted file mode 100644 index 2a5827642df..00000000000 --- a/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0.1.bb +++ /dev/null @@ -1,223 +0,0 @@ -DESCRIPTION = "Custom MB session files for poky" -LICENSE = "GPL" -SECTION = "x11" -RDEPENDS = "formfactor gtk-engines initscripts matchbox-session" -PR = "r19" - -# This package is architecture specific because the session script is modified -# based on the machine architecture. -PACKAGE_ARCH = "${MACHINE_ARCH}" - -SRC_URI = "file://session" -S = "${WORKDIR}" - -do_install() { - install -d ${D}/${sysconfdir}/matchbox - install ${S}/session ${D}/${sysconfdir}/matchbox/session - chmod +x ${D}/${sysconfdir}/matchbox/session -} - -pkg_postinst_${PN} () { -#!/bin/sh -e -if [ "x$D" != "x" ]; then - exit 1 -fi - -. ${sysconfdir}/init.d/functions - - -# Theme -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/theme "Moblin-Netbook" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/button_layout ":close" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/gtk_theme "Moblin-Netbook" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/icon_theme "moblin" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/peripherals/mouse/cursor_theme "moblin" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/toolbar_style "icons" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /desktop/gnome/interface/menus_have_icons false - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /desktop/gnome/interface/buttons_have_icons false - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/sound/theme_name moblin - -# Screen shot -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/global_keybindings/run_command_screenshot \ - "Print" -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/keybinding_commands/command_screenshot \ - "gnome-screenshot" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/global_keybindings/run_command_window_screenshot \ - "Print" -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/keybinding_commands/command_window_screenshot \ - "gnome-screenshot --window" - -# Window Actions -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/action_double_click_titlebar "none" -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/action_middle_click_titlebar "none" -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/action_right_click_titlebar "none" - - -# UX Shell -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/mutter/general/clutter_disabled false - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type list --list-type string -s \ - /apps/mutter/general/clutter_plugins '[moblin-netbook]' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/url-handlers/http/command 'moblin-web-browser %s' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/url-handlers/https/command 'moblin-web-browser %s' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/background/picture_filename \ - '/usr/share/mutter-moblin/theme/moblin-panel-myzone/toys.jpg' - -# Fonts -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/document_font_name \ - 'Liberation Sans 10' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/font_name \ - 'Liberation Sans 10' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/monospace_font_name \ - 'Liberation Mono 10' - -# Nautilus -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/preferences/always_use_browser true - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/preferences/exit_with_last_window false - -# Do not automount, this is done by g-s-d plugin -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/preferences/media_automount false - -# And should not open new window whenever media mounted -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/preferences/media_automount_open false - - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/icon_view/labels_beside_icons false - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/nautilus/icon_view/default_zoom_level standard - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/gnome_settings_daemon/keybindings/power "" - -# General -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type float -s \ - /desktop/gnome/peripherals/mouse/mouse_acceleration 0.8 - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type int -s \ - /desktop/gnome/peripherals/mouse/mouse_threshold 2 - -# -# The interesting bit - we convert to run the system as the user "pokyuser" -# and setup this user account as needed -# -if [ ! -d /home/pokyuser ]; then - adduser --disabled-password --ingroup users pokyuser - - # Setup any .skel files - if [ -d ${sysconfdir}/skel ]; then - cp -pPR ${sysconfdir}/skel/.[a-zA-Z0-9]* /home/pokyuser/ || /bin/true - cp -pPR ${sysconfdir}/skel/* /home/pokyuser/ || /bin/true - fi - - # Move any sample media into this user - if [ -d ${sysconfdir}/skel-media ]; then - mv ${sysconfdir}/skel-media/* /home/pokyuser/ || /bin/true - fi - - chown pokyuser.users -R /home/pokyuser/* || /bin/true - chown pokyuser.users -R /home/pokyuser/.[a-zA-Z0-9]* || /bin/true - - # Make sure Xorg is suid - chmod a+s /usr/bin/Xorg - - # Tell X to run as this user - mkdir -p ${sysconfdir}/X11/ - echo "pokyuser" > ${sysconfdir}/X11/Xusername - - # Add pokyuser to the audio group - audiousers=`grep ^audio < /etc/group | cut -d ':' -f 4` - if [ "x$audiousers" == "x" ]; then - audiousers=pokyuser - else - audiousers=$audiousers,pokyuser - fi - sed -i -e "s/audio:\(.*\):\(.*\):\(.*\)/audio:\1:\2:$audiousers/" /etc/group - - # Add pokyuser to the video group - videousers=`grep ^video < /etc/group | cut -d ':' -f 4` - if [ "x$videousers" == "x" ]; then - videousers=pokyuser - else - videousers=$videousers,pokyuser - fi - sed -i -e "s/video:\(.*\):\(.*\):\(.*\)/video:\1:\2:$videousers/" /etc/group -fi - -} diff --git a/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch b/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch deleted file mode 100644 index 1b57ffe32a6..00000000000 --- a/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2009-10-05 17:05:14.000000000 +0100 -+++ git/configure.ac 2009-10-05 21:02:48.000000000 +0100 -@@ -34,7 +34,7 @@ - gtk+-2.0 - packagekit-glib >= 0.4 - packagekit-glib < 0.5 -- rpm >= 4.6' -+ libopkg' - - AC_MSG_CHECKING([for available nbtk version]) - PKG_CHECK_EXISTS(nbtk-1.2, -Index: git/src/mai-package.c -=================================================================== ---- git.orig/src/mai-package.c 2009-10-05 17:05:06.000000000 +0100 -+++ git/src/mai-package.c 2009-10-05 21:01:57.000000000 +0100 -@@ -23,7 +23,7 @@ - #include - - /* FIXME make conditional. */ --#include -+#include - - #include "mai-model-priv.h" - #include "mai-package.h" -@@ -191,7 +191,7 @@ - - if (priv->package_id && - priv->version && -- rpmvercmp (version, priv->version) < 0) -+ opkg_compare_versions (version, priv->version) < 0) - { - g_debug (" skipping '%s'", version); - return; -@@ -955,7 +955,7 @@ - return -1; - - /* FIXME support deb. */ -- return rpmvercmp (priv->version, version); -+ return opkg_compare_versions (priv->version, version); - } - - gboolean diff --git a/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg.patch b/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg.patch deleted file mode 100644 index 3496c22bf51..00000000000 --- a/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg.patch +++ /dev/null @@ -1,75 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2009-12-10 21:37:39.000000000 +0000 -+++ git/configure.ac 2009-12-10 21:39:05.000000000 +0000 -@@ -34,7 +34,7 @@ - clutter-1.0 - clutter-gtk-0.10 - gtk+-2.0 -- rpm >= 4.6' -+ libopkg' - - AC_MSG_CHECKING([for available nbtk version]) - PKG_CHECK_EXISTS(nbtk-1.2, -Index: git/src/pk-glib/mai-package.c -=================================================================== ---- git.orig/src/pk-glib/mai-package.c 2009-12-10 21:42:24.000000000 +0000 -+++ git/src/pk-glib/mai-package.c 2009-12-10 21:43:48.000000000 +0000 -@@ -23,7 +23,7 @@ - #include - - /* FIXME make conditional. */ --#include -+#include - - #include "mai-model-priv.h" - #include "mai-package.h" -@@ -230,7 +230,7 @@ - - if (priv->package_id && - priv->version && -- rpmvercmp (version, priv->version) < 0) -+ opkg_compare_versions (version, priv->version) < 0) - { - g_debug (" skipping '%s'", version); - return; -@@ -998,7 +998,7 @@ - return -1; - - /* FIXME support deb. */ -- return rpmvercmp (priv->version, version); -+ return opkg_compare_versions (priv->version, version); - } - - gboolean -Index: git/src/pk-glib2/mai-package.c -=================================================================== ---- git.orig/src/pk-glib2/mai-package.c 2009-12-10 21:41:01.000000000 +0000 -+++ git/src/pk-glib2/mai-package.c 2009-12-10 21:42:08.000000000 +0000 -@@ -23,7 +23,7 @@ - #include - - /* FIXME make conditional. */ --#include -+#include - - #include "mai-model-priv.h" - #include "mai-package.h" -@@ -737,7 +737,7 @@ - return -1; - - /* FIXME support deb. */ -- return rpmvercmp (priv->version, version); -+ return opkg_compare_versions (priv->version, version); - } - - static void -@@ -820,7 +820,7 @@ - gchar **id = pk_package_id_split (package_id); - - if (!priv->version || -- rpmvercmp (id[PK_PACKAGE_ID_VERSION], priv->version) > 0) -+ opkg_compare_versions (id[PK_PACKAGE_ID_VERSION], priv->version) > 0) - { - PkInfoEnum package_info; - diff --git a/meta-moblin/packages/moblin-app-installer/moblin-app-installer_git.bb b/meta-moblin/packages/moblin-app-installer/moblin-app-installer_git.bb deleted file mode 100644 index 1f388a3b44d..00000000000 --- a/meta-moblin/packages/moblin-app-installer/moblin-app-installer_git.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Moblin Appliction Installer" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git \ - file://opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch;patch=1;rev=7f7d50079c8bcc63874fd60a61f23d849e025445 \ - file://opkg.patch;patch=1;notrev=7f7d50079c8bcc63874fd60a61f23d849e025445" -LICENSE = "GPLv2" -PV = "0.0+git${SRCPV}" -PR = "r0" - -S = "${WORKDIR}/git" -DEPENDS = "clutter-1.0 glib-2.0 nbtk libxml2 gtk+ gnome-packagekit opkg" - -inherit autotools diff --git a/meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme-0.1/moblin-cursor-theme-0.1.tar.bz2 b/meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme-0.1/moblin-cursor-theme-0.1.tar.bz2 deleted file mode 100644 index 47c3d7e8f8bf3f3213e7961f5e9456cee3b26a2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 106543 zc-n-w1z20p)-Mc{(gKARciKM$cXucdB)BEGJHcHm6xSv|a3~H*aQEWw?xnapEd|=I z=e*y2@427cyPmygW<7ha-;$YGvqsLyL5xqpZ^nWcD=`-SJC=H zYHm%AL5+d4h=GBzB4mt*`Q;7XM+~f|7&sp={%?Bn76SwCZ;$DW@t-t_!HPlFAc!eT z^DmC|zZ$LoDM#=h|6*di{WsE^{{;cdSrG@b5Ch{)l$;^P6O3p<49e#zSRbBaf5BU% zjDCxSrHoDV_AT+-x7Z&r-~P80;6DJ~Vtv5)|0gVre|^RJfQ^j_dQtt?OAHMDe|ho+ zBMgHq``i^n^54>!XygZ3Rt&`|%r_XASpN%x1Ll|i$^5rN4*v%KPtE^f-ha^3{}}%( zEdLFF{hzX0{{izqv?Gr7Gx0nPL7*v?Tp%z#cf9=5iFRZ`g|86nVFtES=n^nUg!NBDG z-^3O3&AYOk((})bhf+oK#X>K&52TdfZaM_?bFY!_eQ>{d79IK#ZE3#jHDMVNluRSnxqfWIc23|g7k3z zsj{Tm%XGD=dinx&egRP7qt*pAzoJrEO-7(YCiYNX>6n^hS^5iI=A2?pU1miLV3aZg z_MlqYUsT}?MkX0`YFo{(X=ykg;+%wDBi(crOOlu)p3mSpf8Z0G4j`F=+aq1nhI1Td z)eHW%#W(yGf(|9cvyNr$q+)vl$MQsm`b-%u6_&SvSO9`(CmuD3_Dv*V(5bgn5pN zT9#NHkh*@irMI5bNd1M@#b!lC$+YwB7?_$~Om%9|(Pfu*fzDy7kY|1~O0kmWg)^*5 z0Yt`72#$e4xE;+78OFs~_qQq%Iu!UI?0pX96fsDy_SSp!07ve`MawYLL0O$$44j2U znxaGq=X9!0g>{B{^v3O=qT=|8l_^WTNye}Je6>t{yB*t>_PNGBf)+Oc6Vt3%$+p_t zE)BaSd3lH9W0QPztY|T73@kQbUVQ%qpiA1P+&|z)sz8)#pCd8(9@bl>I>WqdC+2Ai zWts=WW|Z@lWEs<7)w1;)Yb+R^r?)cG-W5Uia=)Gl3PnoO@S?>qnkcZonc#nP7rDp! zTE&Tv^|j`zE@=LCHt8^{QF+%9<;Q+PCLv;0c~0t$f88waT~w_9ci+1Q4lS67^>8MB`nMGk$Xj^yFE*~qO}+x`?A zG6NmT&g-KocqGWhy52$xGyf>qTnDd~jaR_3V=0FPyv_+ldoLj#-vai+7iIcSO}FuF zE;7C?$cTg<6TmHnxMgm~YHL+|4aPU^d33?a!}s^5Ht+>mZBv=im&!-G*Q?^l2M3;?Sv#f=Mb~7UIyv1gcQD|JJb&O7rPTpcD8{e ziARYBO%7l6b1Rt<6CHfS5+~8jh$V^N1ON^BakW3SA=+aAcsTAYcg9Sw-;6`5P{rMp;A>Na zI$izRdaHUu-t>up(uB0fjTXrdx5UETEM{&Ij%m9r%QZ<*P`daw_CS4LC$Ua)t~nt0 z=-tjy?(uuE>xs~J`Yix}G{@nCH{4fK>&NRUK+fg@&CyTiQQdtXjxBJ|>3wQ`4D0El z@8=)yV_5SO<7WUzbH+)^4r(-yeiMYVO4{iDtx5hju z1yb$2j)>9g#l7I)uM1S%#k<>Y6?%f-#qZ=cK}v+g)HX9~Tg6iS_dAHO^jn0bN#uT0 zG$(x#i+gR=vK>kBW~{a?jq1svzVPUm!j#+IUs|%Xn+H%gobuGnW))n6JA4(t|Js3}LlkxB!5F z>giex>~(_3jyMaJFBZ7+WTe%*(|GsHc<(db41U;*dRA`z-5@e8pmWS2ve?%#z(O+Y zv&~x@41ksnVp)|T?D?Cop|BXDPS@v*k(gu8x#h5IV?OhKb9sTS#dWiT6)#Gyt@i4r znarp2OQoYjy5SJBwZym%$TxY|@iJy+x6L;E!S0H3KX-tQK^3UC$IYm6mLa-YeZXxB;zn z>ip3mGJ^gL2j&4Sz0bfO{3y;Wm6}&K*m%iL$@Z#VxMr~|t4}L=ia&GzirJhZtify6 z=MXr;w~+1@?(}|~7R??VaVy$FaqVMgDof&aAth`5$Cp)vi2jTAo3{)^pPuZJ%II5Z zmF7;IwU3SO4QId)HI-^S1MuA zoz22KduTJeWRSkLD19n?PD!)=2XX?>{HO!cJZMS>uh!x}<;sAAv3n z=uhf`pDlGjc+cf{Ly4lgKD-4MXAoPh5Dz@{u?Xc)GqrGO!HHTJZpOD)WD+CBv4O|p z(XiFbH4s&O0_lZuG1!%+*-+&tbaG?|L0S! z&8t8fIE__S{Yo|rn`}HF1q{{$d$+hozSuu#aSZ{RiOfN~GFS^nPG3@CGx=+ zZ^*s+-v0A8(ML+jBoc%p5tskLRi^o68n1#x6sK~`Z&n4}BL*zI8SIyzdA0QNpPU)s zVFeezth5Nlc^qJpP=L96gdx?{|P7eIRKr($T#AIGoczkJo^|N63?;ZrT9 zW=t1O-r+=nl%?h^;`d#oN2DU%LxX4a_UiQOuRv`d49qYh3>lZ``OiceRZ*F*bOW(~ zx@A_8nnVU&I=p1Sm@cv~gRc+(5#jddx7`YQ1|!37R*1FV-jrE#!-(blhKYzl^?PzUY>z+RlqRlJfi-XX)YI6D zM?(ZHl-}kmgPy0RrX2(P%DdTv~o72b>@KaN%>w&eZI@{om~%~Cm4tz=2V&cT`M6jjZObI~7Q zsr?#*Iv;*O!V(j%OdrvVln)!=Cn;#H{@_Lxbq+h8NFv`bZw)fg=G;y$1L zP|^5XX=FaXC!eCL300;0t(Xh&9G$LgtB|(Ej%>Ba!Tb>aTGA`$%i}-T7ezAS z-&`)#iNc3%?sjf$k30InAVwqDRrNc@A^)okbMx+AxgCH_VgC%{?O_>Z1-=aV=xtyQS|oN=g!uhi}YB9-A?jg56MHdh&I_6xF0 zV3zT3f4&;v#I}E?PGK+SYk?_;!}tKXtD(Z^fnrNAt^}AE)bK7TvtZp5Z}Pf5P$qNB zuJloZ>#CzZcHW8P1Pa z{!LipwT5B5)<*q84fR1#{UDbHudF>GFj&9bUaTD|Hoo8kW=i#6akd8Y#sAH2h4U*8 z<@M#D2I0l!?bg;6m)fk17G(d5H8rxlp?^j~9kK$3{6%1{q;V;S>idA>8``0ii*rXt zNsgSY@Qa2O(^MaD)(QBpUH?K4oUhHA1A|@uY7=g6STUMH!4FYlfBV1{30JK-d*e7O ztNqOCtkZF*Z#}n5gHPQ&U|dLe#k0ap>6iwCe(0KIp>y-C%IjaX8(PP!nI?L$-{m^c zmt){=K=c?C4<=fV5tPsVDn?rUCjO1L21Hu5gctv2REFvUS@h2aDzce8m|<~YG!Q0p zfGkT|(1M#KEB4n0a?gEm3O=^T568y>eJf3v0|v4KKF?&0#ummzFtM;MX26kZ(|e48 zWdPo(Q?*!_@isY^_7V4ZnH@}`m`Q~=<*}R{2=j#HN;aYxZWvusW-hEvYM+mBC}#xT zi&3o}-9%|<+Z9P7MhlaSn*q^9gE0C_G#iY8tJpW}E%1UNtddHbZ>vhUc7Idn6(d0I z?I*ajI5NI)DzLxeOsro(D^mb4q)V<&Zh=InXRr?=r!)W{{LfPg{ia}RiiXABc9mZC z3r{EoGm{B?Otl5o(u**qN3P=}drDb3 z&iD4^jLhLhz^C4Tf-#rfwt2z~Pn#NK)n&tst0~p8T@hH@AnEDax=Py|cx|1w+1D8W zw;U;XQW%ygPRrM*VdSz@3;Y<#E%f(rwbpUbG2}kHc%Y75Kif0uXo%tXkVN zkm538in5A6PCdQk!LIuQ1~aRC9yqV|Es5yw-DbYn?ykx9{>xHXi7lcZ6BmNGTaiSl0>JoUYY9&>khSCwMzP)&YmBR2_}HM|{7E>a(Vw+nWoND3DS!}u zN3DSMmFcM}r;+7h&OY@g4cGgi%V ziOotOE&HGnr_*d`v5?^fGh$BL{ypIol9UkGX!M%t=ZT{6jcL!AjQ{kfT}g2HE%psC z8jejgP@UjZhXVW=@#TW}ACY;tA+M3;;NVQ)v>A23?{Q|Y!9CFJc4IHgbB{bu9l$&q@;l9R7$ zS0c=OXVOz2nM+Q@j%FGI>I&}R9A2_d{p3h)rMRw1p@h(wU%$=_^W-33p(Ov>5Htv4 zF=gz5eS~xC3d5Pa1Q+f>r}OcsnQrUF@g40Yn4pF zK9wHUxa68T;&#YVc>9Xlh^0|coOw#2s~a0iWm;f@?Qn2#Kk3aO53$g0cZ)~OG#w*v zOWlG6dLCXT5-l~1%AXppeKD5oF7P@{EnWj$8R-ggrS|m$ae!U1tLX(`6Xd zVW;`|U39S|Zh}wcNqafd63~c+KDGCVjKLC|yL@{^vH~;dA3P#UA^hmPu<{A{E@nGh z-a9MN>UtUM>3u@yn@JJ@%0q>MGYX{5z|^z-ic^d)8R^IY=gD+X`o0#0^y>P)_cf{W z-^<9x!XxbAdR#l*Ey^0%C=L(|oK;Zlix(ftr&5Pn54|D-&wMbEY1poU*L1jW(P^_( zpdSmp;Jo-up57C(W({8J$&bb29139tHXv1omE_{A^3Sf&)BIKU@n|apMMKq9-$R=% z;}u7bSiEt9Xw!TY;kZ!$>Im9I;;YW2wT9DZ=*)WNa>gATL?UOG!a&j)O!yCT!ZNYJ z0&6m(@%tnJv6A2V94or&p0IOO_>{$&>Fl?8FP8w$j{a)jF|MYLREr?d>Y+;f`gJID;qYOhX)5hw0)%pkgsG@01jq zF}6ge?h3Vn3=0;>*8GdRVJ9xgqCTr1!-l>%~v-Oc8{ZZ&=Hv-57clKj} z4?>{Vd^I*jgUN_1S#9NgQ1zaey??h^fxT9hFVZ05vX~o5W(G%yeKc{>IPi!|ovw-Y z&9bW9)#pkt9MM# zBO<@_dq_puz*zV_YYN461N>1&c;sxj#(#B1$!EOi2f8quvDUfT2=w{9s1UfjIy^RA z7L2bN8B3LjFyGyg{*mME+V9sP#KiE{{o9^fAvvadg(- zR7&W-sd$)Szs&C&=1}ZzFVF3f)30M9JErxCtDQ}8NLK>GZTy|Me4|MkKH)RFX$rY z^;~14hfCN*Za}kKw9s>qBU7gKtV6M4E8{J!6urt|td4AdQ?1QdG@u$lGr`{Q9zVW) zQp2)cL{Z=n!2yJc3N0~ZEv5>}qf!TMOP8~^a@}BhP9 zS^DSFY{3S=JDVU~b#*g^t$2H~D_GEY^Q<~oKt>0i0Z8PQ%Ai-IzoG)5N`?#kZS_-Y?DQJ z3E@(2b87U&#n+=pv6WQeQ;0uT`8nq{3{a&Hj2@~Y79bY;vB}s7yKHkfAu8vehP1PNd{xsrnQ(4P5Q z0eJQo<7T=5 zPJovtNDZM4+;%P|f+lX}H#I4?{WN@P9uSh?>Fnhf3pQAyEUZc@2yyZvJmFU@tjVHH zq)Ac5);!rz_|8MfWGI$`yUwEUKDC_UOECJftAlw+0HRY?*uFFDJ|1EuroK{W!XEt% zEm*olX0L->`Wx#(X%CfqzsR9J*X5#s9R)>;5~qu`K58`tc-q+ z^<69suG02&xQuxu8?`q4x<_a~sLjT;C7KF?mbtx-9kbvCc7}z$4C+(BYrUXh=KjMq zymoD{mrP-JpzspFQ%`5*l&D`+EuUj`LW9AXh z_nhX=LYq<_ADUe)2FGTR!^1SY)`c`3?L`D(;x|{nll-()cRNmt6wnIk#0sbvS9HU5 za1An{&ieFs!2*~4%mFn6l-c6bjHECC(2NG30)h@Z)B`aP-IRvO>O_UX{jw*4vS-e( zi1|XX-W}||mA@QV!Th1_ofK9^b(u2Xr{tRlnBd^Z;h-Ro3mzW94aR+!?#_*1WE3C)- zOy|fZJNa@}Lv}?|x=!zFV{<@^D=~0RrRgxpds z9*3;0JV=bMm6iLf@{{4Wr(pAiNx^bCWy!EL7Tj)Dzw~cn9HV`<=#XK2po^k~zsif$;D8Vs!j6`#qyp+g(EBXY8IHUb6+c z4$%ybu!jmY>@4{&_QYDt3>~Ja6F-P#u26}>Go7}KE*h|^iHS8xY-f*{Z(%Oy@-A5^ zGsJ1iBu#H>r@%PVXdB`6E{FY3X^lFWi@4~ucuuYwibipKfA+XSObvPK%$1a=y81i! zO38R^`SNVb)hg58_M7_HSD~T$5$|%5lR%@Q9ci-DcU13hf!CDjriZ^xN8e9awq495 z)taZ3-7$-~uViL9RXiTEEY8s$*ZDcI+z2&Qc-2I=s#lkcd74tB{}631Y8==RzZ(qE zB=!UCH!c-=#gCL&G7@G51v+XtexINgcv-X?6z?k%29qG`oi)js&r)JNH;-BC7xtZD z-7LBr-3_R3TU@3|$-e#hXf5|n_v*33p0lx2J(5xEw3t!W1bRfa`Gfb$Ka=4a&OC_{ zM_h=Ayd)pK9jHAeDX#&MD0sV+ciMpD3mDW2lj7`2;!?oQq)niJxU9(qW68SqvgkrC z@YKg-394^OIGNPHh9v<9tMWK?F%$~F%!=k!Tg=-LAAgm8v)QKF-4y=Ch?i!9_Nn38 zHrqBS)MosL@m1>pdO!b+j@XiXv_L!C>%ptl#)4so*2K678C4sXTSPOPA@AhlJbZb- z5nmYVXVB(JB74wk+>4%t_X&{sdbbdtw<_A{w;1Nv?gY((06CD%=Ng+5Vh5V!@2-Y3 zN2_xMzbNjpW?@BBPe&C2Kj*5XS{$3I)Y^IqzC3N0m(@HG6t}{lcRyfH#%3sE_|Q^{ zJ(X4#Ijn0i&V>kYYqAn!`cd?U#Vmbb zmsG!DeT$HO(>Ll7=}i1VuUL^6Yi0sYV8c55H}llLzRUQ*`?zB$cBOj7m`w}YpL(fV zF7|l`4i9nZzhqi(@$Xlvo1sHlc%PUSNX;i~>Hk37(@bw7e8$RS%ozXhR$>mcKSNKg zulW1o>+>(qN-EK>WqPS+ThF+Vh@R0}tNL)aFVxojnku26qrcY$W!RsTHTRPxCOEne zNwLl?G(OVM^aqU-%?XkP5qAmOeMU|#G6hLHRcxkNtqtE$(;T^K`i!AiXtzj9zWjnX z@+Xw_a-Y)Gcl2W-MJVW(X1QjJj0JALe^to5a>U!eUyntC?8%HsWbMJmjL%O=CG0iO z8D3|0^E@CFDtfzq4|ro9`0JbgT$m3k{KOeW>_8aOUhn%2JIfTmp|dPw#MkS;YjW;@hK+7il;X;G@ScJEiEkK zGqZzJ8OxD4vuh0dXQ}ho)f)9hT&uB`kc10nTQyKiY5WinZS3ktGp%p2;9FFdu&b&M^ z?ZHJ`->P&3bFCEmB1Qgg z!<^>aSAD9fH5F@v67du%DcrC}F#uVn=7@26nZ6`ISTw_Cv9Q}VncYf{oLFNdFTKxr z0vY@hsf9XE z*(O$nnrQl8(aC-}8mN}dbV z$YAHAL2$5(=>t-vLFkYtPN&ue%4fBbnXek|MgPN4e;2vKxMHW{6w5qc5zE{$Z7!bL zad?*!>~&%Z3pnZ#T?HSpn4L4^t7lIL7pJX|WgGu=kL&S+Sgl#>o2_kOPe?y~jCVUR zRaJH)SPD%jYHXZSL`-DXV$4ymz+5ka4FojD8k!V?4~_3JCR4`l?3$}$Yc)(H5iWK& zMo@%l_I<8PeBb*(C?sOi@cza@P5#hf>}gXSdD|6v;#6KeIa^WTtToQuMqd!*-Gt>t z%MPUGWXIj7};Y3LrDtm70MqC=SHnA z?wSG7foi(i{$qE+f!rtUfKlPTse=CBn`^qW!NX&8iB^>JlhY|w;hY?D9_n``qQY5+ z>&DflX4G??{gacq9G=j4-0%FFTuC1I)5oO?nX0-me>a9ZTMuh+1#XIqZlaSKjTyvp zr45=e*549U=gh{h8D3PWBl7fl4sFzo4#)X8@UiYE@q29k4}w&#y5$n$$?1(--i zd~WCL0N26|(9BdO8TbBBN6riqQ+<{Au2NyLM?>ym&JwEz{dyMPWwML1CP>uEhI}zp z^J6)uj>Bk}$pRb8EqankG447yrZ6c)>o%Lci(Sd)s{%hTnMlgVDB)3M2!#p<_BAQ+ z2M{%Lf@$!HOB`L!%HZJaC-1zW_Mg$IB1CF%z^~=ywBV!f$UO?eC3Itn-WW#?>djbZ z)Lv>|{^kdRp}aOGBX}YmaIij{i(9mw%ZwFfu|!%;__PYi?2#`>kt9u?T;cLUp1h2y z``0v>E=kUp^KpR#BSb*XLeB=EQRZLUJ)Oxh}VsY z>|{6%mlahK-V`Dmg;1LA6?A7PSdU2YVQCsDPf!8qufgS-S1vMmLfIE+zVS)Tj@DRO zry?;yJcTJE?8quw8ch9ULJin5x&^J z#q;Y}=GinKB2y7&?mgVAB*qmcgPBUuWc$zv^@| zA6{}TQg2n{PA$!@;}$#(OtAwGu(g&Vca4u;ArahpCR;Ql2z~Z;iry{bR_tLZ1unYI zw)t;gTk7#4-AAiWEX`8oTU}HP`(hB7@(z&T;W?|ze3q|U8}Pyb(T2L)6stZt70O0P znYL`aHEHigCJJb~wrVlYvl6AFoQXBm&5EcT`jcC0XGtU8ZUameBGxg@l0Z6ytt10; z;0aO$!Y((sGD!L)s1kHX5} z3D3w6iyV**Da4WNUvk;!l}ie=A9>hqGP?J-*)0tBT8D^Tg-cAzb7MO9;=|aUf z24J7Tki48`FIokT2SHWS9i38WE-$~bD-u--LBPcv!oKHMhPIiuGL(A01GL(Krt@Px(S350H?(MGX`({

    `opa^6H&!S}?`s=^t+mavSLJ?iglvPlc!itW{0A1VRz z`PA>!ykh_vPtagJP$tN|GGzEQ)@cPSS}Q46o6$y#$up|KdbV($l%Ook%&^a}x|%a4 zU)9#@rz!nPkOlanoYf0Sn>44hNviylq3gT>5?r39O}!=Wr2-em>3B$?*10Tlhli#6 z#*|oU#oU9A%@t6bb3J&?gzN6K? zG1WmP3nHgAzUA6xONeq%F4xKt!VUWT(LhPKlm|7O{u(c8nAL|wd z9|yXtOy&=59?5cR3iE)5tQsc?j%s1x&*395Jvd-QVHz~1FmKobF0tmse{rXpfly;K z^*r$i=oAzp^6}G%R-+YQ-^)f_1}AFIcBD%7NRda(nHa4th(<&$E-CU=G}z>9aZje* z%Jy=*{0gYR^fMA1ARiQ?FzTy{Maeslrl4^Wj??&*i%1rE7ylIl0Fuj&D6XjsOYMpFjK0?0=rnfE$ zIAPkUj;Cv?Ay|rX>iuc;oJr80l6)cVS&j+to3pTA=s>yxl{RTkU&=2rjqbp3CRm~IfO<0&`nZuR+O=JsOdROgtK zhp3Vx;|K~ZCt#)?T=A|h5`p?w6T&?*l`axLB@{qwOUIZQ}aFeVmAwVwJ)W zs^YdE(~E`(s&^)t!)tJBLyEv2{&-8d_Tsjm+X&7~mk`w+N1XyUF7l2H8TT58VlYps)Eanwdy&SLw$v{I{od! z@VgFjsxSPiM{%GzF7tvypYpuTHfARGC1YJ{r<0`>@rL1r+)w<|aI19*hY$|?!h;nj z_r2p_8ibG(B5Nxtxy{0dvfcH1rI`{LhKulp5`QfM>;~@q>>EicaMN{8` zlL3)>@0L=1$eKP{H$Q(cxK4|ZS-;a?mYO=w$$L<8n4w6kbUEt5t}rgmw((#Gk?eSm z~F5;zN=(&bVik!FF|&1%v67QpA31-Nkm5N(K9lSaz`30m`tnUe7##1 z@b+{T9}XP1RiDb`CnRDr@L;Dh*q~&=*!Wx0Wb5pu3JI`~ctUKlRGr)_=^8n$hwP45 ztdJ=L|5TJ(W_Wuae{VONU6{*s@PDzD0rmv(;8ThJ_)y~xCA+z-_OP2>y6-k6KYqjo z%zzKL$zexjL3rhs`^aM4<65-tM;F!aUYa$0v8RR z65;lG3hYhmiv-*RJ05P?0IO7{&0(Yv)n&`i(i-iKR`Lww3PpOQc*Nk|dhEPAG*eBh zr3y7tt#v{{G*rzkHjPA^ET{VJt&EuaC+sBX3nHpcOh@oqMtcy6vi+hdK@^ zcP2-eg@JiYgG{XM+_)g--CO#rZ7>{wAePQcPPY-WK1v}Yqhs68y~m56{p9mo(L>3? z?oX`2FI|ndk?WuHUmfM3U&~+~P`-)0uA(^3jku>+ZcbhNW_thPeuYNK(iA1UYDBVP z4TcB1>|99eFWy4VhUAR`rfrzUeak%{DoGGsY2l^@_rvk_vZi{k3Tso(hyG@zdm$0p zMQa&-LA$4@dI_Fl4uCo&)32V zO^5&|e)P7c4^ps9nKA?hsco&-cwZo$@uT1k06gePUlj;Bu|-xIRw2;O?Ebt;b6=!*oyZ%a?- zMh^2;AKe=Q)e|za#k2kY?2DfPGBEtjLQb;Sf2FGFBvpihSmQyN z{s|wO>LYsRYYgIzS>jigi)@EkwhDD~I#e;q% z=|lFD#K4R4Dra;kNTi?Zl4B?HAovAdU%V%j!jXsMj*xODh5pN*f>hDai(O)A%xC)o zFVCfLKcqk4ki28{-Tm#m6ZT5ESGf+>l};}>^U~~2)9D9KZjko=2JlP?`!qN7ERp!g zjBH+_E6bq=sMet-K@9AHbBGj#a8nR~$|MG;c$u%P%Ox#84iPrx4H4qtz0n?j?{Swf zyI?9oIFt3=-LgqRhJ z`yd}Wkd+#2D53r;bZf;K71*IB=*88HtNN1mfWRK_%>2dQAZm3Y_s7+z8^Ft4DI)~} zlp=2jpN6S;e&SQ>g6~*@MR1p9 zMfE){=bK330wt}}@&t^_-UPAH&Jvx`DynB<3*vJzL+3n+7eU4{yMy;seLaaz1h`i%4ZX{2;^z~YMiJjm zz{j;w89h-6^(&mK%WENa2Fw$$jX$}cMc;_^O;xt_Q~j2cRh;q>}Z$|TQ=}5oKJ;#Gz+*41%b`h@408mPIp!WBQmC!B}7|8 zxTdan$}bw57l&F|)P`HPct4CQURGW%f2UlZCv09$8cw;^1KnpiXK?cjE+&k+1c3joyUU& z_++(VaV1w*+L&7{w#A;(@7;w7atW|+C3J@m{Fd^Mr`F99aWIK|EMNv@0Zrw zCik_{ACL}+RzpBZx)e(8_xd-UwXFH9TKBV+u^DygBHgEJ%lBlcf-|TJeNURlM7r4| z_y`MnM#mgY-DCXsveav4HSLq|=tvdu^rM4oo+URFf-F-BU$Pk%6zM=O=qved(-gG1 z#+%j&hGnlLny-+U8S)TxSf=g4zflxj31oDzN!}~2 zM)c%EOfZ7;{ltyE9X9%pRlZ@}26<7z+r45>PMay&7n&kFiw{@1F>*DW#P`tgE@rGx|W4z-}t>BNO zN?-ehAjzvK1$yR!1H4<*9L@TJSG2(<8ysr-jY?r%18U8p^L$@AM7sB02k!RO`CPa^ zl8W7UJH~TG*w3hfI$C_Z4!sCdF6(y+9f%pB@_Nat)6sw~al0cSzqfP7XdCm(zQ0HH zY}gvZnzE|*nI7@F7rQ+T>nV%E*LuXSaz|kbgOyZp51eANa}efZ*hiGl3R2Ui zIZWXv`pHvaYqPOFe0)etBWr5Bf>Fd`)ZoE!_<)`?#EE*Kj^(U_;@2Ra-bgMa9O(E+fwnmo(i6;Clgek1xp1OO-vv`CT!?34u}mNQ1nV z&MP|`YHKSeRln|fozsc`h1NsH$b{BI>JP2s^_7`-xIE=^&fk-T_ncdsg!G@^ zW(AG<#;N>XHMog6oyvqRIN%T0YU@|UP+ds}5YpZ7@jccFBbueiW$j;2ry$SwGX&V1 zWg6m;V=~|!t7S%%K^W|DXb>bv18Xs+bH%U4Q(I6^oo*P$&o5FZi z7%Uxp2<}uPixevgxC`Kj_?vriW}!ZqYd6O%tH*E*m?4}&{VpzmyRW0U1aF(PS)cMQ zbA}sv02z);lJ|>+j6cxobcGm*3I`VzwTmcDQulDzI;hRWIdZaZ7VyTWluOM=RrsBb zg$GuOIjt`sgg!wDx~4_hKAF>VytAKJOYy0|jStkAo9D>vQ8HUBS_AhA|M=~WU+d#Q zi0fr%__TFZpJSB~uZ_JaJZQj>U!BVz5?sy&E~!tM^9vkf`|RL0CC|N{sf#e;;6AYp zHmoWas;=Y|aI>WkV*X9ph*8?oBJyi_eR$qsysVRRQLznvx{5$&Vod2+7(5gH^?$ME z-ce0`UAySdhDuYA(8WR#5_$<88=&->gaAQ$34~sxsz|RAdR3~Bga9D~LKP4Y5Rejj zM}l;u7t!ncedl}cd&juroPW+U=HAcPYt6ma+GET;=QGF7nmV#GExg$y4gK6p_E`=0 z+JwJ>3E#=4dc?9y1R-xgzJXaaVhz}8Q&uy>3uD}MR!@|R9oWY?=|+%xsd=VN>KE*I z*_R5rOQpT}yw>i!ukxB3@nyZ$bfcfTIKgR_1*_|t96}&*rivvW%9dLI51`*!x^WU> zkMU#yd+EB0?CM3swCyWYVh1#1XQWB}cjNOY|HY;N)i0eAZ||dN!|r!5OAOb|OvbE4 zrAF69muvE&mw9&UufOqQeEb3TGW;Ob3D|IHJ7lW~5}lB#J#UJwG}cn%1gUs17_3PH ze11NO7E7{d!yM@-2f6fqH)&L3R4c7uxQCPJ!b(T%V(_mRYrM3LUzlQM5z|~s`|JlN z$ZCi6Yx8D?OfLoJqh=(IM8*cE-BN!AW_W}7^roYr^UVtHmfZQWfU zTeHwtE3ieqP1ve!tpvXE8#?2$p+ytt$7+r9;pf8Hp3NS*efE=P1v|@`X_y1Rc1My) zO;qum%oy|c-0C6+p1m*x3z3Q<6z!Qm9X4FblvxdO-7u~G;zZlWRM28F%(aenrgM_e zTejVra@LON!7vqcPM2s!loU-)dp$Hx&O~GdoVH;ffLjT;`t4NM^Y3f-VF%?GcIUdB^a=py0{dH??d$0GFR5Qh9Z6+ z&GdY)mkt+4`>);OD@E(*l$GX;#Aib4&dgKrqm&FXU)F{JU-E~bjY6U?U6h6#o7$#4 z75&@XnlQ0~Lljo|m7{vf&FK0Oh|}F&Gf=3;8JIspXBeE4>8lxxjbMJb7i2X?QuDDu z+>fxT1qz#<6*}}zRXN84W?N{~8WlRx^X7YZo4R&eHGN0xPVeJFaL&>znR{4Un~zA8 z09=@pZqdUz#d6%2!TpHS7LHxqIOF8vW#h-xi>)yTeIzgrLJC^0VW_iMb-VQNu)HVf z;OSgU6QqQwK0iw7^LJU~-0=HaxNi)Tyy2hd$atYuX(ejaRG}NwOkFH(=`x?CdQ?a- z{&Z}Uj0I0tYx4$puO;E@A;O9}UfQwqL8uG0%8;L*z)%kJolGddhh{{|k4Ym36NOP) zq!>eq@>TB*DDD=-a3Y&fP~_jsnpTU{9Jpfp<4z&t8eEME?)*e@K}BPMVs6SF0=Pn@ zWDk#WClrVo`SU5>a-^uvAYOkr*YI@veZg9%TzHtq9?3^itX$%qBTkaYHI;${9&W7N z;o5ZUkHER`mrfVF{xcHulM^BMe^ z$)DT3W`1-43P~bC9#;cd2zS=i$Oos2Ri(JZo)wv=a!y@5K+wtIUvBq%S9!%TlM9Go z%xP}&zBi-)CndY(Wl>Mv;6I{nh=|~Fz^5u_wxLdv4BhVT+!*O~7k&#cD^vTO@ zIE6a)GZZV0r5r;xyb*VXhZ2%}%tUyAsSTIcVYIQ4jtirSnfY~x#7&EfYeS~YS`Nd{ z2R|e*5rr~Fr@#ACEIbYPdiqXw3G}x-{22_+$lxzKyk@?r@`kG978^EIH2cBLZ`Tst ze7nA9)02D{m@J!RC?daQ9@1VJpZPBMM*MHA zAOZ&Ux9$-8s@Mw+*%Vo-!e5lLO=FPXCnQE65?M>n(y-4=hO>L$IEyAFS(v`{_Uy|I zx4y0T{6*f9kw4yP8C)}QE;~m3B2&w^Z=L`+#x4(9IG;nE5>EQX-DH9txFpl8f=%kumG;MJNcjR;Uy16s zI|*A=7-`CoXnbx!Tr9*g^}cSMz&*Z6dw~AmV7%W6?&!ASP(S`iU*Ig7*y}zJzKBh~ zVYO0IBDAmQGw7AbsZb*(^P~RY`9g{y!hEX3o8I#W88ma+p_N%6lpu5}CZbsJw^V^{ zo}|%hKhbQJ(O`omVCAmsHt+-oEtz{4Jg<1NGl)3jsowAbDCADJ1wO zX+Q3trjwm7vBOZfMu_9rDKDpJ@B#ES-f)CB&u(^#j0DjjGRzuR`u7oBM&69Ul`^o@LqupO^9X z3`J7YaGGfhyHz-8RG$?_j85%fyag(Bs7w-?tPu#Q33MC$TIH$LQ?E|_B=pJ!LpGGH zS}l$4$K-2g{9sgmQc_vm~P$%N(}ge{z7BnFt5Y0IZJ1>~8h_wuh|u2%^0?R_1|EkS?)5?4W(A zD~f=aO>Sr5-Lx&AcOhHX$&zmOhNKegx=FR_9U^(WV7x6Kl0ilr4)sSSm)h_w(GHrn ztD+xLIiDAI2qry=KS?#>J$KXqDVBB`R=KKXsh>&MHUz6+|sA`JGW z6EE5e%z-WZ%l=MoO&z3YN=Clwj9| zv$=C$)new-7e^#MX`np2zQZrJI>z9(Cgy~5@%v7C#|@82BoIcMAdgW>4>~moU#J#> zm3qgp5Gvk;_#_6KS3nI(>5=pO7~D7n2!C*s0C5-bs4QoVO+K=CK})D+`HU@wz!X+k z29&FmJ|Zj3M^t1Z{-lX1Z+8vNO$~Ka3EGaqXl8R1vtsv*VM=LR^|&$c=paYruPL|y z$FyjiwFfEGdMQDeXEBaJQ@054yst!{il?aPOL!NRN|hStf73fp>+D-o|NPDuA@1syIs zO^gIoz$ePp2(y9)EP^ptO~129mo)y$)0*&2$PGwf*lChY>nuflbp0{q`2+6+T+N8V z1L|Z+h@}>Xq0O1K{hyq@aaL$^3Hl|40nzx(FVg9g^IWmTep}1gZi6-I`1QQC-{09D zn15BLQIy@G&Ml#k8`TRaor79D&WLPQ3%wT+pX%!z5AT;9RStF-5E`lVB^BG(1#bN$ ziaNKE9Z$!{f+ojFGDXedvGik^vO#lqw6g6ut~5kBJ2$%OLdpbfS%n*PUvRCbL(OMF zn;QO*;NCqHQWL{L=_6EbF)hfXjw-3k6I*<##cg=(l3uKIcKuE=5i!zvsv)A9e3gai z(LE-XYZrN(_FOMNMD53mzUS`WJs%`uLNpI|&TbEXM#iv>F_)GmlLHSu7arf&*d;E5 zz+pcMoqQO5rj!6!8bZcO#5sg-E?tP`d%#Dbe^qiz*N>HPKidv|oZ0jF zk#<;6!pVSAan_Hq6p3<)2MXtl$6JsWg?B#-zhGXNtiTU;is5Lt25)B_eiHHYP#2-r zP}K35WJ6=^_PG~R1afJq-2^{9^00J>i>o257usRq z*@SH>&;6}IHor@JU0@l9o5LAXG!uN)FlB(_PDZN4D=%&5Uf1|s1TTMG4S4aZC|iQh zP!+a%H2B7{r&;lGt|NBC(t3sp$|JO%l*SUsPXdK^J)$(^)##lagD}zHtIsR^TolM# zAkd_jg){96b1NtZ*=JATys!B!S{^W=`9!lf`qBdI>qfjm<*2{m8Go{m0jsAI>Rxe0 zG(qVjD=|pt9#J{{juHuwW;+JGfW_-6hr4MHvyNqHwRpxalbavJ9nG4Zxh8gWS05IP znmP+{FLBQn6rQ16_WW%ES!YL5Z=&`33hV6)KGl(eDm4uH8b&$%pw4a`aY$Ekm++j8 z2~6QxT7P}ILZ$240U?sRQHezDm8NMtnhEWAkheR&tRB;hFK1}LZ^7R<dRY9}vs^?=|KxU0r6;?=ZZMZ+U_~v1X zhJe#pQ~K+<8EIyXA|*hIU(yp@pJRy|kcFlWuN?CtfsJNCqkEE@Y63aE!u-pcO}zrt z@8*}Tk}4TE1b8%rVN6fL()kIQe4on#dfAJUUwv(Bf&?4fxzz7YAA588j%kPGl6f2D z9KY5t@li1xz@^2rFjYP5}x_2k~*sosZ%B;m7Ox3oi%2q$ixd#aCy5Pm5(^GlwMyJOufFT z?&@@7MGxEa-!O*d5kh=b38`!Y&&hdOg<219XS%;&UWvGK@&jxKfh^>A3*6_6B}6}% zJ~1vDzFipLrdcMX^Z6maOqhrW!XNm)T>Bh>M!(hps7B97pIjcF zX)J!@IN0pOj7dWeWu0Qpj2XOCE9R>`(lN}t}h){m4Xw?9Dd3C7Pe&nY)@W)J^lt7ggr`H$6`zfW; zK5?;w6-B?wMllJ9mbQC;>a>bX-w&Kcibdhqm*w(UX*TU`^CcVK&HQY~?QZwQG5ah^ zma~^N;3tvHdOO@aON+g;NqysVl9Mtgxp{(-64t8pr>kbqUlj7(me^PEwaN*^4r^E} z4$gx|5x$Pw@gtyVn-jN+DzBhz4*NaU3i-eQUF89hZrLH72|`WBvzJ3G9grKDZ(Kwu zlXc;q?sP9FA;o?BB54+v)Qo-mJp}9yNwLs--)d8nb718#2V{vbWRrgbSfSbb#mzIC zLH?;1?3S|u-w$K)Ue>I=$*GXUUIuM56;gAt8%t>nJ3xpZnr6U7&O2huUh41E8RwW0A}+B;T2Vk3(X2jjgk$ z_-|`HH6_bV_e;fBAoy zOJ0_r!N3wdqnaR5OQ7TTMnKjH;c>V@1qxgnrCau-BiyZT+0J$z(8q5mOBH)#>;$^* zSZQ=r8=>Jva_t>P`EUC-%Thuk+m-wQ!UR+d01y5-q%b2zn@U?Eg?nV!N7;@P zx|{4Tm~WdIyXsUu-S&?y&|vdU;Y;$r2YzOU(e@hD`W1g}U1h}5!PL+Jj25^TWeSwB z|GJyz;8)93DK2d(Vzvm9GN&4u*ZE#jB~?gu7FzUjr!>s z3*MNq$PRb!ck;2hbIT7!ht|pLQ5&3Zh&b+Q8BLU}+i$5r^TFtpsi~5bP5;4?ocykb1CqUx?rof&r zTIs6lm<2OIqexCIfC5$YQU9^aqov|O2Xm=%*x-V?53C*maa_qO_Oo2SVIthT8Lw_^ zc7W943|O7jD7Kh)+a?ivEDAEl;fH+L+fz>WQwwS4tULJ8sX~HAf`){6a+o_7l7oy- zrSjF+e~g$NrC)k(_|t}cHm%|y7U|m8)zi!v3XWtErJ^oz`DD5~9{L<|rvoOmT7 zQc%;qfX5HEwWtlrf$!}}_7*-zOoT)EmjqvGu~H}4I}JLT4g%6=zvppLd@K0jy`_#? z$rUE$>CZ6T__g@kyK-0S`U!D+*P7L!gkl4Vpri9u=2oHrlaINiSch%n!@V*DXYVpx z@!(A>hHp8`I`cuvSnAhUh2*=M*(JQ|PngAv>ul$w2^XZt- zg{xn=`0m3I^>Y?|gqOjKNA%rsCUlqV1xaQRS-gg}VR;}9sKD{_>`k=^gZgO~gSy(2 zP?|Bqjf*6H+YT-SoBCDHLb$kN@&yN`r(+M7R3Ei}*>#t74HH`APSMpi6+#z@Zlhwz zFna^|?SXp@cO^H(6*bgSY{TWQu{WrR>ua;=JSnYeD}2GU%q80%G6^KTE@2eath@C1 z7zQr5PIq`( zs7QcXp)64A0jU}}7t^$=c$IIK)!?s~k`#DXpdK%n%A#q<>{G6`57c--=#oCD$1NZ( zW=e-M|4k_Tjtyn#RNU|gP=|jDE4d}IM*jG&T+!#G7Ht2aU&+3$Ua90tKQTg549HjO zqP1k}dg<`xch17u-bk0;b5lq9b8Td~!TXkHES=@K$xcDoE6XLaHGzC2T!C}qrsZca zWc7=5acq>$l)_AqS4H2LXndKLOTd=eJ2SDH8g+`r(i+Mo5&fSr`s?3xGM~6_Y!oX; zyep2@_|jsZ$FHK7gBT-i6ot4efV5>9r(c&Ox1;9mhhRgGY zLun2Q8KlOs` zl6TcJPU^XaL0wS`XfD?16+Nxi6$hG?%*fN@oLjHWX9DkWajtbVA7u>P2@T6dQmbOv zVBq54HKP~O9I<=Z4%yf}=lI7(b;~s({F7or(nq4ZX2ZSyi3<(VV>)$;qz?mW>+6@R zU2Y^bE745jgGDxf*Fa8oK4oDD$3%XRPC10Qu9rPrN{404jT9ZgYC=!jBok{PHgJG#hG6xp#2T#}D^s&JCrs=aYaJY` z80olqyI|ox*#X@zJ+^VMjYY>*zsHC7u0c_RmEo)m1=+5p%g zkcNNyq&#KQ5=u)aSzVTF+_WB;*7z{=!9U>OPBHrRqH%P>ct_z|EF|Ox*GDrY0geC- zG!oBY@ctoqcZE&HE7VN);7mBz3ya*Gv0cb98VeN3ti;GE$_lQ){9Y$}o7S%EuW*8( z$bs9@8kq_38gWL-Y#j|`8YI~Z{ZZ+j_^ZlH`bwC+sgV+8_TurkQBi}*dO)AIQ$<-N zjt5Pk4rgV%IBp8P^4H?WY}L!Jd>fERSb+DDYPU}E3@ODvBJzDe9DBHk+EWrLPEpmT z&x)Y)=AGRX;ctA(hE9xk-t&jGKx}4BdZ{AEiiH?^_Rh!6 z&1}!>E42LH?X!U+_QwIRl#aTOyR(H*XB~?Br{*-Ld7`>i222Vi^aZFMhgRQjAcs@F z)KiCkyx;ApBOUIHTkOG*E|&^Cw;}O9&JH0bWBmp-bw`On$+$~2!*eHq_aIDGvr3@2BwkPGcAB0ow6x{_-HwV<_Ek? zgx4#tjBn4{z8I_N`=|gW?!krlvg_RMIz_0y<_q-+H^;pW6!|zc@iJ)O)%tnO_)&UO z_%n&h-NSEo?l1Y^!W`ylR=g6d)Gx)$lhfrv{1;Kxl_efE8ay>3NDyYn(TB-wKiyQ;>2n zyI~1{to2`bO0+VqC-cJu*Kd2`AZUx+p==Db7_J$K!yV;lVvY~9XVeYOg_rvv-O^)~ zgtWDuKZ7Kq+KKteU&ZQqqs)#+Qu9GnIkRET{nQ#-w9ai862uk7@JnLz-cb46lcp-g zi19ypk~2l3UXun2K5w6xr`qr09fNmw%H>ub?J)Z#L@zums>rgLGzFXdjhDvn<}s;W zH&|*(6}N9a4cYd|aHOAxi}%Es8%DP6&9q+}d|{@(j=))rYCP-+jbQTkDW5r&c~Gzh z`Kp}!A<^e=OVP6OeR4LSgHLy2K;>h^ftgX20btkq=C=_Y)9ZZAd?h-mPc#greM^eb zUTfx_)ZzEMo4%NpS(3NN1Z1=UVwYWy(p|Qmn@Y{@)Srh%gwAKhD!=pU{guRi-=l|F z@9LQmZ(2_K8(0PYZxV7ynKV^6>{YC_n4a}|;-|OJSpTeYI%>#*!a-JR!Whu_hZ=>n6HRLq?y9iyk8u9m5wNmwZ=o`2!9Z)aW@ND z=;DYm=e^$}$F^~j2@Me4(g;atg@V)nX=q}z7|!%193z0wb6NgaV3X}itjZMlVU>qz zdI83+H!eVO9JUM`*q}cen`M72u}6NIfi2J2x7I{_X^3-v25jzTGhIqKjTh|NvqLu|>_AHXOVCqpDrnF5nwH+c0s)0uItD~CS z_q!*h`mP_5NYr5-L&|J9bRFww^}d<~A49D>o;5RpzU-mqa%UGqJw)!6D1L@$s>$B^BO#DNOGjaBMMz@)v8+s+USFV7MfZ}l0On`b`YXhc z)?`?+>Z^p{*^)Jq2j*_2iJ)peU+!r{$~626{jHzYu$q9@HCJs~LdVk)`#Xi&5Gz&> zsyvv%eQNF&*^;Y4U?$hb>yrZP#LH@>l;^X0A;WH5G-`(sY3As>B4IL{KpRz zcBkHIBW^_-?$2a%w}O3wlFI{o%x~oxx$9N zAo4;#n}ELO?nWK3$c*V1{V{J~9!8uJPnHbr$LI=!9FcL>5$Jr+_;LrOj-RP# z@%MhngEv0OUTNs@(se2psj66j{AvMz$JqJcC~DOx8AFg9psYRo%I4k!`a!XF8!I1p;BW<+^wH>fZTR#=j(DM zJH_x&OUjE&&s=ZJSR8S3-M&NUYZY{KqfjuwXSmJD!VwF~0NK~DyCQC}&ti*37J67Y zp5@u}onmRH{;MV(Vw)BRx;XTH>5njAU9jM#&d+s>E~OGwQ1Cpnb5yTi@R&s^l$af( zF(b&l{|7F6ZQ3HBqY95%e#=)}UIof3at0-IR1qV;G}N$RX415)58SXcp^FOgdP#_?{zm$5+EQ?xGHp_bZRi%07zu+HJ*T z@7Uhh;7wGddG2Yw1Tfyo$Dx07h5Yf;{&-4yWMjXwB5b-QP$Yb!WsLje#S}Zir!Rk? z?y#-r;nj_Wxy96T3ck;OKuUY6!r^v%9jyAG2$2dKb3M)8n|i@U=_^wyhMBHS(*1_O z$WA|n>?Y5w+(bR1-ES-u6E?gIV({hPL<;3Opm9T{PphrR_(OM(*dn%-AdcSwf7`_u z6YAeQsN1OCo@o!Vs zzt)!4Vc-b7|{w#o3VQZwQQ4rO`r(dANCYs+WT?`{GniMaW zgHydN#{8M98E3a$gdK%I5v9u(=)qr2Y?Cz_XmjxLrncpjjp-{)1?rsK=`pG1bQ`4a z=%TsMBrW6b#4|i>oWKxjcsMPY9*|sUIGZBB%*a8g5;jw@DO3p*X|h<&%XSXHLeP;R zizzK#m)9mBb`Aph+AdoXkn(1jEg8p3OEs__NzD$>dHg`BUUH+|3b_e^3eRfxX;O%d zM>pqFd$Fs*BIi#Jjf49bh+=rAD%p<#^A?4_{TY6~$8X2``1UcakpZjUs&69b*v5Zb9_e{ven7CW{50q20Yv5&udty`M+8 zQCc>>ycmIkU)*a&)%pqXalyUNxFyPaQ{AcwkvqdCUU7?C-^ZAKH9Whvmq9w+%DH80 zM!YIaWVU2^o}6X!rLlqdu{CGQ`Ev0SGcw!FH7Hu{!B%zBcnh1-SguyM|F*_gFiib8 z=b7}^T5v|M9E}K>oOau?srr-$gnE&63Ff6sZc>u{jnrWx6F;JR8)?F3C%Lv<5@aZK zQR6Tw=8qXR%U{=Co~j&UHRBv)IArEL=eI52TI$xPwoi=M$*+T2xoNds|3)-)(0Q|3ukue3#=wA?<_y0+^VGxI&yIP z79HOjhc9{%U}#tXb`p0RTv4R?aWc)^?6ujXspC;E!u8c_tLcX_g_h-+1dDnxyD!8s z+sofDXNvalxCXkj$+=rZ$$1JqW9u?(CDz0gV94Jpfoz@is}zJyeH!*bs%I>K?lhc9 zbpgU{l#WVVJ;w1q_H~iAUevHhM;)gT^lYAGz3ua?D6g%hyg{P-`Fcvt)tG>UHLie2 zxt5ka^H-?&e8n__m_V#-eSun|AFZKPvPGbqvQNT-dBc|`X(*E&AT>oOhM(4=UC+!VRUZeg`oq01}qwdGfY*_nle^7Y$L$c0(*_UG?U;(jUPon z%dyr~&zn%noA~8q8tAK2}?w7H0nC>baiM{%Wi=yZm^Zq8E?g6a0Yp`{# zJ|S&O1S$h#El)O809SSkQ=lSA%>*qpp@yjhD6yWLZ*7bn^3qW|Q|bK4ZM5vIlj~CD zcjIJ3!Hz(FFDk7Dmn-pjLb0g!awasrS1D;6w?4)V2>Q`C#Jg`rQ}L`gPm`kPwK5B4 zr=D7;>%U5qKN#?`E*J6)=JXmlZ?qqK=-92abXA_37S@|7`CjX0)SomrA zGN`Ef=Si$moVXd&y)FN(q-3v6yG;VO^c5zo7}hp#4K9 zNb(Rp(CR|P^LJt8j`NX2(_AxNIzoYtLeh5q;Ix!Qle)FJm`-WpZO>$d^(82S~~_hxV3#dz?u-*NOf?bm@_xq3EmgUL5DX&u!d@Cw0C0# zUwnTaV}aQknAj7?H8(uNS9)nzuFlNhkq zFt*Vy_fjW}VAkARm1WcISPer z=vLcGxbSF9tR1Aj$>0TR@0EZKi_%)CJ^^ahK`W?VV<3bWb1Y`YY&3weBNqaey1N~2dm>QH2}%;t@iqz)ZCkfO=wy3dZWzZ?xaA=I zGPR7uAHz> zL2S@PX`a>5`tyRCdT?@aqdJ-B-T(NVuQqzCS+tjZAVs;$m|S->-Y%}kFb=Lkw?3uG zcb%BZhN6U@_WAelmId_sF)pQ*=eiVoo2S%j+|nBLaWNh}&1{oiK~}lNu*LA&<~01X zoMlSh21lecm8T1-jGs(j^7mz+bT>Sw3EUG~lY}XTAkNz=5aGPJXu7U(_oW*Dd-!QRY*vfZedoiI&gO z?ETSDNj!@IFkg)s^M9Zy14E7fS@OTu7v`V%yUV{DhW`)s?~4C@D}EEi1aJs~CWc;r zjcxr8muQQ!Pd4oQCYl6D81_F1MpUd$X|zps0(L{0asS%ge~=Au*%%YfqFHL7`hSV; zsX_h?1ITEM9Bm_WOTPI8*YqgQrE2f54J@DWF%>@X4mmxCV_Akx7{x1CW4p;qbFNs9 zDgs@$05P~v!^`pxU8i{oJOOd1U~P!zXFmeAc~Ji#gqEK+)Z%$B7Xh) zb>y+1XvV^q){+?}EN8+GakS)f2+NlzBP_vFHv@aZqH6_1H6DWJsQ^B-cA!?Kj7E-Q ze7t8!&(JNbJxje0ni_=;0&SFN5vS5NPAmqwo|@a`yd_$3j1RGgd->^CT8`OYs3;!? z6p&lQkawJeASU7>27xwd18M_uoywkC;NO+T+4m!aK7cYDBCuILI)hUxP18Gfz6ZEX zpf>M(Puv0+Iq!f9wIUTT`luX|l)RD!me~Kj|51)*Ytx)ptJ6JFbFy z(-5jv)FrZTL^V)L-aJ!36Az2>Otkp@xa>#!$bcXN7f=8m!61BQW7`Lvedk2w9!Tmn9l zrB7D~j%xCXnY6}o4Key}hFjz&(_;)XgjZKJOAJ%^3?*XTU1oYs&$1k1GjCzJ*=9s8 zw4=4oP8A8|w7kn&WF*1#rx2$XBC!S`WP_K+qo(o5K+|$^$!{%FWKdOiEdsvz&q={(1x`a@a7K3 zt60NaT$lJ{d$x5>$}fIon=mJ zf7>PN`u6rRHVaw3$C=@I`{Tng*cqu|BQ^$&HX>yZVsSR7kpANses;OSHId;d%7W{y zz4bWMAka1yz(IrVB8V_}TBfo{YF(iNoH$m(%itgi+rgAxh)B8R27=Hm@;+8zG~1Ml z&nQk#w}u^Fd5bVN+~_2ADU^1V2A3PW^VGhj3j-IopZd`enx5wQVTZp4_D-3>%i+br z!k~G>79#12)?k2hJ=q&^Km9Vr^ei9p;zfg2q8)!VGa2k#GHxW@DyF%DtFMItsetbL z7I%KU(pgo)-~9SWPkAxKk9e}NucT5mT7_;L^u!#FPFbUTYMeP6Fno2IVlGJO);B3a z2|3bJ>|G-9ah>!I*B5TS7NX8=p?;^$KH7^HOLF{{^S04jl(JZUTMO7u^gC{q07d4F znH5qECx$GB#P$U)ox2M=8wK_i`+4bIcnhxrL4c6^qs0JzsVi)B!r{!t6EI)6LwShV z&C7v(>kr01xZF!rIdr^%oQTkQDgq+~^P+bQ1|x%W;0oOussqhdKCV~W-TK9P(rP2B zj5|S&5xg4WF}Zz;275}KU3c$23RT({`E9)OkHagq$YdVPcDho^utCo2P;shdcN)i& zjMF2=yxcZ3)P)+DJcRy|S$sdL1d+BjJRm2<>ut9>rS$+znBl6k{IRc|_lUmiLvkp0 z_7r8_ZMNmex0e1Y()APg^+1KcLY}S($1>v67IacJjoz|Rh~bc7e0N-S=MHq)e6z^M zm_g3Zq%qNJt79qkW9qY)(iIfN$!B^O>pme7Lv@zmVN4CGuD>;n@gIozzOkcmrLTL% zL+);QPy{%Eeg6A=38dD2Kf6So{>kHa_MAwWXHPl{J1-^7945X&sg!N^Z^3eQbGmF_ zzGbE#xn)q56y_P`827ov`0-_@Xq5CjD-T{B{zpzxB-r1AiH23&K+Fh3dKN7K8`*+W z@T*%yRD9|JiNmD@za2c(8CvIo$|uPSY+%~4Gle&2VZH??Ik%p?prmx(2W3V)hUAx8 z1A5|sTlv=c556>Z#{A*pJftETXy;9<4@@hQ(!4jFl2P<#aj4*!?tR>}=1%@gw+fNM z3N6^(DmM|G6KOSALWLdWPWH5a&oZS%5;s)*mOH^b)mut5$M5Ee&H9ik=B^+BQnL;r3Lf( zfxPbef6_C>LItDvW*H0%S+hcY^aZP;iXf6yn>WtL_*_z19Jeq2@iu7%jJJgL`T&zu z%Yd3zYAk>2y&B6a{}tNU^hW1rKHK+DsfFt|#XlnV-U%*oB;*qP6r7AClE8MVo8y`B zJ=Vq-G%df|c<^1?*M zga)ayvqv0XJ>^o}@bBEDkTwL87`U=u77Sl86=Zs6ye8(96}sq4_PNKH}Y-M;L@81 z0{*;SM*o*kyw3YC0T=i8c=sRp@45ffmH*%Q|A2=4_-ud3e#7kDacjUGh2DDF{u);c zuCNJk^LADAq>9=)50Au>*;&i2^f33SlDd+MTf6p%LAR4JwZ_zE>-ZT0Q&S@>m;#@#k1g8~v;>%XR37}Z_1*?* zK9NS4n=XWUh{y;K&Uv3fg3DxLT(|Q%6Xgv7gEmh#Q%T44|`i6!s(2{WeczIe>C*q@woDjdD#(|(_tIkak7 zM~dV$XKFkhoNH~t!E`^2Z|>hO*m(IYq&8Cee;XTy|Bj2W|F;2n^8bs+e2aBbRX4d_ zR?=i_!d;Y;bwH~xZf=}|yqy}bu(;tQlltZ76>d6{_xmRozncqbsKz8css>O1E&<9$ z>djhvw^fqnoy}&8q!~z~XGEG3*YM-*YyGQs6FTrZ<_F+JxkJ4H7f&-|He3BFoaTrz z#Hb30*+L2xKWSFYAdA}w>8LzBvwIOkX>D5cI&Ce=6gGe&p9sufAT&EB|_(hoA!E)HtlX@~9 z9u%M#u0@5ZthoH?i+0(`e(GQh!>>0)z2J6Ewx0G};Zj_F@qUUKS9WK3#1u@LUo*MZ zsIq+0T_vpLZK}1-M{w3TKNH^$jxTbCru) z8eAZp4J&Q6!upi6s)hB6G^C()LuHJ19Dp)3kc)8AENIoP_SmK@$wc17;d9o~fz&v~UF`oIR8ZU8~iWewUr|LG5zju-3KGZ;vh}^hBQUlu?`Xf3Y<- zjr&zbtkD8vFu>A+6oV5YsCrIuS;z9pwDNvT@)NTne4U0$YQ&FiPDjr4KizGtQ z(yDA|x}FYruSdF2Tz0{$?dof@S#0#1#Po^Z0ZiMsXFP zHe~r5Uwx%w4N;PM?LA;QWw2Nj;P~qEt8VXk^k1K3WnhGss!gE<>}27!*%-@od&CmCrkb@f02D547>OYtZ7g*k$?29pLT6Q9<*Xfk&| zvvGR_qIY9y?I+s8xyyC3Psc%yoU@r(O}_-o8FfKNXJ^sY^hu+c>BBrFqMQ=?bA(_R z4QRQhi#fVY-J_;jB!5@#i2h`1y$$}1d-={(i4Q}c?Wcziwi;X1#}CF9-tb?!rpX-r zMZ!79Z>(SXx8h9h*XO>{ED(S(#6ZngIXYm&-t*$M1=9^xm8$7^_q#n47oxXw&-$$6 zFGXbOW{v1gy2Wo&r%_dpR?!ZAhr-2ajjXD~%nirCx>zC!O`c%G=d z?7fod6>cEWz;RVC$9>UW<{d!O68D@|PdjozI=f1C-9@WFNWaA3eijk4av(Uz4IG5H zOmR!C1tpXZ5&G_JDA@ca#Q;P4YFUb|o>5l&qBG->A9{iXB;PlK%!lYRa~W9mt4qR@Gw+IROe-}juqrWVYC zq9W5Go%}*Hf91LLLa$3%m?1N8&`F#QX|m?ty(kpACZ-&b#Yg)jR6IY<#`UU5gPc?E zN0EBXkG8?tcYZ2g?`SsoH}3!2p?4Qow zvA4wDtBaNt6$CL_nR_0Q*z&pEI6i$URY z;0RAs`1G}17g(<_$~;-_?d~F7g7f6)>_oH{%d62jlof_UePcG}FOk1!2Pa&`84GRG!S9iBq2fRJFShNAs+T)D; zuCBt|(@qFYI0YvC@O55F@AtZuY0mY-ZY#|r#TliAMg#HOcEuo$pV&Iu#S3iI&dG9R z2+yYtaq<6(2bULj(OK^`u+gNtdZ~8mYh+nYM9;QTGI3*D{O|Ar z`l}PVGJ&B}gVVd~lT(jEdS|i58xiVOP&B!P`2ku^praaL7JJj#P4#Xz{*KC56JJ+z zw%*3v0Sj}H)H>`$nmfMzMqK`*KjVM+@k=Z@kegB(@b;R>t`_|KyOQ)*=16HFci+7@ zj`!8xli!n$UhFU+6X8M3>>>pyH<2#)B3(8?IL)GZ7fG!ZdrY5hT`4T6AN8gr+2;08 zV-UsC0v@mZU!(^3qPS$;G;|k(&Eb<~(I}plQb>s%!?#sJ8FW}%KENF6!AynkLTZLp zxR~ErQ2x>wvEDP%{<}_jxnnaw$c?4CyK>;}bOQw#7Wf>|r@@i#oYPlBpHb&I;7&{E z)9A26c_1=y<&yKl<%v)IgK_uNVoaB%D`ylsrQ503ipD1l!+>K{m!IQlY2Z~%QnxCT zpL61=`?qGj@91N8(a*xz$a7^b>mq>nhHq84JMnk8;kuL02DbfYDF}J%+$9W<+z%ld zqBDj%N+@0)-?l7$8$SYP>h!&tNvPie9v7g0@!{FgN6RkH7ctT@Zb*uHh=Dm^l^s3+sPUNoeswVlg zJi_~&`_)P)U2}Zy+j|iv&i}A6Y*h5p<*MZ0xRRfko1FY8KO_oEu#iltqTvj{27I>y zVFdcxqONZ=OMtuyiNqgp>@DM%naAPR89y@(vsoQz5J1AMT6C~heB0BvjyVby>~+4b897C)W6t! z^!w`o;{{luWs@JNci+1CuDd+A=W%2XCEcD&$>tX&)X91^+IGry_wsF(qZECk0i3@g z;Un#OKToso;2qdK04aZ$TU3k41UR43cPqs$8VdFUFzsa$|r1;jWg9(S%dyr z@9i8CCcV-n3%m3S=J7e|76*3yGGQCS%=spSKzeRBO}*AZCD4hSfoB4DNqIr z3rpA?^3s#%f4Y_%%Afw&vST&SeStc9>J z0G+wiQK{~7pHU%5hkcK#S9za;gj;b8TbU!{;*Tr}PPoCi3ae3()`Q##lj(bFm>Xki z`a_cwL$ehcML8Rzir66yi@|BXG7I@beJ*NEA;WRZChnp`e&hCRR@_RZ_2irUSBSD$ zKTwqMqW#&3X0!|V2;|W0(j!(f#UJ*?r>t^ZqL%CA4_6<<^@I_YL+56W&wB#eoF^IG zDY2O;KpM^0`r&(R`MAEUPHT6EZbwraihn~N-Q?_d8m;t_O0=4IoG>82%(sJe7z0}n zCgNV${TusJ{6)K;?I?zxJ0Q`N>f89E-EYtyl)8DNM=gkBQ6S$9R)twROLJZ3P%j1- zc2z@p^hjG=ACidTXrY(Br4bgu8(&l(Mwuk*1wLC_$bF#f94&57$0ZqRTT&J+=$t>I zaW5`yD5tK1=9*oqhO*#Zh8G(we9!#Q}{=d~Z<)JHO}om``540YWZ69pZT zwshg+{I?n+2Sn=dSU|NWDrVvWa)g~rt1-!wod5n(0N2u7qvwXNIu<{=k3Jf@`?dju z04T@(5NIX4S#yPv(yDSZ;1ER=0@zI947*D5Bs@n%+3^7El6@rCKfpT8>NGfSbHfNj zDUvgumXGOdzBZO9f!)mE62!o29(n1<0XonS5`30sp5|I%W@oOYuXy$62zv;tX>!0V zv7*(So^QSq4xge1L_+M~zOyUJ;DZ%w*o(uqCeiRp)Oww{mw0zASkLw2M8`8b_Q*AU zT*0TxSkdT`QX}a=v-M&tYHxBBVn56*mw$2)WJ&7zK$zf89bDB+^(V&RnNSq4@GR`@ z>(I4I(@zemLO)$Me^HwjU3PLYfhbNa!4-ejZfd$$$1ROJfPluyQX}$ysoLnj4f4zA=_x>Tum`tuedPv!kB1TYf0g#u?8m&F(o^%pu8AOeS?c}P_KHWQ zbaB1xd&3ivEV~ur;DAj;raADAi3jp^v`^pbN;O>x&H-72R8lnLYPDZn{3YiTm>lD) z6lc#~D!L6x zSX^VA$#2XpWsQ~&BGKkv@+V&uuhsbUt*;1{QeQ~*H79Dp03eg!*h1Q)+o=1)V7k-I z9+0lS;OOV%2%x{8Og1VAl~pwXCmH>IWPrz}c72vW8^qo5&J5jXko$NFAe6^zni;_w z>*Wk6I2)8C-u>8u^VyG4v6L#a+}f(5f*pQ!M^~a|fnp)K)@9J&#sX4HmAP5QX`23D zgFkhg&dkq)R5F+O0`IUJ8A@>wIoKJ(snx#0tRejpYVS*iZ1#mK%trq#>+Pf~`i;A- z2apWP?rB^j9)dDNI||FG9lY8>p0`}|=yx}KZypPfkw!2765~6X(neVUrX4GzX`}73 zHR2-J-(RxpW6U=1O&rSI5OkB_tWnl2K;q)etJ)<{F>@u)QU{pHPhyxU6uNA2wHTc2 z_M1g2&Stc*-q-{A(6Nzn?djxi_x@eFJPSrstgap^$y4eVY8)p)iFQVqW<@ebbV+nF z-FIkmE4xGjD7}{$#IBPfSf3u(DG_TOZ0gfncGVCSd zx$d$O1w~QePH2?g3^>vE9(crR9ULl^lwy|yBYWHMTwjCDrNw-wcJve4^_u$RZVeNC zZnf^UKKcX{rOfdzrPuWp26?&13P!Ta7{?MMfb0%g>;IJGsVT|JyxDJoZ5D z%n?7!=%)6ILpEbYB2<0$aiO!|GSv=M^K3t7zn)mOCwsAXQ99mRcfmlR$8K?l61K@R zafiO|a`@72R)Re6*QQT0c+M;?wU)%EY7bg5)ZOEF0>9SlkK0y9^?LkkfB#B{BmIS< zBf876;-mU&3!-QJe(-ajnJQ7m6M)QfHv6p{{%_V0%=bz9i`*!eO+*QCw^YW`wAOvdVv03ulw&s2pyjP>r-}Hkjio7R z9nFnK*Tej9hx$7dPrx@z!kA)Kl>70QM$*>nDrzC>nFC+4Qr)xq=Vc|OZqE@$@;&%N z`*iV{nQqe20S$wQx1G;AS6i^W)98f~dDAkgR*f}&eOBeXQQstLO_5>@KRSleNwt3Q zPn`trc$g3vSbPj9R!wJ*d+!7@X+tTB=TaHk@S$ z@hm^hYyar#+4J{LSp8rSvzB>CH=kjmKWna-2@U-5N|rl*|9_jcLH@ro&dF}5`9TL- z)>|;xE<45hg>|`F@#RHJ`F^+!IRpW4(W~*see@WCDKY&TA&jP-kfCz!{P~z5kNQtO zh{by8bzc6r?tvRu2H~LII}vW~v9c)i-j9j1qgbw%N^w`Cx(rs`1BGX6kma@6Y2PY; z8QC-ajYUj7-}|jfAhCuir=c3SA>&Rqgc=7*s4CwpoT4s+$3d{}3$l44P^1~Dh6FNYI|p|=l`ggc%=I#TarUln)XfA%9XccS6g?{xcV<(t3l zWk1^fqbF(0_V(IUo&twxChfSJ-?ztUUA2lq{o9y+Q?xHD8#r{!x>Q2`7`~WIeieY* z6Zjh{TiYEp$&bTnpb}< zZxt(l;@?0Vh{)9Qh{PB(Hp=!FKc zY|8Y!MN7Y93p_dx$ZnMP;ZqUYQ{flY2-Stp3xA;dP-{N^kU#`zUAgA!ILz;Z&mg?F z4g*c~c&<4kIbJ=aI}y{Jr|OuB#rk?vTf((5@!^!ij}T1Yw|jS#(>cfq0UR z_w6dAG?%Yo3OjJ>6p+`xUDtX0H1nn4ZVuo0zTDQTW4HWapJBakf2k+M8qCW@-^xlJ ziyzN@(pk5XgWQ-HpRab@K~=|~M?V`9kOSil)lAO1hSUJb`AzseSe;Jt zKk-8!MknXX{rWTw8-kER)X*F147;8Z-?ChW!m`Tmai-Hbc|hi4A7);|^VGZNP9DhB zO#+v6Zd#nVdhk?QHN=irF>hmM;>xJW78dZoJ#cy1cvYcGz>nsPnBb4U*}coo41`$k zoks-@>JU-{A;3Gi!99C>6PfPRGo{XV@6Zqhu1ovMqD;q%8LrFx62F&VLbGlxEH{J~ ztna))O66j`6EB6>aw|PW2Sx!7{5=8@-h-peeTlAKb{}=VSBcdvTRPZ&A*)(qw%Q%PjZu4%vp!uRADF5!6%bqB1w*Ah8eAGSrveW%$8iO_YQt zWp3Es=lmC__uxMDm>*-7=kefxvcl+)ZPSksxm!vPV_}U)Oh_`tOLF z%W^etrr4>`RDVQS&5WUvg zZ>P^!FCCAF1wrbs)wM{^y^wNIDP(smYy2#o$U9TfJzz>zPEGO26RApyM;e&C*ez@v z)vEB^eyj<(_@-G1$^`pl-O7eG9TRpSizo-A%=j_6Mm_G1fsE-(bjQaABHAZqHatuzUbI!sz= zawcEf#|)l41VTp?4wDPqSdE=0Ej~=pxNbpww1Ga-A}iI=c6TD1%*MPxW(`vMH9BnjA(WuP z4L;5^WUf#TsDB4Wpz!x*v29y6^xOGqUgh!S_^j3zKf_*jU<+P>>4rk-4QPa^LLuwZ z9+i+XAa5b_xOd4U##c8knilWR5?dte1{f2cy^pdFEUzqT5l$C%+kR9wh*OB!U|3}~ z*m2j$?OV6~-KP-SU0WkO1Q)u*8)N*LFp-b5N#}a{Ri&EoHo}x7MMqrPYUIEeFXocH zm`M$o4_~!63A-_MBYAyZwkawMFu^oPcTir)ioNs zeCMuyEKvU-8PfzLAl9(UhgtB3aF;?+!*K@YC&k++j_TT~%ynt6wo|P`rr*hG0E^e? zl9eP=;*K7WAE)ZBS{25boI|MaAG{(gwB?Rh6-k7;j#qON_;$ zP>dx{^e)!j7!-~+X0sN~lwS#833-zsaYOi9v+~$~uC3*n#8BiqJI^-sv!ZYB-Vk28 zhySBggeKW?v9L`%!KC0W?q;&rdVchn2fE3vb62g+uy6E}qvRESO~=hP*VWd9B|@93 z#6Bd~da$^SlNbGlJrKJ;Wk0H|?C@n?{;uX?LUu=Jex>LSwW_o)E)aRdPS)??FaKc7 z;dUyZnl`V+K6O^t{5zYrvT5mXk9PO%qD>A83eUETbh5cq?^cEwCvIutI*w-HQ(i1E zuaEL+{_!*-?ul;JTIQXEFsb-$Y9JR-tyL}cHfkmGg@~ElT2ChX*37LKXAE1YqjlSR zkL|7&1_3;o|P6|RaM3^B>@wWSoyPoUOHeKfA=n;|*Zj#Joss}dSuDp2p}RbEP0 zDa0FP3K^oGQ4%V3*x~}8Kdb^wYnQtjemH`-D6HS}xZOFw8puDM&EE4j&HO* z;WrzfG+iJj7N8^Rh;p+X4^fDxU>6m6_ z6lY-GI^I-tF7{933r&(b&1oe4+sp`>E+uSIX;LVh7CkuGlnQyb2xW36)#1|u+8X`h z$}3-^GDp1=WJR(F{ff$2TVqa#9knMDeDzgcTeB@HG~Cw4XZxie8Rso#44C1j2jY@* zrBiy*)AC1vvqnNg;i2ONhgz}dz<7{eqvY5k%fm#ExIt2VOwk;_2PKTa-|IZq@wAL= zSfA-*+)}D=Eu^_o6!^8OLpQ@Etvc*#Qiw@5z%S&crO?Zl!Y#G5hdCNt3tLuN&tFp{ zCw&9g?~Bw+G|=9VBJm__w`xqu5#t?lFWPl01y`bT&M-@-TdFl)sK5W;3fJ}}gM5r7 zUR4AnNx~3*f?2D-h$jx3J&6f{+7cnE;&=hv$^rl6#{}LMlGK)Txf4V2_+z1Kn@aoU zv8Jxxr(dqU4BMy z-J)1zGrdr4=5B=g7s0)^bo~2)7n0aG10ga!9p8=n?|+ooHq^i&<4sO+NzaOW&!sqdTY zPOe)8vko>;Fm?^K?XzQ~?cGC7{g1WI)0zJ6399}0jB7Q#u8rlaH{5(q(5phS>SG?>$&m%wkxp^5)?)c*0o6TnwuQ4Wv@B%v-X&SpJ z4IQQjb$XyZ>R*oaHHv=u&M?2yud;a!T{|MqBdpV88mZ~o>}xA9tc?N%=Q zwM{*I(>Qb*w5A(=h4cD1VYH5}rpM3de;>DOb^!PAB3UNwI;r+AWEoUNN?4-95A+M7 zhA4V;=FV@=c%dM(@w=#-7a5q6hF+yV`u5FKh*7n7+*W)!CH)88i?do|5p|gyV7yx` zQ6>6)kj~NwFD$RtzgVy$U)!Vg8tVI(u`x9C-w~+w^mO`2XU-XkhsxltAt*_dfi_O$w}a-L}SsSHbrF^(fQuTU;yNwZ%X>43M3%l_FE2`nJu{g zp2lAxSJ4Q>*5l|K4`HQo<^b9~l&NozlJSrBS>%XS=s1HCa|0c`nN5>Mf}s0#M<-jB z{8d3^_a2WDlD%N{F}i~_*TRp?<@(w78}$DkNN+zSDW|2kRBiy!5ylULJ#Q8GBbWh-P}O*&_d%zgM6*LZyuOBx>)9vo+4%?mc1^n`OU$5JKvubf4F3_T$fzPG59;EDE4 zb^dTHK*9||mt{8NhjA5#%CD9&1cUae28tB2y+V5PJyZ&kI%_7gkvU{7FnMo=Yu?xk zAePWlHg90cwZ;!{g;aOS(KA5ktzQiJ0530hb?2!)n$_@%GuC0irAG`Ra2fMzpWRRT zb#>iwMWvfz&lejIC(QDRS(WdGeg3%nh9BP3bKld+5|HW1%mm-X3aQP~wpQCTl%{66 zby4srRF8j}{=I>$$(+m{FO$WLq5#?p#oR`E!D+^5;A%<-w%lh+M`$Nt zjlc-QT1w@R#~~FP{B}_QG3QQM!+fx}F_SlKrhBQ@LOgsh&}ys$9`&OAPpguO@a3kXdG8VS}t0!+4>yA4GA$+E0-?O)CD=(j79 z_eu(I_`F^g{z6TYu4#KQT}SJZ9%vavZ$ub6lb zEaK{2MyAJ|(ReUQ9d9Cd8Kx%q&=T-IQ5YfKuG$1cYV$TeI1FE zYL_mLiB*LPkWI|aNAwDX*EkH~%Z!5A3&LV0fH}TWRMR%i(cUT$L>+=%bJ(*_?IE?K zd-t`}*DXd~)JsjFF%@f*zG;?fiqhHf5VcgjhubDovWYstr-E`lGXs_JWUUetov$Sf4dTH}B-B2;Ea;!n@^$}|!FQ@qp zUsmWOfq&?zt>M}h0e{!yW*gCn|0LlCQC@zFtxU5h{7-Ki%uQ-GEfjyY^4t0f!JV5j z8}5&I>cpXY^J6IWi*nkBx~d?hMSgbty8x7a6`oHZig0s@=!3}cb2BKfwm-{I>NvBq zZ!Bv%dfFrZTuyqx;7N2}wR%xDcd^p+^yGT8MAadxKdN_+E>T~6L9Hv==jc4zXxtJhoWie)&2m$7gEmz-fy>%4Fd5>Rh~X%>BLDw}9+ ziL$;=EP^@CKIg4->!vTMU@JtnD$k)Q%WuJ@(p2%@2c{#lSbjR-oZ~Bi9DkT`-$?OJNLfbb~nj%C#H2pu{t%Bm#40l``YujVH|VvVlH9bkQ`|qpWh}yBn6}M3mvk< zo`fNR@8E)DxE&{7eiTHRDYFXl_(+kUdGuWl=Wlic0iDo6tAnZz% z2kv;T0w^LOb~Y@H?DCD2Y7DR}n-RjN2O5{RGfV4Bmz0#`Y9E_&)U1$v29g3D z_^$K<|Hv;@(9G4Yh1fggKLMKdH+5XhgYp_k$-&NS% zbhG$Qdgnn8wViz6Y0PAb#h&vVb12ePi{vHwLFo$9?2&Hr#+u#?+F-bQerNqjNlBLQPTEWsWd879cZTS4ZpnQgg^4G}j1ImAOKOG&+p& zQZ7?eJY51mbTVPR{%_=l<$h2CQ=o1BHlo{NDYDR&`owwe*cSbQ867VtjNVoD&s{e; zR|}DMEP0of#`ZU+hfOdn=_4eHFj7YW;~9-g-#6zrC^^{oRgKh`lc~GxYpeEMuWYdE z=n%X(C0v5tcT?5K^?6dR)aN!qqVHBxpu2R^Zq7z)b4oZ4l>|JlIp^X_P7Y+MbD-C^^*0~M^l~UFGRkm zEc2b`2ZsYhbR}D3FnNy>-L%ezIrK;rBw+oS6W`l6;m@6HS7+4!{-(E=i*Xo&Ju>8( z`E_hQY?DVWL2TY7sTD0S=zY1+%1+OPvBg=#&VZX%S1_I)I_Zu^uy@A7@hlG$5TlRv zBgcw9oR8~WYLPW+&F5OqatO0pV)|Bl_}0KWU+@Pvm`=2Tbz`(--QjUD-`kYLK7LnR zYUr-+^#8$^FP#fr)))URr02C2pJ{FF_reK6ccW=6TaAt{4(^uYddM}fC!!SxGiy7W z>0NUqk8j)b-W1mje|Dg@gQ<{qATtpZAS3b)@@RW^zoEw95Dk3-dh6!1R#~cAlQNeI zci*V5Vq*E#BsJt8*I(USg7(0%`>%0}uoCg}y@zudGTG%4%YcT#raaMM=N2l8A8pMQXdr;@ z{h?Ng_GjlD$}&`Fi9}`6Ea0=yD~Luhp+VAm(ye5HN8ehY{!IX$Gc3-%Pozn%FMwXT zRcZ>ImF`)?yqQYZD`~1=jxHqjMLQ2?0(ibEbP9F=ChxoqMrC3kfE1-vR$lLxIts9# zqKIvA%#+MM+aSk7wWvA~-FyxT$ybj#2dHJl-u>(#B4-e!>Dff~trR~%^y!AWp470+ zfBl%JvAkELPoJe_Ydd00E&#B~4X}v@olo z0Okk+PM@AD#p~>Dc1+`v(#%3T&P?KUcDPIpkKNrJc71QlOVg(61sGrtuBYCG_08`` zMy$@re&J;?0b9Cxsz+Hn=G2&!k_n4Zt(}~=ATV&rJnJ~VS%hWknuwQ0VbwHJlrQ#=VBfPBJs=2l{VTOOC@nYb2XxF~G z*{)@mOlh)-Wu;Q|flDdA1C6W1`1WFa_Wnswc~`F@9XBVipW|BAH=>7b>EIlD#5Pg_ zOhZUBl{P|HTC2fF-)jwl861qE+D>`}Y6Fd?)6Q)m$Up8VY{Il+O( zrylCUAAW3EuM@HD^CMR{UEh}I58ydQn}0kdlsXCYd~@b;>Hn4GJ2)wP1~bbW%yG`w zvEjof`Xyi_NL!0=lF3T8U|zn;4}rJEJ{aac&oPXtW1%)Qs(f&da;!y!5O|i;DPhbp zssX;US`1%{$JZ)|;c>_Rv}j!0>IOX8-4(Z+=F$jN(rW1;&JojAGp%@W~pp)ok;K*j=9Q5S2tJ{##yFeFEI zqk7t1pfNlBB!r#FTT@eM4&`Y4oH?+zByONo`}S{mrj$l7p}Vouga{R;PhGiw#(yWm z?amX6hiG6)Ww(%~fc?_1oVOnSTN#eSV})(f-|B*J=X^#8!@yPkx}}mG>$=&BhQESI z;l#leHTu!!Bwyd)W5`D9&k^OqTacCcaatz(5-jY|1Y@12?#a^L6p=k#xl^YE-S$Ak zNrD|I#hY8d9LpuiKMO4w9Z?LLIGVs`f`Ms4TTI7fPd|?NEZ?0atPtFlC3`}7NwG<` zPu1o=pfq?OH`t5#ARJg&>jbD{e3u#zcpD4n&S1BL_)OYK*pcI)!srHJnh1@GRfo{iKh6{|3gd z4iGE>zak~r-8Vr)(w;+uF+t_K5g~>nLDKP_8yu?F2Q+CQ)GI4S+Xv7~!HsqE+C|p* zGICr}k|~$;gCYq@>$8-My|wQROAP)i1IV(%Mft@r@gt0zFk>`kWhbl3zl?WOnQQHr zN4m16aJA3@u#k}26QDajQYB7kCYY-fvdB&<#h$9XPbVf?`@8l4m1&NcGNR{gKD~a_771mAEZ}*7b?ZxX~&b7}i z!vj(zM-)?M-v)YtHdH+FPrdp~tE-kT6K%3zmc~Iu)2A3iEzp#}IQVd^D|6CG*_ar1 zCi@)hVucd?!!4d10nC3yz`jqxO;eL;m8PT#zY2x=J zAO|Xy)*&cKH%4e(4Bj;(Yx&Bww@{%B6{X0Em?*(Pk=t$4fl`YgEA+b*?b{O*+VA4; z#s~U^RYtfAd3zgxGm3KtMvE~^)A>3u3SD(hHMJ`Mv(;EDOR%InWZz1+T7-PZe9p!R^*x}f{ z^d!|ZedW~E6NSL0A=*I1c1=y-C?Cqjjdip1YKN5h`E$@5am&v7z5~u7CpkI_ajBgM z1ZfSX+JNJT2>6aQJFcrlexPq2ufA;d3xc_X+{~(1;`86-R?YkX;xD5EMfw(%pqmWbNTE4_o@ah=ryl@V5HX zuq&fK&ge@EWl;D)s=8dNqw{27QMUk>dUr`s@Eck z5!;%-sTATNmNYo8+4=DY?e3LX3u5J;w7^TX1YYNmMveEEe{yaG!1wQJJ4P9lJ@mR$ z9$6-W_1VoUCyv{8snTxay~1S14<0YYm7^WmRP{>=@1&R{6HN_ab~K@{_Izs8B3a|u zHWkPYV|=uZ&ZCsx)ls!DzF!@fSlQPI5zTvC2<)vdWD7MbTGbr36p^ z-m?D?{afvNuBg4fjsB7kT-#%mL!60lfI z>f`nEFH3T+E6c*=rPk|PXk5#h#PkjJ6JTfU%W7#GEj7*$Li|0%`y^p?`RMGPmzGt< zF~cx`E%03+;$gGg1|U4haBZ3UR=ztN1fT5n@iYRbh$rWJ4u#@_UX5@%($MCfz4BM* zviQi3$T&zLTV4}qXn_N`9Q>q{YnQLCv04ptz({ij_0=dZRfoH2h~zCD%#eq}w&VK& z^K)=af;DKh;zeviR1Ijht5z?jaHOs}Z@gJSd21`S{BG-au<8 zFLe`@7*yGT2hDmIlwyIYz*}vgk!Z>V#NxL-X{F@YSx{0qz<{uB>pbK8eD;HVy5jD4 z3YhOXTZ^n$uAc?)2NA&==LDDUbM;6DS~2#E5dZ=Tve8d~fSkY9RqLJ-@o7pQMg`(p zocP+_1OozGG}f*1^_;QiW}tvF>NX%X^{!#2S!)R>_?GT722Wt`!OOQ{$i`OXYfNt< zp7S=T9iF~*u=0p;$m{YR;)CVwRJt)AYHz>**voxz+~Hl6V4FYW1dTY~`JtqO%H}c4A+ma8OrISt`$55&vngRYV1w;FpcB_@na!|b)kEOD~UTb$? z!QnDHKt5sHy7`J^|0150R3xn&AihQBuZiLW_{ftRLTlBNPZHWrx`?AC)X&|=Faj2?UhLPf$F0w{l9Wrlu{k&g9ul|i&fa^KQp#>wH8wZ^mL8q4a^rbZ|B+S}UeaAdni zK#EKs^IAQ9=zAybmzkyhT%P>E4N;_Cj{si=C)kf!vrodnU!PfcmP=Oq9Hpq6ZJu(+ z*JJDM_@gb;68zln@8a>YozlpRCdHCNI)KR^&QZ|tNGd_G_}eD-e94#Vp@vGH)b!B% zm4;*aK-}339r7O_T`+>)?m|X! zHyDp~Wghe>e&}m*!|5HJJ1wfTdK(7uOqw^Oan(tP1AWtvlR3IXc{_29?@}~JyZg(# zBn8wK3I}CbeXQnqrEZ`tq|#$HrojMZ@V>x&q%#J2X;mIC0{PUf_a%3(6o`Q+EQW1( zNe7te-Pr8dYgXh+=&oXV>+F)In|TJ$5F0sTymg7U`=Y9oruV%`_%JPCa89C;6PWJ6 z@YoEz*=-XRWToO#J9n4t6yC3RMAdsUF+&!dyKguf;!%a%R&A(t{?bt8te<8=%Q)Zb zE;9`>Ii9M=x^KKJGk4^ixbQS6-!x1K+o}{@8T>4XjL){EzzRn1v-de3&=U>`ntD#! zFD)7@UE-!NrcJe}hoOO?43U)0EGu-HD16!1UV2#{HL{!Eh`2MwpD3>N~p}d96^OitcPg_zT`*32`fF!(^3X z0lAh%Wu}zryr)WHdB>j(>F{~7XS`}DVNB2c(XGh~um@h>pi@(<_Fz=;UAWY$gL1oh zX3w>4A;%YYwMZ@f_1rroAoLMVXfM!@f{wlZHyS8>UG~BC)<}ymc(!uQa zKX|Ik!C|7sZUQm|@%*6upK_ z?epWI_`7$n;=NAvsA-xH;#aa+mzr|zthM2(zjSH1E6Vw#gXC$cw?AIg!k=6U#1{;5 z-HB)R*hFr{vv2aWIsPUym#Oo{-!r?;Z)kTDm6NJ9IW|#Xn|It?&I+ z;?YO`p&WoEIAG@><-uy_mnO|o1;R)Q@bF3Cw>hv3wY`&cShP{@2!0OQZ`AvKLYE4e zro7ksF7LBb-!V5j(Kh2LBQ;Bwa$M{vuGUpDhKA;jzii1J@rv`MYS2&5-q#RfXo zLhk4MtQgdK4()L2ty%i^RYfeXyZ*R>0=LOOvgN{yNEZgj3OK-DvP-acXhL<~SB#I= zmI|aVaO>i_0!{Q4CdCpcPBvlx+S?d%l-@mm=3r)hcjCkNj1HZX_u5x#c^p2|GGHA9 zf(ZWNaRP@^UW%TK(@~s|lkLp7ElkMC1Dh4ypfKQKN$L(zly_Y-2siq<%{@~3 zX(>gK+#4uGE0K+73JgI~^XnDEh61HTYHJjoMHocmmS0aOL+#Rh*x5NH$mIrQo!PWh z5+?mCKE3_$n}TT3j#ba2HiE#E+3@{Io6y9kwDN>s8Br+Frp5b07tRxaSCEc_9{J^c zDS?-LU|Z(HG*wzY2SkXNB`lMsF;gG9iY7b96V6rV0{H|S!f2B)aa$Rna zwjQv$pyZU|v39?$$Gvi>ptCPo$LvoASI8-RA(jn3MKBYE0r_vwI-P#6;t)o!Y|^)| zIv*$@D?qWEB~^MePlc;eE`3ug7HtQL;PylEObq8}Y=U@B(~0Jeg-L#t0er#L_(qs( zdHaxZyYug4pcA|G#C&$7L?0;2tQLeokv4V&>M?F!)fJj9_cp*~r-622N7O1Bt1P3` zc>=a_$QSqiaYKc%4=OnR^}*wswUxW_4ng>zXDQAj|1}0*wM?1ThcC$j3zN6Kp2ym# zh<#YOmrsB_8@76Lusy1_v;dTPYvIEhKcAiHT&fA) zz>P!S!5!F>pLn7IKjad`QA}*};vNZ_o20VbMP*T@s)q?>j=K>3tQO_tf(=;Q)(W)d ze-|0bRkLubV6Q{lNxrZj)|1JCJKRcNzn=7vTIwYk`^PWuk!$@8nd(joab#qM`zTM^ zmv8#S<@u)!O^!o1E>Ml*PD~Cfb6bo!B#;-Ai0- zd(8rm%Z~2)x$IB;1E}W z#T)u<-UU&mtcC>_*`G6e@#tk0>Br>>z01IeBwHF)%`cYz^0K&?KX(1_cym`~`0a6) zpw@HFe_jfsoyJcL9y7IVKAt`N3`*qkzuY6dP zKkNV9^J4Wsb&?Zh_eso`T4Zhuaje*A4N^$AL_!ToG4yjT#AZ|oa|W)wPqyO`Yk=c2 zpU0lZrtYcYvPDNv$XwOuC!eO5lD!$)g{A^D|g@Bh9q*Im>pcS%o^oU>15TL1`WbO{G>z=Km42bw!= z54W9$vr+54ngennzBjH5|MTgM7R&M(-}bxR*{?VKpB`xoGXHI&Vc4=i@HRB4LA|zH zJO!w;cRzo`M^c*+?h_2hqE?Vw)jq;V34uCxV4(MNw@@42LN}qmf7(ne;kgT0p=VV} zP;ex3*&(SfBr$Azu$TaXtxtz-g~UQsT)xkYE^mz7zuefSp!{4=xhfUm(m*lq8qC4^(hb;I1$Jl!YHNkx0 zqrSd2L{yO8R0zHICi+SbMT&$FNa!6xZ_;cOsY(K&gLFtj0))_eZ=r`4iu4Xr6$HKh z{`Y>lU+&!VVRyF7?9SOe&pFTR?(CqtePJZ`L)|pf!8F6aa%5?;Iq%vKAmYwf9_UyR z0yaKKKI~SgK4)M&m>CoE259cL3GYuu2j<1tug4^dfdo>!W&*p#ZT58pOB!vNB?5SI z{-M7vOL-hFJxYc92oKYkrwYa38m?3klG88W0e`E4m-2_xWcd=y6Uk7#k|I zWnSRsk~rIqT~AKm3$L&mGgWu|JK*t>0UG%l?rN{qC3Q+&ww&6AnRvnbf#^of7rB(F z($y-JAOPYcGZ+iJ?N1Ph3p`LSmXEqM1Bs|?Y7+s=Q9sVRYE}QOrpKkbOX_hWX{2^G z5br`eD7KSEQZBbX3qp-iz){9M_ya!zCa=krJJd_i7VQ%^uF&Bdy&O zJy1F6%S!g6j8z4F=B13s4!yx9T48ej;xBJL=su?@Ry!e8e*Kd-CTp*ePshtZmO8z= zUfbIM`uNLx&{ZqU3-ZPnKCc@){%ne(+GRO4i7SW9$ns=#c%UmBI)(V1;+3^mYr(=3 z&+OMOD?R+dFOu)Y-Z;zZa5M?fJr6c^9$xbs<=Og*7dFdx+P2@~k*TiJsZ3H2@f_~k z7kn8FDUbP-0(RdviKj}73D$rw4`2cjq&FV-1(xlWZ|yd{QU9 zUxr7FL(K<+ECY+t;_xCIpd~3GzQ9~7%7U;TPW@Cm;0qRKDiAN=IYv(BsvMGW4)Yo& z4gBfYC5&R7^9}9NedurMk&Y=>Z-HmL5CXUk3Y3bSs|oo&w*S(+O0%J8Y;EVR5hi3 z!a*}RRc8#BlEW4LcB$QCOHl2IMu@^~m0vcPBY%mxia4{QCgocf1c|fm! z!0aDYh2cqs&t=n3vR=noXSnXblJhHqba$p5A!#4u#>i;gvh%1fSXxth2m0&S*hlB4 zcV*LFiO-OAa}y&LXO-sO2C|uDih8n;LbHbo!f%x}7mLnK>VPdSptihCO}zGt5>!&F zD4^J2{@LQE-;kL*f*}djoW(f)Q-Egdh$;lYjS&6NTGacT=KBMmfaS;Ail3kS_mcVg z1wQg;xK6|!q_08rwCty4+u<1QotPA@6*R<&pF-%FI7ar{nIXH-dVE~HWLaHXRp6vsgWxZKv#!GaNQzdOVMu_7hr-FMMaTJ-Y*R94cH?c2M{x<}7_SIhnKEHzl>^C^`=L_1=H~pRL-d zk~XOyl@qfnq`$0q9wm}iqS4zRf2RwZvW6J_;;U`@h+dmb^;RM8yFIX6ZkG%*E-jh* z7yHR1rfP#@rPuAgmmLyp3S^zVoB^w=rA}tn3u^t&IKJ}G;q4tuacsq|TaI&{aNeD- zuRXnM{H*Zf-Am34>5b%rJ@@Y!u8ScD5G-E%N9#n^N}bzoeVyv64YRC*k3TN7Pzi(} zfE^*nyMfzlKEG^Xgchh$K=|_FcGpZDIe$MMHYe9~4#5!8FBg-|3lK^}9N(IwxzxZy zSpy|hF9L^p$4&MU-+~gm%9WH>+#V$$wpi)fU(I8cYG}At7v~DBKR>%0RZdU)Gu$}n zLUqej_MJ67RiUBSpmbv3Ti3i_{0Yh4T+J^gMLujVVr^irnb;(|_AB)-f2Yb?3t=Xd z&jx=!{;01*;VOlg3xTi zwiemcIB14>p#@9{3$qNqzQHK+zH+$Dp6`@f+h7CIwbfLR3)vLPp9m3FGO=f4d+$Xp z*Elixpic#}>JfLoEA8Ki3vrL17bUTn$$|Y55!5R#?xK4$HIV|HA{^=K#1KJF#b`0@ z)%1+rpoAt2=02l1Nx?{Ke(cQy4jqVLbedXGlq0>`7^UN_SwU`nnN5T`T9bX%e4MTW z%Q$eGZZ_L|^-Vnay-n7?9&Qg9{18GpA0qD3*;;VNxwvPID)K7q%M`{kuVm{aguv}9 zYkt%hjy2u>(oitX*+GBEd0Z7j%H5aP53R$Re6B;wFlfkVcfTlVoSEH$2jl+9!3%-k ztupb7j5V4p*9%h`2(SgIH%{?wpfsl;iCMv_VsBi4s0`$zBZ;9FA3NR&F4vK7Ez!A^ zid|ZBKCLDOJ-c~(lU$KxP1K~%Izg9ako=i_yxDBiX zgovJ()u-Irn#0V*A_Y$$96UI#g@4EYK4=J*YCq^J?kWxV(E!|s}o5rnpn!TeQ;hz_<_CFH+qH5T;89B zx(*z+jh+JmSuB@0?*}YPg3lra8Kd!K69V2bAbLTm`wF_6Hmxtfcjg!8>_!m!b@8Tk z8%IT6)G~c<-r^7(;uek~Z=D4N*T#COtCFp(21d%^ij#fI^7 z-FMA!G82)^OQl-tj0P7wG|KwJbe*Voo{$7_E@o0H&R8WtJq9H-pyuSNF znE}YMsdL$+J;QpTy!~-93+f0vmVA&r*%;Y`2MQFij`I8L!^P>3?TK`=#5rWPZ9&g`yXr=OB+@1g8Zr!+}p`xOn zxcB~%z3NGr1SR6}i{~e?n|;WqudYAI{Tq(|d4I)psXzS8&@e34oV27~>4Bh;1oCwU zu%Fy7dN5g)eRIV933j055#AH2k18$VkDhSVH;i_UO|P>^0$ysfOZb=r#-~uzb?AaT z5&AqcVhv|Kkq7(cE-NC!UR`2da=>r$&Dh^b0_jWw5{Q)NnigXjh^9IDfWd7>p~%hA zx%QtU%+ue=>>oLJpBu6=DGv6IvJgLR_-cco!AZ_=QcMU|u#GRf!phthZ32o`c9=NI zQbFgPET%?Jzc}if6XpzVe2Y6Y5$mUaLHwxeq6aUjc%Z(cY=WvX>MQjSbYG72W386l=MCS}(jD=F~bpuLJ3O=rLMv(>8e z#dOp{%a-TT=4*g8%SL8%_Y8ZSBiH(>r4c&0p5#hTa920%BD!_M6EuqSwEQ$}R|DqX z>ea=JFZyRcJ6GV4uAdK3n6s?YQ+|oCe48}1BzC?dK$!>+Kpptya6b-E4vDfK-WH$A zxoQ|3loZ~Pek1oeF|SPJ1o&_bGAjIX;wpH^=hnXbvrG zvAzBOyMJ4qv1!wIQ`FY&!x*a{O$2q_h7lj*8&=gnf7u;Y9ux=XT__G6hz(3zOkK=c z^c)|<34cy!+4mxaX2ovF;q89t2etEu`1S$m6#Zell#|IL=aZ=0#?a~R#)u7U}I27taNsg@#iihMWW_e z-m_CG!4fbo21W^YA~~NmC;KAt30D@Ai(^NZV_tfF`!Y=EmCPN8#}HbUr;_}|YNjhc z{4G;>NT1N+inh0x!&SOUaz-{>XS;7mJfVkg&9><Ha#8KCWK7fRnKKHxtugEI_J%4O7r>WLBx0x7jhtQCu(|`Bp>`2+* zMf=6uhN#o)Sz`R}(`ygI)&6^jL#PYT@wvXWPjQg&EJxnS;{yCL zyZ$@50ND$cpq(y>Dadr`_nf4a{H?AmrPL%LVDfmNRjmp^?$8=76pTeAo93yj@X>OA z3ek>>y(z&=6S)23q#wEtjkoua_S@ieZ>Jo5`TV!m(==-B;zVy@i=^6RGTl*in(EJmPZH7 z6|r<}gG>64X|_E}im~Y)RKG2fkKM z5J_~~Cl3*)aUNGpldwSl2d};02YTN`-9v4@&r*9hZizCicjxk+L`~z9Y9pwWYp@-) zMJGE+JzqC$|0oxV%+0>Luw?=oJoz#DoS~oH6+sX0jW+&5Clu zcwY%sx(V?8Xk3jwR!_mll3mr;_0@{2?b$7n$WUS1E^CUbhFyxxXhZWl_Qd4Jk0&*3@8+y;B>+ z5=0Dl_(Ln21i~Ir>9*DK2r;&z$vMIPo_Lx6U1=hHaM*B~TgdQp(;0M$pP^Lq9;tGwoE{NWoP7laW1TQM3#P`Oqj%i0ih%`WZuPRDcNA>MPhgnKC`N!h?_ zI}QbEkBxxxU-|#5N4O{Ak|w~T{kC+QQ{2Kh z&UU>q3f6RM!>h>rxYsADw8~8duzd>HQnu>)=SApA%!PsH>2l4fef?@U!t_3MA5EvV$Rs1cL$>Iw@$1ym?&B$l zzhwob9<&97#J{u}W0FbFo8h4oMF3(<>FG2WHsn+8&n>*Z*7Upx^@mAgVwuzD4EQNP zkh>AKVsHF-$JbMs;AG;Jz@U?FZ(1|9nR*LxYK&I6eXR>E0bj#ZN3!%*;CRLq)H^~g znVcFWY1%eV^dy$+H7@5DVqUGq#tqcku5xN ztwFV)9&lMusK6?>&`_=ffGqOIuLXrXVAyCO#v#GpTM7&s;d#2}YN(^=^I^Y(x?Aca zn5drMl}iug4}FWR-*T73Uqc5@hPPj|@A}$>$1?Y7^>RdgegCA3KHN}Co&KHHjkv$^ zk(>L8R`352x~EUH5R!oRcm7xCmX!QI?fu^W2qV(73K7BNB0>gxW&Fs-*!) zR9yWlE=BdjKRJ?1?&Es5N;8w*GUH6o1ZLS>!dGEpcM_| zjptIcUXA7Z+1P}N{BA*j`NY4B2)Y-XAEZYG#qKg`9WD?E@oy|<*@Ewlqoe}gdcdaz z8+rEr$WDgrW>ubjXB0_X=~m9KiM;93A)Jv>=Q*(5)*_nl&qvoi=W+Z&({@YY;fOTD znp5s~G0d+z7>G|JkIe+g>xgtuc-c}_4gaHjR?_2>fE#;*;r(-=z%caeud3vE=p^8W z9-*FM3SGjf8|ZJdzaZJJ)gEJ&o97nZGsP0IeA)x@j-Pf|3O}HK{(|XnmVBEKrxCHc zO6JswogYEy+CH~K>HZcEzR@PkR4m21qh`Tk2SDCt+T3KPTTtZD82edpK692x|Cjw; zm!y03vmfy=9PkAJe4-(N(9(Da2){$iP4z@W1$grY;^7y>4Ld+$VjSQ-3l$$Bi=2LhZdH$Rv!F% zv}ynyg?xzTXX_y6e#``d|0Ffz)6@cMex=u_u4_1o)-z9pZ98Rp4cwECHv#$@B(5~1 zJnvSvZ(s7aeTdM{3JcoN>Z~nZy-W{Q4ZeGLNxUV(_k0DGUWe)KT!dU4jb_r3!UBZ= zIX;|aOzPd~z0XXR+lBMmj++=;SD_!!gj!(LGY#0DNUBV5RxnA%a7wyJZ$Md7@WMogsU!grDb{Fd7_nHdZTkBKSWjII}s0vIVb}180NiVu$J3$bkm33>-O*Xga4P3R(_bVe85xI^e#xaHB51T7DP&OD9nb@ zzbF*D`A400KttV773T3E8j8kSKy@7eYKx+KTw22lldX#xlt83ulEyD$O++jkmnAD9 z)xVFsQU0M*XvH;poBW$<%JR>X)j~b;&QdHtpFvtiUaU_Q3(51a5s4PF1k*_&rSOLe z!wzZoSZ8!1pWCdNAwdHN>D(t9%YeVs)dmzZr1&fJ)FvZQrd?No&{V&@9AVJre3FFjJ`yMGCes&18ZW&DsY-75GZ;0(LE_z~rESW$iZ2|f`gJZ3SUmptlO zFSO$JCYI3Rxl19t4+Qwn&2%m4x({*}!_2(f+J#mwU`Fu!zzXRew+#;SO;d>-zjP8& z?CyqH8(K_n3sWomZupr)7{N@~_U`U{emz)b%B;}ej$TQtlr8;(*5oPZh9kh)?OZon z%spEGplypaI;U4TVB8)8!4&))E&imh22x4jc)SxujI|6o(ImWhyqUC~_x7B*D)x!IP6w(KzWN|R@09WCb5^Ymz)>ZB)MmdJyAY|Z7tsXYoj>8s-K z2(sXF$1ze@USw)+i^S(>t4#|Rl*oP^FK`5>|1_^6eu*d=t3~06tqXGhC)L&*$yMRB zlfUQ!_rf;V2dBnx^X7(I(f6h%KOD0)MhbDB6!IGK8OB2Yy;jmw@P}ca zVM1ys*S#Gh75_9FjE8faD)QD&B#FJYGzc9SMDAO%D(==;q{xI+8%hpjn1GeZSL=9D zpkL6=N^{7)yUFt(-O8x?tJc!HRIkj1=Kh_ANZwC-4@2qac8a<7Z=aaliy3Xzlx`?@ z`60ZXQX~fgHPI8)j!}hW!>eu6%o=3(Ungy#_SlALQvOYemu*pEiz-(Xn#bFrHONS(ujO@-N zwLC*wwY-r7!pjkdM{>L+xu1->TEO?}U+@}MD^$lEg25BR zb9ZMz*b>is4--+ySBOvNEWh01RIo_?VHx7ytY+48>5Ktur`R`g8@QrZSzllr^=&^Y z%l7Q5JcRsazP|8NNB$S8PgDO4Wj`b8vhnG3CEkNXIuz5{1#V(8xYjFuJ%HnajrMza z1*I&7eL5mZ-ulV$VdyPp&`hNmDLN_`E7?XU_1P`<`r;$ZAf#1ck*5zY5r~$~d5P9A zL&^*uhKNB_7nB$t!6UaV&k@kSH#5f z=aw|wD(S$cR)0Up2u=>e6?&U?kvqjjAl@$8benm=0l&M2D@YYS<+qfx5(&%GI|KV%R$yCZg4y<>;Vm0Ry`l#s$+6CO5YOUof5Wa zHoLmDD8;_Y-Vygk|I}`0(b!x)=B&~d<`d*}-{BddWYI zG$6D7tB| zycIe&N@i!FtY`j4c`%Lp0fi?$BCNV3-3yO|XO*C)RkyGGuynPDnRDkl zqtCuvaE&Ghd{!u|@9u6Ejai>=Xf7QS%4#?_)x3dsaZ`Qm0NV+G-)F$R0P8SfqL=tT zXU0dX1;mK&%qG1uoR{HKVlw#$I?i#o>6iSONN4%LjZ?6r#t4-A0xUHIKz zVXji;124QN*I9859Neif33L}|k+)aN{CItQ@qAcRPkFG^dPb9VWj4dcnpw8?c<%MF zl@054LuSpd1)BV;Fr_ktxmuEe?5zbvnt-3jC#p@qJ5U%xk6h%^c;=mkKw`; z8YRlqv={zTyj>?w$nYN=KXAhPHIgE#YwRmurNssr4vFF*cE}D>K{>gQv8e~8>ENb9 zLYA@D-pwwwhKT!=dB;!aEOmVh<3aKlJ9FFnQ?r6gAA@o6Ga6qH@~?fHyk~}roJd>0 zEAqG_&I!-*IczvlOxq3BJ&6_JVm{>IHL;-L_dQ$XPq?dfpP~ZNUAs4N*8lZ#9`*q~M43*H^IFg&gxY zX{L86uLXTSch+(}CzsgAeFZ)O{fV&s1o;>)1YP{D#)jgzyK>Fvou>Svt|H9?h(RDc<%tA)*^ z=+koHlrxzVDQrI8#3XRP!i#I|@dwn+uYXDLH09B=W^6wFA5uKDySAo%CF{5!EOu{T z#v)Bt{Y~6QXYW{9zZ4UPMeetum;qRb&@B;iL*Z7SnK(5fYOb&9mi1g&PP(qGXumMR z(k3G4Q}&JMaiOh%yX@EV4c-j%sOtIdc_9sIob*YmB#;H=LtehE58Cv$TCJ;xdb3iu zpVb(rO)|B8!`)+0R>o$?tC=2*G~cgs$YIR(kbn~XFq%&p(w=!x?s0gfy#cg9Of@=Y~5n$^hdKj_PrXo zOq+@}==o!8TjOVR6W63pPiw_@2zlVjgwh&3ehvLxqv{(QqFp%uTAnm-5@NkWt|n<@ zfsUY?{^*0L|Jkh&tH!`{KVT&glNr_EkiluIjx5j)t7{ z9lOB2T$i7W9yh~Hd_>;=mepkLui>SWy#;e1#@TWem;vR_>&9X$yY}P&o8*GD$v2G+ zMDI3yHLvxAoJIk5l8vD2ADfQ=H{4VY?lk(wxg8aV_t$R=cg6TQRLxA%Bo4GpT^nVk zeh$qDeiat?=wV+a+{*#6y8ie>(@MR=mrW?9dTr8|cbmAJ%X#>=dy zsK|Co=f!h{4FGC;9OqT0n3fLr{U1Sx*u-S;Lem{=5CRBTfhR-`@3(m53RVq$fCFV{`QP%9Qbi%iN zu!a7s1+2v5P7A7dn|DmRt9IGx>ScIaPiH5bL=t;Mz$g`YaQ|AejhD2hNV}|N(J8=p zFLZ8Di1l=i^`aa~QObpvEg>D)UGEdUJ~Q+wFo2nN7ky^mlGOd;D+r=HD*+z*qylVC z$80c;Cn!ZWY}q7EiVSkz%NmyyR=g}(viLP%pVS;VxyefTXo1>hYcO=K1Am#xd1M(v zdnHE{OFQYAm|}p=M&|$)9zQB{xfdH9Iuu$iH&xl+0OlH!uCBsESE}qx`Kp_wT>G0& zrQ8h-=j*D?1Vu6^SdaT#X%3TE@A*e>fEh;7F43_;Lk!0X%!qoWnkQ2>eJMs&$zvJ| zC#*UzL2mBktBN6>!Dcea>Ik}n^S-xI8ayoXQw;ma(Cl9Ru&rf>hePJ0xd2_E7pBkD zY0pc7v19Y?{I5>Wt8Rr4D%vLnzKVvH)Hu7a4txg1f~%+4|8;T}Bt6Z7U~Qu6^EBzN zP-Ul-%6ND-G?VfIs+P{G8JEii{A`uHXCLe&HdFiT7K{DkM}2<743VZU0yL`p2ISCx z{b|Qr9llhG`7thdcjn7!hUM{ADAs#)qntW#y-(q`3@fI>MJS^G1;hD4yTe5Zui@;;&GHGeTqd1zbWGh))|j< zy>W?o#FQiCK~NlJ(X{8kHQNA>!Li>RO#z(?tZah&rhJ>n4v-jY@F{Jgo9m8ekh{XF zVB;BjZ&H|gK6sE#^wjbg`Zg{@2R_s{E+GONQNH={*`le;3_)C%ttgb_9Aq4QQmzjS z^GJY{$d?w#m>_C{_5H%(q7}>48>YBW98GEM)ZG@D$PcIVLj&i59CJ6KtuQ0|{%0mXl+AM5rBKCq*^#+nfo zQ^4gfNT*h>h0sWtn4W|MLNr^)QhrV>1Pf2h`gpqQuGl!kS!&DXJBFR%qi;MPM0dzK z{@mrHe&-^(WYH_lH`gkGeSLS7Nh7i{HH!V)Or&#Zxo~i2Ae`2r0xlfv>xzxpzRXZE z@ZVWsK2LW!8K4t1i?b9!KRzB#ZgE(cFfIB%u^`1YlcuqWxBWhJcq;3EGtvjXcOYHV zKLh5Q{0U|IX*Fy9#YwcT;rV*x@FZ5s(1P>z<6OC0VH@liYipM1cMi<{NrRd;tL#38 zVIo8Dgu`@C8il56@)$pCmd!6@;Fn-WBN%lxr8&FEuscxfBlKxHN9s;HvFBtRdIPEH zi?;jH_m%&4H`A`=pO{zkaVq~XKkjWi(VuHt+lA@n5Z6etuA;PMLtX{4JTZ|9m%>@E zd%Om(%A3!;rBeVM(wd)g>j|Qz4s+!6{Aq z-`dT-E^%abKpl}yYlbE{h3#SW`k`ODQDio19S8QHx+19!#uST~12D26evG(&AEAw(uYkxcNI&S1IXzh=}R2Q6GG1FiDK z&4=F%T)+`&`dpQZ%)Ds6`y-_>r4EUfT(8y|>WLyEm374we9`2+9>2>T(O3~9q*FCBT*SiTk+ltklE3ikIKrEJtW-XwR6+}7Aq@n-D$c+rZs;5%<>6;yRk~D&|B(g*bu(VWV3VBzxvv&O1!i39uy(8yET9{8dwE?NeK_?71H^NjUT zF^tXoYJhvG1;#RB^BfBsh`B_cQsw27cQlU^RcVLKkgw zNurrt0Np8!`-Lr(uI{u)d{{x#Y0PAB+$Q96#Y}Bv<5KGS$xoB`t*eGf^wuJw%P|9B zM{%o@)eP%s={o!>Gg&=8L7lG426VY6RORPVmIZ34S@-ic$o2frwv*zV5L#6&%b+9m z{Tc7VrnyfLRGFb)IKAOKXiJ{S_z1NB@`DeC=dk1jie_9nnHs?H>$|HULY_!Vqwwi3 zma42Tv7A`tVdL_`nnzSc_K|kvR^Dy`enw)AP44~OTI3#vc>Gb2wtRh zdA>>t=Zdj;ElSVO&~S!7Jr)VSH+~+lr`LyLBe=h%lEMUhYLbfvkZ{xC|W$|sh@b(-MqY5 zITN2yS5;*{ALgpN12omV)i2-(y+{#mZMoAaEwjbhlCd@(F(``2`kQ-*Y|F?8_$N_Db|zJ!V5 zt>xCHnwyOG71|n;k?E!qgAGpxL>6?A0YZd8p9d0Gr9ndyc5Sl$&D$VL*J~ptq%mcG zL!C7PlI)s@M1DOvFH&NpOORedkEN$H)_x`~cnE%|NEXf7!;glTmKxMICxf%m7qiGx zXnK3oxI9y4Nv>*?HGMUY=;0>>pT^Hcx)j-!g`GT5%sH1cjX+U1f$cRnmHPd9cPgIn zbnOp181bUy`wBbH9a-Cm#VQA>e3>JQA7xir|NUk^B^OSFnNAvhl|D;H78opLef(ii z1v0I?8~@6|>|?oWKMA5UPdSxCY#yF>82qGE}Lwbou7^1B6yI>s0rG;=7 zl=Bs-ZNC5$+v_DO4C zWT;AZ(r3xRJnL4j!w-ep5n`AN^eTRoY9)2QTVoYoWs;eLf7aV=L@ff=H$|*v9siqK ze6;TVAhaEiqrxipOcP-#)1wm-q(ri8P0`=YI^!@-ISvYh`vpQOAKXO2Za=H<`PL>Q zhdzSlwV~|hmiuKkVuot@(7Ox+=!msu0fW7)*ZnT84a@KZmWYsh-lMfRru(B7pMx~E zlekDK^FMp`Pb?@d)@BVtj3Vz7J#{j!^@@qXk82r0du5ED`-&SNy@$tX2VO}Q{ z9?4$?03)jg^2FQyHP*IJYqRIeC1{+F=zT>pM0Qz68ddQU&@9J$R5CsxaSyRtG9)E> zx~ZHNkZ6Mparvxg_XomXScysF;?K+B{MsIJ+PepeP(GJ8WPKZ zsr893YnEf|?=RnBnw;gNNS`vK9nDV>MC~b6u%-e@j|$aNJNA{-*##d@7rm=?k>cG; z3)e?XQS95Z)WC$L-+%>^J(ZxL(}nu#)u~iIqd5v?*i{J3Np##NPl@9-etfN0rH^k-1~C zhfo@zuEwN$!kk;jBc8?@fE29YEgCT%GIPk3{2}-k9SIXc6R$*6jPkUSkV#(=W17|d zrSFv)seqF4_WBPun5N|WYu9BWeB#&a(2KLz514=4`3?I8bw)Fa)E(E}uAZ0`B7=$D zGJlj&;mh;fDo$mb^7bFr^I#VFPxdnZhU)vUH=YSze^LT$E~blk7UiSvZ&A?smj*|y z1J}+hr9Od)1!=cFDsFhUR(iFz$QGT>2K&8nqwx33gR@IU%`zm9jTMR*TIFx=FL1D} znJM;MZz9&;41IS%vk; zLeOOk^A+nwCFz7PAm4>97&FG?t9s%JXJl`!S3;CbQps%p_8aUjJlgjbNt=BM$TWAc zv!q;FLW&RvEIlTOJoN9)2{{vnDTN5rroW5=asT3-wcUdj&Ro*J z`H!!!h*KNu#zp;kd0-Qf0W^w6w}3+W(S1y0AHa7810)_obiAB`8P(Ie5itC+wGk6)Q- zA)lOOu;HxIFW!w*@h%A@qD#~+(u2Pn1KXQ#qemwtiW-X94_VFMhPs&-`%$mdy5h2G z<)iNW<_uaYu48)DQ=@_YNm2C+9De!UW1v9|F5Kuz(`86j;9EVX{BkywTN~}K?!r1j z9|fAr@lz}a1n2#(x#wLC&`=RlK~2E!EJuHv=Mr1Pw!`c(f3tM0T1|6r?tg2>>cVKj z{1dy`j|qOmZ)}=zW$#PMQcXY^MmS#&SZ(E=@~VR0dEsC98?jKwlzGs^&x*TJyu7^g z4~%BWS={Rem+8iypGhq>8b`CBbk@k(-LxXZ+`1y#KhjYnW73mvDjIKP59xKeb;`(k zaZbpB==9gx73q`jdtDT4g0f=|T`(7IK|!Rxez_igLX2yM6zdPOaW!uYc)!w_W>04r z(sWZjC@P)Io*~>LvFp-=mRY}yHdOlzsT057*Zo4FNGc&W#E-hcF>D}k9AB#SkW=h#?Y2gcB$sViwCRkfMg6?ig7P?5WxR{#kZX=@JZCFx> zPP^vt&>@K+$E*+Q3oPN8BglWUWfOutJ%APmbIVO%g72NTX$UMolM`KpA!FZS&`V=@cle?hT>Xv7TOo>XAdSSg zrd!=Z#M|rZV69$BH=PdK9BSc13%bjJs;DP3oWD>|AXhM&_EWI#ijmU}=0(CS$twOt zB_{f@H4=;^GL(VN9HB?t7kc5JeYMUo`7DCu?NSzvMT_F2`-y%9*oh1&0}F79$@kQh z<`bxDm2oHumJDOvNqSS3MO0oxzV*O+`G+JB3u{fnaVY}DM3mPziNu`hwSKXC(%;CL z-d);!C3!#!T|h;XfL@^*Qo}{tu4IwTEU~%-IPijTWXI(GVNq$~1i$y1gczrb*7y^7vOss~)e_0_ z45x7}hRKEuv$5*|5Bx4L;%LSP61|EWA$xzZF)U1s<&wxla%rs;_JM%$x~}_SIFPqV zAifUafz9al+m5AthYwv9m9Zb46$U+3oO#)H+M7~H#aF&&98c3I<7m8=c|q`f`@p?h zICDEfqPEJRcidvf9W3pjJcP}E1+F^PLf+|WVKVzQ`HJDU_|VhQZd8AXS*gcP{m&H( z^Johc)$=v#4m+0t$I2FQSN>&7sY3%K)KB;dVQKn_V4FU>iJXG(ExGhHukF#g{h=?I znovuTp#zF!8s+Q9{T8rfC_wnZlUva0A)O8V9m`kAlRqd+W6|zE(&FgCz)5=Dr>=WhJ=HQk>|1n}u$ZN6_g8CgjbZ7w_12HmBN2ET&;h6x z-N(22b$TqC6%hTbB$ux{PyW`I^)wSmU)7IKGZy`yeo`bi7dg3i!GKzCA$0x_be8Sj zkf1Qk<+410W(x)18&aD3x<0F2S%(px<=U?>Edy}|MZRoP@N+s|h;4*Y&{eiMy3j}S5UHSdzZs%sT;+~{c}s!;&K zjD~i32D#cm2|Z`+(PHIdyDcWUyF=m$xj)3?V&h$2$!uboP&5`jg1GnyKX;lU3+AG# z+=PVErZS6xa_>HY7~`7Ab_|HQ(P;f@~xbu%z9@3q9xDL&Vcss3^$X$*PQ` zRnd*7wFe-x4Sk})sMozEZ@b=NG(`!s($H|OFf^rNRzYEW$i*;w%k1I?y&z2Ur zMoVSL=%$8>vMcv;M}~c6s|tH^|8QDC)f(o@FL1F|4Mb1`8Z0|Ze&lYjmq~4EK!NI9 zxW-uIVWe}vc9(BMU%PwgB9<)HrtM8cRMuN$9mvc~(@PdR57;QaR EI+YkQ=IwL- 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 Y7G(hDi^KVg5g*zv> $basefeedconf - done -} - - -do_install () { - install -d ${D}${sysconfdir}/opkg - install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/ -} - -FILES_${PN} = "${sysconfdir}/opkg/ " - -CONFFILES_${PN} += "${sysconfdir}/opkg/base-feeds.conf" diff --git a/meta-moblin/packages/moblin-gtk-engine/moblin-gtk-engine_git.bb b/meta-moblin/packages/moblin-gtk-engine/moblin-gtk-engine_git.bb deleted file mode 100644 index e68a8541a7b..00000000000 --- a/meta-moblin/packages/moblin-gtk-engine/moblin-gtk-engine_git.bb +++ /dev/null @@ -1,15 +0,0 @@ - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r1" - -DEPENDS = "gtk+" - -S = "${WORKDIR}/git" - -inherit autotools - -FILES_${PN} = "${libdir}/gtk-2.0/*/engines/*.so ${datadir}/icons ${datadir}/themes" -FILES_${PN}-dev = "${libdir}/gtk-2.0/*/engines/*" -FILES_${PN}-dbg = "${libdir}/gtk-2.0/*/engines/.debug" diff --git a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme-0.7/moblin-icon-theme-0.7.tar.gz b/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme-0.7/moblin-icon-theme-0.7.tar.gz deleted file mode 100644 index 361e19f4e273608ca3bc23bbb78fd3710c839cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 483556 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 z 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

    wYe!6sjHEFNId3nbgkzm9<{B3E_p_?P-3q8?N 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


    m!FhlUvQ?(Eu0v*u|r`~6g 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 z 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 E1MLJ&CIA2c diff --git a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_0.7.bb b/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_0.7.bb deleted file mode 100644 index 4544603e750..00000000000 --- a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_0.7.bb +++ /dev/null @@ -1,13 +0,0 @@ - -SRC_URI = "file://${PN}-${PV}.tar.gz" -PR = "r1" - -DEPENDS = "icon-naming-utils-native" - -FILES_${PN} += "${datadir}/icons/" - -inherit autotools - -do_install_append () { - ln -s ../apps/gnome-aisleriot.png ${D}${datadir}/icons/moblin/48x48/categories/applications-games.png -} diff --git a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_git.bb b/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_git.bb deleted file mode 100644 index b73e8d32d8f..00000000000 --- a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_git.bb +++ /dev/null @@ -1,12 +0,0 @@ - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0+git${SRCPV}" -PR = "r0" - -DEFAULT_PREFERENCE = "-1" - -BROKEN = "1" - -S = "${WORKDIR}/git" - -inherit autotools diff --git a/meta-moblin/packages/moblin-menus/moblin-menus/configurefix.patch b/meta-moblin/packages/moblin-menus/moblin-menus/configurefix.patch deleted file mode 100644 index 288746aa66a..00000000000 --- a/meta-moblin/packages/moblin-menus/moblin-menus/configurefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/configure.in -=================================================================== ---- git.orig/configure.in 2009-01-17 18:57:24.000000000 +0000 -+++ git/configure.in 2009-01-17 18:57:29.000000000 +0000 -@@ -11,8 +11,6 @@ - - AM_MAINTAINER_MODE - --AM_DISABLE_STATIC -- - changequote(,)dnl - if test "x$GCC" = "xyes"; then - case " $CFLAGS " in diff --git a/meta-moblin/packages/moblin-menus/moblin-menus_git.bb b/meta-moblin/packages/moblin-menus/moblin-menus_git.bb deleted file mode 100644 index 2d6cb27d041..00000000000 --- a/meta-moblin/packages/moblin-menus/moblin-menus_git.bb +++ /dev/null @@ -1,13 +0,0 @@ - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git \ - file://configurefix.patch;patch=1;rev=e1d63681739dd16195d005b3cf15752df294bd3c" -DEPENDS = "glib-2.0" - -PV = "0.1+git${SRCPV}" -PR = "r1" - -S = "${WORKDIR}/git" - -FILES_${PN} += "${datadir}/desktop-directories/*" - -inherit autotools diff --git a/meta-moblin/packages/moblin-sound-theme/moblin-sound-theme-0.1/moblin-sound-theme-0.1.tar.bz2 b/meta-moblin/packages/moblin-sound-theme/moblin-sound-theme-0.1/moblin-sound-theme-0.1.tar.bz2 deleted file mode 100644 index 34dcc6a1cd06c6dbc7c572ffd768b7ce2eebd7a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 422383 zc-pl0V~{0Y>?n%v-L`Gpn6_(pEZoR5k@59Ub zkXlJrl9iRLNHKsa+OQ!0-tJ?prx7W59+v+k}+p216S+qYJ(g6Pd1|j>txM?$lA2w zFm17#t?R+<#$4k$c$!!1RMZ%(W;b-rG3$N?=`7H#OP2L)MK9mixaU5b>4HmS*G?8M z+cLyy`E2B{FHZH?s?(OnX|zU4Ol^V8PP|_dgu&uqfewl-Mm{~W4fb_E+SC$V%3rz+ znyAxh&bO|gkToCpid*_NpLJd$iuz2pZ*P3^b$V}!)l;P{aDa4ll{!{YTY)LbGIY^1 zz3+WjCmrR{gf|ZQrW^D=o0q)@HiXyLK4o+omI~eBX&v4?pqRS+yW9uko{9M0+6uxv zYr73l`qOb%)r`|ibDZ9bw+6GL!1VKawZr`jXUf)zyH;Dwj2_=Ito})#+#l@Tt*a_K z`0czKW1WTkz8mQxwchPpN{I%3ivPkVSg1}XU0kRPfJnvrU*WU@s|E{$1r!Hj6apas zTNr>M+3G}?|DF$^E({~c|8YZkNE|-OdZd-x5$}q8}s{lcf~~ z0R3)1dfQIwvlQ<)H1FYD%Ps^ZOD;$J9-mh{SFN9y1V7GvCjHm|4IL{W-)DS6PsBd= z?OUX$nm&-bD=2=|mwm?%WYh7d90Iu!Kr6iC_iWqS5O_GI<5+@WNKD-`UKtEf-@aey z^`6z~!a4%BtTx!@*JX3A=da&zb@olwNX!_->-yNat|Y&dw(Feq#lPt4Y(ABAv}5S8 z^KwSzK3#A1_F4Vd=D)F=?|s=YN6zp}B-VJbbj<&=e|fUf`+R+o*@0{y^k9krC2~_B z;^iaNSF546b>Zsy`z-xntWg*D$fq~qCxGfXwM3vo?Xf6~{ycBy)|{d9aK$M>gw z0Y+eti@FxOee051!0n~iP2oo22Pi8Ra(jD_&#A8+k9_EAhQF9}^Qsu)#j~pGqD4kE zl&^Q5`>X+m-e-RKhN;K+sz>#>bId3229Jp#4&;HDck0c*-TtuMv!b8v?%=)sTmcf9 zepr2R81) U|3YIKk*i&tzO4G|QjBZj}3H_>)k&Za{gKJx*_M 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�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 HN~>r7l&j0q diff --git a/meta-moblin/packages/moblin-sound-theme/moblin-sound-theme_0.1.bb b/meta-moblin/packages/moblin-sound-theme/moblin-sound-theme_0.1.bb deleted file mode 100644 index 7d122dd4c15..00000000000 --- a/meta-moblin/packages/moblin-sound-theme/moblin-sound-theme_0.1.bb +++ /dev/null @@ -1,7 +0,0 @@ - -SRC_URI = "file://${PN}-${PV}.tar.bz2" -PR = "r0" - -inherit autotools - -#FILES_${PN} =+ "${datadir}/icons/moblin" diff --git a/meta-moblin/packages/moblin-user-skel/moblin-user-skel_git.bb b/meta-moblin/packages/moblin-user-skel/moblin-user-skel_git.bb deleted file mode 100644 index ff71b5f92b9..00000000000 --- a/meta-moblin/packages/moblin-user-skel/moblin-user-skel_git.bb +++ /dev/null @@ -1,20 +0,0 @@ -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0+git${SRCPV}" -PR = "r0" - -S = "${WORKDIR}/git" - -do_compile () { - : -} - -do_install () { - install -d ${D}${sysconfdir}/skel/.bkl-thumbnails/ - cp -pPR ${S}/.bkl-thumbnails/* ${D}${sysconfdir}/skel/.bkl-thumbnails/ - - install -d ${D}${sysconfdir}/skel/.kozo/ - cp -pPR ${S}/.kozo/* ${D}${sysconfdir}/skel/.kozo/ - - install -d ${D}${sysconfdir}/skel/.local/ - cp -pPR ${S}/.local/* ${D}${sysconfdir}/skel/.local/ -} diff --git a/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-78ddd155cc297811720e4c4835d468ac6c4d9666.patch b/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-78ddd155cc297811720e4c4835d468ac6c4d9666.patch deleted file mode 100644 index d4785eaddff..00000000000 --- a/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-78ddd155cc297811720e4c4835d468ac6c4d9666.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2010-01-13 14:57:52.000000000 +0000 -+++ git/configure.ac 2010-01-13 15:01:35.000000000 +0000 -@@ -57,6 +57,13 @@ - NBTKDATADIR=`${PKG_CONFIG} --variable=prefix nbtk-1.2`"/share/nbtk" - AC_SUBST(NBTKDATADIR) - -+IDLPREFIX= -+AC_ARG_WITH(idl-prefix, AC_HELP_STRING([--with-idl-prefix=DIR],[prefix to add to access to the idl files]), with_idl_prefix=${withval}) -+if test x"${with_idl_prefix}" != x ; then -+ IDLPREFIX=${with_idl_prefix} -+fi -+AC_SUBST([IDLPREFIX]) -+ - if test "x$build_browser" = "xyes"; then - PKG_CHECK_MODULES(MWB, - clutter-1.0 -Index: git/libmwbpages/Makefile.am -=================================================================== ---- git.orig/libmwbpages/Makefile.am 2010-01-13 14:57:52.000000000 +0000 -+++ git/libmwbpages/Makefile.am 2010-01-13 15:02:20.000000000 +0000 -@@ -26,10 +26,10 @@ - mwb-pages-service.lo : MwbIPagesService.h - - .idl.h : -- $(MOZHOME)/xpidl -I $(MOZIDLDIR) -m header $< -+ xpidl -I $(IDLPREFIX)$(MOZIDLDIR) -m header $< - - .idl.xpt : -- $(MOZHOME)/xpidl -I $(MOZIDLDIR) -m typelib $< -+ xpidl -I $(IDLPREFIX)$(MOZIDLDIR) -m typelib $< - - xpt_DATA = MwbIPagesService.xpt - xptdir = $(pkgdatadir)/components diff --git a/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-88f69b3d3242b7106a22721e73fbb15904a24b2f.patch b/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-88f69b3d3242b7106a22721e73fbb15904a24b2f.patch deleted file mode 100644 index d4785eaddff..00000000000 --- a/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-88f69b3d3242b7106a22721e73fbb15904a24b2f.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2010-01-13 14:57:52.000000000 +0000 -+++ git/configure.ac 2010-01-13 15:01:35.000000000 +0000 -@@ -57,6 +57,13 @@ - NBTKDATADIR=`${PKG_CONFIG} --variable=prefix nbtk-1.2`"/share/nbtk" - AC_SUBST(NBTKDATADIR) - -+IDLPREFIX= -+AC_ARG_WITH(idl-prefix, AC_HELP_STRING([--with-idl-prefix=DIR],[prefix to add to access to the idl files]), with_idl_prefix=${withval}) -+if test x"${with_idl_prefix}" != x ; then -+ IDLPREFIX=${with_idl_prefix} -+fi -+AC_SUBST([IDLPREFIX]) -+ - if test "x$build_browser" = "xyes"; then - PKG_CHECK_MODULES(MWB, - clutter-1.0 -Index: git/libmwbpages/Makefile.am -=================================================================== ---- git.orig/libmwbpages/Makefile.am 2010-01-13 14:57:52.000000000 +0000 -+++ git/libmwbpages/Makefile.am 2010-01-13 15:02:20.000000000 +0000 -@@ -26,10 +26,10 @@ - mwb-pages-service.lo : MwbIPagesService.h - - .idl.h : -- $(MOZHOME)/xpidl -I $(MOZIDLDIR) -m header $< -+ xpidl -I $(IDLPREFIX)$(MOZIDLDIR) -m header $< - - .idl.xpt : -- $(MOZHOME)/xpidl -I $(MOZIDLDIR) -m typelib $< -+ xpidl -I $(IDLPREFIX)$(MOZIDLDIR) -m typelib $< - - xpt_DATA = MwbIPagesService.xpt - xptdir = $(pkgdatadir)/components diff --git a/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-a3ea71159bef93dc03762195bd5404a51db5e4a6.patch b/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-a3ea71159bef93dc03762195bd5404a51db5e4a6.patch deleted file mode 100644 index e920b50eeb7..00000000000 --- a/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-a3ea71159bef93dc03762195bd5404a51db5e4a6.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2009-06-23 17:46:31.000000000 +0100 -+++ git/configure.ac 2009-06-23 17:46:48.000000000 +0100 -@@ -44,6 +44,13 @@ - MOZIDLDIR=`${PKG_CONFIG} --variable=idldir libxul`"" - AC_SUBST([MOZIDLDIR]) - -+IDLPREFIX= -+AC_ARG_WITH(idl-prefix, AC_HELP_STRING([--with-idl-prefix=DIR],[prefix to add to access to the idl files]), with_idl_prefix=${withval}) -+if test x"${with_idl_prefix}" != x ; then -+ IDLPREFIX=${with_idl_prefix} -+fi -+AC_SUBST([IDLPREFIX]) -+ - AC_PATH_PROG(DBUSBINDINGTOOL, dbus-binding-tool) - - AC_OUTPUT([ -Index: git/libmwbpages/Makefile.am -=================================================================== ---- git.orig/libmwbpages/Makefile.am 2009-06-23 17:46:31.000000000 +0100 -+++ git/libmwbpages/Makefile.am 2009-06-23 17:47:46.000000000 +0100 -@@ -27,10 +27,10 @@ - mwb-gettext.lo : MwbIGettext.h - - .idl.h : -- $(MOZHOME)/xpidl -I $(MOZIDLDIR) -m header $< -+ xpidl -I $(IDLPREFIX)$(MOZIDLDIR) -m header $< - - .idl.xpt : -- $(MOZHOME)/xpidl -I $(MOZIDLDIR) -m typelib $< -+ xpidl -I $(IDLPREFIX)$(MOZIDLDIR) -m typelib $< - - dist_xpt_DATA = MwbIStartPage.xpt MwbIGettext.xpt - xptdir = $(MOZHOME)/components diff --git a/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl.patch b/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl.patch deleted file mode 100644 index 86aeae4248b..00000000000 --- a/meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2009-12-10 17:14:58.000000000 +0000 -+++ git/configure.ac 2009-12-10 17:15:01.000000000 +0000 -@@ -63,6 +63,13 @@ - NBTKDATADIR=`${PKG_CONFIG} --variable=prefix nbtk-1.2`"/share/nbtk" - AC_SUBST(NBTKDATADIR) - -+IDLPREFIX= -+AC_ARG_WITH(idl-prefix, AC_HELP_STRING([--with-idl-prefix=DIR],[prefix to add to access to the idl files]), with_idl_prefix=${withval}) -+if test x"${with_idl_prefix}" != x ; then -+ IDLPREFIX=${with_idl_prefix} -+fi -+AC_SUBST([IDLPREFIX]) -+ - if test "x$build_browser" = "xyes"; then - PKG_CHECK_MODULES(MWB, - clutter-1.0 -Index: git/libmwbpages/Makefile.am -=================================================================== ---- git.orig/libmwbpages/Makefile.am 2009-12-10 17:15:08.000000000 +0000 -+++ git/libmwbpages/Makefile.am 2009-12-10 17:15:15.000000000 +0000 -@@ -28,10 +28,10 @@ - mwb-pages-service.lo : MwbIPagesService.h - - .idl.h : -- $(AM_V_GEN)$(MOZHOME)/xpidl -I $(MOZIDLDIR) -m header $< -+ xpidl -I $(IDLPREFIX)$(MOZIDLDIR) -m header $< - - .idl.xpt : -- $(AM_V_GEN)$(MOZHOME)/xpidl -I $(MOZIDLDIR) -m typelib $< -+ xpidl -I $(IDLPREFIX)$(MOZIDLDIR) -m typelib $< - - xpt_DATA = MwbIPagesService.xpt - xptdir = $(pkgdatadir)/components diff --git a/meta-moblin/packages/moblin-web-browser/moblin-web-browser_git.bb b/meta-moblin/packages/moblin-web-browser/moblin-web-browser_git.bb deleted file mode 100644 index 53c8a3531b2..00000000000 --- a/meta-moblin/packages/moblin-web-browser/moblin-web-browser_git.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "Moblin web browser (based on clutter + mozilla-headless/mozilla-offscreen)" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git;branch=${MOBLINBROWSERBRANCH} \ - file://xpidl-a3ea71159bef93dc03762195bd5404a51db5e4a6.patch;patch=1;rev=a3ea71159bef93dc03762195bd5404a51db5e4a6;notrev=78ddd155cc297811720e4c4835d468ac6c4d9666 \ - file://xpidl-78ddd155cc297811720e4c4835d468ac6c4d9666.patch;patch=1;rev=78ddd155cc297811720e4c4835d468ac6c4d9666;notrev=a3ea71159bef93dc03762195bd5404a51db5e4a6 \ - file://xpidl.patch;patch=1;notrev=a3ea71159bef93dc03762195bd5404a51db5e4a6;notrev=78ddd155cc297811720e4c4835d468ac6c4d9666" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r11" - -DEPENDS = "clutter-1.0 clutter-mozembed clutter-gtk-0.10 libunique mozilla-headless-services libccss nbtk mozilla-headless mutter-moblin" - -S = "${WORKDIR}/git" - -MOBLINBROWSERBRANCH ?= "master" - -EXTRA_OECONF = "--with-idl-prefix=${STAGING_DIR_TARGET}/" - -FILES_${PN} += "${datadir}/moblin-web-browser/chrome/* ${libdir}/xulrunner-*/chrome/* ${datadir}/dbus-1/services/*" -FILES_${PN} += "${datadir}/moblin-web-browser/components/* ${libdir}/xulrunner-*/components/*" -FILES_${PN}-dbg += "${datadir}/moblin-web-browser/components/.debug/* ${libdir}/xulrunner-*/components/.debug/*" - - - -inherit autotools diff --git a/meta-moblin/packages/mojito/mojito.inc b/meta-moblin/packages/mojito/mojito.inc deleted file mode 100644 index f823e7437d3..00000000000 --- a/meta-moblin/packages/mojito/mojito.inc +++ /dev/null @@ -1,13 +0,0 @@ -SRC_URI = "http://download.moblin.org/sources/mojito/0.21/mojito-0.21.7.tar.bz2" - -DEPENDS = "libsoup-2.4 gconf-dbus librest glib-2.0 twitter-glib gnome-keyring" -RDEPENDS_${PN} = "connman" - -inherit autotools - -FILES_${PN} += "${datadir}/dbus-1/services" -FILES_${PN}-dbg += "${libdir}/mojito/sources/.debug/* ${libdir}/mojito/services/.debug/" - -PARALLEL_MAKE = "" - -EXTRA_OECONF = "--with-online=connman --disable-shave" diff --git a/meta-moblin/packages/mojito/mojito_0.21.7.bb b/meta-moblin/packages/mojito/mojito_0.21.7.bb deleted file mode 100644 index 9f880e72dad..00000000000 --- a/meta-moblin/packages/mojito/mojito_0.21.7.bb +++ /dev/null @@ -1 +0,0 @@ -require mojito.inc diff --git a/meta-moblin/packages/mojito/mojito_git.bb b/meta-moblin/packages/mojito/mojito_git.bb deleted file mode 100644 index ddaf688bfa5..00000000000 --- a/meta-moblin/packages/mojito/mojito_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require mojito.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.21.7+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/monit/monit-4.10.1/init b/meta-moblin/packages/monit/monit-4.10.1/init deleted file mode 100644 index 325a552b283..00000000000 --- a/meta-moblin/packages/monit/monit-4.10.1/init +++ /dev/null @@ -1,42 +0,0 @@ -#! /bin/sh -# -# This is an init script for openembedded -# Copy it to /etc/init.d/monit and type -# > update-rc.d monit defaults 99 -# -monit=/usr/bin/monit -pidfile=/var/run/monit.pid -monit_args="-c /etc/monitrc" - -test -x "$monit" || exit 0 - -case "$1" in - start) - echo -n "Starting Monit" - start-stop-daemon --start --quiet --exec $monit -- $monit_args - RETVAL=$? - echo "." - ;; - stop) - echo -n "Stopping Monit" - start-stop-daemon --stop --quiet --pidfile $pidfile - RETVAL=$? - echo "." - ;; - restart) - $0 stop - $0 start - RETVAL=$? - ;; - status) - $monit $monit_args status - RETVAL=$? - echo "." - ;; - *) - echo "Usage: $0 {start|stop|restart|status}" - exit 1 -esac - -exit $RETVAL - diff --git a/meta-moblin/packages/monit/monit-4.10.1/nostrip.patch b/meta-moblin/packages/monit/monit-4.10.1/nostrip.patch deleted file mode 100644 index 95e7eb0f10c..00000000000 --- a/meta-moblin/packages/monit/monit-4.10.1/nostrip.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: monit-4.10.1/Makefile.in -=================================================================== ---- monit-4.10.1.orig/Makefile.in 2009-05-24 15:49:03.000000000 +0100 -+++ monit-4.10.1/Makefile.in 2009-05-24 15:49:12.000000000 +0100 -@@ -39,7 +39,7 @@ - MODE_DIRS = 755 - - INSTALL = @INSTALL@ --INSTALL_PROG = $(INSTALL) -m $(MODE_PROGS) -s -+INSTALL_PROG = $(INSTALL) -m $(MODE_PROGS) - INSTALL_FILE = $(INSTALL) -m $(MODE_FILES) - INSTALL_DIR = $(INSTALL) -m $(MODE_DIRS) -d - diff --git a/meta-moblin/packages/monit/monit_4.10.1.bb b/meta-moblin/packages/monit/monit_4.10.1.bb deleted file mode 100644 index 84a6231a2ad..00000000000 --- a/meta-moblin/packages/monit/monit_4.10.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -LICENSE = "GPL" -DEPENDS = "openssl" - -SRC_URI = "http://www.tildeslash.com/monit/dist/monit-${PV}.tar.gz \ - file://nostrip.patch;patch=1 \ - file://init" - -PR = "r1" - -INITSCRIPT_NAME = "monit" -INITSCRIPT_PARAMS = "defaults 99" - -inherit autotools update-rc.d - -EXTRA_OECONF = "--with-ssl-lib-dir=${STAGING_LIBDIR} --with-ssl-incl-dir=${STAGING_INCDIR}" - -do_install_append() { - install -d ${D}${sysconfdir}/init.d/ - install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/monit - sed -i 's:# set daemon 120:set daemon 120:' ${S}/monitrc - sed -i 's:include /etc/monit.d/:include /${sysconfdir}/monit.d/:' ${S}/monitrc - install -m 600 ${S}/monitrc ${D}${sysconfdir}/monitrc - install -m 700 -d ${D}${sysconfdir}/monit.d/ -} - -CONFFILES_${PN} += "${sysconfdir}/monitrc" - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless-services/confighack.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless-services/confighack.patch deleted file mode 100644 index dcfe11e0fff..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless-services/confighack.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: places-glib/configure.ac -=================================================================== ---- places-glib.orig/configure.ac 2009-04-17 10:29:15.000000000 +0100 -+++ places-glib/configure.ac 2009-04-17 10:29:44.000000000 +0100 -@@ -99,6 +99,8 @@ - PKG_CHECK_MODULES(GLIB, [glib-2.0]) - PKG_CHECK_MODULES(DBUS, [dbus-glib-1]) - -+XUL_LIBS="$XUL_LIBS -lmozjs" -+ - MOZHOME=`${PKG_CONFIG} --variable=prefix mozilla-headless`"/lib/xulrunner-"`${PKG_CONFIG} --modversion mozilla-headless` - AC_SUBST([MOZHOME]) - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless-services_git.bb b/meta-moblin/packages/mozilla-headless/mozilla-headless-services_git.bb deleted file mode 100644 index 14d64fa8c30..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless-services_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -SRC_URI = "git://git.moblin.org/mozilla-headless-services.git;protocol=git \ - file://confighack.patch;patch=1" -PV = "0.1+git${SRCPV}" -PR = "r1" - -DEPENDS = "glib-2.0 dbus mozilla-headless json-glib" - -EXTRA_OECONF = "--enable-gnome-proxy" - -S = "${WORKDIR}/git" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch deleted file mode 100644 index db9e1479904..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch +++ /dev/null @@ -1,1478 +0,0 @@ -From fb41f028badb4dfddfc47fb2a1a68c1aa90dcef5 Mon Sep 17 00:00:00 2001 -From: Robert Bragg -Date: Fri, 8 May 2009 13:57:22 +0100 -Subject: [PATCH] Adds initial Gtk clipboard support to moz-headless - -If build with MOZ_X11 enabled then this now builds the clipboard code taken -from the gtk2 backend. This doesn't provide any embedding API yet to expose -the clipboard. ---- - widget/src/headless/Makefile.in | 6 + - widget/src/headless/nsClipboard.cpp | 948 +++++++++++++++++++++++++++++++ - widget/src/headless/nsClipboard.h | 93 +++ - widget/src/headless/nsIImageToPixbuf.h | 62 ++ - widget/src/headless/nsImageToPixbuf.cpp | 196 +++++++ - widget/src/headless/nsImageToPixbuf.h | 71 +++ - widget/src/headless/nsWidgetFactory.cpp | 18 + - 7 files changed, 1394 insertions(+), 0 deletions(-) - create mode 100644 widget/src/headless/nsClipboard.cpp - create mode 100644 widget/src/headless/nsClipboard.h - create mode 100644 widget/src/headless/nsIImageToPixbuf.h - create mode 100644 widget/src/headless/nsImageToPixbuf.cpp - create mode 100644 widget/src/headless/nsImageToPixbuf.h - -Index: offscreen/widget/src/headless/Makefile.in -=================================================================== ---- offscreen.orig/widget/src/headless/Makefile.in 2009-05-16 18:23:25.000000000 +0100 -+++ offscreen/widget/src/headless/Makefile.in 2009-06-12 14:14:05.000000000 +0100 -@@ -95,6 +95,12 @@ - nsScreenManagerHeadless.cpp \ - $(NULL) - -+ifdef MOZ_X11 -+CPPSRCS += nsClipboard.cpp \ -+ nsImageToPixbuf.cpp \ -+ $(NULL) -+endif -+ - # build our subdirs, too - SHARED_LIBRARY_LIBS = ../xpwidgets/libxpwidgets_s.a - -Index: offscreen/widget/src/headless/nsClipboard.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsClipboard.cpp 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,948 @@ -+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* vim:expandtab:shiftwidth=4:tabstop=4: -+ */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is Christopher Blizzard -+ * . Portions created by the Initial Developer -+ * are Copyright (C) 2001 the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "nsClipboard.h" -+#include "nsSupportsPrimitives.h" -+#include "nsString.h" -+#include "nsReadableUtils.h" -+#include "nsXPIDLString.h" -+#include "nsPrimitiveHelpers.h" -+#include "nsICharsetConverterManager.h" -+#include "nsIServiceManager.h" -+#include "nsIImage.h" -+#include "nsImageToPixbuf.h" -+#include "nsStringStream.h" -+ -+#include -+ -+// For manipulation of the X event queue -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+#include -+#endif -+ -+// Callback when someone asks us for the selection -+void -+invisible_selection_get_cb (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime, -+ guint aInfo, -+ nsClipboard *aClipboard); -+ -+gboolean -+selection_clear_event_cb (GtkWidget *aWidget, -+ GdkEventSelection *aEvent, -+ nsClipboard *aClipboard); -+ -+static void -+ConvertHTMLtoUCS2 (guchar *data, -+ PRInt32 dataLength, -+ PRUnichar **unicodeData, -+ PRInt32 &outUnicodeLen); -+ -+static void -+GetHTMLCharset (guchar * data, PRInt32 dataLength, nsCString& str); -+ -+ -+// Our own versions of gtk_clipboard_wait_for_contents and -+// gtk_clipboard_wait_for_text, which don't run the event loop while -+// waiting for the data. This prevents a lot of problems related to -+// dispatching events at unexpected times. -+ -+static GtkSelectionData * -+wait_for_contents (GtkClipboard *clipboard, GdkAtom target); -+ -+static gchar * -+wait_for_text (GtkClipboard *clipboard); -+ -+static Bool -+checkEventProc(Display *display, XEvent *event, XPointer arg); -+ -+struct retrieval_context -+{ -+ PRBool completed; -+ void *data; -+ -+ retrieval_context() : completed(PR_FALSE), data(nsnull) { } -+}; -+ -+static void -+wait_for_retrieval(GtkClipboard *clipboard, retrieval_context *transferData); -+ -+static void -+clipboard_contents_received(GtkClipboard *clipboard, -+ GtkSelectionData *selection_data, -+ gpointer data); -+ -+static void -+clipboard_text_received(GtkClipboard *clipboard, -+ const gchar *text, -+ gpointer data); -+ -+nsClipboard::nsClipboard() -+{ -+ mWidget = nsnull; -+} -+ -+nsClipboard::~nsClipboard() -+{ -+ if (mWidget) -+ gtk_widget_destroy(mWidget); -+} -+ -+NS_IMPL_ISUPPORTS1(nsClipboard, nsIClipboard) -+ -+nsresult -+nsClipboard::Init(void) -+{ -+ mWidget = gtk_invisible_new(); -+ if (!mWidget) -+ return NS_ERROR_FAILURE; -+ -+ g_signal_connect(G_OBJECT(mWidget), "selection_get", -+ G_CALLBACK(invisible_selection_get_cb), this); -+ -+ g_signal_connect(G_OBJECT(mWidget), "selection_clear_event", -+ G_CALLBACK(selection_clear_event_cb), this); -+ -+ // XXX make sure to set up the selection_clear event -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::SetData(nsITransferable *aTransferable, -+ nsIClipboardOwner *aOwner, PRInt32 aWhichClipboard) -+{ -+ // See if we can short cut -+ if ((aWhichClipboard == kGlobalClipboard && -+ aTransferable == mGlobalTransferable.get() && -+ aOwner == mGlobalOwner.get()) || -+ (aWhichClipboard == kSelectionClipboard && -+ aTransferable == mSelectionTransferable.get() && -+ aOwner == mSelectionOwner.get())) { -+ return NS_OK; -+ } -+ -+ nsresult rv; -+ if (!mPrivacyHandler) { -+ rv = NS_NewClipboardPrivacyHandler(getter_AddRefs(mPrivacyHandler)); -+ NS_ENSURE_SUCCESS(rv, rv); -+ } -+ rv = mPrivacyHandler->PrepareDataForClipboard(aTransferable); -+ NS_ENSURE_SUCCESS(rv, rv); -+ -+ // Clear out the clipboard in order to set the new data -+ EmptyClipboard(aWhichClipboard); -+ -+ if (aWhichClipboard == kSelectionClipboard) { -+ mSelectionOwner = aOwner; -+ mSelectionTransferable = aTransferable; -+ } -+ else { -+ mGlobalOwner = aOwner; -+ mGlobalTransferable = aTransferable; -+ } -+ -+ // Which selection are we about to claim, CLIPBOARD or PRIMARY? -+ GdkAtom selectionAtom = GetSelectionAtom(aWhichClipboard); -+ -+ // Make ourselves the owner. If we fail to, return. -+ if (!gtk_selection_owner_set(mWidget, selectionAtom, GDK_CURRENT_TIME)) -+ return NS_ERROR_FAILURE; -+ -+ // Clear the old selection target list. -+ gtk_selection_clear_targets(mWidget, selectionAtom); -+ -+ // Get the types of supported flavors -+ nsCOMPtr flavors; -+ -+ rv = aTransferable->FlavorsTransferableCanExport(getter_AddRefs(flavors)); -+ if (!flavors || NS_FAILED(rv)) -+ return NS_ERROR_FAILURE; -+ -+ // Add all the flavors to this widget's supported type. -+ PRUint32 count; -+ flavors->Count(&count); -+ for (PRUint32 i=0; i < count; i++) { -+ nsCOMPtr tastesLike; -+ flavors->GetElementAt(i, getter_AddRefs(tastesLike)); -+ nsCOMPtr flavor = do_QueryInterface(tastesLike); -+ -+ if (flavor) { -+ nsXPIDLCString flavorStr; -+ flavor->ToString(getter_Copies(flavorStr)); -+ -+ // special case text/unicode since we can handle all of -+ // the string types -+ if (!strcmp(flavorStr, kUnicodeMime)) { -+ AddTarget(gdk_atom_intern("UTF8_STRING", FALSE), -+ selectionAtom); -+ AddTarget(gdk_atom_intern("COMPOUND_TEXT", FALSE), -+ selectionAtom); -+ AddTarget(gdk_atom_intern("TEXT", FALSE), selectionAtom); -+ AddTarget(GDK_SELECTION_TYPE_STRING, selectionAtom); -+ // next loop iteration -+ continue; -+ } -+ -+ // very special case for this one. since our selection mechanism doesn't work for images, -+ // we must use GTK's clipboard utility functions -+ if (!strcmp(flavorStr, kNativeImageMime) || !strcmp(flavorStr, kPNGImageMime) || -+ !strcmp(flavorStr, kJPEGImageMime) || !strcmp(flavorStr, kGIFImageMime)) { -+ nsCOMPtr item; -+ PRUint32 len; -+ rv = aTransferable->GetTransferData(flavorStr, getter_AddRefs(item), &len); -+ nsCOMPtr ptrPrimitive(do_QueryInterface(item)); -+ if (!ptrPrimitive) -+ continue; -+ -+ nsCOMPtr primitiveData; -+ ptrPrimitive->GetData(getter_AddRefs(primitiveData)); -+ nsCOMPtr image(do_QueryInterface(primitiveData)); -+ if (!image) // Not getting an image for an image mime type!? -+ continue; -+ -+ if (NS_FAILED(image->LockImagePixels(PR_FALSE))) -+ continue; -+ GdkPixbuf* pixbuf = nsImageToPixbuf::ImageToPixbuf(image); -+ if (!pixbuf) { -+ image->UnlockImagePixels(PR_FALSE); -+ continue; -+ } -+ -+ GtkClipboard *aClipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); -+ gtk_clipboard_set_image(aClipboard, pixbuf); -+ g_object_unref(pixbuf); -+ image->UnlockImagePixels(PR_FALSE); -+ continue; -+ } -+ -+ // Add this to our list of valid targets -+ GdkAtom atom = gdk_atom_intern(flavorStr, FALSE); -+ AddTarget(atom, selectionAtom); -+ } -+ } -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::GetData(nsITransferable *aTransferable, PRInt32 aWhichClipboard) -+{ -+ if (!aTransferable) -+ return NS_ERROR_FAILURE; -+ -+ GtkClipboard *clipboard; -+ clipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); -+ -+ guchar *data = NULL; -+ gint length = 0; -+ PRBool foundData = PR_FALSE; -+ nsCAutoString foundFlavor; -+ -+ // Get a list of flavors this transferable can import -+ nsCOMPtr flavors; -+ nsresult rv; -+ rv = aTransferable->FlavorsTransferableCanImport(getter_AddRefs(flavors)); -+ if (!flavors || NS_FAILED(rv)) -+ return NS_ERROR_FAILURE; -+ -+ PRUint32 count; -+ flavors->Count(&count); -+ for (PRUint32 i=0; i < count; i++) { -+ nsCOMPtr genericFlavor; -+ flavors->GetElementAt(i, getter_AddRefs(genericFlavor)); -+ -+ nsCOMPtr currentFlavor; -+ currentFlavor = do_QueryInterface(genericFlavor); -+ -+ if (currentFlavor) { -+ nsXPIDLCString flavorStr; -+ currentFlavor->ToString(getter_Copies(flavorStr)); -+ -+ // Special case text/unicode since we can convert any -+ // string into text/unicode -+ if (!strcmp(flavorStr, kUnicodeMime)) { -+ gchar* new_text = wait_for_text(clipboard); -+ if (new_text) { -+ // Convert utf-8 into our unicode format. -+ NS_ConvertUTF8toUTF16 ucs2string(new_text); -+ data = (guchar *)ToNewUnicode(ucs2string); -+ length = ucs2string.Length() * 2; -+ g_free(new_text); -+ foundData = PR_TRUE; -+ foundFlavor = kUnicodeMime; -+ break; -+ } -+ // If the type was text/unicode and we couldn't get -+ // text off the clipboard, run the next loop -+ // iteration. -+ continue; -+ } -+ -+ // For images, we must wrap the data in an nsIInputStream then return instead of break, -+ // because that code below won't help us. -+ if (!strcmp(flavorStr, kJPEGImageMime) || !strcmp(flavorStr, kPNGImageMime) || !strcmp(flavorStr, kGIFImageMime)) { -+ GdkAtom atom; -+ if (!strcmp(flavorStr, kJPEGImageMime)) // This is image/jpg, but X only understands image/jpeg -+ atom = gdk_atom_intern("image/jpeg", FALSE); -+ else -+ atom = gdk_atom_intern(flavorStr, FALSE); -+ -+ GtkSelectionData *selectionData = wait_for_contents(clipboard, atom); -+ if (!selectionData) -+ continue; -+ -+ nsCOMPtr byteStream; -+ NS_NewByteInputStream(getter_AddRefs(byteStream), (const char*)selectionData->data, -+ selectionData->length, NS_ASSIGNMENT_COPY); -+ aTransferable->SetTransferData(flavorStr, byteStream, sizeof(nsIInputStream*)); -+ gtk_selection_data_free(selectionData); -+ return NS_OK; -+ } -+ -+ // Get the atom for this type and try to request it off -+ // the clipboard. -+ GdkAtom atom = gdk_atom_intern(flavorStr, FALSE); -+ GtkSelectionData *selectionData; -+ selectionData = wait_for_contents(clipboard, atom); -+ if (selectionData) { -+ length = selectionData->length; -+ // Special case text/html since we can convert into UCS2 -+ if (!strcmp(flavorStr, kHTMLMime)) { -+ PRUnichar* htmlBody= nsnull; -+ PRInt32 htmlBodyLen = 0; -+ // Convert text/html into our unicode format -+ ConvertHTMLtoUCS2((guchar *)selectionData->data, length, -+ &htmlBody, htmlBodyLen); -+ if (!htmlBodyLen) -+ break; -+ data = (guchar *)htmlBody; -+ length = htmlBodyLen * 2; -+ } else { -+ data = (guchar *)nsMemory::Alloc(length); -+ if (!data) -+ break; -+ memcpy(data, selectionData->data, length); -+ } -+ foundData = PR_TRUE; -+ foundFlavor = flavorStr; -+ break; -+ } -+ } -+ } -+ -+ if (foundData) { -+ nsCOMPtr wrapper; -+ nsPrimitiveHelpers::CreatePrimitiveForData(foundFlavor.get(), -+ data, length, -+ getter_AddRefs(wrapper)); -+ aTransferable->SetTransferData(foundFlavor.get(), -+ wrapper, length); -+ } -+ -+ if (data) -+ nsMemory::Free(data); -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::EmptyClipboard(PRInt32 aWhichClipboard) -+{ -+ if (aWhichClipboard == kSelectionClipboard) { -+ if (mSelectionOwner) { -+ mSelectionOwner->LosingOwnership(mSelectionTransferable); -+ mSelectionOwner = nsnull; -+ } -+ mSelectionTransferable = nsnull; -+ } -+ else { -+ if (mGlobalOwner) { -+ mGlobalOwner->LosingOwnership(mGlobalTransferable); -+ mGlobalOwner = nsnull; -+ } -+ mGlobalTransferable = nsnull; -+ } -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::HasDataMatchingFlavors(const char** aFlavorList, PRUint32 aLength, -+ PRInt32 aWhichClipboard, PRBool *_retval) -+{ -+ if (!aFlavorList || !_retval) -+ return NS_ERROR_NULL_POINTER; -+ -+ *_retval = PR_FALSE; -+ -+ GtkSelectionData *selection_data = -+ GetTargets(GetSelectionAtom(aWhichClipboard)); -+ if (!selection_data) -+ return NS_OK; -+ -+ gint n_targets = 0; -+ GdkAtom *targets = NULL; -+ -+ if (!gtk_selection_data_get_targets(selection_data, -+ &targets, &n_targets) || -+ !n_targets) -+ return NS_OK; -+ -+ // Walk through the provided types and try to match it to a -+ // provided type. -+ for (PRUint32 i = 0; i < aLength && !*_retval; i++) { -+ // We special case text/unicode here. -+ if (!strcmp(aFlavorList[i], kUnicodeMime) && -+ gtk_selection_data_targets_include_text(selection_data)) { -+ *_retval = PR_TRUE; -+ break; -+ } -+ -+ for (PRInt32 j = 0; j < n_targets; j++) { -+ gchar *atom_name = gdk_atom_name(targets[j]); -+ if (!strcmp(atom_name, aFlavorList[i])) -+ *_retval = PR_TRUE; -+ -+ // X clipboard wants image/jpeg, not image/jpg -+ if (!strcmp(aFlavorList[i], kJPEGImageMime) && !strcmp(atom_name, "image/jpeg")) -+ *_retval = PR_TRUE; -+ -+ g_free(atom_name); -+ -+ if (*_retval) -+ break; -+ } -+ } -+ gtk_selection_data_free(selection_data); -+ g_free(targets); -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::SupportsSelectionClipboard(PRBool *_retval) -+{ -+ *_retval = PR_TRUE; // yeah, unix supports the selection clipboard -+ return NS_OK; -+} -+ -+/* static */ -+GdkAtom -+nsClipboard::GetSelectionAtom(PRInt32 aWhichClipboard) -+{ -+ if (aWhichClipboard == kGlobalClipboard) -+ return GDK_SELECTION_CLIPBOARD; -+ -+ return GDK_SELECTION_PRIMARY; -+} -+ -+/* static */ -+GtkSelectionData * -+nsClipboard::GetTargets(GdkAtom aWhichClipboard) -+{ -+ GtkClipboard *clipboard = gtk_clipboard_get(aWhichClipboard); -+ return wait_for_contents(clipboard, gdk_atom_intern("TARGETS", FALSE)); -+} -+ -+nsITransferable * -+nsClipboard::GetTransferable(PRInt32 aWhichClipboard) -+{ -+ nsITransferable *retval; -+ -+ if (aWhichClipboard == kSelectionClipboard) -+ retval = mSelectionTransferable.get(); -+ else -+ retval = mGlobalTransferable.get(); -+ -+ return retval; -+} -+ -+void -+nsClipboard::AddTarget(GdkAtom aName, GdkAtom aClipboard) -+{ -+ gtk_selection_add_target(mWidget, aClipboard, aName, 0); -+} -+ -+void -+nsClipboard::SelectionGetEvent (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime) -+{ -+ // Someone has asked us to hand them something. The first thing -+ // that we want to do is see if that something includes text. If -+ // it does, try to give it text/unicode after converting it to -+ // utf-8. -+ -+ PRInt32 whichClipboard; -+ -+ // which clipboard? -+ if (aSelectionData->selection == GDK_SELECTION_PRIMARY) -+ whichClipboard = kSelectionClipboard; -+ else if (aSelectionData->selection == GDK_SELECTION_CLIPBOARD) -+ whichClipboard = kGlobalClipboard; -+ else -+ return; // THAT AIN'T NO CLIPBOARD I EVER HEARD OF -+ -+ nsCOMPtr trans = GetTransferable(whichClipboard); -+ -+ nsresult rv; -+ nsCOMPtr item; -+ PRUint32 len; -+ -+ // Check to see if the selection data includes any of the string -+ // types that we support. -+ if (aSelectionData->target == gdk_atom_intern ("STRING", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("TEXT", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("COMPOUND_TEXT", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("UTF8_STRING", FALSE)) { -+ // Try to convert our internal type into a text string. Get -+ // the transferable for this clipboard and try to get the -+ // text/unicode type for it. -+ rv = trans->GetTransferData("text/unicode", getter_AddRefs(item), -+ &len); -+ if (!item || NS_FAILED(rv)) -+ return; -+ -+ nsCOMPtr wideString; -+ wideString = do_QueryInterface(item); -+ if (!wideString) -+ return; -+ -+ nsAutoString ucs2string; -+ wideString->GetData(ucs2string); -+ char *utf8string = ToNewUTF8String(ucs2string); -+ if (!utf8string) -+ return; -+ -+ gtk_selection_data_set_text (aSelectionData, utf8string, -+ strlen(utf8string)); -+ -+ nsMemory::Free(utf8string); -+ return; -+ } -+ -+ // Try to match up the selection data target to something our -+ // transferable provides. -+ gchar *target_name = gdk_atom_name(aSelectionData->target); -+ if (!target_name) -+ return; -+ -+ rv = trans->GetTransferData(target_name, getter_AddRefs(item), &len); -+ // nothing found? -+ if (!item || NS_FAILED(rv)) { -+ g_free(target_name); -+ return; -+ } -+ -+ void *primitive_data = nsnull; -+ nsPrimitiveHelpers::CreateDataFromPrimitive(target_name, item, -+ &primitive_data, len); -+ -+ if (primitive_data) { -+ // Check to see if the selection data is text/html -+ if (aSelectionData->target == gdk_atom_intern (kHTMLMime, FALSE)) { -+ /* -+ * "text/html" can be encoded UCS2. It is recommended that -+ * documents transmitted as UCS2 always begin with a ZERO-WIDTH -+ * NON-BREAKING SPACE character (hexadecimal FEFF, also called -+ * Byte Order Mark (BOM)). Adding BOM can help other app to -+ * detect mozilla use UCS2 encoding when copy-paste. -+ */ -+ guchar *buffer = (guchar *) -+ nsMemory::Alloc((len * sizeof(guchar)) + sizeof(PRUnichar)); -+ if (!buffer) -+ return; -+ PRUnichar prefix = 0xFEFF; -+ memcpy(buffer, &prefix, sizeof(prefix)); -+ memcpy(buffer + sizeof(prefix), primitive_data, len); -+ nsMemory::Free((guchar *)primitive_data); -+ primitive_data = (guchar *)buffer; -+ len += sizeof(prefix); -+ } -+ -+ gtk_selection_data_set(aSelectionData, aSelectionData->target, -+ 8, /* 8 bits in a unit */ -+ (const guchar *)primitive_data, len); -+ nsMemory::Free(primitive_data); -+ } -+ -+ g_free(target_name); -+ -+} -+ -+void -+nsClipboard::SelectionClearEvent (GtkWidget *aWidget, -+ GdkEventSelection *aEvent) -+{ -+ PRInt32 whichClipboard; -+ -+ // which clipboard? -+ if (aEvent->selection == GDK_SELECTION_PRIMARY) -+ whichClipboard = kSelectionClipboard; -+ else if (aEvent->selection == GDK_SELECTION_CLIPBOARD) -+ whichClipboard = kGlobalClipboard; -+ else -+ return; // THAT AIN'T NO CLIPBOARD I EVER HEARD OF -+ -+ EmptyClipboard(whichClipboard); -+} -+ -+void -+invisible_selection_get_cb (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime, -+ guint aInfo, -+ nsClipboard *aClipboard) -+{ -+ aClipboard->SelectionGetEvent(aWidget, aSelectionData, aTime); -+} -+ -+gboolean -+selection_clear_event_cb (GtkWidget *aWidget, -+ GdkEventSelection *aEvent, -+ nsClipboard *aClipboard) -+{ -+ aClipboard->SelectionClearEvent(aWidget, aEvent); -+ return TRUE; -+} -+ -+/* -+ * when copy-paste, mozilla wants data encoded using UCS2, -+ * other app such as StarOffice use "text/html"(RFC2854). -+ * This function convert data(got from GTK clipboard) -+ * to data mozilla wanted. -+ * -+ * data from GTK clipboard can be 3 forms: -+ * 1. From current mozilla -+ * "text/html", charset = utf-16 -+ * 2. From old version mozilla or mozilla-based app -+ * content("body" only), charset = utf-16 -+ * 3. From other app who use "text/html" when copy-paste -+ * "text/html", has "charset" info -+ * -+ * data : got from GTK clipboard -+ * dataLength: got from GTK clipboard -+ * body : pass to Mozilla -+ * bodyLength: pass to Mozilla -+ */ -+void ConvertHTMLtoUCS2(guchar * data, PRInt32 dataLength, -+ PRUnichar** unicodeData, PRInt32& outUnicodeLen) -+{ -+ nsCAutoString charset; -+ GetHTMLCharset(data, dataLength, charset);// get charset of HTML -+ if (charset.EqualsLiteral("UTF-16")) {//current mozilla -+ outUnicodeLen = (dataLength / 2) - 1; -+ *unicodeData = reinterpret_cast -+ (nsMemory::Alloc((outUnicodeLen + sizeof('\0')) * -+ sizeof(PRUnichar))); -+ if (*unicodeData) { -+ memcpy(*unicodeData, data + sizeof(PRUnichar), -+ outUnicodeLen * sizeof(PRUnichar)); -+ (*unicodeData)[outUnicodeLen] = '\0'; -+ } -+ } else if (charset.EqualsLiteral("UNKNOWN")) { -+ outUnicodeLen = 0; -+ return; -+ } else { -+ // app which use "text/html" to copy&paste -+ nsCOMPtr decoder; -+ nsresult rv; -+ // get the decoder -+ nsCOMPtr ccm = -+ do_GetService(NS_CHARSETCONVERTERMANAGER_CONTRACTID, &rv); -+ if (NS_FAILED(rv)) { -+#ifdef DEBUG_CLIPBOARD -+ g_print(" can't get CHARSET CONVERTER MANAGER service\n"); -+#endif -+ outUnicodeLen = 0; -+ return; -+ } -+ rv = ccm->GetUnicodeDecoder(charset.get(), getter_AddRefs(decoder)); -+ if (NS_FAILED(rv)) { -+#ifdef DEBUG_CLIPBOARD -+ g_print(" get unicode decoder error\n"); -+#endif -+ outUnicodeLen = 0; -+ return; -+ } -+ // converting -+ decoder->GetMaxLength((const char *)data, dataLength, &outUnicodeLen); -+ // |outUnicodeLen| is number of chars -+ if (outUnicodeLen) { -+ *unicodeData = reinterpret_cast -+ (nsMemory::Alloc((outUnicodeLen + sizeof('\0')) * -+ sizeof(PRUnichar))); -+ if (*unicodeData) { -+ PRInt32 numberTmp = dataLength; -+ decoder->Convert((const char *)data, &numberTmp, -+ *unicodeData, &outUnicodeLen); -+#ifdef DEBUG_CLIPBOARD -+ if (numberTmp != dataLength) -+ printf("didn't consume all the bytes\n"); -+#endif -+ // null terminate. Convert() doesn't do it for us -+ (*unicodeData)[outUnicodeLen] = '\0'; -+ } -+ } // if valid length -+ } -+} -+ -+/* -+ * get "charset" information from clipboard data -+ * return value can be: -+ * 1. "UTF-16": mozilla or "text/html" with "charset=utf-16" -+ * 2. "UNKNOWN": mozilla can't detect what encode it use -+ * 3. other: "text/html" with other charset than utf-16 -+ */ -+void GetHTMLCharset(guchar * data, PRInt32 dataLength, nsCString& str) -+{ -+ // if detect "FFFE" or "FEFF", assume UTF-16 -+ PRUnichar* beginChar = (PRUnichar*)data; -+ if ((beginChar[0] == 0xFFFE) || (beginChar[0] == 0xFEFF)) { -+ str.AssignLiteral("UTF-16"); -+ return; -+ } -+ // no "FFFE" and "FEFF", assume ASCII first to find "charset" info -+ const nsDependentCString htmlStr((const char *)data, dataLength); -+ nsACString::const_iterator start, end; -+ htmlStr.BeginReading(start); -+ htmlStr.EndReading(end); -+ nsACString::const_iterator valueStart(start), valueEnd(start); -+ -+ if (CaseInsensitiveFindInReadable( -+ NS_LITERAL_CSTRING("CONTENT=\"text/html;"), -+ start, end)) { -+ start = end; -+ htmlStr.EndReading(end); -+ -+ if (CaseInsensitiveFindInReadable( -+ NS_LITERAL_CSTRING("charset="), -+ start, end)) { -+ valueStart = end; -+ start = end; -+ htmlStr.EndReading(end); -+ -+ if (FindCharInReadable('"', start, end)) -+ valueEnd = start; -+ } -+ } -+ // find "charset" in HTML -+ if (valueStart != valueEnd) { -+ str = Substring(valueStart, valueEnd); -+ ToUpperCase(str); -+#ifdef DEBUG_CLIPBOARD -+ printf("Charset of HTML = %s\n", charsetUpperStr.get()); -+#endif -+ return; -+ } -+ str.AssignLiteral("UNKNOWN"); -+} -+ -+static void -+DispatchSelectionNotifyEvent(GtkWidget *widget, XEvent *xevent) -+{ -+ GdkEvent event; -+ event.selection.type = GDK_SELECTION_NOTIFY; -+ event.selection.window = widget->window; -+ event.selection.selection = gdk_x11_xatom_to_atom(xevent->xselection.selection); -+ event.selection.target = gdk_x11_xatom_to_atom(xevent->xselection.target); -+ event.selection.property = gdk_x11_xatom_to_atom(xevent->xselection.property); -+ event.selection.time = xevent->xselection.time; -+ -+ gtk_widget_event(widget, &event); -+} -+ -+static void -+DispatchPropertyNotifyEvent(GtkWidget *widget, XEvent *xevent) -+{ -+ if (((GdkWindowObject *) widget->window)->event_mask & GDK_PROPERTY_CHANGE_MASK) { -+ GdkEvent event; -+ event.property.type = GDK_PROPERTY_NOTIFY; -+ event.property.window = widget->window; -+ event.property.atom = gdk_x11_xatom_to_atom(xevent->xproperty.atom); -+ event.property.time = xevent->xproperty.time; -+ event.property.state = xevent->xproperty.state; -+ -+ gtk_widget_event(widget, &event); -+ } -+} -+ -+struct checkEventContext -+{ -+ GtkWidget *cbWidget; -+ Atom selAtom; -+}; -+ -+static Bool -+checkEventProc(Display *display, XEvent *event, XPointer arg) -+{ -+ checkEventContext *context = (checkEventContext *) arg; -+ -+ if (event->xany.type == SelectionNotify || -+ (event->xany.type == PropertyNotify && -+ event->xproperty.atom == context->selAtom)) { -+ -+ GdkWindow *cbWindow = gdk_window_lookup(event->xany.window); -+ if (cbWindow) { -+ GtkWidget *cbWidget = NULL; -+ gdk_window_get_user_data(cbWindow, (gpointer *)&cbWidget); -+ if (cbWidget && GTK_IS_WIDGET(cbWidget)) { -+ context->cbWidget = cbWidget; -+ return True; -+ } -+ } -+ } -+ -+ return False; -+} -+ -+// Idle timeout for receiving selection and property notify events (microsec) -+static const int kClipboardTimeout = 500000; -+ -+static void -+wait_for_retrieval(GtkClipboard *clipboard, retrieval_context *r_context) -+{ -+ if (r_context->completed) // the request completed synchronously -+ return; -+ -+ Display *xDisplay = GDK_DISPLAY(); -+ checkEventContext context; -+ context.cbWidget = NULL; -+ context.selAtom = gdk_x11_atom_to_xatom(gdk_atom_intern("GDK_SELECTION", -+ FALSE)); -+ -+ // Send X events which are relevant to the ongoing selection retrieval -+ // to the clipboard widget. Wait until either the operation completes, or -+ // we hit our timeout. All other X events remain queued. -+ -+ int select_result; -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+ struct pollfd fds[1]; -+ fds[0].fd = XConnectionNumber(xDisplay); -+ fds[0].events = POLLIN; -+#else -+ int cnumber = ConnectionNumber(xDisplay); -+ fd_set select_set; -+ FD_ZERO(&select_set); -+ FD_SET(cnumber, &select_set); -+ ++cnumber; -+ struct timeval tv; -+#endif -+ -+ do { -+ XEvent xevent; -+ -+ while (XCheckIfEvent(xDisplay, &xevent, checkEventProc, -+ (XPointer) &context)) { -+ -+ if (xevent.xany.type == SelectionNotify) -+ DispatchSelectionNotifyEvent(context.cbWidget, &xevent); -+ else -+ DispatchPropertyNotifyEvent(context.cbWidget, &xevent); -+ -+ if (r_context->completed) -+ return; -+ } -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+ select_result = poll(fds, 1, kClipboardTimeout / 1000); -+#else -+ tv.tv_sec = 0; -+ tv.tv_usec = kClipboardTimeout; -+ select_result = select(cnumber, &select_set, NULL, NULL, &tv); -+#endif -+ } while (select_result == 1); -+ -+#ifdef DEBUG_CLIPBOARD -+ printf("exceeded clipboard timeout\n"); -+#endif -+} -+ -+static void -+clipboard_contents_received(GtkClipboard *clipboard, -+ GtkSelectionData *selection_data, -+ gpointer data) -+{ -+ retrieval_context *context = static_cast(data); -+ context->completed = PR_TRUE; -+ -+ if (selection_data->length >= 0) -+ context->data = gtk_selection_data_copy(selection_data); -+} -+ -+ -+static GtkSelectionData * -+wait_for_contents(GtkClipboard *clipboard, GdkAtom target) -+{ -+ retrieval_context context; -+ gtk_clipboard_request_contents(clipboard, target, -+ clipboard_contents_received, -+ &context); -+ -+ wait_for_retrieval(clipboard, &context); -+ return static_cast(context.data); -+} -+ -+static void -+clipboard_text_received(GtkClipboard *clipboard, -+ const gchar *text, -+ gpointer data) -+{ -+ retrieval_context *context = static_cast(data); -+ context->completed = PR_TRUE; -+ context->data = g_strdup(text); -+} -+ -+static gchar * -+wait_for_text(GtkClipboard *clipboard) -+{ -+ retrieval_context context; -+ gtk_clipboard_request_text(clipboard, clipboard_text_received, &context); -+ -+ wait_for_retrieval(clipboard, &context); -+ return static_cast(context.data); -+} -Index: offscreen/widget/src/headless/nsClipboard.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsClipboard.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,93 @@ -+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* vim:expandtab:shiftwidth=4:tabstop=4: -+ */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is Christopher Blizzard -+ * . Portions created by the Initial Developer -+ * are Copyright (C) 2001 the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef __nsClipboard_h_ -+#define __nsClipboard_h_ -+ -+#include "nsIClipboard.h" -+#include "nsClipboardPrivacyHandler.h" -+#include "nsAutoPtr.h" -+#include -+ -+class nsClipboard : public nsIClipboard -+{ -+public: -+ nsClipboard(); -+ virtual ~nsClipboard(); -+ -+ NS_DECL_ISUPPORTS -+ -+ NS_DECL_NSICLIPBOARD -+ -+ // Make sure we are initialized, called from the factory -+ // constructor -+ nsresult Init (void); -+ // Someone requested the selection from the hidden widget -+ void SelectionGetEvent (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime); -+ void SelectionClearEvent (GtkWidget *aWidget, -+ GdkEventSelection *aEvent); -+ -+ -+private: -+ // Utility methods -+ static GdkAtom GetSelectionAtom (PRInt32 aWhichClipboard); -+ static GtkSelectionData *GetTargets (GdkAtom aWhichClipboard); -+ -+ // Get our hands on the correct transferable, given a specific -+ // clipboard -+ nsITransferable *GetTransferable (PRInt32 aWhichClipboard); -+ -+ // Add a target type to the hidden widget -+ void AddTarget (GdkAtom aName, -+ GdkAtom aClipboard); -+ -+ // The hidden widget where we do all of our operations -+ GtkWidget *mWidget; -+ // Hang on to our owners and transferables so we can transfer data -+ // when asked. -+ nsCOMPtr mSelectionOwner; -+ nsCOMPtr mGlobalOwner; -+ nsCOMPtr mSelectionTransferable; -+ nsCOMPtr mGlobalTransferable; -+ nsRefPtr mPrivacyHandler; -+ -+}; -+ -+#endif /* __nsClipboard_h_ */ -Index: offscreen/widget/src/headless/nsIImageToPixbuf.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsIImageToPixbuf.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,62 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger . -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef NSIIMAGETOPIXBUF_H_ -+#define NSIIMAGETOPIXBUF_H_ -+ -+#include "nsISupports.h" -+ -+// dfa4ac93-83f2-4ab8-9b2a-0ff7022aebe2 -+#define NSIIMAGETOPIXBUF_IID \ -+{ 0xdfa4ac93, 0x83f2, 0x4ab8, \ -+ { 0x9b, 0x2a, 0x0f, 0xf7, 0x02, 0x2a, 0xeb, 0xe2 } } -+ -+class nsIImage; -+typedef struct _GdkPixbuf GdkPixbuf; -+ -+/** -+ * An interface that allows converting an nsIImage to a GdkPixbuf*. -+ */ -+class nsIImageToPixbuf : public nsISupports { -+ public: -+ NS_DECLARE_STATIC_IID_ACCESSOR(NSIIMAGETOPIXBUF_IID) -+ -+ NS_IMETHOD_(GdkPixbuf*) ConvertImageToPixbuf(nsIImage* aImage) = 0; -+}; -+ -+NS_DEFINE_STATIC_IID_ACCESSOR(nsIImageToPixbuf, NSIIMAGETOPIXBUF_IID) -+ -+#endif -Index: offscreen/widget/src/headless/nsImageToPixbuf.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsImageToPixbuf.cpp 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,196 @@ -+/* vim:set sw=4 sts=4 et cin: */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger . -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+ -+#include "gfxASurface.h" -+#include "gfxImageSurface.h" -+#include "gfxContext.h" -+ -+#include "nsIImage.h" -+ -+#include "nsAutoPtr.h" -+ -+#include "nsImageToPixbuf.h" -+ -+NS_IMPL_ISUPPORTS1(nsImageToPixbuf, nsIImageToPixbuf) -+ -+inline unsigned char -+unpremultiply (unsigned char color, -+ unsigned char alpha) -+{ -+ if (alpha == 0) -+ return 0; -+ // plus alpha/2 to round instead of truncate -+ return (color * 255 + alpha / 2) / alpha; -+} -+ -+NS_IMETHODIMP_(GdkPixbuf*) -+nsImageToPixbuf::ConvertImageToPixbuf(nsIImage* aImage) -+{ -+ return ImageToPixbuf(aImage); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::ImageToPixbuf(nsIImage* aImage) -+{ -+ PRInt32 width = aImage->GetWidth(), -+ height = aImage->GetHeight(); -+ -+ nsRefPtr pattern; -+ aImage->GetPattern(getter_AddRefs(pattern)); -+ -+ return PatternToPixbuf(pattern, width, height); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::ImgSurfaceToPixbuf(gfxImageSurface* aImgSurface, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ GdkPixbuf* pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, PR_TRUE, 8, -+ aWidth, aHeight); -+ if (!pixbuf) -+ return nsnull; -+ -+ PRUint32 rowstride = gdk_pixbuf_get_rowstride (pixbuf); -+ guchar* pixels = gdk_pixbuf_get_pixels (pixbuf); -+ -+ long cairoStride = aImgSurface->Stride(); -+ unsigned char* cairoData = aImgSurface->Data(); -+ -+ gfxASurface::gfxImageFormat format = aImgSurface->Format(); -+ -+ for (PRInt32 row = 0; row < aHeight; ++row) { -+ for (PRInt32 col = 0; col < aWidth; ++col) { -+ guchar* pixel = pixels + row * rowstride + 4 * col; -+ -+ PRUint32* cairoPixel = reinterpret_cast -+ ((cairoData + row * cairoStride + 4 * col)); -+ -+ if (format == gfxASurface::ImageFormatARGB32) { -+ const PRUint8 a = (*cairoPixel >> 24) & 0xFF; -+ const PRUint8 r = unpremultiply((*cairoPixel >> 16) & 0xFF, a); -+ const PRUint8 g = unpremultiply((*cairoPixel >> 8) & 0xFF, a); -+ const PRUint8 b = unpremultiply((*cairoPixel >> 0) & 0xFF, a); -+ -+ *pixel++ = r; -+ *pixel++ = g; -+ *pixel++ = b; -+ *pixel++ = a; -+ } else { -+ NS_ASSERTION(format == gfxASurface::ImageFormatRGB24, -+ "unexpected format"); -+ const PRUint8 r = (*cairoPixel >> 16) & 0xFF; -+ const PRUint8 g = (*cairoPixel >> 8) & 0xFF; -+ const PRUint8 b = (*cairoPixel >> 0) & 0xFF; -+ -+ *pixel++ = r; -+ *pixel++ = g; -+ *pixel++ = b; -+ *pixel++ = 0xFF; // A -+ } -+ } -+ } -+ -+ return pixbuf; -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::SurfaceToPixbuf(gfxASurface* aSurface, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ if (aSurface->CairoStatus()) { -+ NS_ERROR("invalid surface"); -+ return nsnull; -+ } -+ -+ nsRefPtr imgSurface; -+ if (aSurface->GetType() == gfxASurface::SurfaceTypeImage) { -+ imgSurface = static_cast -+ (static_cast(aSurface)); -+ } else { -+ imgSurface = new gfxImageSurface(gfxIntSize(aWidth, aHeight), -+ gfxImageSurface::ImageFormatARGB32); -+ -+ if (!imgSurface) -+ return nsnull; -+ -+ nsRefPtr context = new gfxContext(imgSurface); -+ if (!context) -+ return nsnull; -+ -+ context->SetOperator(gfxContext::OPERATOR_SOURCE); -+ context->SetSource(aSurface); -+ context->Paint(); -+ } -+ -+ return ImgSurfaceToPixbuf(imgSurface, aWidth, aHeight); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::PatternToPixbuf(gfxPattern* aPattern, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ if (aPattern->CairoStatus()) { -+ NS_ERROR("invalid pattern"); -+ return nsnull; -+ } -+ -+ nsRefPtr imgSurface; -+ if (aPattern->GetType() == gfxPattern::PATTERN_SURFACE) { -+ nsRefPtr surface = aPattern->GetSurface(); -+ if (surface->GetType() == gfxASurface::SurfaceTypeImage) { -+ imgSurface = static_cast -+ (static_cast(surface.get())); -+ } -+ } -+ -+ if (!imgSurface) { -+ imgSurface = new gfxImageSurface(gfxIntSize(aWidth, aHeight), -+ gfxImageSurface::ImageFormatARGB32); -+ -+ if (!imgSurface) -+ return nsnull; -+ -+ nsRefPtr context = new gfxContext(imgSurface); -+ if (!context) -+ return nsnull; -+ -+ context->SetOperator(gfxContext::OPERATOR_SOURCE); -+ context->SetPattern(aPattern); -+ context->Paint(); -+ } -+ -+ return ImgSurfaceToPixbuf(imgSurface, aWidth, aHeight); -+} -Index: offscreen/widget/src/headless/nsImageToPixbuf.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsImageToPixbuf.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,71 @@ -+/* vim:set sw=4 sts=4 et cin: */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger . -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef NSIMAGETOPIXBUF_H_ -+#define NSIMAGETOPIXBUF_H_ -+ -+#include "nsIImageToPixbuf.h" -+ -+class gfxASurface; -+class gfxPattern; -+class gfxImageSurface; -+ -+class nsImageToPixbuf : public nsIImageToPixbuf { -+ public: -+ NS_DECL_ISUPPORTS -+ NS_IMETHOD_(GdkPixbuf*) ConvertImageToPixbuf(nsIImage* aImage); -+ -+ // Friendlier version of ConvertImageToPixbuf for callers inside of -+ // widget -+ static GdkPixbuf* ImageToPixbuf(nsIImage* aImage); -+ static GdkPixbuf* SurfaceToPixbuf(gfxASurface* aSurface, -+ PRInt32 aWidth, PRInt32 aHeight); -+ static GdkPixbuf* PatternToPixbuf(gfxPattern* aPattern, -+ PRInt32 aWidth, PRInt32 aHeight); -+ private: -+ static GdkPixbuf* ImgSurfaceToPixbuf(gfxImageSurface* aImgSurface, -+ PRInt32 aWidth, PRInt32 aHeight); -+ ~nsImageToPixbuf() {} -+}; -+ -+ -+// fc2389b8-c650-4093-9e42-b05e5f0685b7 -+#define NS_IMAGE_TO_PIXBUF_CID \ -+{ 0xfc2389b8, 0xc650, 0x4093, \ -+ { 0x9e, 0x42, 0xb0, 0x5e, 0x5f, 0x06, 0x85, 0xb7 } } -+ -+#endif -Index: offscreen/widget/src/headless/nsWidgetFactory.cpp -=================================================================== ---- offscreen.orig/widget/src/headless/nsWidgetFactory.cpp 2009-06-12 14:08:56.000000000 +0100 -+++ offscreen/widget/src/headless/nsWidgetFactory.cpp 2009-06-12 14:15:24.000000000 +0100 -@@ -46,6 +46,10 @@ - #include "nsWindow.h" - #include "nsTransferable.h" - #include "nsHTMLFormatConverter.h" -+#ifdef MOZ_X11 -+#include "nsClipboardHelper.h" -+#include "nsClipboard.h" -+#endif - #include "nsSound.h" - #include "nsBidiKeyboard.h" - #include "nsScreenManagerHeadless.h" -@@ -66,6 +70,10 @@ - NS_GENERIC_FACTORY_CONSTRUCTOR(nsTransferable) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLFormatConverter) -+#ifdef MOZ_X11 -+NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboardHelper) -+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsClipboard, Init) -+#endif - NS_GENERIC_FACTORY_CONSTRUCTOR(nsSound) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerHeadless) - //NS_GENERIC_FACTORY_CONSTRUCTOR(nsImageToPixbuf) -@@ -142,6 +150,16 @@ - NS_TRANSFERABLE_CID, - "@mozilla.org/widget/transferable;1", - nsTransferableConstructor }, -+#ifdef MOZ_X11 -+ { "Gtk Clipboard", -+ NS_CLIPBOARD_CID, -+ "@mozilla.org/widget/clipboard;1", -+ nsClipboardConstructor }, -+ { "Clipboard Helper", -+ NS_CLIPBOARDHELPER_CID, -+ "@mozilla.org/widget/clipboardhelper;1", -+ nsClipboardHelperConstructor }, -+#endif - { "HTML Format Converter", - NS_HTMLFORMATCONVERTER_CID, - "@mozilla.org/widget/htmlformatconverter;1", diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/autoconffix.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/autoconffix.patch deleted file mode 100644 index 2874b0d8328..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/autoconffix.patch +++ /dev/null @@ -1,66 +0,0 @@ -Fixes to enable building with latest autoconf and automake - -RP 2/2/10 - -Index: offscreen/js/ctypes/libffi/configure.ac -=================================================================== ---- offscreen.orig/js/ctypes/libffi/configure.ac 2010-02-02 19:53:16.753906134 +0000 -+++ offscreen/js/ctypes/libffi/configure.ac 2010-02-02 19:53:21.895155509 +0000 -@@ -17,10 +17,10 @@ - # the wrong, non-multilib-adjusted value will be used in multilibs. - # As a side effect, we have to subst CFLAGS ourselves. - --m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) -+m4_rename_force([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) - m4_define([_AC_ARG_VAR_PRECIOUS],[]) - AC_PROG_CC --m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) -+m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) - - AC_SUBST(CFLAGS) - -Index: offscreen/modules/libpr0n/build/Makefile.in -=================================================================== ---- offscreen.orig/modules/libpr0n/build/Makefile.in 2010-02-02 19:53:16.783906873 +0000 -+++ offscreen/modules/libpr0n/build/Makefile.in 2010-02-02 19:53:21.895155509 +0000 -@@ -92,6 +92,7 @@ - - export:: - @{ \ -+ \ - $(foreach d,$(filter-out icon,$(MOZ_IMG_DECODERS)), \ - echo "#define IMG_BUILD_DECODER_${d}";) \ - $(foreach d,$(MOZ_IMG_ENCODERS), \ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2010-02-02 19:53:28.493904163 +0000 -+++ offscreen/configure.in 2010-02-02 16:33:09.000000000 +0000 -@@ -3250,11 +3250,7 @@ - dnl ======================================================== - AC_CHECK_LIB(Xext, XShmCreateImage, _HAVE_XSHM_XEXT=1,, - $XLIBS $XEXT_LIBS) -- AC_CHECK_HEADER(X11/extensions/XShm.h) -- if test "$ac_cv_header_X11_extensions_XShm_h" = "yes" && -- test -n "$_HAVE_XSHM_XEXT"; then -- AC_DEFINE(HAVE_XSHM) -- fi -+ AC_DEFINE(HAVE_XSHM) - - dnl ======================================================== - dnl = Check for XIE -@@ -8120,15 +8116,7 @@ - fi # COMPILE_ENVIRONMENT - - if test "$USE_FC_FREETYPE"; then -- if test "$COMPILE_ENVIRONMENT"; then -- _SAVE_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="$CPPFLAGS $FT2_CFLAGS" -- AC_CHECK_HEADERS(fontconfig/fcfreetype.h, , -- [AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)]) -- CPPFLAGS="$_SAVE_CPPFLAGS" -- else - AC_DEFINE(HAVE_FONTCONFIG_FCFREETYPE_H) -- fi - fi - - dnl Set various defines and substitutions diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/buildfixhack.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/buildfixhack.patch deleted file mode 100644 index 31fc40f28ba..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/buildfixhack.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -r ad8be5166ccd layout/generic/nsFrame.h ---- a/layout/generic/nsFrame.h Tue Nov 17 19:24:56 2009 +0000 -+++ b/layout/generic/nsFrame.h Thu Nov 19 12:33:38 2009 +0000 -@@ -151,7 +151,7 @@ - // Left undefined; nsFrame objects are never allocated from the heap. - void* operator new(size_t sz) CPP_THROW_NEW; - --protected: -+public: - // Overridden to prevent the global delete from being called, since - // the memory came out of an arena instead of the heap. - // - - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch deleted file mode 100644 index d31f91a42d0..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch +++ /dev/null @@ -1,764 +0,0 @@ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(config/config.mk) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" - TARGET_VENDOR="${target_vendor}" -@@ -103,7 +102,6 @@ - _SUBDIR_HOST_CFLAGS="$HOST_CFLAGS" - _SUBDIR_HOST_CXXFLAGS="$HOST_CXXFLAGS" - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" --_SUBDIR_CONFIG_ARGS="$ac_configure_args" - - dnl Set the version number of the libs included with mozilla - dnl ======================================================== -@@ -135,6 +133,9 @@ - - MSMANIFEST_TOOL= - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -285,7 +286,7 @@ - ;; - esac - --if test -n "$CROSS_COMPILE" && test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -323,7 +324,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -331,7 +332,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -352,7 +353,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -376,37 +377,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", :) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", :) - AC_DEFINE(CROSS_COMPILE) --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1606,6 +1576,7 @@ - ' - - dnl test that the macros actually work: -+ac_cv_static_assertion_macros_work="yes" - AC_MSG_CHECKING(that static assertion macros used in autoconf tests work) - AC_CACHE_VAL(ac_cv_static_assertion_macros_work, - [AC_LANG_SAVE -@@ -2767,9 +2738,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -3152,19 +3127,9 @@ - dnl We don't want to link against libm or libpthread on Darwin since - dnl they both are just symlinks to libSystem and explicitly linking - dnl against libSystem causes issues when debugging (see bug 299601). --case $target in --*-darwin*) -- ;; --*-beos*) -- ;; --*) - AC_CHECK_LIB(m, atan) - AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -- ;; --esac -+ AC_DEFINE(HAVE_LIBDL)) - - _SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -D_GNU_SOURCE" -@@ -7007,18 +6972,13 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi -+ - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi -+ - - dnl ======================================================== - dnl = -@@ -7530,10 +7490,7 @@ - dnl if no gtk/libIDL1 or gtk2/libIDL2 combination was found, fall back - dnl to either libIDL1 or libIDL2. - if test -z "$_LIBIDL_FOUND"; then -- AM_PATH_LIBIDL($LIBIDL_VERSION,_LIBIDL_FOUND=1) -- if test -z "$_LIBIDL_FOUND"; then - PKG_CHECK_MODULES(LIBIDL, libIDL-2.0 >= 0.8.0,_LIBIDL_FOUND=1) -- fi - fi - dnl - dnl If we don't have a libIDL config program & not cross-compiling, -@@ -7605,13 +7562,7 @@ - fi - - if test -z "$SKIP_PATH_CHECKS"; then --if test -z "${GLIB_CFLAGS}" || test -z "${GLIB_LIBS}" ; then -- if test "$MOZ_ENABLE_GTK2" || test "$USE_ELF_DYNSTR_GC" || test "$MOZ_ENABLE_HEADLESS"; then - PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.7 gobject-2.0) -- else -- AM_PATH_GLIB(${GLIB_VERSION}) -- fi --fi - fi - - if test -z "${GLIB_GMODULE_LIBS}" -a -n "${GLIB_CONFIG}"; then -@@ -8457,10 +8408,7 @@ - HAVE_WCRTOMB - " - --AC_CONFIG_HEADER( --netwerk/necko-config.h --xpcom/xpcom-config.h --xpcom/xpcom-private.h -+AC_CONFIG_HEADER(netwerk/necko-config.h xpcom/xpcom-config.h xpcom/xpcom-private.h - ) - - # Save the defines header file before autoconf removes it. -@@ -8519,31 +8467,11 @@ - dnl To add new Makefiles, edit allmakefiles.sh. - dnl allmakefiles.sh sets the variable, MAKEFILES. - . ${srcdir}/allmakefiles.sh --dnl --dnl Run a perl script to quickly create the makefiles. --dnl If it succeeds, it outputs a shell command to set CONFIG_FILES --dnl for the files it cannot handle correctly. This way, config.status --dnl will handle these files. --dnl If it fails, nothing is set and config.status will run as usual. --dnl --dnl This does not change the $MAKEFILES variable. --dnl --dnl OpenVMS gets a line overflow on the long eval command, so use a temp file. --dnl --if test -z "${AS_PERL}"; then --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl > conftest.sh --else --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl -nowrap --cygwin-srcdir=$srcdir > conftest.sh --fi --. ./conftest.sh --rm conftest.sh - - echo $MAKEFILES > unallmakefiles - - mv -f config/autoconf.mk config/autoconf.mk.orig 2> /dev/null - --AC_OUTPUT($MAKEFILES) -- - dnl Prevent the regeneration of cairo-features.h forcing rebuilds of gfx stuff - if test "$CAIRO_FEATURES_H"; then - if cmp -s $CAIRO_FEATURES_H "$CAIRO_FEATURES_H".orig; then -@@ -8569,14 +8497,14 @@ - HOST_LDFLAGS="$_SUBDIR_HOST_LDFLAGS" - RC= - --unset MAKEFILES --unset CONFIG_FILES -+#unset MAKEFILES -+#unset CONFIG_FILES - - # No need to run subconfigures when building with LIBXUL_SDK_DIR - if test "$COMPILE_ENVIRONMENT" -a -z "$LIBXUL_SDK_DIR"; then - - if test -z "$MOZ_NATIVE_NSPR"; then -- ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" -+ ac_configure_args="$ac_configure_args --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" - if test -z "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --disable-debug" - fi -@@ -8592,8 +8520,7 @@ - if test -n "$USE_ARM_KUSER"; then - ac_configure_args="$ac_configure_args --with-arm-kuser" - fi -- AC_OUTPUT_SUBDIRS(nsprpub) -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(nsprpub) - fi - - if test -z "$MOZ_NATIVE_NSPR"; then -@@ -8610,7 +8537,6 @@ - - # Run the SpiderMonkey 'configure' script. - dist=$MOZ_BUILD_ROOT/dist --ac_configure_args="$_SUBDIR_CONFIG_ARGS" - ac_configure_args="$ac_configure_args --enable-threadsafe" - if test -z "$MOZ_NATIVE_NSPR"; then - ac_configure_args="$ac_configure_args --with-nspr-cflags='$NSPR_CFLAGS'" -@@ -8627,11 +8553,14 @@ - export MOZ_MEMORY_LDFLAGS - fi - fi --AC_OUTPUT_SUBDIRS(js/src) --ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+AC_CONFIG_SUBDIRS(js/src) - - fi # COMPILE_ENVIRONMENT && !LIBXUL_SDK_DIR - -+m4_pattern_allow(AS_BIN) -+ -+AC_OUTPUT($MAKEFILES) -+ - dnl Prevent the regeneration of autoconf.mk forcing rebuilds of the world - dnl Needs to be at the end to respect possible changes from NSPR configure - if cmp -s config/autoconf.mk config/autoconf.mk.orig; then -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(jsapi.h) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CONFIG_HEADER(js-config.h) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" -@@ -101,6 +100,9 @@ - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" - _SUBDIR_CONFIG_ARGS="$ac_configure_args" - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set the version number of the libs included with mozilla - dnl ======================================================== - NSPR_VERSION=4 -@@ -113,6 +115,8 @@ - - MSMANIFEST_TOOL= - -+m4_pattern_allow(AS_BIN) -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -198,7 +202,7 @@ - - if test "$COMPILE_ENVIRONMENT"; then - --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - - _SAVE_CC="$CC" -@@ -235,7 +239,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -243,7 +247,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -298,7 +302,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -328,37 +332,6 @@ - dnl able to run ppc code in a translated environment, making a cross - dnl compiler appear native. So we override that here. - cross_compiling=yes --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1424,6 +1397,8 @@ - fi # GNU_CC - fi # COMPILE_ENVIRONMENT - -+ac_cv_static_assertion_macros_work=yes -+ - dnl ================================================================= - dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, - dnl which is bad when cross compiling. -@@ -2579,9 +2554,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -2606,7 +2585,8 @@ - - AC_CHECK_HEADER(stdint.h) - if test "$ac_cv_header_stdint_h" = yes; then -- AC_DEFINE(JS_HAVE_STDINT_H) -+ AC_DEFINE(JS_HAVE_STDINT_H, 1, [have stdint.h]) -+ AC_DEFINE(HAVE_STDINT_H) - else - dnl We'll figure them out for ourselves. List more likely types - dnl earlier. If we ever really encounter a size for which none of -@@ -3004,10 +2984,7 @@ - ;; - *) - AC_CHECK_LIB(m, atan) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -+ AC_CHECK_LIB(dl, dlopen, AC_DEFINE(HAVE_LIBDL)) - ;; - esac - -@@ -3903,6 +3880,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) -+$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -@@ -4512,18 +4490,11 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi - - dnl ======================================================== - dnl = -@@ -5231,6 +5202,8 @@ - done - AC_SUBST(LIBS_PATH) - -+ -+ - dnl ======================================================== - dnl JavaScript shell - dnl ======================================================== -@@ -5371,3 +5344,4 @@ - # 'js-config' in Makefile.in. - AC_MSG_RESULT(invoking make to create js-config script) - $MAKE js-config -+ -Index: offscreen/nsprpub/configure.in -=================================================================== ---- offscreen.orig/nsprpub/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/nsprpub/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -42,7 +42,6 @@ - AC_PREREQ(2.12) - AC_INIT(config/libc_r.h) - --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - - dnl ======================================================== -@@ -396,7 +395,7 @@ - dnl ======================================================== - dnl Checks for compilers. - dnl ======================================================== --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -423,7 +422,7 @@ - - AC_MSG_CHECKING([whether the $host compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_host_cc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_host_cc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: $host compiler $HOST_CC cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -444,7 +443,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", echo) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - if test -n "$USE_CPLUS"; then -@@ -470,30 +469,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", echo) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", echo) - --else -- AC_PROG_CC -- if test -n "$USE_CPLUS"; then -- if test "$CC" = "cl" -a -z "$CXX"; then -- CXX=$CC -- else -- AC_PROG_CXX -- fi -- fi -- AC_PROG_CPP -- AC_PROG_RANLIB -- AC_PATH_PROGS(AS, as, $CC) -- AC_PATH_PROGS(AR, ar, echo not_ar) -- AC_PATH_PROGS(LD, ld link, echo not_ld) -- AC_PATH_PROGS(STRIP, strip, echo not_strip) -- AC_PATH_PROGS(WINDRES, windres, echo not_windres) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi --fi -- - if test "$GCC" = "yes"; then - GNU_CC=1 - fi -@@ -514,11 +489,8 @@ - ;; - esac - --if test "$cross_compiling" = "yes"; then -+ - CROSS_COMPILE=1 --else -- CROSS_COMPILE= --fi - - dnl ======================================================== - dnl Check for gcc -pipe support -@@ -2283,10 +2255,7 @@ - *-darwin*|*-beos*) - ;; - *) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- OS_LIBS="-ldl $OS_LIBS")) -- ;; -+ AC_CHECK_LIB(dl, dlopen) - esac - - -@@ -2904,6 +2873,8 @@ - dnl pr/tests/w16gui/Makefile - dnl tools/Makefile - -+m4_pattern_allow(AS_BIN) -+ - if test -z "$USE_PTHREADS" && test -z "$USE_BTHREADS"; then - MAKEFILES="$MAKEFILES pr/src/threads/combined/Makefile" - elif test -n "$USE_PTHREADS"; then -@@ -2919,3 +2890,5 @@ - echo $MAKEFILES > unallmakefiles - - AC_OUTPUT([$MAKEFILES], [chmod +x config/nspr-config]) -+ -+ -Index: offscreen/js/src/Makefile.in -=================================================================== ---- offscreen.orig/js/src/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -514,20 +514,8 @@ - - export:: jsautocfg.h - --ifeq (,$(CROSS_COMPILE)$(GNU_CC)$(filter-out WINNT,$(OS_ARCH))) - jsautocfg.h: - touch $@ --else --ifeq ($(OS_ARCH),WINCE) --jsautocfg.h: -- touch $@ --else --jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX) -- @rm -f $@ jsautocfg.tmp -- ./jscpucfg > jsautocfg.tmp -- mv jsautocfg.tmp $@ --endif --endif - - # jscpucfg is a strange target - # Needs to be built with the host compiler but needs to include -@@ -557,7 +545,7 @@ - echo no need to build jscpucfg $< - else - jscpucfg$(HOST_BIN_SUFFIX): jscpucfg.cpp Makefile.in -- $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< -+ $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) -I$(DIST)/sdk/include $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< - endif - endif - -Index: offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -@@ -47,6 +47,8 @@ - - #include - -+#include "mozilla-config.h" -+ - #include "prlog.h" - - #include "nsCOMPtr.h" -Index: offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -@@ -39,6 +39,8 @@ - * - * ***** END LICENSE BLOCK ***** */ - -+#include "mozilla-config.h" -+ - #if !defined(XPCONNECT_STANDALONE) && !defined(NO_SUBSCRIPT_LOADER) - - #include "mozJSSubScriptLoader.h" -Index: offscreen/modules/lcms/include/icc34.h -=================================================================== ---- offscreen.orig/modules/lcms/include/icc34.h 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/modules/lcms/include/icc34.h 2009-06-12 14:15:55.000000000 +0100 -@@ -144,7 +144,7 @@ - */ - - --#ifdef PACKAGE_NAME -+#if 0 - /* - June 9, 2003, Adapted for use with configure by Bob Friesenhahn - Added the stupid check for autoconf by Marti Maria. -Index: offscreen/toolkit/mozapps/update/src/updater/Makefile.in -=================================================================== ---- offscreen.orig/toolkit/mozapps/update/src/updater/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/toolkit/mozapps/update/src/updater/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -60,7 +60,7 @@ - - LIBS += \ - $(DEPTH)/modules/libmar/src/$(LIB_PREFIX)mar.$(LIB_SUFFIX) \ -- $(BZ2_LIBS) \ -+ $(BZ2_LIBS) -lpthread \ - $(NULL) - - ifeq ($(OS_ARCH),WINNT) -Index: offscreen/xpcom/sample/program/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/sample/program/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xpcom/sample/program/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -57,7 +57,7 @@ - # that the application be linked against the XPCOM dynamic library or the NSPR - # dynamic libraries. - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xpcom/tools/registry/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/tools/registry/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xpcom/tools/registry/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -54,7 +54,7 @@ - SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX)) - - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xulrunner/app/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/app/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xulrunner/app/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -184,7 +184,7 @@ - RCFLAGS += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\" - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/xulrunner/stub/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/stub/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xulrunner/stub/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -101,7 +101,7 @@ - endif - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/modules/plugin/test/testplugin/Makefile.in -=================================================================== ---- offscreen.orig/modules/plugin/test/testplugin/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/modules/plugin/test/testplugin/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -63,9 +63,7 @@ - CMMSRCS = nptest_macosx.mm - endif - --ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) - CPPSRCS += nptest_gtk2.cpp --endif - - ifeq ($(MOZ_WIDGET_TOOLKIT),os2) - CPPSRCS += nptest_os2.cpp -Index: offscreen/js/src/aclocal.m4 -=================================================================== ---- offscreen.orig/js/src/aclocal.m4 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/aclocal.m4 2009-06-12 14:15:55.000000000 +0100 -@@ -9,4 +9,3 @@ - builtin(include, build/autoconf/moznbytetype.m4)dnl - builtin(include, build/autoconf/mozprog.m4)dnl - --MOZ_PROG_CHECKMSYS() -Index: offscreen/toolkit/toolkit-makefiles.sh -=================================================================== ---- offscreen.orig/toolkit/toolkit-makefiles.sh 2009-06-12 14:19:59.000000000 +0100 -+++ offscreen/toolkit/toolkit-makefiles.sh 2009-06-12 14:20:09.000000000 +0100 -@@ -342,7 +342,6 @@ - modules/plugin/sdk/samples/Makefile - modules/plugin/sdk/samples/common/Makefile - modules/plugin/sdk/samples/basic/windows/Makefile -- modules/plugin/sdk/samples/basic/unix/Makefile - modules/plugin/sdk/samples/winless/windows/Makefile - " - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix.patch deleted file mode 100644 index 7ee1211f1a0..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix.patch +++ /dev/null @@ -1,774 +0,0 @@ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/configure.in 2009-12-09 13:38:51.000000000 +0000 -@@ -64,7 +64,6 @@ - - AC_PREREQ(2.13) - AC_INIT(config/config.mk) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" - TARGET_VENDOR="${target_vendor}" -@@ -106,7 +105,6 @@ - _SUBDIR_HOST_CFLAGS="$HOST_CFLAGS" - _SUBDIR_HOST_CXXFLAGS="$HOST_CXXFLAGS" - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" --_SUBDIR_CONFIG_ARGS="$ac_configure_args" - - dnl Set the version number of the libs included with mozilla - dnl ======================================================== -@@ -139,6 +137,9 @@ - - MSMANIFEST_TOOL= - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -308,7 +309,7 @@ - ;; - esac - --if test -n "$CROSS_COMPILE" && test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -346,7 +347,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -354,7 +355,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -375,7 +376,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -399,37 +400,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", :) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", :) - AC_DEFINE(CROSS_COMPILE) --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1586,6 +1556,7 @@ - ' - - dnl test that the macros actually work: -+ac_cv_static_assertion_macros_work="yes" - AC_MSG_CHECKING(that static assertion macros used in autoconf tests work) - AC_CACHE_VAL(ac_cv_static_assertion_macros_work, - [AC_LANG_SAVE -@@ -2770,9 +2741,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -3174,21 +3149,9 @@ - dnl We don't want to link against libm or libpthread on Darwin since - dnl they both are just symlinks to libSystem and explicitly linking - dnl against libSystem causes issues when debugging (see bug 299601). --case $target in --*-darwin*) -- ;; --*-beos*) -- ;; --*-os2*) -- ;; --*) - AC_CHECK_LIB(m, atan) - AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -- ;; --esac -+ AC_DEFINE(HAVE_LIBDL)) - - _SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -D_GNU_SOURCE" -@@ -6889,18 +6852,13 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi -+ - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi -+ - - dnl ======================================================== - dnl = -@@ -7420,10 +7378,7 @@ - dnl if no gtk/libIDL1 or gtk2/libIDL2 combination was found, fall back - dnl to either libIDL1 or libIDL2. - if test -z "$_LIBIDL_FOUND"; then -- AM_PATH_LIBIDL($LIBIDL_VERSION,_LIBIDL_FOUND=1) -- if test -z "$_LIBIDL_FOUND"; then - PKG_CHECK_MODULES(LIBIDL, libIDL-2.0 >= 0.8.0,_LIBIDL_FOUND=1) -- fi - fi - dnl - dnl If we don't have a libIDL config program & not cross-compiling, -@@ -7495,13 +7450,7 @@ - fi - - if test -z "$SKIP_PATH_CHECKS"; then --if test -z "${GLIB_CFLAGS}" || test -z "${GLIB_LIBS}" ; then -- if test "$MOZ_ENABLE_GTK2" || test "$USE_ELF_DYNSTR_GC" || test "$MOZ_ENABLE_HEADLESS"; then - PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.7 gobject-2.0) -- else -- AM_PATH_GLIB(${GLIB_VERSION}) -- fi --fi - fi - - if test -z "${GLIB_GMODULE_LIBS}" -a -n "${GLIB_CONFIG}"; then -@@ -8278,10 +8227,7 @@ - HAVE_WCRTOMB - " - --AC_CONFIG_HEADER( --netwerk/necko-config.h --xpcom/xpcom-config.h --xpcom/xpcom-private.h -+AC_CONFIG_HEADER(netwerk/necko-config.h xpcom/xpcom-config.h xpcom/xpcom-private.h - ) - - # Save the defines header file before autoconf removes it. -@@ -8340,31 +8286,11 @@ - dnl To add new Makefiles, edit allmakefiles.sh. - dnl allmakefiles.sh sets the variable, MAKEFILES. - . ${srcdir}/allmakefiles.sh --dnl --dnl Run a perl script to quickly create the makefiles. --dnl If it succeeds, it outputs a shell command to set CONFIG_FILES --dnl for the files it cannot handle correctly. This way, config.status --dnl will handle these files. --dnl If it fails, nothing is set and config.status will run as usual. --dnl --dnl This does not change the $MAKEFILES variable. --dnl --dnl OpenVMS gets a line overflow on the long eval command, so use a temp file. --dnl --if test -z "${AS_PERL}"; then --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl > conftest.sh --else --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl -nowrap --cygwin-srcdir=$srcdir > conftest.sh --fi --. ./conftest.sh --rm conftest.sh - - echo $MAKEFILES > unallmakefiles - - mv -f config/autoconf.mk config/autoconf.mk.orig 2> /dev/null - --AC_OUTPUT($MAKEFILES) -- - dnl Prevent the regeneration of cairo-features.h forcing rebuilds of gfx stuff - if test "$CAIRO_FEATURES_H"; then - if cmp -s $CAIRO_FEATURES_H "$CAIRO_FEATURES_H".orig; then -@@ -8390,14 +8316,14 @@ - HOST_LDFLAGS="$_SUBDIR_HOST_LDFLAGS" - RC= - --unset MAKEFILES --unset CONFIG_FILES -+#unset MAKEFILES -+#unset CONFIG_FILES - - # No need to run subconfigures when building with LIBXUL_SDK_DIR - if test "$COMPILE_ENVIRONMENT" -a -z "$LIBXUL_SDK_DIR"; then - - if test -z "$MOZ_NATIVE_NSPR"; then -- ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" -+ ac_configure_args="$ac_configure_args --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" - if test -z "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --disable-debug" - fi -@@ -8413,8 +8339,7 @@ - if test -n "$USE_ARM_KUSER"; then - ac_configure_args="$ac_configure_args --with-arm-kuser" - fi -- AC_OUTPUT_SUBDIRS(nsprpub) -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(nsprpub) - fi - - if test -z "$MOZ_NATIVE_NSPR"; then -@@ -8431,7 +8356,6 @@ - - # Run the SpiderMonkey 'configure' script. - dist=$MOZ_BUILD_ROOT/dist --ac_configure_args="$_SUBDIR_CONFIG_ARGS" - ac_configure_args="$ac_configure_args --enable-threadsafe" - if test -z "$MOZ_NATIVE_NSPR"; then - ac_configure_args="$ac_configure_args --with-nspr-cflags='$NSPR_CFLAGS'" -@@ -8448,8 +8372,7 @@ - export MOZ_MEMORY_LDFLAGS - fi - fi --AC_OUTPUT_SUBDIRS(js/src) --ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+AC_CONFIG_SUBDIRS(js/src) - - # Build jsctypes on the platforms we can. - if test "$BUILD_CTYPES"; then -@@ -8465,20 +8388,14 @@ - if test -n "$CROSS_COMPILE"; then - ac_configure_args="$ac_configure_args --build=$build --host=$target" - fi -- if test "$SOLARIS_SUNPRO_CC"; then -- # Always use gcc for libffi on Solaris -- old_cache_file=$cache_file -- cache_file=js/ctypes/libffi/config.cache -- ac_configure_args="$ac_configure_args CC=gcc" -- AC_OUTPUT_SUBDIRS(js/ctypes/libffi) -- cache_file=$old_cache_file -- else -- AC_OUTPUT_SUBDIRS(js/ctypes/libffi) -- fi -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(js/ctypes/libffi) - fi - fi - -+m4_pattern_allow(AS_BIN) -+ -+AC_OUTPUT($MAKEFILES) -+ - fi # COMPILE_ENVIRONMENT && !LIBXUL_SDK_DIR - - dnl Prevent the regeneration of autoconf.mk forcing rebuilds of the world -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/configure.in 2009-12-09 13:38:51.000000000 +0000 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(jsapi.h) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CONFIG_HEADER(js-config.h) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" -@@ -101,6 +100,9 @@ - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" - _SUBDIR_CONFIG_ARGS="$ac_configure_args" - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set the version number of the libs included with mozilla - dnl ======================================================== - NSPR_VERSION=4 -@@ -113,6 +115,8 @@ - - MSMANIFEST_TOOL= - -+m4_pattern_allow(AS_BIN) -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -212,7 +216,7 @@ - - if test "$COMPILE_ENVIRONMENT"; then - --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - - _SAVE_CC="$CC" -@@ -249,7 +253,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -257,7 +261,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -312,7 +316,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -342,37 +346,6 @@ - dnl able to run ppc code in a translated environment, making a cross - dnl compiler appear native. So we override that here. - cross_compiling=yes --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1370,6 +1343,8 @@ - fi # GNU_CC - fi # COMPILE_ENVIRONMENT - -+ac_cv_static_assertion_macros_work=yes -+ - dnl ================================================================= - dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, - dnl which is bad when cross compiling. -@@ -2557,9 +2532,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -2584,7 +2563,8 @@ - - AC_CHECK_HEADER(stdint.h) - if test "$ac_cv_header_stdint_h" = yes; then -- AC_DEFINE(JS_HAVE_STDINT_H) -+ AC_DEFINE(JS_HAVE_STDINT_H, 1, [have stdint.h]) -+ AC_DEFINE(HAVE_STDINT_H) - else - dnl We'll figure them out for ourselves. List more likely types - dnl earlier. If we ever really encounter a size for which none of -@@ -2938,10 +2918,7 @@ - ;; - *) - AC_CHECK_LIB(m, atan) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -+ AC_CHECK_LIB(dl, dlopen, AC_DEFINE(HAVE_LIBDL)) - ;; - esac - -@@ -3847,6 +3824,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) -+$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -@@ -4386,18 +4364,11 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi - - dnl ======================================================== - dnl = -@@ -5097,6 +5068,8 @@ - - AC_HAVE_FUNCS(setlocale) - -+ -+ - dnl ======================================================== - dnl Use cygwin wrapper for win32 builds, except MSYS/MinGW - dnl ======================================================== -@@ -5234,3 +5207,4 @@ - # 'js-config' in Makefile.in. - AC_MSG_RESULT(invoking make to create js-config script) - $MAKE js-config -+ -Index: offscreen/nsprpub/configure.in -=================================================================== ---- offscreen.orig/nsprpub/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/nsprpub/configure.in 2009-12-09 13:10:12.000000000 +0000 -@@ -42,7 +42,6 @@ - AC_PREREQ(2.12) - AC_INIT(config/libc_r.h) - --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - - dnl ======================================================== -@@ -396,7 +395,7 @@ - dnl ======================================================== - dnl Checks for compilers. - dnl ======================================================== --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -423,7 +422,7 @@ - - AC_MSG_CHECKING([whether the $host compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_host_cc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_host_cc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: $host compiler $HOST_CC cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -444,7 +443,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", echo) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - if test -n "$USE_CPLUS"; then -@@ -470,30 +469,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", echo) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", echo) - --else -- AC_PROG_CC -- if test -n "$USE_CPLUS"; then -- if test "$CC" = "cl" -a -z "$CXX"; then -- CXX=$CC -- else -- AC_PROG_CXX -- fi -- fi -- AC_PROG_CPP -- AC_PROG_RANLIB -- AC_PATH_PROGS(AS, as, $CC) -- AC_PATH_PROGS(AR, ar, echo not_ar) -- AC_PATH_PROGS(LD, ld link, echo not_ld) -- AC_PATH_PROGS(STRIP, strip, echo not_strip) -- AC_PATH_PROGS(WINDRES, windres, echo not_windres) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi --fi -- - if test "$GCC" = "yes"; then - GNU_CC=1 - fi -@@ -514,11 +489,8 @@ - ;; - esac - --if test "$cross_compiling" = "yes"; then -+ - CROSS_COMPILE=1 --else -- CROSS_COMPILE= --fi - - dnl ======================================================== - dnl Check for gcc -pipe support -@@ -2286,10 +2258,7 @@ - *-darwin*|*-beos*|*-os2*) - ;; - *) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- OS_LIBS="-ldl $OS_LIBS")) -- ;; -+ AC_CHECK_LIB(dl, dlopen) - esac - - -@@ -2907,6 +2876,8 @@ - dnl pr/tests/w16gui/Makefile - dnl tools/Makefile - -+m4_pattern_allow(AS_BIN) -+ - if test -z "$USE_PTHREADS" && test -z "$USE_BTHREADS"; then - MAKEFILES="$MAKEFILES pr/src/threads/combined/Makefile" - elif test -n "$USE_PTHREADS"; then -@@ -2922,3 +2893,5 @@ - echo $MAKEFILES > unallmakefiles - - AC_OUTPUT([$MAKEFILES], [chmod +x config/nspr-config]) -+ -+ -Index: offscreen/js/src/Makefile.in -=================================================================== ---- offscreen.orig/js/src/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -513,20 +513,8 @@ - - export:: jsautocfg.h - --ifeq (,$(CROSS_COMPILE)$(GNU_CC)$(filter-out WINNT,$(OS_ARCH))) - jsautocfg.h: - touch $@ --else --ifeq ($(OS_ARCH),WINCE) --jsautocfg.h: -- touch $@ --else --jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX) -- @rm -f $@ jsautocfg.tmp -- ./jscpucfg > jsautocfg.tmp -- mv jsautocfg.tmp $@ --endif --endif - - # jscpucfg is a strange target - # Needs to be built with the host compiler but needs to include -@@ -556,7 +544,7 @@ - echo no need to build jscpucfg $< - else - jscpucfg$(HOST_BIN_SUFFIX): jscpucfg.cpp Makefile.in -- $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< -+ $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) -I$(DIST)/sdk/include $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< - endif - endif - -Index: offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -@@ -47,6 +47,8 @@ - - #include - -+#include "mozilla-config.h" -+ - #include "prlog.h" - - #include "nsCOMPtr.h" -Index: offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -@@ -39,6 +39,8 @@ - * - * ***** END LICENSE BLOCK ***** */ - -+#include "mozilla-config.h" -+ - #if !defined(XPCONNECT_STANDALONE) && !defined(NO_SUBSCRIPT_LOADER) - - #include "mozJSSubScriptLoader.h" -Index: offscreen/toolkit/mozapps/update/src/updater/Makefile.in -=================================================================== ---- offscreen.orig/toolkit/mozapps/update/src/updater/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/toolkit/mozapps/update/src/updater/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -56,7 +56,7 @@ - - LIBS += \ - $(DEPTH)/modules/libmar/src/$(LIB_PREFIX)mar.$(LIB_SUFFIX) \ -- $(BZ2_LIBS) \ -+ $(BZ2_LIBS) -lpthread \ - $(NULL) - - ifeq ($(OS_ARCH),WINNT) -Index: offscreen/xpcom/sample/program/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/sample/program/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xpcom/sample/program/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -57,7 +57,7 @@ - # that the application be linked against the XPCOM dynamic library or the NSPR - # dynamic libraries. - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xpcom/tools/registry/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/tools/registry/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xpcom/tools/registry/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -54,7 +54,7 @@ - SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX)) - - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xulrunner/app/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/app/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xulrunner/app/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -173,7 +173,7 @@ - RCFLAGS += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\" - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/xulrunner/stub/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/stub/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xulrunner/stub/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -100,7 +100,7 @@ - endif - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/modules/plugin/test/testplugin/Makefile.in -=================================================================== ---- offscreen.orig/modules/plugin/test/testplugin/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/modules/plugin/test/testplugin/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -60,9 +60,7 @@ - CMMSRCS = nptest_macosx.mm - endif - --ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) - CPPSRCS += nptest_gtk2.cpp --endif - - ifeq ($(MOZ_WIDGET_TOOLKIT),os2) - CPPSRCS += nptest_os2.cpp -Index: offscreen/js/src/aclocal.m4 -=================================================================== ---- offscreen.orig/js/src/aclocal.m4 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/aclocal.m4 2009-12-09 13:39:01.000000000 +0000 -@@ -8,6 +8,4 @@ - builtin(include, build/autoconf/altoptions.m4)dnl - builtin(include, build/autoconf/moznbytetype.m4)dnl - builtin(include, build/autoconf/mozprog.m4)dnl --builtin(include, build/autoconf/acwinpaths.m4)dnl - --MOZ_PROG_CHECKMSYS() -Index: offscreen/toolkit/toolkit-makefiles.sh -=================================================================== ---- offscreen.orig/toolkit/toolkit-makefiles.sh 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/toolkit/toolkit-makefiles.sh 2009-12-09 13:10:12.000000000 +0000 -@@ -369,7 +369,6 @@ - modules/plugin/sdk/samples/Makefile - modules/plugin/sdk/samples/common/Makefile - modules/plugin/sdk/samples/basic/windows/Makefile -- modules/plugin/sdk/samples/basic/unix/Makefile - modules/plugin/sdk/samples/winless/windows/Makefile - " - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h b/meta-moblin/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h deleted file mode 100644 index 94b44f8e14b..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h b/meta-moblin/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h deleted file mode 100644 index 94b44f8e14b..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h b/meta-moblin/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h deleted file mode 100644 index 94b44f8e14b..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h b/meta-moblin/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h deleted file mode 100644 index 94b44f8e14b..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/mozconfig b/meta-moblin/packages/mozilla-headless/mozilla-headless/mozconfig deleted file mode 100644 index 6123d11d27a..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/mozconfig +++ /dev/null @@ -1,23 +0,0 @@ -# this line sets the directory for all build output -mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-headless-release - -# comment out the previous line and uncomment these two for a debug build -#mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-headless-debug -#ac_add_options --disable-optimize --enable-debug - -# this is the line that enables the headless implementation -ac_add_options --enable-default-toolkit=cairo-headless - -# comment out the previous line and uncomment these two for a GTK build -#ac_add_options --enable-system-cairo -#ac_add_options --enable-default-toolkit=cairo-gtk2 - -ac_add_options --disable-tests -ac_add_options --disable-javaxpcom -ac_add_options --enable-application=xulrunner -ac_add_options --enable-pango -ac_add_options --disable-printing -ac_add_options --disable-crashreporter -ac_add_options --enable-plugins -ac_add_options --disable-accessibility -mk_add_options MOZ_CO_PROJECT=xulrunner diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch deleted file mode 100644 index aabd6906e88..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -r f1af606531f5 memory/jemalloc/jemalloc.h ---- a/memory/jemalloc/jemalloc.h Sat Nov 22 20:22:22 2008 +0100 -+++ b/memory/jemalloc/jemalloc.h Mon Dec 01 16:53:06 2008 -0500 -@@ -45,14 +45,14 @@ - } jemalloc_stats_t; - - #ifndef MOZ_MEMORY_DARWIN --void *malloc(size_t size); --void *valloc(size_t size); --void *calloc(size_t num, size_t size); --void *realloc(void *ptr, size_t size); --void free(void *ptr); -+void *malloc(size_t size) __THROW __attribute_malloc__ __wur; -+void *valloc(size_t size) __THROW __attribute_malloc__ __wur; -+void *calloc(size_t num, size_t size) __THROW __attribute_malloc__ __wur; -+void *realloc(void *ptr, size_t size) __THROW __attribute_malloc__ __wur; -+void free(void *ptr) __THROW __attribute_malloc__ __wur; - #endif - --int posix_memalign(void **memptr, size_t alignment, size_t size); -+int posix_memalign(void **memptr, size_t alignment, size_t size) __THROW __attribute_malloc__ __wur; - void *memalign(size_t alignment, size_t size); - size_t malloc_usable_size(const void *ptr); - void jemalloc_stats(jemalloc_stats_t *stats); diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch deleted file mode 100644 index 94091057805..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-06-17 14:31:40.000000000 +0100 -+++ offscreen/js/src/configure.in 2009-06-17 14:31:40.000000000 +0100 -@@ -880,7 +880,7 @@ - HOST_AR_FLAGS='$(AR_FLAGS)' - - MOZ_JS_LIBS='-L$(libdir) -lmozjs' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(PREFIX)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' - MOZ_XPCOM_OBSOLETE_LIBS='-L$(LIBXUL_DIST)/lib -lxpcom_compat' -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-06-17 15:09:44.000000000 +0100 -+++ offscreen/configure.in 2009-06-17 15:10:00.000000000 +0100 -@@ -1060,7 +1060,7 @@ - - MOZ_JS_LIBS='-L$(LIBXUL_DIST)/bin -lmozjs' - DYNAMIC_XPCOM_LIBS='-L$(LIBXUL_DIST)/bin -lxpcom -lxpcom_core' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - XPCOM_FROZEN_LDOPTS='-L$(LIBXUL_DIST)/bin -lxpcom' - LIBXUL_LIBS='$(XPCOM_FROZEN_LDOPTS) -lxul' - XPCOM_GLUE_LDOPTS='$(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) $(XPCOM_FROZEN_LDOPTS)' diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath.patch deleted file mode 100644 index 53ae6d3251c..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-12-09 13:38:51.000000000 +0000 -+++ offscreen/js/src/configure.in 2009-12-09 14:14:08.000000000 +0000 -@@ -858,7 +858,7 @@ - HOST_AR_FLAGS='$(AR_FLAGS)' - - MOZ_JS_LIBS='-L$(libdir) -lmozjs' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(PREFIX)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' - -@@ -3824,7 +3824,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) --$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" -+NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-12-09 13:38:51.000000000 +0000 -+++ offscreen/configure.in 2009-12-09 14:31:33.000000000 +0000 -@@ -1041,7 +1041,7 @@ - - MOZ_JS_LIBS='-L$(LIBXUL_DIST)/bin -lmozjs' - DYNAMIC_XPCOM_LIBS='-L$(LIBXUL_DIST)/bin -lxpcom -lxpcom_core' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - XPCOM_FROZEN_LDOPTS='-L$(LIBXUL_DIST)/bin -lxpcom' - LIBXUL_LIBS='$(XPCOM_FROZEN_LDOPTS) -lxul' - XPCOM_GLUE_LDOPTS='$(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) $(XPCOM_FROZEN_LDOPTS)' -@@ -8378,7 +8378,7 @@ - if test "$BUILD_CTYPES"; then - # Run the libffi 'configure' script on platforms that it supports. - if test -z "$_MSC_VER"; then -- ac_configure_args="--disable-shared --enable-static --disable-raw-api" -+ ac_configure_args="$ac_configure_args --disable-shared --enable-static --disable-raw-api" - if test "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --enable-debug" - fi diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless_hg.bb b/meta-moblin/packages/mozilla-headless/mozilla-headless_hg.bb deleted file mode 100644 index 669c5261630..00000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless_hg.bb +++ /dev/null @@ -1,99 +0,0 @@ - -#file://0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch;patch=1 \ -SRC_URI = "hg://hg.mozilla.org/incubator;protocol=http;module=offscreen \ - file://configurefix-1a622cb7c384.patch;patch=1;rev=1a622cb7c384 \ - file://configurefix.patch;patch=1;notrev=1a622cb7c384 \ - file://mozilla-jemalloc.patch;patch=1 \ - file://removebadrpath-1a622cb7c384.patch;patch=1;rev=1a622cb7c384 \ - file://removebadrpath.patch;patch=1;notrev=1a622cb7c384 \ - file://buildfixhack.patch;patch=1;notrev=1a622cb7c384 \ - file://autoconffix.patch;patch=1 \ - file://jsautocfg.h \ - file://mozconfig" -PV = "0.2+hg-1.0+${SRCPV}" -PR = "r10" - -S = "${WORKDIR}/offscreen" - -DEPENDS = "gconf gnome-vfs pango dbus-glib alsa-lib libidl-native sqlite3 libidl" - -FILES_${PN} += "${libdir}/xulrunner-${XULVERSION} ${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/*.so" -FILES_${PN}-dev += "${libdir}/xulrunner-devel-${XULVERSION}" -FILES_${PN}-dbg += "${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/.debug" - -# Mozilla's build rules search for -L paths to find libraries. Its -# not clever enough to know where the sysroot is and hence finds host -# object files which is bad. We therefore tell pkg-config not to hide -# paths. See config/rules.mk and the LIBS_DEPS and _LIBDIRS variables. -export PKG_CONFIG_ALLOW_SYSTEM_LIBS = "1" - -TARGET_CC_ARCH = "" - -CFLAGS = "${TARGET_CFLAGS}" -TARGET_CFLAGS = "-Os -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse -fasynchronous-unwind-tables" - -LDFLAGS = "${TARGET_LDFLAGS}" -TARGET_LDFLAGS = "-Wl,-rpath,${libdir}/xulrunner-${XULVERSION}" - -export target_alias=${TARGET_PREFIX} - -inherit autotools mozilla - -acpaths = "-I ${S}/build/autoconf " - -export topsrcdir = "${S}" - -do_configure () { - if [ "${SRCREV}" != "1a622cb7c384" ]; then - rm -rf ${S}/build/autoconf/acwinpaths.m4 - rm -rf ${S}/js/src/build/autoconf/acwinpaths.m4 - rm -rf ${S}/nsprpub/build/autoconf/acwinpaths.m4 - mkdir -p ${S}/js/src/dist/include - ln -fs ../../../../nsprpub/dist/include/nspr ${S}/js/src/dist/include/nsprpub - fi - cp ${S}/build/autoconf/install-sh ${S} - autotools_do_configure - # Yes, we run this twice. The first pass sets up npsrpub-config which then - # sets the values correctly on the second try. Ick. - autotools_do_configure -} - -do_compile () { - cp ${WORKDIR}/jsautocfg.h ${S}/js/src/ - #oe_runmake -f client.mk build_all - base_do_compile -} - -XULVERSION = "1.9.3a1pre" - -do_install_append () { - install -d ${D}${sysconfdir}/ld.so.conf.d/ - echo ${libdir}/xulrunner-${XULVERSION}/ > ${D}${sysconfdir}/ld.so.conf.d/mozilla-headless -} - -EXTRA_OECONF =+ "--enable-application=xulrunner --enable-default-toolkit=cairo-headless --with-pthreads \ - --enable-pango --enable-optimize --disable-debug --disable-tests \ - --disable-printing --disable-crashreporter --disable-accessibility \ - --disable-javaxpcom --enable-plugins --enable-system-sqlite --disable-necko-wifi" - -export LIBXUL_DIST="${S}/dist" - -SYSROOT_PREPROCESS_FUNCS += "mozilla_sysroot_preprocess" - -mozilla_sysroot_preprocess () { - autotools_stage_dir ${D}/${libdir}/xulrunner-${XULVERSION} ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-${XULVERSION}/ - autotools_stage_dir ${D}/${libdir}/xulrunner-devel-${XULVERSION} ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/ - - ln -fs ${STAGING_DIR_HOST}${libdir}/xulrunner-${XULVERSION}/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/bin - ln -fs ${STAGING_DIR_HOST}${datadir}/xulrunner-${XULVERSION}/unstable/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/idl - ln -fs ${STAGING_DIR_HOST}${includedir}/xulrunner-${XULVERSION}/unstable/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/include - ln -fs ${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/lib - - install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS} - install -m 755 ${S}/dist/host/bin/host_xpidl ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/xpidl -} - -__anonymous () { - if bb.data.getVar("SRCREV", d, True) == "1a622cb7c384": - bb.data.setVar("XULVERSION", "1.9.2a1pre", d) -} diff --git a/meta-moblin/packages/mutter-moblin/files/88mutter-panelapps.sh b/meta-moblin/packages/mutter-moblin/files/88mutter-panelapps.sh deleted file mode 100644 index 1df0d06481d..00000000000 --- a/meta-moblin/packages/mutter-moblin/files/88mutter-panelapps.sh +++ /dev/null @@ -1,3 +0,0 @@ -for APP in /usr/libexec/moblin-panel-*; do - $APP & -done diff --git a/meta-moblin/packages/mutter-moblin/files/background-tile.png b/meta-moblin/packages/mutter-moblin/files/background-tile.png deleted file mode 100644 index b71a55b679c86ea2f46cd4fe2811655cff3e12e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 194031 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 -+ -+static gboolean -+emit_loaded_signal (gpointer user_data) -+{ -+ DBusError error = DBUS_ERROR_INIT; -+ DBusConnection *conn; -+ DBusMessage *msg; -+ -+ conn = dbus_bus_get (DBUS_BUS_SYSTEM, &error); -+ if (!conn) { -+ g_printerr ("Cannot connect to system bus: %s", error.message); -+ dbus_error_free (&error); -+ return FALSE; -+ } -+ -+ msg = dbus_message_new_signal ("/", "org.matchbox_project.desktop", "Loaded"); -+ -+ dbus_connection_send (conn, msg, NULL); -+ dbus_message_unref (msg); -+ -+ /* Flush explicitly because we're too lazy to integrate DBus into the main -+ loop. We're only sending a signal, so if we got as far as here it's -+ unlikely to block. */ -+ dbus_connection_flush (conn); -+ dbus_connection_unref (conn); -+ -+ return FALSE; -+} -+ - static void - mnb_drop_down_get_property (GObject *object, guint property_id, - GValue *value, GParamSpec *pspec) -@@ -137,6 +168,8 @@ - - g_signal_emit (actor, dropdown_signals[SHOW_COMPLETED], 0); - g_object_unref (actor); -+ -+ g_idle_add (emit_loaded_signal, NULL); - } - - static void diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-applications.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-applications.inc deleted file mode 100644 index 3bf71085554..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-applications.inc +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "mutter-moblin nbtk gtk+ glib-2.0 clutter-1.0 gnome-menus" - -SRC_URI = "http://download.moblin.org/sources/moblin-panel-applications/0.1/moblin-panel-applications-0.1.2.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-applications_0.1.2.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-applications_0.1.2.bb deleted file mode 100644 index b80506ee897..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-applications_0.1.2.bb +++ /dev/null @@ -1 +0,0 @@ -require moblin-panel-applications.inc diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-applications_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-applications_git.bb deleted file mode 100644 index 21a42fb2281..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-applications_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require moblin-panel-applications.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.1.2+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-media.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-media.inc deleted file mode 100644 index 4170197fe53..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-media.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "mutter-moblin bickley bognor-regis gtk+" -SRC_URI = "http://download.moblin.org/sources/moblin-panel-media/0.0/moblin-panel-media-0.0.7.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-media_0.0.7.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-media_0.0.7.bb deleted file mode 100644 index 2d76297d8c9..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-media_0.0.7.bb +++ /dev/null @@ -1 +0,0 @@ -require moblin-panel-media.inc diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-media_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-media_git.bb deleted file mode 100644 index de1351bfdb1..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-media_git.bb +++ /dev/null @@ -1,6 +0,0 @@ -require moblin-panel-media.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0.7+git${SRCPV}" -S = "${WORKDIR}/git" - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-myzone.inc deleted file mode 100644 index e8ca32f7264..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "mx mutter-moblin gtk+ libsocialweb gconf libjana" -SRC_URI = "http://download.moblin.org/sources/moblin-panel-myzone/0.0/moblin-panel-myzone-0.0.12.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_0.0.12.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_0.0.12.bb deleted file mode 100644 index 549df6f273f..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_0.0.12.bb +++ /dev/null @@ -1,3 +0,0 @@ -require moblin-panel-myzone.inc - -DEPENDS = "nbtk mutter-moblin gtk+ mojito gconf libjana" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_git.bb deleted file mode 100644 index 27a6fad0a40..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_git.bb +++ /dev/null @@ -1,9 +0,0 @@ -require moblin-panel-myzone.inc - -DEPENDS += "libical" - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0.12+git${SRCPV}" -S = "${WORKDIR}/git" - - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard.inc deleted file mode 100644 index df01edc09ca..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "nbtk mutter-moblin gtk+ clutter-1.0" -SRC_URI = "http://download.moblin.org/sources/moblin-panel-pasteboard/0.0/moblin-panel-pasteboard-0.0.2.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_0.0.2.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_0.0.2.bb deleted file mode 100644 index a992971092a..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_0.0.2.bb +++ /dev/null @@ -1 +0,0 @@ -require moblin-panel-pasteboard.inc diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_git.bb deleted file mode 100644 index 27394b4ea34..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require moblin-panel-pasteboard.inc - -PV = "0.0.2+git${SRCPV}" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-people.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-people.inc deleted file mode 100644 index ca6880dfaf9..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-people.inc +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "nbtk mutter-moblin anerley gtk+ glib-2.0" - -SRC_URI = "http://download.moblin.org/sources/moblin-panel-people/0.0/moblin-panel-people-0.0.9.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-people_0.0.9.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-people_0.0.9.bb deleted file mode 100644 index df52a0de4e7..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-people_0.0.9.bb +++ /dev/null @@ -1 +0,0 @@ -require moblin-panel-people.inc diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-people_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-people_git.bb deleted file mode 100644 index 1361068d34e..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-people_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require moblin-panel-people.inc - -PV = "0.0.9+git${SRCPV}" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-status.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-status.inc deleted file mode 100644 index c5f45a730cb..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-status.inc +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "mx mutter-moblin dbus-glib clutter-1.0 telepathy-mission-control libsocialweb" - -SRC_URI = "http://download.moblin.org/sources/moblin-panel-status/0.0/moblin-panel-status-0.0.9.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-status_0.0.9.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-status_0.0.9.bb deleted file mode 100644 index 2a3c68b1dae..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-status_0.0.9.bb +++ /dev/null @@ -1,3 +0,0 @@ -require moblin-panel-status.inc - -DEPENDS = "nbtk mutter-moblin dbus-glib clutter-1.0 telepathy-mission-control mojito" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-status_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-status_git.bb deleted file mode 100644 index 19fec102b89..00000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-status_git.bb +++ /dev/null @@ -1,6 +0,0 @@ -require moblin-panel-status.inc - -PV = "0.0.9+git${SRCPV}" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -S = "${WORKDIR}/git" - diff --git a/meta-moblin/packages/mutter-moblin/mutter-moblin.inc b/meta-moblin/packages/mutter-moblin/mutter-moblin.inc deleted file mode 100644 index 31a3d967339..00000000000 --- a/meta-moblin/packages/mutter-moblin/mutter-moblin.inc +++ /dev/null @@ -1,50 +0,0 @@ -DESCRIPTION = "A Moblin specific plugin for the Mutter composite window manager" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "clutter-1.0 nbtk mutter gnome-menus mojito libjana anerley clutter-mozembed bickley bognor-regis" - -SRC_URI = "http://download.moblin.org/sources/mutter-moblin/0.43/mutter-moblin-0.43.8.tar.bz2 \ - file://startup-notify.patch;patch=1 \ - file://88mutter-panelapps.sh \ - file://background-tile.png" - -FILES_${PN} += "\ - ${sysconfdir}/X11 \ - ${libdir}/metacity/plugins/clutter/*.so* \ - ${libdir}/mutter/plugins/*.so* \ - ${datadir}/mutter-moblin-netbook-plugin \ - ${datadir}/dbus-1/services \ - ${datadir}/moblin-panel-applications/theme \ - ${datadir}/moblin-panel-pasteboard/theme" -FILES_${PN}-dbg += "${libdir}/metacity/plugins/clutter/.debug/*" -FILES_${PN}-dbg += "${libdir}/mutter/plugins/.debug/*" - -ASNEEDED = "" - -EXTRA_OECONF = "--enable-ahoghill --enable-netpanel --enable-people" - -inherit autotools - -do_configure_prepend () { - rm -f ${S}/build/autotools/gtk-doc.m4 - cp ${WORKDIR}/background-tile.png ${S}/data/theme/panel/ -} - -do_install_append () { - install -d ${D}${sysconfdir}/X11/Xsession.d/ - install ${WORKDIR}/88mutter-panelapps.sh ${D}${sysconfdir}/X11/Xsession.d/ -} - - -pkg_postinst_${PN} () { -#!/bin/sh -e -if [ "x$D" != "x" ]; then - exit 1 -fi - -. ${sysconfdir}/init.d/functions - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type list --list-type string --set /apps/metacity/general/clutter_plugins '[moblin-netbook]' - -nbtk-create-image-cache ${datadir}/mutter-moblin/theme -} diff --git a/meta-moblin/packages/mutter-moblin/mutter-moblin_0.43.8.bb b/meta-moblin/packages/mutter-moblin/mutter-moblin_0.43.8.bb deleted file mode 100644 index 1136163a95e..00000000000 --- a/meta-moblin/packages/mutter-moblin/mutter-moblin_0.43.8.bb +++ /dev/null @@ -1,6 +0,0 @@ -require mutter-moblin.inc - -SRC_URI = "http://download.moblin.org/sources/mutter-moblin/0.43/mutter-moblin-0.43.8.tar.bz2 \ - file://startup-notify.patch;patch=1 \ - file://88mutter-panelapps.sh \ - file://background-tile.png" diff --git a/meta-moblin/packages/mutter-moblin/mutter-moblin_git.bb b/meta-moblin/packages/mutter-moblin/mutter-moblin_git.bb deleted file mode 100644 index 99ce5799a35..00000000000 --- a/meta-moblin/packages/mutter-moblin/mutter-moblin_git.bb +++ /dev/null @@ -1,12 +0,0 @@ -require mutter-moblin.inc - -PV = "0.43.8+git${SRCPV}" -PR = "r11" - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git \ - file://startup-notify.patch;patch=1 \ - file://88mutter-panelapps.sh \ - file://background-tile.png" - -S = "${WORKDIR}/git" - diff --git a/meta-moblin/packages/mx/mx_git.bb b/meta-moblin/packages/mx/mx_git.bb deleted file mode 100644 index 884b22313ad..00000000000 --- a/meta-moblin/packages/mx/mx_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "Moblin toolkit library for netbooks" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r1" -DEPENDS = "clutter-1.0 clutter-imcontext" -S = "${WORKDIR}/git" - -inherit autotools - -EXTRA_OECONF = "--disable-introspection --without-clutter-gesture" - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make - touch ${S}/INSTALL -} diff --git a/meta-moblin/packages/nautilus/nautilus/idl-sysroot.patch b/meta-moblin/packages/nautilus/nautilus/idl-sysroot.patch deleted file mode 100644 index 0062cfb11a3..00000000000 --- a/meta-moblin/packages/nautilus/nautilus/idl-sysroot.patch +++ /dev/null @@ -1,7 +0,0 @@ -Index: nautilus-2.24.2/add-include-prefix -=================================================================== ---- nautilus-2.24.2.orig/add-include-prefix 2008-10-06 17:22:21.000000000 +0000 -+++ nautilus-2.24.2/add-include-prefix 2009-04-09 16:00:05.000000000 +0000 -@@ -1 +1 @@ --sed -e 's/^/ /' -e 's/ */ /g' -e 's/ / -I /g' -e 's/ -I $//' -+sed -e 's:^: :' -e 's: *: :g' -e 's: : -I '"$SYSROOT"':g' -e 's: -I '"$SYSROOT"'$::' diff --git a/meta-moblin/packages/nautilus/nautilus/no-try-run-strftime.diff b/meta-moblin/packages/nautilus/nautilus/no-try-run-strftime.diff deleted file mode 100644 index ccd2934b3a1..00000000000 --- a/meta-moblin/packages/nautilus/nautilus/no-try-run-strftime.diff +++ /dev/null @@ -1,28 +0,0 @@ ---- /tmp/configure.in 2009-04-13 11:26:43.000000000 +0200 -+++ nautilus-2.26.1/configure.in 2009-04-13 11:28:37.000000000 +0200 -@@ -375,25 +375,6 @@ - - dnl =========================================================================== - --dnl strftime checks -- --AC_TRY_RUN([#include -- int main () -- { -- char buf[100]; -- struct tm tm = {0}; -- tm.tm_year = 99; -- if (strftime(buf, 100, "%EY", &tm) == 4 && -- strcmp (buf, "1999")==0) -- return 0; -- return 1; -- } -- ], -- AC_DEFINE(HAVE_STRFTIME_EXTENSION, 1, [Define if strftime supports %E and %O modifiers.]) -- ) -- --dnl =========================================================================== -- - # - # Checks for Xft/XRender - # diff --git a/meta-moblin/packages/nautilus/nautilus_2.26.1.bb b/meta-moblin/packages/nautilus/nautilus_2.26.1.bb deleted file mode 100644 index e653ae9918f..00000000000 --- a/meta-moblin/packages/nautilus/nautilus_2.26.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -# nautilus OE build file -# Copyright (C) 2005, Advanced Micro Devices, Inc. All Rights Reserved -# Released under the MIT license (see packages/COPYING) - -inherit gnome - -SRC_URI += "file://idl-sysroot.patch;patch=1 \ - file://no-try-run-strftime.diff;patch=1 \ -" - -export SYSROOT = "${STAGING_DIR_HOST}" - -LICENSE = "GPL" - -DEPENDS = "gail gtk+ pango gnome-desktop libxml2 dbus-glib libunique libexif librsvg" -#DEPENDS += "gvfs" -#RDEPENDS = "gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash" - -EXTRA_OECONF = " --disable-gtk-doc --disable-update-mimedb --disable-tracker --disable-beagle" - -PACKAGES += " libnautilus" - -FILES_${PN} += "${datadir}/icons /usr/libexec/ " -FILES_libnautilus = "/usr/lib/*.so*" -FILES_${PN}-dbg += "/usr/libexec/.debug" - -do_configure_prepend() { - sed -i -e /docs/d Makefile.am -} diff --git a/meta-moblin/packages/nbtk/nbtk.inc b/meta-moblin/packages/nbtk/nbtk.inc deleted file mode 100644 index 0ad2dff6c01..00000000000 --- a/meta-moblin/packages/nbtk/nbtk.inc +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "Moblin toolkit library for netbooks" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -SRC_URI = "http://download.moblin.org/sources/${PN}/1.2/${PN}-${PV}.tar.bz2" -LICENSE = "LGPLv2.1" -PR = "r4" -DEPENDS = "clutter-1.0 libccss clutter-imcontext" - -EXTRA_OECONF = "--disable-introspection" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make - touch ${S}/INSTALL -} diff --git a/meta-moblin/packages/nbtk/nbtk_1.2.3.bb b/meta-moblin/packages/nbtk/nbtk_1.2.3.bb deleted file mode 100644 index d3eaf3449bc..00000000000 --- a/meta-moblin/packages/nbtk/nbtk_1.2.3.bb +++ /dev/null @@ -1 +0,0 @@ -require nbtk.inc diff --git a/meta-moblin/packages/nbtk/nbtk_git.bb b/meta-moblin/packages/nbtk/nbtk_git.bb deleted file mode 100644 index 0caf4ecc751..00000000000 --- a/meta-moblin/packages/nbtk/nbtk_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require nbtk.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "1.2.3+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/packagekit/gnome-packagekit_2.28.2.bb b/meta-moblin/packages/packagekit/gnome-packagekit_2.28.2.bb deleted file mode 100644 index 9b31e98ba3b..00000000000 --- a/meta-moblin/packages/packagekit/gnome-packagekit_2.28.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "GNOME frontend for packagekit" -LICENSE = "GPL" - -DEPENDS = "packagekit libsexy gconf-dbus polkit polkit-gnome libunique gnome-menus devicekit-power" - -inherit gnome - -SRC_URI = "http://www.packagekit.org/releases/gnome-packagekit-${PV}.tar.gz" - -EXTRA_OECONF = " --enable-compile-warnings=no --disable-scrollkeeper " - -do_configure_prepend() { - sed -i -e s/help/docs/ Makefile.am - sed -i -e s:-Werror::g configure.ac -} - -FILES_${PN} += "${datadir}/icons ${datadir}/gnome" diff --git a/meta-moblin/packages/packagekit/packagekit-0.5.6/configurefix.patch b/meta-moblin/packages/packagekit/packagekit-0.5.6/configurefix.patch deleted file mode 100644 index 48f959186a2..00000000000 --- a/meta-moblin/packages/packagekit/packagekit-0.5.6/configurefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: PackageKit-0.6.0/configure.ac -=================================================================== ---- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000 -+++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000 -@@ -90,7 +90,7 @@ - enable_strict=$default_strict) - if test x$enable_strict != xno; then - if test "$GCC" = "yes"; then -- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror" -+ : - fi - fi - diff --git a/meta-moblin/packages/packagekit/packagekit-0.5.6/opkgfixes.patch b/meta-moblin/packages/packagekit/packagekit-0.5.6/opkgfixes.patch deleted file mode 100644 index 64da86a526c..00000000000 --- a/meta-moblin/packages/packagekit/packagekit-0.5.6/opkgfixes.patch +++ /dev/null @@ -1,421 +0,0 @@ -Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c -=================================================================== ---- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000 -+++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000 -@@ -29,8 +29,6 @@ - - #include - --static opkg_t *opkg; -- - enum { - SEARCH_NAME, - SEARCH_DESCRIPTION, -@@ -62,7 +60,7 @@ - * check an opkg package for known GUI dependancies - */ - static gboolean --opkg_is_gui_pkg (opkg_package_t *pkg) -+opkg_is_gui_pkg (pkg_t *pkg) - { - - /* TODO: check appropriate tag */ -@@ -84,7 +82,7 @@ - * check an opkg package to determine if it is a development package - */ - static gboolean --opkg_is_devel_pkg (opkg_package_t *pkg) -+opkg_is_devel_pkg (pkg_t *pkg) - { - if (g_strrstr (pkg->name, "-dev")) - return TRUE; -@@ -105,7 +103,7 @@ - * returns true if the tag is present - */ - static gboolean --opkg_check_tag (opkg_package_t *pkg, const gchar *tag) -+opkg_check_tag (pkg_t *pkg, const gchar *tag) - { - if (pkg->tags && tag) - return (g_strrstr (pkg->tags, tag) != NULL); -@@ -118,7 +116,7 @@ - { - switch (err) - { -- case OPKG_NO_ERROR: -+/* case OPKG_NO_ERROR: - break; - case OPKG_PACKAGE_NOT_INSTALLED: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -@@ -140,7 +138,7 @@ - break; - case OPKG_PACKAGE_NOT_AVAILABLE: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL); -- break; -+ break;*/ - default: - opkg_unknown_error (backend, err, "Update package"); - } -@@ -152,7 +150,7 @@ - static void - backend_initialize (PkBackend *backend) - { -- opkg = opkg_new (); -+ int opkg = opkg_new (); - - if (!opkg) { - pk_backend_error_code (backend, -@@ -162,8 +160,8 @@ - } - - #ifdef OPKG_OFFLINE_ROOT -- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT); -- opkg_re_read_config_files (opkg); -+ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT); -+ opkg_re_read_config_files (); - #endif - - } -@@ -174,22 +172,22 @@ - static void - backend_destroy (PkBackend *backend) - { -- opkg_free (opkg); -+ opkg_free (); - } - - - static void --pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data) -+pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - if (!backend) - return; - - pk_backend_set_percentage (backend, pdata->percentage); -- if (pdata->package) -+ if (pdata->pkg) - { - gchar *uid; -- opkg_package_t *pkg = pdata->package; -+ pkg_t *pkg = pdata->pkg; - gint status = PK_INFO_ENUM_UNKNOWN; - - uid = g_strdup_printf ("%s;%s;%s;", -@@ -225,12 +223,12 @@ - { - int ret; - -- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend); -+ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend); - - if (ret) { -- if (ret == OPKG_DOWNLOAD_FAILED) -- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); -- else -+// 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); -@@ -256,7 +254,7 @@ - */ - - static void --pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_package_list_cb (pkg_t *pkg, void *data) - { - SearchParams *params = (SearchParams*) data; - gchar *uid; -@@ -298,7 +296,7 @@ - uid = g_strdup_printf ("%s;%s;%s;", - pkg->name, pkg->version, pkg->architecture); - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -318,10 +316,10 @@ - opkg_is_gui_pkg (pkg)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) && -- (!pkg->installed)) -+ (pkg->state_status != SS_INSTALLED)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) && -- (pkg->installed)) -+ (pkg->state_status == SS_INSTALLED)) - goto end_handle; - - pk_backend_package (params->backend, status, uid, pkg->description); -@@ -338,7 +336,7 @@ - - params = pk_backend_get_pointer (backend, "search-params"); - -- opkg_list_packages (opkg, pk_opkg_package_list_cb, params); -+ opkg_list_packages (pk_opkg_package_list_cb, params); - - pk_backend_finished (params->backend); - -@@ -349,7 +347,7 @@ - } - - static void --backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -360,7 +358,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_NAME; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -371,7 +369,7 @@ - * backend_search_description: - */ - static void --backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -382,7 +380,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_DESCRIPTION; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -390,7 +388,7 @@ - } - - static void --backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -401,7 +399,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_TAG; -- params->needle = g_strdup_printf ("group::%s", search); -+ params->needle = g_strdup_printf ("group::%s", search[0]); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -412,9 +410,9 @@ - static gboolean - backend_install_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - - package_ids = pk_backend_get_strv (backend, "pkids"); - -@@ -424,13 +422,13 @@ - { - pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL); - -- pi = pk_package_id_new_from_string (package_ids[i]); -+ parts = pk_package_id_split (package_ids[i]); - -- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - -- pk_package_id_free (pi); -+ g_strfreev (parts); - if (err != 0) - break; - } -@@ -453,9 +451,9 @@ - static gboolean - backend_remove_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - gboolean allow_deps; - gboolean autoremove; - gpointer *data; -@@ -467,29 +465,30 @@ - autoremove = GPOINTER_TO_INT (data[2]); - g_free (data); - -- opkg_set_option (opkg, (char *)"autoremove", &autoremove); -- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps); -+ opkg_set_option ((char *)"autoremove", &autoremove); -+ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps); - - err = 0; - - for (i = 0; package_ids[i]; i++) - { -- pi = pk_package_id_new_from_string (package_ids[i]); - pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL); - -- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ parts = pk_package_id_split (package_ids[i]); -+ -+ err = opkg_remove_package (parts[PK_PACKAGE_ID_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; -+ //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); -+ g_strfreev (parts); - - if (err != 0) - break; -@@ -540,7 +539,7 @@ - gint err; - - /* FIXME: support only_trusted */ -- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_all (pk_opkg_progress_cb, backend); - - if (err) - opkg_unknown_error (backend, err, "Upgrading system"); -@@ -564,29 +563,28 @@ - static gboolean - backend_update_package_thread (PkBackend *backend) - { -- PkPackageId *pi; -+ gchar **parts; - gint err = 0; - const gchar *package_id; - - /* FIXME: support only_trusted */ - package_id = pk_backend_get_string (backend, "pkgid"); -- pi = pk_package_id_new_from_string (package_id); -+ parts = pk_package_id_split (package_id); - -- if (!pi->name || !pi->version) -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, - "Package not found"); -- pk_package_id_free (pi); - pk_backend_finished (backend); - return FALSE; - } - -- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - - -- pk_package_id_free (pi); -+ g_strfreev (parts); - pk_backend_finished (backend); - return (err != 0); - } -@@ -610,13 +608,13 @@ - */ - - static void --pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - gchar *uid; - gint status; - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -631,7 +629,7 @@ - static gboolean - backend_get_updates_thread (PkBackend *backend) - { -- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend); -+ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend); - pk_backend_finished (backend); - return TRUE; - } -@@ -668,16 +666,18 @@ - static gboolean - backend_get_details_thread (PkBackend *backend) - { -- PkPackageId *pi; - gchar **package_ids; -+ gchar **parts; - int group_index; - PkGroupEnum group = 0; -- opkg_package_t *pkg; -+ pkg_t *pkg; - gchar *newid; - - package_ids = pk_backend_get_strv(backend, "package_ids"); -- pi = pk_package_id_new_from_string (package_ids[0]); -- if (pi == NULL) -+ parts = pk_package_id_split (package_ids[0]); -+ -+ -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id"); - pk_backend_finished (backend); -@@ -685,8 +685,8 @@ - } - - -- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data); -- pk_package_id_free (pi); -+ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]); -+ g_strfreev (parts); - - if (!pkg) - { -@@ -695,7 +695,7 @@ - return FALSE; - } - -- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository); -+ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name); - - if (pkg->tags) { - for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) { -@@ -706,9 +706,8 @@ - } - } - -- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size); -+ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size); - g_free (newid); -- opkg_package_free(pkg); - pk_backend_finished (backend); - return TRUE; - } diff --git a/meta-moblin/packages/packagekit/packagekit-0.6.0/configurefix.patch b/meta-moblin/packages/packagekit/packagekit-0.6.0/configurefix.patch deleted file mode 100644 index 48f959186a2..00000000000 --- a/meta-moblin/packages/packagekit/packagekit-0.6.0/configurefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: PackageKit-0.6.0/configure.ac -=================================================================== ---- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000 -+++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000 -@@ -90,7 +90,7 @@ - enable_strict=$default_strict) - if test x$enable_strict != xno; then - if test "$GCC" = "yes"; then -- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror" -+ : - fi - fi - diff --git a/meta-moblin/packages/packagekit/packagekit-0.6.0/opkgfixes.patch b/meta-moblin/packages/packagekit/packagekit-0.6.0/opkgfixes.patch deleted file mode 100644 index 64da86a526c..00000000000 --- a/meta-moblin/packages/packagekit/packagekit-0.6.0/opkgfixes.patch +++ /dev/null @@ -1,421 +0,0 @@ -Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c -=================================================================== ---- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000 -+++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000 -@@ -29,8 +29,6 @@ - - #include - --static opkg_t *opkg; -- - enum { - SEARCH_NAME, - SEARCH_DESCRIPTION, -@@ -62,7 +60,7 @@ - * check an opkg package for known GUI dependancies - */ - static gboolean --opkg_is_gui_pkg (opkg_package_t *pkg) -+opkg_is_gui_pkg (pkg_t *pkg) - { - - /* TODO: check appropriate tag */ -@@ -84,7 +82,7 @@ - * check an opkg package to determine if it is a development package - */ - static gboolean --opkg_is_devel_pkg (opkg_package_t *pkg) -+opkg_is_devel_pkg (pkg_t *pkg) - { - if (g_strrstr (pkg->name, "-dev")) - return TRUE; -@@ -105,7 +103,7 @@ - * returns true if the tag is present - */ - static gboolean --opkg_check_tag (opkg_package_t *pkg, const gchar *tag) -+opkg_check_tag (pkg_t *pkg, const gchar *tag) - { - if (pkg->tags && tag) - return (g_strrstr (pkg->tags, tag) != NULL); -@@ -118,7 +116,7 @@ - { - switch (err) - { -- case OPKG_NO_ERROR: -+/* case OPKG_NO_ERROR: - break; - case OPKG_PACKAGE_NOT_INSTALLED: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -@@ -140,7 +138,7 @@ - break; - case OPKG_PACKAGE_NOT_AVAILABLE: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL); -- break; -+ break;*/ - default: - opkg_unknown_error (backend, err, "Update package"); - } -@@ -152,7 +150,7 @@ - static void - backend_initialize (PkBackend *backend) - { -- opkg = opkg_new (); -+ int opkg = opkg_new (); - - if (!opkg) { - pk_backend_error_code (backend, -@@ -162,8 +160,8 @@ - } - - #ifdef OPKG_OFFLINE_ROOT -- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT); -- opkg_re_read_config_files (opkg); -+ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT); -+ opkg_re_read_config_files (); - #endif - - } -@@ -174,22 +172,22 @@ - static void - backend_destroy (PkBackend *backend) - { -- opkg_free (opkg); -+ opkg_free (); - } - - - static void --pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data) -+pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - if (!backend) - return; - - pk_backend_set_percentage (backend, pdata->percentage); -- if (pdata->package) -+ if (pdata->pkg) - { - gchar *uid; -- opkg_package_t *pkg = pdata->package; -+ pkg_t *pkg = pdata->pkg; - gint status = PK_INFO_ENUM_UNKNOWN; - - uid = g_strdup_printf ("%s;%s;%s;", -@@ -225,12 +223,12 @@ - { - int ret; - -- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend); -+ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend); - - if (ret) { -- if (ret == OPKG_DOWNLOAD_FAILED) -- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); -- else -+// 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); -@@ -256,7 +254,7 @@ - */ - - static void --pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_package_list_cb (pkg_t *pkg, void *data) - { - SearchParams *params = (SearchParams*) data; - gchar *uid; -@@ -298,7 +296,7 @@ - uid = g_strdup_printf ("%s;%s;%s;", - pkg->name, pkg->version, pkg->architecture); - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -318,10 +316,10 @@ - opkg_is_gui_pkg (pkg)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) && -- (!pkg->installed)) -+ (pkg->state_status != SS_INSTALLED)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) && -- (pkg->installed)) -+ (pkg->state_status == SS_INSTALLED)) - goto end_handle; - - pk_backend_package (params->backend, status, uid, pkg->description); -@@ -338,7 +336,7 @@ - - params = pk_backend_get_pointer (backend, "search-params"); - -- opkg_list_packages (opkg, pk_opkg_package_list_cb, params); -+ opkg_list_packages (pk_opkg_package_list_cb, params); - - pk_backend_finished (params->backend); - -@@ -349,7 +347,7 @@ - } - - static void --backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -360,7 +358,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_NAME; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -371,7 +369,7 @@ - * backend_search_description: - */ - static void --backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -382,7 +380,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_DESCRIPTION; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -390,7 +388,7 @@ - } - - static void --backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -401,7 +399,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_TAG; -- params->needle = g_strdup_printf ("group::%s", search); -+ params->needle = g_strdup_printf ("group::%s", search[0]); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -412,9 +410,9 @@ - static gboolean - backend_install_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - - package_ids = pk_backend_get_strv (backend, "pkids"); - -@@ -424,13 +422,13 @@ - { - pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL); - -- pi = pk_package_id_new_from_string (package_ids[i]); -+ parts = pk_package_id_split (package_ids[i]); - -- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - -- pk_package_id_free (pi); -+ g_strfreev (parts); - if (err != 0) - break; - } -@@ -453,9 +451,9 @@ - static gboolean - backend_remove_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - gboolean allow_deps; - gboolean autoremove; - gpointer *data; -@@ -467,29 +465,30 @@ - autoremove = GPOINTER_TO_INT (data[2]); - g_free (data); - -- opkg_set_option (opkg, (char *)"autoremove", &autoremove); -- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps); -+ opkg_set_option ((char *)"autoremove", &autoremove); -+ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps); - - err = 0; - - for (i = 0; package_ids[i]; i++) - { -- pi = pk_package_id_new_from_string (package_ids[i]); - pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL); - -- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ parts = pk_package_id_split (package_ids[i]); -+ -+ err = opkg_remove_package (parts[PK_PACKAGE_ID_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; -+ //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); -+ g_strfreev (parts); - - if (err != 0) - break; -@@ -540,7 +539,7 @@ - gint err; - - /* FIXME: support only_trusted */ -- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_all (pk_opkg_progress_cb, backend); - - if (err) - opkg_unknown_error (backend, err, "Upgrading system"); -@@ -564,29 +563,28 @@ - static gboolean - backend_update_package_thread (PkBackend *backend) - { -- PkPackageId *pi; -+ gchar **parts; - gint err = 0; - const gchar *package_id; - - /* FIXME: support only_trusted */ - package_id = pk_backend_get_string (backend, "pkgid"); -- pi = pk_package_id_new_from_string (package_id); -+ parts = pk_package_id_split (package_id); - -- if (!pi->name || !pi->version) -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, - "Package not found"); -- pk_package_id_free (pi); - pk_backend_finished (backend); - return FALSE; - } - -- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - - -- pk_package_id_free (pi); -+ g_strfreev (parts); - pk_backend_finished (backend); - return (err != 0); - } -@@ -610,13 +608,13 @@ - */ - - static void --pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - gchar *uid; - gint status; - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -631,7 +629,7 @@ - static gboolean - backend_get_updates_thread (PkBackend *backend) - { -- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend); -+ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend); - pk_backend_finished (backend); - return TRUE; - } -@@ -668,16 +666,18 @@ - static gboolean - backend_get_details_thread (PkBackend *backend) - { -- PkPackageId *pi; - gchar **package_ids; -+ gchar **parts; - int group_index; - PkGroupEnum group = 0; -- opkg_package_t *pkg; -+ pkg_t *pkg; - gchar *newid; - - package_ids = pk_backend_get_strv(backend, "package_ids"); -- pi = pk_package_id_new_from_string (package_ids[0]); -- if (pi == NULL) -+ parts = pk_package_id_split (package_ids[0]); -+ -+ -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id"); - pk_backend_finished (backend); -@@ -685,8 +685,8 @@ - } - - -- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data); -- pk_package_id_free (pi); -+ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]); -+ g_strfreev (parts); - - if (!pkg) - { -@@ -695,7 +695,7 @@ - return FALSE; - } - -- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository); -+ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name); - - if (pkg->tags) { - for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) { -@@ -706,9 +706,8 @@ - } - } - -- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size); -+ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size); - g_free (newid); -- opkg_package_free(pkg); - pk_backend_finished (backend); - return TRUE; - } diff --git a/meta-moblin/packages/packagekit/packagekit_0.5.6.bb b/meta-moblin/packages/packagekit/packagekit_0.5.6.bb deleted file mode 100644 index 57f05650c14..00000000000 --- a/meta-moblin/packages/packagekit/packagekit_0.5.6.bb +++ /dev/null @@ -1,57 +0,0 @@ -DESCRIPTION = "PackageKit package management abstraction" -SECTION = "libs" -PRIORITY = "optional" -LICENSE = "GPL" -DEPENDS = "gtk+ python polkit dbus (>= 1.1.1) dbus-glib glib-2.0 sqlite3 opkg intltool intltool-native (>= 0.37.1) connman" -RDEPENDS_${PN} = "opkg" - -inherit gnome autotools - -SRC_URI = "http://www.packagekit.org/releases/PackageKit-${PV}.tar.gz \ - file://configurefix.patch;patch=1 \ - file://opkgfixes.patch;patch=1" -PR = "r1" - -S = "${WORKDIR}/PackageKit-${PV}" - -EXTRA_OECONF = "--with-security-framework=dummy \ - --with-default-backend=opkg \ - --enable-opkg \ - --disable-tests \ - --disable-qt \ - --disable-gstreamer-plugin \ - --disable-local \ - --disable-networkmanager \ - ac_cv_path_XMLTO=no \ - " - -do_configure_prepend() { - mkdir -p m4 - echo "EXTRA_DIST=" > gtk-doc.make -} - -do_configure_append() { - for i in $(find . -name Makefile) ; do - sed -i -e s:${STAGING_DIR_NATIVE}::g \ - -e s:${bindir}/mkdir:${STAGING_BINDIR_NATIVE}/mkdir:g \ - -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \ - $i - done -} - - -PACKAGES =+ "${PN}-website" -FILES_${PN}-website = "${datadir}/PackageKit/website" - -PACKAGES =+ "${PN}-python" -FILES_${PN}-python = "${libdir}/python*" - -PACKAGES =+ "${PN}-gtkmodule" -FILES_${PN}-gtkmodule = "${libdir}/gtk-2.0/*/*.so" - -FILES_${PN} += "${libdir}/packagekit-backend/*.so ${libdir}/pm-utils ${datadir}/dbus-1/system-services/ ${datadir}/PolicyKit ${datadir}/PackageKit" -FILES_${PN}-dbg += "${libdir}/packagekit-backend/.debug/*.so ${libdir}/gtk-2.0/*/.debug" -FILES_${PN}-dev += "${libdir}/packagekit-backend/*a ${libdir}/gtk-2.0/*/*a" - - - diff --git a/meta-moblin/packages/pulseaudio/libatomics-ops/doublefix.patch b/meta-moblin/packages/pulseaudio/libatomics-ops/doublefix.patch deleted file mode 100644 index 2172cac41e5..00000000000 --- a/meta-moblin/packages/pulseaudio/libatomics-ops/doublefix.patch +++ /dev/null @@ -1,25 +0,0 @@ -Double path references breaks recent autoconf+automake - -RP 2/1/10 - -Index: libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.am -=================================================================== ---- libatomic_ops-1.2.orig/src/atomic_ops/sysdeps/Makefile.am 2005-09-28 00:53:16.000000000 +0100 -+++ libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.am 2010-02-01 14:28:46.397820574 +0000 -@@ -25,7 +25,6 @@ - README \ - \ - gcc/alpha.h gcc/arm.h gcc/x86.h \ -- gcc/hppa.h gcc/ia64.h \ - gcc/powerpc.h gcc/sparc.h \ - gcc/hppa.h gcc/m68k.h gcc/s390.h \ - gcc/ia64.h gcc/x86_64.h gcc/cris.h \ -Index: libatomic_ops-1.2/doc/Makefile.am -=================================================================== ---- libatomic_ops-1.2.orig/doc/Makefile.am 2010-02-01 15:20:09.207788884 +0000 -+++ libatomic_ops-1.2/doc/Makefile.am 2010-02-01 15:20:20.909049794 +0000 -@@ -1,3 +1,3 @@ - # installed documentation - # --dist_pkgdata_DATA=COPYING LICENSING.txt README.txt COPYING README_stack.txt README_malloc.txt README_win32.txt -+dist_pkgdata_DATA=LICENSING.txt README.txt COPYING README_stack.txt README_malloc.txt README_win32.txt diff --git a/meta-moblin/packages/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch b/meta-moblin/packages/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch deleted file mode 100644 index 51161dbe0fd..00000000000 --- a/meta-moblin/packages/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://cvs.fedoraproject.org/viewcvs/devel/libatomic_ops/libatomic_ops-1.2-ppclwzfix.patch - -* add fix for bad variable handling on PPC - ---- libatomic_ops-1.2.orig/src/atomic_ops/sysdeps/gcc/powerpc.h 2007-05-29 19:29:52.000000000 +0200 -+++ libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/powerpc.h 2007-05-29 19:30:48.000000000 +0200 -@@ -72,7 +72,7 @@ - /* registers. I always got "impossible constraint" when I */ - /* tried the "y" constraint. */ - __asm__ __volatile__ ( -- "lwz %0,%1\n" -+ "lwz%U1%X1 %0,%1\n" - "cmpw cr7,%0,%0\n" - "bne- cr7,1f\n" - "1: isync\n" diff --git a/meta-moblin/packages/pulseaudio/libatomics-ops_1.2.bb b/meta-moblin/packages/pulseaudio/libatomics-ops_1.2.bb deleted file mode 100644 index 207f1b1ec61..00000000000 --- a/meta-moblin/packages/pulseaudio/libatomics-ops_1.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "A library for atomic integer operations" -LICENSE = "MIT" - -PR = "r4" - -SRC_URI = "http://www.hpl.hp.com/research/linux/atomic_ops/download/libatomic_ops-1.2.tar.gz \ - file://fedora/libatomic_ops-1.2-ppclwzfix.patch;patch=1 \ - file://doublefix.patch;patch=1" - -S = "${WORKDIR}/libatomic_ops-${PV}" - -ALLOW_EMPTY_${PN} = "1" - -inherit autotools pkgconfig diff --git a/meta-moblin/packages/pulseaudio/libcanberra/autoconf_version.patch b/meta-moblin/packages/pulseaudio/libcanberra/autoconf_version.patch deleted file mode 100644 index 73a2ea6e490..00000000000 --- a/meta-moblin/packages/pulseaudio/libcanberra/autoconf_version.patch +++ /dev/null @@ -1,38 +0,0 @@ -Allow a slightly older autoconf and disable the inbuild libltdl - -RP - 16/4/09 - -Index: libcanberra-0.10/Makefile.am -=================================================================== ---- libcanberra-0.10.orig/Makefile.am 2009-04-16 14:38:53.000000000 +0100 -+++ libcanberra-0.10/Makefile.am 2009-04-16 14:39:04.000000000 +0100 -@@ -19,7 +19,7 @@ - dist_doc_DATA = README - - EXTRA_DIST = bootstrap.sh autogen.sh LGPL libcanberra.schemas --SUBDIRS = src gtkdoc libltdl doc -+SUBDIRS = src gtkdoc doc - - MAINTAINERCLEANFILES = README - noinst_DATA = README -Index: libcanberra-0.10/configure.ac -=================================================================== ---- libcanberra-0.10.orig/configure.ac 2009-04-16 14:32:33.000000000 +0100 -+++ libcanberra-0.10/configure.ac 2009-04-16 14:37:50.000000000 +0100 -@@ -19,7 +19,7 @@ - # License along with libcanberra. If not, see - # . - --AC_PREREQ(2.62) -+AC_PREREQ(2.61) - - AC_INIT([libcanberra], 0.10, [mzyvopnaoreen (at) 0pointer (dot) de]) - AC_CONFIG_SRCDIR([src/common.c]) -@@ -70,7 +70,6 @@ - AC_PROG_LIBTOOL - AC_SUBST(LTDLINCL) - AC_SUBST(LIBLTDL) --AC_CONFIG_SUBDIRS(libltdl) - - #### Determine build environment #### - diff --git a/meta-moblin/packages/pulseaudio/libcanberra/nofallbackfix.patch b/meta-moblin/packages/pulseaudio/libcanberra/nofallbackfix.patch deleted file mode 100644 index 89a4fbf9f1c..00000000000 --- a/meta-moblin/packages/pulseaudio/libcanberra/nofallbackfix.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: libcanberra-0.10/src/sound-theme-spec.c -=================================================================== ---- libcanberra-0.10.orig/src/sound-theme-spec.c 2009-05-22 17:08:23.000000000 +0100 -+++ libcanberra-0.10/src/sound-theme-spec.c 2009-05-22 17:12:50.000000000 +0100 -@@ -398,9 +398,9 @@ - if ((ret = load_theme_dir(t, name)) < 0) - goto fail; - -+ /* The fallback theme may intentionally not exist so ignore failure */ - if (!t->loaded_fallback_theme) -- if ((ret = load_theme_dir(t, FALLBACK_THEME)) < 0) -- goto fail; -+ load_theme_dir(t, FALLBACK_THEME); - - if (*_t) - ca_theme_data_free(*_t); diff --git a/meta-moblin/packages/pulseaudio/libcanberra_0.10.bb b/meta-moblin/packages/pulseaudio/libcanberra_0.10.bb deleted file mode 100644 index c6d25dccb00..00000000000 --- a/meta-moblin/packages/pulseaudio/libcanberra_0.10.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops." -LICENSE = "LGPL" -DEPENDS = "gtk+ pulseaudio alsa-lib libtool" -PR = "r3" - -inherit gconf autotools - -SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz \ - file://nofallbackfix.patch;patch=1 \ - file://autoconf_version.patch;patch=1" - -EXTRA_OECONF = " --disable-oss --disable-ltdl-install" - -do_configure_prepend () { - rm -f ${S}/libltdl/configure* -} - -FILES_${PN} += "${libdir}/gtk-2.0/modules/ ${datadir}/gnome" -FILES_${PN}-dbg += "${libdir}/gtk-2.0/modules/.debug" - -AUTOTOOLS_STAGE_PKGCONFIG = "1" - diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/alsaerror.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/alsaerror.patch deleted file mode 100644 index 2efa3e89b8d..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/alsaerror.patch +++ /dev/null @@ -1,525 +0,0 @@ -From: Lennart Poettering -Date: Sun, 19 Apr 2009 17:22:51 +0000 (+0200) -Subject: alsa: properly convert return values of snd_strerror() to utf8 -X-Git-Url: http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff_plain;h=98a25c506e692ab091b4af7e1b37e8432fc08e8f - -alsa: properly convert return values of snd_strerror() to utf8 ---- - -diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c -index 2fbcd7b..41e8b47 100644 ---- a/src/modules/alsa/alsa-sink.c -+++ b/src/modules/alsa/alsa-sink.c -@@ -281,7 +281,7 @@ static int try_recover(struct userdata *u, const char *call, int err) { - pa_assert(call); - pa_assert(err < 0); - -- pa_log_debug("%s: %s", call, snd_strerror(err)); -+ pa_log_debug("%s: %s", call, pa_alsa_strerror(err)); - - pa_assert(err != -EAGAIN); - -@@ -289,7 +289,7 @@ static int try_recover(struct userdata *u, const char *call, int err) { - pa_log_debug("%s: Buffer underrun!", call); - - if ((err = snd_pcm_recover(u->pcm_handle, err, 1)) < 0) { -- pa_log("%s: %s", call, snd_strerror(err)); -+ pa_log("%s: %s", call, pa_alsa_strerror(err)); - return -1; - } - -@@ -636,12 +636,12 @@ static void update_smoother(struct userdata *u) { - /* Let's update the time smoother */ - - if (PA_UNLIKELY((err = pa_alsa_safe_delay(u->pcm_handle, &delay, u->hwbuf_size, &u->sink->sample_spec)) < 0)) { -- pa_log_warn("Failed to query DSP status data: %s", snd_strerror(err)); -+ pa_log_warn("Failed to query DSP status data: %s", pa_alsa_strerror(err)); - return; - } - - if (PA_UNLIKELY((err = snd_pcm_status(u->pcm_handle, status)) < 0)) -- pa_log_warn("Failed to get timestamp: %s", snd_strerror(err)); -+ pa_log_warn("Failed to get timestamp: %s", pa_alsa_strerror(err)); - else { - snd_htimestamp_t htstamp = { 0, 0 }; - snd_pcm_status_get_htstamp(status, &htstamp); -@@ -764,7 +764,7 @@ static int update_sw_params(struct userdata *u) { - pa_log_debug("setting avail_min=%lu", (unsigned long) avail_min); - - if ((err = pa_alsa_set_sw_params(u->pcm_handle, avail_min)) < 0) { -- pa_log("Failed to set software parameters: %s", snd_strerror(err)); -+ pa_log("Failed to set software parameters: %s", pa_alsa_strerror(err)); - return err; - } - -@@ -792,7 +792,7 @@ static int unsuspend(struct userdata *u) { - SND_PCM_NO_AUTO_RESAMPLE| - SND_PCM_NO_AUTO_CHANNELS| - SND_PCM_NO_AUTO_FORMAT)) < 0) { -- pa_log("Error opening PCM device %s: %s", u->device_name, snd_strerror(err)); -+ pa_log("Error opening PCM device %s: %s", u->device_name, pa_alsa_strerror(err)); - goto fail; - } - -@@ -803,7 +803,7 @@ static int unsuspend(struct userdata *u) { - d = u->use_tsched; - - if ((err = pa_alsa_set_hw_params(u->pcm_handle, &ss, &nfrags, &period_size, u->hwbuf_size / u->frame_size, &b, &d, TRUE)) < 0) { -- pa_log("Failed to set hardware parameters: %s", snd_strerror(err)); -+ pa_log("Failed to set hardware parameters: %s", pa_alsa_strerror(err)); - goto fail; - } - -@@ -1030,7 +1030,7 @@ static void sink_get_volume_cb(pa_sink *s) { - return; - - fail: -- pa_log_error("Unable to read volume: %s", snd_strerror(err)); -+ pa_log_error("Unable to read volume: %s", pa_alsa_strerror(err)); - } - - static void sink_set_volume_cb(pa_sink *s) { -@@ -1141,7 +1141,7 @@ static void sink_set_volume_cb(pa_sink *s) { - return; - - fail: -- pa_log_error("Unable to set volume: %s", snd_strerror(err)); -+ pa_log_error("Unable to set volume: %s", pa_alsa_strerror(err)); - } - - static void sink_get_mute_cb(pa_sink *s) { -@@ -1152,7 +1152,7 @@ static void sink_get_mute_cb(pa_sink *s) { - pa_assert(u->mixer_elem); - - if ((err = snd_mixer_selem_get_playback_switch(u->mixer_elem, 0, &sw)) < 0) { -- pa_log_error("Unable to get switch: %s", snd_strerror(err)); -+ pa_log_error("Unable to get switch: %s", pa_alsa_strerror(err)); - return; - } - -@@ -1167,7 +1167,7 @@ static void sink_set_mute_cb(pa_sink *s) { - pa_assert(u->mixer_elem); - - if ((err = snd_mixer_selem_set_playback_switch_all(u->mixer_elem, !s->muted)) < 0) { -- pa_log_error("Unable to set switch: %s", snd_strerror(err)); -+ pa_log_error("Unable to set switch: %s", pa_alsa_strerror(err)); - return; - } - } -@@ -1206,7 +1206,7 @@ static int process_rewind(struct userdata *u) { - pa_log_debug("Requested to rewind %lu bytes.", (unsigned long) rewind_nbytes); - - if (PA_UNLIKELY((unused = pa_alsa_safe_avail(u->pcm_handle, u->hwbuf_size, &u->sink->sample_spec)) < 0)) { -- pa_log("snd_pcm_avail() failed: %s", snd_strerror((int) unused)); -+ pa_log("snd_pcm_avail() failed: %s", pa_alsa_strerror((int) unused)); - return -1; - } - -@@ -1228,7 +1228,7 @@ static int process_rewind(struct userdata *u) { - in_frames = (snd_pcm_sframes_t) (rewind_nbytes / u->frame_size); - pa_log_debug("before: %lu", (unsigned long) in_frames); - if ((out_frames = snd_pcm_rewind(u->pcm_handle, (snd_pcm_uframes_t) in_frames)) < 0) { -- pa_log("snd_pcm_rewind() failed: %s", snd_strerror((int) out_frames)); -+ pa_log("snd_pcm_rewind() failed: %s", pa_alsa_strerror((int) out_frames)); - return -1; - } - pa_log_debug("after: %lu", (unsigned long) out_frames); -@@ -1359,7 +1359,7 @@ static void thread_func(void *userdata) { - pollfd = pa_rtpoll_item_get_pollfd(u->alsa_rtpoll_item, &n); - - if ((err = snd_pcm_poll_descriptors_revents(u->pcm_handle, pollfd, n, &revents)) < 0) { -- pa_log("snd_pcm_poll_descriptors_revents() failed: %s", snd_strerror(err)); -+ pa_log("snd_pcm_poll_descriptors_revents() failed: %s", pa_alsa_strerror(err)); - goto fail; - } - -diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c -index c59fc75..843f70b 100644 ---- a/src/modules/alsa/alsa-source.c -+++ b/src/modules/alsa/alsa-source.c -@@ -278,7 +278,7 @@ static int try_recover(struct userdata *u, const char *call, int err) { - pa_assert(call); - pa_assert(err < 0); - -- pa_log_debug("%s: %s", call, snd_strerror(err)); -+ pa_log_debug("%s: %s", call, pa_alsa_strerror(err)); - - pa_assert(err != -EAGAIN); - -@@ -286,7 +286,7 @@ static int try_recover(struct userdata *u, const char *call, int err) { - pa_log_debug("%s: Buffer overrun!", call); - - if ((err = snd_pcm_recover(u->pcm_handle, err, 1)) < 0) { -- pa_log("%s: %s", call, snd_strerror(err)); -+ pa_log("%s: %s", call, pa_alsa_strerror(err)); - return -1; - } - -@@ -606,12 +606,12 @@ static void update_smoother(struct userdata *u) { - /* Let's update the time smoother */ - - if (PA_UNLIKELY((err = pa_alsa_safe_delay(u->pcm_handle, &delay, u->hwbuf_size, &u->source->sample_spec)) < 0)) { -- pa_log_warn("Failed to get delay: %s", snd_strerror(err)); -+ pa_log_warn("Failed to get delay: %s", pa_alsa_strerror(err)); - return; - } - - if (PA_UNLIKELY((err = snd_pcm_status(u->pcm_handle, status)) < 0)) -- pa_log_warn("Failed to get timestamp: %s", snd_strerror(err)); -+ pa_log_warn("Failed to get timestamp: %s", pa_alsa_strerror(err)); - else { - snd_htimestamp_t htstamp = { 0, 0 }; - snd_pcm_status_get_htstamp(status, &htstamp); -@@ -721,7 +721,7 @@ static int update_sw_params(struct userdata *u) { - pa_log_debug("setting avail_min=%lu", (unsigned long) avail_min); - - if ((err = pa_alsa_set_sw_params(u->pcm_handle, avail_min)) < 0) { -- pa_log("Failed to set software parameters: %s", snd_strerror(err)); -+ pa_log("Failed to set software parameters: %s", pa_alsa_strerror(err)); - return err; - } - -@@ -747,7 +747,7 @@ static int unsuspend(struct userdata *u) { - SND_PCM_NO_AUTO_RESAMPLE| - SND_PCM_NO_AUTO_CHANNELS| - SND_PCM_NO_AUTO_FORMAT)) < 0) { -- pa_log("Error opening PCM device %s: %s", u->device_name, snd_strerror(err)); -+ pa_log("Error opening PCM device %s: %s", u->device_name, pa_alsa_strerror(err)); - goto fail; - } - -@@ -758,7 +758,7 @@ static int unsuspend(struct userdata *u) { - d = u->use_tsched; - - if ((err = pa_alsa_set_hw_params(u->pcm_handle, &ss, &nfrags, &period_size, u->hwbuf_size / u->frame_size, &b, &d, TRUE)) < 0) { -- pa_log("Failed to set hardware parameters: %s", snd_strerror(err)); -+ pa_log("Failed to set hardware parameters: %s", pa_alsa_strerror(err)); - goto fail; - } - -@@ -988,7 +988,7 @@ static void source_get_volume_cb(pa_source *s) { - return; - - fail: -- pa_log_error("Unable to read volume: %s", snd_strerror(err)); -+ pa_log_error("Unable to read volume: %s", pa_alsa_strerror(err)); - } - - static void source_set_volume_cb(pa_source *s) { -@@ -1100,7 +1100,7 @@ static void source_set_volume_cb(pa_source *s) { - return; - - fail: -- pa_log_error("Unable to set volume: %s", snd_strerror(err)); -+ pa_log_error("Unable to set volume: %s", pa_alsa_strerror(err)); - } - - static void source_get_mute_cb(pa_source *s) { -@@ -1111,7 +1111,7 @@ static void source_get_mute_cb(pa_source *s) { - pa_assert(u->mixer_elem); - - if ((err = snd_mixer_selem_get_capture_switch(u->mixer_elem, 0, &sw)) < 0) { -- pa_log_error("Unable to get switch: %s", snd_strerror(err)); -+ pa_log_error("Unable to get switch: %s", pa_alsa_strerror(err)); - return; - } - -@@ -1126,7 +1126,7 @@ static void source_set_mute_cb(pa_source *s) { - pa_assert(u->mixer_elem); - - if ((err = snd_mixer_selem_set_capture_switch_all(u->mixer_elem, !s->muted)) < 0) { -- pa_log_error("Unable to set switch: %s", snd_strerror(err)); -+ pa_log_error("Unable to set switch: %s", pa_alsa_strerror(err)); - return; - } - } -@@ -1218,7 +1218,7 @@ static void thread_func(void *userdata) { - pollfd = pa_rtpoll_item_get_pollfd(u->alsa_rtpoll_item, &n); - - if ((err = snd_pcm_poll_descriptors_revents(u->pcm_handle, pollfd, n, &revents)) < 0) { -- pa_log("snd_pcm_poll_descriptors_revents() failed: %s", snd_strerror(err)); -+ pa_log("snd_pcm_poll_descriptors_revents() failed: %s", pa_alsa_strerror(err)); - goto fail; - } - -diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c -index d2dc6e8..ddc3c77 100644 ---- a/src/modules/alsa/alsa-util.c -+++ b/src/modules/alsa/alsa-util.c -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -40,6 +41,7 @@ - #include - #include - #include -+#include - - #include "alsa-util.h" - -@@ -106,7 +108,7 @@ static void io_cb(pa_mainloop_api*a, pa_io_event* e, int fd, pa_io_event_flags_t - pa_assert(i != fdl->num_fds); - - if ((err = snd_mixer_poll_descriptors_revents(fdl->mixer, fdl->work_fds, fdl->num_fds, &revents)) < 0) { -- pa_log_error("Unable to get poll revent: %s", snd_strerror(err)); -+ pa_log_error("Unable to get poll revent: %s", pa_alsa_strerror(err)); - return; - } - -@@ -129,7 +131,7 @@ static void defer_cb(pa_mainloop_api*a, pa_defer_event* e, void *userdata) { - a->defer_enable(fdl->defer, 0); - - if ((n = snd_mixer_poll_descriptors_count(fdl->mixer)) < 0) { -- pa_log("snd_mixer_poll_descriptors_count() failed: %s", snd_strerror(n)); -+ pa_log("snd_mixer_poll_descriptors_count() failed: %s", pa_alsa_strerror(n)); - return; - } - num_fds = (unsigned) n; -@@ -146,7 +148,7 @@ static void defer_cb(pa_mainloop_api*a, pa_defer_event* e, void *userdata) { - memset(fdl->work_fds, 0, sizeof(struct pollfd) * num_fds); - - if ((err = snd_mixer_poll_descriptors(fdl->mixer, fdl->work_fds, num_fds)) < 0) { -- pa_log_error("Unable to get poll descriptors: %s", snd_strerror(err)); -+ pa_log_error("Unable to get poll descriptors: %s", pa_alsa_strerror(err)); - return; - } - -@@ -482,42 +484,42 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min) { - snd_pcm_sw_params_alloca(&swparams); - - if ((err = snd_pcm_sw_params_current(pcm, swparams) < 0)) { -- pa_log_warn("Unable to determine current swparams: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to determine current swparams: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_period_event(pcm, swparams, 0)) < 0) { -- pa_log_warn("Unable to disable period event: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to disable period event: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_tstamp_mode(pcm, swparams, SND_PCM_TSTAMP_ENABLE)) < 0) { -- pa_log_warn("Unable to enable time stamping: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to enable time stamping: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_get_boundary(swparams, &boundary)) < 0) { -- pa_log_warn("Unable to get boundary: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to get boundary: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_stop_threshold(pcm, swparams, boundary)) < 0) { -- pa_log_warn("Unable to set stop threshold: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to set stop threshold: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_start_threshold(pcm, swparams, (snd_pcm_uframes_t) -1)) < 0) { -- pa_log_warn("Unable to set start threshold: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to set start threshold: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_avail_min(pcm, swparams, avail_min)) < 0) { -- pa_log_error("snd_pcm_sw_params_set_avail_min() failed: %s", snd_strerror(err)); -+ pa_log_error("snd_pcm_sw_params_set_avail_min() failed: %s", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params(pcm, swparams)) < 0) { -- pa_log_warn("Unable to set sw params: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to set sw params: %s\n", pa_alsa_strerror(err)); - return err; - } - -@@ -854,7 +856,7 @@ snd_pcm_t *pa_alsa_open_by_device_string( - SND_PCM_NO_AUTO_RESAMPLE| - SND_PCM_NO_AUTO_CHANNELS| - (reformat ? 0 : SND_PCM_NO_AUTO_FORMAT))) < 0) { -- pa_log_info("Error opening PCM device %s: %s", d, snd_strerror(err)); -+ pa_log_info("Error opening PCM device %s: %s", d, pa_alsa_strerror(err)); - goto fail; - } - -@@ -882,7 +884,7 @@ snd_pcm_t *pa_alsa_open_by_device_string( - continue; - } - -- pa_log_info("Failed to set hardware parameters on %s: %s", d, snd_strerror(err)); -+ pa_log_info("Failed to set hardware parameters on %s: %s", d, pa_alsa_strerror(err)); - snd_pcm_close(pcm_handle); - - goto fail; -@@ -1000,17 +1002,17 @@ int pa_alsa_prepare_mixer(snd_mixer_t *mixer, const char *dev) { - pa_assert(dev); - - if ((err = snd_mixer_attach(mixer, dev)) < 0) { -- pa_log_info("Unable to attach to mixer %s: %s", dev, snd_strerror(err)); -+ pa_log_info("Unable to attach to mixer %s: %s", dev, pa_alsa_strerror(err)); - return -1; - } - - if ((err = snd_mixer_selem_register(mixer, NULL, NULL)) < 0) { -- pa_log_warn("Unable to register mixer: %s", snd_strerror(err)); -+ pa_log_warn("Unable to register mixer: %s", pa_alsa_strerror(err)); - return -1; - } - - if ((err = snd_mixer_load(mixer)) < 0) { -- pa_log_warn("Unable to load mixer: %s", snd_strerror(err)); -+ pa_log_warn("Unable to load mixer: %s", pa_alsa_strerror(err)); - return -1; - } - -@@ -1136,7 +1138,7 @@ int pa_alsa_find_mixer_and_elem( - } - - if ((err = snd_mixer_open(&m, 0)) < 0) { -- pa_log("Error opening mixer: %s", snd_strerror(err)); -+ pa_log("Error opening mixer: %s", pa_alsa_strerror(err)); - return -1; - } - -@@ -1338,7 +1340,7 @@ void pa_alsa_dump(pa_log_level_t level, snd_pcm_t *pcm) { - pa_assert_se(snd_output_buffer_open(&out) == 0); - - if ((err = snd_pcm_dump(pcm, out)) < 0) -- pa_logl(level, "snd_pcm_dump(): %s", snd_strerror(err)); -+ pa_logl(level, "snd_pcm_dump(): %s", pa_alsa_strerror(err)); - else { - char *s = NULL; - snd_output_buffer_string(out, &s); -@@ -1362,7 +1364,7 @@ void pa_alsa_dump_status(snd_pcm_t *pcm) { - pa_assert_se(snd_pcm_status(pcm, status) == 0); - - if ((err = snd_pcm_status_dump(status, out)) < 0) -- pa_log_debug("snd_pcm_dump(): %s", snd_strerror(err)); -+ pa_log_debug("snd_pcm_dump(): %s", pa_alsa_strerror(err)); - else { - char *s = NULL; - snd_output_buffer_string(out, &s); -@@ -1524,7 +1526,7 @@ void pa_alsa_init_proplist_pcm(pa_core *c, pa_proplist *p, snd_pcm_t *pcm, snd_m - snd_pcm_info_alloca(&info); - - if ((err = snd_pcm_hw_params_current(pcm, hwparams)) < 0) -- pa_log_warn("Error fetching hardware parameter info: %s", snd_strerror(err)); -+ pa_log_warn("Error fetching hardware parameter info: %s", pa_alsa_strerror(err)); - else { - - if ((bits = snd_pcm_hw_params_get_sbits(hwparams)) >= 0) -@@ -1535,7 +1537,7 @@ void pa_alsa_init_proplist_pcm(pa_core *c, pa_proplist *p, snd_pcm_t *pcm, snd_m - pa_proplist_sets(p, "alsa.mixer_element", snd_mixer_selem_get_name(elem)); - - if ((err = snd_pcm_info(pcm, info)) < 0) -- pa_log_warn("Error fetching PCM info: %s", snd_strerror(err)); -+ pa_log_warn("Error fetching PCM info: %s", pa_alsa_strerror(err)); - else - pa_alsa_init_proplist_pcm_info(c, p, info); - } -@@ -1568,14 +1570,14 @@ int pa_alsa_recover_from_poll(snd_pcm_t *pcm, int revents) { - - case SND_PCM_STATE_XRUN: - if ((err = snd_pcm_recover(pcm, -EPIPE, 1)) != 0) { -- pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP and XRUN: %s", snd_strerror(err)); -+ pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP and XRUN: %s", pa_alsa_strerror(err)); - return -1; - } - break; - - case SND_PCM_STATE_SUSPENDED: - if ((err = snd_pcm_recover(pcm, -ESTRPIPE, 1)) != 0) { -- pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP and SUSPENDED: %s", snd_strerror(err)); -+ pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP and SUSPENDED: %s", pa_alsa_strerror(err)); - return -1; - } - break; -@@ -1585,7 +1587,7 @@ int pa_alsa_recover_from_poll(snd_pcm_t *pcm, int revents) { - snd_pcm_drop(pcm); - - if ((err = snd_pcm_prepare(pcm)) < 0) { -- pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): %s", snd_strerror(err)); -+ pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): %s", pa_alsa_strerror(err)); - return -1; - } - break; -@@ -1602,7 +1604,7 @@ pa_rtpoll_item* pa_alsa_build_pollfd(snd_pcm_t *pcm, pa_rtpoll *rtpoll) { - pa_assert(pcm); - - if ((n = snd_pcm_poll_descriptors_count(pcm)) < 0) { -- pa_log("snd_pcm_poll_descriptors_count() failed: %s", snd_strerror(n)); -+ pa_log("snd_pcm_poll_descriptors_count() failed: %s", pa_alsa_strerror(n)); - return NULL; - } - -@@ -1610,7 +1612,7 @@ pa_rtpoll_item* pa_alsa_build_pollfd(snd_pcm_t *pcm, pa_rtpoll *rtpoll) { - pollfd = pa_rtpoll_item_get_pollfd(item, NULL); - - if ((err = snd_pcm_poll_descriptors(pcm, pollfd, (unsigned) n)) < 0) { -- pa_log("snd_pcm_poll_descriptors() failed: %s", snd_strerror(err)); -+ pa_log("snd_pcm_poll_descriptors() failed: %s", pa_alsa_strerror(err)); - pa_rtpoll_item_free(item); - return NULL; - } -@@ -1819,3 +1821,30 @@ pa_bool_t pa_alsa_pcm_is_modem(snd_pcm_t *pcm) { - - return snd_pcm_info_get_class(info) == SND_PCM_CLASS_MODEM; - } -+ -+PA_STATIC_TLS_DECLARE(cstrerror, pa_xfree); -+ -+const char* pa_alsa_strerror(int errnum) { -+ const char *original = NULL; -+ char *translated, *t; -+ char errbuf[128]; -+ -+ if ((t = PA_STATIC_TLS_GET(cstrerror))) -+ pa_xfree(t); -+ -+ original = snd_strerror(errnum); -+ -+ if (!original) { -+ pa_snprintf(errbuf, sizeof(errbuf), "Unknown error %i", errnum); -+ original = errbuf; -+ } -+ -+ if (!(translated = pa_locale_to_utf8(original))) { -+ pa_log_warn("Unable to convert error string to locale, filtering."); -+ translated = pa_utf8_filter(original); -+ } -+ -+ PA_STATIC_TLS_SET(cstrerror, translated); -+ -+ return translated; -+} -diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h -index c8acc7c..77ac8a7 100644 ---- a/src/modules/alsa/alsa-util.h -+++ b/src/modules/alsa/alsa-util.h -@@ -146,4 +146,6 @@ pa_bool_t pa_alsa_pcm_is_hw(snd_pcm_t *pcm); - - pa_bool_t pa_alsa_pcm_is_modem(snd_pcm_t *pcm); - -+const char* pa_alsa_strerror(int errnum); -+ - #endif -diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c -index fdc952d..51d466e 100644 ---- a/src/modules/alsa/module-alsa-card.c -+++ b/src/modules/alsa/module-alsa-card.c -@@ -304,7 +304,7 @@ int pa__init(pa_module *m) { - u->modargs = ma; - - if ((alsa_card_index = snd_card_get_index(u->device_id)) < 0) { -- pa_log("Card '%s' doesn't exist: %s", u->device_id, snd_strerror(alsa_card_index)); -+ pa_log("Card '%s' doesn't exist: %s", u->device_id, pa_alsa_strerror(alsa_card_index)); - goto fail; - } - diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/autoconf_version.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/autoconf_version.patch deleted file mode 100644 index 7a0759da13d..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/autoconf_version.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: pulseaudio-0.9.15/configure.ac -=================================================================== ---- pulseaudio-0.9.15.orig/configure.ac 2009-04-14 00:09:53.000000000 +0100 -+++ pulseaudio-0.9.15/configure.ac 2009-05-22 11:32:50.000000000 +0100 -@@ -20,7 +20,7 @@ - # along with PulseAudio; if not, write to the Free Software Foundation, - # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - --AC_PREREQ(2.63) -+AC_PREREQ(2.61) - - m4_define(pa_major, [0]) - m4_define(pa_minor, [9]) diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/buildfix.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/buildfix.patch deleted file mode 100644 index ca01e0d80f4..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/buildfix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: pulseaudio-0.9.11/src/pulsecore/atomic.h -=================================================================== ---- pulseaudio-0.9.11.orig/src/pulsecore/atomic.h -+++ pulseaudio-0.9.11/src/pulsecore/atomic.h -@@ -40,6 +40,8 @@ - #error "Please include config.h before including this file!" - #endif - -+#include "macro.h" -+ - #ifdef HAVE_ATOMIC_BUILTINS - - /* __sync based implementation */ diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/fallback.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/fallback.patch deleted file mode 100644 index 2fae0d4e785..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/fallback.patch +++ /dev/null @@ -1,338 +0,0 @@ -From: Lennart Poettering -Date: Tue, 28 Apr 2009 23:58:18 +0000 (+0200) -Subject: alsa: allow configuration of fallback device strings in profiles -X-Git-Url: http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff_plain;h=d8710711fb0c74b4ad83ac99c2501218155b502b - -alsa: allow configuration of fallback device strings in profiles - -This has the benefit that we can properly support ALSA devices where -only the raw 'hw' device exists but no 'front' although it's a proper -2ch stereo device. ---- - -diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c -index 18d6880..a3a0450 100644 ---- a/src/modules/alsa/alsa-util.c -+++ b/src/modules/alsa/alsa-util.c -@@ -528,7 +528,7 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min) { - - static const struct pa_alsa_profile_info device_table[] = { - {{ 1, { PA_CHANNEL_POSITION_MONO }}, -- "hw", -+ "hw", NULL, - N_("Analog Mono"), - "analog-mono", - 1, -@@ -536,7 +536,7 @@ static const struct pa_alsa_profile_info device_table[] = { - "Capture", "Mic" }, - - {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, -- "front", -+ "front", "hw", - N_("Analog Stereo"), - "analog-stereo", - 10, -@@ -544,7 +544,7 @@ static const struct pa_alsa_profile_info device_table[] = { - "Capture", "Mic" }, - - {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, -- "iec958", -+ "iec958", NULL, - N_("Digital Stereo (IEC958)"), - "iec958-stereo", - 5, -@@ -552,7 +552,7 @@ static const struct pa_alsa_profile_info device_table[] = { - "IEC958 In", NULL }, - - {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, -- "hdmi", -+ "hdmi", NULL, - N_("Digital Stereo (HDMI)"), - "hdmi-stereo", - 4, -@@ -561,7 +561,7 @@ static const struct pa_alsa_profile_info device_table[] = { - - {{ 4, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT }}, -- "surround40", -+ "surround40", NULL, - N_("Analog Surround 4.0"), - "analog-surround-40", - 7, -@@ -570,7 +570,7 @@ static const struct pa_alsa_profile_info device_table[] = { - - {{ 4, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT }}, -- "a52", -+ "a52", NULL, - N_("Digital Surround 4.0 (IEC958/AC3)"), - "iec958-ac3-surround-40", - 2, -@@ -580,7 +580,7 @@ static const struct pa_alsa_profile_info device_table[] = { - {{ 5, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_LFE }}, -- "surround41", -+ "surround41", NULL, - N_("Analog Surround 4.1"), - "analog-surround-41", - 7, -@@ -590,7 +590,7 @@ static const struct pa_alsa_profile_info device_table[] = { - {{ 5, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_CENTER }}, -- "surround50", -+ "surround50", NULL, - N_("Analog Surround 5.0"), - "analog-surround-50", - 7, -@@ -600,7 +600,7 @@ static const struct pa_alsa_profile_info device_table[] = { - {{ 6, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_CENTER, PA_CHANNEL_POSITION_LFE }}, -- "surround51", -+ "surround51", NULL, - N_("Analog Surround 5.1"), - "analog-surround-51", - 8, -@@ -610,7 +610,7 @@ static const struct pa_alsa_profile_info device_table[] = { - {{ 6, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE}}, -- "a52", -+ "a52", NULL, - N_("Digital Surround 5.1 (IEC958/AC3)"), - "iec958-ac3-surround-51", - 3, -@@ -621,16 +621,72 @@ static const struct pa_alsa_profile_info device_table[] = { - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_CENTER, PA_CHANNEL_POSITION_LFE, - PA_CHANNEL_POSITION_SIDE_LEFT, PA_CHANNEL_POSITION_SIDE_RIGHT }}, -- "surround71", -+ "surround71", NULL, - N_("Analog Surround 7.1"), - "analog-surround-71", - 7, - "Master", "PCM", - "Capture", "Mic" }, - -- {{ 0, { 0 }}, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL } -+ {{ 0, { 0 }}, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL } - }; - -+static snd_pcm_t *open_by_device_string_with_fallback( -+ const char *prefix, -+ const char *prefix_fallback, -+ const char *dev_id, -+ char **dev, -+ pa_sample_spec *ss, -+ pa_channel_map* map, -+ int mode, -+ uint32_t *nfrags, -+ snd_pcm_uframes_t *period_size, -+ snd_pcm_uframes_t tsched_size, -+ pa_bool_t *use_mmap, -+ pa_bool_t *use_tsched, -+ pa_bool_t require_exact_channel_number) { -+ -+ snd_pcm_t *pcm_handle; -+ char *d; -+ -+ d = pa_sprintf_malloc("%s:%s", prefix, dev_id); -+ -+ pcm_handle = pa_alsa_open_by_device_string( -+ d, -+ dev, -+ ss, -+ map, -+ mode, -+ nfrags, -+ period_size, -+ tsched_size, -+ use_mmap, -+ use_tsched, -+ require_exact_channel_number); -+ pa_xfree(d); -+ -+ if (!pcm_handle && prefix_fallback) { -+ -+ d = pa_sprintf_malloc("%s:%s", prefix_fallback, dev_id); -+ -+ pcm_handle = pa_alsa_open_by_device_string( -+ d, -+ dev, -+ ss, -+ map, -+ mode, -+ nfrags, -+ period_size, -+ tsched_size, -+ use_mmap, -+ use_tsched, -+ require_exact_channel_number); -+ pa_xfree(d); -+ } -+ -+ return pcm_handle; -+} -+ - snd_pcm_t *pa_alsa_open_by_device_id_auto( - const char *dev_id, - char **dev, -@@ -671,14 +727,14 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( - - pa_log_debug("Checking for %s (%s)", device_table[i].name, device_table[i].alsa_name); - -- d = pa_sprintf_malloc("%s:%s", device_table[i].alsa_name, dev_id); -- - try_ss.channels = device_table[i].map.channels; - try_ss.rate = ss->rate; - try_ss.format = ss->format; - -- pcm_handle = pa_alsa_open_by_device_string( -- d, -+ pcm_handle = open_by_device_string_with_fallback( -+ device_table[i].alsa_name, -+ device_table[i].alsa_name_fallback, -+ dev_id, - dev, - &try_ss, - map, -@@ -690,8 +746,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( - use_tsched, - TRUE); - -- pa_xfree(d); -- - if (pcm_handle) { - - *ss = try_ss; -@@ -703,6 +757,7 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( - - return pcm_handle; - } -+ - } - - if (direction > 0) { -@@ -775,7 +830,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( - pa_bool_t *use_tsched, - const pa_alsa_profile_info *profile) { - -- char *d; - snd_pcm_t *pcm_handle; - pa_sample_spec try_ss; - -@@ -787,14 +841,14 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( - pa_assert(period_size); - pa_assert(profile); - -- d = pa_sprintf_malloc("%s:%s", profile->alsa_name, dev_id); -- - try_ss.channels = profile->map.channels; - try_ss.rate = ss->rate; - try_ss.format = ss->format; - -- pcm_handle = pa_alsa_open_by_device_string( -- d, -+ pcm_handle = open_by_device_string_with_fallback( -+ profile->alsa_name, -+ profile->alsa_name_fallback, -+ dev_id, - dev, - &try_ss, - map, -@@ -806,8 +860,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( - use_tsched, - TRUE); - -- pa_xfree(d); -- - if (!pcm_handle) - return NULL; - -@@ -860,6 +912,8 @@ snd_pcm_t *pa_alsa_open_by_device_string( - goto fail; - } - -+ pa_log_debug("Managed to open %s", d); -+ - if ((err = pa_alsa_set_hw_params(pcm_handle, ss, nfrags, period_size, tsched_size, use_mmap, use_tsched, require_exact_channel_number)) < 0) { - - if (!reformat) { -@@ -928,26 +982,25 @@ int pa_alsa_probe_profiles( - snd_pcm_t *pcm_i = NULL; - - if (i->alsa_name) { -- char *id; - pa_sample_spec try_ss; - pa_channel_map try_map; - - pa_log_debug("Checking for playback on %s (%s)", i->name, i->alsa_name); -- id = pa_sprintf_malloc("%s:%s", i->alsa_name, dev_id); - - try_ss = *ss; - try_ss.channels = i->map.channels; - try_map = i->map; - -- pcm_i = pa_alsa_open_by_device_string( -- id, NULL, -+ pcm_i = open_by_device_string_with_fallback( -+ i->alsa_name, -+ i->alsa_name_fallback, -+ dev_id, -+ NULL, - &try_ss, &try_map, - SND_PCM_STREAM_PLAYBACK, - NULL, NULL, 0, NULL, NULL, - TRUE); - -- pa_xfree(id); -- - if (!pcm_i) - continue; - } -@@ -956,26 +1009,25 @@ int pa_alsa_probe_profiles( - snd_pcm_t *pcm_j = NULL; - - if (j->alsa_name) { -- char *jd; - pa_sample_spec try_ss; - pa_channel_map try_map; - - pa_log_debug("Checking for capture on %s (%s)", j->name, j->alsa_name); -- jd = pa_sprintf_malloc("%s:%s", j->alsa_name, dev_id); - - try_ss = *ss; - try_ss.channels = j->map.channels; - try_map = j->map; - -- pcm_j = pa_alsa_open_by_device_string( -- jd, NULL, -+ pcm_j = open_by_device_string_with_fallback( -+ j->alsa_name, -+ j->alsa_name_fallback, -+ dev_id, -+ NULL, - &try_ss, &try_map, - SND_PCM_STREAM_CAPTURE, - NULL, NULL, 0, NULL, NULL, - TRUE); - -- pa_xfree(jd); -- - if (!pcm_j) - continue; - } -diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h -index 77ac8a7..4c5d336 100644 ---- a/src/modules/alsa/alsa-util.h -+++ b/src/modules/alsa/alsa-util.h -@@ -56,6 +56,7 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min); - typedef struct pa_alsa_profile_info { - pa_channel_map map; - const char *alsa_name; -+ const char *alsa_name_fallback; - const char *description; /* internationalized */ - const char *name; - unsigned priority; diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/gcc4-compile-fix.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/gcc4-compile-fix.patch deleted file mode 100644 index 34ad026e4dc..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/gcc4-compile-fix.patch +++ /dev/null @@ -1,18 +0,0 @@ -| fix for more strict syntax compliance in gcc4.x -| pulsecore/core-util.c: In function 'pa_raise_priority': -| pulsecore/core-util.c:547: error: label at end of compound statement -| Signed off: mickey@openmoko.org -| -Index: pulseaudio-0.9.6/src/pulsecore/core-util.c -=================================================================== ---- pulseaudio-0.9.6.orig/src/pulsecore/core-util.c -+++ pulseaudio-0.9.6/src/pulsecore/core-util.c -@@ -535,7 +535,7 @@ void pa_raise_priority(void) { - pa_log_info("Successfully gained high priority class."); - #endif - --fail: -+fail:; - - #if defined(HAVE_SYS_CAPABILITY_H) - if (caps) { diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/periodfix.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/periodfix.patch deleted file mode 100644 index 3a1c605009c..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/periodfix.patch +++ /dev/null @@ -1,73 +0,0 @@ -X-Git-Url: http://git.0pointer.de/?p=pulseaudio.git;a=blobdiff_plain;f=src%2Fmodules%2Falsa%2Falsa-util.c;h=107bec357c7889f0197853f5e5f1951a5a2f5be0;hp=a3a045080dac0e1b30e8671443ce73a03337cf14;hb=4bffc7849f7898fa85dd6ac8e735db86b57814b3;hpb=d2b5ae5525e9036c4f91b1615879a5a07aac5bf2 - -diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c -index a3a0450..107bec3 100644 ---- a/src/modules/alsa/alsa-util.c -+++ b/src/modules/alsa/alsa-util.c -@@ -334,7 +334,6 @@ int pa_alsa_set_hw_params( - int ret = -1; - snd_pcm_uframes_t _period_size = period_size ? *period_size : 0; - unsigned int _periods = periods ? *periods : 0; -- snd_pcm_uframes_t buffer_size; - unsigned int r = ss->rate; - unsigned int c = ss->channels; - pa_sample_format_t f = ss->format; -@@ -390,39 +389,47 @@ int pa_alsa_set_hw_params( - goto finish; - - if (_period_size && tsched_size && _periods) { -+ - /* Adjust the buffer sizes, if we didn't get the rate we were asking for */ - _period_size = (snd_pcm_uframes_t) (((uint64_t) _period_size * r) / ss->rate); - tsched_size = (snd_pcm_uframes_t) (((uint64_t) tsched_size * r) / ss->rate); - - if (_use_tsched) { -- _period_size = tsched_size; -- _periods = 1; -+ snd_pcm_uframes_t buffer_size; - - pa_assert_se(snd_pcm_hw_params_get_buffer_size_max(hwparams, &buffer_size) == 0); - pa_log_debug("Maximum hw buffer size is %u ms", (unsigned) buffer_size * 1000 / r); -+ -+ _period_size = tsched_size; -+ _periods = 1; - } - -+ if (_period_size > 0 && _periods > 0) { -+ snd_pcm_uframes_t buffer_size; -+ - buffer_size = _periods * _period_size; - -+ if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0) -+ pa_log_info("snd_pcm_hw_params_set_buffer_size_near() failed: %s", pa_alsa_strerror(ret)); -+ } -+ - if (_periods > 0) { - -- /* First we pass 0 as direction to get exactly what we asked -- * for. That this is necessary is presumably a bug in ALSA */ -+ /* First we pass 0 as direction to get exactly what we -+ * asked for. That this is necessary is presumably a bug -+ * in ALSA. All in all this is mostly a hint to ALSA, so -+ * we don't care if this fails. */ - - dir = 0; -- if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) { -+ if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) { - dir = 1; -- if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) { -+ if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) { - dir = -1; - if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) -- goto finish; -+ pa_log_info("snd_pcm_hw_params_set_periods_near() failed: %s", pa_alsa_strerror(ret)); - } - } - } -- -- if (_period_size > 0) -- if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0) -- goto finish; - } - - if ((ret = snd_pcm_hw_params(pcm_handle, hwparams)) < 0) diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/volatiles.04_pulse b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/volatiles.04_pulse deleted file mode 100644 index 5b1998032be..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/volatiles.04_pulse +++ /dev/null @@ -1,2 +0,0 @@ -# -d pulse pulse 0755 /var/run/pulse none diff --git a/meta-moblin/packages/pulseaudio/pulseaudio.inc b/meta-moblin/packages/pulseaudio/pulseaudio.inc deleted file mode 100644 index fd8e60c4711..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio.inc +++ /dev/null @@ -1,126 +0,0 @@ -DESCRIPTION = "Pulseaudio is a sound server for Linux and Unix-like operating systems." -HOMEPAGE = "http://www.pulseaudio.org" -AUTHOR = "Lennart Poettering" -SECTION = "libs/multimedia" -LICENSE = "LGPL" -DEPENDS = "libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool hal virtual/libx11" -# optional -DEPENDS += "alsa-lib glib-2.0 dbus consolekit hal" - -SRC_URI = "http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-${PV}.tar.gz \ - file://gcc4-compile-fix.patch;patch=1 \ - file://volatiles.04_pulse" - -inherit autotools pkgconfig - -EXTRA_OECONF = "\ - --disable-lynx \ - --disable-bluez \ - --disable-polkit \ - --with-x \ - --without-jack \ - --with-glib \ - --with-alsa \ - --with-oss \ - --with-hal \ -" - -PARALLEL_MAKE = "" - -export TARGET_PFPU = "${TARGET_FPU}" - -# TODO: Use more fine granular version -#OE_LT_RPATH_ALLOW=":${libdir}/pulse-0.9:" -OE_LT_RPATH_ALLOW = "any" -OE_LT_RPATH_ALLOW[export]="1" - -do_install_append() { - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse - - if [ "x${TARGET_PFPU}" == "xsoft" ] ; then - sed -i -e s:\;\ resample-method\ =\ sinc-fastest:resample-method\ =\ trivial: ${D}${sysconfdir}/pulse/daemon.conf - fi -} - -PACKAGES =+ "libpulsecore libpulsecommon libpulsedsp libpulse libpulse-simple libpulse-browse libpulse-mainloop-glib \ - pulseaudio-server pulseaudio-misc pulseaudio-gconf-helper" - -#upgrade path: -RREPLACES_pulseaudio-server = "libpulse-bin libpulse-conf" - -PACKAGES_DYNAMIC = "pulseaudio-lib* pulseaudio-module* libpulse-lib* libpulse-module* " - -FILES_libpulsecore = "${libdir}/libpulsecore*.so" -FILES_libpulsecommon = "${libdir}/libpulsecommon*.so" -FILES_libpulsedsp = "${libdir}/libpulsedsp*.so" -FILES_libpulse = "${libdir}/libpulse.so.*" -FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*" -FILES_libpulse-browse = "${libdir}/libpulse-browse.so.*" -FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*" - -FILES_${PN}-dbg += "${libexecdir}/pulse/.debug \ - ${libdir}/pulse-${PV}/modules/.debug" -FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la" -FILES_${PN}-conf = "${sysconfdir}" -FILES_${PN}-bin = "${bindir}/* \ - ${sysconfdir}/default/volatiles/volatiles.04_pulse" -FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl" -FILES_${PN}-gconf-helper = "${libexecdir}/pulse/gconf-helper" -FILES_${PN}-misc = "${bindir}/*" - -# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) -ALLOW_EMPTY_${PN} = "1" - -CONFFILES_pulseaudio-server = "\ - ${sysconfdir}/pulse/default.pa \ - ${sysconfdir}/pulse/daemon.conf \ - ${sysconfdir}/pulse/client.conf \ - " - -pkg_postinst_${PN}-server() { - # can't do this offline - if [ "x$D" != "x" ]; then - exit 1 - fi - grep -q pulse: /etc/group || addgroup pulse - grep -q pulse: /etc/passwd || \ - adduser --disabled-password --home=/var/run/pulse --system \ - --ingroup pulse --no-create-home -g "Pulse audio daemon" pulse - addgroup pulse audio - /etc/init.d/populate-volatile.sh update -} - -pkg_postrm_${PN}-server() { - deluser pulse || true -} - -python populate_packages_prepend() { - #bb.data.setVar('PKG_pulseaudio', 'pulseaudio', d) - - plugindir = bb.data.expand('${libdir}/pulse-${PV}/modules/', d) - do_split_packages(d, plugindir, '^module-(.*)\.so$', 'pulseaudio-module-%s', 'PulseAudio module for %s', extra_depends='' ) - do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='' ) -} - -RDEPENDS_pulseaudio-module-console-kit =+ "consolekit" -RDEPENDS_pulseaudio-module-hal-detect =+ "hal" -RDEPENDS_pulseaudio-server = " \ - pulseaudio-module-device-restore \ - pulseaudio-module-stream-restore \ - pulseaudio-module-card-restore \ - pulseaudio-module-augment-properties \ - pulseaudio-module-detect \ - pulseaudio-module-alsa-sink \ - pulseaudio-module-alsa-source \ - pulseaudio-module-alsa-card \ - pulseaudio-module-native-protocol-unix \ - pulseaudio-module-hal-detect \ - pulseaudio-module-default-device-restore \ - pulseaudio-module-rescue-streams \ - pulseaudio-module-always-sink \ - pulseaudio-module-suspend-on-idle \ - pulseaudio-module-console-kit \ - pulseaudio-module-position-event-sounds \ - pulseaudio-module-cork-music-on-phone " - diff --git a/meta-moblin/packages/pulseaudio/pulseaudio_0.9.15.bb b/meta-moblin/packages/pulseaudio/pulseaudio_0.9.15.bb deleted file mode 100644 index 49387ece83a..00000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio_0.9.15.bb +++ /dev/null @@ -1,18 +0,0 @@ -require pulseaudio.inc - -DEPENDS += "dbus gdbm speex" -PR = "r14" - -SRC_URI += "\ - file://buildfix.patch;patch=1 \ - file://alsaerror.patch;patch=1 \ - file://periodfix.patch;patch=1 \ - file://fallback.patch;patch=1 \ - file://autoconf_version.patch;patch=1 \ -" - -do_compile_prepend() { - cd ${S} - mkdir -p ${S}/libltdl - cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl -} diff --git a/meta-moblin/packages/qmake/qmake-native/linux-oe-qmake.conf b/meta-moblin/packages/qmake/qmake-native/linux-oe-qmake.conf deleted file mode 100644 index 205b693fdaa..00000000000 --- a/meta-moblin/packages/qmake/qmake-native/linux-oe-qmake.conf +++ /dev/null @@ -1,82 +0,0 @@ -# -# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org -# - -MAKEFILE_GENERATOR = UNIX -TEMPLATE = app -CONFIG += qt warn_on release - -QMAKE_CC = $(OE_QMAKE_CC) -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA) -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2) -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = -D_REENTRANT - -QMAKE_CXX = $(OE_QMAKE_CXX) -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA) -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) -QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = $(OE_QMAKE_LINK) -QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) -QMAKE_LFLAGS = $(OE_QMAKE_LDFLAGS) $(LFLAGS_EXTRA) -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,-soname, -QMAKE_LFLAGS_THREAD = -QMAKE_RPATH = -Wl,-rpath-link, - -QMAKE_LIBS = $(LIBS_EXTRA) -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) -QMAKE_LIBS_X11SM = -QMAKE_LIBS_QT = -l$(OE_QMAKE_LIBS_QT) -QMAKE_LIBS_QT_THREAD = -l$(OE_QMAKE_LIBS_QT)-mt -QMAKE_LIBS_OPENGL = $(OE_QMAKE_LIBS_OPENGL) -QMAKE_LIBS_OPENGL_QT = $(OE_QMAKE_LIBS_OPENGL_QT) -QMAKE_LIBS_THREAD = -lpthread - -QMAKE_MOC = $(OE_QMAKE_MOC) -QMAKE_UIC = $(OE_QMAKE_UIC) - -QMAKE_AR = $(OE_QMAKE_AR) cqs -QMAKE_RANLIB = - -QMAKE_TAR = tar -cf -QMAKE_GZIP = gzip -9f - -QMAKE_COPY = cp -f -QMAKE_COPY_FILE = $(COPY) -QMAKE_COPY_DIR = $(COPY) -r -QMAKE_MOVE = mv -f -QMAKE_DEL_FILE = rm -f -QMAKE_DEL_DIR = rmdir -QMAKE_STRIP = $(OE_QMAKE_STRIP) -QMAKE_STRIPFLAGS_LIB += --strip-unneeded -QMAKE_CHK_DIR_EXISTS = test -d -QMAKE_MKDIR = mkdir -p - diff --git a/meta-moblin/packages/qmake/qmake-native_1.07a.bb b/meta-moblin/packages/qmake/qmake-native_1.07a.bb deleted file mode 100644 index 82a24968af0..00000000000 --- a/meta-moblin/packages/qmake/qmake-native_1.07a.bb +++ /dev/null @@ -1,47 +0,0 @@ -DESCRIPTION = "TrollTech Makefile Generator" -PRIORITY = "optional" -HOMEPAGE = "http://www.trolltech.com" -SECTION = "devel" -LICENSE = "GPL QPL" -PR = "r4" - -QTEVER = "qt-embedded-free-3.3.5" - -SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTEVER}.tar.bz2 \ - file://linux-oe-qmake.conf" -S = "${WORKDIR}/${QTEVER}" - -inherit autotools native - -export QTDIR = "${S}" -EXTRA_OEMAKE = "-e" - -do_configure() { - # Install the OE build templates - for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ - do - install -d ${S}/mkspecs/$template - install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf - ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h - done - QMAKESPEC= - PLATFORM=${HOST_OS}-oe-g++ - export PLATFORM - oenote ./configure ${EXTRA_OECONF} - echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed" -} - -do_compile() { - : -} - -do_install() { - install -d ${D}${bindir}/ - install -m 0755 ${S}/bin/qmake ${D}${bindir}/ - install -d ${D}/qmake/ - cp -fPR ${S}/mkspecs/* ${D}/qmake/ -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/qmake ${SYSROOT_DESTDIR}/${QMAKE_MKSPEC_PATH} -} diff --git a/meta-moblin/packages/samba/files/config-h.patch b/meta-moblin/packages/samba/files/config-h.patch deleted file mode 100644 index eeb22684ee4..00000000000 --- a/meta-moblin/packages/samba/files/config-h.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN source.old//include/config.h.in source//include/config.h.in ---- source.old//include/config.h.in 2008-11-20 14:45:04.000000000 +0000 -+++ source//include/config.h.in 2008-11-30 21:04:17.990008933 +0000 -@@ -2672,7 +2672,7 @@ - #undef USE_SETEUID - - /* Whether setresuid() is available */ --#undef USE_SETRESUID -+#define USE_SETRESUID 1 - - /* Whether setreuid() is available */ - #undef USE_SETREUID diff --git a/meta-moblin/packages/samba/files/config-lfs.patch b/meta-moblin/packages/samba/files/config-lfs.patch deleted file mode 100644 index b37ed690ceb..00000000000 --- a/meta-moblin/packages/samba/files/config-lfs.patch +++ /dev/null @@ -1,47 +0,0 @@ -Cache the check for Linux LFS support, so it can be prepopulated from -the site cache for configure variables for cross-compiling. Without this, -samba gets the idea that it can use dirent64 and friends without defining -the flags it needs to get it, such as _GNU_SOURCE and _LARGEFILE64_SOURCE. - -Symptoms of getting the configuration wrong on cross-compile inculde -warnings such as - - smbd/trans2.c: In function `get_lanman2_dir_entry': - smbd/trans2.c:1065: warning: right shift count >= width of type - -and errors like - - smbd/vfs.c:630: error: dereferencing pointer to incomplete type - -(when trying to dereference dirent64.) - ---- source/configure.in.orig 2005-05-29 14:46:18.000000000 -0700 -+++ source/configure.in 2005-05-29 14:51:57.000000000 -0700 -@@ -588,7 +588,7 @@ - # Tests for linux LFS support. Need kernel 2.4 and glibc2.2 or greater support. - # - *linux*) -- AC_MSG_CHECKING([for LFS support]) -+ AC_CACHE_CHECK([for LFS support], samba_cv_LINUX_LFS_SUPPORT,[ - old_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" - AC_TRY_RUN([ -@@ -627,15 +627,14 @@ - exit(1); - #endif - } --], [LINUX_LFS_SUPPORT=yes], [LINUX_LFS_SUPPORT=no], [LINUX_LFS_SUPPORT=cross]) -- CPPFLAGS="$old_CPPFLAGS" -- if test x$LINUX_LFS_SUPPORT = xyes ; then -+], [samba_cv_LINUX_LFS_SUPPORT=yes], [samba_cv_LINUX_LFS_SUPPORT=no], [samba_cv_LINUX_LFS_SUPPORT=cross]) -+ CPPFLAGS="$old_CPPFLAGS"]) -+ if test x"$samba_cv_LINUX_LFS_SUPPORT" = x"yes" ; then - CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" - AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support]) - AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits]) - AC_DEFINE(_GNU_SOURCE, 1, [Whether to use GNU libc extensions]) - fi -- AC_MSG_RESULT([$LINUX_LFS_SUPPORT]) - ;; - - # diff --git a/meta-moblin/packages/samba/files/configure-3.3.0.patch b/meta-moblin/packages/samba/files/configure-3.3.0.patch deleted file mode 100644 index a2e25448020..00000000000 --- a/meta-moblin/packages/samba/files/configure-3.3.0.patch +++ /dev/null @@ -1,87 +0,0 @@ -Index: source/configure -=================================================================== ---- source.orig/configure 2009-01-27 07:53:11.000000000 +0000 -+++ source/configure 2009-05-15 12:51:02.000000000 +0100 -@@ -43860,13 +43860,7 @@ - *linux*) - # glibc <= 2.3.2 has a broken getgrouplist - if test "$cross_compiling" = yes; then -- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling --See \`config.log' for more details." >&5 --$as_echo "$as_me: error: cannot run test program while cross compiling --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; }; } -+linux_getgrouplist_ok=no - else - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -Index: source/configure.in -=================================================================== ---- source.orig/configure.in 2009-05-15 12:51:01.000000000 +0100 -+++ source/configure.in 2009-05-15 13:02:22.000000000 +0100 -@@ -280,6 +280,8 @@ - fi - AC_SUBST(BROKEN_CC) - -+AC_TRY_COMPILE([],[(void)sizeof(char[-1])],AC_MSG_ERROR([configure's compilation assert doesn't work with $CC])) -+ - dnl Check if the C compiler understands -Werror - AC_CACHE_CHECK([that the C compiler understands -Werror],samba_cv_HAVE_Werror, [ - AC_TRY_RUN_STRICT([ -@@ -330,25 +332,11 @@ - # a runtime test is needed here - AC_SUBST(PIDL_ARGS) - AC_CACHE_CHECK([that the C compiler understands negative enum values],samba_cv_CC_NEGATIVE_ENUM_VALUES, [ -- AC_TRY_RUN( -+ AC_TRY_COMPILE([], - [ -- #include - enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF }; -- int main(void) { -- enum negative_values v1 = NEGATIVE_VALUE; -- unsigned v2 = NEGATIVE_VALUE; -- -- if (v1 != 0xFFFFFFFF) { -- printf("%u != 0xFFFFFFFF\n", v1); -- return 1; -- } -- if (v2 != 0xFFFFFFFF) { -- printf("%u != 0xFFFFFFFF\n", v2); -- return 1; -- } -- -- return 0; -- } -+ (void)sizeof(char[1-2*( (unsigned)NEGATIVE_VALUE != 0xFFFFFFFF)]); -+ (void)sizeof(char[1-2*((enum negative_values)NEGATIVE_VALUE != 0xFFFFFFFF)]); - ], - samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,samba_cv__CC_NEGATIVE_ENUM_VALUES=no)]) - if test x"$samba_cv_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then -@@ -1223,22 +1211,12 @@ - case "$host_os" in - *linux*) - # glibc <= 2.3.2 has a broken getgrouplist -- AC_TRY_RUN([ --#include -+ AC_TRY_COMPILE([ - #include --main() { -- /* glibc up to 2.3 has a broken getgrouplist */ -+],[ - #if defined(__GLIBC__) && defined(__GLIBC_MINOR__) -- int libc_major = __GLIBC__; -- int libc_minor = __GLIBC_MINOR__; -- -- if (libc_major < 2) -- exit(1); -- if ((libc_major == 2) && (libc_minor <= 3)) -- exit(1); -+ (void)sizeof(char[1-2*(__GLIBC__ < 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ <= 3)]); - #endif -- exit(0); --} - ], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no]) - if test x"$linux_getgrouplist_ok" = x"yes"; then - AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist]) diff --git a/meta-moblin/packages/samba/files/configure.patch b/meta-moblin/packages/samba/files/configure.patch deleted file mode 100644 index b7ba2877951..00000000000 --- a/meta-moblin/packages/samba/files/configure.patch +++ /dev/null @@ -1,179 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- source/configure.in~configure 2003-12-14 22:36:25.000000000 -0500 -+++ source/configure.in 2004-01-26 14:33:15.000000000 -0500 -@@ -959,7 +959,7 @@ - #endif - exit(0); - } --], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no]) -+], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no], [linux_getgrouplist_ok=cross]) - if test x"$linux_getgrouplist_ok" = x"yes"; then - AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist]) - fi ---- source/aclocal.m4~configure 2004-01-26 14:33:15.000000000 -0500 -+++ source/aclocal.m4 2004-01-26 17:34:28.000000000 -0500 -@@ -2,7 +2,7 @@ - dnl if the cache file is inconsistent with the current host, - dnl target and build system types, execute CMD or print a default - dnl error message. --AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [ -+AC_DEFUN([AC_VALIDATE_CACHE_SYSTEM_TYPE], [ - AC_REQUIRE([AC_CANONICAL_SYSTEM]) - AC_MSG_CHECKING([config.cache system type]) - if { test x"${ac_cv_host_system_type+set}" = x"set" && -@@ -24,7 +24,7 @@ - - - dnl test whether dirent has a d_off member --AC_DEFUN(AC_DIRENT_D_OFF, -+AC_DEFUN([AC_DIRENT_D_OFF], - [AC_CACHE_CHECK([for d_off in dirent], ac_cv_dirent_d_off, - [AC_TRY_COMPILE([ - #include -@@ -38,7 +38,7 @@ - - dnl Mark specified module as shared - dnl SMB_MODULE(name,static_files,shared_files,subsystem,whatif-static,whatif-shared) --AC_DEFUN(SMB_MODULE, -+AC_DEFUN([SMB_MODULE], - [ - AC_MSG_CHECKING([how to build $1]) - if test "$[MODULE_][$1]"; then -@@ -68,7 +68,7 @@ - fi - ]) - --AC_DEFUN(SMB_SUBSYSTEM, -+AC_DEFUN([SMB_SUBSYSTEM], - [ - AC_SUBST($1_STATIC) - AC_SUBST($1_MODULES) -@@ -77,7 +77,7 @@ - ]) - - dnl AC_PROG_CC_FLAG(flag) --AC_DEFUN(AC_PROG_CC_FLAG, -+AC_DEFUN([AC_PROG_CC_FLAG], - [AC_CACHE_CHECK(whether ${CC-cc} accepts -$1, ac_cv_prog_cc_$1, - [echo 'void f(){}' > conftest.c - if test -z "`${CC-cc} -$1 -c conftest.c 2>&1`"; then -@@ -91,7 +91,7 @@ - dnl see if a declaration exists for a function or variable - dnl defines HAVE_function_DECL if it exists - dnl AC_HAVE_DECL(var, includes) --AC_DEFUN(AC_HAVE_DECL, -+AC_DEFUN([AC_HAVE_DECL], - [ - AC_CACHE_CHECK([for $1 declaration],ac_cv_have_$1_decl,[ - AC_TRY_COMPILE([$2],[int i = (int)$1], -@@ -105,7 +105,7 @@ - dnl check for a function in a library, but don't - dnl keep adding the same library to the LIBS variable. - dnl AC_LIBTESTFUNC(lib,func) --AC_DEFUN(AC_LIBTESTFUNC, -+AC_DEFUN([AC_LIBTESTFUNC], - [case "$LIBS" in - *-l$1*) AC_CHECK_FUNCS($2) ;; - *) AC_CHECK_LIB($1, $2) -@@ -223,7 +223,7 @@ - - dnl Define an AC_DEFINE with ifndef guard. - dnl AC_N_DEFINE(VARIABLE [, VALUE]) --define(AC_N_DEFINE, -+define([AC_N_DEFINE], - [cat >> confdefs.h <<\EOF - [#ifndef] $1 - [#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1) -@@ -233,14 +233,14 @@ - - dnl Add an #include - dnl AC_ADD_INCLUDE(VARIABLE) --define(AC_ADD_INCLUDE, -+define([AC_ADD_INCLUDE], - [cat >> confdefs.h <<\EOF - [#include] $1 - EOF - ]) - - dnl Copied from libtool.m4 --AC_DEFUN(AC_PROG_LD_GNU, -+AC_DEFUN([AC_PROG_LD_GNU], - [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, - [# I'd rather use --version here, but apparently some GNU ld's only accept -v. - if $LD -v 2>&1 &5; then -@@ -259,7 +259,7 @@ - dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) - dnl Test for XML, and define XML_CFLAGS and XML_LIBS - dnl --AC_DEFUN(AM_PATH_XML2,[ -+AC_DEFUN([AM_PATH_XML2],[ - AC_ARG_WITH(xml-prefix, - [ --with-xml-prefix=PFX Prefix where libxml is installed (optional)], - xml_config_prefix="$withval", xml_config_prefix="") -@@ -443,7 +443,7 @@ - dnl AM_PATH_MYSQL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) - dnl Test for MYSQL, and define MYSQL_CFLAGS and MYSQL_LIBS - dnl --AC_DEFUN(AM_PATH_MYSQL, -+AC_DEFUN([AM_PATH_MYSQL], - [dnl - dnl Get the cflags and libraries from the mysql_config script - dnl -@@ -485,7 +485,7 @@ - ]) - - dnl Removes -I/usr/include/? from given variable --AC_DEFUN(CFLAGS_REMOVE_USR_INCLUDE,[ -+AC_DEFUN([CFLAGS_REMOVE_USR_INCLUDE],[ - ac_new_flags="" - for i in [$]$1; do - case [$]i in -@@ -497,7 +497,7 @@ - ]) - - dnl Removes -L/usr/lib/? from given variable --AC_DEFUN(LIB_REMOVE_USR_LIB,[ -+AC_DEFUN([LIB_REMOVE_USR_LIB],[ - ac_new_flags="" - for i in [$]$1; do - case [$]i in -@@ -510,7 +510,7 @@ - - dnl From Bruno Haible. - --AC_DEFUN(jm_ICONV, -+AC_DEFUN([jm_ICONV], - [ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable libiconv installed). -@@ -607,7 +607,7 @@ - fi - ]) - --AC_DEFUN(rjs_CHARSET,[ -+AC_DEFUN([rjs_CHARSET],[ - dnl Find out if we can convert from $1 to UCS2-LE - AC_MSG_CHECKING([can we convert from $1 to UCS2-LE?]) - AC_TRY_RUN([ -@@ -625,7 +625,7 @@ - - dnl CFLAGS_ADD_DIR(CFLAGS, $INCDIR) - dnl This function doesn't add -I/usr/include into CFLAGS --AC_DEFUN(CFLAGS_ADD_DIR,[ -+AC_DEFUN([CFLAGS_ADD_DIR],[ - if test "$2" != "/usr/include" ; then - $1="$$1 -I$2" - fi -@@ -633,7 +633,7 @@ - - dnl LIB_ADD_DIR(LDFLAGS, $LIBDIR) - dnl This function doesn't add -L/usr/lib into LDFLAGS --AC_DEFUN(LIB_ADD_DIR,[ -+AC_DEFUN([LIB_ADD_DIR],[ - if test "$2" != "/usr/lib" ; then - $1="$$1 -L$2" - fi diff --git a/meta-moblin/packages/samba/files/init b/meta-moblin/packages/samba/files/init deleted file mode 100644 index cb57b17de49..00000000000 --- a/meta-moblin/packages/samba/files/init +++ /dev/null @@ -1,58 +0,0 @@ -#! /bin/sh -# -# This is an init script for openembedded -# Copy it to /etc/init.d/samba and type -# > update-rc.d samba defaults 60 -# - - -smbd=/usr/sbin/smbd -test -x "$smbd" || exit 0 -nmbd=/usr/sbin/nmbd -test -x "$nmbd" || exit 0 - - -case "$1" in - start) - echo -n "Starting Samba: smbd" - start-stop-daemon --start --quiet --exec $smbd - echo -n " nmbd" - start-stop-daemon --start --quiet --exec $nmbd - echo "." - ;; - stop) - echo -n "Stopping Samba: smbd" - start-stop-daemon --stop --quiet --pidfile /var/run/smbd.pid - echo -n " nmbd" - start-stop-daemon --stop --quiet --pidfile /var/run/nmbd.pid - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec $smbd - start-stop-daemon --stop --quiet --signal 1 --exec $nmbd - ;; - restart) - echo -n "Stopping Samba: smbd" - start-stop-daemon --stop --quiet --pidfile /var/run/smbd.pid - echo -n " nmbd" - start-stop-daemon --stop --quiet --pidfile /var/run/nmbd.pid - echo "" - echo -n "Waiting for samba processes to die off" - for i in 1 2 3 ; - do - sleep 1 - echo -n "." - done - echo "" - echo -n "Starting Samba: smbd" - start-stop-daemon --start --quiet --exec $smbd - echo -n " nmbd" - start-stop-daemon --start --quiet --exec $nmbd - echo "." - ;; - *) - echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 \ No newline at end of file diff --git a/meta-moblin/packages/samba/files/mtab.patch b/meta-moblin/packages/samba/files/mtab.patch deleted file mode 100644 index 2ee8ba0941f..00000000000 --- a/meta-moblin/packages/samba/files/mtab.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -urN source/client/mtab.c samba-3.2.7//source/client/mtab.c ---- source/client/mtab.c 2008-12-19 13:57:33.000000000 +0000 -+++ source/client/mtab.c 2009-01-09 23:14:00.717671075 +0000 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/meta-moblin/packages/samba/files/quota.patch b/meta-moblin/packages/samba/files/quota.patch deleted file mode 100644 index 6f42ff868f0..00000000000 --- a/meta-moblin/packages/samba/files/quota.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- lib/sysquotas_4A.c.old 2005-07-03 17:16:00.000000000 +0200 -+++ lib/sysquotas_4A.c 2005-07-03 17:10:09.000000000 +0200 -@@ -28,6 +28,8 @@ - /* long quotactl(int cmd, char *special, qid_t id, caddr_t addr) */ - /* this is used by: HPUX,IRIX */ - -+ #define _LINUX_QUOTA_VERSION 1 -+ - #ifdef HAVE_SYS_TYPES_H - #include - #endif diff --git a/meta-moblin/packages/samba/files/smb.conf b/meta-moblin/packages/samba/files/smb.conf deleted file mode 100644 index f07e3e4ec79..00000000000 --- a/meta-moblin/packages/samba/files/smb.conf +++ /dev/null @@ -1,266 +0,0 @@ -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options (perhaps too -# many!) most of which are not shown in this example -# -# For a step to step guide on installing, configuring and using samba, -# read the Samba-HOWTO-Collection. This may be obtained from: -# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf -# -# Many working examples of smb.conf files can be found in the -# Samba-Guide which is generated daily and can be downloaded from: -# http://www.samba.org/samba/docs/Samba-Guide.pdf -# -# Any line which starts with a ; (semi-colon) or a # (hash) -# is a comment and is ignored. In this example we will use a # -# for commentry and a ; for parts of the config file that you -# may wish to enable -# -# NOTE: Whenever you modify this file you should run the command "testparm" -# to check that you have not made any basic syntactic errors. -# -#======================= Global Settings ===================================== -[global] - -# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH - workgroup = MYGROUP - -# server string is the equivalent of the NT Description field - server string = Samba Server - -# Security mode. Defines in which mode Samba will operate. Possible -# values are share, user, server, domain and ads. Most people will want -# user level security. See the Samba-HOWTO-Collection for details. - security = user - -# This option is important for security. It allows you to restrict -# connections to machines which are on your local network. The -# following example restricts access to two C class networks and -# the "loopback" interface. For more examples of the syntax see -# the smb.conf man page -; hosts allow = 192.168.1. 192.168.2. 127. - -# If you want to automatically load your printer list rather -# than setting them up individually then you'll need this - load printers = yes - -# you may wish to override the location of the printcap file -; printcap name = /etc/printcap - -# on SystemV system setting printcap name to lpstat should allow -# you to automatically obtain a printer list from the SystemV spool -# system -; printcap name = lpstat - -# It should not be necessary to specify the print system type unless -# it is non-standard. Currently supported print systems include: -# bsd, cups, sysv, plp, lprng, aix, hpux, qnx -; printing = cups - -# Uncomment this if you want a guest account, you must add this to /etc/passwd -# otherwise the user "nobody" is used -; guest account = pcguest - -# this tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Put a capping on the size of the log files (in Kb). - max log size = 50 - -# Use password server option only with security = server -# The argument list may include: -# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name] -# or to auto-locate the domain controller/s -# password server = * -; password server = - -# Use the realm option only with security = ads -# Specifies the Active Directory realm the host is part of -; realm = MY_REALM - -# Backend to store user information in. New installations should -# use either tdbsam or ldapsam. smbpasswd is available for backwards -# compatibility. tdbsam requires no further configuration. -; passdb backend = tdbsam - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting. -# Note: Consider carefully the location in the configuration file of -# this line. The included file is read at that point. -; include = /usr/local/samba/lib/smb.conf.%m - -# Configure Samba to use multiple interfaces -# If you have multiple network interfaces then you must list them -# here. See the man page for details. -; interfaces = 192.168.12.2/24 192.168.13.2/24 - -# Browser Control Options: -# set local master to no if you don't want Samba to become a master -# browser on your network. Otherwise the normal election rules apply -; local master = no - -# OS Level determines the precedence of this server in master browser -# elections. The default value should be reasonable -; os level = 33 - -# Domain Master specifies Samba to be the Domain Master Browser. This -# allows Samba to collate browse lists between subnets. Don't use this -# if you already have a Windows NT domain controller doing this job -; domain master = yes - -# Preferred Master causes Samba to force a local browser election on startup -# and gives it a slightly higher chance of winning the election -; preferred master = yes - -# Enable this if you want Samba to be a domain logon server for -# Windows95 workstations. -; domain logons = yes - -# if you enable domain logons then you may want a per-machine or -# per user logon script -# run a specific logon batch file per workstation (machine) -; logon script = %m.bat -# run a specific logon batch file per username -; logon script = %U.bat - -# Where to store roving profiles (only for Win95 and WinNT) -# %L substitutes for this servers netbios name, %U is username -# You must uncomment the [Profiles] share below -; logon path = \\%L\Profiles\%U - -# Windows Internet Name Serving Support Section: -# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server -; wins support = yes - -# WINS Server - Tells the NMBD components of Samba to be a WINS Client -# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both -; wins server = w.x.y.z - -# WINS Proxy - Tells Samba to answer name resolution queries on -# behalf of a non WINS capable client, for this to work there must be -# at least one WINS Server on the network. The default is NO. -; wins proxy = yes - -# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names -# via DNS nslookups. The default is NO. - dns proxy = no - -# These scripts are used on a domain controller or stand-alone -# machine to add or delete corresponding unix accounts -; add user script = /usr/sbin/useradd %u -; add group script = /usr/sbin/groupadd %g -; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u -; delete user script = /usr/sbin/userdel %u -; delete user from group script = /usr/sbin/deluser %u %g -; delete group script = /usr/sbin/groupdel %g - - -#============================ Share Definitions ============================== -[homes] - comment = Home Directories - browseable = yes - writable = yes - -# Un-comment the following and create the netlogon directory for Domain Logons -; [netlogon] -; comment = Network Logon Service -; path = /usr/local/samba/lib/netlogon -; guest ok = yes -; writable = no -; share modes = no - - -# Un-comment the following to provide a specific roving profile share -# the default is to use the user's home directory -;[Profiles] -; path = /usr/local/samba/profiles -; browseable = no -; guest ok = yes - - -# NOTE: If you have a BSD-style print system there is no need to -# specifically define each individual printer -[printers] - comment = All Printers - path = /var/spool/samba - browseable = no -# Set public = yes to allow user 'guest account' to print - guest ok = no - writable = no - printable = yes - -# This one is useful for people to share files -;[tmp] -; comment = Temporary file space -; path = /tmp -; read only = no -; public = yes - -# A publicly accessible directory, but read only, except for people in -# the "staff" group -;[public] -; comment = Public Stuff -; path = /home/samba -; public = yes -; writable = yes -; printable = no -; write list = @staff - -# Other examples. -# -# A private printer, usable only by fred. Spool data will be placed in fred's -# home directory. Note that fred must have write access to the spool directory, -# wherever it is. -;[fredsprn] -; comment = Fred's Printer -; valid users = fred -; path = /homes/fred -; printer = freds_printer -; public = no -# A private directory, usable only by fred. Note that fred requires write -# access to the directory. -;[fredsdir] -; comment = Fred's Service -; path = /usr/somewhere/private -; valid users = fred -; public = no -; writable = yes -; printable = no - -# a service which has a different directory for each machine that connects -# this allows you to tailor configurations to incoming machines. You could -# also use the %U option to tailor it by user name. -# The %m gets replaced with the machine name that is connecting. -;[pchome] -; comment = PC Directories -; path = /usr/pc/%m -; public = no -; writable = yes - -# A publicly accessible directory, read/write to all users. Note that all files -# created in the directory by users will be owned by the default user, so -# any user with access can delete any other user's files. Obviously this -# directory must be writable by the default user. Another user could of course -# be specified, in which case all files would be owned by that user instead. -;[public] -; path = /usr/somewhere/else/public -; public = yes -; only guest = yes -; writable = yes -; printable = no - -# The following two entries demonstrate how to share a directory so that two -# users can place files there that will be owned by the specific users. In this -# setup, the directory should be writable by both users and should have the -# sticky bit set on it to prevent abuse. Obviously this could be extended to -# as many users as required. -;[myshare] -; comment = Mary's and Fred's stuff -; path = /usr/somewhere/shared -; valid users = mary fred -; public = no -; writable = yes -; printable = no -; create mask = 0765 diff --git a/meta-moblin/packages/samba/files/tdb.pc b/meta-moblin/packages/samba/files/tdb.pc deleted file mode 100644 index 6307a20a030..00000000000 --- a/meta-moblin/packages/samba/files/tdb.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=/usr -libdir=/usr/lib -includedir=/usr/include - -Name: tdb -Description: A trivial database -Version: 1.1.2 -Libs: -L${libdir} -ltdb -Cflags: -I${includedir} -URL: http://tdb.samba.org/ diff --git a/meta-moblin/packages/samba/files/tdbheaderfix.patch b/meta-moblin/packages/samba/files/tdbheaderfix.patch deleted file mode 100644 index e37c9b0d5c5..00000000000 --- a/meta-moblin/packages/samba/files/tdbheaderfix.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: source/lib/tdb/include/tdb.h -=================================================================== ---- source.orig/lib/tdb/include/tdb.h 2009-05-17 17:42:41.000000000 +0100 -+++ source/lib/tdb/include/tdb.h 2009-05-17 17:42:46.000000000 +0100 -@@ -1,6 +1,9 @@ - #ifndef __TDB_H__ - #define __TDB_H__ - -+#include -+ -+ - /* - Unix SMB/CIFS implementation. - diff --git a/meta-moblin/packages/samba/files/volatiles.03_samba b/meta-moblin/packages/samba/files/volatiles.03_samba deleted file mode 100644 index 469bc9e7b0f..00000000000 --- a/meta-moblin/packages/samba/files/volatiles.03_samba +++ /dev/null @@ -1,2 +0,0 @@ -# -d root root 0755 /var/log/samba none diff --git a/meta-moblin/packages/samba/samba-basic.inc b/meta-moblin/packages/samba/samba-basic.inc deleted file mode 100644 index 209ba8ffc41..00000000000 --- a/meta-moblin/packages/samba/samba-basic.inc +++ /dev/null @@ -1,25 +0,0 @@ -SRC_URI += "file://config-lfs.patch;patch=1 \ - file://quota.patch;patch=1;pnum=0 \ - " - -EXTRA_OECONF += "\ - --without-ads \ - --without-winbind \ - --without-ldap \ - --without-krb5" - -PACKAGES =+ "libsmbclient libsmbclient-dev cifs cifs-doc swat libtdb" - -RCONFLICTS_${PN} = "samba-ads" -RCONFLICTS_libsmbclient = "libsmbclient-ads" -RCONFLICTS_libsmbclient-dev = "libsmbclient-ads-dev" -RCONFLICTS_cifs = "cifs-ads" -RCONFLICTS_cifs-doc = "cifs-ads-doc" -RCONFLICTS_swat = "swat-ads" - -FILES_cifs = "${base_sbindir}/mount.cifs ${base_sbindir}/umount.cifs" -FILES_cifs-doc = "${mandir}/man8/mount.cifs.8 ${mandir}/man8/umount.cifs.8" -FILES_libsmbclient = "${libdir}/libsmbclient.so.*" -FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}" -FILES_swat = "${sbindir}/swat ${datadir}/swat ${libdir}/*.msg" -FILES_libtdb = "${libdir}/libtdb.so.*" \ No newline at end of file diff --git a/meta-moblin/packages/samba/samba.inc b/meta-moblin/packages/samba/samba.inc deleted file mode 100644 index e6923e38a21..00000000000 --- a/meta-moblin/packages/samba/samba.inc +++ /dev/null @@ -1,81 +0,0 @@ -SECTION = "console/network" -LICENSE = "GPL" -DEPENDS = "readline virtual/libiconv" - -SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \ - file://volatiles.03_samba \ - file://smb.conf \ - file://init \ - file://tdb.pc \ - " - -S = "${WORKDIR}/samba-${PV}/source" - -inherit autotools update-rc.d - -FILES_${PN} += "${libdir}/vfs/*.so ${libdir}/charset/*.so ${libdir}/*.dat \ - ${libdir}/auth/*.so ${libdir}/security/*.so" -FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so ${libdir}/charset/.debug/*.so \ - ${libdir}/auth/.debug/*.so ${libdir}/security/.debug/*.so" - -# The file system settings --foodir=dirfoo and overridden unconditionally -# in the samba config by --with-foodir=dirfoo - even if the --with is not -# specified! Fix that here. Set the privatedir to /etc/samba/private. -EXTRA_OECONF='--disable-cups \ - --with-readline=${STAGING_LIBDIR}/.. \ - --with-libiconv=${STAGING_LIBDIR}/.. \ - --without-automount \ - --with-configdir=${sysconfdir}/samba \ - --with-privatedir=${sysconfdir}/samba/private \ - --with-lockdir=${localstatedir}/lock \ - --with-piddir=${localstatedir}/run \ - --with-logfilebase=${localstatedir}/log \ - --with-libdir=${libdir} \ - --with-mandir=${mandir} \ - --with-swatdir=${datadir}/swat \ - samba_cv_struct_timespec=yes' - -INITSCRIPT_NAME = "samba" -# No dependencies, goes in at level 20 (NOTE: take care with the -# level, later levels put the shutdown later too - see the links -# in rc6.d, the shutdown must precede network shutdown). -INITSCRIPT_PARAMS = "defaults" -CONFFILES_${PN} = "${sysconfdir}/samba/smb.conf" - -do_configure_prepend () { - ./script/mkversion.sh - if [ ! -e acinclude.m4 ]; then - touch aclocal.m4 - cat aclocal.m4 > acinclude.m4 - fi -} - -do_compile () { - oe_runmake proto_exists - base_do_compile -} - -do_install_append() { - install -d ${D}${libdir}/pkgconfig/ - cp ${WORKDIR}/tdb.pc ${D}${libdir}/pkgconfig/ - mv ${D}${libdir}/libsmbclient.so ${D}${libdir}/libsmbclient.so.0 || true - ln -sf libsmbclient.so.0 ${D}${libdir}/libsmbclient.so - mkdir -p ${D}${base_sbindir} - rm -f ${D}${bindir}/*.old - rm -f ${D}${sbindir}/*.old - [ -f ${D}${sbindir}/mount.cifs ] && mv ${D}${sbindir}/mount.cifs ${D}${base_sbindir}/ - [ -f ${D}${sbindir}/umount.cifs ] && mv ${D}${sbindir}/umount.cifs ${D}${base_sbindir}/ - - # This is needed for < 3.2.4 - rm -f ${D}${sbindir}/mount.smbfs ${D}${base_sbindir}/mount.smbfs - if [ -f ${D}${bindir}/smbmount ]; then - ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smb - ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smbfs - fi - - install -D -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/samba - install -D -m 644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf - install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/volatiles.03_samba - install -d ${D}/var/log/samba - install -d ${D}/var/spool/samba -} diff --git a/meta-moblin/packages/samba/samba_3.3.0.bb b/meta-moblin/packages/samba/samba_3.3.0.bb deleted file mode 100644 index 87a7c5e7f7f..00000000000 --- a/meta-moblin/packages/samba/samba_3.3.0.bb +++ /dev/null @@ -1,35 +0,0 @@ -require samba.inc -require samba-basic.inc -LICENSE = "GPLv3" - -# 3.3.0 and newer will upgrade your tdb database to a -# new version that you can not downgrade to use with older -# releases. More testing will happen before this is removed -# should there be further issues. Appears to work though :) -DEFAULT_PREFERENCE = "-1" - -SRC_URI += "file://configure-3.3.0.patch;patch=1 \ - file://config-h.patch;patch=1 \ - file://mtab.patch;patch=1 \ - file://tdbheaderfix.patch;patch=1 " - -PR = "r3" - -EXTRA_OECONF += "\ - SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes \ - samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \ - linux_getgrouplist_ok=no \ - samba_cv_HAVE_BROKEN_GETGROUPS=no \ - samba_cv_HAVE_FTRUNCATE_EXTEND=yes \ - samba_cv_have_setresuid=yes \ - samba_cv_have_setresgid=yes \ - samba_cv_HAVE_WRFILE_KEYTAB=yes \ - " - -do_configure() { - oe_runconf -} - -do_compile () { - base_do_compile -} diff --git a/meta-moblin/packages/sreadahead/files/sreadahead-generate.sh b/meta-moblin/packages/sreadahead/files/sreadahead-generate.sh deleted file mode 100755 index 19438f2935e..00000000000 --- a/meta-moblin/packages/sreadahead/files/sreadahead-generate.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# - -if [ -e /etc/readahead.packed ]; then - exit 0 -fi - -if [ -e /etc/readahead.packed.first ]; then - mv /etc/readahead.packed.first /etc/readahead.packed.second - exit 0 -fi - -# That's our second boot, we can generate the sreadahead file list -if [ -e /etc/readahead.packed.second ]; then - rm -f /etc/readahead.packed.second - find / -type f | grep -E -v "\/dev\/|\/proc\/|\/sys\/" > filelist.txt - - /sbin/generate_filelist filelist.txt - rm filelist.txt - mv readahead.packed /etc/ -fi diff --git a/meta-moblin/packages/sreadahead/files/sreadahead.sh b/meta-moblin/packages/sreadahead/files/sreadahead.sh deleted file mode 100755 index c7378284b22..00000000000 --- a/meta-moblin/packages/sreadahead/files/sreadahead.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# -# Start sreadahead, of the config file exists - -if [ -e /etc/readahead.packed ]; then - /sbin/sreadahead -fi diff --git a/meta-moblin/packages/sreadahead/sreadahead-0.02/readahead_c.patch b/meta-moblin/packages/sreadahead/sreadahead-0.02/readahead_c.patch deleted file mode 100644 index a65c1088f51..00000000000 --- a/meta-moblin/packages/sreadahead/sreadahead-0.02/readahead_c.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- - readahead.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: sreadahead-0.02/readahead.c -=================================================================== ---- sreadahead-0.02.orig/readahead.c 2008-09-23 22:35:20.000000000 +0200 -+++ sreadahead-0.02/readahead.c 2008-10-27 16:27:52.000000000 +0100 -@@ -69,7 +69,11 @@ void *one_thread(void *ptr) - int main(int argc, char **argv) - { - FILE *file = fopen("/etc/readahead.packed", "r"); -- -+ if (!file) { -+ perror("Couldnt open /etc/readahead.packed"); -+ return -errno; -+ } -+ - daemon(0,0); - - total_files = fread(&files, sizeof(struct readahead), MAXR, file); -@@ -81,7 +85,6 @@ int main(int argc, char **argv) - pthread_create(&three, NULL, one_thread, NULL); - pthread_create(&four, NULL, one_thread, NULL); - -- printf("Waiting\n"); - pthread_join(one, NULL); - pthread_join(two, NULL); - pthread_join(three, NULL); diff --git a/meta-moblin/packages/sreadahead/sreadahead-0.02/set_to_idle.patch b/meta-moblin/packages/sreadahead/sreadahead-0.02/set_to_idle.patch deleted file mode 100644 index b48659048ab..00000000000 --- a/meta-moblin/packages/sreadahead/sreadahead-0.02/set_to_idle.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Naurp sreadahead-0.02/readahead.c sreadahead-0.02-nice/readahead.c ---- sreadahead-0.02/readahead.c 2008-11-06 00:57:17.000000000 -0500 -+++ sreadahead-0.02-nice/readahead.c 2008-11-06 02:28:29.000000000 -0500 -@@ -26,7 +26,18 @@ - #include - - #include "readahead.h" -+#include - -+# if defined(__i386__) -+# define __NR_ioprio_set 289 -+# elif defined(__x86_64__) -+# define __NR_ioprio_set 251 -+# else -+# error "Unsupported arch" -+# endif -+ -+#define IOPRIO_WHO_PROCESS 1 -+#define IOPRIO_CLASS_SHIFT 13 - #define MAXR 1024 - static struct readahead files[MAXR]; - static unsigned int total_files = 0; -@@ -68,7 +79,15 @@ void *one_thread(void *ptr) - - int main(int argc, char **argv) - { -- FILE *file = fopen("/etc/readahead.packed", "r"); -+ int iopriority = 7; /* hard code for idle */ -+ int iopriority_class = 3; /* 3 stands for idle */ -+ int pid = 0; -+ FILE *file; -+ -+ if (syscall(__NR_ioprio_set, IOPRIO_WHO_PROCESS, pid, iopriority | iopriority_class << IOPRIO_CLASS_SHIFT) == -1) -+ perror("Can not set priority to idle class"); -+ -+ file = fopen("/etc/readahead.packed", "r"); - if (!file) { - perror("Couldnt open /etc/readahead.packed"); - return -errno; diff --git a/meta-moblin/packages/sreadahead/sreadahead-0.02/sreadahead-0.02-make.patch b/meta-moblin/packages/sreadahead/sreadahead-0.02/sreadahead-0.02-make.patch deleted file mode 100644 index d0ece663b58..00000000000 --- a/meta-moblin/packages/sreadahead/sreadahead-0.02/sreadahead-0.02-make.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -Nrup sreadahead-0.02.orig/Makefile sreadahead-0.02/Makefile ---- sreadahead-0.02.orig/Makefile 2008-09-23 22:36:24.000000000 +0200 -+++ sreadahead-0.02/Makefile 2008-09-26 07:43:19.000000000 +0200 -@@ -1,11 +1,18 @@ --all: generate_filelist sreadahead -+CFLAGS=-Os -g -Wall -+PROGS=generate_filelist sreadahead -+ -+all: $(PROGS) - - - generate_filelist: readahead.h filelist.c Makefile -- gcc -Os -g -Wall -W filelist.c -o generate_filelist -+ $(CC) $(CFLAGS) -W filelist.c -o generate_filelist - - sreadahead: readahead.h readahead.c Makefile -- gcc -Os -g -Wall -lpthread -W readahead.c -o sreadahead -+ $(CC) $(CFLAGS) -lpthread -W readahead.c -o sreadahead - - clean: -- rm -f *~ sreadahead generate_filelist -\ No newline at end of file -+ rm -f *~ sreadahead generate_filelist -+ -+install: all -+ mkdir -p $(DESTDIR)/sbin -+ install -p -m 755 $(PROGS) $(DESTDIR)/sbin diff --git a/meta-moblin/packages/sreadahead/sreadahead_0.02.bb b/meta-moblin/packages/sreadahead/sreadahead_0.02.bb deleted file mode 100644 index c29a1defed4..00000000000 --- a/meta-moblin/packages/sreadahead/sreadahead_0.02.bb +++ /dev/null @@ -1,48 +0,0 @@ -DESCRIPTION = "Super readahead, part of the fastboot tool set." -SECTION = "base" -HOMEPAGE = "http://www.moblin.org" -LICENSE = "GPLv2" -PR = "r13" - -inherit update-rc.d - -SRC_URI = "http://www.moblin.org/sites/all/files/sreadahead-${PV}.tar.gz \ - file://sreadahead-0.02-make.patch;patch=1 \ - file://readahead_c.patch;patch=1 \ - file://set_to_idle.patch;patch=1 \ - file://sreadahead-generate.sh \ - file://sreadahead.sh" - -CFLAGS_prepend = "-I ${S}/include " - -# -# Not compatible on arm due to the use of __sync_fetch_and_add -# Would need to use a pthread mutex on arm -# -COMPATIBLE_HOST = "(i.86).*-linux" - -PACKAGES += "${PN}-generate" -FILES_${PN} = "${base_sbindir}/sreadahead ${sysconfdir}/init.d/sreadahead.sh" -FILES_${PN}-generate = "${base_sbindir}/generate_filelist ${sysconfdir}/init.d/sreadahead-generate.sh" - -INITSCRIPT_PACKAGES = "${PN} ${PN}-generate" -INITSCRIPT_NAME = "sreadahead.sh" -INITSCRIPT_NAME_${PN}-generate = "sreadahead-generate.sh" -INITSCRIPT_PARAMS = "start 00 S ." -INITSCRIPT_PARAMS_${PN}-generate = "defaults 99" - -do_install() { - oe_runmake install DESTDIR=${D} - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/sreadahead.sh ${D}${sysconfdir}/init.d/ - install -m 755 ${WORKDIR}/sreadahead-generate.sh ${D}${sysconfdir}/init.d/ -} - -pkg_postinst_${PN}-generate () { - # can't do this offline - if [ "x$D" != "x" ]; then - exit 1 - fi - - touch /etc/readahead.packed.first -} diff --git a/meta-moblin/packages/syncevolution/syncevolution_git.bb b/meta-moblin/packages/syncevolution/syncevolution_git.bb deleted file mode 100644 index 9d767ca949d..00000000000 --- a/meta-moblin/packages/syncevolution/syncevolution_git.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "Data synchronization tool" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git;branch=syncevolution-0-9-branch" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r1" - -DEPENDS = "libsynthesis libsoup curl boost nbtk dbus-glib glib-2.0 libglade libunique gnome-keyring eds-dbus" - -EXTRA_OECONF = "--enable-gui=moblin" - -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - ${S}/gen-autotools.sh -} \ No newline at end of file diff --git a/meta-moblin/packages/tasks/task-moblin-apps-x11-pimlico.bb b/meta-moblin/packages/tasks/task-moblin-apps-x11-pimlico.bb deleted file mode 100644 index 54fb8d2f3ed..00000000000 --- a/meta-moblin/packages/tasks/task-moblin-apps-x11-pimlico.bb +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "X11 Pimlico Appications List" -PR = "r28" - -PACKAGES = "\ - task-moblin-apps-x11-pimlico \ - task-moblin-apps-x11-pimlico-dbg \ - task-moblin-apps-x11-pimlico-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ALLOW_EMPTY = "1" - -RDEPENDS_task-moblin-apps-x11-pimlico = "\ - eds-dbus \ - contacts \ - dates \ - tasks \ - gaku" \ No newline at end of file diff --git a/meta-moblin/packages/tasks/task-moblin-boot.bb b/meta-moblin/packages/tasks/task-moblin-boot.bb deleted file mode 100644 index 97d9a52f416..00000000000 --- a/meta-moblin/packages/tasks/task-moblin-boot.bb +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Task for Moblin - minimal bootable image" -PACKAGE_ARCH = "${MACHINE_ARCH}" -DEPENDS = "virtual/kernel" -ALLOW_EMPTY = "1" -PR = "r8" - -# -# Set by the machine configuration with packages essential for device bootup -# -MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" -MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" - -RDEPENDS_task-moblin-boot = "\ - base-files \ - base-passwd \ - busybox \ - initscripts \ - ${@base_contains("MACHINE_FEATURES", "keyboard", "keymaps", "", d)} \ - modutils-initscripts \ - netbase \ - sysvinit \ - tinylogin \ - udev \ - ${VIRTUAL-RUNTIME_update-alternatives} \ - ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}" - -RDEPENDS_task-moblin-boot_append_netbook = "\ - sreadahead \ - sreadahead-generate \ - " - -RDEPENDS_task-moblin-boot_append_menlow = "\ - sreadahead \ - sreadahead-generate \ - " - -RRECOMMENDS_task-moblin-boot = "\ - ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}" diff --git a/meta-moblin/packages/tasks/task-moblin-sdk.bb b/meta-moblin/packages/tasks/task-moblin-sdk.bb deleted file mode 100644 index 328a377c535..00000000000 --- a/meta-moblin/packages/tasks/task-moblin-sdk.bb +++ /dev/null @@ -1,85 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTON = "Software Development Tasks for Moblin" -DEPENDS = "task-moblin" -PR = "r6" - -ALLOW_EMPTY = "1" -#PACKAGEFUNCS =+ 'generate_sdk_pkgs' - -PACKAGES = "\ - task-moblin-sdk \ - task-moblin-sdk-dbg \ - task-moblin-sdk-dev" - -RDEPENDS_task-moblin-sdk = "\ - autoconf \ - automake \ - binutils \ - binutils-symlinks \ - coreutils \ - cpp \ - cpp-symlinks \ - diffutils \ - gcc \ - gcc-symlinks \ - g++ \ - g++-symlinks \ - git \ - gettext \ - make \ - intltool \ - libstdc++ \ - libstdc++-dev \ - libtool \ - perl-module-re \ - perl-module-text-wrap \ - pkgconfig \ - subversion \ - findutils \ - quilt \ - less \ - distcc" - -#python generate_sdk_pkgs () { -# moblin_pkgs = read_pkgdata('task-moblin', d)['PACKAGES'] -# pkgs = bb.data.getVar('PACKAGES', d, 1).split() -# for pkg in moblin_pkgs.split(): -# newpkg = pkg.replace('task-moblin', 'task-moblin-sdk') -# -# # for each of the task packages, add a corresponding sdk task -# pkgs.append(newpkg) -# -# # for each sdk task, take the rdepends of the non-sdk task, and turn -# # that into rrecommends upon the -dev versions of those, not unlike -# # the package depchain code -# spkgdata = read_subpkgdata(pkg, d) -# -# rdepends = explode_deps(spkgdata.get('RDEPENDS_%s' % pkg) or '') -# rreclist = [] -# -# for depend in rdepends: -# split_depend = depend.split(' (') -# name = split_depend[0].strip() -# if packaged('%s-dev' % name, d): -# rreclist.append('%s-dev' % name) -# else: -# deppkgdata = read_subpkgdata(name, d) -# rdepends2 = explode_deps(deppkgdata.get('RDEPENDS_%s' % name) or '') -# for depend in rdepends2: -# split_depend = depend.split(' (') -# name = split_depend[0].strip() -# if packaged('%s-dev' % name, d): -# rreclist.append('%s-dev' % name) -# -# oldrrec = bb.data.getVar('RRECOMMENDS_%s' % newpkg, d) or '' -# bb.data.setVar('RRECOMMENDS_%s' % newpkg, oldrrec + ' ' + ' '.join(rreclist), d) -# # bb.note('RRECOMMENDS_%s = "%s"' % (newpkg, bb.data.getVar('RRECOMMENDS_%s' % newpkg, d))) -# -# # bb.note('pkgs is %s' % pkgs) -# bb.data.setVar('PACKAGES', ' '.join(pkgs), d) -#} -# -#PACKAGES_DYNAMIC = "task-moblin-sdk-*" diff --git a/meta-moblin/packages/tasks/task-moblin-standalone-sdk-target.bb b/meta-moblin/packages/tasks/task-moblin-standalone-sdk-target.bb deleted file mode 100644 index 469bf15516a..00000000000 --- a/meta-moblin/packages/tasks/task-moblin-standalone-sdk-target.bb +++ /dev/null @@ -1,67 +0,0 @@ -# -# Copyright (C) 2008-2010 Intel Corporation. -# - -DESCRIPTION = "Target packages for the standalone Moblin SDK" -PR = "r7" -LICENSE = "MIT" -ALLOW_EMPTY = "1" - -PACKAGES = "${PN} ${PN}-dbg" - -RDEPENDS_${PN} = "\ - libgcc \ - libstdc++ \ - task-poky-standalone-sdk-target \ - dbus-dev \ - dbus-glib-dev \ - gtk+-dev \ - gstreamer-dev \ - bluez4-dev \ - gconf-dbus-dev \ - avahi-dev \ - telepathy-glib-dev \ - eds-dbus-dev \ - libecal-dev \ - libebook-dev \ - libglade-dev \ - libxi-dev \ - libsqlite3-dev \ - clutter-1.0-dev \ - nbtk-dev \ - mutter-dev \ - mutter-moblin-dev \ - clutter-gst-0.10-dev \ - clutter-gtk-0.10-dev \ - clutter-imcontext \ - libccss \ - " - -GLIBC_DEPENDENCIES = "\ - libsegfault \ - glibc \ - glibc-dbg \ - glibc-dev \ - glibc-utils \ - glibc-thread-db \ - glibc-localedata-i18n \ - glibc-gconv-ibm850 \ - glibc-gconv-cp1252 \ - glibc-gconv-iso8859-1 \ - glibc-gconv-iso8859-15 \ - locale-base-en-gb \ - " - -RDEPENDS_${PN}_append_linux = "${GLIBC_DEPENDENCIES}" -RDEPENDS_${PN}_append_linux-gnueabi = "${GLIBC_DEPENDENCIES}" - -UCLIBC_DEPENDENCIES = "\ - uclibc \ - uclibc-dbg \ - uclibc-dev \ - uclibc-thread-db \ - " - -RDEPENDS_${PN}_append_linux-uclibc = "${UCLIBC_DEPENDENCIES}" -RDEPENDS_${PN}_append_linux-uclibcgnueabi = "${UCLIBC_DEPENDENCIES}" - diff --git a/meta-moblin/packages/tasks/task-moblin-tools.bb b/meta-moblin/packages/tasks/task-moblin-tools.bb deleted file mode 100644 index a26f66c417e..00000000000 --- a/meta-moblin/packages/tasks/task-moblin-tools.bb +++ /dev/null @@ -1,58 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Debuggin and profiling tools tasks for Moblin" -PR = "r5" - -PACKAGES = "\ - task-moblin-tools-debug \ - task-moblin-tools-debug-dbg \ - task-moblin-tools-debug-dev \ - task-moblin-tools-profile \ - task-moblin-tools-profile-dbg \ - task-moblin-tools-profile-dev \ - task-moblin-tools-testapps \ - task-moblin-tools-testapps-dbg \ - task-moblin-tools-testapps-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ALLOW_EMPTY = "1" - -RDEPENDS_task-moblin-tools-debug = "\ - gdb \ - gdbserver \ - strace" - -RDEPENDS_task-moblin-tools-profile = "\ -# exmap-console \ -# exmap-server \ - oprofile \ - oprofileui-server \ - powertop \ -# lttng-control \ -# lttng-viewer \ - " - -RDEPENDS_task-moblin-tools-profile_qemux86 += "valgrind" - -RRECOMMENDS_task-moblin-tools-profile = "\ - kernel-module-oprofile" - -RDEPENDS_task-moblin-tools-testapps = "\ - blktool \ - tslib-calibrate \ - tslib-tests \ - lrzsz \ - kexec-tools \ - alsa-utils-amixer \ - alsa-utils-aplay \ - owl-video \ - gst-meta-video \ - gst-meta-audio \ - xrestop \ - xwininfo \ - xprop \ - xvideo-tests" diff --git a/meta-moblin/packages/tasks/task-moblin-x11-netbook.bb b/meta-moblin/packages/tasks/task-moblin-x11-netbook.bb deleted file mode 100644 index e2f8296e024..00000000000 --- a/meta-moblin/packages/tasks/task-moblin-x11-netbook.bb +++ /dev/null @@ -1,56 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Netbook GUI Tasks for Moblin" -PR = "r21" - -PACKAGES = "\ - task-moblin-x11-netbook \ - task-moblin-x11-netbook-dbg \ - task-moblin-x11-netbook-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ALLOW_EMPTY = "1" - -# matchbox-config-gtk \ -# xcursor-transparent-theme \ - -MOBLINBROWSER ?= "moblin-web-browser" - -EXTRA_MOBLIN_PACKAGES ?= "" -RDEPENDS_task-moblin-x11-netbook = "\ - bickley \ - mojito \ - mutter \ - droid-fonts \ - gnome-settings-daemon \ - librest \ - nbtk \ - nautilus \ - mutter-moblin \ - moblin-panel-applications \ - moblin-panel-media \ - moblin-panel-myzone \ - moblin-panel-pasteboard \ - moblin-panel-people \ - moblin-panel-status \ - moblin-gtk-engine \ - moblin-menus \ - moblin-user-skel \ - bisho \ - ${MOBLINBROWSER} \ - dalston \ - hornsey \ - anerley \ - bognor-regis \ - moblin-icon-theme \ - moblin-cursor-theme \ - moblin-sound-theme \ - matchbox-session-netbook \ - carrick \ - empathy \ - gnome-terminal \ - ${EXTRA_MOBLIN_PACKAGES}" diff --git a/meta-moblin/packages/tasks/task-moblin.bb b/meta-moblin/packages/tasks/task-moblin.bb deleted file mode 100644 index 7afc33a18c0..00000000000 --- a/meta-moblin/packages/tasks/task-moblin.bb +++ /dev/null @@ -1,61 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Tasks for Moblin" -PR = "r35" - -PACKAGES = "\ - task-moblin-apps-console \ - task-moblin-apps-console-dbg \ - task-moblin-apps-console-dev \ - task-moblin-apps-x11-core \ - task-moblin-apps-x11-core-dbg \ - task-moblin-apps-x11-core-dev \ - task-moblin-apps-x11-games \ - task-moblin-apps-x11-games-dbg \ - task-moblin-apps-x11-games-dev \ - task-moblin-x11-base \ - task-moblin-x11-base-dbg \ - task-moblin-x11-base-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -XSERVER ?= "xserver-kdrive-fbdev" - -ALLOW_EMPTY = "1" - - -RDEPENDS_task-moblin-apps-console = "\ - avahi-daemon \ - alsa-utils-alsamixer \ - dropbear \ - dbus \ - portmap \ - psplash" - - -RDEPENDS_task-moblin-x11-base = "\ - dbus \ - pointercal \ - ${XSERVER} \ - x11-common \ - xserver-nodm-init \ - liberation-fonts \ - pulseaudio-server \ - xauth \ - xhost \ - xset \ - xrandr" - - -RDEPENDS_task-moblin-apps-x11-core = "\ - leafpad \ - pcmanfm \ - matchbox-terminal \ - screenshot" - - -RDEPENDS_task-moblin-apps-x11-games = "\ - oh-puzzles" diff --git a/meta-moblin/packages/tracker/tracker-0.7.18/20-tracker-defaults.patch b/meta-moblin/packages/tracker/tracker-0.7.18/20-tracker-defaults.patch deleted file mode 100644 index 7f5b4a578ba..00000000000 --- a/meta-moblin/packages/tracker/tracker-0.7.18/20-tracker-defaults.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: tracker-0.7.18/src/tracker-miner-fs/tracker-config.c -=================================================================== ---- tracker-0.7.18.orig/src/tracker-miner-fs/tracker-config.c 2010-01-26 14:57:20.000000000 +0000 -+++ tracker-0.7.18/src/tracker-miner-fs/tracker-config.c 2010-02-04 16:47:46.000000000 +0000 -@@ -42,7 +42,7 @@ - #define DEFAULT_VERBOSITY 0 - #define DEFAULT_INITIAL_SLEEP 15 /* 0->1000 */ - #define DEFAULT_ENABLE_MONITORS TRUE --#define DEFAULT_THROTTLE 0 /* 0->20 */ -+#define DEFAULT_THROTTLE 10 /* 0->20 */ - #define DEFAULT_SCAN_TIMEOUT 0 /* 0->1000 */ - #define DEFAULT_CACHE_TIMEOUT 60 /* 0->1000 */ - #define DEFAULT_INDEX_MOUNTED_DIRECTORIES TRUE diff --git a/meta-moblin/packages/tracker/tracker-0.7.18/90tracker b/meta-moblin/packages/tracker/tracker-0.7.18/90tracker deleted file mode 100755 index 9594b916893..00000000000 --- a/meta-moblin/packages/tracker/tracker-0.7.18/90tracker +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -/usr/bin/trackerd -m & - diff --git a/meta-moblin/packages/tracker/tracker-0.7.18/munge-configure.ac-cross-compile.patch b/meta-moblin/packages/tracker/tracker-0.7.18/munge-configure.ac-cross-compile.patch deleted file mode 100644 index 0e1736abe15..00000000000 --- a/meta-moblin/packages/tracker/tracker-0.7.18/munge-configure.ac-cross-compile.patch +++ /dev/null @@ -1,39 +0,0 @@ -Index: tracker-0.7.18/configure.ac -=================================================================== ---- tracker-0.7.18.orig/configure.ac 2010-01-28 18:16:36.000000000 +0000 -+++ tracker-0.7.18/configure.ac 2010-02-04 16:40:52.000000000 +0000 -@@ -1542,34 +1542,6 @@ - old_exec_message="" - old_data_message="" - --AC_CHECK_FILE("${prefix}/bin/trackerd", old_exec_trackerd=yes,,) --AC_CHECK_FILE("${prefix}/bin/tracker-indexer", old_exec_tracker_indexer=yes,,) --AC_CHECK_FILE("${prefix}/bin/tracker-extract", old_exec_tracker_extract=yes,,) --AC_CHECK_FILE("${prefix}/bin/tracker-thumbnailer", old_exec_tracker_thumbnailer=yes,,) --AC_CHECK_FILE("${DBUS_SERVICES_DIR}/tracker.service", old_data_dbus_service=yes,) --AC_CHECK_FILE("${prefix}/share/tracker/tracker-introspect.xml", old_data_dbus_xml=yes,,) --AC_CHECK_FILE("${prefix}/share/tracker/sqlite-service-stored-procs.sql", old_data_stored_procs=yes,,) -- --if test "x$old_exec_trackerd" = "xyes" -o \ -- "x$old_exec_tracker_indexer" = "xyes" -o \ -- "x$old_exec_tracker_extract" = "xyes" -o \ -- "x$old_exec_tracker_thumbnailer" = "xyes"; then -- old_exec_message=" -- Old Tracker executable files were found in your path. -- (trackerd, tracker-indexer, tracker-thumbnailer, tracker-extract)" -- old_file_action=" -- ** These files will be removed as part of the installation **" --fi -- --if test "x$old_data_dbus_service" = "xyes" -o \ -- "x$old_data_dbus_xml" = "xyes" -o \ -- "x$old_data_stored_procs" = "xyes"; then -- old_data_message=" -- Old Tracker data files were found in the prefix you are installing to." -- old_file_action=" -- ** These files will be removed as part of the installation **" --fi -- - AM_CONDITIONAL(OLD_EXEC_REMOVE_ALL, test -n "$old_exec_message") - AM_CONDITIONAL(OLD_DATA_REMOVE_ALL, test -n "$old_data_message") - diff --git a/meta-moblin/packages/tracker/tracker_0.7.18.bb b/meta-moblin/packages/tracker/tracker_0.7.18.bb deleted file mode 100644 index 2b908641e4d..00000000000 --- a/meta-moblin/packages/tracker/tracker_0.7.18.bb +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly." -LICENSE = "GPLv2" -DEPENDS = "file gtk+ gstreamer gamin dbus poppler libexif libgsf libgnomecanvas" -HOMEPAGE = "http://www.tracker-project.org/" - -inherit autotools pkgconfig gnome gettext - -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/0.7/tracker-${PV}.tar.bz2 \ - file://munge-configure.ac-cross-compile.patch;patch=1 \ - file://20-tracker-defaults.patch;patch=1 \ - file://90tracker" - -EXTRA_OECONF += " tracker_cv_have_ioprio=yes" - -LEAD_SONAME = "libtrackerclient.so.0" - -do_install_append() { - cp -dPr ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true - install -d ${D}/${sysconfdir}/X11/Xsession.d/ - install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/ -} - -FILES_${PN} += "${datadir}/dbus-1/" -FILES_${PN}-dbg += "${libdir}/*/*/.debug" - -CONFFILES_${PN} += "${sysconfdir}/X11/Xsession.d/90tracker" diff --git a/meta-moblin/packages/twitter-glib/twitter-glib/nodolt.patch b/meta-moblin/packages/twitter-glib/twitter-glib/nodolt.patch deleted file mode 100644 index 1eb9e3c8a83..00000000000 --- a/meta-moblin/packages/twitter-glib/twitter-glib/nodolt.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2009-11-27 15:30:59.000000000 +0000 -+++ git/configure.ac 2009-11-27 15:31:07.000000000 +0000 -@@ -57,7 +57,6 @@ - - AC_DISABLE_STATIC - AC_PROG_LIBTOOL --DOLT - - AC_ISC_POSIX - AC_HEADER_STDC diff --git a/meta-moblin/packages/twitter-glib/twitter-glib_git.bb b/meta-moblin/packages/twitter-glib/twitter-glib_git.bb deleted file mode 100644 index 7d4d990fec3..00000000000 --- a/meta-moblin/packages/twitter-glib/twitter-glib_git.bb +++ /dev/null @@ -1,17 +0,0 @@ -HOMEPAGE = "http://live.gnome.org/TwitterGlib" -SRC_URI = "git://github.com/ebassi/${PN}.git;protocol=git \ - file://nodolt.patch;patch=1" -PV = "0.1+git${SRCPV}" -PR = "r1" - -DEPENDS = "glib-2.0 gtk+ json-glib libsoup-2.4" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--disable-shave --disable-introspection --disable-maintainer-flags" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make -} diff --git a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch b/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch deleted file mode 100644 index 0e5d3ff1536..00000000000 --- a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch +++ /dev/null @@ -1,160 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp -@@ -40,6 +40,7 @@ - - #include - #include -+#include - #include - #include - #include -@@ -176,7 +177,7 @@ - MAP_SHARED, fd, 0); - data += dataoffset; - -- if ((int)data == -1) { -+ if ((intptr_t)data == -1) { - perror("mapping /dev/fb0"); - qWarning("Error: failed to map framebuffer device to memory."); - return FALSE; -@@ -737,7 +738,7 @@ - psize += 8; // for alignment - psize &= ~0x7; // align - -- unsigned int pos=(unsigned int)data; -+ uintptr_t pos=(uintptr_t)data; - pos += psize; - entryp = ((int *)pos); - lowest = ((unsigned int *)pos)+1; ---- qt-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp -@@ -31,6 +31,7 @@ - **********************************************************************/ - - #include "qsharedmemory_p.h" -+#include - - #if !defined(QT_QWS_NO_SHM) - -@@ -132,7 +133,7 @@ - shmId = shmget (key, shmSize, 0); - - shmBase = shmat (shmId, 0, 0); -- if ((int) shmBase == -1 || shmBase == 0) -+ if ((intptr_t) shmBase == -1 || shmBase == 0) - return FALSE; - else - return TRUE; ---- qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp -@@ -107,6 +107,7 @@ - #include - #include - #include -+#include - - #if defined(Q_OS_QNX) - #include -@@ -1879,7 +1880,7 @@ - w = widgetAt(*qt_last_x, *qt_last_y, FALSE); - if ( !w ) - w = desktop(); -- QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle()); -+ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle()); - } - - void QApplication::restoreOverrideCursor() -@@ -1898,11 +1899,11 @@ - cursorStack = 0; - qws_overrideCursor = FALSE; - if ( w->testWState(WState_OwnCursor) ) -- QPaintDevice::qwsDisplay()->selectCursor(w, (int)w->cursor().handle()); -+ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)w->cursor().handle()); - else - QPaintDevice::qwsDisplay()->selectCursor(w, ArrowCursor); - } else { -- QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle()); -+ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle()); - } - } - #endif// QT_NO_CURSOR -@@ -2130,7 +2131,7 @@ - } - if ( !qws_overrideCursor ) { - if (curs) -- QPaintDevice::qwsDisplay()->selectCursor(widget, (int)curs->handle()); -+ QPaintDevice::qwsDisplay()->selectCursor(widget, (intptr_t)curs->handle()); - else - QPaintDevice::qwsDisplay()->selectCursor(widget, ArrowCursor); - } ---- qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp -@@ -49,6 +49,7 @@ - #include "qgfx_qws.h" - #include "qtextengine_p.h" - #include "qfontengine_p.h" -+#include - - QFont::Script QFontPrivate::defaultScript = QFont::UnknownScript; - -@@ -133,7 +134,7 @@ - req.pointSize = req.pixelSize*10; - - if ( ! engineData ) { -- QFontCache::Key key( req, QFont::NoScript, (int)paintdevice ); -+ QFontCache::Key key( req, QFont::NoScript, (intptr_t)paintdevice ); - - // look for the requested font in the engine data cache - engineData = QFontCache::instance->findEngineData( key ); ---- qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp -@@ -32,6 +32,7 @@ - #include "qwsdisplay_qws.h" - #include "qwsregionmanager_qws.h" - #include -+#include - - #ifndef QT_NO_QWS_MULTIPROCESS - #include -@@ -288,7 +289,7 @@ - data = (unsigned char *)shmat( shmId, 0, 0 ); - } - -- return ( shmId != -1 && (int)data != -1 ); -+ return ( shmId != -1 && (intptr_t)data != -1 ); - #else - int dataSize = sizeof(QWSRegionHeader) // header - + sizeof(QWSRegionIndex) * QT_MAX_REGIONS // + index ---- qt-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp -@@ -53,6 +53,7 @@ - #include "qwsmanager_qws.h" - #include "qwsregionmanager_qws.h" - #include "qinputcontext_p.h" -+#include - - void qt_insert_sip( QWidget*, int, int ); // defined in qapplication_x11.cpp - int qt_sip_count( QWidget* ); // --- "" --- -@@ -631,7 +632,7 @@ - qt_mouseGrb->releaseMouse(); - - qwsDisplay()->grabMouse(this,TRUE); -- qwsDisplay()->selectCursor(this, (unsigned int)cursor.handle()); -+ qwsDisplay()->selectCursor(this, (uintptr_t)cursor.handle()); - qt_mouseGrb = this; - qt_pressGrab = 0; - } -@@ -1845,7 +1846,7 @@ - QSize s( qt_screen->width(), qt_screen->height() ); - QPoint pos = qt_screen->mapToDevice(QPoint(*qt_last_x, *qt_last_y), s); - if ( r.contains(pos) ) -- qwsDisplay()->selectCursor((QWidget*)this, (unsigned int)cursor().handle()); -+ qwsDisplay()->selectCursor((QWidget*)this, (uintptr_t)cursor().handle()); - } - } - #endif diff --git a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch b/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch deleted file mode 100644 index b0ee6374efd..00000000000 --- a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch +++ /dev/null @@ -1,16 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- qt-embedded-free-3.3.2/Makefile~no-examples 2003-08-11 16:37:25.000000000 +0200 -+++ qt-embedded-free-3.3.2/Makefile 2004-05-11 15:53:53.000000000 +0200 -@@ -11,7 +11,7 @@ - install: FORCE - @$(MAKE) qt.install - --all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples -+all: symlinks src-qmake src-moc sub-src sub-tools - @echo - @echo "The Qt library is now built in ./lib" - @echo "The Qt examples are built in the directories in ./examples" diff --git a/meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb b/meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb deleted file mode 100644 index 68582850a22..00000000000 --- a/meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb +++ /dev/null @@ -1,56 +0,0 @@ -DESCRIPTION = "User Interface Generator and Meta Object Compiler (moc) for Qt(E) 3.x" -HOMEPAGE = "http://www.trolltech.com" -SECTION = "devel" -PRIORITY = "optional" -LICENSE = "GPL QPL" -DEPENDS = "qmake-native" -PR = "r3" - -SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-free-${PV}.tar.bz2 \ - file://no-examples.patch;patch=1 \ - file://64bit-cleanup.patch;patch=1" -S = "${WORKDIR}/qt-embedded-free-${PV}" - -inherit native qmake_base qt3e - -export QTDIR = "${S}" -export OE_QMAKE_LINK="${CXX}" -CXXFLAGS += " -DQWS" - -QT_CONFIG_FLAGS = "-release -static -depths 8,16 -qt-zlib -no-nas-sound \ - -no-sm -no-libjpeg -no-libmng -no-gif -no-xshape -no-xinerama \ - -no-xcursor -no-xrandr -no-xrender -no-xft -no-tablet \ - -no-xkb -no-dlopen-opengl -no-freetype -no-thread \ - -no-nis -no-cups -prefix ${prefix} \ - -xplatform ${OE_QMAKE_PLATFORM} \ - -platform ${OE_QMAKE_PLATFORM}" - -do_configure() { - oe_qmake_mkspecs - echo "yes" | ./configure ${QT_CONFIG_FLAGS} -} - -do_compile() { - oe_runmake symlinks || die "Can't symlink include files" - oe_runmake src-moc || die "Building moc failed" - oe_runmake sub-tools || die "Building tools failed" -} - -do_install() { - install -d ${D}${bindir}/ - install -d ${D}/qte3/lib/ - install -d ${D}/qte3/include - - install -m 0755 bin/moc ${D}${bindir}/ - install -m 0755 bin/uic ${D}${bindir}/ - install -m 0655 lib/*.a ${D}/qte3/lib/ - - for f in include/*.h - do - install -m 0644 $f ${D}/qte3/include/ - done -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/qte3 ${SYSROOT_DESTDIR}/${QTEDIR}/ -} diff --git a/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs/configurefix.patch b/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs/configurefix.patch deleted file mode 100644 index 576cdde7520..00000000000 --- a/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs/configurefix.patch +++ /dev/null @@ -1,18 +0,0 @@ -The AM_DISABLE_STATIC appears to pull in strange libtool junk so just remove it. - -RP - 27/5/09 - -Index: xdg-user-dirs-0.10/configure.ac -=================================================================== ---- xdg-user-dirs-0.10.orig/configure.ac 2009-05-27 22:27:20.000000000 +0100 -+++ xdg-user-dirs-0.10/configure.ac 2009-05-27 22:27:28.000000000 +0100 -@@ -13,8 +13,7 @@ - AC_PROG_INSTALL - AC_PROG_LN_S - AC_PROG_MAKE_SET --AM_PROG_MKDIR_P --AM_DISABLE_STATIC -+AM_PROG_MKDIR_P - AM_ICONV - - GETTEXT_PACKAGE=xdg-user-dirs diff --git a/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs_0.10.bb b/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs_0.10.bb deleted file mode 100644 index 579672cf519..00000000000 --- a/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs_0.10.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "xdg-user-dirs is a tool to help manage user directories like the desktop folder and the music folder" -SRC_URI = "http://user-dirs.freedesktop.org/releases/xdg-user-dirs-0.10.tar.gz \ - file://configurefix.patch;patch=1 " -DEPENDS = "gettext" -PR = "r1" - -inherit autotools - -do_install_append () { - install -d ${D}${sysconfdir}/skel/.config/ - mv ${D}${sysconfdir}/xdg/user-dirs.defaults ${D}${sysconfdir}/skel/.config/user-dirs.dirs -} diff --git a/meta-moblin/packages/xerces-c/xerces-c/nolocallink.patch b/meta-moblin/packages/xerces-c/xerces-c/nolocallink.patch deleted file mode 100644 index d1fa2de9c1f..00000000000 --- a/meta-moblin/packages/xerces-c/xerces-c/nolocallink.patch +++ /dev/null @@ -1,34 +0,0 @@ -Index: xercesc/Makefile.incl -=================================================================== ---- xercesc.orig/Makefile.incl 2009-11-18 00:31:14.000000000 +0000 -+++ xercesc/Makefile.incl 2009-11-18 00:31:58.000000000 +0000 -@@ -519,23 +519,23 @@ - - ifeq (${BITSTOBUILD}, 64) - ifeq (${TRANSCODER}, ICU) -- ALLLIBS = ${LIBS} -L/usr/lib64 -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -licuuc -licudata -+ ALLLIBS = ${LIBS} -licuuc -licudata - else -- ALLLIBS = ${LIBS} -L/usr/lib64 -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -+ ALLLIBS = ${LIBS} - endif - - ifeq (${MESSAGELOADER}, ICU) -- ALLLIBS = ${LIBS} -L/usr/lib64 -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -licuuc -licudata -lXercesMessages -+ ALLLIBS = ${LIBS} -licuuc -licudata -lXercesMessages - endif - else - ifeq (${TRANSCODER}, ICU) -- ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -licuuc -licudata -+ ALLLIBS = ${LIBS} -licuuc -licudata - else -- ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -+ ALLLIBS = ${LIBS} - endif - - ifeq (${MESSAGELOADER}, ICU) -- ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -licuuc -licudata -lXercesMessages -+ ALLLIBS = ${LIBS} -licuuc -licudata -lXercesMessages - endif - endif - diff --git a/meta-moblin/packages/xerces-c/xerces-c_2.8.0.bb b/meta-moblin/packages/xerces-c/xerces-c_2.8.0.bb deleted file mode 100644 index 23f5885628e..00000000000 --- a/meta-moblin/packages/xerces-c/xerces-c_2.8.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "Xerces-c is a validating xml parser written in C++" -HOMEPAGE = "http://xerces.apache.org/xerces-c/" -SECTION = "libs" -PRIORITY = "optional" -LICENSE = "MIT" -PR = "r2" - -SRC_URI = "http://mirror.serversupportforum.de/apache/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz \ - file://nolocallink.patch;patch=1" -S = "${WORKDIR}/xerces-c-src_2_8_0/src/xercesc" - -inherit autotools pkgconfig - -CCACHE = "" -export XERCESCROOT="${WORKDIR}/xerces-c-src_2_8_0" -export cross_compiling = "yes" - -do_configure() { - ./runConfigure -plinux -c"${CC}" -x"${CXX}" -minmem -nsocket -tnative -rpthread -P${D}${prefix} \ - -C--build=${BUILD_SYS} \ - -C--host=${HOST_SYS} \ - -C--target=${TARGET_SYS} \ -} - -do_compile() { - ${MAKE} -} - -do_install () { - ${MAKE} install -} -- 2.47.2