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

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

278 files changed:
classes/package.bbclass
conf/checksums.ini
conf/distro/opendreambox.conf [new file with mode: 0644]
conf/machine/dm500plus.conf [new file with mode: 0644]
conf/machine/dm600pvr.conf [new file with mode: 0644]
conf/machine/dm7020.conf [new file with mode: 0644]
conf/machine/dm7025.conf [new file with mode: 0644]
conf/machine/dm800.conf [new file with mode: 0644]
conf/machine/dm8000.conf [new file with mode: 0644]
conf/machine/include/dreambox-mipsel.inc [new file with mode: 0644]
conf/machine/include/dreambox-powerpc.inc [new file with mode: 0644]
conf/machine/include/dreambox.inc [new file with mode: 0644]
packages/autofs/autofs-4.1.4/autofs-add-hotplug.patch [new file with mode: 0644]
packages/autofs/autofs_4.1.4.bb
packages/base-files/base-files/dm500plus/fstab [new file with mode: 0644]
packages/base-files/base-files/dm600pvr/fstab [new file with mode: 0644]
packages/base-files/base-files/dm7020/fstab [new file with mode: 0644]
packages/base-files/base-files/dm7025/devices [new file with mode: 0644]
packages/base-files/base-files/dm7025/fstab [new file with mode: 0644]
packages/base-files/base-files/dm800/fstab [new file with mode: 0644]
packages/base-files/base-files/dm8000/fstab [new file with mode: 0644]
packages/base-files/base-files/filesystems
packages/base-files/base-files/opendreambox/profile [new file with mode: 0644]
packages/base-files/base-files_3.0.14.bb
packages/busybox/busybox-1.11.3/opendreambox/defconfig [new file with mode: 0644]
packages/cdrkit/cdrkit_1.1.0.bb [new file with mode: 0644]
packages/cdrkit/cdrkit_1.1.8.bb [new file with mode: 0644]
packages/dreambox/dreambox-blindscan-utils.bb [new file with mode: 0644]
packages/dreambox/dreambox-bootlogo.bb [new file with mode: 0644]
packages/dreambox/dreambox-boottool.bb [new file with mode: 0644]
packages/dreambox/dreambox-boottool/boottool-dm7025.c [new file with mode: 0644]
packages/dreambox/dreambox-buildimage-native.bb [new file with mode: 0644]
packages/dreambox/dreambox-buildimage-native/buildimage.c [new file with mode: 0644]
packages/dreambox/dreambox-compat.bb [new file with mode: 0644]
packages/dreambox/dreambox-dccamd.bb [new file with mode: 0644]
packages/dreambox/dreambox-dccamd/dccamd.sh [new file with mode: 0644]
packages/dreambox/dreambox-dvb-modules.bb [new file with mode: 0644]
packages/dreambox/dreambox-dvb-modules/dm7020/dream [new file with mode: 0644]
packages/dreambox/dreambox-dvb-modules/dm7025/dream [new file with mode: 0644]
packages/dreambox/dreambox-dvb-tools-v3.bb [new file with mode: 0644]
packages/dreambox/dreambox-dvb-tools.bb [new file with mode: 0644]
packages/dreambox/dreambox-dvbincludes.bb [new file with mode: 0644]
packages/dreambox/dreambox-feed-configs.bb [new file with mode: 0644]
packages/dreambox/dreambox-keymaps.bb [new file with mode: 0644]
packages/dreambox/dreambox-keymaps/dream-de.info [new file with mode: 0644]
packages/dreambox/dreambox-keymaps/dream-de.kmap [new file with mode: 0644]
packages/dreambox/dreambox-keymaps/eng.info [new file with mode: 0644]
packages/dreambox/dreambox-keymaps/eng.kmap [new file with mode: 0644]
packages/dreambox/dreambox-secondstage.bb [new file with mode: 0644]
packages/dsplink/dsplink.inc
packages/dvd+rw-tools/dvd+rw-tools_7.0.bb [new file with mode: 0644]
packages/dvdauthor/dvdauthor_0.6.14.bb [new file with mode: 0644]
packages/dvdauthor/files/dvdauthor-fix-fribidi.patch [new file with mode: 0644]
packages/dvdauthor/files/dvdauthor-fix-old-freetype.patch [new file with mode: 0644]
packages/eglibc/eglibc_svn.bb
packages/enigma/enigma-blindscan.bb [new file with mode: 0644]
packages/enigma/enigma-modem.bb [new file with mode: 0644]
packages/enigma/enigma/add_blindscan_to_menu.diff [new file with mode: 0644]
packages/enigma/enigma/disable_boot.diff [new file with mode: 0644]
packages/enigma/enigma/duplicate_tsid_onid_cable_terrestrial_fix_backport.diff [new file with mode: 0644]
packages/enigma/enigma/enigma.sh [new file with mode: 0644]
packages/enigma/enigma/enigma_enter_standby.sh [new file with mode: 0644]
packages/enigma/enigma/enigma_leave_standby.sh [new file with mode: 0644]
packages/enigma/enigma/epgfix_backport.diff [new file with mode: 0644]
packages/enigma/enigma/opendreambox/config [new file with mode: 0644]
packages/enigma/enigma/opendreambox/userbouquet.33fc5.tv [new file with mode: 0644]
packages/enigma/enigma/opendreambox/userbouquets.tv.epl [new file with mode: 0644]
packages/enigma/enigma/rdstextfix_backport.diff [new file with mode: 0644]
packages/enigma/enigma/rotor_fix.diff [new file with mode: 0644]
packages/enigma/enigma/subtitlefix_backport.diff [new file with mode: 0644]
packages/enigma/enigma/timeshiftfix_backport.diff [new file with mode: 0644]
packages/enigma/enigma_cvs.bb [new file with mode: 0644]
packages/enigma/ipkgpl.bb [new file with mode: 0644]
packages/enigma2/enigma2-defaultservices.bb [new file with mode: 0644]
packages/enigma2/enigma2-defaultservices/lamedb.130 [new file with mode: 0644]
packages/enigma2/enigma2-defaultservices/lamedb.192 [new file with mode: 0644]
packages/enigma2/enigma2-defaultservices/sat130.info [new file with mode: 0644]
packages/enigma2/enigma2-defaultservices/sat192.info [new file with mode: 0644]
packages/enigma2/enigma2-plugins.bb [new file with mode: 0644]
packages/enigma2/enigma2-skins.bb [new file with mode: 0644]
packages/enigma2/enigma2-streamproxy.bb [new file with mode: 0644]
packages/enigma2/enigma2.bb [new file with mode: 0644]
packages/enigma2/enigma2/enigma2-disable-iframesearch.patch [new file with mode: 0644]
packages/enigma2/enigma2/enigma2.sh [new file with mode: 0644]
packages/enigma2/enigma2/tuxtxt_caching.patch [new file with mode: 0644]
packages/fakelocale/fakelocale.bb [new file with mode: 0644]
packages/fakelocale/files/locale.alias [new file with mode: 0644]
packages/freetype/freetype-2.0.9/install.mk.patch [new file with mode: 0644]
packages/freetype/freetype_2.0.9.bb [new file with mode: 0644]
packages/gstreamer/gst-plugin-dvbmediasink.bb [new file with mode: 0644]
packages/gstreamer/gst-plugin-fluendo-mpegdemux_0.10.15.bb [new file with mode: 0644]
packages/gstreamer/gst-plugins-bad_0.10.6.bb
packages/gstreamer/gst-plugins-bad_0.10.8.bb [new file with mode: 0644]
packages/gstreamer/gst-plugins-base_0.10.17.bb
packages/gstreamer/gst-plugins-base_0.10.20.bb [new file with mode: 0644]
packages/gstreamer/gst-plugins-good_0.10.10.bb [new file with mode: 0644]
packages/gstreamer/gst-plugins-good_0.10.7.bb
packages/gstreamer/gst-plugins-ugly_0.10.7.bb
packages/gstreamer/gst-plugins-ugly_0.10.9.bb [new file with mode: 0644]
packages/gstreamer/gst-plugins.bb [new file with mode: 0644]
packages/gstreamer/gst-plugins.inc
packages/gstreamer/gstreamer_0.10.20.bb [new file with mode: 0644]
packages/hddtemp/hddtemp_0.3-beta15.bb [new file with mode: 0644]
packages/hotplug-ng/hotplug-ng.bb [new file with mode: 0644]
packages/images/dreambox-image.bb [new file with mode: 0644]
packages/initscripts/initscripts-1.0/dm500plus/bootup [new file with mode: 0644]
packages/initscripts/initscripts-1.0/dm600pvr/bootup [new file with mode: 0644]
packages/initscripts/initscripts-1.0/dm7020/bootup [new file with mode: 0644]
packages/initscripts/initscripts-1.0/dm7025/bootup [new file with mode: 0644]
packages/initscripts/initscripts-1.0/dm800/bootup [new file with mode: 0644]
packages/initscripts/initscripts-1.0/dm800/halt [new file with mode: 0644]
packages/initscripts/initscripts-1.0/dm8000/bootup [new file with mode: 0644]
packages/initscripts/initscripts-1.0/opendreambox/var.tar.gz.default [new file with mode: 0644]
packages/initscripts/initscripts-1.0/umountnfs.sh
packages/initscripts/initscripts-opendreambox_1.0.bb [new file with mode: 0644]
packages/ipkg/ipkg-collateral/dm500plus/dest [new file with mode: 0644]
packages/ipkg/ipkg-collateral/dm600pvr/dest [new file with mode: 0644]
packages/ipkg/ipkg-collateral/dm7020/dest [new file with mode: 0644]
packages/ipkg/ipkg-collateral/dm7025/dest [new file with mode: 0644]
packages/ipkg/ipkg-collateral/dm800/dest [new file with mode: 0644]
packages/ipkg/ipkg-collateral/dm8000/dest [new file with mode: 0644]
packages/liba52/liba52_0.7.5-cvs.bb [new file with mode: 0644]
packages/libcddb/libcddb-1.3.0-asneeded-nonglibc.patch [new file with mode: 0644]
packages/libcddb/libcddb-1.3.0-configure-realloc.patch [new file with mode: 0644]
packages/libcddb/libcddb_1.3.0.bb [new file with mode: 0644]
packages/libcddb/libcddb_1.3.0_r1.bb [new file with mode: 0644]
packages/libcdio/libcdio/libcdio-0.80-add-cdtextinfo.patch [new file with mode: 0644]
packages/libcdio/libcdio/libcdio-0.80-configure-crosscompile.patch [new file with mode: 0644]
packages/libcdio/libcdio/libcdio-0.80-fix-pkgconfig.patch [new file with mode: 0644]
packages/libcdio/libcdio/libcdio-0.80-minimal-new.patch [new file with mode: 0644]
packages/libcdio/libcdio_0.80.bb [new file with mode: 0644]
packages/libdreamdvd/libdreamdvd.bb [new file with mode: 0644]
packages/libdvdnav/files/dvdnav-fix-read-dvdlabel.patch [new file with mode: 0644]
packages/libdvdnav/files/dvdnav-xine-lib-1.1.12.patch [new file with mode: 0644]
packages/libdvdnav/libdvdnav_1.1.12.bb [new file with mode: 0644]
packages/libebml/libebml_0.7.8.bb [new file with mode: 0644]
packages/libmatroska/Makefile [new file with mode: 0644]
packages/libmatroska/libmatroska_0.8.1.bb [new file with mode: 0644]
packages/libmms/libmms_0.2.bb [new file with mode: 0644]
packages/liboil/liboil_0.3.14.bb
packages/libsidplay/libsidplay_1.36.59.bb
packages/libungif/libungif_4.1.3.bb
packages/libxmlccwrap/files/disable_libxslt.patch [new file with mode: 0644]
packages/libxmlccwrap/files/dont_build_unneeded.patch [new file with mode: 0644]
packages/libxmlccwrap/files/fix_assignment_operator.patch [new file with mode: 0644]
packages/libxmlccwrap/libxmlccwrap_0.0.12.bb [new file with mode: 0644]
packages/links/links-dream_2.1pre15.bb [new file with mode: 0644]
packages/linux-libc-headers/linux-libc-headers-2.6.12.0/linux-libc-headers-2.6.12.0-mips_atomic_fix-1.patch [new file with mode: 0644]
packages/linux-libc-headers/linux-libc-headers-2.6.12.0/linux-libc-headers-2.6.12.0-mips_tls-1.patch [new file with mode: 0644]
packages/linux-libc-headers/linux-libc-headers_2.6.12.0.bb [new file with mode: 0644]
packages/linux/linux-dm500plus.bb [new file with mode: 0644]
packages/linux/linux-dm600pvr.bb [new file with mode: 0644]
packages/linux/linux-dm7020.bb [new file with mode: 0644]
packages/linux/linux-dm7025.bb [new file with mode: 0644]
packages/linux/linux-dm7025/dm7025_defconfig [new file with mode: 0644]
packages/linux/linux-dm800.bb [new file with mode: 0644]
packages/linux/linux-dm800/dm800_defconfig [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-7401C0-enable-llsc.patch [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-dm800-flash-layout.patch [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-dream-misc.patch [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-dream-temp.patch [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-fix-serial.patch [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-fixup-memsize.patch [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-fixup-prom-args.patch [new file with mode: 0644]
packages/linux/linux-dm800/linux-2.6.12-set-custom-extraversion.patch [new file with mode: 0644]
packages/linux/linux-dm800/linuxmips-2.6.12-fix-fadvise.patch [new file with mode: 0644]
packages/linux/linux-dm800/linuxmips-2.6.12-fix-futex.patch [new file with mode: 0644]
packages/linux/linux-dm800/linuxmips-2.6.12-gcc4-compile-fix.patch [new file with mode: 0644]
packages/linux/linux-dm800/linuxmips-2.6.12-gdb-fix.patch [new file with mode: 0644]
packages/linux/linux-dm8000.bb [new file with mode: 0644]
packages/linux/linux-dm8000/dm8000_defconfig [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-7400AB-enable-llsc.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-minipci.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-usb-for-revb0.diff [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-dm8000-nand.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-dream-misc.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-dream-temp.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-dvbapi-support-more-demux.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-fixup-memsize.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-fixup-prom-args.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linux-2.6.12-set-custom-extraversion.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linuxmips-2.6.12-fix-fadvise.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linuxmips-2.6.12-fix-futex.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linuxmips-2.6.12-gcc4-compile-fix.patch [new file with mode: 0644]
packages/linux/linux-dm8000/linuxmips-2.6.12-gdb-fix.patch [new file with mode: 0644]
packages/madwifi/files/40-fix-warnings.patch [new file with mode: 0644]
packages/madwifi/madwifi-ng_r.inc
packages/madwifi/madwifi-ng_r3314-20080131.bb
packages/madwifi/madwifi-ng_r3837-20080802.bb
packages/mc/mc.inc
packages/mjpegtools/files/mjpegtools-fix-include.patch [new file with mode: 0644]
packages/mjpegtools/files/mjpegtools-remove-sdl-dependency.patch [new file with mode: 0644]
packages/mjpegtools/files/mjpegtools-v4l-doesnt-mean-x11.patch [new file with mode: 0644]
packages/mjpegtools/files/series [new file with mode: 0644]
packages/mjpegtools/mjpegtools_1.9.0rc3.bb [new file with mode: 0644]
packages/mrouted/mrouted-3.9.diff [new file with mode: 0644]
packages/mrouted/mrouted.bb [new file with mode: 0644]
packages/neon/neon_0.28.2.bb [new file with mode: 0644]
packages/netbase/netbase/dm500plus/interfaces [new file with mode: 0644]
packages/netbase/netbase/dm600pvr/interfaces [new file with mode: 0644]
packages/netbase/netbase/dm7020/interfaces [new file with mode: 0644]
packages/netbase/netbase/dm7025/interfaces [new file with mode: 0644]
packages/netbase/netbase/dm800/interfaces [new file with mode: 0644]
packages/netbase/netbase/dm8000/interfaces [new file with mode: 0644]
packages/netbase/netbase/init
packages/netkit-base/netkit-base-0.17/gcc4_buildfix.patch [new file with mode: 0644]
packages/netkit-base/netkit-base-0.17/opendreambox/inetd.conf [new file with mode: 0644]
packages/netkit-base/netkit-base_0.17.bb
packages/ppp/ppp_2.4.3.bb
packages/python/python-2.5-manifest.inc
packages/python/python-2.5.2/autohell.patch
packages/python/python-2.5.2/fix_pthread_site.patch [new file with mode: 0644]
packages/python/python-2.5.2/forced_largefile_support.patch [new file with mode: 0644]
packages/python/python-2.5.2/some_configure_fixes.patch [new file with mode: 0644]
packages/python/python-2.5.2/strict_aliasing_site.patch [new file with mode: 0644]
packages/python/python-gdata_1.1.1.bb [new file with mode: 0644]
packages/python/python_2.5.2.bb
packages/samba/samba-essential_3.0.20.bb
packages/sysvinit/sysvinit/dm500plus/inittab [new file with mode: 0644]
packages/sysvinit/sysvinit/dm600pvr/inittab [new file with mode: 0644]
packages/sysvinit/sysvinit/dm7020/inittab [new file with mode: 0644]
packages/sysvinit/sysvinit/dm7025/inittab [new file with mode: 0644]
packages/sysvinit/sysvinit/dm800/inittab [new file with mode: 0644]
packages/sysvinit/sysvinit/dm8000/inittab [new file with mode: 0644]
packages/sysvinit/sysvinit/opendreambox/rcS [new file with mode: 0644]
packages/sysvinit/sysvinit_2.86.bb
packages/tasks/task-boot.bb
packages/timezones/timezones-alternative.bb [new file with mode: 0644]
packages/tuxbox/dvbsnoop.bb [new file with mode: 0644]
packages/tuxbox/files/acinclude.m4 [new file with mode: 0644]
packages/tuxbox/files/libtuxtxt-only-libtuxtxt.diff [new file with mode: 0644]
packages/tuxbox/files/libtuxtxt_32bpp.diff [new file with mode: 0644]
packages/tuxbox/files/libtuxtxt_bugfix.patch [new file with mode: 0755]
packages/tuxbox/libdvbsi++.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-common.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-image-info.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-libs.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-libtuxbox.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-libtuxtxt.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins-enigma.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins-enigma/disable_libtuxbox.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins-enigma/disable_nonworking.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins-enigma/fix_config_path.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins-enigma/fix_install_weather_pics.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins/disable_libtuxbox.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins/disable_nonworking.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins/game_names.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-plugins/tuxtxt_include_fix.patch [new file with mode: 0644]
packages/tuxbox/tuxbox-stream.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-stream/add_configfiles.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-stream/enable_transform.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-tuxtxt-32bpp.bb [new file with mode: 0644]
packages/tuxbox/tuxbox-tuxtxt-32bpp/32bpp.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-tuxtxt-32bpp/add_new_default_conf.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-tuxtxt-32bpp/freetype2.patch [new file with mode: 0644]
packages/tuxbox/tuxbox-tuxtxt-32bpp/hdres.patch [new file with mode: 0644]
packages/tuxbox/tuxbox-tuxtxt-32bpp/makefiles.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-tuxtxt-32bpp/makelib.diff [new file with mode: 0644]
packages/tuxbox/tuxbox-tuxtxt-32bpp/plugin.py [new file with mode: 0644]
packages/unionfs/unionfs-modules_1.1.5.bb [new file with mode: 0644]
packages/unionfs/unionfs-utils_1.1.5.bb [new file with mode: 0644]
packages/vsftpd/files/opendreambox/vsftpd.conf [new file with mode: 0644]
packages/vsftpd/vsftpd_2.0.5.bb
packages/wlan-rt73/files/changeiface.patch [new file with mode: 0644]
packages/wlan-rt73/files/make.patch [new file with mode: 0644]
packages/wlan-rt73/wlan-rt73.bb [new file with mode: 0644]
packages/zd1211/zd1211b-r222/ZD1211LnxDrv_2_22_0_0.patch [new file with mode: 0644]
packages/zd1211/zd1211b-r222/zdiface.patch [new file with mode: 0644]
packages/zd1211/zd1211b-r83/zd1211b.patch [new file with mode: 0644]
packages/zd1211/zd1211b_r222.bb [new file with mode: 0644]
packages/zd1211/zd1211b_r83.bb [new file with mode: 0644]
packages/zope/python-zopeinterface-native_3.3.0.bb [new file with mode: 0644]
packages/zope/python-zopeinterface_3.3.0.bb [new file with mode: 0644]
site/mipsel-linux
site/powerpc-common

index 8db000b..e3be9c4 100644 (file)
@@ -398,6 +398,8 @@ python populate_packages () {
                                        continue
                        if (not os.path.islink(file)) and (not os.path.exists(file)):
                                continue
+                       if file[-4:] == '.pyo':
+                               continue
                        if file in seen:
                                continue
                        seen.append(file)
index dec4b7e..63ab068 100644 (file)
@@ -34,6 +34,10 @@ sha256=f09d4ae3365b876da9f40f49178ab7241bb7e4c1d67db9e2f310f9c76d5834a6
 md5=333b0e9328194f28af83c26d3717e4ac
 sha256=8930ebfdc8a606d8cb26f073d4700460c3289fb79e943e12948329e17336ca47
 
+[http://www.ralinktech.com.tw/data/drivers/2008_0506_RT73_Linux_STA_Drv1.1.0.1.tar.bz2]
+md5=3e08bf734b740e83391fda571c8e9ecd
+sha256=932b9c127992fd7985e4054d91120164e54f7132fa457b06fdcd30307e5b70f9
+
 [http://www.amd.com/files/connectivitysolutions/geode/geode_lx/AES_Linux_LX_02.01.0100.tar.gz]
 md5=12cb241a9037fffe31ba7c68a48ed614
 sha256=a6068b4aa0e2330eed6e4741bad3191dc9ca7d7326f7bfab578ac55e2b8b91a2
@@ -646,6 +650,10 @@ sha256=f274a4bc969ae192994a856b7f786c6fce96bae77f96c1c2b71dd97599e06e43
 md5=4be042a043ec520074b0ab6f7ca0bded
 sha256=fa668e8f01fe43fdddb33f0c5e294698818f37519000b9f782f504ece071c740
 
+[http://www.reactivated.net/software/zd1211-vendor/releases/ZD1211LnxDrv_2_22_0_0.tar.gz]
+md5=0ac1145f1f30d883694b4a1317f142c4
+sha256=262f44f0d1274d2baf6548e53df96c6664b076f39e3aaeeb022bbd5caccbe3e3
+
 [http://zope.org/Products/Zope/2.7.1/Zope-2.7.1.tgz]
 md5=ae9d4bb3f7220dfffb6e91b42503b16c
 sha256=341f56aa4ece9001a118be8ff9675bfad6410dc1df86dd86aeb726adc732341b
@@ -1142,6 +1150,10 @@ sha256=2bbf2b8fdf6e12dabb0cc751a973d9040f7ed9123cf87a7f794044f3429b0de0
 md5=3b27365772d918050b2251d98a9c7c82
 sha256=9c548c44d3cfdf259118d9fd4e468e1fe4567456dbff8ff59838c5f70ef62ea3
 
+[http://sources.dreamboxupdate.com/download/snapshots/ath_hal-20080815.tgz]
+md5=f88c708bbc6ce971f170499110098604
+sha256=eb1dd7529fccb17c59f4ae027d5c4d60dfe89e399a97be72b378e2ba646cd54d
+
 [ftp://ftp.gtk.org/pub/gtk/v2.8/atk-1.10.3.tar.bz2]
 md5=c84a01fea567b365c0d44b227fead948
 sha256=c596baf95f6a6cd7748b1018336b2ac45ca2ef668816e6c703b01691e09b8a89
@@ -1302,6 +1314,10 @@ sha256=dedf5325105f071e5d9f898fdb7337a7fe88a3a8a1f832a6056ba00477b8cc3d
 md5=3cb3be404950ef08e51adbe59c7b811e
 sha256=c3648f02dd7d4dc8c0ef9a48089fda4ca47b81a977c838b17f55e6abf7f51447
 
+[http://sources.dreamboxupdate.com/download/7020/backdrop_dm8000.mvi]
+md5=404ecdfe1f291ef64079c463fe699ac2
+sha256=bd486f5434eaa7fd5f39fb67c8dc0394e2d08c2505419c72c5a5a563463658fd
+
 [http://heanet.dl.sourceforge.net/sourceforge/bacula/bacula-1.38.11.tar.gz]
 md5=0d6d6614afdc468d214de4e66f9f5a26
 sha256=d095165d256771c918b80f836feaf837aedc1362b2d67171013d3ab7ac5ee47f
@@ -1318,10 +1334,6 @@ sha256=c450b49ce9903d97ed5e4aa788b388e014c0eddcfc038b000237f67cd4528a3b
 md5=5afcef5d6047f14cd5f65d2fdbd86fb2
 sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
 
-[ftp://ftp.pl.debian.org/pub/debian/pool/main/b/base-passwd/base-passwd_3.5.19.tar.gz]
-md5=5afcef5d6047f14cd5f65d2fdbd86fb2
-sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
-
 [ftp://ftp.us.debian.org/debian/pool/main/b/base-passwd/base-passwd_3.5.19.tar.gz]
 md5=5afcef5d6047f14cd5f65d2fdbd86fb2
 sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
@@ -1870,6 +1882,22 @@ sha256=e721987d891ce97ba7a4fc17115a1b48d7659b261d12e886b614999ab12246d2
 md5=4be91177d19069e21beeb106f2f77dff
 sha256=7738399ecfcfb2242e9f99a316b13a5f59e89052de05074dbf705ccf4edc327d
 
+[http://sources.dreamboxupdate.com/download/7020/bootlogo_dm8000.elf]
+md5=8ab6ead17f2d51e9b93f968b027cb3a9
+sha256=d5b517b85c2d346cacaef3fd1833f4aaccf9ba37785fcca94a3bd33563c040c8
+
+[http://sources.dreamboxupdate.com/download/7020/bootlogo_dm8000.jpg]
+md5=017abc2244931c14464ae6d4ad8c2296
+sha256=5f8ea9e76a10c28282425cb1fccbcfd5897da1e83adeaa9d89744c3597f49f02
+
+[http://sources.dreamboxupdate.com/download/7020/bootlogo_dm8000.mvi]
+md5=c1a99cb9ab8248faaf273cd5d9f16cfd
+sha256=0c02c791020c5d230fafc226f2282f42434a0b4db66e6aa7eda56f23cec01578
+
+[http://sources.dreamboxupdate.com/download/7020/bootlogo_wait_dm8000.mvi]
+md5=4c3eba94a7092c8ad9adeaa90ed40673
+sha256=b8057f51a1317294e4feab663ded9652491bcfbaaaf7e141f06129452ad36e6d
+
 [http://www.cosmicpenguin.net/pub/bootmenu/bootmenu-0.6.tar.gz]
 md5=d7d8343f90a149c1604e5a14ea2f967d
 sha256=3ff618bcbf9926f356aec2a604b1f1d617e3f87ad545b1d96c066ed712675845
@@ -2774,6 +2802,10 @@ sha256=e34e30a4c0ea405f9e830aa0026e9c0632f526f242e90526ff0a7da8dd7f5e2e
 md5=562c78876219bf458d79a041af18293d
 sha256=89dd1d5aa5c2ba04677d1aa2616caa50274d8c08f3d6bc164e6f7b9930776191
 
+[http://sources.dreamboxupdate.com/download/7020/dccamd-dm8000-1.1]
+md5=d0439fec02ef37e4896d65c1605f3982
+sha256=b2457ff8d8355baa8dfb2a1ed30847668af6fdf16bcfc1bf89a3b0e672e4ef02
+
 [http://packetstormsecurity.org/UNIX/scanners/dcetest-2.0.tar.gz]
 md5=74ee7617c8b01cc641992c1d13dc394b
 sha256=4a319a08ae0838234f5b6fbd0b4d2e0fac7560a7553a4e1b043527cc17032aa3
@@ -3074,6 +3106,18 @@ sha256=a525f321e875a8c16f5b6942bc02ac66b0d284cc6c61704f93e74789ef89d817
 md5=dad1a4a08c475b31a6b62e7dc92fe9d2
 sha256=5287e943265b9efe5bd59cd1f3145d3fbf9e266df28938ad78e2107fde3c1587
 
+[http://sources.dreamboxupdate.com/download/opendreambox/dreambox-blindscan-utils-dm8000-1.0.tar.bz2]
+md5=4e540e321fb76df423fc166ddfd83773
+sha256=167494f7617d2f8d8c25d9dab7a4ab5ec26b91bbe06413365f31ddedabc3bed6
+
+[http://sources.dreamboxupdate.com/snapshots/dreambox-dvb-modules-dm8000-2.6.12-5.1-brcmstb-dm8000-20080920.tar.bz2]
+md5=a508ee35044989c41e7f49664496cedf
+sha256=47e7132ed5ec55bbaec2348cd5b61cc610a762a247cb4d3aebc9e47ff19fc9be
+
+[http://sources.dreamboxupdate.com/download/opendreambox/dreambox-dvb-tools-v3-1.5.tar.gz]
+md5=da705f04302e87c7b4e83903ce4b5707
+sha256=d2005e7b8ea9d8d8b4503117daf18a642bbabd0e013d41302c5f80e3333c67ef
+
 [http://xorg.freedesktop.org/releases/individual/proto/dri2proto-1.1.tar.bz2]
 md5=1d70f0653b0b3a837853262dc5d34da4
 sha256=69def6d1f64b3699ec9c729596d8b096623a62bdda6bbea78ed690421d174c11
@@ -3550,6 +3594,10 @@ sha256=990cd830ea362ba2cb88ca7b59cd3f4d115a054621450b5cf211cadebed23ee0
 md5=55220ebadef5f541d705b72fe222b5b1
 sha256=4b891e1d58c8cdf397737ac81a9328d8c663743b41f835bb2267831866d75a3e
 
+[http://sources.dreamboxupdate.com/download/opendreambox/fakelocale.tar.gz]
+md5=d11a901c9e4dc2947cbc560044de2b67
+sha256=b424804aff7a23efaa1fa25d27a55ac25173d0e7e95d07fe31096250bb498cc6
+
 [http://openzaurus.org/mirror/fakeroot_1.2.13.tar.gz]
 md5=cf25d5d4c943ebf2293fe6f23ecba0fd
 sha256=6f51ebdf0e18bea58d18f79e8ffebb797fe57bdf44b96dff9d84b70467af7841
@@ -3594,10 +3642,6 @@ sha256=2cbf95aef9e3f9a32b6859ae35723eaa76b5ed483ddaa654cf627d1eacdea5fa
 md5=9441c981bfd4e521abcd5d93385f71d8
 sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
 
-[ftp://ftp.pl.debian.org/pub/debian/pool/main/f/fakeroot/fakeroot_1.9.6.tar.gz]
-md5=9441c981bfd4e521abcd5d93385f71d8
-sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
-
 [ftp://ftp.us.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.9.6.tar.gz]
 md5=9441c981bfd4e521abcd5d93385f71d8
 sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
@@ -6530,6 +6574,14 @@ sha256=ba261a21539e1f204ba74590d313c501007e546b54aa9ae7210a99eaf3c097be
 md5=9e6a16b7d074782d1c62f1f7316e56ab
 sha256=e2db8d3383cd8eca6a18ebee85875de895f3ac7414eab091a87f052d79a87b09
 
+[http://www.guzu.net/files/hddtemp-0.3-beta15.tar.bz2]
+md5=8b829339e1ae9df701684ec239021bb8
+sha256=618541584054093d53be8a2d9e81c97174f30f00af91cb8700a97e442d79ef5b
+
+[http://www.guzu.net/linux/hddtemp.db]
+md5=7b2651d53d10808e270bc386b6db89dd
+sha256=ca43f8ab1e4fb3919af940a2fe6a95feb03939f685450a48666763a3edc326bb
+
 [http://downloads.sourceforge.net/hdparm/hdparm-6.3.tar.gz]
 md5=0c12672f3a09c14ad0b0882f15fc9389
 sha256=08688a6a46ba495494bf838f8f26103e797584c1888eca94e43a171e1b37246d
@@ -6982,6 +7034,10 @@ sha256=beb929f4ceff865375a9e56c0156ffbfb197dff82299071bdb641bb60299f84b
 md5=5bcaa0fe3fec26840c8f1ecefc891887
 sha256=53b67c08477623bb03436f79bf2ca859d7cd9684c57775ea539e1db449658236
 
+[http://sources.dreamboxupdate.com/snapshots/include2.tar.gz]
+md5=9d236095a88d7ce9f3bf0503ee5237d6
+sha256=739bc35bccdb1e4c6e14b77ab86808354eb6fd75434d3bd6236f3b3346805e02
+
 [ftp://ftp.gnu.org/gnu/inetutils/inetutils-1.4.2.tar.gz]
 md5=df0909a586ddac2b7a0d62795eea4206
 sha256=9f001daa0f3d571ae35aac88f04d5dd982a14e90257e4dfb535c143fa18d5830
@@ -9438,6 +9494,10 @@ sha256=83e82b9afe296584a6c9f1f8b3e3a70d324209021e0049f68d28bd1de8c18136
 md5=4f75fc9901c724b712c371c9a1e782d3
 sha256=912a1fdb12d31af757e7881db49321e5b5240bd8bd4199e9fb0ce16d66568160
 
+[http://critical.ch/distfiles/libsidplay-1.36.59.tgz]
+md5=37c51ba4bd57164b1b0bb7b43b9adece
+sha256=3da9b38d4eb5bf9e936b9604ba92da0594ef38047d50cf806a8e11c400008024
+
 [http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/packages/libsidplay-1.36.59.tgz]
 md5=37c51ba4bd57164b1b0bb7b43b9adece
 sha256=3da9b38d4eb5bf9e936b9604ba92da0594ef38047d50cf806a8e11c400008024
@@ -9854,6 +9914,10 @@ sha256=06e4be5214166e1de11715c8b58c61d1a1930df1b6bea035ee6b6a227054ae5b
 md5=dc43ff7ae6aded45f578c87b7b0c8766
 sha256=c01bd621f771cdee349877f55cc841a1bdfb206b2cf5c9aa62aa6a9680e61980
 
+[http://www.ant.uni-bremen.de/whomes/rinas/libxmlccwrap/download/libxmlccwrap-0.0.12.tar.gz]
+md5=9f8bbad3452d704603246273b2dda758
+sha256=38fb5f75f8b7dad1c8d535cc7b18ea9f1603e14a8b9256a2f60cf721513dc299
+
 [http://gpe.linuxtogo.org/download/source/libxsettings-0.11.tar.gz]
 md5=ea623deae839c41ef68c9a31233157ef
 sha256=4cae17ea07445660cedb34a8a0222055954ed67de3d5a527850d8b9e923e3543
@@ -9958,6 +10022,26 @@ sha256=877af8ed89e56af004bb0662c1a9cfc785b40c602f71a8bf81521991026cf2f0
 md5=f00fd1b5a80f52baf9d1d83acddfa325
 sha256=1fa39c202efe168bfeb0ddd74c8e4814f77da7dc78993e47826bad9173b95808
 
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-add-ioprio.patch.bz2]
+md5=9af26454c10261c099865fa8008e898f
+sha256=af680b4c40128e1e63bb7bff7a67ff813bc4741a0c8a95ddfb13ed9b9ed4782b
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-brcm-5.1.patch.bz2]
+md5=dd3c40f0f02153efa817808a0a2f687e
+sha256=c609eb3c63de0cd63f54607e744f04f267f069ba5eeabff294c769e857bcf3bb
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2]
+md5=c395c813ec87b603169f56d9b9dc84d8
+sha256=8b8172b65e9032935f49f38984a76aea4eb4dba4a3c5c7bb441172cc9d4a1331
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2]
+md5=7b3a8555190f7e6370459b058f4a3bb6
+sha256=17d706ec6f16ecaa135bb6bb81ad14f9757f2835099a19f74ab676f23026b217
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2]
+md5=d93c88a6ef7ca15eb46d9767563eaae4
+sha256=b79086627a13f84c2a38eeb8039045d4577fb2c851faff7f8509acbf6b835773
+
 [http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.12-rc2.tar.bz2]
 md5=b8b75ddeca0f48221f085703f2f72692
 sha256=2e36150665e7268d5dd03b70621a0e80c4f7abb04584694dba540774030f6a54
@@ -9966,6 +10050,14 @@ sha256=2e36150665e7268d5dd03b70621a0e80c4f7abb04584694dba540774030f6a54
 md5=0f9afd619a10872b3383362d55c892c3
 sha256=4cc5ca6e2ea8583f026620169e5d6eceb6c620181ba0633efbeb74cdb8c2fc59
 
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2]
+md5=8f39722809d9e10698d691372ac69dab
+sha256=326aba0a5d7c41496a88cc9855e842e49b0d8153c66eeb39d6b15b3afd165a86
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update_dvbapi-r1.patch.bz2]
+md5=0d3899252651474f91aebba1b760acb5
+sha256=8a3047b7c9dfcb84735e9eaed0ea3fc6e028bb3d8ed82756a8ce2b0d3bd18e46
+
 [http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.6.tar.bz2]
 md5=1592bb2a8ec0deb1ff32e8238f25ecc5
 sha256=d8bbdd8064c3564e6ec74fec3332776733e7982e67af66c5311fd1955bf309dd
@@ -10098,6 +10190,10 @@ sha256=01f083599014e22ee2ca4894dbe96dd103b7be9d3796b7e075b040a5c324704d
 md5=1df3e4fbf2670712cecb4953e2d24834
 sha256=8dffedf772a9f75a8cee2a603e1b14e4b7848010dcfa0e6b087afcf4f66da6de
 
+[http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-2.6.12.0.tar.bz2]
+md5=eae2f562afe224ad50f65a6acfb4252c
+sha256=e1c4e5c36787c5c25b9efb60ac0419d4e5b465bc4c7d4de09c9b49b0ed99fd11
+
 [http://ewi546.ewi.utwente.nl/OE/eabi/linux-libc-headers-2.6.15.99.tar.bz2]
 md5=0ab7fdfc84522e16bfe78b8e0cc66bfa
 sha256=c8630034519e525347e0cb8435bdf0edf9fbad2d16392768ba142c06681b2305
@@ -10474,6 +10570,10 @@ sha256=46a30f2cd62c66099d4b87a32fb82751598758c213a1486ec7f44c23a33f5529
 md5=fe1758398de89fce57f05f9c1d1bb923
 sha256=70cfa5eacd27d46a5e6f562b01769c64794d20ce4636cf133def7db7f0715efb
 
+[http://www.angstrom-distribution.org/unstable/sources/madwifi-ng-r3314-20080131.tar.gz]
+md5=2c7352cbbdac995de8c3bce5b80db5f2
+sha256=0599c75b95ba63bdc554cb8124192e62c75fbeb71b9e8a5a7bc351c8e0666758
+
 [http://snapshots.madwifi.org/madwifi-trunk/madwifi-trunk-r3837-20080802.tar.gz]
 md5=d6e04fa7fb0bea5079f24a753633fb29
 sha256=d504e1e7b8f0d01b5441a86d1086aa4088c8896d87d8aabd6dabace76997467a
@@ -11146,6 +11246,10 @@ sha256=db0c299592b8f1f704f41bd3fc3a2bf138658108588d51af61638c551af1b0d4
 md5=d605b6068b6c9aa2bc7550f49c60958c
 sha256=7e5e1768db0201981f90256fa94db3f09f23285ffd60dc60a51a753825084848
 
+[ftp://archive.debian.org/debian-archive/pool/non-free/m/mrouted/mrouted_3.9-beta3.orig.tar.gz]
+md5=96067b571622ac232dab42a5c56dcedc
+sha256=8d38a1feadf9298dd554b352fd6cc247207c930ef0c7df736deb5b44e5c58fb6
+
 [http://downloads.sourceforge.net/materm/mrxvt-0.5.2.tar.gz]
 md5=ed87b7dd9f4fb482de0f14f085085027
 sha256=558491d1f112362780abaf7429d14216e658b7768dd30f82f102ce646d3065cf
@@ -11338,6 +11442,10 @@ sha256=76472e51576b42bfc129e487ae7dd3a5e1f1f380105b422fc14ee408e3a881df
 md5=516c576c0ca5c0a01ad24d018093cfee
 sha256=8a29457052b73ac0139e3b2824a74323256dd7631b1691239ddb18124e231a71
 
+[http://www.webdav.org/neon/neon-0.28.2.tar.gz]
+md5=b99b3f44e8507ae2d17362f1b34aaf02
+sha256=d9cd601613db6affb25655e0908b0bf8c266669cef31999b6b4121d585ff9094
+
 [http://downloads.sourceforge.net/net-snmp/net-snmp-5.1.2.tar.gz]
 md5=8080555ab3f90011f25d5122042d9a8d
 sha256=1fca69e934c3d526e308450cc5af2478d440e012922dd0bb10388fcf093ef32e
@@ -11738,6 +11846,10 @@ sha256=347c551e7c88affc1f4b7a4b715080253c9298dcc512ed29fe8ca5cd26d015d9
 md5=7401faebc6baee9add32608709c54eec
 sha256=063f00d5b889beee910eb113c8cfbb4fc85cd404693494bcaaf79dd09a98335c
 
+[http://sources.dreamboxupdate.com/download/snapshots/openwrt_madwifi_patches_20080829.tar.bz2]
+md5=f5cef7c338bd09d2e6774033e8509c34
+sha256=e48847244e137cdba469f1937fc3dc0c4a399a1b8dc8a1563dac654135d650c8
+
 [http://downloads.sourceforge.net/oprofile/oprofile-0.9.2.tar.gz]
 md5=9af4e1e1aab89131516736bb60e9efba
 sha256=4b3780ee09efe665a69151c994e0e5f01a56c57338660c18df30916904df83a6
@@ -12178,10 +12290,6 @@ sha256=5bad39b0d28f294f10690d15bc1e54ba549324a7ce26db1406f3c3a50cd1d504
 md5=b5f96d823b1183ba0c4e61516e1a23c0
 sha256=45994ebcdd4ed30b37c6fc0569ee69aee4f2ef9ed75857d0a3784ce3bfe92ffc
 
-[http://kernel.org/pub/linux/kernel/v2.6/testing/v2.6.26/patch-2.6.26-rc4.bz2]
-md5=b5f96d823b1183ba0c4e61516e1a23c0
-sha256=45994ebcdd4ed30b37c6fc0569ee69aee4f2ef9ed75857d0a3784ce3bfe92ffc
-
 [http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.27-rc1.bz2]
 md5=948b25bab0082d1db5bd8c9fac824891
 sha256=2b35a35a0ab3b82b77bb2996782ef70ec15a13b9331b15bac814b891ae8f4867
@@ -12922,6 +13030,10 @@ sha256=fad4e6ca8e9e2a9e4bcddc96194db69827164f65b8a35cb326d0c8cd3a870238
 md5=d2aa74615aa9cf23413975a68613ffc1
 sha256=12527f130dd695184c44c6197deb619c26c9b5b31ce7699a5dd97e0ad2dd7bd1
 
+[http://downloads.sourceforge.net/pyopenssl/pyOpenSSL-0.6.tar.gz]
+md5=af67fda6d2125cae9c56ee50430a40c7
+sha256=58ee9dd10fbd97d65347626f60a38aafdcb05d19ad90c883c4284266ba7ec959
+
 [http://www.andrewchatham.com/pyogg/download/pyao-0.82.tar.gz]
 md5=8e00f5154401a6f6d99efd20606e2819
 sha256=9a444518252f6d747e76a219e5efbc05b4e1742260a7419da9ddf93a519b30c5
@@ -12954,6 +13066,10 @@ sha256=2a9fbef7d953e1fc1eec837a4087cd518e465226b060b5cb3ea67bcef1760269
 md5=cdcebdfd63e74754f57b9e9b0db4ea20
 sha256=a6d7db68c87699e283a1f58b637a7e730c350899fd7b35b88e63caa0e85a9ab9
 
+[http://www.amk.ca/files/python/crypto/pycrypto-2.0.1.tar.gz]
+md5=4d5674f3898a573691ffb335e8d749cd
+sha256=b08d4ed54c9403c77778a3803e53a4f33f359b42d94f6f3e14abb1bf4941e6ea
+
 [http://pycurl.sourceforge.net/download/pycurl-7.14.0.tar.gz]
 md5=6f73d518fb520af14634a06ee1b7ddce
 sha256=a60e08b01fc3355ec18ec0e447349b6f8bff3f9628eb42891cff1eb51b9618b1
@@ -13918,6 +14034,10 @@ sha256=114f8be9b73d75811cac866650a64cdbc88348353d281dda3b6aff4c1e109337
 md5=6465dc6545970352dfa6305c36c2403d
 sha256=097882b4613c87303dd068c41c95e77675da790cab63c7b440e70643d1741035
 
+[http://sources.dreamboxupdate.com/download/7020/secondstage-dm8000-65.bin]
+md5=18f6363a45a2fd708e1e91cc1bcad25b
+sha256=c47212f4a24a16e2fbb90bc6c8e16c0cb9489b68be83542f2df8f26dcb62528c
+
 [ftp://ftp.gnu.org/gnu/sed/sed-4.0.8.tar.gz]
 md5=fb7fa2a7336afc358012763b292e2124
 sha256=a02d8c006bc0531bd646cae3082b7db8c7a1969084411cb129ec105fd12c0a13
@@ -15078,6 +15198,10 @@ sha256=d91b4addcbb241b04b6cf795447163ed890a436b10205d2cd9cc1885ea3d9433
 md5=ee74158c6c55ae16327595c70369ef83
 sha256=ef5e9bf276b65bb831f9c2554cd8784bd5b4ee65353808f82b7e2aef851587ec
 
+[http://dreamboxupdate.com/download/opendreambox/tuxbox-common-r8.tar.gz]
+md5=032d3f766e803555d9e3ca5aaba34858
+sha256=e1d06c75136152c78f07cb37b81e624270c95a457fbc86b2608bcc1b3cbd108b
+
 [http://heanet.dl.sourceforge.net/sourceforge/tuxnes/tuxnes-0.75.tar.gz]
 md5=5db0cd42dfdff3e681805e93b4867c43
 sha256=217fc57fdd2a5ec360c197ea36110ec929d3f27c88cf875f0f4723b3496ed7c2
@@ -15710,6 +15834,10 @@ sha256=acd218148d7f92ee7bd0539d6aabd0b42cca8ae4ffe241bfa8760d30605b28c9
 md5=67a48fd9b69db8818a4dca5375c7993a
 sha256=cb4909d8753dff7f6ac90a62a61ed1ae68e49ead2dbc60c22673c55bb0e14a36
 
+[http://sources.dreamboxupdate.com/download/7020/wdog-dm8000]
+md5=dc7c1a43733033e0bebfe57cf06a4562
+sha256=82d626e85a0b63d715b79a79e6ebacc25dd3b739320dbcdafd79cbb7ed0cc351
+
 [http://downloads.sourceforge.net/webcamserver/webcam_server-0.50.tar.gz]
 md5=96830836f64edbb12c248eb84e6b0d18
 sha256=b8e200ae66c20897c9aaa80b0044e638a0016d3bdb6e67560fd61f1ef162f305
@@ -17886,6 +18014,14 @@ sha256=81a5c8b74f100d7444356895f745321de53398f70e83b69f8284b0bf63c99ad0
 md5=ae1f9198544d1585f44dab7bab110ae3
 sha256=28e73da5403faad322022e8fb327f99677841d26396a1a1f1e854c768b47cf7c
 
+[http://sources.dreamboxupdate.com/zoneinfo.tar.bz2]
+md5=ac244d186fd829699c781b9ee8f40f22
+sha256=51d8b034902ea2a54c7b0bc4482af8c9460bb76f6b9fd41baa7254b388690f8e
+
+[http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz]
+md5=93668855e37b4691c5c956665c33392c
+sha256=c049ef6f0748a2db26c7d01de1566e52f048e5fa6fbbb8da90c43e55597a5075
+
 [http://downloads.sourceforge.net/zrally/zrally_0.90_src.tar.gz]
 md5=7084c0d2b28108563ca45e5ec1533ba1
 sha256=c4fb0477fdc110b63d867ae2a46cca7913fa6a0ca8bf574c7189329bea91dcdf
diff --git a/conf/distro/opendreambox.conf b/conf/distro/opendreambox.conf
new file mode 100644 (file)
index 0000000..be17884
--- /dev/null
@@ -0,0 +1,70 @@
+#@TYPE: Distribution
+#@NAME: OpenDreambox
+#@DESCRIPTION: Distribution configuration for OpenDreambox
+
+INHERIT += "package_ipk debian"
+
+INHERIT += "packaged-staging"
+
+require conf/distro/include/sane-srcdates.inc
+require conf/distro/include/sane-srcrevs.inc
+
+SYSVINIT_ENABLED_GETTYS = ""
+DISTRO = "opendreambox"
+DISTRO_NAME = "OpenDreambox"
+DISTRO_VERSION = "1.6.0"
+DISTRO_PR = ""
+
+# for task-boot:
+DISTRO_LOGIN_MANAGER = ""
+DISTRO_DEV_MANAGER = ""
+DISTRO_INITSCRIPTS = "initscripts-opendreambox"
+
+# for dreambox-feed-configs:
+DISTRO_FEED_URI = "http://sources.dreamboxupdate.com/${DISTRO}/1.6/experimental"
+
+SRCDATE = 20070625
+
+PREFERRED_VERSION_swig-native = "1.3.31"
+#PREFERRED_VERSION_ipkg = "0.99.154"
+#PREFERRED_VERSION_busybox = "1.01"
+
+# we need libsigc++-1.2 1.2.5
+PREFERRED_VERSION_libsigc++-1.2 = "1.2.5"
+
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}binutils:binutils-cross"
+
+PREFERRED_VERSION_gcc-cross-initial = "3.4.5"
+PREFERRED_VERSION_gcc-cross = "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate = "4.1.1"
+PREFERRED_VERSION_gcc-cross-sdk = "4.1.1" 
+PREFERRED_VERSION_gcc = "4.1.1"
+PREFERRED_VERSION_binutils-cross = "2.18.50.0.7"
+PREFERRED_VERSION_binutils-cross-sdk = "2.18.50.0.7"
+PREFERRED_VERSION_binutils = "2.18.50.0.7"
+#PREFERRED_VERSION_linux-libc-headers = "2.6.12.0"
+PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
+
+PREFERRED_VERSION_automake = "1.10"
+PREFERRED_VERSION_automake-native = "1.10"
+
+PREFERRED_PROVIDER_opkg = "opkg-nogpg"
+
+# eglibc:
+PREFERRED_PROVIDER_virtual/libiconv = "eglibc"
+PREFERRED_PROVIDER_virtual/libintl = "eglibc"
+PREFERRED_PROVIDER_virtual/libc = "eglibc"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "eglibc-initial"
+
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc               = "eglibc"
+PREFERRED_PROVIDER_virtual/powerpc${TARGET_VENDOR}-linux-libc-for-gcc        = "eglibc"
+PREFERRED_PROVIDER_virtual/mipsel${TARGET_VENDOR}-linux-libc-for-gcc         = "eglibc"
+
+GLIBC_EXTRA_OECONF = "--disable-profile --with-tls --without-fp --with-__thread"
+
+IMAGE_FSTYPES ?= "jffs2"
diff --git a/conf/machine/dm500plus.conf b/conf/machine/dm500plus.conf
new file mode 100644 (file)
index 0000000..4998b03
--- /dev/null
@@ -0,0 +1,5 @@
+#@TYPE: Machine
+#@NAME: Dreambox DM 500+
+#@DESCRIPTION: Machine configuration for the Dreambox DM 500+
+
+require conf/machine/include/dreambox-powerpc.inc
diff --git a/conf/machine/dm600pvr.conf b/conf/machine/dm600pvr.conf
new file mode 100644 (file)
index 0000000..809af91
--- /dev/null
@@ -0,0 +1,5 @@
+#@TYPE: Machine
+#@NAME: Dreambox DM 600 PVR
+#@DESCRIPTION: Machine configuration for the Dreambox DM 600 PVR
+
+require conf/machine/include/dreambox-powerpc.inc
diff --git a/conf/machine/dm7020.conf b/conf/machine/dm7020.conf
new file mode 100644 (file)
index 0000000..c3d17eb
--- /dev/null
@@ -0,0 +1,5 @@
+#@TYPE: Machine
+#@NAME: Dreambox DM 7020
+#@DESCRIPTION: Machine configuration for the Dreambox DM 7020
+
+require conf/machine/include/dreambox-powerpc.inc
diff --git a/conf/machine/dm7025.conf b/conf/machine/dm7025.conf
new file mode 100644 (file)
index 0000000..c448505
--- /dev/null
@@ -0,0 +1,94 @@
+#@TYPE: Machine
+#@NAME: Dreambox DM 7025
+#@DESCRIPTION: Machine configuration for the Dreambox DM 7025
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
+       dreambox-boottool \
+       gst-plugin-dvbmediasink \
+       gst-plugin-fluendo-mpegdemux \
+       kernel-module-autofs4 \
+       kernel-module-cdrom \
+       kernel-module-cifs \
+       kernel-module-exportfs \
+       kernel-module-fat \
+       kernel-module-ide-cd \
+       kernel-module-loop \
+       kernel-module-msdos \
+       kernel-module-reiserfs \
+       kernel-module-sd-mod \
+       kernel-module-sg \
+       kernel-module-sqlzma \
+       kernel-module-squashfs \
+       kernel-module-sr-mod \
+       kernel-module-stv0299 \
+       kernel-module-unlzma \
+       kernel-module-vfat \
+       kernel-module-xfs \
+       unionfs-modules"
+
+PREFERRED_VERSION_glibc = "2.3.5+cvs20051107"
+PREFERRED_VERSION_gcc-cross-initial = "3.4.5"
+PREFERRED_VERSION_gcc-cross = "4.1.1"
+PREFERRED_VERSION_gcc-cross-sdk = "4.1.1"
+PREFERRED_VERSION_gcc = "4.1.1"
+PREFERRED_VERSION_gdb = "6.6.50.20061209"
+PREFERRED_VERSION_gdb-cross = "6.6.50.20061209"
+PREFERRED_VERSION_binutils-cross = "2.16.1"
+PREFERRED_VERSION_binutils-cross-sdk = "2.16.1"
+PREFERRED_VERSION_binutils = "2.16.1"
+
+KERNEL_VERSION = 2.6.12.6
+
+EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -l "
+IMAGE_CMD_jffs2 = "\
+       install -d ${DEPLOY_DIR_IMAGE}/boot_tmp; \
+       for i in bin dev mnt/flash mnt/squashfs mnt/root; \
+       do \
+               install -d ${IMAGE_ROOTFS}/boot/$i; \
+       done; \
+       install -d ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/fs; \
+       install -d ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/drivers/block; \
+       mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/fs/squashfs \
+               ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/fs; \
+       mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/fs/unionfs.ko \
+               ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/fs; \
+       mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/drivers/block/loop.ko \
+               ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/drivers/block; \
+       mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime \
+               --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+               ${EXTRA_IMAGECMD}; \
+       mv ${IMAGE_ROOTFS}/boot/* ${DEPLOY_DIR_IMAGE}/boot_tmp; \
+       \
+       install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta; \
+       cd ${IMAGE_ROOTFS}; \
+       for i in `find -maxdepth 3 -name enigma2 | xargs`; \
+       do \
+               install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/enigma2}; \
+               mv $i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/enigma2}; \
+       done; \
+       for i in `find -type d -name extra | xargs`; \
+       do \
+               install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/extra}; \
+               mv $i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/extra}; \
+       done; \
+       cat ${IMAGE_ROOTFS}/etc/fstab | sed 's/^\/dev\/mtdblock\/2/\/dev\/root/;' > ${IMAGE_ROOTFS}/etc/fstab_neu; \
+       mv -f ${IMAGE_ROOTFS}/etc/fstab_neu ${IMAGE_ROOTFS}/etc/fstab; \
+       mksquashfs ${IMAGE_ROOTFS}/* ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/squashfs \
+               -root-owned -le -noappend; \
+       \
+       mkfs.jffs2 --root=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME} --faketime \
+               --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+               ${EXTRA_IMAGECMD}; \
+       \
+       for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/*; \
+               do cp -R $i ${IMAGE_ROOTFS}; done; \
+       rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}; \
+       rm -rf ${IMAGE_ROOTFS}/boot; \
+       mv ${DEPLOY_DIR_IMAGE}/boot_tmp ${IMAGE_ROOTFS}/boot; \
+       buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+               ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+               ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+               ${MACHINE} \
+               > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+require conf/machine/include/dreambox-mipsel.inc
diff --git a/conf/machine/dm800.conf b/conf/machine/dm800.conf
new file mode 100644 (file)
index 0000000..09a01d4
--- /dev/null
@@ -0,0 +1,39 @@
+#@TYPE: Machine
+#@NAME: Dreambox DM 800 HD PVR
+#@DESCRIPTION: Machine configuration for the Dreambox DM 800 HD PVR
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
+       gst-plugin-dvbmediasink \
+       gst-plugin-fluendo-mpegdemux \
+       kernel-module-autofs4 \
+       kernel-module-cifs \
+       kernel-module-exportfs \
+       kernel-module-fat \
+       kernel-module-isofs \
+       kernel-module-msdos \
+       kernel-module-reiserfs \
+       kernel-module-scsi-mod \
+       kernel-module-sd-mod \
+       kernel-module-sg \
+       kernel-module-sr-mod \
+       kernel-module-stv0299 \
+       kernel-module-usb-storage \
+       kernel-module-usbhid \
+       kernel-module-usbmon \
+       kernel-module-vfat \
+       kernel-module-xfs"
+
+EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -l "
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime -x lzo \
+       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+       ${EXTRA_IMAGECMD}; rm -rf ${IMAGE_ROOTFS}/boot/*; \
+                               mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -x lzo \
+       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+       ${EXTRA_IMAGECMD}; \
+       buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+       ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+       ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+       ${MACHINE} 64 \
+       > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+require conf/machine/dreambox-mipsel.inc
diff --git a/conf/machine/dm8000.conf b/conf/machine/dm8000.conf
new file mode 100644 (file)
index 0000000..06f1eac
--- /dev/null
@@ -0,0 +1,29 @@
+#@TYPE: Machine
+#@NAME: Dreambox DM 8000 HD PVR
+#@DESCRIPTION: Machine configuration for the Dreambox DM 8000 HD PVR
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
+       gst-plugin-dvbmediasink \
+       kernel-module-exportfs \
+       kernel-module-reiserfs \
+       kernel-module-sd-mod \
+       kernel-module-sg \
+       kernel-module-sr-mod \
+       kernel-module-usbhid \
+       kernel-module-usbmon \
+       kernel-module-xfs"
+
+EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x20000 -n -l "
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime -x lzo \
+       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+       ${EXTRA_IMAGECMD}; rm -rf ${IMAGE_ROOTFS}/boot/*; \
+                               mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -x lzo \
+       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+       ${EXTRA_IMAGECMD}; \
+       buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+       ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+       ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+       ${MACHINE} 64 large \
+       > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+require conf/machine/include/dreambox-mipsel.inc
diff --git a/conf/machine/include/dreambox-mipsel.inc b/conf/machine/include/dreambox-mipsel.inc
new file mode 100644 (file)
index 0000000..6a50a7a
--- /dev/null
@@ -0,0 +1,10 @@
+# dreambox-mipsel.inc
+
+MACHINE_FEATURES += "alsa pci wifi"
+
+PREFERRED_VERSION_linux-libc-headers = "2.6.12.0"
+
+TARGET_ARCH = "mipsel"
+TARGET_FPU = "soft"
+
+require conf/machine/include/dreambox.inc
diff --git a/conf/machine/include/dreambox-powerpc.inc b/conf/machine/include/dreambox-powerpc.inc
new file mode 100644 (file)
index 0000000..a167358
--- /dev/null
@@ -0,0 +1,35 @@
+# dreambox-powerpc.inc
+
+PACKAGE_EXTRA_ARCHS = "ppc405"
+
+PREFERRED_VERSION_glibc = "2.3.5+cvs20050627"
+PREFERRED_VERSION_glibc-initial = "2.3.2+cvs20040726"
+PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
+PREFERRED_VERSION_gcc-cross = "3.4.4"
+PREFERRED_VERSION_gcc-cross-sdk = "3.4.4"
+PREFERRED_VERSION_gcc = "3.4.4"
+PREFERRED_VERSION_gdb = "6.5"
+PREFERRED_VERSION_gdb-cross = "6.5"
+PREFERRED_VERSION_binutils-cross = "2.15.94.0.1"
+PREFERRED_VERSION_binutils-cross-sdk = "2.15.94.0.1"
+PREFERRED_VERSION_binutils = "2.15.94.0.1"
+PREFERRED_VERSION_busybox = "1.01"
+
+TARGET_ARCH = "powerpc"
+TARGET_CPU = "405"
+
+EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -b "
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime \
+       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+       ${EXTRA_IMAGECMD}; rm -rf ${IMAGE_ROOTFS}/boot/*; \
+                               mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
+       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+       ${EXTRA_IMAGECMD}; \
+       buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+       ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+       ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+       ${MACHINE} \
+       > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+require conf/machine/include/dreambox.inc
+require conf/machine/include/tune-ppc405.inc
diff --git a/conf/machine/include/dreambox.inc b/conf/machine/include/dreambox.inc
new file mode 100644 (file)
index 0000000..1e70093
--- /dev/null
@@ -0,0 +1,14 @@
+# dreambox.inc
+
+EXTRA_IMAGEDEPENDS += "dreambox-secondstage dreambox-buildimage-native"
+
+GLIBC_ADDONS = "ports,nptl,libidn"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "dreambox-dvb-modules"
+MACHINE_FEATURES += "kernel26 keyboard screen usbhost"
+
+OLDEST_KERNEL = "2.6.9"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-${MACHINE}"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+
diff --git a/packages/autofs/autofs-4.1.4/autofs-add-hotplug.patch b/packages/autofs/autofs-4.1.4/autofs-add-hotplug.patch
new file mode 100644 (file)
index 0000000..9b5c9b7
--- /dev/null
@@ -0,0 +1,19 @@
+Index: autofs-4.1.4/samples/Makefile
+===================================================================
+--- autofs-4.1.4.orig/samples/Makefile 2008-05-21 22:59:29.000000000 +0200
++++ autofs-4.1.4/samples/Makefile      2008-05-21 23:00:04.000000000 +0200
+@@ -34,6 +34,8 @@
+       install -c -m 755 auto.net $(INSTALLROOT)/etc
+       -mv -f $(INSTALLROOT)/etc/auto.smb $(INSTALLROOT)/etc/auto.smb.old
+       install -c -m 755 auto.smb    $(INSTALLROOT)/etc
++      -mv -f $(INSTALLROOT)/etc/auto.hotplug $(INSTALLROOT)/etc/auto.hotplug.old
++      install -c -m 755 auto.hotplug    $(INSTALLROOT)/etc
+       install -d -m 755 $(INSTALLROOT)$(initdir)
+       install -c -m 755 rc.autofs   $(INSTALLROOT)$(initdir)/autofs
+       install -d -m 755 $(INSTALLROOT)$(autofslibdir)
+Index: autofs-4.1.4/samples/auto.hotplug
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ autofs-4.1.4/samples/auto.hotplug  2008-05-21 22:59:47.000000000 +0200
+@@ -0,0 +1 @@
++* -fstype=auto,ro :/dev/&
index d9863ad..9f383c8 100644 (file)
@@ -13,7 +13,8 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/daemons/autofs/v4/autofs-${PV}.tar.bz2
           file://install.patch;patch=1 \
           file://auto.net-sort-option-fix.patch;patch=1 \
           file://autofs-additional-distros.patch;patch=1 \
-          file://no-bash.patch;patch=1"
+          file://no-bash.patch;patch=1 \
+          file://autofs-add-hotplug.patch;patch=1"
 
 inherit autotools update-rc.d
 
diff --git a/packages/base-files/base-files/dm500plus/fstab b/packages/base-files/base-files/dm500plus/fstab
new file mode 100644 (file)
index 0000000..7d9d6b9
--- /dev/null
@@ -0,0 +1,7 @@
+rootfs               /                    auto       defaults              1 1
+proc                 /proc                proc       defaults              0 0
+devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
+usbdevfs             /proc/bus/usb        usbfs      defaults              0 0
+/dev/mtdblock/2      /boot                jffs2      ro                    0 0
+tmpfs                /var                 tmpfs      defaults              0 0
+tmpfs                /tmp                 tmpfs      defaults              0 0
diff --git a/packages/base-files/base-files/dm600pvr/fstab b/packages/base-files/base-files/dm600pvr/fstab
new file mode 100644 (file)
index 0000000..94fffe3
--- /dev/null
@@ -0,0 +1,8 @@
+rootfs               /                    auto       defaults              1 1
+proc                 /proc                proc       defaults              0 0
+devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
+usbdevfs             /proc/bus/usb        usbfs      defaults              0 0
+/dev/mtdblock/2      /boot                jffs2      ro                    0 0
+tmpfs                /var                 tmpfs      defaults              0 0
+tmpfs                /tmp                 tmpfs      defaults              0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults              0 0
diff --git a/packages/base-files/base-files/dm7020/fstab b/packages/base-files/base-files/dm7020/fstab
new file mode 100644 (file)
index 0000000..de3f4bc
--- /dev/null
@@ -0,0 +1,9 @@
+rootfs               /                    auto       defaults              1 1
+proc                 /proc                proc       defaults              0 0
+devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
+usbdevfs             /proc/bus/usb        usbfs      defaults              0 0
+/dev/mtdblock/2      /boot                jffs2      ro                    0 0
+tmpfs                /var                 tmpfs      defaults              0 0
+tmpfs                /tmp                 tmpfs      defaults              0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults              0 0
+/dev/ide/host1/bus0/target0/lun0/part1 /media/cf auto  defaults              0 0
diff --git a/packages/base-files/base-files/dm7025/devices b/packages/base-files/base-files/dm7025/devices
new file mode 100644 (file)
index 0000000..2ccd36e
--- /dev/null
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# Devfs handling script.  Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -x /bin/pidof -a "`pidof udevd`" != ""; then
+       exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+       if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+       ln -s /dev/touchscreen/0 /dev/ts
+       ln -s /dev/touchscreen/0raw /dev/tsraw
+       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/fb/0 /dev/fb0
+#      ln -s /dev/tts/0 /dev/ttySA0
+#      ln -s /dev/tts/1 /dev/ttySA1
+#      ln -s /dev/tts/2 /dev/ttySA2
+
+       ln -s /dev/sound/dsp /dev/dsp
+       ln -s /dev/sound/mixer /dev/mixer
+
+       ## need this so that ppp will autoload the ppp modules
+#      mknod /dev/ppp c 108 0
+       if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+       if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+       mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+       if test $? -ne 0; then
+               if test "$VERBOSE" != "no"; then echo "failed"; fi
+       else
+               if test "$VERBOSE" != "no"; then echo "done"; fi
+       fi
+       if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+       cd /
+       mkdir -p dev/input
+       mkdir -p dev/msys
+       mkdir -p dev/pts
+       mkdir -p dev/vc
+       for i in 0 1 2 3 4 5 6 7 8 9; do
+               ln -s /dev/tty$i /dev/vc/$i
+       done
+       ln -sf /proc/self/fd /dev/fd
+       ln -sf /proc/kcore /dev/core
+       /sbin/makedevs -r / -D /etc/device_table
+       if test $? -ne 0; then
+               if test "$VERBOSE" != "no"; then echo "failed"; fi
+       else
+               if test "$VERBOSE" != "no"; then echo "done"; fi
+       fi
+fi
+
+exit 0
diff --git a/packages/base-files/base-files/dm7025/fstab b/packages/base-files/base-files/dm7025/fstab
new file mode 100644 (file)
index 0000000..de3f4bc
--- /dev/null
@@ -0,0 +1,9 @@
+rootfs               /                    auto       defaults              1 1
+proc                 /proc                proc       defaults              0 0
+devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
+usbdevfs             /proc/bus/usb        usbfs      defaults              0 0
+/dev/mtdblock/2      /boot                jffs2      ro                    0 0
+tmpfs                /var                 tmpfs      defaults              0 0
+tmpfs                /tmp                 tmpfs      defaults              0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults              0 0
+/dev/ide/host1/bus0/target0/lun0/part1 /media/cf auto  defaults              0 0
diff --git a/packages/base-files/base-files/dm800/fstab b/packages/base-files/base-files/dm800/fstab
new file mode 100644 (file)
index 0000000..94fffe3
--- /dev/null
@@ -0,0 +1,8 @@
+rootfs               /                    auto       defaults              1 1
+proc                 /proc                proc       defaults              0 0
+devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
+usbdevfs             /proc/bus/usb        usbfs      defaults              0 0
+/dev/mtdblock/2      /boot                jffs2      ro                    0 0
+tmpfs                /var                 tmpfs      defaults              0 0
+tmpfs                /tmp                 tmpfs      defaults              0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults              0 0
diff --git a/packages/base-files/base-files/dm8000/fstab b/packages/base-files/base-files/dm8000/fstab
new file mode 100644 (file)
index 0000000..ad71691
--- /dev/null
@@ -0,0 +1,9 @@
+rootfs               /                    auto       defaults              1 1
+proc                 /proc                proc       defaults              0 0
+devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
+usbdevfs             /proc/bus/usb        usbdevfs   defaults              0 0
+/dev/mtdblock/2      /boot                jffs2      ro                    0 0
+tmpfs                /var                 tmpfs      defaults              0 0
+tmpfs                /tmp                 tmpfs      defaults             0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults            0 0
+/dev/ide/host0/bus1/target0/lun0/part1 /media/hdd auto defaults                   0 0
diff --git a/packages/base-files/base-files/opendreambox/profile b/packages/base-files/base-files/opendreambox/profile
new file mode 100644 (file)
index 0000000..2046847
--- /dev/null
@@ -0,0 +1,26 @@
+# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
+# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
+
+PATH="/usr/local/bin:/usr/bin:/bin"
+EDITOR="/bin/vi"       # needed for packages like cron
+TERM="xterm"           # Basic terminal capab. For screen etc.
+
+if [ "`id -u`" -eq 0 ]; then
+   PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
+fi
+if [ "$PS1" ]; then
+# works for bash and ash (no other shells known to be in use here)
+   PS1='\u@\h:\w\$ '
+fi
+
+if [ -d /etc/profile.d ]; then
+  for i in `ls /etc/profile.d/`; do
+    . /etc/profile.d/$i
+  done
+  unset i
+fi
+
+export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM
+
+umask 022
+
index a310a25..f518de4 100644 (file)
@@ -145,6 +145,14 @@ do_install_append_netbook-pro () {
        mkdir -p ${D}/initrd
 }
 
+do_install_append_opendreambox() {
+       > ${D}/${sysconfdir}/resolv.conf
+       rm -rf ${D}/mnt
+       rm -rf ${D}/hdd
+       ln -sf media/hdd ${D}/hdd
+       ln -sf media ${D}/mnt
+}
+
 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}"
 FILES_${PN} = "/*"
 FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
diff --git a/packages/busybox/busybox-1.11.3/opendreambox/defconfig b/packages/busybox/busybox-1.11.3/opendreambox/defconfig
new file mode 100644 (file)
index 0000000..f45ff17
--- /dev/null
@@ -0,0 +1,851 @@
+#
+# Automatically generated make config: don't edit
+# Busybox version: 1.11.1
+# Thu Sep 25 23:43:31 2008
+#
+CONFIG_HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_DESKTOP is not set
+# CONFIG_FEATURE_ASSUME_UNICODE is not set
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+CONFIG_FEATURE_VERBOSE_USAGE=y
+CONFIG_FEATURE_COMPRESS_USAGE=y
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_GETOPT_LONG=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_PIDFILE is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_PREFER_APPLETS is not set
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+CONFIG_FEATURE_SYSLOG=y
+# CONFIG_FEATURE_HAVE_RPC is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_PIE is not set
+# CONFIG_NOMMU is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_INDIVIDUAL is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+CONFIG_CROSS_COMPILER_PREFIX=""
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_WERROR is not set
+CONFIG_NO_DEBUG_LIB=y
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+CONFIG_INCLUDE_SUSv2=y
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
+# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
+# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
+CONFIG_PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_PASSWORD_MINLEN=6
+CONFIG_MD5_SIZE_VS_SPEED=2
+# CONFIG_FEATURE_FAST_TOP is not set
+# CONFIG_FEATURE_ETC_NETWORKS is not set
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_MAX_LEN=1024
+CONFIG_FEATURE_EDITING_VI=y
+CONFIG_FEATURE_EDITING_HISTORY=63
+CONFIG_FEATURE_EDITING_SAVEHISTORY=y
+CONFIG_FEATURE_TAB_COMPLETION=y
+# CONFIG_FEATURE_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
+CONFIG_FEATURE_COPYBUF_KB=64
+CONFIG_MONOTONIC_SYSCALL=y
+CONFIG_IOCTL_HEX2STR_ERROR=y
+# CONFIG_FEATURE_HWIB is not set
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_BZIP2=y
+CONFIG_CPIO=y
+# CONFIG_FEATURE_CPIO_O is not set
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+# CONFIG_FEATURE_RPM_BZ2 is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_GZIP=y
+CONFIG_FEATURE_TAR_BZIP2=y
+# CONFIG_FEATURE_TAR_LZMA is not set
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_AUTODETECT is not set
+CONFIG_FEATURE_TAR_FROM=y
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
+# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_DEB_TAR_GZ is not set
+# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
+# CONFIG_FEATURE_DEB_TAR_LZMA is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CATV=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CKSUM is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_FEATURE_DATE_ISOFMT=y
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+CONFIG_FEATURE_DD_IBS_OBS=y
+CONFIG_DF=y
+# CONFIG_FEATURE_DF_INODE is not set
+CONFIG_DIRNAME=y
+CONFIG_DOS2UNIX=y
+CONFIG_UNIX2DOS=y
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
+# CONFIG_EXPAND is not set
+# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
+CONFIG_EXPR=y
+# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
+CONFIG_NICE=y
+CONFIG_NOHUP=y
+CONFIG_OD=y
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_READLINK=y
+# CONFIG_FEATURE_READLINK_FOLLOW is not set
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
+CONFIG_SEQ=y
+CONFIG_SHA1SUM=y
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_SPLIT is not set
+# CONFIG_FEATURE_SPLIT_FANCY is not set
+# CONFIG_STAT is not set
+# CONFIG_FEATURE_STAT_FORMAT is not set
+CONFIG_STTY=y
+# CONFIG_SUM is not set
+CONFIG_SYNC=y
+# CONFIG_TAC is not set
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+# CONFIG_FEATURE_TR_CLASSES is not set
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+# CONFIG_UNEXPAND is not set
+# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+CONFIG_UUDECODE=y
+CONFIG_UUENCODE=y
+CONFIG_WC=y
+# CONFIG_FEATURE_WC_LARGE is not set
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+# CONFIG_KBD_MODE is not set
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_RESIZE is not set
+# CONFIG_FEATURE_RESIZE_PRINT is not set
+# CONFIG_SETCONSOLE is not set
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_RUN_PARTS=y
+# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
+# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
+CONFIG_START_STOP_DAEMON=y
+# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_CMP is not set
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_BINARY=y
+CONFIG_FEATURE_DIFF_DIR=y
+# CONFIG_FEATURE_DIFF_MINIMAL is not set
+# CONFIG_ED is not set
+CONFIG_PATCH=y
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_MAX_LEN=4096
+CONFIG_FEATURE_VI_8BIT=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+CONFIG_FEATURE_ALLOW_EXEC=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_MAXDEPTH=y
+CONFIG_FEATURE_FIND_NEWER=y
+CONFIG_FEATURE_FIND_INUM=y
+CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_FEATURE_FIND_USER=y
+CONFIG_FEATURE_FIND_GROUP=y
+CONFIG_FEATURE_FIND_NOT=y
+CONFIG_FEATURE_FIND_DEPTH=y
+CONFIG_FEATURE_FIND_PAREN=y
+CONFIG_FEATURE_FIND_SIZE=y
+CONFIG_FEATURE_FIND_PRUNE=y
+# CONFIG_FEATURE_FIND_DELETE is not set
+CONFIG_FEATURE_FIND_PATH=y
+CONFIG_FEATURE_FIND_REGEX=y
+# CONFIG_FEATURE_FIND_CONTEXT is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
+CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
+CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_DEBUG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_KILL_REMOVED is not set
+CONFIG_FEATURE_KILL_DELAY=0
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_INIT_SYSLOG is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_HALT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+CONFIG_FEATURE_SHADOWPASSWDS=y
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_USE_BB_SHADOW is not set
+CONFIG_USE_BB_CRYPT=y
+CONFIG_ADDGROUP=y
+CONFIG_FEATURE_ADDUSER_TO_GROUP=y
+CONFIG_DELGROUP=y
+CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
+# CONFIG_FEATURE_CHECK_NAMES is not set
+CONFIG_ADDUSER=y
+CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
+CONFIG_DELUSER=y
+CONFIG_GETTY=y
+CONFIG_FEATURE_UTMP=y
+# CONFIG_FEATURE_WTMP is not set
+CONFIG_LOGIN=y
+# CONFIG_PAM is not set
+# CONFIG_LOGIN_SCRIPTS is not set
+CONFIG_FEATURE_NOLOGIN=y
+CONFIG_FEATURE_SECURETTY=y
+CONFIG_PASSWD=y
+# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
+# CONFIG_CRYPTPW is not set
+# CONFIG_CHPASSWD is not set
+CONFIG_SU=y
+CONFIG_FEATURE_SU_SYSLOG=y
+CONFIG_FEATURE_SU_CHECKS_SHELLS=y
+CONFIG_SULOGIN=y
+CONFIG_VLOCK=y
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_FSCK=y
+CONFIG_LSATTR=y
+
+#
+# Linux Module Utilities
+#
+# CONFIG_DEPMOD is not set
+# CONFIG_FEATURE_DEPMOD_PRUNE_FANCY is not set
+# CONFIG_FEATURE_DEPMOD_ALIAS is not set
+CONFIG_INSMOD=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+CONFIG_MODPROBE=y
+CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
+CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
+# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
+
+#
+# Options common to multiple modutils
+#
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_2_4_MODULES is not set
+CONFIG_FEATURE_2_6_MODULES=y
+CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
+CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
+# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FEATURE_DMESG_PRETTY=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+# CONFIG_FDISK is not set
+CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
+# CONFIG_FEATURE_FDISK_WRITABLE is not set
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FINDFS is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_FEATURE_MINIX2 is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_FEATURE_HEXDUMP_REVERSE=y
+# CONFIG_HD is not set
+# CONFIG_HWCLOCK is not set
+# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
+# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_RENAME is not set
+# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
+CONFIG_MKSWAP=y
+# CONFIG_FEATURE_MKSWAP_V0 is not set
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+# CONFIG_VOLUMEID is not set
+# CONFIG_FEATURE_VOLUMEID_EXT is not set
+# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
+# CONFIG_FEATURE_VOLUMEID_FAT is not set
+# CONFIG_FEATURE_VOLUMEID_HFS is not set
+# CONFIG_FEATURE_VOLUMEID_JFS is not set
+# CONFIG_FEATURE_VOLUMEID_XFS is not set
+# CONFIG_FEATURE_VOLUMEID_NTFS is not set
+# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
+# CONFIG_FEATURE_VOLUMEID_UDF is not set
+# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
+# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
+# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
+# CONFIG_FEATURE_VOLUMEID_SYSV is not set
+# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
+CONFIG_MOUNT=y
+# CONFIG_FEATURE_MOUNT_FAKE is not set
+# CONFIG_FEATURE_MOUNT_VERBOSE is not set
+# CONFIG_FEATURE_MOUNT_HELPERS is not set
+# CONFIG_FEATURE_MOUNT_LABEL is not set
+# CONFIG_FEATURE_MOUNT_NFS is not set
+# CONFIG_FEATURE_MOUNT_CIFS is not set
+CONFIG_FEATURE_MOUNT_FLAGS=y
+CONFIG_FEATURE_MOUNT_FSTAB=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_READPROFILE=y
+# CONFIG_RTCWAKE is not set
+# CONFIG_SCRIPT is not set
+# CONFIG_SETARCH is not set
+CONFIG_SWAPONOFF=y
+# CONFIG_FEATURE_SWAPON_PRI is not set
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_UMOUNT_ALL=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_CHAT is not set
+# CONFIG_FEATURE_CHAT_NOFAIL is not set
+# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
+# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
+# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
+# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
+# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
+# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
+# CONFIG_CHRT is not set
+CONFIG_CROND=y
+# CONFIG_DEBUG_CROND_OPTION is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_CRONTAB=y
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+CONFIG_FEATURE_DEVFS=y
+CONFIG_EJECT=y
+CONFIG_FEATURE_EJECT_SCSI=y
+# CONFIG_FBSPLASH is not set
+# CONFIG_INOTIFYD is not set
+# CONFIG_LAST is not set
+# CONFIG_FEATURE_LAST_SMALL is not set
+# CONFIG_FEATURE_LAST_FANCY is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+CONFIG_FEATURE_LESS_FLAGCS=y
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+CONFIG_HDPARM=y
+CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
+CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
+CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MAN is not set
+CONFIG_MICROCOM=y
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RAIDAUTORUN is not set
+# CONFIG_READAHEAD is not set
+# CONFIG_RUNLEVEL is not set
+CONFIG_RX=y
+# CONFIG_SETSID is not set
+CONFIG_STRINGS=y
+# CONFIG_TASKSET is not set
+# CONFIG_FEATURE_TASKSET_FANCY is not set
+CONFIG_TIME=y
+# CONFIG_TTYSIZE is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+# CONFIG_FEATURE_IPV6 is not set
+# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
+# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+CONFIG_ARP=y
+CONFIG_ARPING=y
+CONFIG_BRCTL=y
+# CONFIG_FEATURE_BRCTL_FANCY is not set
+# CONFIG_FEATURE_BRCTL_SHOW is not set
+# CONFIG_DNSD is not set
+CONFIG_ETHER_WAKE=y
+# CONFIG_FAKEIDENTD is not set
+CONFIG_FTPGET=y
+CONFIG_FTPPUT=y
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_RANGES is not set
+# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
+# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
+# CONFIG_FEATURE_HTTPD_PROXY is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+# CONFIG_IFENSLAVE is not set
+CONFIG_IFUPDOWN=y
+CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
+CONFIG_FEATURE_IFUPDOWN_IP=y
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_FEATURE_IP_RULE is not set
+# CONFIG_FEATURE_IP_SHORT_FORMS is not set
+# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_IPRULE is not set
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_NAMEIF is not set
+# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
+CONFIG_NC=y
+CONFIG_NC_SERVER=y
+CONFIG_NC_EXTRA=y
+CONFIG_NETSTAT=y
+# CONFIG_FEATURE_NETSTAT_WIDE is not set
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+# CONFIG_PING6 is not set
+CONFIG_FEATURE_FANCY_PING=y
+# CONFIG_PSCAN is not set
+CONFIG_ROUTE=y
+# CONFIG_SENDMAIL is not set
+# CONFIG_FETCHMAIL is not set
+# CONFIG_SLATTACH is not set
+CONFIG_TELNET=y
+CONFIG_FEATURE_TELNET_TTYPE=y
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+CONFIG_TELNETD=y
+# CONFIG_FEATURE_TELNETD_STANDALONE is not set
+# CONFIG_TFTP is not set
+# CONFIG_TFTPD is not set
+# CONFIG_FEATURE_TFTP_GET is not set
+# CONFIG_FEATURE_TFTP_PUT is not set
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_DEBUG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+# CONFIG_APP_UDHCPD is not set
+# CONFIG_APP_DHCPRELAY is not set
+# CONFIG_APP_DUMPLEASES is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
+CONFIG_DHCPD_LEASES_FILE=""
+CONFIG_APP_UDHCPC=y
+CONFIG_FEATURE_UDHCPC_ARPING=y
+# CONFIG_FEATURE_UDHCP_PORT is not set
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+# CONFIG_FEATURE_RFC3397 is not set
+CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+CONFIG_ZCIP=y
+# CONFIG_TCPSVD is not set
+# CONFIG_UDPSVD is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_KILLALL5 is not set
+# CONFIG_NMETER is not set
+# CONFIG_PGREP is not set
+CONFIG_PIDOF=y
+# CONFIG_FEATURE_PIDOF_SINGLE is not set
+# CONFIG_FEATURE_PIDOF_OMIT is not set
+# CONFIG_PKILL is not set
+CONFIG_PS=y
+# CONFIG_FEATURE_PS_WIDE is not set
+# CONFIG_FEATURE_PS_TIME is not set
+# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
+# CONFIG_FEATURE_TOP_DECIMALS is not set
+# CONFIG_FEATURE_TOPMEM is not set
+CONFIG_UPTIME=y
+CONFIG_WATCH=y
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_BASH_COMPAT=y
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_READ_NCHARS=y
+CONFIG_ASH_READ_TIMEOUT=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+CONFIG_ASH_BUILTIN_ECHO=y
+CONFIG_ASH_BUILTIN_PRINTF=y
+CONFIG_ASH_BUILTIN_TEST=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+CONFIG_ASH_EXPAND_PRMT=y
+# CONFIG_HUSH is not set
+# CONFIG_HUSH_HELP is not set
+# CONFIG_HUSH_INTERACTIVE is not set
+# CONFIG_HUSH_JOB is not set
+# CONFIG_HUSH_TICK is not set
+# CONFIG_HUSH_IF is not set
+# CONFIG_HUSH_LOOPS is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE is not set
+# CONFIG_FEATURE_SH_NOFORK is not set
+# CONFIG_CTTYHACK is not set
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+# CONFIG_FEATURE_SYSLOGD_DUP is not set
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Runit Utilities
+#
+# CONFIG_RUNSV is not set
+# CONFIG_RUNSVDIR is not set
+# CONFIG_SV is not set
+# CONFIG_SVLOGD is not set
+# CONFIG_CHPST is not set
+# CONFIG_SETUIDGID is not set
+# CONFIG_ENVUIDGID is not set
+# CONFIG_ENVDIR is not set
+# CONFIG_SOFTLIMIT is not set
+# CONFIG_CHCON is not set
+# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETSEBOOL is not set
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_MATCHPATHCON is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_RUNCON is not set
+# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
+# CONFIG_SELINUXENABLED is not set
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFILES is not set
+# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
+# CONFIG_SETSEBOOL is not set
+# CONFIG_SESTATUS is not set
+
+#
+# Print Utilities
+#
+# CONFIG_LPD is not set
+# CONFIG_LPR is not set
+# CONFIG_LPQ is not set
diff --git a/packages/cdrkit/cdrkit_1.1.0.bb b/packages/cdrkit/cdrkit_1.1.0.bb
new file mode 100644 (file)
index 0000000..588a263
--- /dev/null
@@ -0,0 +1,12 @@
+DESCRIPTION = "portable command-line CD/DVD recorder software"
+LICENSE = "GPL"
+SECTION = "optional"
+DEPENDS = "cmake-native libcap"
+
+SRC_URI = "http://cdrkit.org/releases/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+do_install () {
+       oe_runmake 'DESTDIR=${D}' 'PREFIX=/usr' install
+}
diff --git a/packages/cdrkit/cdrkit_1.1.8.bb b/packages/cdrkit/cdrkit_1.1.8.bb
new file mode 100644 (file)
index 0000000..70fba51
--- /dev/null
@@ -0,0 +1,14 @@
+DESCRIPTION = "portable command-line CD/DVD recorder software"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+SECTION = "optional"
+DEPENDS = "cmake-native libcap bzip2"
+
+SRC_URI = "http://cdrkit.org/releases/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+do_install () {
+       oe_runmake 'DESTDIR=${D}' 'PREFIX=/usr' install
+       ln -fs genisoimage ${D}${bindir}/mkisofs
+}
diff --git a/packages/dreambox/dreambox-blindscan-utils.bb b/packages/dreambox/dreambox-blindscan-utils.bb
new file mode 100644 (file)
index 0000000..6cbb968
--- /dev/null
@@ -0,0 +1,20 @@
+DESCRIPTION = "Utilities needed to do transponder blindscan with dreambox dvb receivers"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+PV = "1.0"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/dreambox-blindscan-utils-${MACHINE}-1.0.tar.bz2"
+SRC_URI_dm600pvr = "http://sources.dreamboxupdate.com/download/opendreambox/dreambox-blindscan-utils-${MACHINE}-1.1.tar.bz2"
+PR_dm600pvr = "r1"
+
+S = "${WORKDIR}/blindscan-utils"
+
+do_install() {
+       install -d ${D}/${bindir}/
+       for i in `find ${S} -type f -maxdepth 1`; do 
+               install -m 0755 $i ${D}/${bindir}/;
+       done;
+}
diff --git a/packages/dreambox/dreambox-bootlogo.bb b/packages/dreambox/dreambox-bootlogo.bb
new file mode 100644 (file)
index 0000000..f8fb458
--- /dev/null
@@ -0,0 +1,54 @@
+DESCRIPTION = "Bootlogo support"
+SECTION = "base"
+PRIORITY = "required"
+LICENSE = "proprietary"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+IMAGES_VERSION = "1"
+BINARY_VERSION = "1"
+BINARY_VERSION_dm7025 = "2"
+BINARY_VERSION_dm800 = "2"
+BINARY_VERSION_dm8000 = "2"
+
+PV = "${BINARY_VERSION}.${IMAGES_VERSION}"
+PR = "r2"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/7020/bootlogo-${MACHINE}-${BINARY_VERSION}.elf \
+       http://sources.dreamboxupdate.com/download/7020/bootlogo-${MACHINE}-${IMAGES_VERSION}.mvi \
+       http://sources.dreamboxupdate.com/download/7020/bootlogo_wait-${MACHINE}-${IMAGES_VERSION}.mvi \
+       http://sources.dreamboxupdate.com/download/7020/backdrop-${MACHINE}-${IMAGES_VERSION}.mvi"
+
+SRC_URI_append_dm8000 = " http://sources.dreamboxupdate.com/download/7020/bootlogo-${MACHINE}-${IMAGES_VERSION}.jpg"
+
+SRC_URI_append_dm800 = " http://sources.dreamboxupdate.com/download/7020/bootlogo_${MACHINE}-${IMAGES_VERSION}.jpg \
+       http://sources.dreamboxupdate.com/download/7020/switchoff_${MACHINE}-${IMAGES_VERSION}.mvi"
+
+S = "${WORKDIR}/"
+
+do_install() {
+       install -d ${D}/boot
+       install -m 0755 ${S}/bootlogo-${MACHINE}-${BINARY_VERSION}.elf ${D}/boot/bootlogo.elf
+       install -m 0755 ${S}/bootlogo-${MACHINE}-${IMAGES_VERSION}.mvi ${D}/boot/bootlogo.mvi
+       install -m 0755 ${S}/bootlogo_wait-${MACHINE}-${IMAGES_VERSION}.mvi ${D}/boot/bootlogo_wait.mvi
+       install -m 0755 ${S}/backdrop-${MACHINE}-${IMAGES_VERSION}.mvi ${D}/boot/backdrop.mvi
+}
+
+do_install_append_dm800() {
+       install -m 0755 ${S}/bootlogo-${MACHINE}-${IMAGES_VERSION}.jpg ${D}/boot/bootlogo.jpg
+       install -d ${D}/usr/share/
+       install -m 0755 ${S}/switchoff-${MACHINE}-${IMAGES_VERSION}.mvi ${D}/usr/share/switchoff.mvi
+}
+
+do_install_dm8000() {
+       install -d ${D}/boot
+       install -d ${D}/usr/share/bootlogos
+       install -m 0755 ${S}/bootlogo-dm8000-${BINARY_VERSION}.elf ${D}/boot/bootlogo.elf
+       install -m 0755 ${S}/bootlogo-dm8000-${IMAGES_VERSION}.jpg ${D}/boot/bootlogo.jpg
+       install -m 0755 ${S}/bootlogo-dm8000-${IMAGES_VERSION}.mvi ${D}/usr/share/bootlogos/bootlogo.mvi
+       install -m 0755 ${S}/bootlogo_wait-dm8000-${IMAGES_VERSION}.mvi ${D}/usr/share/bootlogos/bootlogo_wait.mvi
+       install -m 0755 ${S}/backdrop-dm8000-${IMAGES_VERSION}.mvi ${D}/usr/share/bootlogos/backdrop.mvi
+       ln -sf /usr/share/backdrop.mvi ${D}/boot/backdrop.mvi
+}
+
+PACKAGE_ARCH := "${MACHINE_ARCH}"
+FILES_${PN} = "/boot /usr/share"
diff --git a/packages/dreambox/dreambox-boottool.bb b/packages/dreambox/dreambox-boottool.bb
new file mode 100644 (file)
index 0000000..8053e36
--- /dev/null
@@ -0,0 +1,25 @@
+DESCRIPTION = "Squashfs jffs2 unionfs mount tool"
+SECTION = "base"
+PRIORITY = "required"
+LICENSE = "proprietary"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+PV = "1.0"
+PR = "r1"
+DEPENDS = "klibc"
+
+SRC_URI = "file://boottool-${MACHINE}.c"
+
+S = "${WORKDIR}/"
+
+do_install_append() {
+       install -d ${D}/boot/bin
+       install ${S}/boottool ${D}/boot/bin/init
+}
+
+do_compile_append() {
+       ${STAGING_BINDIR}/${TARGET_ARCH}-linux-klcc ${S}/boottool-${MACHINE}.c -o ${S}/boottool
+}
+
+PACKAGE_ARCH := "${MACHINE_ARCH}"
+FILES_${PN} = "/boot/bin/init"
diff --git a/packages/dreambox/dreambox-boottool/boottool-dm7025.c b/packages/dreambox/dreambox-boottool/boottool-dm7025.c
new file mode 100644 (file)
index 0000000..f34c825
--- /dev/null
@@ -0,0 +1,207 @@
+#include <sys/mount.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <linux/loop.h>
+#include <dirent.h>
+#include <errno.h>
+#include <sys/mman.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define PREFIX
+//#define PREFIX "/boot"
+#define SQUASHFS_FILENAME PREFIX"/mnt/flash/squashfs"
+
+#define streq(a,b) (strcmp((a),(b)) == 0)
+
+/* This really needs to be in a header file... */
+extern long init_module(void *, unsigned long, const char *);
+
+/* We use error numbers in a loose translation... */
+static const char *moderror(int err)
+{
+       switch (err) {
+       case ENOEXEC:
+               return "Invalid module format";
+       case ENOENT:
+               return "Unknown symbol in module";
+       case ESRCH:
+               return "Module has wrong symbol version";
+       case EINVAL:
+               return "Invalid parameters";
+       default:
+               return strerror(err);
+       }
+}
+
+static void *grab_file(const char *filename, unsigned long *size)
+{
+       unsigned int max = 16384;
+       int ret, fd;
+       void *buffer = malloc(max);
+
+       if (streq(filename, "-"))
+               fd = dup(STDIN_FILENO);
+       else
+               fd = open(filename, O_RDONLY, 0);
+
+       if (fd < 0)
+               return NULL;
+
+       *size = 0;
+       while ((ret = read(fd, buffer + *size, max - *size)) > 0) {
+               *size += ret;
+               if (*size == max)
+                       buffer = realloc(buffer, max *= 2);
+       }
+       if (ret < 0) {
+               free(buffer);
+               buffer = NULL;
+       }
+       close(fd);
+       return buffer;
+}
+
+
+int insmod(const char *filename)
+{
+       void *file;
+       unsigned long len;
+       long int ret;
+
+
+       file = grab_file(filename, &len);
+       if (!file) {
+               fprintf(stderr, "insmod: can't read '%s': %s\n",
+                       filename, strerror(errno));
+               return 1;
+       }
+
+       ret = init_module(file, len, "");
+       if (ret != 0) {
+               fprintf(stderr, "insmod: error inserting '%s': %li %s\n",
+                       filename, ret, moderror(errno));
+               return 1;
+       }
+       return 0;
+}
+
+int main(int argc, char *argv[], char *envp[])
+{
+       int res, x;
+
+               /* first, load some needed kernel modules located in the root of our boot partition */
+       const char *modules[] = { "fs/squashfs/unlzma.ko", "fs/squashfs/sqlzma.ko", "fs/squashfs/squashfs.ko", "fs/unionfs.ko", "drivers/block/loop.ko", 0 };
+       const char *modules_path = PREFIX"/lib/modules/2.6.12.6/kernel/";
+       char path[255];
+
+       printf("Hello world!\n");
+
+       x=0;
+       while(modules[x]) {
+               strcpy(path, modules_path);
+               strcat(path, modules[x++]);
+               printf("insmodding %s..\n", path);
+               if (insmod(path))
+                       return 1;
+       }
+       
+               /* mount the RW jffs2 partition, which contains the squashfs image (in /squashfs) and the deltas (in /delta) */
+       printf("mounting mtd...\n");
+       res = mount("/dev/mtdblock/3", PREFIX"/mnt/flash", "jffs2", 0, 0);
+
+       if (res)
+       {
+               perror("mounting /flash");
+               return res;
+       }
+       
+               /* loop-mount the squashfs, by first connecting the file to loop0 ... */
+       printf("opening squashfs...\n");
+       int squashfs_fd = open(SQUASHFS_FILENAME, O_RDONLY);
+       if (squashfs_fd < 0)
+       {
+               perror(SQUASHFS_FILENAME);
+               return 1;
+       }
+       
+       printf("setup loop\n");
+       int loop_fd = open("/dev/loop/0", O_RDONLY);
+       
+       if (loop_fd < 0)
+       {
+               perror("/dev/loop/0");
+               return 1;
+       }
+       
+       struct loop_info loopinfo;
+
+       memset(&loopinfo, 0, sizeof(loopinfo));
+       strncpy(loopinfo.lo_name, SQUASHFS_FILENAME, LO_NAME_SIZE);
+       loopinfo.lo_offset = 0;
+       loopinfo.lo_encrypt_key_size = 0;
+       if (ioctl(loop_fd, LOOP_SET_FD, (void*)squashfs_fd) < 0) {
+               perror("LOOP_SET_FD");
+               return 1;
+       }
+       if (ioctl(loop_fd, LOOP_SET_STATUS, &loopinfo) < 0) {
+               perror("LOOP_SET_STATUS");
+               return 1;
+       }
+       close(loop_fd);
+       close(squashfs_fd);
+
+       printf("mounting squashfs..\n");
+
+               /* and then mounting the loop device. */
+       if (mount("/dev/loop/0", PREFIX"/mnt/squashfs", "squashfs", MS_MGC_VAL|MS_RDONLY, "") < 0)
+       {
+               perror("mounting squashfs");
+               return 1;
+       }
+       
+               /* now the situation is:
+               
+                       /                     - our boot jffs2 partition
+                       /flash                - our RW jffs2 partition
+                       /flash/squashfs       - our loop-mounted squashfs file,
+                       /flash/delta          - the delta for the root
+                       /squashfs             - RO root
+                       /root                 - yet empty, but we will populate it using unionfs 
+               */
+       
+       
+       printf("mounting unionfs..\n");
+       res = mount("none", PREFIX"/mnt/root", "unionfs", MS_MGC_VAL, "dirs="PREFIX"/mnt/flash/delta=rw:"PREFIX"/mnt/squashfs=ro");
+       if (res < 0)
+       {
+               perror("mounting unionfs");
+               return 1;
+       }
+
+       printf("pivot_root\n");
+       if ( pivot_root(PREFIX"/mnt/root", PREFIX"/mnt/root/boot") < 0)
+       {
+               perror("pivot_root");
+               return 1;
+       }
+
+       printf("mounting devfs..\n");
+       res = mount("none", "/dev", "devfs", 0, 0);
+       if (res)
+       {
+               perror("mounting /dev");
+               return res;
+       }
+       
+       printf("try umount old devfs..\n");
+       res = umount("/boot/dev");
+       perror("umount /boot/dev");
+
+       printf("call init!\n");
+       execve("/sbin/init", argv, envp);
+       perror("/sbin/init");
+       
+       return 1;
+}
diff --git a/packages/dreambox/dreambox-buildimage-native.bb b/packages/dreambox/dreambox-buildimage-native.bb
new file mode 100644 (file)
index 0000000..2ca39e7
--- /dev/null
@@ -0,0 +1,18 @@
+DESCRIPTION = "create Dreambox NAND boot images"
+SECTION = "console/utils"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+PV = "1.1"
+PR = "r1"
+
+SRC_URI = "file://buildimage.c"
+
+inherit native
+
+do_compile() {
+       cp ${WORKDIR}/buildimage.c .
+       ${CXX} -I. -o buildimage buildimage.c
+}
+
+do_stage() {
+       install -m 0755 buildimage ${STAGING_BINDIR}/
+}
diff --git a/packages/dreambox/dreambox-buildimage-native/buildimage.c b/packages/dreambox/dreambox-buildimage-native/buildimage.c
new file mode 100644 (file)
index 0000000..82c116e
--- /dev/null
@@ -0,0 +1,345 @@
+/*
+ * buildimage - create Dreambox nand boot image.
+ *
+ * contains algorithms ripped from u-boot and first-stage.
+ * Licensed as GPL.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <netinet/in.h>
+
+int eraseblock_size, spare_size, sector_size, largepage;
+
+#define SECTOR_SIZE_WITH_ECC (sector_size+spare_size)
+
+
+/*
+ * Pre-calculated 256-way 1 byte column parity
+ */
+static const unsigned char nand_ecc_precalc_table[] = {
+       0x00, 0x55, 0x56, 0x03, 0x59, 0x0c, 0x0f, 0x5a, 0x5a, 0x0f, 0x0c, 0x59, 0x03, 0x56, 0x55, 0x00,
+       0x65, 0x30, 0x33, 0x66, 0x3c, 0x69, 0x6a, 0x3f, 0x3f, 0x6a, 0x69, 0x3c, 0x66, 0x33, 0x30, 0x65,
+       0x66, 0x33, 0x30, 0x65, 0x3f, 0x6a, 0x69, 0x3c, 0x3c, 0x69, 0x6a, 0x3f, 0x65, 0x30, 0x33, 0x66,
+       0x03, 0x56, 0x55, 0x00, 0x5a, 0x0f, 0x0c, 0x59, 0x59, 0x0c, 0x0f, 0x5a, 0x00, 0x55, 0x56, 0x03,
+       0x69, 0x3c, 0x3f, 0x6a, 0x30, 0x65, 0x66, 0x33, 0x33, 0x66, 0x65, 0x30, 0x6a, 0x3f, 0x3c, 0x69,
+       0x0c, 0x59, 0x5a, 0x0f, 0x55, 0x00, 0x03, 0x56, 0x56, 0x03, 0x00, 0x55, 0x0f, 0x5a, 0x59, 0x0c,
+       0x0f, 0x5a, 0x59, 0x0c, 0x56, 0x03, 0x00, 0x55, 0x55, 0x00, 0x03, 0x56, 0x0c, 0x59, 0x5a, 0x0f,
+       0x6a, 0x3f, 0x3c, 0x69, 0x33, 0x66, 0x65, 0x30, 0x30, 0x65, 0x66, 0x33, 0x69, 0x3c, 0x3f, 0x6a,
+       0x6a, 0x3f, 0x3c, 0x69, 0x33, 0x66, 0x65, 0x30, 0x30, 0x65, 0x66, 0x33, 0x69, 0x3c, 0x3f, 0x6a,
+       0x0f, 0x5a, 0x59, 0x0c, 0x56, 0x03, 0x00, 0x55, 0x55, 0x00, 0x03, 0x56, 0x0c, 0x59, 0x5a, 0x0f,
+       0x0c, 0x59, 0x5a, 0x0f, 0x55, 0x00, 0x03, 0x56, 0x56, 0x03, 0x00, 0x55, 0x0f, 0x5a, 0x59, 0x0c,
+       0x69, 0x3c, 0x3f, 0x6a, 0x30, 0x65, 0x66, 0x33, 0x33, 0x66, 0x65, 0x30, 0x6a, 0x3f, 0x3c, 0x69,
+       0x03, 0x56, 0x55, 0x00, 0x5a, 0x0f, 0x0c, 0x59, 0x59, 0x0c, 0x0f, 0x5a, 0x00, 0x55, 0x56, 0x03,
+       0x66, 0x33, 0x30, 0x65, 0x3f, 0x6a, 0x69, 0x3c, 0x3c, 0x69, 0x6a, 0x3f, 0x65, 0x30, 0x33, 0x66,
+       0x65, 0x30, 0x33, 0x66, 0x3c, 0x69, 0x6a, 0x3f, 0x3f, 0x6a, 0x69, 0x3c, 0x66, 0x33, 0x30, 0x65,
+       0x00, 0x55, 0x56, 0x03, 0x59, 0x0c, 0x0f, 0x5a, 0x5a, 0x0f, 0x0c, 0x59, 0x03, 0x56, 0x55, 0x00
+};
+
+
+/*
+ * Creates non-inverted ECC code from line parity
+ */
+static void nand_trans_result(unsigned char reg2, unsigned char reg3,
+       unsigned char *ecc_code)
+{
+       unsigned char a, b, i, tmp1, tmp2;
+
+       /* Initialize variables */
+       a = b = 0x80;
+       tmp1 = tmp2 = 0;
+
+       /* Calculate first ECC byte */
+       for (i = 0; i < 4; i++) {
+               if (reg3 & a)           /* LP15,13,11,9 --> ecc_code[0] */
+                       tmp1 |= b;
+               b >>= 1;
+               if (reg2 & a)           /* LP14,12,10,8 --> ecc_code[0] */
+                       tmp1 |= b;
+               b >>= 1;
+               a >>= 1;
+       }
+
+       /* Calculate second ECC byte */
+       b = 0x80;
+       for (i = 0; i < 4; i++) {
+               if (reg3 & a)           /* LP7,5,3,1 --> ecc_code[1] */
+                       tmp2 |= b;
+               b >>= 1;
+               if (reg2 & a)           /* LP6,4,2,0 --> ecc_code[1] */
+                       tmp2 |= b;
+               b >>= 1;
+               a >>= 1;
+       }
+
+       /* Store two of the ECC bytes */
+       ecc_code[0] = tmp1;
+       ecc_code[1] = tmp2;
+}
+
+/*
+ * Calculate 3 byte ECC code for 256 byte block
+ */
+static void nand_calculate_ecc (const unsigned char *dat, unsigned char *ecc_code)
+{
+       unsigned char idx, reg1, reg3;
+       int j;
+
+       /* Initialize variables */
+       reg1 = reg3 = 0;
+       ecc_code[0] = ecc_code[1] = ecc_code[2] = 0;
+
+       /* Build up column parity */
+       for(j = 0; j < 256; j++) {
+
+               /* Get CP0 - CP5 from table */
+               idx = nand_ecc_precalc_table[dat[j]];
+               reg1 ^= idx;
+
+               /* All bit XOR = 1 ? */
+               if (idx & 0x40) {
+                       reg3 ^= (unsigned char) j;
+               }
+       }
+
+       /* Create non-inverted ECC code from line parity */
+       nand_trans_result((reg1 & 0x40) ? ~reg3 : reg3, reg3, ecc_code);
+
+       /* Calculate final ECC code */
+       ecc_code[0] = ~ecc_code[0];
+       ecc_code[1] = ~ecc_code[1];
+       ecc_code[2] = ((~reg1) << 2) | 0x03;
+}
+
+void file_open(FILE **f, int *size, const char *filename)
+{
+       *f = fopen(filename, "r");
+       if (!*f)
+       {
+               perror(filename);
+               exit(1);
+       }
+       fseek(*f, 0, SEEK_END);
+       *size = ftell(*f);
+       fseek(*f, 0, SEEK_SET);
+}
+
+void die(const char *msg)
+{
+       fprintf(stderr, "%s\n", msg);
+       exit(2);
+}
+
+void emit_4(unsigned long val)
+{
+       val = htonl(val);
+       write(1, &val, 4);
+}
+
+#define TO_SECT(x) (x+sector_size-1)/sector_size
+
+typedef void fnc_encode_ecc(unsigned char *dst, unsigned char *src, int cnt);
+
+void encode_hevers(unsigned char *dst, unsigned char *src, int count)
+{
+       if (!largepage)
+       {
+               dst[0] = count >> 8;
+               dst[1] = count & 0xFF;
+               unsigned char temp;
+               int cnt;
+               for(cnt=0; cnt<sector_size; cnt++)
+               {
+                       temp=src[cnt];
+                       dst[2]^=temp;
+                       if(cnt & 1) 
+                               dst[6 + 0]^=temp;
+                       else 
+                               dst[6 + 1]^=temp;
+                       if(cnt & 2) dst[6 + 2]^=temp;
+                       if(cnt & 4) dst[6 + 3]^=temp;
+                       if(cnt & 8) dst[6 + 4]^=temp;
+                       if(cnt & 16) dst[6 + 5]^=temp;
+                       if(cnt & 32) dst[6 + 6]^=temp;
+                       if(cnt & 64) dst[6 + 7]^=temp;
+                       if(cnt & 128) dst[6 + 8]^=temp;
+                       if(cnt & 256) dst[6 + 9]^=temp;
+               }
+       } else
+       {
+               dst[0] = 0xFF;
+               dst[1] = 0xFF;
+               dst[2] = count >> 8;
+               dst[3] = count & 0xFF;
+               unsigned char temp;
+               int cnt;
+               for(cnt=0; cnt<sector_size; cnt++)
+               {
+                       temp=src[cnt];
+                       dst[40]^=temp;
+                       if(cnt & 1) 
+                               dst[41]^=temp;
+                       else 
+                               dst[42]^=temp;
+                       if(cnt & 2) dst[43]^=temp;
+                       if(cnt & 4) dst[44]^=temp;
+                       if(cnt & 8) dst[45]^=temp;
+                       if(cnt & 16) dst[46]^=temp;
+                       if(cnt & 32) dst[47]^=temp;
+                       if(cnt & 64) dst[48]^=temp;
+                       if(cnt & 128) dst[49]^=temp;
+                       if(cnt & 256) dst[50]^=temp;
+               }
+       }
+}
+
+void encode_jffs2(unsigned char *dst, unsigned char *src, int cnt)
+{
+       memset(dst, 0xFF, spare_size);
+
+       if (!largepage)
+       {
+               unsigned char ecc_code[8];
+               nand_calculate_ecc (src, ecc_code);
+               nand_calculate_ecc (src+256, ecc_code+3);
+               dst[0] = ecc_code[0];
+               dst[1] = ecc_code[1];
+               dst[2] = ecc_code[2];
+               dst[3] = ecc_code[3];
+               dst[4] = 0xFF;
+               dst[5] = 0xFF;
+               dst[6] = ecc_code[4];
+               dst[7] = ecc_code[5];
+
+               if (!(cnt & ((eraseblock_size/sector_size)-1)))
+               {
+                       dst[8]  = 0x19;
+                       dst[9]  = 0x85;
+                       dst[10] = 0x20;
+                       dst[11] = 0x03;
+                       dst[12] = 0x00;
+                       dst[13] = 0x00;
+                       dst[14] = 0x00;
+                       dst[15] = 0x08;
+               } else
+                       memset(dst + 8, 0xFF, 8);
+       } else
+       {
+               int i;
+               for (i=0; i<8; ++i)
+                       nand_calculate_ecc (src + i * 256, dst + 40 + i * 3);
+
+               if (!(cnt & ((eraseblock_size/sector_size)-1)))
+               {
+                       dst[2] = 0x19;
+                       dst[3] = 0x85;
+                       dst[4] = 0x20;
+                       dst[5] = 0x03;
+                       dst[6] = 0x00;
+                       dst[7] = 0x00;
+                       dst[8] = 0x00;
+                       dst[9] = 0x08;
+               }
+       }
+}
+
+void emit_file(FILE *src, int size, fnc_encode_ecc * eccfnc)
+{
+       emit_4(size * SECTOR_SIZE_WITH_ECC);
+       int cnt = 0;
+       while (1)
+       {
+               unsigned char sector[sector_size + spare_size];
+               memset(sector, 0xFF, sector_size + spare_size);
+               int r = fread(sector, 1, sector_size, src);
+               if (!r)
+                       break;
+               eccfnc(sector + sector_size, sector, cnt);
+               write(1, sector, SECTOR_SIZE_WITH_ECC);
+               ++cnt;
+       }
+       if (cnt != size)
+               die("size changed");
+}
+
+       /* reserve to two sectors plus 1% for badblocks, and round down */
+#define BADBLOCK_SAFE(x) ( ((x) - (eraseblock_size * 2) - (x) / 100) &~ eraseblock_size )
+
+int main(int argc, char **argv)
+{
+       if ((argc != 4) && (argc != 5) && (argc != 6) && (argc != 7) )
+       {
+               fprintf(stderr, "usage: %s <2nd.bin.gz> <boot.jffs2> <root.jffs2> [<arch>] [<flashsize-in-mb>] [options]> image.nfi\n", *argv);
+               return 1;
+       }
+
+       FILE *f_2nd, *f_boot, *f_root;
+       int size_2nd, size_boot, size_root;
+
+       file_open(&f_2nd, &size_2nd, argv[1]);
+       file_open(&f_boot, &size_boot, argv[2]);
+       file_open(&f_root, &size_root, argv[3]);
+
+       int flashsize = 32*1024*1024;
+       if (argc >= 6)
+               flashsize = atoi(argv[5]) * 1024 * 1024;
+
+
+       int partition[] = {0x40000, 0x400000, flashsize};
+
+       if ((argc >= 7) && strstr(argv[6], "large"))
+       {
+               largepage = 1;
+               eraseblock_size = 128*1024;
+               spare_size = 64;
+               sector_size = 2048;
+               partition[0] = 0x100000;
+       } else
+       {
+               largepage = 0;
+               eraseblock_size = 16384;
+               spare_size = 16;
+               sector_size = 512;
+               partition[0] = 0x40000;
+       }
+
+       if (size_2nd > BADBLOCK_SAFE(partition[0]))
+               die("2nd stage is too big. did you gzip it before?");
+       if (size_boot > BADBLOCK_SAFE(partition[1] - partition[0]))
+               die("boot is too big. You can modify the buildimage tool, but you don't want that.");
+       if (size_root > BADBLOCK_SAFE(partition[2] - partition[1]))
+               die("root is too big. This doesn't work. sorry.");
+
+       int sectors_2nd = TO_SECT(size_2nd), sectors_boot = TO_SECT(size_boot), sectors_root = TO_SECT(size_root);
+
+       int num_partitions = 3;
+
+       int total_size = 4 + num_partitions * 4 + 4 + sectors_2nd * SECTOR_SIZE_WITH_ECC + 4 + sectors_boot * SECTOR_SIZE_WITH_ECC + 4 + sectors_root * SECTOR_SIZE_WITH_ECC;
+
+               /* in case an architecture is given, write NFI1 header */
+       if (argc >= 5)
+       {
+               char header[32] = "NFI1";
+               strncpy(header + 4, argv[4], 28);
+               write(1, header, 32);
+       }
+
+               /* global header */
+       emit_4(total_size);
+
+               /* partition */
+       emit_4(num_partitions * 4);
+       int i;
+       for (i=0; i < num_partitions; ++i)
+               emit_4(partition[i]);
+
+               /* 2nd stage */
+       emit_file(f_2nd, sectors_2nd, encode_hevers);
+               /* boot + root */
+       emit_file(f_boot, sectors_boot, encode_jffs2);
+       emit_file(f_root, sectors_root, encode_jffs2);
+
+       return 0;
+}
diff --git a/packages/dreambox/dreambox-compat.bb b/packages/dreambox/dreambox-compat.bb
new file mode 100644 (file)
index 0000000..06b8801
--- /dev/null
@@ -0,0 +1,13 @@
+DESCRIPTION = "Dreambox compatibility links"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+PV = "1.0"
+PR = "r0"
+
+FILES = "/lib/libgcc_s_nof.so.1"
+
+do_install() {
+       install -d ${D}/lib
+       ln -sf libgcc_s.so.1 ${D}/lib/libgcc_s_nof.so.1
+}
diff --git a/packages/dreambox/dreambox-dccamd.bb b/packages/dreambox/dreambox-dccamd.bb
new file mode 100644 (file)
index 0000000..e91c39b
--- /dev/null
@@ -0,0 +1,26 @@
+DESCRIPTION = "Dreamcrypt/Firecrypt Conditional Access Daemon"
+SECTION = "base"
+PRIORITY = "optional"
+LICENSE = "proprietary"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+PV = "1.1"
+PR = "r2"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/7020/dccamd-${MACHINE}-${PV} \
+           http://sources.dreamboxupdate.com/download/7020/wdog-${MACHINE} \
+           file://dccamd.sh"
+
+S = "${WORKDIR}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+do_install() {
+       install -d ${D}/usr/bin
+       install -d ${D}/etc/init.d
+       install -m 0755 ${WORKDIR}/dccamd-${MACHINE}-${PV} ${D}/usr/bin/dccamd
+       install -m 0755 ${WORKDIR}/wdog-${MACHINE} ${D}/usr/bin/wdog
+}
+
+PACKAGE_ARCH := "${MACHINE_ARCH}"
+FILES_${PN} = "/"
diff --git a/packages/dreambox/dreambox-dccamd/dccamd.sh b/packages/dreambox/dreambox-dccamd/dccamd.sh
new file mode 100644 (file)
index 0000000..99e2e52
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+usage()
+{
+       echo "Usage: $0 {start|stop|status|restart|reload}"
+}
+
+if [ $# -lt 1 ] ; then usage ; break ; fi
+action=$1
+
+case "$action" in
+
+start)
+       echo -n "Start Dreamcrypt cam daemon:"
+       /usr/bin/wdog /usr/bin/dccamd -
+       echo " dccamd."
+               ;;
+
+stop)
+       echo -n "Stopping Dreamcrypt cam daemon: dccamd"
+       killall wdog dccamd
+       echo "."
+       ;;
+
+status)
+       ;;
+
+restart|reload)
+       $0 stop
+       $0 start
+       ;;
+
+*)
+       usage
+       ;;
+
+esac
+
+exit 0
diff --git a/packages/dreambox/dreambox-dvb-modules.bb b/packages/dreambox/dreambox-dvb-modules.bb
new file mode 100644 (file)
index 0000000..64c9776
--- /dev/null
@@ -0,0 +1,87 @@
+DESCRIPTION = "Hardware drivers for Dreambox"
+SECTION = "base"
+PRIORITY = "required"
+LICENSE = "proprietary"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+KV_dm7020 = "2.6.9"
+PV_dm7020 = "${KV}-20060622"
+
+def get_modules_extension(bb, d):
+       if 'nptl' in bb.data.getVar('GLIBC_ADDONS', d, 1).split(','):
+               return "-gcc4.1"
+       return ""
+
+KV_dm7025 = "2.6.12.6"
+PV_dm7025 = "${KV}-20081001${@get_modules_extension(bb, d)}"
+
+KV_dm600pvr = "2.6.12"
+PV_dm600pvr = "${KV}-20080822"
+
+KV_dm500plus = "2.6.12"
+PV_dm500plus = "${KV}-20080822"
+
+KV_dm800 = "2.6.12-5.1-brcmstb-dm800"
+PV_dm800 = "${KV}-20081003"
+
+KV_dm8000 = "2.6.12-5.1-brcmstb-dm8000"
+PV_dm8000 = "${KV}-20081015"
+
+RDEPENDS = "kernel (${KV})"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/snapshots/dreambox-dvb-modules-${MACHINE}-${PV}.tar.bz2 "
+SRC_URI_append_dm7025 = "http://sources.dreamboxupdate.com/download/7020/fpupgrade-${MACHINE}-v7"
+SRC_URI_append_dm8000 = "http://sources.dreamboxupdate.com/download/7020/fpupgrade-${MACHINE}-v4"
+
+S = "${WORKDIR}"
+
+do_install_dm600pvr() {
+       install -d ${D}/lib/modules/${KV}/extra
+       for f in head; do
+               install -m 0644 $f.ko ${D}/lib/modules/${KV}/extra/$f.ko;
+       done
+}
+
+do_install_dm7020() {
+       install -d ${D}/lib/modules/${KV}/extra
+       for f in head; do
+               install -m 0644 $f.ko ${D}/lib/modules/${KV}/extra/$f.ko;
+       done
+}
+
+do_install_dm500plus() {
+       install -d ${D}/lib/modules/${KV}/extra
+       for f in head; do
+               install -m 0644 $f.ko ${D}/lib/modules/${KV}/extra/$f.ko;
+       done
+}
+
+do_install_dm7025() {
+       install -d ${D}/lib/modules/${KV}/extra
+       for f in *.ko LICENSE; do
+               install -m 0644 ${WORKDIR}/$f ${D}/lib/modules/${KV}/extra/$f;
+       done
+       install -d ${D}${sbindir}
+       install -m 0755 ${WORKDIR}/fpupgrade-${MACHINE}-v7 ${D}${sbindir}/fpupgrade
+}
+
+do_install_dm8000() {
+       install -d ${D}/lib/modules/${KV}/extra
+       for f in *.ko LICENSE; do
+               install -m 0644 ${WORKDIR}/$f ${D}/lib/modules/${KV}/extra/$f;
+       done
+       install -d ${D}${sbindir}
+       install -m 0755 ${WORKDIR}/fpupgrade-${MACHINE}-v4 ${D}${sbindir}/fpupgrade
+}
+
+do_install_dm800() {
+       install -d ${D}/lib/modules/${KV}/extra
+       for f in *.ko LICENSE; do
+               install -m 0644 ${WORKDIR}/$f ${D}/lib/modules/${KV}/extra/$f;
+       done
+       install -d ${D}${sbindir}
+}
+
+PACKAGE_ARCH := "${MACHINE_ARCH}"
+FILES_${PN} = "/"
diff --git a/packages/dreambox/dreambox-dvb-modules/dm7020/dream b/packages/dreambox/dreambox-dvb-modules/dm7020/dream
new file mode 100644 (file)
index 0000000..424df56
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+usage()
+{
+       echo "Usage: $0 {start|stop|status|restart|reload}"
+}
+
+if [ $# -lt 1 ] ; then usage ; break ; fi
+action=$1
+
+case "$action" in
+
+start)
+       echo -n "Start Dreambox DVB Subsystem:"
+       /sbin/insmod /lib/modules/`uname -r`/extra/head.ko
+       echo " head."
+       
+       # redisplay bootlogo, either the "wait..." or the normal
+       [ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+               ;;
+
+stop)
+       ;;
+
+status)
+       ;;
+
+restart|reload)
+       $0 stop
+       $0 start
+       ;;
+
+*)
+       usage
+       ;;
+
+esac
+
+exit 0
diff --git a/packages/dreambox/dreambox-dvb-modules/dm7025/dream b/packages/dreambox/dreambox-dvb-modules/dm7025/dream
new file mode 100644 (file)
index 0000000..c0b482f
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+usage()
+{
+       echo "Usage: $0 {start|stop|status|restart|reload}"
+}
+
+if [ $# -lt 1 ] ; then usage ; break ; fi
+action=$1
+
+case "$action" in
+
+start)
+       echo -n "Start Dreambox DVB Subsystem:"
+       
+       modprobe dreambox_keyboard
+       modprobe fp
+       modprobe rfmod
+
+       echo " done!"
+       
+       # redisplay bootlogo, either the "wait..." or the normal
+       [ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+               ;;
+
+stop)
+       ;;
+
+status)
+       ;;
+
+restart|reload)
+       $0 stop
+       $0 start
+       ;;
+
+*)
+       usage
+       ;;
+
+esac
+
+exit 0
diff --git a/packages/dreambox/dreambox-dvb-tools-v3.bb b/packages/dreambox/dreambox-dvb-tools-v3.bb
new file mode 100644 (file)
index 0000000..7a519fe
--- /dev/null
@@ -0,0 +1,29 @@
+DESCRIPTION = "Small utilities specific to the dreambox dvb receiver (for DVB v3)"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+
+PV = "1.5"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/dreambox-dvb-tools-v3-${PV}.tar.gz"
+
+inherit qmake
+
+UTILS = "showiframe"
+
+do_configure_prepend() {
+       cd ${S}/
+       echo "TEMPLATE=subdirs" > dmutils.pro
+       echo "CONFIG=console" >> dmutils.pro
+       echo "SUBDIRS=${UTILS}" >> dmutils.pro
+}
+
+do_install() {
+       install -d ${D}/${bindir}/
+       for u in ${UTILS}
+       do
+               install -m 0755 ${S}/${u}/${u} ${D}/${bindir}/
+       done
+}
diff --git a/packages/dreambox/dreambox-dvb-tools.bb b/packages/dreambox/dreambox-dvb-tools.bb
new file mode 100644 (file)
index 0000000..4977e08
--- /dev/null
@@ -0,0 +1,29 @@
+DESCRIPTION = "Small utilities specific to the dreambox dvb receiver (for DVB v1)"
+DEPENDS = "dreambox-dvbincludes"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+PV = "1.0"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/dreambox-dvb-tools-1.0.tar.gz"
+
+inherit qmake
+
+UTILS = "grabpic showiframe dvbnet test_tbl test_dmx"
+
+do_configure_prepend() {
+       cd ${S}/
+       echo "TEMPLATE=subdirs" > dmutils.pro
+       echo "CONFIG=console" >> dmutils.pro
+       echo "SUBDIRS=${UTILS}" >> dmutils.pro
+}
+
+do_install() {
+       install -d ${D}/${bindir}/
+       for u in ${UTILS}
+       do
+               install -m 0755 ${S}/${u}/${u} ${D}/${bindir}/
+       done
+}
diff --git a/packages/dreambox/dreambox-dvbincludes.bb b/packages/dreambox/dreambox-dvbincludes.bb
new file mode 100644 (file)
index 0000000..6438110
--- /dev/null
@@ -0,0 +1,95 @@
+DESCRIPTION = "This package provides dbox2/dreambox \
+compatible header files for the API to the drivers."
+
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRC_URI = "http://sources.dreamboxupdate.com/snapshots/include2.tar.gz"
+S = "${WORKDIR}/include"
+
+ALLOW_EMPTY_dreambox-dvbincludes = "1"
+
+INPUT_FILES = "input_fake.h ci/ci.h  dbox/avia_gt_pig.h dbox/avs_core.h \
+       dbox/event.h dbox/fp.h dbox/info.h dbox/lcd.h dbox/saa7126_core.h \
+       dbox/lcd-ks0713.h dbox/fb.h \
+       dreambox/dreaminfo.h \
+       tuxbox/hardware_dbox2.h tuxbox/hardware_dreambox.h tuxbox/hardware_pci.h \
+       tuxbox/info.h tuxbox/info_dbox2.h tuxbox/kernel.h"
+
+INPUT_FILES_OST =      " ost/audio.h ost/ca.h ost/demux.h ost/descrambler.h ost/dmx.h \
+       ost/dvb.h ost/dvb_frontend.h  ost/frontend.h ost/net.h ost/sec.h \
+       ost/video.h "
+
+PV="1"
+
+do_install_dm7020() {
+       install -d ${STAGING_INCDIR}/ci
+       install -d ${STAGING_INCDIR}/dbox
+       install -d ${STAGING_INCDIR}/dreambox
+       install -d ${STAGING_INCDIR}/ost
+       install -d ${STAGING_INCDIR}/tuxbox
+       for f in ${INPUT_FILES} ${INPUT_FILES_OST}; do
+               install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+       done;
+}
+
+do_install_dm600pvr() {
+       install -d ${STAGING_INCDIR}/ci
+       install -d ${STAGING_INCDIR}/dbox
+       install -d ${STAGING_INCDIR}/dreambox
+       install -d ${STAGING_INCDIR}/ost
+       install -d ${STAGING_INCDIR}/tuxbox
+       for f in ${INPUT_FILES} ${INPUT_FILES_OST}; do
+               install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+       done;
+}
+
+do_install_dm500plus() {
+       install -d ${STAGING_INCDIR}/ci
+       install -d ${STAGING_INCDIR}/dbox
+       install -d ${STAGING_INCDIR}/dreambox
+       install -d ${STAGING_INCDIR}/ost
+       install -d ${STAGING_INCDIR}/tuxbox
+       for f in ${INPUT_FILES} ${INPUT_FILES_OST}; do
+               install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+       done;
+}
+
+do_install_dm7025() {
+       install -d ${STAGING_INCDIR}/ci
+       install -d ${STAGING_INCDIR}/dbox
+       install -d ${STAGING_INCDIR}/dreambox
+       install -d ${STAGING_INCDIR}/tuxbox
+       for f in ${INPUT_FILES}; do
+               install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+       done;
+}
+
+do_install_dm8000() {
+       install -d ${STAGING_INCDIR}/ci
+       install -d ${STAGING_INCDIR}/dbox
+       install -d ${STAGING_INCDIR}/dreambox
+       install -d ${STAGING_INCDIR}/tuxbox
+       for f in ${INPUT_FILES}; do
+               install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+       done;
+}
+
+do_install_dm800() {
+       install -d ${STAGING_INCDIR}/ci
+       install -d ${STAGING_INCDIR}/dbox
+       install -d ${STAGING_INCDIR}/dreambox
+       install -d ${STAGING_INCDIR}/tuxbox
+       for f in ${INPUT_FILES}; do
+               install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+       done;
+}
+
+do_install_dm8000() {
+       install -d ${STAGING_INCDIR}/ci
+       install -d ${STAGING_INCDIR}/dbox
+       install -d ${STAGING_INCDIR}/dreambox
+       install -d ${STAGING_INCDIR}/tuxbox
+       for f in ${INPUT_FILES}; do
+               install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+       done;
+}
diff --git a/packages/dreambox/dreambox-feed-configs.bb b/packages/dreambox/dreambox-feed-configs.bb
new file mode 100644 (file)
index 0000000..9b5d887
--- /dev/null
@@ -0,0 +1,20 @@
+DESCRIPTION = "Configuration files for online package repositories aka feeds"
+PR = "r0"
+
+DISTRO_FEED_PREFIX ?= "official"
+DISTRO_FEED_URI ?= "http://sources.dreamboxupdate.com/${DISTRO}/${DISTRO_VERSION}"
+
+do_compile() {
+    mkdir -p ${S}/${sysconfdir}/opkg
+    for feed in all ${TARGET_ARCH} ${MACHINE_ARCH}; do
+        echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf
+    done
+}
+do_install () {
+        install -d ${D}${sysconfdir}/opkg
+        install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+CONFFILES_${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${TARGET_ARCH} ${MACHINE_ARCH}".split() ] ) }'
diff --git a/packages/dreambox/dreambox-keymaps.bb b/packages/dreambox/dreambox-keymaps.bb
new file mode 100644 (file)
index 0000000..441ec51
--- /dev/null
@@ -0,0 +1,16 @@
+DESCRIPTION = "Dreambox Keyboard Keymap files"
+LICENSE = "GPL"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRC_URI = "file://dream-de.info file://dream-de.kmap file://eng.info file://eng.kmap"
+
+PR = "r0"
+
+FILES_${PN} = "/"
+
+do_install() {
+       install -d ${D}/usr/share/keymaps
+       for x in dream-de.info dream-de.kmap eng.info eng.kmap; do
+               install -m 0644 ${WORKDIR}/$x ${D}/usr/share/keymaps/$x
+       done
+}
diff --git a/packages/dreambox/dreambox-keymaps/dream-de.info b/packages/dreambox/dreambox-keymaps/dream-de.info
new file mode 100644 (file)
index 0000000..d7f5b07
--- /dev/null
@@ -0,0 +1,2 @@
+kmap=dream-de.kmap
+name=Dreambox Keyboard Deutsch
diff --git a/packages/dreambox/dreambox-keymaps/dream-de.kmap b/packages/dreambox/dreambox-keymaps/dream-de.kmap
new file mode 100644 (file)
index 0000000..693317a
Binary files /dev/null and b/packages/dreambox/dreambox-keymaps/dream-de.kmap differ
diff --git a/packages/dreambox/dreambox-keymaps/eng.info b/packages/dreambox/dreambox-keymaps/eng.info
new file mode 100644 (file)
index 0000000..f1c2fe7
--- /dev/null
@@ -0,0 +1,2 @@
+kmap=eng.kmap
+name=Keyboard Englisch
diff --git a/packages/dreambox/dreambox-keymaps/eng.kmap b/packages/dreambox/dreambox-keymaps/eng.kmap
new file mode 100644 (file)
index 0000000..15a722f
Binary files /dev/null and b/packages/dreambox/dreambox-keymaps/eng.kmap differ
diff --git a/packages/dreambox/dreambox-secondstage.bb b/packages/dreambox/dreambox-secondstage.bb
new file mode 100644 (file)
index 0000000..c37a2d9
--- /dev/null
@@ -0,0 +1,31 @@
+DESCRIPTION = "Dreambox DM702x second stage bootloader"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+PV_dm7020 = "35"
+PV_dm7025 = "61"
+PV_dm600pvr = "53"
+PV_dm500plus = "53"
+PV_dm8000 = "65"
+PV_dm800 = "62"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/7020/secondstage-${MACHINE}-${PV}.bin"
+
+S = "${WORKDIR}"
+
+do_stage() {
+       install -d ${STAGING_LIBDIR}/dreambox-secondstage
+       gzip -c ${S}/secondstage-${MACHINE}-${PV}.bin > ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz
+}
+
+# the dm{800,8000} secondstage is already compressed (and encrypted)
+do_stage_dm800() {
+       install -d ${STAGING_LIBDIR}/dreambox-secondstage
+       cp ${S}/secondstage-${MACHINE}-${PV}.bin ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz
+}
+
+do_stage_dm8000() {
+       install -d ${STAGING_LIBDIR}/dreambox-secondstage
+       cp ${S}/secondstage-${MACHINE}-${PV}.bin ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz
+}
index 9955d4d..10e7c23 100644 (file)
@@ -13,6 +13,29 @@ export DSPLINK="${S}"
 
 require ti-paths.inc
 
+DSPLINKPLATFORM ?= "DAVINCI"
+DSPLINKPLATFORM_omap5912osk = "OMAP"
+DSPLINKPLATFORM_beagleboard = "OMAP3530"
+DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI"
+DSPLINKPLATFORM_davinci-dvevm = "DAVINCI"
+
+DSPLINKDSP ?= "C64XX"
+
+DSPLINKSOC ?= "DM6446"
+DSPLINKSOC_beagleboard = "3530"
+
+DSPCFG ?= "DM6446GEMSHMEM"
+DSPCFG_beagleboard ?= "OMAP3530SHMEM"
+
+GPPOS ?= "DAVINCILSP"
+GPPOS_beagleboard = "OMAPLSP"
+
+export DSPLINKPLATFORM 
+export DSPLINKDSP
+export DSPLINKSOC
+export DSPCFG
+export GPPOS
+
 do_configure () {
        # Run perl script to create appropriate makefiles (v1.60 and up)
        perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX  --gppos=${GPPOS} --comps=ponslrm
@@ -58,7 +81,7 @@ do_install () {
        install ${S}/gpp/BUILD/EXPORT/RELEASE/mplistgpp         ${D}/${bindir}
        install ${S}/gpp/BUILD/EXPORT/RELEASE/readwritegpp      ${D}/${bindir}
        install ${S}/gpp/BUILD/EXPORT/RELEASE/ringiogpp         ${D}/${bindir}
-       install ${S}/gpp/BUILD/EXPORT/RELEASE/scalegpp          ${D}/${bindir} || true
+       install ${S}/gpp/BUILD/EXPORT/RELEASE/scalegpp          ${D}/${bindir}
 
        install -d ${D}/${datadir}/dsplink
        for i in $(find ${S}/dsp/BUILD/ -name "*.out") ; do
diff --git a/packages/dvd+rw-tools/dvd+rw-tools_7.0.bb b/packages/dvd+rw-tools/dvd+rw-tools_7.0.bb
new file mode 100644 (file)
index 0000000..0df4874
--- /dev/null
@@ -0,0 +1,11 @@
+DESCRIPTION = "dvd+rw-tools makes it possible to burn DVD images"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>
+LICENSE = "GPL"
+SECTION = "optional"
+
+SRC_URI = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}' \
+               'CFLAGS=${CFLAGS} ${LDFLAGS}' 'prefix=${D}'"
diff --git a/packages/dvdauthor/dvdauthor_0.6.14.bb b/packages/dvdauthor/dvdauthor_0.6.14.bb
new file mode 100644 (file)
index 0000000..09a418b
--- /dev/null
@@ -0,0 +1,11 @@
+DESCRIPTION = "A set of tools to help you generate DVD files to be played back on a standalone DVD player."
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+SECTION = "optional"
+DEPENDS = "libdvdread"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/dvdauthor/dvdauthor-${PV}.tar.gz \
+       file://dvdauthor-fix-fribidi.patch;patch=1;pnum=1 \
+       file://dvdauthor-fix-old-freetype.patch;patch=1;pnum=1"
+
+inherit autotools
diff --git a/packages/dvdauthor/files/dvdauthor-fix-fribidi.patch b/packages/dvdauthor/files/dvdauthor-fix-fribidi.patch
new file mode 100644 (file)
index 0000000..31f0b34
--- /dev/null
@@ -0,0 +1,21 @@
+Index: dvdauthor-0.6.14/configure.ac
+===================================================================
+--- dvdauthor-0.6.14.orig/configure.ac 2008-04-08 23:57:39.000000000 +0200
++++ dvdauthor-0.6.14/configure.ac      2008-04-08 23:56:53.000000000 +0200
+@@ -57,12 +57,10 @@
+ AC_SUBST(MAGICK_CPPFLAGS)
+ AC_SUBST(MAGICK_LIBS)
+-AC_CHECK_PROGS(FRIBIDICONFIG, [fribidi-config])
+-if test -n "$FRIBIDICONFIG"; then
+-   FRIBIDI_CPPFLAGS="`$FRIBIDICONFIG --cflags`"
+-   FRIBIDI_LIBS="`$FRIBIDICONFIG --libs`"
+-   AC_DEFINE(HAVE_FRIBIDI, 1, [Whether FriBiDi is available])
+-fi
++PKG_CHECK_MODULES(FRIBIDI, fribidi)
++AC_SUBST(FRIBIDI_CFLAGS)
++AC_SUBST(FRIBIDI_LIBS)
++AC_DEFINE(HAVE_FRIBIDI, 1, [Whether FriBiDi is available])
+ AC_SUBST(FRIBIDI_CPPFLAGS)
+ AC_SUBST(FRIBIDI_LIBS)
diff --git a/packages/dvdauthor/files/dvdauthor-fix-old-freetype.patch b/packages/dvdauthor/files/dvdauthor-fix-old-freetype.patch
new file mode 100644 (file)
index 0000000..d59e035
--- /dev/null
@@ -0,0 +1,13 @@
+Index: dvdauthor-0.6.14/src/subfont.c
+===================================================================
+--- dvdauthor-0.6.14.orig/src/subfont.c        2008-04-08 23:58:04.000000000 +0200
++++ dvdauthor-0.6.14/src/subfont.c     2008-04-08 23:56:50.000000000 +0200
+@@ -557,7 +557,7 @@
+       desc->font[c] = -1;
+       return;
+     }
+-    if( oglyph->format != FT_GLYPH_FORMAT_BITMAP ) {
++    if( oglyph->format != ft_glyph_format_bitmap ) {
+         WARNING("FT_Get_Glyph did not return a bitmap glyph.");
+         desc->font[c] = -1;
+         return;
index e23a13b..0eb2f20 100644 (file)
@@ -56,7 +56,7 @@ do_unpack_append() {
 do_move_ports() {
         if test -d ${WORKDIR}/trunk/ports ; then
            rm -rf ${S}/ports
-           mv ${WORKDIR}/trunk/ports ${S}/
+           mv -v ${WORKDIR}/trunk/ports ${S}/
        fi    
 }
 
diff --git a/packages/enigma/enigma-blindscan.bb b/packages/enigma/enigma-blindscan.bb
new file mode 100644 (file)
index 0000000..3ce0d04
--- /dev/null
@@ -0,0 +1,21 @@
+DEPENDS = "enigma"
+DESCRIPTION = "Enigma Blindscan Plugin"
+MAINTAINER = "Andreas Monzner <ghost@dream-multimedia-tv.de>"
+LICENSE = "GPL"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/enigma/enigma-blindscan-${PV}.tar.bz2"
+
+PV = "0.1"
+PN = "enigma-blindscan"
+PR = "r0"
+
+PACKAGES = "enigma-blindscan"
+
+S = "${WORKDIR}/enigma-blindscan-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "/usr/lib/tuxbox/plugins/enigma_blindscan.so \
+               /usr/lib/tuxbox/plugins/enigma_blindscan.cfg"
+
+EXTRA_OECONF = "--with-target=native "
diff --git a/packages/enigma/enigma-modem.bb b/packages/enigma/enigma-modem.bb
new file mode 100644 (file)
index 0000000..dd03c51
--- /dev/null
@@ -0,0 +1,43 @@
+DEPENDS = "enigma"
+DESCRIPTION = "Enigma Modem Plugin"
+MAINTAINER = "Andreas Monzner <ghost@dream-multimedia-tv.de>"
+LICENSE = "GPL"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/enigma/enigma-modem-${PV}.tar.gz"
+
+PV = "0.3"
+PN = "enigma-modem"
+PR = "r0"
+
+PACKAGES = "enigma-modem"
+
+S = "${WORKDIR}/enigma-modem-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "/usr/lib/tuxbox/plugins/enigma_modem.so \
+               /usr/lib/tuxbox/plugins/enigma_modem.cfg \
+               /etc/ppp/options \
+               /etc/ppp/pap-secrets \
+               /etc/ppp/dial.modem \
+               /etc/ppp/disconnect.modem \
+               /etc/ppp/ip-up.d/01peerdns /etc/ppp/ip-down.d/01peerdns-remove"
+
+EXTRA_OECONF = "--with-target=native "
+
+PPP_FILES = "dial.modem options disconnect.modem pap-secrets"
+
+do_install_append() {
+       install -d ${D}/etc/ppp
+       for i in dial.modem disconnect.modem; do
+               install -m 0755 ${S}/$i ${D}/etc/ppp/
+       done;
+       for i in options pap-secrets; do
+               install -m 0644 ${S}/$i ${D}/etc/ppp/
+       done;
+       install -d ${D}/etc/ppp/ip-up.d
+       install -m 0755 ${S}/01peerdns ${D}/etc/ppp/ip-up.d
+       install -d ${D}/etc/ppp/ip-down.d
+       install -m 0755 ${S}/01peerdns-remove ${D}/etc/ppp/ip-down.d
+}
+
diff --git a/packages/enigma/enigma/add_blindscan_to_menu.diff b/packages/enigma/enigma/add_blindscan_to_menu.diff
new file mode 100644 (file)
index 0000000..089aadc
--- /dev/null
@@ -0,0 +1,195 @@
+Index: src/enigma_scan.cpp
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/enigma_scan.cpp,v
+retrieving revision 1.25
+diff -u -r1.25 enigma_scan.cpp
+--- a/src/enigma_scan.cpp      5 Feb 2006 23:41:01 -0000       1.25
++++ b/src/enigma_scan.cpp      21 Aug 2007 17:08:27 -0000
+@@ -27,6 +27,7 @@
+ #include <scan.h>
+ #include <satfind.h>
+ #include <tpeditwindow.h>
++#include <enigma_plugins.h>
+ #include <lib/base/i18n.h>
+ #include <lib/dvb/edvb.h>
+ #include <lib/dvb/frontend.h>
+@@ -63,6 +64,8 @@
+               CONNECT((new eListBoxEntryMenu(&list, _("Automatic Multisat Scan"), eString().sprintf("(%d) %s", ++entry, _("open automatic multisat transponder scan"))))->selected, eZapScan::sel_multiScan);
+       CONNECT((new eListBoxEntryMenu(&list, _("Manual Transponder Scan"), eString().sprintf("(%d) %s", ++entry, _("open manual transponder scan"))))->selected, eZapScan::sel_manualScan);
++      if ( eFrontend::getInstance()->canBlindScan() && eZapPlugins(2).execPluginByName("enigma_blindscan.cfg", true) == "OK" )
++              CONNECT((new eListBoxEntryMenu(&list, _("Satellite Blindscan"), eString().sprintf("(%d) %s", ++entry, _("open transponder blindscan"))))->selected, eZapScan::sel_blindScan);
+ }
+ void eZapScan::sel_satfind()
+@@ -111,6 +114,13 @@
+       show();
+ }
++void eZapScan::sel_blindScan()
++{
++      hide();
++      eZapPlugins(2).execPluginByName("enigma_blindscan.cfg");
++      show();
++}
++
+ void eZapScan::sel_satconfig()
+ {
+       hide();
+Index: src/enigma_scan.h
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/enigma_scan.h,v
+retrieving revision 1.7
+diff -u -r1.7 enigma_scan.h
+--- a/src/enigma_scan.h        26 Oct 2003 00:41:17 -0000      1.7
++++ b/src/enigma_scan.h        21 Aug 2007 17:08:27 -0000
+@@ -25,6 +25,7 @@
+       void sel_multiScan();
+       void sel_manualScan();
+       void sel_satfind();
++      void sel_blindScan();
+ public:
+       static eLNB* getRotorLNB(int silent);
+       eZapScan();
+Index: src/scan.cpp
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/scan.cpp,v
+retrieving revision 1.92
+diff -u -r1.92 scan.cpp
+--- a/src/scan.cpp     5 Feb 2006 23:41:01 -0000       1.92
++++ b/src/scan.cpp     21 Aug 2007 17:08:27 -0000
+@@ -3,6 +3,7 @@
+ #include <enigma.h>
+ #include <enigma_main.h>
++#include <enigma_plugins.h>
+ #include <lib/base/i18n.h>
+ #include <lib/dvb/frontend.h>
+ #include <lib/dvb/si.h>
+@@ -45,6 +46,8 @@
+               new eListBoxEntryMenuItem(list, _("Automatic Multisat Scan"), (void*)3, 0, _("open automatic multisat transponder scan") );
+       new eListBoxEntryMenuItem(list, _("manual scan.."), (void*)1, 0, _("open manual transponder scan") );
+       CONNECT(list->selected, tsSelectType::selected);
++      if ( eFrontend::getInstance()->canBlindScan() && eZapPlugins(2).execPluginByName("enigma_blindscan.cfg", true) == "OK" )
++              new eListBoxEntryMenuItem(list, _("Satellite Blindscan"), (void*)4, 0, _("open transponder blindscan") );
+ }
+ void tsSelectType::selected(eListBoxEntryMenu *entry)
+@@ -989,6 +992,22 @@
+       }
+ }
++
++struct countTransponders
++{
++      int &m_cnt;
++      countTransponders(int &cnt)
++              :m_cnt(cnt)
++      {
++              m_cnt=0;
++      }
++      void operator()(eTransponder &t)
++      {
++              ++m_cnt;
++      }
++};
++
++
+ int TransponderScan::Exec()
+ {
+       tState state = stateInitial;
+@@ -1335,6 +1354,20 @@
+                       state=stateDone;
+                       break;
+               }
++              case stateBlind:
++              {
++                      int tp_count_old, tp_count_new;
++                      eTransponderList::getInstance()->forEachTransponder(countTransponders(tp_count_old));
++                      eWindow::globalCancel(eWindow::ON);
++                      hide();
++                      eZapPlugins(2).execPluginByName("enigma_blindscan.cfg");
++                      show();
++                      state=stateEnd;
++                      eWindow::globalCancel(eWindow::OFF);
++                      eTransponderList::getInstance()->forEachTransponder(countTransponders(tp_count_new));
++                      ret=tp_count_new > tp_count_old ? 0 : 1;
++                      break;
++              }
+               case stateScan:
+               {
+                       if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feSatellite )
+Index: src/scan.h
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/scan.h,v
+retrieving revision 1.38
+diff -u -r1.38 scan.h
+--- a/src/scan.h       20 Feb 2007 21:57:05 -0000      1.38
++++ b/src/scan.h       21 Aug 2007 17:08:27 -0000
+@@ -172,6 +172,7 @@
+               stateManual,
+               stateAutomatic,
+               stateMulti,
++              stateBlind,
+               stateScan,
+               stateMultiScan,
+               stateDone,
+diff -Naur a/include/lib/dvb/frontend.h b/include/lib/dvb/frontend.h
+--- a/include/lib/dvb/frontend.h       2007-08-21 22:04:22.000000000 +0200
++++ b/include/lib/dvb/frontend.h       2007-08-24 00:59:42.000000000 +0200
+@@ -112,6 +112,7 @@
+               voltage,
+               increased;
+ ///////////////////
++      bool m_canBlindScan;
+ #if HAVE_DVB_API_VERSION < 3
+       FrontendParameters front;
+ #else
+@@ -157,6 +158,7 @@
+       static eFrontend *getInstance() { return frontend; }
+       int Type() { return type; }
++      int canBlindScan() { return m_canBlindScan; }
+       int Status();
+       int Locked() { return Status()&FE_HAS_LOCK; }
+diff -Naur a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
+--- a/lib/dvb/frontend.cpp     2007-08-21 22:04:22.000000000 +0200
++++ b/lib/dvb/frontend.cpp     2007-08-24 01:00:13.000000000 +0200
+@@ -42,7 +42,7 @@
+ #endif
+       checkRotorLockTimer(eApp), checkLockTimer(eApp), 
+       updateTransponderTimer(eApp), sn(0), noRotorCmd(0),
+-      idlePowerInput_l(0), idlePowerInput_h(0)
++      idlePowerInput_l(0), idlePowerInput_h(0), m_canBlindScan(false)
+ {
+       CONNECT(rotorTimer1.timeout, eFrontend::RotorStartLoop );
+       CONNECT(rotorTimer2.timeout, eFrontend::RotorRunningLoop );
+@@ -99,6 +99,27 @@
+       curContTone = curVoltage = -1;
+ #endif
+       needreset = 2;
++      
++// check if tuner can blindscan
++      if (type == eSystemInfo::feSatellite)
++      {
++              FILE *f=fopen("/proc/bus/nim_sockets", "rt");
++              while (f)
++              {
++                      char buffer[128];
++                      if (!fgets(buffer, 128, f))
++                      {
++                              fclose(f);
++                              break;
++                      }
++                      if (strstr(buffer, "Name:") && strstr(buffer, "Alps -S(STV0288)"))
++                      {
++                              m_canBlindScan=true;
++                              fclose(f);
++                              break;
++                      }
++              }
++      }
+ }
+ void eFrontend::checkLock()
diff --git a/packages/enigma/enigma/disable_boot.diff b/packages/enigma/enigma/disable_boot.diff
new file mode 100644 (file)
index 0000000..7cfd289
--- /dev/null
@@ -0,0 +1,8 @@
+diff -Naur enigma/Makefile.am enigma_boot/Makefile.am
+--- enigma/Makefile.am 2005-09-28 10:49:03.000000000 +0200
++++ enigma_boot/Makefile.am    2005-10-31 11:29:55.000000000 +0100
+@@ -1,3 +1,3 @@
+ AUTOMAKE_OPTIONS = gnu
+-SUBDIRS = include lib src po data doc boot
++SUBDIRS = include lib src po data doc
diff --git a/packages/enigma/enigma/duplicate_tsid_onid_cable_terrestrial_fix_backport.diff b/packages/enigma/enigma/duplicate_tsid_onid_cable_terrestrial_fix_backport.diff
new file mode 100644 (file)
index 0000000..c771436
--- /dev/null
@@ -0,0 +1,62 @@
+--- enigma-org/lib/dvb/dvbscan.cpp     11 Oct 2005 20:34:36 -0000      1.34
++++ enigma/lib/dvb/dvbscan.cpp 29 Apr 2008 14:43:47 -0000
+@@ -244,11 +244,15 @@
+                                                       break;
+                                               }
+                                       }
+-                                      
++
+                                       eDVBNamespace dvb_namespace =
+                                               tp.satellite.isValid()
+                                               ?eTransponder::buildNamespace(onid,tsid,tp.satellite.orbital_position,tp.satellite.frequency, tp.satellite.polarisation)
+-                                              :-1;
++                                              :tp.cable.isValid()
++                                              ?eTransponder::buildNamespace(onid,tsid, 0xFFFF, tp.cable.frequency, 0)
++                                              :tp.terrestrial.isValid()
++                                              ?eTransponder::buildNamespace(onid,tsid, 0xEEEE, tp.terrestrial.centre_frequency/1000, 0)
++                                              :-1; // should not happen
+                                       tp.dvb_namespace=dvb_namespace;
+@@ -390,14 +394,17 @@
+               // build "namespace" to work around buggy satellites
+       if (transponder->satellite.valid)
+               dvb_namespace=eTransponder::buildNamespace(onid, tsid, transponder->satellite.orbital_position, transponder->satellite.frequency, transponder->satellite.polarisation);
++      else if (transponder->cable.valid)
++              dvb_namespace=eTransponder::buildNamespace(onid, tsid, 0xFFFF, transponder->cable.frequency, 0);
++      else if (transponder->terrestrial.valid)
++              dvb_namespace=eTransponder::buildNamespace(onid, tsid, 0xEEEE, transponder->terrestrial.centre_frequency/1000, 0);
+       else
+-              dvb_namespace=0;
++              dvb_namespace=0; // should not happen!
+       transponder->dvb_namespace=dvb_namespace;
+       eTransponder *tmp = 0;
+-      if ( transponder->satellite.valid &&
+-              dvb_namespace.get() & 0xFFFF )  // feeds.. scpc.. or muxxers with default values
++      if ( dvb_namespace.get() & 0xFFFF )  // feeds.. scpc.. or muxxers with default values
+       {
+               eDebug("[SCAN] SCPC detected... compare complete transponder");
+               // we must search transponder via freq pol usw..
+--- enigma-org/src/scan.cpp    17 Dec 2007 15:09:13 -0000      1.93
++++ enigma/src/scan.cpp        29 Apr 2008 14:44:15 -0000
+@@ -2004,8 +2004,16 @@
+                       transponder.satellite.orbital_position,
+                       transponder.satellite.frequency,
+                       transponder.satellite.polarisation);
+-      else
+-              dvb_namespace=0;
++      else if (transponder.cable.valid)
++              dvb_namespace=eTransponder::buildNamespace(onid, tsid,
++                      0xFFFF,
++                      transponder.cable.frequency,
++                      0);
++      else if (transponder.terrestrial.valid)
++              dvb_namespace=eTransponder::buildNamespace(onid, tsid,
++                      0xEEEE,
++                      transponder.terrestrial.centre_frequency/1000, // centre_freq is in hz
++                      0);
+       transponder.dvb_namespace=dvb_namespace;
diff --git a/packages/enigma/enigma/enigma.sh b/packages/enigma/enigma/enigma.sh
new file mode 100644 (file)
index 0000000..a7a6608
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+/usr/bin/showiframe /boot/backdrop.mvi
+
+init=0
+/usr/bin/boot || init=1
+if [ $init -eq 1 ] ; then
+       rm -R /etc/enigma
+fi
+
+if [ ! -e /etc/enigma ] ; then
+       cp -R /usr/share/enigma/default /etc/enigma
+fi
+
+/usr/bin/enigma
+
+ret=$?
+case $ret in
+       0)
+               /sbin/halt
+               ;;
+       4)
+               /sbin/reboot
+               ;;
+       *)
+               ;;
+esac
+
diff --git a/packages/enigma/enigma/enigma_enter_standby.sh b/packages/enigma/enigma/enigma_enter_standby.sh
new file mode 100644 (file)
index 0000000..c7bd21a
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+PID=`pidof tuxmaild`
+if [ $PID ]; then 
+       /etc/init.d/tuxmail pause;
+fi
\ No newline at end of file
diff --git a/packages/enigma/enigma/enigma_leave_standby.sh b/packages/enigma/enigma/enigma_leave_standby.sh
new file mode 100644 (file)
index 0000000..c7bd21a
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+PID=`pidof tuxmaild`
+if [ $PID ]; then 
+       /etc/init.d/tuxmail pause;
+fi
\ No newline at end of file
diff --git a/packages/enigma/enigma/epgfix_backport.diff b/packages/enigma/enigma/epgfix_backport.diff
new file mode 100644 (file)
index 0000000..3b11160
--- /dev/null
@@ -0,0 +1,150 @@
+diff -Naur enigma/include/lib/dvb/epgcache.h enigma_fix/include/lib/dvb/epgcache.h
+--- enigma/include/lib/dvb/epgcache.h  2008-02-18 17:35:38.000000000 +0100
++++ enigma_fix/include/lib/dvb/epgcache.h      2008-02-18 17:06:58.000000000 +0100
+@@ -315,7 +315,7 @@
+       int state;
+       __u8 isRunning, firstStart, haveData;
+-      void FixOverlapping(std::pair<eventMap,timeMap> &, time_t, int, const timeMap::iterator &, const uniqueEPGKey &);
++      bool FixOverlapping(std::pair<eventMap,timeMap> &, time_t, int, const timeMap::iterator &, const uniqueEPGKey &);
+       int sectionRead(__u8 *data, int source);
+       static eEPGCache *instance;
+diff -Naur enigma/lib/dvb/epgcache.cpp enigma_fix/lib/dvb/epgcache.cpp
+--- enigma/lib/dvb/epgcache.cpp        2008-02-18 17:35:38.000000000 +0100
++++ enigma_fix/lib/dvb/epgcache.cpp    2008-02-18 17:34:01.000000000 +0100
+@@ -325,7 +325,7 @@
+                                       int sid = data[ptr++] << 8;
+                                       sid |= data[ptr++];
+-// WORKAROUND for wrong transmitted epg data (01.08.2006)
++// WORKAROUND for wrong transmitted epg data (01.10.2007)
+                                       if ( onid == 0x85 )
+                                       {
+                                               switch( (tsid << 16) | sid )
+@@ -336,6 +336,7 @@
+                                                       case 0x0300f5: sid = 0xdc; break;
+                                                       case 0x0400d2: sid = 0xe2; tsid = 0x11; break;
+                                                       case 0x1100d3: sid = 0xe3; break;
++                                                      case 0x0100d4: sid = 0xe4; tsid = 4; break;
+                                               }
+                                       }
+ ////////////////////////////////////////////
+@@ -448,8 +449,9 @@
+ }
+ #endif // ENABLE_PRIVATE_EPG
+-void eEPGCache::FixOverlapping(std::pair<eventMap,timeMap> &servicemap, time_t TM, int duration, const timeMap::iterator &tm_it, const uniqueEPGKey &service)
++bool eEPGCache::FixOverlapping(std::pair<eventMap,timeMap> &servicemap, time_t TM, int duration, const timeMap::iterator &tm_it, const uniqueEPGKey &service)
+ {
++      bool ret = false;
+       timeMap::iterator tmp = tm_it;
+       while ((tmp->first+tmp->second->getDuration()-300) > TM)
+       {
+@@ -464,6 +466,20 @@
+               {
+                       __u16 event_id = tmp->second->getEventID();
+                       servicemap.first.erase(event_id);
++#ifdef EPG_DEBUG  
++                      {
++                              EITEvent evt((eit_event_struct *)tmp->second->get(), service.tsid<<16|service.onid);
++                              char tmp[255];
++                              struct tm t;
++                              localtime_r(&evt.start_time, &t);
++                              snprintf(tmp, 255, "%08x(%d), %d seconds, %02d.%02d, %02d:%02d",
++                                      evt.event_id, evt.event_id,
++                                      evt.duration,
++                                      t.tm_mday, t.tm_mon+1,
++                                      t.tm_hour, t.tm_min);
++                              eDebug("(1)erase no more used event %s", tmp);
++                      }
++#endif
+                       delete tmp->second;
+                       if (tmp == servicemap.second.begin())
+                       {
+@@ -472,6 +488,7 @@
+                       }
+                       else
+                               servicemap.second.erase(tmp--);
++                      ret = true;
+               }
+               else
+               {
+@@ -495,14 +512,30 @@
+               {
+                       __u16 event_id = tmp->second->getEventID();
+                       servicemap.first.erase(event_id);
++#ifdef EPG_DEBUG
++                      {
++                              EITEvent evt((eit_event_struct *)tmp->second->get(), service.tsid<<16|service.onid);
++                              char tmp[255];
++                              struct tm t;
++                              localtime_r(&evt.start_time, &t);
++                              snprintf(tmp, 255, "%08x(%d), %d seconds, %02d.%02d, %02d:%02d",
++                                      evt.event_id, evt.event_id,
++                                      evt.duration,
++                                      t.tm_mday, t.tm_mon+1,
++                                      t.tm_hour, t.tm_min);
++                              eDebug("(2)erase no more used event %s", tmp);
++                      }
++#endif
+                       delete tmp->second;
+                       servicemap.second.erase(tmp++);
++                      ret = true;
+               }
+               else
+                       ++tmp;
+               if (tmp == servicemap.second.end())
+                       break;
+       }
++      return ret;
+ }
+ int eEPGCache::sectionRead(__u8 *data, int source)
+@@ -560,7 +593,11 @@
+               if ( data[ptr-1] < 0x40 )
+                       --ptr;
+-              uniqueEPGKey service( HILO(eit->service_id), HILO(eit->original_network_id), HILO(eit->transport_stream_id) );
++              // Cablecom HACK.. for incorrect tsid/onid in eit data
++              bool use_transponder_chid = source == SCHEDULE || (source == NOWNEXT && data[0] == 0x4E);
++              uniqueEPGKey service( HILO(eit->service_id), 
++                  use_transponder_chid ? current_service.onid : HILO(eit->original_network_id), 
++                  use_transponder_chid ? current_service.tsid : HILO(eit->transport_stream_id) );
+               eit_event_struct* eit_event = (eit_event_struct*) (data+ptr);
+               int eit_event_size;
+@@ -658,7 +695,11 @@
+                                                       eventData *tmp = ev_it->second;
+                                                       ev_it->second = tm_it_tmp->second =
+                                                               new eventData(eit_event, eit_event_size, source);
+-                                                      FixOverlapping(servicemap, TM, duration, tm_it_tmp, service);
++                                                      if (FixOverlapping(servicemap, TM, duration, tm_it_tmp, service))
++                                                      {
++                                                              prevEventIt = servicemap.first.end();
++                                                              prevTimeIt = servicemap.second.end();
++                                                      }
+                                                       delete tmp;
+                                                       goto next;
+                                               }
+@@ -730,8 +771,6 @@
+                                       tm_it=prevTimeIt=servicemap.second.insert( prevTimeIt, std::pair<const time_t, eventData*>( TM, evt ) );
+                               }
+-                              FixOverlapping(servicemap, TM, duration, tm_it, service);
+-
+ #if EPG_DEBUG
+                               if ( consistencyCheck )
+                               {
+@@ -751,6 +790,11 @@
+                                                       ev_it->first, event_id );
+                               }
+ #endif
++                              if (FixOverlapping(servicemap, TM, duration, tm_it, service))
++                              {
++                                      prevEventIt = servicemap.first.end();
++                                      prevTimeIt = servicemap.second.end();
++                              }
+                       }
+ next:
+ #if EPG_DEBUG
diff --git a/packages/enigma/enigma/opendreambox/config b/packages/enigma/enigma/opendreambox/config
new file mode 100644 (file)
index 0000000..c5d7cc0
--- /dev/null
@@ -0,0 +1,12 @@
+i:/elitedvb/audio/ac3default=00000000
+i:/ezap/lcd/brightness=00000087
+i:/ezap/lcd/contrast=0000000a
+i:/ezap/lcd/inverted=00000000
+i:/ezap/rc/repeatRate=00000025
+i:/ezap/serviceselector/showButtons=00000001
+u:/elitedvb/video/vcr_switching=00000000
+u:/ezap/rc/TextInputField/nextCharTimeout=00000320
+i:/enigma/plugins/needoffsets/bottom=00000221
+i:/enigma/plugins/needoffsets/left=0000002c
+i:/enigma/plugins/needoffsets/right=000002a3
+i:/enigma/plugins/needoffsets/top=0000001d
diff --git a/packages/enigma/enigma/opendreambox/userbouquet.33fc5.tv b/packages/enigma/enigma/opendreambox/userbouquet.33fc5.tv
new file mode 100644 (file)
index 0000000..2c83616
--- /dev/null
@@ -0,0 +1,108 @@
+#NAME Favourites (TV)
+#SERVICE: 1:0:1:6DCA:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D66:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DCC:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2EE3:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:445C:453:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2EF4:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:445D:453:1:C00000:0:0:0:
+#SERVICE: 1:0:1:445E:453:1:C00000:0:0:0:
+#SERVICE: 1:0:1:33:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:701:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:2F1C:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:7005:436:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DCD:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D67:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E29:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E2A:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E2B:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DCB:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E2C:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E2D:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6F46:445:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DCF:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E41:431:1:C00000:0:0:0:
+#SERVICE: 1:64:B:0:0:0:0:0:0:0:
+#DESCRIPTION: Doku/Wissen/Themen
+#SERVICE: 1:0:1:6DD0:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:4289:446:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D6E:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D6B:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2775:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:202:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:293:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:3158:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:3138:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2FE:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:6D70:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:3139:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:F1CC:421:1:C00000:0:0:0:
+#SERVICE: 1:64:A:0:0:0:0:0:0:0:
+#DESCRIPTION: Sport
+#SERVICE: 1:0:1:384:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:79E0:443:1:C00000:0:0:0:
+#SERVICE: 1:64:1:0:0:0:0:0:0:0:
+#DESCRIPTION: Kinder
+#SERVICE: 1:0:1:2F08:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D68:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:7008:436:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6FE0:443:1:C00000:0:0:0:
+#SERVICE: 1:64:2:0:0:0:0:0:0:0:
+#DESCRIPTION: Nachrichten
+#SERVICE: 1:0:1:2F3A:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:445F:453:1:C00000:0:0:0:
+#SERVICE: 1:0:1:79F4:443:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DD2:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2F80:454:1:C00000:0:0:0:
+#SERVICE: 1:64:3:0:0:0:0:0:0:0:
+#DESCRIPTION: Regional
+#SERVICE: 1:0:1:3146:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:300:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:2778:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6F45:445:1:C00000:0:0:0:
+#SERVICE: 1:0:1:277A:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2779:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2777:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:32D6:45D:1:C00000:0:0:0:
+#SERVICE: 1:64:4:0:0:0:0:0:0:0:
+#DESCRIPTION: Musik
+#SERVICE: 1:0:1:308:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:2774:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:7004:436:1:C00000:0:0:0:
+#SERVICE: 1:0:1:7001:436:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6FE1:443:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2FD:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:32D5:45D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:277B:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:332E:45B:1:C00000:0:0:0:
+#SERVICE: 1:0:1:304:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:702:5:85:C00000:0:0:0:
+#SERVICE: 1:64:5:0:0:0:0:0:0:0:
+#DESCRIPTION: Reisen
+#SERVICE: 1:0:1:20:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:2FC:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:301:7:85:C00000:0:0:0:
+#SERVICE: 1:64:9:0:0:0:0:0:0:0:
+#DESCRIPTION: Beratung
+#SERVICE: 1:0:1:295:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:277C:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:F9B:454:1:C00000:0:0:0:
+#SERVICE: 1:64:6:0:0:0:0:0:0:0:
+#DESCRIPTION: Einkaufen
+#SERVICE: 1:0:1:2F30:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:28:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:79EA:443:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2F44:454:1:C00000:0:0:0:
+#SERVICE: 1:0:1:3148:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:332D:45B:1:C00000:0:0:0:
+#SERVICE: 1:0:1:36:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:307:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:296:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:F20B:421:1:C00000:0:0:0:
+#SERVICE: 1:0:1:1782:457:1:C00000:0:0:0:
+#SERVICE: 1:64:8:0:0:0:0:0:0:0:
+#DESCRIPTION: Gewinnspiele
+#SERVICE: 1:0:1:381:21:85:C00000:0:0:0:
+#SERVICE: 1:64:7:0:0:0:0:0:0:0:
+#DESCRIPTION: Anzeigen
+#SERVICE: 1:0:1:313C:459:1:C00000:0:0:0:
diff --git a/packages/enigma/enigma/opendreambox/userbouquets.tv.epl b/packages/enigma/enigma/opendreambox/userbouquets.tv.epl
new file mode 100644 (file)
index 0000000..1099044
--- /dev/null
@@ -0,0 +1,4 @@
+#NAME Bouquets (TV)
+#SERVICE: 4097:7:0:33fc5:0:0:0:0:0:0:/etc/enigma/userbouquet.33fc5.tv
+#TYPE 16385
+/etc/enigma/userbouquet.33fc5.tv\r
\ No newline at end of file
diff --git a/packages/enigma/enigma/rdstextfix_backport.diff b/packages/enigma/enigma/rdstextfix_backport.diff
new file mode 100644 (file)
index 0000000..9cb9476
--- /dev/null
@@ -0,0 +1,68 @@
+diff -Naur b/src/rds_text.cpp a/src/rds_text.cpp
+--- b/src/rds_text.cpp 2007-03-25 10:11:18.000000000 +0200
++++ a/src/rds_text.cpp 2007-11-26 13:14:00.000000000 +0100
+@@ -36,7 +36,9 @@
+               sn = new eSocketNotifier(eApp, fd, eSocketNotifier::Read);
+               CONNECT(sn->activated, RDSTextDecoder::process_data);
+       }
+-      
++
++      memset(rtp_item, 0, sizeof(rtp_item));
++
+       int x = eSkin::getActive()->queryValue("rds.pos.x", 0);
+       int y = eSkin::getActive()->queryValue("rds.pos.y", 0);
+       int width = eSkin::getActive()->queryValue("rds.pos.width", 0);
+@@ -586,13 +588,19 @@
+                                                                               
+                                                                               unsigned char rtplus_osd_tmp[64];
+                                                                               
+-                                                                              memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
+-                                                                              rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
++                                                                              if (rtp_start[0] < 66 && (rtp_len[0]+rtp_start[0]) < 66)
++                                                                              {
++                                                                                      memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
++                                                                                      rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
++                                                                              }
+                                                                               
+                                                                               if (rtp_typ[0] != rtp_typ[1])
+                                                                               {
+-                                                                                      memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
+-                                                                                      rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
++                                                                                      if (rtp_start[1] < 66 && (rtp_len[1]+rtp_start[1]) < 66)
++                                                                                      {
++                                                                                              memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
++                                                                                              rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
++                                                                                      }
+                                                                               }
+                                                                               // main RTPlus item_types used by the radio stations:
+diff -Naur b/src/rds_text.cpp.patch a/src/rds_text.cpp.patch
+--- b/src/rds_text.cpp.patch   1970-01-01 01:00:00.000000000 +0100
++++ a/src/rds_text.cpp.patch   2007-11-08 23:45:47.000000000 +0100
+@@ -0,0 +1,26 @@
++--- rds_text.cpp.org  2007-03-25 10:11:18.000000000 +0200
+++++ rds_text.cpp      2007-11-08 23:40:37.000000000 +0100
++@@ -586,13 +586,19 @@
++                                                                              
++                                                                              unsigned char rtplus_osd_tmp[64];
++                                                                              
++-                                                                             memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
++-                                                                             rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
+++                                                                             if (rtp_start[0] < 66 && (rtp_len[0]+rtp_start[0]) < 66)
+++                                                                             {
+++                                                                                     memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
+++                                                                                     rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
+++                                                                             }
++                                                                              
++                                                                              if (rtp_typ[0] != rtp_typ[1])
++                                                                              {
++-                                                                                     memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
++-                                                                                     rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
+++                                                                                     if (rtp_start[1] < 66 && (rtp_len[1]+rtp_start[1]) < 66)
+++                                                                                     {
+++                                                                                             memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
+++                                                                                             rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
+++                                                                                     }
++                                                                              }
++ 
++                                                                              // main RTPlus item_types used by the radio stations:
diff --git a/packages/enigma/enigma/rotor_fix.diff b/packages/enigma/enigma/rotor_fix.diff
new file mode 100644 (file)
index 0000000..eb64630
--- /dev/null
@@ -0,0 +1,423 @@
+diff -Naur enigma_org/include/lib/dvb/frontend.h enigma/include/lib/dvb/frontend.h
+--- enigma_org/include/lib/dvb/frontend.h      2007-08-06 22:54:26.000000000 +0200
++++ enigma/include/lib/dvb/frontend.h  2007-08-06 22:47:44.000000000 +0200
+@@ -74,41 +74,43 @@
+ class eFrontend: public Object
+ {
+       int type,
+-                      fd,
++              fd,
+ #if HAVE_DVB_API_VERSION < 3
+-                      secfd,
++              secfd,
+ #else
+-                      curContTone,
+-                      curVoltage,
++              curContTone,
++              curVoltage,
+ #endif
+-                      needreset,
+-                      lastcsw,
+-                      lastucsw,
+-                      lastToneBurst,
+-                      lastRotorCmd,
+-                      lastSmatvFreq,
+-                      curRotorPos;    // current Orbital Position
++              needreset,
++              lastcsw,
++              lastucsw,
++              lastToneBurst,
++              lastRotorCmd,
++              lastSmatvFreq,
++              curRotorPos;    // current Orbital Position
+       eLNB *lastLNB;
+       eTransponder *transponder;
+       static eFrontend *frontend;
+       eTimer rotorTimer1, rotorTimer2, 
+ #if HAVE_DVB_API_VERSION >=3
+-                              timeout,
++              timeout,
+ #endif
+-                              checkRotorLockTimer, checkLockTimer, updateTransponderTimer;
++              checkRotorLockTimer, checkLockTimer, updateTransponderTimer;
+       eSocketNotifier *sn;
+       int tries, noRotorCmd, wasLoopthrough, lostlockcount;
+       Signal1<void, eTransponder*> tpChanged;
+ // ROTOR INPUTPOWER
+       timeval rotorTimeout;
+-      int idlePowerInput;
+-      int runningPowerInput;
+-      int newPos;
++      int idlePowerInput_l,
++              idlePowerInput_h,
++              runningPowerInput,
++              newPos,
++              voltageState;
+ // Non blocking rotor turning
+       int DeltaA,
+-                      voltage,
+-                      increased;
++              voltage,
++              increased;
+ ///////////////////
+ #if HAVE_DVB_API_VERSION < 3
+       FrontendParameters front;
+diff -Naur enigma_org/lib/dvb/frontend.cpp enigma/lib/dvb/frontend.cpp
+--- enigma_org/lib/dvb/frontend.cpp    2007-08-06 22:54:26.000000000 +0200
++++ enigma/lib/dvb/frontend.cpp        2007-08-06 22:55:48.000000000 +0200
+@@ -29,6 +29,10 @@
+ eFrontend* eFrontend::frontend;
++#ifndef I2C_SLAVE_FORCE
++#define I2C_SLAVE_FORCE       0x0706
++#endif
++
+ eFrontend::eFrontend(int type, const char *demod, const char *sec)
+ :type(type), 
+       curRotorPos(10000), transponder(0), rotorTimer1(eApp), 
+@@ -37,7 +41,8 @@
+       timeout(eApp), 
+ #endif
+       checkRotorLockTimer(eApp), checkLockTimer(eApp), 
+-      updateTransponderTimer(eApp), sn(0), noRotorCmd(0)
++      updateTransponderTimer(eApp), sn(0), noRotorCmd(0),
++      idlePowerInput_l(0), idlePowerInput_h(0)
+ {
+       CONNECT(rotorTimer1.timeout, eFrontend::RotorStartLoop );
+       CONNECT(rotorTimer2.timeout, eFrontend::RotorRunningLoop );
+@@ -112,6 +117,40 @@
+       }
+ }
++#define STATIC 0
++#define DYNAMIC 1
++void setCurrentLimitingMode(int mode)
++{
++#if HAVE_DVB_API_VERSION < 3
++#warning FIXME setCurrentLimitingMode just for frontends with LNBP21
++      if ( eSystemInfo::getInstance()->getHwType() == eSystemInfo::DM7020 
++              || eSystemInfo::getInstance()->getHwType() == eSystemInfo::DM500PLUS
++              || eSystemInfo::getInstance()->getHwType() == eSystemInfo::DM600PVR )
++      {
++              int fd=::open("/dev/i2c/0", O_RDWR);
++              if ( fd >= 0 )
++              {
++                      unsigned char data[2];
++                      ::ioctl(fd, I2C_SLAVE_FORCE, 0x10 >> 1);
++                      if(::read(fd, data, 1) != 1)
++                              eDebug("error read lnbp (%m)");
++                      else
++                      {
++                              if (mode == STATIC)
++                                      data[0] |= 0x80;  // set static current limiting
++                              else
++                                      data[0] &= ~0x80; // set dynamic current limiting
++                              if(::write(fd, data, 1) != 1)
++                                      eDebug("error write lnbp (%m)");
++                      }
++                      ::close(fd);
++              }
++              else
++                      eDebug("couldn't open /dev/i2c/0 (%m)");
++      }
++#endif
++}
++
+ void eFrontend::checkRotorLock()
+ {
+       if (!transponder)
+@@ -130,6 +166,7 @@
+                               {
+                                       eDebug("[FE] rotor has stopped..");
+                                       curRotorPos=newPos;
++                                      setCurrentLimitingMode(DYNAMIC);
+                                       /*emit*/ tunedIn(transponder, 0);
+ //                                    eDebug("!!!!!!!!!!!!!!!! TUNED IN OK 1 !!!!!!!!!!!!!!!!");
+                                       if ( !eDVB::getInstance()->getScanAPI() )
+@@ -832,7 +869,10 @@
+                       seq.voltage=SEC_VOLTAGE_OFF;
+                       break;
+       }
+-      return ::ioctl(secfd, SEC_SEND_SEQUENCE, &seq);
++      int ret = ::ioctl(secfd, SEC_SEND_SEQUENCE, &seq);
++      if ( ret < 0 )
++              eDebug("SEC_SEND_SEQUENCE failed(%m)");
++      return ret;
+ }
+ #else
+ int eFrontend::SendSequence( const eSecCmdSequence &seq )
+@@ -1033,10 +1073,7 @@
+       // send DiSEqC Sequence ( normal diseqc switches )
+       seq.continuousTone = eSecCmdSequence::TONE_OFF;
+       if ( SendSequence(seq) < 0 )
+-      {
+-              eDebug("SendSequence failed (%m)");
+               return -1;
+-      }
+       else if ( lnb->getDiSEqC().SeqRepeat )   // Sequence Repeat selected ?
+       {
+               usleep( 100000 ); // between seq repeats we wait 75ms
+@@ -1048,6 +1085,7 @@
+               usleep( 100000 ); // wait 100ms
+       // send DiSEqC Sequence (Rotor)
++      setCurrentLimitingMode(STATIC);
+       seq.commands=&commands[seq.numCommands];  // last command is rotor cmd... see above...
+       seq.numCommands=1;  // only rotor cmd
+       seq.toneBurst = eSecCmdSequence::NONE;
+@@ -1072,7 +1110,6 @@
+ #else
+       dvb_diseqc_master_cmd *commands = seq.commands;
+ #endif
+-      idlePowerInput=0;
+       runningPowerInput=0;
+       int secTone = seq.continuousTone;
+@@ -1086,14 +1123,12 @@
+       seq.continuousTone=SEC_TONE_OFF;
+       if ( SendSequence(seq) < 0 )
+-      {
+-              eDebug("SendSequence failed (%m)");
+               return -2;
+-      }
+       else if ( lnb->getDiSEqC().SeqRepeat )   // Sequence Repeat selected ?
+       {
+               usleep( 100000 ); // between seq repeats we wait 100ms
+-              SendSequence(seq);  // then repeat the cmd
++              if ( SendSequence(seq) < 0 )
++                      return -2;
+       }
+       if ( lastLNB != lnb )
+@@ -1103,15 +1138,48 @@
+       }
+       else
+       {
+-              usleep( 100*1000 ); // wait 100ms
+-//            eDebug("sleep 100ms");
++              usleep( 50*1000 ); // wait 50ms
++//            eDebug("sleep 50ms");
++      }
++
++      // get power input of Rotor on idle 13V .. only working with a dreambox
++      if ( !idlePowerInput_l )
++      {
++              idlePowerInput_l = readInputPower();
++              if ( idlePowerInput_l < 0 )
++                      return idlePowerInput_l;
++//            eDebug("idle power input l = %dmA", idlePowerInput_l );
+       }
+-// get power input of Rotor on idle  not work on dbox yet .. only dreambox
+-      idlePowerInput = readInputPower();
+-      if ( idlePowerInput < 0 )
+-              return idlePowerInput;
+-// eDebug("idle power input = %dmA", idlePowerInput );
++      setCurrentLimitingMode(STATIC);
++
++      // get power input of Rotor on idle 18V .. only working with a dreambox
++      if ( !idlePowerInput_h)
++      {
++#if HAVE_DVB_API_VERSION < 3
++              if (::ioctl(secfd, SEC_SET_VOLTAGE, increased ? SEC_VOLTAGE_18_5 : SEC_VOLTAGE_18) < 0 )
++                      eDebug("SEC_SET_VOLTAGE failed (%m)");
++#else
++               if ( ::ioctl(fd, FE_SET_VOLTAGE, SEC_VOLTAGE_18) < 0 )
++                      eDebug("FE_SET_VOLTAGE failed (%m)");
++#endif
++              usleep( 50*1000 ); // wait 50ms
++              idlePowerInput_h = readInputPower();
++              if ( idlePowerInput_h < 0 )
++              {
++                      setCurrentLimitingMode(DYNAMIC);
++                      return idlePowerInput_h;
++              }
++//            eDebug("idle power input h = %dmA", idlePowerInput_h );
++#if HAVE_DVB_API_VERSION < 3
++              if (::ioctl(secfd, SEC_SET_VOLTAGE, increased ? SEC_VOLTAGE_13_5 : SEC_VOLTAGE_13) < 0 )
++                      eDebug("SEC_SET_VOLTAGE failed (%m)");
++#else
++              if ( ::ioctl(fd, FE_SET_VOLTAGE, SEC_VOLTAGE_13) < 0 )
++                      eDebug("FE_SET_VOLTAGE failed (%m)");
++#endif
++              usleep( 50*1000 ); // wait 50ms
++      }
+       // send DiSEqC Sequence (Rotor)
+       seq.commands=&commands[seq.numCommands];  // last command is rotor cmd... see above...
+@@ -1122,7 +1190,7 @@
+       seq.continuousTone=secTone;
+       if ( SendSequence(seq) < 0 )
+       {
+-              eDebug("SendSequence failed (%m)");
++              setCurrentLimitingMode(DYNAMIC);
+               return -2;
+       }
+       // set rotor start timeout  // 2 sek..
+@@ -1147,11 +1215,14 @@
+       {
+               runningPowerInput = readInputPower();
+               if ( runningPowerInput < 0 )
++              {
++                      setCurrentLimitingMode(DYNAMIC);
+                       return;
++              }
+ //            eDebug("running %d mA", runningPowerInput);
+ //            eDebug("delta %d mA", DeltaA);
+-              if ( abs(runningPowerInput-idlePowerInput ) >= (DeltaA&0xFF) ) // rotor running ?
++              if ( abs(runningPowerInput-idlePowerInput_l ) >= (DeltaA&0xFF) ) // rotor running ?
+               {
+                       if ( (DeltaA & 0x200) == 0x200 )
+                       {
+@@ -1182,17 +1253,43 @@
+ {
+       timeval now;
+       gettimeofday(&now,0);
++
++      if ( voltageState == eSecCmdSequence::VOLTAGE_13 )
++      {
++              timeval tmp = rotorTimeout - now;
++              int timeout_msek = tmp.tv_sec * 1000 + tmp.tv_usec / 1000;
++              if ( timeout_msek < 149700 ) // rotor running at least 300msek?
++              {
++                      // then switch to higher voltage
++#if HAVE_DVB_API_VERSION < 3
++                      if (::ioctl(secfd, SEC_SET_VOLTAGE, increased ? SEC_VOLTAGE_18_5 : SEC_VOLTAGE_18) < 0 )
++                              eDebug("SEC_SET_VOLTAGE failed (%m)");
++#else
++                       if ( ::ioctl(fd, FE_SET_VOLTAGE, voltage) < 0 )
++                              eDebug("FE_SET_VOLTAGE failed (%m)");
++                      curVoltage = voltage;
++#endif
++                      voltageState = eSecCmdSequence::VOLTAGE_18;
++              }
++      }
++
+       if ( rotorTimeout < now )
+       {
+               eDebug("Rotor timeouted :-(");
+               /* emit */ s_RotorTimeout();
++              setCurrentLimitingMode(DYNAMIC);
+       }
+       else
+       {
++              int &idlePowerInput = (voltageState == eSecCmdSequence::VOLTAGE_13) ? idlePowerInput_l : idlePowerInput_h;
++
+               runningPowerInput = readInputPower();
+               if ( runningPowerInput < 0 )
++              {
++                      setCurrentLimitingMode(DYNAMIC);
+                       return;
+-//            eDebug("running %d mA", runningPowerInput);
++              }
++              // eDebug("running %d mA, idle %d mA", runningPowerInput, idlePowerInput);
+               if ( abs( idlePowerInput-runningPowerInput ) <= (DeltaA&0xFF) ) // rotor stoped ?
+               {
+@@ -1216,7 +1313,8 @@
+ {
+       if (type != eSystemInfo::feSatellite)
+               return;
+-      if ( eSystemInfo::getInstance()->canMeasureLNBCurrent() == 1 )
++      setCurrentLimitingMode(DYNAMIC);
++      if ( voltageState == eSecCmdSequence::VOLTAGE_18 )
+       {
+               if ( voltage != eSecCmdSequence::VOLTAGE_18 )
+ #if HAVE_DVB_API_VERSION < 3
+@@ -1228,7 +1326,7 @@
+               curVoltage = voltage;
+ #endif
+       }
+-      else  // can only measure with lower lnb voltage ( 13V )
++      else
+       {
+               if ( voltage != eSecCmdSequence::VOLTAGE_13 )
+ #if HAVE_DVB_API_VERSION < 3
+@@ -1466,7 +1564,10 @@
+       checkLockTimer.stop();
+       if ( curRotorPos > 11000 )
++      {
+               curRotorPos = 11000;
++              setCurrentLimitingMode(DYNAMIC);
++      }
+ //    eDebug("ROTOR STOPPED 1");
+       /* emit */ s_RotorStopped();
+@@ -1886,16 +1987,10 @@
+                       commands[cmdCount-1].u.diseqc.params[1]);
+ #endif
+-              // drive rotor with 18V when we can measure inputpower
+-              // or we know which orbital pos currently is selected
++              // when we can measure inputpower we start rotor turning with 13V
+               if ( lnb->getDiSEqC().useRotorInPower&1 )
+-              {
+-                      if ( eSystemInfo::getInstance()->canMeasureLNBCurrent() == 1 )  // can measure with voltage > 13V ?
+-                              seq.voltage = eSecCmdSequence::VOLTAGE_18;
+-                      else
+-                              seq.voltage = eSecCmdSequence::VOLTAGE_13;
+-              }
+-              else
++                      voltageState = seq.voltage = eSecCmdSequence::VOLTAGE_13;
++              else  // without measure input power we must start with the correct voltage
+                       seq.voltage = voltage;
+               lastRotorCmd=RotorCmd;
+@@ -1926,14 +2021,12 @@
+ send:
+               seq.voltage=voltage;
+               if ( SendSequence(seq) < 0 )
+-              {
+-                      eDebug("SendSequence failed (%m)");
+                       return -1;
+-              }
+               else if ( lnb->getDiSEqC().DiSEqCMode >= eDiSEqC::V1_1 && lnb->getDiSEqC().SeqRepeat )  // Sequence Repeat ?
+               {
+                       usleep( 100000 ); // between seq repeats we wait 80ms
+-                      SendSequence(seq);  // just do it *g*
++                      if ( SendSequence(seq) < 0 )
++                              return -1;
+               }
+       }
+       else if ( lastcsw != csw )
+@@ -2083,10 +2176,7 @@
+               seq.continuousTone = eSecCmdSequence::TONE_OFF;
+               seq.toneBurst = eSecCmdSequence::NONE;
+               if (SendSequence(seq) < 0 )
+-              {
+-                      eDebug("SendSequence failed (%m)");
+                       return -1;
+-              }
+       }
+       if ( ioctl(fd, FE_SET_POWER_STATE, FE_POWER_OFF) < 0 )
+               eDebug("FE_SET_POWER_STATE failed (%m)");
+diff -Naur enigma_org/lib/system/info.cpp enigma/lib/system/info.cpp
+--- enigma_org/lib/system/info.cpp     2007-08-06 22:54:26.000000000 +0200
++++ enigma/lib/system/info.cpp 2007-08-06 22:47:44.000000000 +0200
+@@ -177,19 +177,8 @@
+                                       midstr="9";
+                                       modelstr="DM7020";
+                                       cpustr="STB04500, 252MHz";
+-                                      hasrfmod = hashdd = haslcd = hasci
+-                                      = canrecordts = hasstandbywakeuptimer = cantimeshift = 1;
+-                                      // check if the box revision is new enough to measure
+-                                      // lnb power with > 13V ( revisions with lnbp21 can this )
+-                                      int fd = open("/dev/dbox/fp0", O_RDWR);
+-                                      if ( fd >=0 )
+-                                      {
+-                                              if ( ::ioctl( fd, 0x100, 0 ) == 0 )
+-                                                      canmeasurelnbcurrent=1;
+-                                              else
+-                                                      canmeasurelnbcurrent=2;
+-                                              close(fd);
+-                                      }
++                                      hasrfmod = hashdd = haslcd = hasci = canrecordts =
++                                      hasstandbywakeuptimer = cantimeshift = canmeasurelnbcurrent = 1;
+                                       hwtype = DM7020;
+                                       defaulttimertype=ePlaylistEntry::RecTimerEntry|ePlaylistEntry::recDVR;
+                                       break;
diff --git a/packages/enigma/enigma/subtitlefix_backport.diff b/packages/enigma/enigma/subtitlefix_backport.diff
new file mode 100644 (file)
index 0000000..f1c84e9
--- /dev/null
@@ -0,0 +1,185 @@
+--- enigma_org/lib/dvb/subtitle.cpp    2 Aug 2005 20:35:36 -0000       1.13
++++ enigma/lib/dvb/subtitle.cpp        21 Nov 2007 11:52:51 -0000
+@@ -337,6 +337,19 @@
+                               delete page->page_regions;
+                               page->page_regions = p;
+                       }
++                      while (page->regions)
++                      {
++                              struct subtitle_region *p = page->regions->next;
++                              while(page->regions->region_objects)
++                              {
++                                      subtitle_region_object *ob = page->regions->region_objects->next;
++                                      delete page->regions->region_objects;
++                                      page->regions->region_objects = ob;
++                              }
++                              delete [] page->regions->region_buffer;
++                              delete page->regions;
++                              page->regions = p;
++                      }
+               }
+ //            eDebug("new page.. (%d)", page_state);
+@@ -352,7 +365,14 @@
+                       // go to last entry
+               while (*r)
+                       r = &(*r)->next;
+-              
++
++              if (processed_length == segment_length && !page->page_regions)
++              {
++//                    eDebug("no regions in page.. clear screen!!");
++                      if (sub->screen_enabled)
++                              subtitle_redraw_all(sub);
++              }
++
+               while (processed_length < segment_length)
+               {
+                       struct subtitle_page_region *pr;
+@@ -763,20 +783,16 @@
+ #if 1
+       struct subtitle_page *page = sub->pages;
+       if ( page )
+-      {
+-              struct subtitle_page_region *region = page->page_regions;
+-              if ( region )
+-                      subtitle_clear_screen(sub);
+-      }
++              subtitle_clear_screen(sub);
+       while(page)
+       {
+               subtitle_redraw(sub, page->page_id);
+               page = page->next;
+       }
+ #else
+-      subtitle_clear_screen(sub);
+-
+       struct subtitle_page *page = sub->pages;
++      if ( page )
++              subtitle_clear_screen(sub);
+       //eDebug("----------- end of display set");
+       //eDebug("active pages:");
+       while (page)
+@@ -878,7 +894,6 @@
+               return;
+       }
+       
+-      
+       //eDebug("iterating regions..");
+               /* iterate all regions in this pcs */
+       struct subtitle_page_region *region = page->page_regions;
+@@ -902,20 +917,19 @@
+                       {
+                               if (main_clut_id != clut_id)
+                               {
+-//                                    eDebug("MULTIPLE CLUTS IN USE! prepare for pixelmuell!");
++                                      eDebug("MULTIPLE CLUTS IN USE! prepare for pixelmuell!");
+ //                                    exit(0);
+                               }
+                       }
+                       main_clut_id = clut_id;
+                               
+-                              
+-                      //eDebug("copy region %d to %d, %d", region->region_id, region->region_horizontal_address, region->region_vertical_address);
+-                              
+                       int x0 = region->region_horizontal_address;
+                       int y0 = region->region_vertical_address;
+                       int x1 = x0 + reg->region_width;
+                       int y1 = y0 + reg->region_height;
+-                              
++
++                      //eDebug("copy region %d to %d, %d, size %d %d", region->region_id, x0, y0, x1, y1);
++
+                       if ((x0 < 0) || (y0 < 0) || (x0 > sub->screen_width) || (x0 > sub->screen_height))
+                               continue;
+--- enigma_org/lib/dvb/subtitling.cpp  2 Aug 2005 20:35:36 -0000       1.12
++++ enigma/lib/dvb/subtitling.cpp      21 Nov 2007 11:52:51 -0000
+@@ -67,26 +67,26 @@
+       unsigned long long current = 0;
+       if (Decoder::getSTC(current))
+               eDebug("bloed, going unsyced");
+-      eDebug("DEMUX STC: %08llx\n", current);
++      eDebug("DEMUX STC: %08llx", current);
+       
+       unsigned long long pts = 0;
+       
+-      int enqueue = 0;
+-      
+-      if (!queue.empty())
+-              enqueue = 1;
+-      else if (!extractPTS(pts, pkt))
++      int enqueue = !queue.empty();
++
++      if (!extractPTS(pts, pkt))
+       {
+-              eDebug("PES   STC: %08llx\n", pts);
++              eDebug("PES   STC: %08llx", pts);
+               signed long long int diff = pts - current;
+-              eDebug("      STC: %lld\n", diff);
+-              if (diff > 900000) // 10s
+-              {
+-                      eDebug("rediculous high delay! showing now");
+-              } else if (diff > 2000)
++              eDebug("     diff: %lld(%lldms)", diff, diff/90);
++              if (diff > 1800)
+                       enqueue = 1;
++              else if (enqueue) // this should not happen !!
++              {
++                      eDebug("showing instantly, diff small enough... but queue not empy!!!!");
++                      enqueue = 0;
++              }
+               else
+-                      eDebug("showing instantly, diff small enough!");
++                      eDebug("showing instantly, diff small enough...!");
+       }
+       if (enqueue)
+@@ -98,11 +98,15 @@
+               memcpy(pes.pkt, pkt, len);
+               pes.len = len;
+               queue.push(pes);
++              eDebug("enqueue");
+               if (wasempty)
+               {
+-                      eDebug("setting timer to %d ms!\n", (pes.pts - current) / 90);
++                      eDebug("setting timer to %lld ms!\n", (pes.pts - current) / 90);
+                       timer.start((pes.pts - current) / 90, 1);
+               }
++              else
++                      eDebug("");
++
+               return;
+       }
+       subtitle_process_pes(subtitle, pesbuffer, peslen);
+@@ -155,13 +159,15 @@
+               return;
+       }
+       
+-      eDebug("by the way, actual delay was %lld(%lld msek)\n", current - fpts, (current-fpts)/90 );
++      eDebug("by the way, actual delay was %lld(%lld msek)", current - fpts, (current-fpts)/90 );
+-      if (queue.empty())
+-              return;
+-      
+-      signed long long int diff = queue.front().pts - current;
+-      timer.start(diff / 90, 1);
++      if (!queue.empty()) {
++              signed long long int diff = queue.front().pts - current;
++              timer.start(diff / 90, 1);
++              eDebug("setting timer to %lld ms!\n", diff / 90);
++      }
++      else
++              eDebug("");
+ }
+ void eSubtitleWidget::gotData(int what)
+@@ -377,7 +383,7 @@
+       while (!queue.empty())
+       {
+               pes_packet_s pkt = queue.front();
+-              queue.front();
++              queue.pop();
+               delete [] pkt.pkt;
+       }
+       delete subtitle;
diff --git a/packages/enigma/enigma/timeshiftfix_backport.diff b/packages/enigma/enigma/timeshiftfix_backport.diff
new file mode 100644 (file)
index 0000000..d827fc9
--- /dev/null
@@ -0,0 +1,75 @@
+diff -Naur enigma_org/lib/dvb/decoder.cpp enigma/lib/dvb/decoder.cpp
+--- enigma_org/lib/dvb/decoder.cpp     2006-11-12 22:35:31.000000000 +0100
++++ enigma/lib/dvb/decoder.cpp 2007-10-19 01:10:21.000000000 +0200
+@@ -817,7 +817,7 @@
+ {
+       int wasOpen = fd.mpeg != -1;
+       if ( !wasOpen )
+-              fd.mpeg = ::open("/dev/video", O_WRONLY);
++              fd.mpeg = ::open("/dev/video", O_RDONLY);
+       {
+               if (::ioctl(fd.mpeg, VIDEO_FLUSH_CLIP_BUFFER) < 0)
+                       eDebug("VIDEO_FLUSH_BUFFER failed (%m)");
+@@ -833,7 +833,7 @@
+ {
+       int wasOpen = fd.mpeg != -1;
+       if ( !wasOpen )
+-              fd.mpeg=::open("/dev/video", O_WRONLY);
++              fd.mpeg=::open("/dev/video", O_RDONLY);
+       if ( fd.mpeg > -1 )
+       {
+               if ( ::ioctl(fd.mpeg, VIDEO_CLEAR_SCREEN) < 0 )
+@@ -878,7 +878,7 @@
+ {
+       int wasOpen = fd.mpeg != -1;
+       if ( !wasOpen )
+-              fd.mpeg = ::open("/dev/video", O_WRONLY);
++              fd.mpeg = ::open("/dev/video", O_RDONLY);
+       if ( fd.mpeg > -1 )
+       {
+               if ( ::ioctl(fd.mpeg, VIDEO_SET_FASTZAP, val) < 0 )
+@@ -895,7 +895,7 @@
+ {
+       int wasOpen = fd.mpeg != -1;
+       if ( !wasOpen )
+-              fd.mpeg = ::open("/dev/video", O_WRONLY);
++              fd.mpeg = ::open("/dev/video", O_RDONLY);
+       if ( fd.mpeg > -1 )
+       {
+               if ( ::ioctl(fd.mpeg, VIDEO_SET_AUTOFLUSH, on) < 0 )
+diff -Naur enigma_org/src/enigma_main.cpp enigma/src/enigma_main.cpp
+--- enigma_org/src/enigma_main.cpp     2007-07-03 11:10:12.000000000 +0200
++++ enigma/src/enigma_main.cpp 2007-10-19 11:48:20.000000000 +0200
+@@ -3038,17 +3038,25 @@
+       {
+               if ( ref.type == eServiceReference::idDVB && !ref.path && !timeshift )
+               {
+-                      if (eSystemInfo::getInstance()->canTimeshift() &&
+-                              eSystemInfo::getInstance()->getHwType() != eSystemInfo::DM600PVR &&
+-                              eSystemInfo::getInstance()->getHwType() != eSystemInfo::DM500PLUS
+-                              )
++                      if (eSystemInfo::getInstance()->canTimeshift())
+                       {
+                               if (!eDVB::getInstance()->recorder)
+                               {
+-                                      record();
++                                      switch(eSystemInfo::getInstance()->getHwType())
++                                      {
++                                      case eSystemInfo::DM600PVR:
++                                      case eSystemInfo::DM500PLUS:
++                                              Decoder::setAutoFlushScreen(0);
++                                              Decoder::Pause(2);  // freeze frame
++                                              record();
++                                              break;
++                                      default:
++                                              record();
++                                              Decoder::setAutoFlushScreen(0);
++                                              Decoder::Pause(2);  // freeze frame
++                                              break;
++                                      }
+                                       timeshift=1;
+-                                      Decoder::Pause(2);  // freeze frame
+-                                      Decoder::setAutoFlushScreen(0);
+                                       handler->serviceCommand(eServiceCommand(eServiceCommand::cmdSetSpeed, -1));
+                                       Decoder::setAutoFlushScreen(1);
+                               }
diff --git a/packages/enigma/enigma_cvs.bb b/packages/enigma/enigma_cvs.bb
new file mode 100644 (file)
index 0000000..412d7d2
--- /dev/null
@@ -0,0 +1,82 @@
+DEPENDS = "jpeg libungif libid3tag libmad libpng libsigc++-1.2 gettext-native tuxbox-libs tuxbox-plugins dreambox-dvbincludes mtd-utils freetype"
+DESCRIPTION = "Enigma is a framebuffer-based frontend for DVB functions"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+
+SRCDATE = "20070615"
+PV = "cvs-${SRCDATE}"
+PN = "enigma"
+PR = "r4"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/enigma;method=ext \
+           file://enigma.sh \
+           file://config \
+           file://userbouquet* \
+           http://sources.dreamboxupdate.com/download/opendreambox/enigma/boot-${MACHINE} \
+           file://enigma_enter_standby.sh \
+           file://enigma_leave_standby.sh \
+           file://rotor_fix.diff;patch=1;pnum=1 \
+           file://disable_boot.diff;patch=1;pnum=1 \
+          file://epgfix_backport.diff;patch=1;pnum=1 \
+          file://timeshiftfix_backport.diff;patch=1;pnum=1 \
+          file://subtitlefix_backport.diff;patch=1;pnum=1 \
+          file://rdstextfix_backport.diff;patch=1;pnum=1 \
+          file://duplicate_tsid_onid_cable_terrestrial_fix_backport.diff;patch=1;pnum=1"
+
+# dm600pvr and dm500plus don't have a FP, so they can't really switch of. Show a shutdown pic instead.
+SRC_URI_append_dm600pvr = " http://sources.dreamboxupdate.com/download/opendreambox/enigma/showshutdownpic-${MACHINE} \
+          file://add_blindscan_to_menu.diff;patch=1;pnum=1 \
+          http://sources.dreamboxupdate.com/download/patches/enigma_add_cable_blindscan.diff;patch=1;pnum=1"
+SRC_URI_append_dm500plus = " http://sources.dreamboxupdate.com/download/opendreambox/enigma/showshutdownpic-${MACHINE} \
+          file://add_blindscan_to_menu.diff;patch=1;pnum=1"
+
+S = "${WORKDIR}/enigma"
+
+FILES_${PN} += " ${datadir}/tuxbox ${datadir}/fonts"
+
+PACKAGES_DYNAMIC = "enigma-locale-*"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--with-target=native --with-boxtype=${MACHINE} --with-webif=standard --with-epg=private --with-enigma-debug=yes --with-reiserfs=no"
+
+do_configure_prepend() {
+       mkdir -p m4
+}
+
+do_compile_prepend() {
+       chmod ugo+x ${S}/po/xml2po
+}
+
+do_stage_append() {
+       install -d ${STAGING_INCDIR}/enigma
+       install -m 0644 ${WORKDIR}/enigma/include/*.h ${STAGING_INCDIR}/enigma
+       for dir in base dvb dvb/lowlevel codecs driver gdi gui socket system picviewer movieplayer; do
+               install -d ${STAGING_INCDIR}/enigma/lib/$dir;
+               install -m 0644 ${WORKDIR}/enigma/include/lib/$dir/*.h ${STAGING_INCDIR}/enigma/lib/$dir;
+       done;
+       rm -R ${STAGING_INCDIR}/enigma/src 2> /dev/null || /bin/true
+       install -m 0644 ${WORKDIR}/enigma/src/*.h ${STAGING_INCDIR}/enigma
+       ln -sf ${STAGING_INCDIR}/enigma ${STAGING_INCDIR}/enigma/src
+}
+
+do_install_append() {
+       install -d ${D}/usr/share/enigma/default
+       install -d ${D}/usr/share/enigma/default/cable
+       install -d ${D}/usr/share/enigma/default/terrestrial
+       mv ${D}/etc/enigma/* ${D}/usr/share/enigma/default 2> /dev/null || /bin/true
+       rm -R ${D}/etc/enigma 2> /dev/null || /bin/true
+       install -m 0644 ${WORKDIR}/config ${D}/usr/share/enigma/default/
+       if [ "${MACHINE}" = "dm600pvr" -o "${MACHINE}" = "dm500plus" ]; then
+               install -m 0755 ${WORKDIR}/showshutdownpic-${MACHINE} ${D}/usr/bin/showshutdownpic
+               # vulcan-based boxes don't look that well with too much alpha
+               echo "i:/ezap/osd/alpha=00000000" >> ${D}/usr/share/enigma/default/config
+               echo "i:/ezap/osd/simpleMainMenu=00000001" >> ${D}/usr/share/enigma/default/config
+       fi
+       install -m 0644 ${WORKDIR}/userbouquet* ${D}/usr/share/enigma/default/
+       install -m 0755 ${WORKDIR}/enigma.sh ${D}/usr/bin/
+       install -m 0755 ${WORKDIR}/boot-${MACHINE} ${D}/usr/bin/boot
+       install -d ${D}/etc
+       install -m 0755 ${WORKDIR}/enigma_enter_standby.sh ${D}/etc
+       install -m 0755 ${WORKDIR}/enigma_leave_standby.sh ${D}/etc
+}
diff --git a/packages/enigma/ipkgpl.bb b/packages/enigma/ipkgpl.bb
new file mode 100644 (file)
index 0000000..eb4e366
--- /dev/null
@@ -0,0 +1,23 @@
+DEPENDS = "enigma"
+RDEPENDS = "enigma ipkg"
+DESCRIPTION = "Enigma Plugin IPKG"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+PV = "0.2.1"
+PR = "r1"
+SRC_URI =  "http://sources.dreamboxupdate.com/download/opendreambox/enigma/ipkgpl-${PV}-r1.tar.bz2"
+
+S = "${WORKDIR}/ipkgpl"
+
+FILES_${PN} =  "/usr/lib/tuxbox/plugins/ipkgpl.so \
+               /usr/lib/tuxbox/plugins/ipkgpl.cfg"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--with-target=native "
+
+do_install() {
+       install -d ${D}/usr/lib/tuxbox/plugins
+       install ${S}/.libs/ipkgpl.so ${D}/usr/lib/tuxbox/plugins
+       install -m 0644 ${S}/ipkgpl.cfg ${D}/usr/lib/tuxbox/plugins
+}
diff --git a/packages/enigma2/enigma2-defaultservices.bb b/packages/enigma2/enigma2-defaultservices.bb
new file mode 100644 (file)
index 0000000..af0989a
--- /dev/null
@@ -0,0 +1,20 @@
+DESCRIPTION = "enigma2 default services/transponder"
+PRIORITY = "optional"
+LICENSE = "proprietary"
+MAINTAINER = "tmbinc@elitedvb.net"
+
+PR = "r1"
+
+SRC_URI = "file://*"
+
+S = "${WORKDIR}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+do_install() {
+       install -d ${D}/usr/share/enigma2/dealer
+       install ${WORKDIR}/*.info ${D}/usr/share/enigma2/dealer
+       install ${WORKDIR}/lamedb.* ${D}/usr/share/enigma2/dealer
+}
+
+FILES_${PN} = "/"
diff --git a/packages/enigma2/enigma2-defaultservices/lamedb.130 b/packages/enigma2/enigma2-defaultservices/lamedb.130
new file mode 100644 (file)
index 0000000..fdac39e
--- /dev/null
@@ -0,0 +1,6492 @@
+eDVB services /3/
+transponders
+00820000:00c9:0006
+       s 10775000:28000000:0:3:130:2
+/
+00820000:012d:0006
+       s 11095910:28000000:0:3:130:2
+/
+00820000:1250:0064
+       s 11013000:27500000:0:3:130:2
+/
+00820000:1ce8:0071
+       s 12188000:27500000:1:3:130:2
+/
+00820000:1e78:0071
+       s 12264000:27500000:1:3:130:2
+/
+00820000:1edc:0071
+       s 12284000:27500000:0:3:130:2
+/
+00820000:3390:0071
+       s 11159000:27500000:1:3:130:2
+/
+00820000:2bc0:00b0
+       s 10758000:27500000:1:3:130:2
+/
+00820000:2c88:00b0
+       s 10795000:27500000:1:3:130:2
+/
+00820000:2d50:00b0
+       s 10834000:27500000:1:3:130:2
+/
+00820000:2e18:00b0
+       s 10872000:27500000:1:3:130:2
+/
+00820000:2ee0:00b0
+       s 10911000:27500000:1:3:130:2
+/
+00820000:3db8:00b0
+       s 11662000:27500000:1:3:130:2
+/
+00820000:0708:00c8
+       s 11541030:22000000:1:4:130:2
+/
+00820000:0389:0110
+       s 11431800:27500000:1:1:130:2
+/
+00820000:1770:0110
+       s 11919000:27500000:1:2:130:2
+/
+00820000:00c8:013e
+       s 11240000:27500000:1:3:130:2
+/
+00820000:01f4:013e
+       s 11295900:27500000:0:3:130:2
+/
+00820000:03e8:013e
+       s 11393000:27500000:1:3:130:2
+/
+00820000:044c:013e
+       s 11411050:27500000:0:4:130:2
+/
+00820000:0514:013e
+       s 11449000:27500000:0:2:130:2:1:2:0:2
+/
+00820000:0578:013e
+       s 11258000:27500000:0:2:130:2:1:2:0:2
+/
+00820000:05dc:013e
+       s 11487770:27500000:0:3:130:2
+/
+00820000:06a4:013e
+       s 11526000:27500000:0:3:130:2
+/
+00820000:1388:013e
+       s 11727480:27500000:1:3:130:2
+/
+00820000:13ef:013e
+       s 11747000:27500000:0:3:130:2
+/
+00820000:1450:013e
+       s 11766000:27500000:1:2:130:2
+/
+00820000:14b4:013e
+       s 11785000:27500000:0:3:130:2
+/
+00820000:1518:013e
+       s 11804200:27500000:1:2:130:2
+/
+00820000:157c:013e
+       s 11823000:27500000:0:3:130:2
+/
+00820000:17d4:013e
+       s 11938000:27500000:0:3:130:2
+/
+00820000:1964:013e
+       s 12015000:27500000:0:3:130:2
+/
+00820000:1af4:013e
+       s 12092000:27500000:0:3:130:2
+/
+00820000:1b58:013e
+       s 12111000:27500000:1:3:130:2
+/
+00820000:1bbc:013e
+       s 12144760:3333000:0:3:130:2
+/
+00820000:1c20:013e
+       s 12149000:27500000:1:3:130:2
+/
+00820000:1c84:013e
+       s 12169000:27500000:0:3:130:2
+/
+00820000:1e14:013e
+       s 12245000:27500000:0:3:130:2
+/
+00820000:1f40:013e
+       s 12303000:27500000:1:3:130:2
+/
+00820000:1fa4:013e
+       s 12322000:27500000:0:3:130:2
+/
+00820000:206c:013e
+       s 12360420:27500000:0:3:130:2
+/
+00820000:20d0:013e
+       s 12379000:27500000:1:3:130:2
+/
+00820000:2134:013e
+       s 12398780:27500000:0:3:130:2
+/
+00820000:21fc:013e
+       s 12437000:27500000:0:3:130:2
+/
+00820000:22c4:013e
+       s 12475500:27500000:0:3:130:2
+/
+00820000:2328:013e
+       s 12519840:27500000:1:3:130:2
+/
+00820000:238c:013e
+       s 12539020:27500000:0:3:130:2
+/
+00820000:2454:013e
+       s 12577000:27500000:0:3:130:2
+/
+00820000:24b8:013e
+       s 12596560:27500000:1:3:130:2
+/
+00820000:2648:013e
+       s 12673000:27500000:1:3:130:2
+/
+00820000:2af8:013e
+       s 10719000:27500000:1:3:130:2
+/
+00820000:2b5c:013e
+       s 10723000:29900000:0:3:130:2
+/
+00820000:2cec:013e
+       s 10829500:3333000:0:3:130:2
+/
+00820000:2e7c:013e
+       s 10892000:27500000:0:3:130:2
+/
+00820000:2f44:013e
+       s 10930000:27500000:0:3:130:2
+/
+00820000:2fa8:013e
+       s 10949000:27500000:1:3:130:2
+/
+00820000:300c:013e
+       s 10971000:27500000:0:3:130:2
+/
+00820000:3070:013e
+       s 10992160:27500000:1:2:130:2
+/
+00820000:3138:013e
+       s 11034000:27500000:1:3:130:2
+/
+00820000:319c:013e
+       s 11054000:27500000:0:4:130:2
+/
+00820000:3200:013e
+       s 11075000:27500000:1:3:130:2
+/
+00820000:32c8:013e
+       s 11117000:27500000:1:3:130:2
+/
+00820000:332c:013e
+       s 11137000:27500000:0:3:130:2
+/
+00820000:33f4:013e
+       s 11179000:27500000:0:3:130:2
+/
+00820000:3458:013e
+       s 11200000:27500000:1:4:130:2
+/
+00820000:3bc4:013e
+       s 11565740:27500000:0:3:130:2
+/
+00820000:3c28:013e
+       s 11585000:27500000:1:3:130:2
+/
+00820000:3c8c:013e
+       s 11604100:27500000:0:4:130:2
+/
+00820000:3cf0:013e
+       s 11623280:27500000:1:3:130:2
+/
+00820000:3d54:013e
+       s 11642500:27500000:0:3:130:2
+/
+00820000:23f0:013f
+       s 12558200:27500000:1:3:130:2
+/
+00820000:26ac:013f
+       s 12692000:27500000:0:3:130:2
+/
+00820000:3e1c:013f
+       s 11681000:27500000:0:3:130:2
+/
+00820000:25e4:02be
+       s 12654000:27500000:0:3:130:2
+/
+00820000:0064:fbff
+       s 11219250:27500000:0:3:130:2
+/
+00820000:0320:fbff
+       s 11355080:27500000:1:3:130:2
+/
+00820000:15e0:fbff
+       s 11842000:27500000:1:3:130:2
+/
+00820000:1644:fbff
+       s 11861000:27500000:0:3:130:2
+/
+00820000:16a8:fbff
+       s 11880000:27500000:1:3:130:2
+/
+00820000:170c:fbff
+       s 11900000:27500000:0:3:130:2
+/
+00820000:1838:fbff
+       s 11958000:27500000:1:3:130:2
+/
+00820000:189c:fbff
+       s 11976000:27500000:0:3:130:2
+/
+00820000:1900:fbff
+       s 11996000:27500000:1:2:130:2:1:2:2:2
+/
+00820000:19c8:fbff
+       s 12034000:27500000:1:3:130:2
+/
+00820000:1a2c:fbff
+       s 12054000:27500000:0:3:130:2
+/
+00820000:1a90:fbff
+       s 12072000:27500000:1:3:130:2
+/
+00820000:2008:fbff
+       s 12341000:27500000:1:3:130:2
+/
+00820000:2198:fbff
+       s 12418000:27500000:1:3:130:2
+/
+00820000:2260:fbff
+       s 12465910:27500000:1:3:130:2
+/
+00820000:251c:fbff
+       s 12616000:27500000:0:3:130:2
+/
+00820000:2580:fbff
+       s 12635000:27500000:1:3:130:2
+/
+00820000:2710:fbff
+       s 12713000:27500000:1:3:130:2
+/
+00820000:2774:fbff
+       s 12731000:27500000:0:3:130:2
+/
+00822a65:2db4:0000
+       s 10853440:27500000:0:3:130:2
+/
+00822faf:0001:0001
+       s 12207000:27500000:0:3:130:2
+/
+0082afc1:0065:0001
+       s 12225000:27500000:1:3:130:2
+/
+end
+services
+0009:00820000:3200:013e:0:0
+
+p:,f:40
+0015:00820000:0389:0110:0:0
+Servizio 21 
+p:,f:40
+0017:00820000:0389:0110:0:0
+Servizio 23
+p:,f:40
+0018:00820000:0389:0110:0:0
+Servizio 24 
+p:,f:40
+0019:00820000:0389:0110:0:0
+Servizio 25
+p:,f:40
+001a:00820000:0389:0110:0:0
+Servizio 26
+p:,f:40
+001b:00820000:0389:0110:0:0
+Servizio 27
+p:,f:40
+001c:00820000:0389:0110:0:0
+Servizio 28 
+p:,f:40
+001d:00820000:0389:0110:0:0
+Servizio 29
+p:,f:40
+001e:00820000:0389:0110:0:0
+Servizio 30
+p:,f:40
+3623:00820000:00c8:013e:0:0
+SSU Orange
+p:EUTELSAT,f:40
+3624:00820000:00c8:013e:0:0
+SSU
+p:EUTELSAT,f:40
+225f:00820000:1af4:013e:0:0
+
+p:,f:40
+12cf:00820000:2e7c:013e:0:0
+119 test 1 E
+p:CYFRA +,f:40
+12d0:00820000:2e7c:013e:0:0
+119 test 2 E
+p:CYFRA +,f:40
+12d1:00820000:2e7c:013e:0:0
+119 test 3 E
+p:CYFRA +,f:40
+12d2:00820000:2e7c:013e:0:0
+119 test 1. E
+p:CYFRA +,f:40
+12d3:00820000:2e7c:013e:0:0
+119 test 2. E
+p:CYFRA +,f:40
+12d4:00820000:2e7c:013e:0:0
+119 test 3. E
+p:CYFRA +,f:40
+00ea:00820000:3e1c:013f:0:0
+SSU
+p:EUTELSAT,f:40
+00eb:00820000:3e1c:013f:0:0
+SSU Orange
+p:EUTELSAT,f:40
+0200:00820000:26ac:013f:1:0
+AB4
+p:AB Sat,f:40
+2200:00820000:1af4:013e:1:0
+Redlight USA
+p:TSA,f:40
+2500:00820000:2774:fbff:1:0
+Boomerang
+p:SkyItalia,f:40
+0001:00820000:3200:013e:1:0
+MTV Portugal
+p:MTV Networks Europe,f:40
+0001:00820000:300c:013e:1:0
+TRT-INT
+p:RRSat,f:40
+0001:00820000:2648:013e:1:0
+AL MAGHRIBIA
+p:PRVDR,f:40
+0001:00820000:1250:0064:1:0
+CGN
+p:,f:40
+0001:00820000:3d54:013e:1:0
+Bloomberg French TV
+p:,C:0e00,f:40
+0001:0082afc1:0065:0001:1:0
+VOA TV 1 (HB1-8)
+p:,f:40
+0001:00820000:1770:0110:1:0
+Italia 1
+p:,f:40
+0001:00820000:1fa4:013e:1:0
+RIT-TV
+p:EUTELSAT,f:40
+0001:00820000:1bbc:013e:1:0
+m2
+p:Magyar Televizio,f:40
+0001:00820000:00c9:0006:1:0
+Sports/ESPN/FoxSports/Conting
+p:,C:0e00,f:40
+0001:00820000:25e4:02be:1:0
+SHARJAH TV
+p:ARABSAT,f:40
+0001:00820000:2cec:013e:1:0
+Autonomia
+p:Duna Televizio,f:40
+2501:00820000:2774:fbff:1:0
+Hallmark
+p:SkyItalia,f:40
+0002:00820000:3200:013e:1:0
+MTV Polska
+p:MTV Networks Europe,f:40
+0002:00820000:300c:013e:1:0
+Suroyo tv
+p:RRSat,f:40
+0002:00820000:2648:013e:1:0
+TVM INTER+L
+p:PRVDR,f:40
+0002:00820000:1250:0064:1:0
+Marine Biz TV
+p:,f:40
+0002:00820000:3d54:013e:1:0
+Bloomberg Italian TV
+p:,C:0e00,f:40
+0002:00820000:1770:0110:1:0
+Canale 5
+p:,f:40
+0002:00820000:0578:013e:1:0
+Mktv Sat
+p:Harmonic,f:40
+0002:00820000:00c9:0006:1:0
+AFN Atlantic/PowerNet/Eagle/NPR
+p:,C:0e00,f:40
+0002:00820000:25e4:02be:1:0
+QATAR TV
+p:ARABSAT,f:40
+1402:00820000:05dc:013e:1:0
+ANIMAL PLANET
+p:CYFRA +,f:40
+2202:00820000:1af4:013e:1:0
+MCT Lux-Best
+p:TSA,f:40
+2502:00820000:2774:fbff:1:0
+Fox
+p:SkyItalia,f:40
+3b02:00820000:0578:013e:1:0
+TVP Sport
+p:ITI,f:40
+0003:00820000:3200:013e:1:0
+Game One
+p:MTV Networks Europe,f:40
+0003:00820000:300c:013e:1:0
+Music Box Russia
+p:RRSat,f:40
+0003:00820000:2648:013e:1:0
+AL Aoula
+p:PRVDR,f:40
+0003:00820000:1250:0064:1:0
+Telecolore
+p:,f:40
+0003:00820000:3d54:013e:1:0
+Bloomberg European TV
+p:,f:40
+0003:00820000:1770:0110:1:0
+Retequattro
+p:,f:40
+0003:00820000:0578:013e:1:0
+RIKSAT
+p:Harmonic,f:40
+0003:00820000:00c9:0006:1:0
+Spectrum/Touch/Contin
+p:,C:0e00,f:40
+0003:00820000:25e4:02be:1:0
+SAUDI 1
+p:ARABSAT,f:40
+0e03:00820000:15e0:fbff:1:0
+MotoTV
+p:SkyItalia,f:40
+1403:00820000:05dc:013e:1:0
+DISCOVERY
+p:CYFRA +,f:40
+2503:00820000:2774:fbff:1:0
+Jetix +1
+p:SkyItalia,f:40
+0004:00820000:3200:013e:1:0
+VH1 Polska
+p:MTV Networks Europe,f:40
+0004:00820000:300c:013e:1:0
+TIN + 18668336763
+p:RRSat,f:40
+0004:00820000:2648:013e:1:0
+ARRABIAA
+p:PRVDR,f:40
+0004:00820000:1250:0064:1:0
+Rusiya Al-Yaum
+p:,f:40
+0004:00820000:3d54:013e:1:0
+Bloomberg German TV
+p:,f:40
+0004:00820000:1770:0110:1:0
+Test
+p:,f:40
+0004:00820000:0578:013e:1:0
+ICC TV
+p:Harmonic,f:40
+0004:00820000:00c9:0006:1:0
+Pacific/Pure Gold
+p:,C:0e00,f:40
+0004:00820000:25e4:02be:1:0
+KUWAIT
+p:ARABSAT,f:40
+0104:0082afc1:0065:0001:1:0
+VOA Music Mix 260
+p:,f:40
+0e04:00820000:15e0:fbff:1:0
+Fox Crime +1
+p:SkyItalia,f:40
+2504:00820000:2774:fbff:1:0
+Cartoon +1
+p:SkyItalia,f:40
+3b04:00820000:0578:013e:1:0
+Sport Klub +
+p:ITI,f:40
+0005:00820000:3200:013e:1:0
+VIVA Polska
+p:MTV Networks Europe,f:40
+0005:00820000:300c:013e:1:0
+The Word Network
+p:RRSat,f:40
+0005:00820000:012d:0006:1:0
+News/BrightAC/Country/ARock
+p:,C:0e00,f:40
+0005:00820000:2648:013e:1:0
+TVM INTER
+p:PRVDR,f:40
+0005:00820000:1250:0064:1:0
+Gali Kurdistan TV
+p:,f:40
+0005:00820000:3d54:013e:1:0
+Bloomberg English TV
+p:,f:40
+0005:00820000:1770:0110:1:0
+Mediashopping
+p:,f:40
+0005:00820000:0578:013e:1:0
+PEN TV
+p:Harmonic,f:40
+0005:00820000:25e4:02be:1:0
+LIBYA
+p:ARABSAT,f:40
+0105:0082afc1:0065:0001:1:0
+VOA Music Mix 261
+p:,f:40
+1405:00820000:05dc:013e:1:0
+CNBC
+p:CYFRA +,f:40
+2505:00820000:2774:fbff:1:0
+The MGM Channel
+p:SkyItalia,f:40
+2905:00820000:1edc:0071:1:0
+E!
+p:Cyfrowy Polsat,f:40
+3b05:00820000:0578:013e:1:0
+Cartoon TCM
+p:ITI,f:40
+0006:00820000:3200:013e:1:0
+MTV 1
+p:MTV Networks Europe,f:40
+0006:00820000:012d:0006:1:0
+AFN Xtra/Time Code
+p:,C:0e00,f:40
+0006:00820000:2648:013e:1:0
+ASSADISSA
+p:PRVDR,f:40
+0006:00820000:1250:0064:1:0
+LA 9
+p:,f:40
+0006:00820000:3d54:013e:1:0
+SAT-7 KIDS
+p:,f:40
+0006:00820000:0578:013e:1:0
+Channel 6
+p:Harmonic,f:40
+0006:00820000:25e4:02be:1:0
+SUDAN
+p:ARABSAT,f:40
+0106:00820000:012d:0006:1:0
+AFN Freedom Radio
+p:,C:0e00,f:40
+0106:0082afc1:0065:0001:1:0
+VOA Music Mix 262
+p:,f:40
+1406:00820000:05dc:013e:1:0
+ZONE CLUB
+p:CYFRA +,f:40
+1f06:00820000:21fc:013e:1:0
+ALKAWTHAR
+p:IRIB,f:40
+2506:00820000:2774:fbff:1:0
+Roma Channel
+p:SkyItalia,f:40
+2906:00820000:1edc:0071:1:0
+Boomerang
+p:Cyfrowy Polsat,f:40
+3b06:00820000:0578:013e:1:0
+Sport Klub
+p:ITI,f:40
+0007:00820000:3200:013e:1:0
+VH1
+p:MTV Networks Europe,f:40
+0007:00820000:300c:013e:1:0
+Baby TV
+p:RRSat,f:40
+0007:00820000:1250:0064:1:0
+SARAFAN
+p:,f:40
+0007:00820000:3d54:013e:1:0
+Bloomberg Spain TV
+p:,C:0e00,f:40
+0007:00820000:0578:013e:1:0
+SALAAM TV
+p:Harmonic,f:40
+0007:00820000:00c9:0006:1:0
+Guide/PowerNet/HotAC/NewsRadio/UVC
+p:,C:0e00,f:40
+0007:00820000:25e4:02be:1:0
+OMAN
+p:ARABSAT,f:40
+0107:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 263
+p:,f:40
+1407:00820000:05dc:013e:1:0
+ZONE REALITY
+p:CYFRA +,f:40
+1f07:00820000:21fc:013e:1:0
+FEED
+p:IRIB,f:40
+2507:00820000:2774:fbff:1:0
+GXT
+p:SkyItalia,f:40
+3607:00820000:00c8:013e:1:0
+ESP Int'l
+p:Eutelsat,f:40
+3b07:00820000:0578:013e:1:0
+TVN Med
+p:TVN,f:40
+3c07:00820000:2260:fbff:1:0
+MTV Gold
+p:SkyItalia,f:40
+0008:00820000:300c:013e:1:0
+MRTV / Univ TV
+p:RRSat,f:40
+0008:00820000:012d:0006:1:0
+Pentagon Channel
+p:,f:40
+0008:00820000:2648:013e:1:0
+Medi1SAT
+p:PRVDR,f:40
+0008:00820000:1250:0064:1:0
+AL FAYHAA
+p:,f:40
+0008:00820000:3d54:013e:1:0
+Miracle TV
+p:,f:40
+0008:0082afc1:0065:0001:1:0
+IBB OS Download 8 (DCP)
+p:,f:40
+0008:00820000:0578:013e:1:0
+THARISANAM
+p:Harmonic,f:40
+0008:00820000:14b4:013e:1:0
+R1
+p:Overon,f:40
+0008:00820000:25e4:02be:1:0
+ESC
+p:ARABSAT,f:40
+0108:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 264
+p:,f:40
+0208:00820000:26ac:013f:1:0
+Beur TV
+p:AB SAT,f:40
+1408:00820000:05dc:013e:1:0
+EXTREME SPORTS
+p:CYFRA +,f:40
+1f08:00820000:21fc:013e:1:0
+PRESS TV
+p:IRIB,f:40
+2508:00820000:2774:fbff:1:0
+GXT +1
+p:SkyItalia,f:40
+2908:00820000:1edc:0071:1:0
+Radiostacja
+p:Cyfrowy Polsat,f:40
+3608:00820000:00c8:013e:1:0
+ESP Romanian
+p:Eutelsat,f:40
+3b08:00820000:0578:013e:1:0
+MTV2
+p:ITI,f:40
+3c08:00820000:2260:fbff:1:0
+MTV Pulse
+p:SkyItalia,f:40
+0009:00820000:300c:013e:1:0
+Al-Anwar
+p:RRSat,f:40
+0009:00820000:012d:0006:1:0
+AFN Family Channel
+p:,C:0e00,f:40
+0009:00820000:3d54:013e:1:0
+SAT-7 PARS
+p:,f:40
+0009:0082afc1:0065:0001:1:0
+IBB OS Download 9 (CCP)
+p:,f:40
+0009:00820000:0578:013e:1:0
+Andisheh
+p:Harmonic,f:40
+0009:00820000:14b4:013e:1:0
+KontaktChance.TV
+p:Overon/SmartCast,f:40
+0009:00820000:25e4:02be:1:0
+AL IRAQIA
+p:ARABSAT,f:40
+0109:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 265
+p:,f:40
+1109:00820000:2710:fbff:1:0
+NatGeo Music
+p:SkyItalia,f:40
+1309:00820000:2e7c:013e:1:0
+DTV CABLE JE
+p:CYFRA +,f:40
+2009:00820000:24b8:013e:1:0
+Planeta Sport
+p:Globecast,f:40
+3609:00820000:00c8:013e:1:0
+ESP Dutch
+p:Eutelsat,f:40
+3909:00820000:32c8:013e:1:0
+BBC Prime
+p:Globecast UK,f:40
+3b09:00820000:0578:013e:1:0
+NASN
+p:TVN,f:40
+3c09:00820000:2260:fbff:1:0
+Vh1
+p:SkyItalia,f:40
+000a:00820000:3200:013e:1:0
+Comedy Central Polska
+p:MTV Networks Europe,f:40
+000a:00820000:300c:013e:1:0
+VenetoSat
+p:RRSat,f:40
+000a:00820000:012d:0006:1:0
+AFN Movie Channel
+p:,C:0e00,f:40
+000a:00820000:2648:013e:1:0
+ARRIADIA
+p:PRVDR,f:40
+000a:00820000:0578:013e:1:0
+OMID E IRAN
+p:Harmonic,f:40
+010a:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 266
+p:,f:40
+110a:00820000:2710:fbff:1:0
+SKY TG 24
+p:SkyItalia,f:40
+130a:00820000:2e7c:013e:1:0
+DTV CABLE KU
+p:CYFRA +,f:40
+200a:00820000:24b8:013e:1:0
+KTO
+p:Globecast,f:40
+360a:00820000:00c8:013e:1:0
+ESP Polish
+p:Eutelsat,f:40
+390a:00820000:32c8:013e:1:0
+BBC Entertainment Poland
+p:Globecast UK,f:40
+3b0a:00820000:0578:013e:1:0
+Nsport 59
+p:TVN,f:40
+000b:00820000:3200:013e:1:0
+Nickelodeon Euro
+p:MTV Networks Europe,f:40
+000b:00820000:300c:013e:1:0
+3 Channel
+p:RRSat,f:40
+000b:00820000:0578:013e:1:0
+BET NAHRAIN
+p:Harmonic,f:40
+000b:00820000:00c9:0006:1:0
+Franconia
+p:,C:0e00,f:40
+010b:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 267
+p:,f:40
+110b:00820000:2710:fbff:1:0
+Current
+p:SkyItalia,f:40
+130b:00820000:2e7c:013e:1:0
+DTV CABLE AL
+p:CYFRA +,f:40
+200b:00820000:24b8:013e:1:0
+BET
+p:Globecast,f:40
+290b:00820000:1edc:0071:1:0
+Zone Europa
+p:Cyfrowy Polsat,f:40
+360b:00820000:00c8:013e:1:0
+ESP Russian
+p:Eutelsat,f:40
+390b:00820000:32c8:013e:1:0
+BBC Knowledge Poland
+p:Globecast UK,f:40
+3b0b:00820000:0578:013e:1:0
+Boomerang
+p:ITI,f:40
+000c:00820000:300c:013e:1:0
+Telenova
+p:RRSat,f:40
+000c:00820000:012d:0006:1:0
+Aviano
+p:,C:0e00,f:40
+000c:00820000:1250:0064:1:0
+Canale8
+p:,f:40
+000c:00820000:0578:013e:1:0
+JAAM E JAM
+p:Harmonic,f:40
+010c:0082afc1:0065:0001:1:0
+VOA Music Mix 268
+p:,f:40
+120c:00820000:2b5c:013e:1:0
+AL JAZEERA SP+2
+p:H,f:40
+130c:00820000:2e7c:013e:1:0
+DTV CABLE ZI
+p:CYFRA +,f:40
+200c:00820000:24b8:013e:1:0
+BBC World News
+p:Globecast UK,f:40
+290c:00820000:1edc:0071:1:0
+Zone Club
+p:Cyfrowy Polsat,f:40
+360c:00820000:00c8:013e:1:0
+ESP Portuguese
+p:Eutelsat,f:40
+390c:00820000:32c8:013e:1:0
+BBC Lifestyle Poland
+p:Globecast UK,f:40
+3b0c:00820000:0578:013e:1:0
+Cinemax 1
+p:ITI,f:40
+000d:00820000:300c:013e:1:0
+NTD TV
+p:NTD TV,f:40
+000d:00820000:1250:0064:1:0
+RU TV
+p:,f:40
+000d:00820000:0578:013e:1:0
+PROPHETIC
+p:Harmonic,f:40
+000d:00820000:00c9:0006:1:0
+Hessen
+p:,C:0e00,f:40
+010d:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 269
+p:,f:40
+020d:00820000:26ac:013f:1:0
+LUXE TV
+p:DVL.TV,f:40
+030d:00820000:1b58:013e:1:0
+Puglia Channel
+p:Telespazio,f:40
+120d:00820000:2b5c:013e:1:0
+ANT1 EU promo
+p:Harmonic,f:40
+360d:00820000:00c8:013e:1:0
+ESP Hungarian
+p:Eutelsat,f:40
+390d:00820000:32c8:013e:1:0
+BBC CBeebies Poland
+p:Globecast UK,f:40
+3b0d:00820000:0578:013e:1:0
+Cinemax 2
+p:ITI,f:40
+000e:00820000:300c:013e:1:0
+Russia Today
+p:RRSat,f:40
+000e:00820000:012d:0006:1:0
+Vicenza
+p:,C:0e00,f:40
+000e:00820000:0578:013e:1:0
+IRAN
+p:Harmonic,f:40
+010e:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 270
+p:,f:40
+360e:00820000:00c8:013e:1:0
+Prod ESP
+p:Eutelsat,f:40
+390e:00820000:32c8:013e:1:0
+BBC Persian
+p:Globecast UK,f:40
+3b0e:00820000:0578:013e:1:0
+KidsCo
+p:ITI,f:40
+000f:00820000:300c:013e:1:0
+GOD TV
+p:RRSat,f:40
+000f:00820000:00c9:0006:1:0
+Heidelberg
+p:,C:0e00,f:40
+010f:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 271
+p:,f:40
+0c0f:00820000:20d0:013e:1:0
+RFI Francais
+p:GlobeCast,f:40
+290f:00820000:1edc:0071:1:0
+Dla Abonentow
+p:Cyfrowy Polsat,f:40
+360f:00820000:00c8:013e:1:0
+ESP Czech
+p:Eutelsat,f:40
+3b0f:00820000:0578:013e:1:0
+DA VINCI
+p:ITI,f:40
+0010:00820000:300c:013e:1:0
+Wind int. tv
+p:RRSat,f:40
+0010:00820000:012d:0006:1:0
+AFNS Contingency Channel
+p:,C:0e00,f:40
+0010:00820000:1250:0064:1:0
+VideoBergamo
+p:,f:40
+0010:00820000:0578:013e:1:0
+Ariana
+p:Harmonic,f:40
+0110:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 272
+p:,f:40
+0210:00820000:26ac:013f:1:0
+CINE POP
+p:,f:40
+2010:00820000:24b8:013e:1:0
+1TVRUS Europe
+p:Globecast,f:40
+2210:00820000:1af4:013e:1:0
+MCT Premium
+p:Harmonic,f:40
+3610:00820000:00c8:013e:1:0
+ESP Greek
+p:Eutelsat,f:40
+3b10:00820000:0578:013e:1:0
+OTV
+p:ITI,f:40
+0011:00822faf:0001:0001:1:0
+Fashion TV
+p:RRSat,f:40
+0011:00820000:1250:0064:1:0
+Cinquestelle
+p:,f:40
+0011:00820000:0578:013e:1:0
+IRAN.MNTV
+p:Harmonic,f:40
+0011:00820000:00c9:0006:1:0
+Bavaria
+p:,C:0e00,f:40
+0111:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 273
+p:,f:40
+2011:00820000:24b8:013e:1:0
+CNNi
+p:Globecast,f:40
+3611:00820000:00c8:013e:1:0
+ESP Cyprus
+p:Eutelsat,f:40
+3b11:00820000:0578:013e:1:0
+Jetix
+p:ITI,f:40
+0012:00822faf:0001:0001:1:0
+F men
+p:RRSat,f:40
+0012:00820000:012d:0006:1:0
+Naples
+p:,C:0e00,f:40
+0012:00820000:0578:013e:1:0
+Tasvir Iran
+p:Harmonic,f:40
+0e12:00820000:0708:00c8:1:0
+TV7 LOMBARDIA
+p:M-Three  satcom,f:40
+2912:00820000:1edc:0071:1:0
+Zone Reality
+p:Cyfrowy Polsat,f:40
+3612:00820000:00c8:013e:1:0
+ESP Bulgarian
+p:Eutelsat,f:40
+0013:00820000:1250:0064:1:0
+TBM
+p:,f:40
+0013:00820000:0578:013e:1:0
+MOHABAT TV
+p:Harmonic,f:40
+0013:00820000:00c9:0006:1:0
+Kaiserslautern
+p:,C:0e00,f:40
+0e13:00820000:0708:00c8:1:0
+THOU TV
+p:M-Three satcom,f:40
+2013:00820000:24b8:013e:1:0
+Euronews
+p:Globecast,f:40
+3613:00820000:00c8:013e:1:0
+ESP2 Turk
+p:Eutelsat,f:40
+0014:00822faf:0001:0001:1:0
+Pars TV
+p:RRSat,f:40
+0014:00820000:012d:0006:1:0
+Sigonella
+p:,C:0e00,f:40
+0014:00820000:1250:0064:1:0
+Angel TV
+p:,f:40
+0e14:00820000:0708:00c8:1:0
+Sardegna Channel
+p:M-Three satcom,f:40
+2914:00820000:1edc:0071:1:0
+Playboy
+p:Cyfrowy Polsat,f:40
+3614:00820000:00c8:013e:1:0
+ESP Serbia
+p:Eutelsat,f:40
+3b14:00820000:0578:013e:1:0
+ITVN EU
+p:ITI,f:40
+0015:00820000:00c9:0006:1:0
+Benelux
+p:,C:0e00,f:40
+0015:00820000:25e4:02be:1:0
+SHARJAH R2
+p:ARABSAT,f:40
+0e15:00820000:0708:00c8:1:0
+BERGAMOSAT
+p:M-Three satcom,f:40
+2015:00820000:24b8:013e:1:0
+JSTV1
+p:Globecast,f:40
+2915:00820000:1edc:0071:1:0
+Jetix Play
+p:Cyfrowy Polsat,f:40
+3615:00820000:00c8:013e:1:0
+ESP Turk
+p:Eutelsat,f:40
+0016:00820000:3200:013e:1:0
+MTV Polska.
+p:MTV Networks Europe,f:40
+0016:00820000:300c:013e:1:0
+Suryoyo Sat
+p:RRSat,f:40
+0016:00820000:0578:013e:1:0
+TAPESH
+p:Harmonic,f:40
+0016:00820000:00c9:0006:1:0
+Guide/Country
+p:,C:0e00,f:40
+0e16:00820000:0708:00c8:1:0
+ESP2 Romania
+p:EUTELSAT,f:40
+2016:00820000:24b8:013e:1:0
+JSTV2
+p:Globecast,f:40
+2316:00820000:238c:013e:1:0
+Nile TV International
+p:ERTU,f:40
+2916:00820000:1edc:0071:1:0
+TV1000
+p:Cyfrowy Polsat,f:40
+3616:00820000:00c8:013e:1:0
+ESP2 German
+p:Eutelsat,f:40
+0017:00820000:00c9:0006:1:0
+Eifel
+p:,C:0e00,f:40
+2217:00820000:1af4:013e:1:0
+MCT Sct
+p:TSA,f:40
+2317:00820000:238c:013e:1:0
+Nile News
+p:ERTU,f:40
+2917:00820000:1edc:0071:1:0
+Test Radio 2
+p:Cyfrowy Polsat,f:40
+3617:00820000:00c8:013e:1:0
+ESP2 Serbia
+p:Eutelsat,f:40
+0018:00820000:3200:013e:1:0
+VH1 Polska.
+p:MTV Networks Europe,f:40
+0018:00820000:300c:013e:1:0
+Asianet Plus
+p:RRSat,f:40
+0018:00820000:00c9:0006:1:0
+Guide/NPR
+p:,C:0e00,f:40
+0218:00820000:26ac:013f:1:0
+ORANGE SPORT TV
+p:AB SAT,f:40
+0e18:00820000:0708:00c8:1:0
+La Nuova TV
+p:M-Three satcom,f:40
+2218:00820000:1af4:013e:1:0
+MCT Sex
+p:TSA,f:40
+2918:00820000:1edc:0071:1:0
+Travel
+p:Cyfrowy Polsat,f:40
+0019:00820000:3200:013e:1:0
+VIVA Polska.
+p:MTV Networks Europe,f:40
+0119:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 281
+p:,f:40
+0e19:00820000:0708:00c8:1:0
+Umbria Channel
+p:M-Three satcom,f:40
+2219:00820000:1af4:013e:1:0
+TELEITALIA
+p:Harmonic,f:40
+2919:00820000:1edc:0071:1:0
+Science
+p:Cyfrowy Polsat,f:40
+3619:00820000:00c8:013e:1:0
+France 24 (en Francais)
+p:Eutelsat,f:40
+001a:00820000:012d:0006:1:0
+AFN Freedom
+p:,C:0e00,f:40
+011a:0082afc1:0065:0001:1:0
+Sawa Levant Radio 282
+p:,f:40
+021a:00820000:26ac:013f:1:0
+France 3
+p:AB SAT,f:40
+0e1a:00820000:0708:00c8:1:0
+LA7
+p:,C:093b,C:0919,f:40
+1d1a:00820000:2fa8:013e:1:0
+Sun KTV
+p:Globecast UK,f:40
+291a:00820000:1edc:0071:1:0
+Discovery World
+p:Cyfrowy Polsat,f:40
+361a:00820000:00c8:013e:1:0
+France 24 (in English)
+p:Eutelsat,f:40
+001b:00820000:3200:013e:1:0
+VH1.
+p:MTV Networks Europe,f:40
+001b:00820000:00c9:0006:1:0
+Guide/The Touch
+p:,C:0e00,f:40
+011b:0082afc1:0065:0001:1:0
+Sawa Iraq Radio 283
+p:,f:40
+021b:00820000:26ac:013f:1:0
+France 4
+p:AB SAT,f:40
+231b:00820000:238c:013e:1:0
+MEDIOLANUM
+p:Tadiran Scopus,f:40
+001c:00820000:00c9:0006:1:0
+Guide/Pure Gold
+p:,C:0e00,f:40
+011c:0082afc1:0065:0001:1:0
+IBB TV Dedicated Channel 284
+p:,f:40
+021c:00820000:26ac:013f:1:0
+TMC
+p:AB SAT,f:40
+051c:00820000:3db8:00b0:1:0
+OM TV
+p:,f:40
+1d1c:00820000:2fa8:013e:1:0
+ANB
+p:Globecast,f:40
+001d:00820000:00c9:0006:1:0
+Guide/Hot AC
+p:,C:0e00,f:40
+021d:00820000:26ac:013f:1:0
+CINE FIRST
+p:,f:40
+0c1d:00820000:1e78:0071:1:0
+Polsat Sport HD test
+p:Cyfrowy Polsat S.A.,f:40
+0e1d:00820000:0708:00c8:1:0
+ESP2 Hungary
+p:EUTELSAT,f:40
+221d:00820000:1af4:013e:1:0
+Redlight LATINO
+p:TSA,f:40
+251d:00820000:13ef:013e:1:0
+DUBAI TV
+p:DU,f:40
+001e:00820000:3200:013e:1:0
+Comedy Central Polska.
+p:MTV Networks Europe,f:40
+001e:00820000:00c9:0006:1:0
+Guide/Z-rock ABC Hard Rock
+p:,C:0e00,f:40
+051e:00820000:3db8:00b0:1:0
+COMEDIE!
+p:,C:0500,f:40
+0c1e:00820000:1e78:0071:1:0
+HBO
+p:Cyfrowy Polsat S.A.,f:40
+251e:00820000:13ef:013e:1:0
+DUBAI SPORTS
+p:DU,f:40
+341e:00820000:0064:fbff:1:0
+Prima Fila 38
+p:SkyItalia,f:40
+391e:00820000:32c8:013e:1:0
+Wedding TV
+p:Globecast UK,f:40
+001f:00820000:00c9:0006:1:0
+Guide/Fox Sports Talk
+p:,C:0e00,f:40
+051f:00820000:3db8:00b0:1:0
+SPORT+
+p:,C:0500,f:40
+0c1f:00820000:1e78:0071:1:0
+HBO 2
+p:Cyfrowy Polsat S.A.,f:40
+0e1f:00820000:0708:00c8:1:0
+ROMAUNO
+p:Scopus Network Technologies,f:40
+1d1f:00820000:2fa8:013e:1:0
+Sun TV +442083356780
+p:Globecast UK,f:40
+231f:00820000:238c:013e:1:0
+Sports
+p:ERTU,f:40
+251f:00820000:13ef:013e:1:0
+SAMADUBAI
+p:DU,f:40
+341f:00820000:0064:fbff:1:0
+Prima Fila 31
+p:SkyItalia,f:40
+0020:00820000:00c9:0006:1:0
+Guide/ESPN Radio
+p:,C:0e00,f:40
+0520:00820000:3db8:00b0:1:0
+13ème RUE
+p:,f:40
+0c20:00820000:1e78:0071:1:0
+HBO Comedy
+p:Cyfrowy Polsat S.A.,f:40
+0e20:00820000:0708:00c8:1:0
+NATIONAL GEO
+p:EUTELSAT,f:40
+1d20:00820000:2fa8:013e:1:0
+Al Hiwar TV
+p:Globecast UK,f:40
+3420:00820000:0064:fbff:1:0
+Prima Fila 32
+p:SkyItalia,f:40
+3620:00820000:00c8:013e:1:0
+KP
+p:Eutelsat,f:40
+3920:00820000:32c8:013e:1:0
+D. Travel
+p:Globecast UK,f:40
+0021:00822faf:0001:0001:1:0
+3ABN International
+p:RRSat,f:40
+0221:00820000:26ac:013f:1:0
+TEST 1
+p:,f:40
+0321:00820000:3bc4:013e:1:0
+TBN Europe
+p:OVERON,f:40
+0c21:00820000:1e78:0071:1:0
+HBO HD test
+p:Cyfrowy Polsat S.A.,f:40
+1c21:00820000:1c20:013e:1:0
+DunaTV
+p:AH-EDP,f:40
+1d21:00820000:2fa8:013e:1:0
+CN/TCM CEE Combo
+p:Globecast UK,f:40
+3421:00820000:0064:fbff:1:0
+Prima Fila 35
+p:SkyItalia,f:40
+3621:00820000:00c8:013e:1:0
+M
+p:Eutelsat,f:40
+3921:00820000:32c8:013e:1:0
+D. World
+p:Globecast UK,f:40
+0022:00822faf:0001:0001:1:0
+Asianet
+p:RRSat,f:40
+0122:0082afc1:0065:0001:1:0
+Sawa Egypt Radio 290
+p:,f:40
+0322:00820000:3bc4:013e:1:0
+TBNEspain
+p:OVERON,f:40
+1c22:00820000:1c20:013e:1:0
+TV7 Tunis
+p:AH-EDP,f:40
+3422:00820000:0064:fbff:1:0
+Prima Fila 36
+p:SkyItalia,f:40
+3622:00820000:00c8:013e:1:0
+S
+p:Eutelsat,f:40
+3722:00820000:206c:013e:1:0
+SEX VIEW HQ
+p:,f:40
+3922:00820000:32c8:013e:1:0
+D. Science
+p:Globecast UK,f:40
+0023:00820000:00c9:0006:1:0
+Guide/AFNE PowerNet
+p:,C:0e00,f:40
+0123:0082afc1:0065:0001:1:0
+Sawa Gulf Radio 291
+p:,f:40
+0323:00820000:3bc4:013e:1:0
+TBN ITALIA
+p:OVERON,f:40
+1123:00820000:2710:fbff:1:0
+SKY TG 24
+p:SkyItalia,f:40
+1d23:00820000:2fa8:013e:1:0
+DMC TV
+p:Globecast UK,f:40
+2923:00820000:1edc:0071:1:0
+Radio ZET
+p:Cyfrowy Polsat,f:40
+3423:00820000:0064:fbff:1:0
+Prima Fila 37
+p:SkyItalia,f:40
+0024:00820000:00c9:0006:1:0
+Guide/Contingency
+p:,C:0e00,f:40
+0124:0082afc1:0065:0001:1:0
+Sawa N. Africa Radio 292
+p:,f:40
+0324:00820000:3bc4:013e:1:0
+Church Channel
+p:GCE,f:40
+2524:00820000:13ef:013e:1:0
+PMC
+p:DU,f:40
+2924:00820000:1edc:0071:1:0
+RMF Classic
+p:Cyfrowy Polsat,f:40
+0025:00820000:00c9:0006:1:0
+Guide/AFNE Eagle
+p:,C:0e00,f:40
+0125:0082afc1:0065:0001:1:0
+Sawa Egypt Radio 293
+p:,f:40
+0325:00820000:3bc4:013e:1:0
+JCTV
+p:,f:40
+1325:00820000:33f4:013e:1:0
+Test Tv 1 Enc 01
+p:Telespazio,f:40
+1c25:00820000:1c20:013e:1:0
+SALENTO CHANNEL
+p:AH-EDP,f:40
+2c25:00820000:1644:fbff:1:0
+Rock TV
+p:SkyItalia,f:40
+3625:00820000:00c8:013e:1:0
+H1
+p:EUTELSAT,f:40
+0126:0082afc1:0065:0001:1:0
+Farda Radio 294
+p:,f:40
+0326:00820000:3bc4:013e:1:0
+EL SHAFAA
+p:OVERON,f:40
+0e26:00820000:0708:00c8:1:0
+Toscana Channel
+p:M-Three Satcom,f:40
+1326:00820000:33f4:013e:1:0
+Test Tv 2 Enc 02
+p:,f:40
+1c26:00820000:1c20:013e:1:0
+STUDIO 100 TV
+p:AH-EDP,f:40
+2526:00820000:13ef:013e:1:0
+AL SHARQIYA
+p:DU,f:40
+2926:00820000:1edc:0071:1:0
+Radio Plus
+p:Cyfrowy Polsat,f:40
+2c26:00820000:1644:fbff:1:0
+Animal Planet
+p:SkyItalia,f:40
+3626:00820000:00c8:013e:1:0
+H2
+p:EUTELSAT,f:40
+0027:00820000:00c9:0006:1:0
+Guide/AFN News Radio
+p:,C:0e00,f:40
+0127:0082afc1:0065:0001:1:0
+VOA Persian TV 295
+p:,f:40
+0327:00820000:3bc4:013e:1:0
+TBN RUSSIA
+p:GCE,f:40
+0e27:00820000:0708:00c8:1:0
+50 Canale
+p:M-Three satcom,f:40
+1c27:00820000:1c20:013e:1:0
+FUEGO
+p:AH-EDP,f:40
+1d27:00820000:2fa8:013e:1:0
+Al Forat
+p:Globecast UK,f:40
+2927:00820000:1edc:0071:1:0
+Trójka - PR
+p:Cyfrowy Polsat,f:40
+3427:00820000:0064:fbff:1:0
+Prima Fila 39
+p:SkyItalia,f:40
+3627:00820000:00c8:013e:1:0
+H3
+p:EUTELSAT,f:40
+0028:00820000:00c9:0006:1:0
+AFN Iraq Radio
+p:,C:0e00,f:40
+0028:00820000:25e4:02be:1:0
+JORDAN
+p:ARABSAT,f:40
+0128:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 296
+p:,f:40
+0328:00820000:3bc4:013e:1:0
+SMILE
+p:,f:40
+0e28:00820000:0708:00c8:1:0
+ARCOIRIS TV
+p:M-Three satcom,f:40
+1328:00820000:33f4:013e:1:0
+Test Tv 4 Enc 04
+p:Telespazio,f:40
+1c28:00820000:1c20:013e:1:0
+BLU
+p:AH-EDP,f:40
+2528:00820000:13ef:013e:1:0
+INFINITY
+p:DU,f:40
+2928:00820000:1edc:0071:1:0
+Radio Polonia
+p:Cyfrowy Polsat,f:40
+2c28:00820000:1644:fbff:1:0
+Discovery Real Time
+p:SkyItalia,f:40
+0029:00820000:012d:0006:1:0
+The Eagle -  Vicenza  (audio only)
+p:,C:0e00,f:40
+0029:00820000:25e4:02be:1:0
+ALMUSTAKILLA
+p:ARABSAT,f:40
+0129:0082afc1:0065:0001:1:0
+Sawa Sudan Radio 297
+p:,f:40
+0329:00820000:3bc4:013e:1:0
+NEJAT TV
+p:OVERON,f:40
+1329:00820000:33f4:013e:1:0
+Test Tv 5 Enc 05
+p:Telespazio,f:40
+1c29:00820000:1c20:013e:1:0
+TR2SAT
+p:AH-EDP,f:40
+1d29:00820000:2fa8:013e:1:0
+Al Forat Radio
+p:Globecast UK,f:40
+2529:00820000:13ef:013e:1:0
+AL ARABIYA
+p:DU,f:40
+2929:00820000:1edc:0071:1:0
+Jedynka - PR
+p:Cyfrowy Polsat,f:40
+002a:00820000:012d:0006:1:0
+Power 107  Vicenza  (audio only)
+p:,C:0e00,f:40
+002a:00820000:25e4:02be:1:0
+STRIKE TV
+p:ARABSAT,f:40
+012a:0082afc1:0065:0001:1:0
+VOA Persian TV 298
+p:,f:40
+1c2a:00820000:1c20:013e:1:0
+BLU 3
+p:AH-EDP,f:40
+1d2a:00820000:2fa8:013e:1:0
+Disney Channel
+p:Globecast UK,f:40
+292a:00820000:1edc:0071:1:0
+RMF FM
+p:Cyfrowy Polsat,f:40
+2c2a:00820000:1644:fbff:1:0
+Discovery
+p:SkyItalia,f:40
+342a:00820000:0064:fbff:1:0
+JimJam
+p:SkyItalia,f:40
+002b:00820000:012d:0006:1:0
+AFN Vicenza Contingency
+p:,C:0e00,f:40
+012b:0082afc1:0065:0001:1:0
+Sawa Lebanon Radio 299
+p:,f:40
+032b:00820000:3bc4:013e:1:0
+Inspiration
+p:GlobeCast,f:40
+0e2b:00820000:0708:00c8:1:0
+TeleTirreno
+p:M-Three satcom,f:40
+1d2b:00820000:2fa8:013e:1:0
+Cartoon Network
+p:Globecast UK,f:40
+252b:00820000:13ef:013e:1:0
+MBC MAGHREB AL ARABIA
+p:DU,f:40
+2d2b:00820000:1a2c:fbff:1:0
+Bloomberg
+p:SkyItalia,f:40
+342b:00820000:0064:fbff:1:0
+Prima Fila 33
+p:SkyItalia,f:40
+032c:00820000:3bc4:013e:1:0
+DAYSTAR
+p:OVERON,f:40
+132c:00820000:33f4:013e:1:0
+TV Moda
+p:Telespazio,f:40
+1d2c:00820000:2fa8:013e:1:0
+Turner Classic Movies
+p:Globecast UK,f:40
+252c:00820000:13ef:013e:1:0
+ME SHOP
+p:DU,f:40
+2c2c:00820000:1644:fbff:1:0
+Class CNBC 
+p:SkyItalia,f:40
+012d:0082afc1:0065:0001:1:0
+Sawa Iraq Radio 301
+p:,f:40
+012d:00820000:157c:013e:1:0
+R1
+p:NetMed,f:40
+1d2d:00820000:2fa8:013e:1:0
+All Music
+p:Globecast UK,f:40
+252d:00820000:13ef:013e:1:0
+EZ Shop
+p:Samacom,f:40
+332d:00820000:3390:0071:1:0
+Polsat
+p:Polsat,f:40
+342d:00820000:0064:fbff:1:0
+CNBC Europe
+p:SkyItalia,f:40
+012e:0082afc1:0065:0001:1:0
+Sawa Egypt Radio 302
+p:,f:40
+012e:00820000:157c:013e:1:0
+R2
+p:NetMed,f:40
+0e2e:00820000:16a8:fbff:1:0
+Alice
+p:SkyItalia,f:40
+132e:00820000:33f4:013e:1:0
+JSC Sport+1
+p:Telespazio,f:40
+222e:00820000:1af4:013e:1:0
+Bolsa
+p:TSA,f:40
+2c2e:00820000:1644:fbff:1:0
+Raisat Cinema
+p:SkyItalia,f:40
+332e:00820000:3390:0071:1:0
+Polsat2
+p:Polsat,f:40
+002f:00820000:25e4:02be:1:0
+OMAN -HOLY QURAN
+p:ARABSAT,f:40
+012f:0082afc1:0065:0001:1:0
+Sawa Gulf Radio 303
+p:,f:40
+012f:00820000:157c:013e:1:0
+R3
+p:NetMed,f:40
+0e2f:00820000:16a8:fbff:1:0
+Leonardo
+p:SkyItalia,f:40
+132f:00820000:33f4:013e:1:0
+JSC Sport+2
+p:Telespazio,f:40
+332f:00820000:3390:0071:1:0
+TV4
+p:Polsat,f:40
+0130:0082afc1:0065:0001:1:0
+Sawa N. Africa Radio 304
+p:,f:40
+0130:00820000:157c:013e:1:0
+R4
+p:NetMed,f:40
+0e30:00820000:16a8:fbff:1:0
+Nuvolari
+p:SkyItalia,f:40
+1330:00820000:33f4:013e:1:0
+JSC Sport+3
+p:Telespazio,f:40
+3330:00820000:3390:0071:1:0
+Polsat Sport
+p:Polsat,f:40
+0131:0082afc1:0065:0001:1:0
+Sawa Sudan Radio 305
+p:,f:40
+0e31:00820000:16a8:fbff:1:0
+Marcopolo
+p:SkyItalia,f:40
+2931:00820000:1edc:0071:1:0
+Techniczny
+p:CyfrowyPolsat,f:40
+2c31:00820000:1644:fbff:1:0
+Raisat Gambero
+p:SkyItalia,f:40
+3331:00820000:3390:0071:1:0
+Polsat Sport Extra
+p:Polsat,f:40
+0032:00822faf:0001:0001:1:0
+VTV4
+p:RRSat,f:40
+0032:00820000:00c9:0006:1:0
+Guide/Bright AC
+p:,C:0e00,f:40
+0132:0082afc1:0065:0001:1:0
+Farda Radio 306
+p:,f:40
+0132:00820000:157c:013e:1:0
+R5
+p:NetMed,f:40
+1132:00820000:2af8:013e:1:0
+Movies24
+p:CYFRA +,f:40
+2c32:00820000:1644:fbff:1:0
+Raisat YOYO
+p:SkyItalia,f:40
+3332:00820000:3390:0071:1:0
+Zdrowie i Uroda
+p:Polsat,f:40
+0033:00822faf:0001:0001:1:0
+CNL
+p:RRSat,f:40
+0033:00820000:00c9:0006:1:0
+Guide/Adult Rock
+p:,C:0e00,f:40
+0133:0082afc1:0065:0001:1:0
+Sawa Lebanon Radio 307
+p:,f:40
+0133:00820000:157c:013e:1:0
+R6
+p:NetMed,f:40
+0e33:00820000:16a8:fbff:1:0
+Fox +1
+p:SkyItalia,f:40
+1133:00820000:2af8:013e:1:0
+TV 4
+p:CYFRA +,f:40
+1333:00820000:33f4:013e:1:0
+Studio Europa
+p:Telespazio,f:40
+2c33:00820000:1644:fbff:1:0
+VideoItalia
+p:SkyItalia,f:40
+3333:00820000:3390:0071:1:0
+TV Biznes
+p:CYFRA+,f:40
+0034:00822faf:0001:0001:1:0
+Rojhelat
+p:RRSat,f:40
+0134:00820000:157c:013e:1:0
+SuperSport1
+p:NetMed,f:40
+0834:00820000:3d54:013e:1:0
+ERTSAT Europe
+p:,f:40
+0e34:00820000:16a8:fbff:1:0
+Fantasy
+p:SkyItalia,f:40
+1134:00820000:2af8:013e:1:0
+4fun.TV
+p:CYFRA +,f:40
+1334:00820000:33f4:013e:1:0
+GLOBE MEDIA
+p:Telespazio,f:40
+1c34:00820000:1c20:013e:1:0
+Khabar TV
+p:AH-EDP,f:40
+2234:00820000:1af4:013e:1:0
+Redlight Italy
+p:TSA,f:40
+3334:00820000:3390:0071:1:0
+Superstacja
+p:Cyfrowy Polsat,f:40
+0e35:00820000:16a8:fbff:1:0
+NatGeo Wild
+p:SkyItalia,f:40
+1135:00820000:2af8:013e:1:0
+EUROSPORT 2
+p:CYFRA +,f:40
+1c35:00820000:1c20:013e:1:0
+Telelombardia
+p:AH-EDP,f:40
+2135:00820000:3070:013e:1:0
+Rai Africa
+p:RAI,f:40
+2935:00820000:1edc:0071:1:0
+RMF MAXXX
+p:Cyfrowy Polsat,f:40
+3335:00820000:3390:0071:1:0
+Polsat News
+p:Cyfrowy Polsat,f:40
+3a35:00820000:1fa4:013e:1:0
+UNIVERSAL
+p:EUTELSAT,f:40
+1136:00820000:2af8:013e:1:0
+PLANETE
+p:CYFRA +,f:40
+1c36:00820000:1c20:013e:1:0
+LIDER TV AZE
+p:AH-EDP,f:40
+2136:00820000:3070:013e:1:0
+RAITALIA INTERNATIONAL
+p:RAI,f:40
+2c36:00820000:1644:fbff:1:0
+Comedy Central
+p:SkyItalia,f:40
+3a36:00820000:1fa4:013e:1:0
+SCI FI 
+p:EUTELSAT,f:40
+1137:00820000:2af8:013e:1:0
+MINIMINI
+p:CYFRA +,f:40
+1c37:00820000:1c20:013e:1:0
+Nessuno TV
+p:AH-EDP,f:40
+1338:00820000:33f4:013e:1:0
+NEW TELEVISION
+p:Telespazio,f:40
+1c38:00820000:1c20:013e:1:0
+CCTV4
+p:AH-EDP,f:40
+2c38:00820000:1644:fbff:1:0
+Nickelodeon
+p:SkyItalia,f:40
+1339:00820000:33f4:013e:1:0
+GBR
+p:Telespazio,f:40
+2239:00820000:1af4:013e:1:0
+MCT Gay-Trans
+p:TSA,f:40
+133a:00820000:33f4:013e:1:0
+BTV INPS
+p:Telespazio,f:40
+223a:00820000:1af4:013e:1:0
+MCT Fantasy-Amateur
+p:TSA,f:40
+223b:00820000:1af4:013e:1:0
+Don t Panic TV
+p:TSA,f:40
+013c:00820000:157c:013e:1:0
+JETIX
+p:NetMed,f:40
+2c3c:00820000:1644:fbff:1:0
+NASN
+p:SkyItalia,f:40
+003d:00820000:00c9:0006:1:0
+Bars and Test Tone +4.0 dBu
+p:,f:40
+013d:00820000:157c:013e:1:0
+novacinema1
+p:NetMed,f:40
+113d:00820000:2af8:013e:1:0
+INFO+/C+ Sport2
+p:CYFRA +,f:40
+133d:00820000:33f4:013e:1:0
+Sensuality
+p:Telespazio,f:40
+223d:00820000:1af4:013e:1:0
+MCT Super-Dream
+p:Harmonic,f:40
+013e:00820000:157c:013e:1:0
+novasports1
+p:NetMed,f:40
+133e:00820000:33f4:013e:1:0
+SixtyNine
+p:Telespazio,f:40
+223e:00820000:1af4:013e:1:0
+MCT Strong
+p:TSA,f:40
+013f:00820000:157c:013e:1:0
+MEGA
+p:NetMed,f:40
+123f:00820000:2b5c:013e:1:0
+Discovery Historia
+p:ARQIVA,f:40
+133f:00820000:33f4:013e:1:0
+Telemarket
+p:Telespazio,f:40
+213f:00820000:3070:013e:1:0
+Rai Uno
+p:RAI,f:40
+0140:00820000:157c:013e:1:0
+ANT-1
+p:NetMed,f:40
+1240:00820000:2b5c:013e:1:0
+AXN
+p:ARQIVA,f:40
+2140:00820000:3070:013e:1:0
+Rai Due
+p:RAI,f:40
+0141:00820000:157c:013e:1:0
+STAR
+p:NetMed,f:40
+0641:00820000:2ee0:00b0:1:0
+M6
+p:,C:0100,C:0500,f:40
+1241:00820000:2b5c:013e:1:0
+AXN Crime
+p:ARQIVA,f:40
+2141:00820000:3070:013e:1:0
+Rai Tre
+p:RAI,f:40
+0142:00820000:157c:013e:1:0
+ALTER
+p:NetMed,f:40
+0642:00820000:2ee0:00b0:1:0
+Eurosport
+p:,C:0100,C:0500,f:40
+1242:00820000:2b5c:013e:1:0
+AXN Sci-Fi
+p:ARQIVA,f:40
+2142:00820000:3070:013e:1:0
+Rai Gulp
+p:RAI,f:40
+2242:00820000:1af4:013e:1:0
+MCT Reality-Blu
+p:Harmonic,f:40
+0143:00820000:157c:013e:1:0
+SSExtra 1
+p:NetMed,f:40
+0643:00820000:2ee0:00b0:1:0
+Histoire
+p:,C:0100,C:0500,f:40
+1243:00820000:2b5c:013e:1:0
+Religia
+p:TVN,f:40
+1f43:00820000:319c:013e:1:0
+RTL CH
+p:T-Systems,C:0d02,f:40
+2243:00820000:1af4:013e:1:0
+MCT Gold
+p:Harmonic,f:40
+0144:00820000:157c:013e:1:0
+R13
+p:NetMed,f:40
+0644:00820000:2ee0:00b0:1:0
+TF1
+p:,C:0100,C:0500,f:40
+0145:00820000:157c:013e:1:0
+ALPHA TV
+p:NetMed,f:40
+0046:00820000:1250:0064:1:0
+AIT
+p:,f:40
+0146:00820000:157c:013e:1:0
+R11
+p:NetMed,f:40
+0646:00820000:2ee0:00b0:1:0
+Odyssée
+p:,C:0100,C:0500,f:40
+0047:00820000:1250:0064:1:0
+Bridge TV
+p:,f:40
+0147:00820000:157c:013e:1:0
+R12
+p:NetMed,f:40
+0647:00820000:2ee0:00b0:1:0
+TF6
+p:,C:0100,C:0500,f:40
+0048:00820000:1250:0064:1:0
+MTA International
+p:,f:40
+0148:00820000:157c:013e:1:0
+Test2
+p:NetMed,f:40
+0648:00820000:2ee0:00b0:1:0
+LCI
+p:,C:0500,f:40
+0149:00820000:157c:013e:1:0
+DS  Test
+p:NetMed,f:40
+0649:00820000:2ee0:00b0:1:0
+Télétoon+1
+p:,C:0100,C:0500,f:40
+0d49:00820000:1450:013e:1:0
+RAI1
+p:RAI,f:40
+064a:00820000:2ee0:00b0:1:0
+Privatespice
+p:,C:0500,f:40
+0d4a:00820000:1450:013e:1:0
+RAI2
+p:RAI,f:40
+294a:00820000:1edc:0071:1:0
+Portal ITV
+p:OTV,f:40
+064b:00820000:2ee0:00b0:1:0
+Planète Thalassa
+p:,C:0500,f:40
+0d4b:00820000:1450:013e:1:0
+RAI3
+p:RAI,f:40
+1f4b:00820000:319c:013e:1:0
+ZDF
+p:ZDFmobil,f:40
+0d4c:00820000:1450:013e:1:0
+RaiMed
+p:RAI,f:40
+114c:00820000:2af8:013e:1:0
+MTV TWO
+p:CYFRA +,f:40
+044d:00820000:2d50:00b0:1:0
+Canal+
+p:,f:40
+114d:00820000:2af8:013e:1:0
+HBO
+p:CYFRA +,f:40
+1d4d:00820000:2f44:013e:1:0
+novasports3
+p:NetMed,f:40
+044e:00820000:2d50:00b0:1:0
+Canal+ Décalé
+p:,f:40
+044e:00820000:3d54:013e:1:0
+Fileas
+p:,f:40
+0d4e:00820000:1450:013e:1:0
+RaiEdu2
+p:RAI,f:40
+114e:00820000:2af8:013e:1:0
+HALLMARK
+p:CYFRA +,f:40
+1d4e:00820000:2f44:013e:1:0
+VH1
+p:NetMed,f:40
+294e:00820000:1edc:0071:1:0
+Pogoda
+p:OTV2,f:40
+044f:00820000:2d50:00b0:1:0
+France 2
+p:,C:0100,C:0500,f:40
+114f:00820000:2af8:013e:1:0
+HBO2
+p:CYFRA +,f:40
+1d4f:00820000:2f44:013e:1:0
+MTV
+p:NetMed,f:40
+0450:00820000:2d50:00b0:1:0
+Eurosport 2
+p:,C:0100,C:0500,f:40
+0d50:00820000:1450:013e:1:0
+Senato
+p:RAI,f:40
+1150:00820000:2af8:013e:1:0
+HBO COMEDY
+p:CYFRA +,f:40
+2950:00820000:1edc:0071:1:0
+Test-EPG
+p:Cyfrowy Polsat S.A.,f:40
+0051:00822faf:0001:0001:1:0
+Thai Global Network
+p:RRSat,f:40
+0451:00820000:2d50:00b0:1:0
+France 3
+p:,C:0100,C:0500,f:40
+1d51:00820000:2f44:013e:1:0
+MGM
+p:NetMed,f:40
+2d51:00820000:2008:fbff:1:0
+Prima Fila 16
+p:SkyItalia,f:40
+0452:00820000:2d50:00b0:1:0
+Canal+ Cinéma
+p:,f:40
+0d52:00820000:1450:013e:1:0
+Rai Gulp
+p:Rai,f:40
+1d52:00820000:2f44:013e:1:0
+Animal Planet
+p:NetMed,f:40
+0453:00820000:2d50:00b0:1:0
+Canal+ Hi-Tech
+p:,f:40
+1153:00820000:2af8:013e:1:0
+ESP
+p:CYFRA +,f:40
+1d53:00820000:2f44:013e:1:0
+novacinema2
+p:NetMed,f:40
+2d53:00820000:2008:fbff:1:0
+Prima Fila 20
+p:SkyItalia,f:40
+0154:0082afc1:0065:0001:1:0
+IBB TV Dedicated Channel 340
+p:,f:40
+0454:00820000:2d50:00b0:1:0
+Canal+ Sport
+p:,f:40
+0654:00820000:2ee0:00b0:1:0
+M6
+p:,C:0100,C:0500,f:40
+1d54:00820000:2f44:013e:1:0
+National Geographic
+p:NetMed,f:40
+0455:00820000:2d50:00b0:1:0
+OL TV
+p:,C:0100,C:0500,f:40
+0655:00820000:2ee0:00b0:1:0
+TF1
+p:,C:0100,C:0500,f:40
+1d55:00820000:2f44:013e:1:0
+novacinema2 Cy
+p:NetMed,f:40
+0456:00820000:2d50:00b0:1:0
+I>TELE
+p:,C:0500,f:40
+1d56:00820000:2f44:013e:1:0
+A TEST
+p:NetMed,f:40
+2456:00820000:23f0:013f:1:0
+Administra.it - FLTV
+p:Administra.it - FLTV,f:40
+1d57:00820000:2f44:013e:1:0
+MAD VMA '08
+p:NetMed,f:40
+2d57:00820000:2008:fbff:1:0
+Prima Fila 24
+p:SkyItalia,f:40
+1f59:00820000:319c:013e:1:0
+MI-TV
+p:T-Systems,f:40
+2d59:00820000:2008:fbff:1:0
+Prima Fila 8
+p:SkyItalia,f:40
+025a:00820000:3c8c:013e:1:0
+IranMusic
+p:T-Systems,f:40
+1f5a:00820000:319c:013e:1:0
+SRI TV
+p:T-Systems,f:40
+2d5b:00820000:2008:fbff:1:0
+Prima Fila 26
+p:SkyItalia,f:40
+1f5c:00820000:319c:013e:1:0
+Venere TV
+p:T-Systems,f:40
+025d:00820000:3c8c:013e:1:0
+Napoli TLA
+p:T-Systems,f:40
+1f5d:00820000:319c:013e:1:0
+Sport Channel
+p:T-Systems,f:40
+2b5d:00820000:19c8:fbff:1:0
+SKYCinema 1
+p:SkyItalia,f:40
+2d5d:00820000:2008:fbff:1:0
+SKY Calcio 9
+p:SkyItalia,f:40
+025e:00820000:3c8c:013e:1:0
+ARD "Das Erste"
+p:T-Systems,f:40
+125e:00820000:3458:013e:1:0
+Telenord
+p:T-Systems/MTI,f:40
+1f5e:00820000:319c:013e:1:0
+Iran Beauty
+p:T-Systems,f:40
+015f:00820000:1c84:013e:1:0
+Discovery Channel
+p:NetMed,f:40
+025f:00820000:3c8c:013e:1:0
+DW-TV EUROPA
+p:Deutsche Welle,f:40
+125f:00820000:3458:013e:1:0
+Trentino TV
+p:T-Systems/MTI,f:40
+1f5f:00820000:319c:013e:1:0
+C TV Coptic CH
+p:T-Systems,f:40
+2b5f:00820000:19c8:fbff:1:0
+SKY Mania
+p:SkyItalia,f:40
+2d5f:00820000:2008:fbff:1:0
+SKY Calcio 10
+p:SkyItalia,f:40
+365f:00820000:1388:013e:1:0
+BBC Arabic
+p:BBC World Service,f:40
+0160:00820000:1c84:013e:1:0
+R9
+p:NetMed,f:40
+0260:00820000:3c8c:013e:1:0
+DW-TV ARABIA
+p:Deutsche Welle,f:40
+0460:00820000:2d50:00b0:1:0
+France 2
+p:,C:0100,C:0500,f:40
+1f60:00820000:319c:013e:1:0
+tv PERSIA
+p:T-Systems,f:40
+0161:00820000:1c84:013e:1:0
+novasports2
+p:NetMed,f:40
+0261:00820000:3c8c:013e:1:0
+RTL 2 CH
+p:T-Systems,f:40
+0461:00820000:2d50:00b0:1:0
+France 3
+p:,C:0100,C:0500,f:40
+1261:00820000:3458:013e:1:0
+Sat9
+p:T-Systems/MTI,f:40
+2b61:00820000:19c8:fbff:1:0
+SKYCinema 3
+p:SkyItalia,f:40
+2d61:00820000:2008:fbff:1:0
+SKY Calcio 11
+p:SkyItalia,f:40
+3b61:00820000:0578:013e:1:0
+HBO HD
+p:ITI,f:40
+0162:00820000:1c84:013e:1:0
+TCM
+p:NetMed,f:40
+0462:00820000:2d50:00b0:1:0
+I>TELE
+p:,C:0500,f:40
+1262:00820000:3458:013e:1:0
+ELITE SHOPPING
+p:T-Systems/MTI,f:40
+2d62:00820000:2008:fbff:1:0
+SKY Calcio 12
+p:SkyItalia,f:40
+0163:00820000:1c84:013e:1:0
+Test  TX
+p:NetMed,f:40
+2d63:00820000:2008:fbff:1:0
+SKY Calcio 13
+p:SkyItalia,f:40
+0064:0082afc1:0065:0001:1:0
+VOA TV 100 (HB1-4)
+p:,f:40
+0164:00820000:1c84:013e:1:0
+R15
+p:NetMed,f:40
+0264:00820000:3c8c:013e:1:0
+7'armanat Nar
+p:T-Systems,f:40
+0f64:00820000:251c:fbff:1:0
+Vetrina Primafila
+p:SkyItalia,f:40
+1264:00820000:3458:013e:1:0
+Hot Week
+p:T-Systems/MTI,f:40
+2d64:00820000:2008:fbff:1:0
+SKY Calcio 14
+p:SkyItalia,f:40
+0065:00820000:1e14:013e:1:0
+Gulli
+p:Globecast,C:0500,f:40
+0165:00820000:1c84:013e:1:0
+R10
+p:NetMed,f:40
+0265:00820000:3c8c:013e:1:0
+arab-69.tv
+p:T-Systems,f:40
+0f65:00820000:251c:fbff:1:0
+Prima Fila 1
+p:SkyItalia,f:40
+1265:00820000:3458:013e:1:0
+Sevince TV
+p:T-Systems/MTI,f:40
+2b65:00820000:19c8:fbff:1:0
+SKY Calcio 1
+p:SkyItalia,f:40
+0066:00820000:1e14:013e:1:0
+AZ TV
+p:GlobeCast,f:40
+0166:00820000:1c84:013e:1:0
+R8
+p:NetMed,f:40
+0266:00820000:3c8c:013e:1:0
+' ' Hot Arab Sex
+p:T-Systems,f:40
+0f66:00820000:251c:fbff:1:0
+Prima Fila 2
+p:SkyItalia,f:40
+1266:00820000:3458:013e:1:0
+Betting Channel
+p:T-Systems/MTI,f:40
+2d66:00820000:2008:fbff:1:0
+SKY Sport 16:9
+p:SkyItalia,f:40
+0067:00820000:1e14:013e:1:0
+COMING SOON
+p:GlobeCast,f:40
+0267:00820000:3c8c:013e:1:0
+.69arabdream.tv
+p:T-Systems,f:40
+0f67:00820000:251c:fbff:1:0
+Prima Fila 12
+p:SkyItalia,f:40
+2b67:00820000:19c8:fbff:1:0
+E!
+p:SkyItalia,f:40
+0068:00820000:1e14:013e:1:0
+FILLES TV
+p:Globecast,C:0500,f:40
+0168:00820000:1c84:013e:1:0
+Cartoon
+p:NetMed,f:40
+0268:00820000:3c8c:013e:1:0
+Arab-Jins
+p:MEDIA BROADCAST,f:40
+0f68:00820000:251c:fbff:1:0
+Prima Fila 4
+p:SkyItalia,f:40
+0069:00820000:1e14:013e:1:0
+MEZZO
+p:Globecast,C:0604,C:0100,C:0500,f:40
+0169:00820000:1c84:013e:1:0
+MACEDONIA TV
+p:NetMed,f:40
+0269:00820000:3c8c:013e:1:0
+Zawaj elmot3a
+p:MEDIA BROADCAST,f:40
+0f69:00820000:251c:fbff:1:0
+Prima Fila 6
+p:SkyItalia,f:40
+2969:00820000:22c4:013e:1:0
+LIVE 24
+p:Belgacom,f:40
+2d69:00820000:2008:fbff:1:0
+SKY Sport Extra
+p:SkyItalia,f:40
+006a:00820000:1e14:013e:1:0
+Canal J
+p:GlobeCast,C:0500,f:40
+016a:00820000:1c84:013e:1:0
+SKAI TV
+p:NetMed,f:40
+026a:00820000:3c8c:013e:1:0
+Lebnaniat TV.
+p:T-Systems,f:40
+0f6a:00820000:251c:fbff:1:0
+Prima Fila 7
+p:SkyItalia,f:40
+1d6a:00820000:2f44:013e:1:0
+SSExtra 2
+p:NetMed,f:40
+226a:00820000:238c:013e:1:0
+Canal Algerie
+p:TDA,f:40
+296a:00820000:22c4:013e:1:0
+.Eurotour-Xstream
+p:Belgacom,f:40
+016b:00820000:1c84:013e:1:0
+ET-3
+p:NetMed,f:40
+026b:00820000:3c8c:013e:1:0
+Arab XXX
+p:T-Systems,f:40
+0f6b:00820000:251c:fbff:1:0
+Prima Fila 9
+p:SkyItalia,f:40
+226b:00820000:238c:013e:1:0
+A3
+p:TDA,f:40
+296b:00820000:22c4:013e:1:0
+Komala TV
+p:Belgacom,f:40
+2b6b:00820000:19c8:fbff:1:0
+SKY Max
+p:SkyItalia,f:40
+006c:00820000:1e14:013e:1:0
+SUBACQUEA TV
+p:GlobeCast,f:40
+026c:00820000:3c8c:013e:1:0
+Wala3 Arab tv
+p:T-Systems,f:40
+0f6c:00820000:251c:fbff:1:0
+Prima Fila 10
+p:SkyItalia,f:40
+296c:00820000:22c4:013e:1:0
+Zee TV
+p:Belgacom,f:40
+006d:00820000:1e14:013e:1:0
+HOLY GOD
+p:Globecast,f:40
+026d:00820000:3c8c:013e:1:0
+Xtele.tv
+p:T-Systems,f:40
+0f6d:00820000:251c:fbff:1:0
+Vetrina Primafila
+p:SkyItalia,f:40
+206d:00820000:2328:013e:1:0
+HRT-TV1
+p:OIV Zagreb,f:40
+296d:00820000:22c4:013e:1:0
+ROJ
+p:Belgacom,f:40
+006e:00820000:1e14:013e:1:0
+Virgin 17
+p:Globecast,C:0500,f:40
+026e:00820000:3c8c:013e:1:0
++18 Nisa
+p:MEDIA BROADCAST,f:40
+0f6e:00820000:251c:fbff:1:0
+FX
+p:SkyItalia,f:40
+126e:00820000:3458:013e:1:0
+ALL SEX
+p:T-Systems/MTI,f:40
+206e:00820000:2328:013e:1:0
+HRT-TV2
+p:OIV Zagreb,f:40
+2b6e:00820000:19c8:fbff:1:0
+Disney Channel
+p:SkyItalia,f:40
+016f:00820000:1c84:013e:1:0
+R7
+p:NetMed,f:40
+026f:00820000:3c8c:013e:1:0
+Al Jameela Jins
+p:MEDIA BROADCAST,f:40
+0f6f:00820000:251c:fbff:1:0
+Vetrina Primafila
+p:SkyItalia,f:40
+126f:00820000:3458:013e:1:0
+Made In Italy
+p:T-Systems/MTI,f:40
+206f:00820000:2328:013e:1:0
+HRT PLUS
+p:OIV Zagreb,f:40
+296f:00820000:22c4:013e:1:0
+2M MAROC
+p:BELGACOM,f:40
+2b6f:00820000:19c8:fbff:1:0
+New Ch1
+p:SkyItalia,f:40
+0070:00820000:1e14:013e:1:0
+Rainbow TV
+p:Tadiran Scopus,f:40
+0070:00820000:00c9:0006:1:0
+Guide/AFN Franconia Eagle
+p:,C:0e00,f:40
+0170:00820000:1c84:013e:1:0
+novasports7
+p:NetMed,f:40
+0270:00820000:3c8c:013e:1:0
+.arab babes
+p:T-Systems,f:40
+1270:00820000:3458:013e:1:0
+ODEON SAT
+p:T-Systems/MTI,f:40
+2b70:00820000:19c8:fbff:1:0
+SKY Show
+p:SkyItalia,f:40
+0071:00820000:1e14:013e:1:0
+DAN TV
+p:GlobeCast,f:40
+0071:00820000:00c9:0006:1:0
+Guide/AFN Franconia PowerNet
+p:,C:0e00,f:40
+0171:00820000:1c84:013e:1:0
+novasports7 Cy
+p:NetMed,f:40
+0f71:00820000:251c:fbff:1:0
+Vetrina Primafila
+p:SkyItalia,f:40
+2971:00820000:22c4:013e:1:0
+ARY DIGITAL
+p:Belgacom,f:40
+0072:00822faf:0001:0001:1:0
+TCT
+p:RRSat,f:40
+0072:00820000:1e14:013e:1:0
+TIJI
+p:GlobeCast ,C:0500,f:40
+0172:00820000:1c84:013e:1:0
+Mad Music Hits GR Cy
+p:NetMed,f:40
+0272:00820000:3c8c:013e:1:0
+Erde und Mensch
+p:T-Systems,f:40
+1f72:00820000:319c:013e:1:0
+Akubis Classic
+p:T-Systems,C:0b00,f:40
+0073:00822faf:0001:0001:1:0
+Arirang TV
+p:RRSat,f:40
+0173:00820000:1c84:013e:1:0
+Mad Music My Rock Cy
+p:NetMed,f:40
+0273:00820000:3c8c:013e:1:0
+Italiamia
+p:T-Systems,f:40
+1273:00820000:3458:013e:1:0
+MagicTV
+p:T-Systems/MTI,f:40
+1f73:00820000:319c:013e:1:0
+Akubis Direkt
+p:T-Systems,C:0b00,f:40
+0074:00822faf:0001:0001:1:0
+KURDsat
+p:RRSat,f:40
+0174:00820000:1c84:013e:1:0
+Mad Music Greek Cy
+p:NetMed,f:40
+0274:00820000:3c8c:013e:1:0
+FREE CHANNEL
+p:T-Systems,f:40
+1274:00820000:3458:013e:1:0
+Sat8
+p:T-Systems/MTI,f:40
+1f74:00820000:319c:013e:1:0
+AKUBIS Special IG
+p:T-Systems,C:0b00,f:40
+0075:00820000:1e14:013e:1:0
+KURD 1
+p:GlobeCast,f:40
+0175:00820000:1c84:013e:1:0
+Mad Music Rebetico Cy
+p:NetMed,f:40
+0275:00820000:3c8c:013e:1:0
+pdf.tv
+p:T-Systems,f:40
+1275:00820000:3458:013e:1:0
+TLC SAT
+p:T-Systems/MTI,f:40
+0076:00820000:1e14:013e:1:0
+Private Spice
+p:digital media centre,f:40
+0176:00820000:1c84:013e:1:0
+Mad Music  Seasonal Cy
+p:NetMed,f:40
+1276:00820000:3458:013e:1:0
+STARSAT
+p:T-Systems/MTI,f:40
+2976:00820000:22c4:013e:1:0
+MEZOPOTAMIA
+p:Belgacom,f:40
+0077:00820000:1e14:013e:1:0
+Canale Italia
+p:,f:40
+0277:00820000:3c8c:013e:1:0
+Sexy Sexy TV
+p:T-Systems,f:40
+0078:00822faf:0001:0001:1:0
+Newroz
+p:RRSAt,f:40
+0178:00820000:1c84:013e:1:0
+NEÔ
+p:NetMed,f:40
+0278:00820000:3c8c:013e:1:0
+xxx Action TV
+p:T-Systems,f:40
+1278:00820000:3458:013e:1:0
+MOTORI TV
+p:T-Systems/MTI,f:40
+2978:00820000:22c4:013e:1:0
+Alpha ETC Punjabi
+p:Belgacom,f:40
+0179:00820000:1c84:013e:1:0
+MAD T.V
+p:NetMed,f:40
+0279:00820000:3c8c:013e:1:0
+Tele A+
+p:T-Systems,f:40
+0579:00820000:2c88:00b0:1:0
+Infosport
+p:,C:0100,C:0500,f:40
+017a:00820000:1c84:013e:1:0
+ET-1
+p:NetMed,f:40
+057a:00820000:2c88:00b0:1:0
+Planète Juniors
+p:,C:0100,C:0500,f:40
+127a:00820000:3458:013e:1:0
+PLAY TV ITALIA
+p:T-Systems/MTI,f:40
+237a:00820000:238c:013e:1:0
+RETE ORO
+p:Scopus Network Technologies,f:40
+027b:00820000:3c8c:013e:1:0
+COOLtv
+p:Media Braodcast,f:40
+057b:00820000:2c88:00b0:1:0
+Série Club
+p:,C:0100,C:0500,f:40
+127b:00820000:3458:013e:1:0
+PEOPLE TV-RETE7
+p:T-Systems/MTI,f:40
+227b:00820000:238c:013e:1:0
+TVA Vicenza
+p:MultiProgram,f:40
+017c:00820000:1c84:013e:1:0
+MAD TV
+p:NetMed,f:40
+027c:00820000:3c8c:013e:1:0
+Tele A
+p:Media Broadcast,f:40
+057c:00820000:2c88:00b0:1:0
+Fun TV
+p:,C:0100,C:0500,f:40
+117c:00820000:2af8:013e:1:0
+DTV CABLE PL
+p:CYFRA +,f:40
+127c:00820000:3458:013e:1:0
+ROMA SAT
+p:T-Systems/MTI,f:40
+227c:00820000:238c:013e:1:0
+CARPE DIEM
+p:MultiProgram,f:40
+017d:00820000:1c84:013e:1:0
+R14
+p:NetMed,f:40
+057d:00820000:2c88:00b0:1:0
+Téva
+p:,C:0100,C:0500,f:40
+117d:00820000:2af8:013e:1:0
+DTV CABLE MI
+p:CYFRA +,f:40
+127d:00820000:3458:013e:1:0
+MTI
+p:T-Systems/MTI,f:40
+227d:00820000:238c:013e:1:0
+GENIUS TV
+p:MultiProgram,f:40
+297d:00820000:22c4:013e:1:0
+Newroz
+p:BSS,f:40
+057e:00820000:2c88:00b0:1:0
+Télétoon
+p:,C:0100,C:0500,f:40
+127e:00820000:3458:013e:1:0
+Mediatel
+p:T-Systems/MTI,f:40
+1d7e:00820000:2f44:013e:1:0
+OTV Test
+p:NetMed,f:40
+227e:00820000:238c:013e:1:0
+LA 8
+p:MultiProgram,f:40
+377e:00820000:044c:013e:1:0
+Rang-A-Rang TV
+p:RRSat,f:40
+017f:00820000:1c84:013e:1:0
+novasports2 Cy
+p:NetMed,f:40
+057f:00820000:2c88:00b0:1:0
+Paris Première
+p:,C:0500,f:40
+1d7f:00820000:2f44:013e:1:0
+OTV PVR
+p:NetMed,f:40
+377f:00820000:044c:013e:1:0
+CALABRIA
+p:RRSat,f:40
+0180:00820000:1c84:013e:1:0
+ÂïõëÞ
+p:NetMed,f:40
+0580:00820000:2c88:00b0:1:0
+Piwi
+p:,C:0100,C:0500,f:40
+2980:00820000:22c4:013e:1:0
+Zee Cinema
+p:Belgacom,f:40
+3780:00820000:044c:013e:1:0
+TIZIANA SAT
+p:,f:40
+0c81:00820000:1f40:013e:1:0
+SLO-TV1
+p:RTV Slovenija,f:40
+2981:00820000:22c4:013e:1:0
+B4U Movies
+p:Belgacom,f:40
+3781:00820000:044c:013e:1:0
+RTA
+p:RRSat,f:40
+0082:00822faf:0001:0001:1:0
+FREE-XTV 2
+p:RRSat,f:40
+0182:00820000:1c84:013e:1:0
+MAD MUSIC  Hits GR
+p:NetMed,f:40
+0582:00820000:2c88:00b0:1:0
+M6 Music Hits
+p:,C:0100,C:0500,f:40
+0c82:00820000:1f40:013e:1:0
+SLO-TV2
+p:RTV Slovenija,f:40
+0083:00822faf:0001:0001:1:0
+XDream TV
+p:RRSat,f:40
+0183:00820000:1c84:013e:1:0
+MAD MUSIC My Rock
+p:NetMed,f:40
+0c83:00820000:1f40:013e:1:0
+TV K-C
+p:RTV Slovenija,f:40
+3783:00820000:044c:013e:1:0
+Cancao Nova
+p:,f:40
+0084:00820000:00c9:0006:1:0
+Guide/AFN Hessen Eagle
+p:,C:0e00,f:40
+0184:00820000:1c84:013e:1:0
+MAD MUSIC Greek
+p:NetMed,f:40
+0584:00820000:2c88:00b0:1:0
+CANAL + FAMILY
+p:,C:0500,f:40
+3584:00820000:1388:013e:1:0
+Zagros Tv
+p:BT,f:40
+3784:00820000:044c:013e:1:0
+Bethel TV
+p:,f:40
+0085:00820000:00c9:0006:1:0
+Guide/AFN Hessen PowerNet
+p:,C:0e00,f:40
+0185:00820000:1c84:013e:1:0
+MAD MUSIC Rebetico
+p:NetMed,f:40
+0385:00820000:2134:013e:1:0
+SF 1
+p:Schweizer Fernsehen,f:40
+1285:00820000:3458:013e:1:0
+.Lolita
+p:T-Systems/MTI,f:40
+1c85:00820000:332c:013e:1:0
+Motors TV
+p:Arqiva France,f:40
+1c85:00820000:1ce8:0071:1:0
+Zone Romantica
+p:Cyfrowy Polsat,f:40
+3785:00820000:044c:013e:1:0
+Extra 3
+p:,f:40
+0086:00822faf:0001:0001:1:0
+Free-X TV
+p:RRSat,f:40
+0186:00820000:1c84:013e:1:0
+MAD MUSIC Seasonal
+p:NetMed,f:40
+0586:00820000:2c88:00b0:1:0
+Teletoon Africa
+p:,C:0500,f:40
+1c86:00820000:1ce8:0071:1:0
+AXN Crime
+p:Cyfrowy Polsat,f:40
+1f86:00820000:319c:013e:1:0
+bwtv
+p:T-Systems,f:40
+3786:00820000:044c:013e:1:0
+Dorcel TV
+p:,f:40
+0087:00822faf:0001:0001:1:0
+SAMA FM TV
+p:RRSat,f:40
+0c87:00820000:1f40:013e:1:0
+SLO-TV3
+p:RTV Slovenija,f:40
+1287:00820000:3458:013e:1:0
+Feyz TV
+p:T-Systems/MTI,f:40
+1c87:00820000:1ce8:0071:1:0
+AXN Sci-Fi
+p:Cyfrowy Polsat,f:40
+2487:00820000:23f0:013f:1:0
+TELE5
+p:EUTELSAT,f:40
+1288:00820000:3458:013e:1:0
+Mobile Arena TV
+p:T-Systems/MTI,f:40
+1d88:00820000:2f44:013e:1:0
+novasports3 Cy
+p:NetMed,f:40
+2488:00820000:23f0:013f:1:0
+POLONIA1
+p:EUTELSAT,f:40
+0c89:00820000:1f40:013e:1:0
+BVN-TV
+p:RTV Slovenija,f:40
+1c89:00820000:1ce8:0071:1:0
+Extreme Sports
+p:Cyfrowy Polsat,f:40
+2489:00820000:23f0:013f:1:0
+EDUSAT
+p:EUTELSAT,f:40
+3589:00820000:1388:013e:1:0
+TRSP
+p:BT,f:40
+3789:00820000:044c:013e:1:0
+TAPESH TV2
+p:GlobeCast,f:40
+378a:00820000:044c:013e:1:0
+ADJARA TV
+p:,f:40
+038b:00820000:2134:013e:1:0
+SF zwei
+p:Schweizer Fernsehen,f:40
+128b:00820000:3458:013e:1:0
+EBC.1
+p:T-Systems/MTI,f:40
+0c8c:00820000:1f40:013e:1:0
+XL Tv
+p:OIV Zagreb,f:40
+128c:00820000:3458:013e:1:0
+Heaven TV
+p:T-Systems/MTI,f:40
+008d:00820000:0389:0110:1:0
+Canale 5
+p:Mediaset,f:40
+0c8d:00820000:1f40:013e:1:0
+TV SLJEME
+p:OiV Zagreb,f:40
+208d:00820000:2328:013e:1:0
+Italia 8
+p:OiV Zagreb,f:40
+378d:00820000:044c:013e:1:0
+One Minute TV
+p:PRVDR,f:40
+008e:00820000:012d:0006:1:0
+The Eagle-Vicenza
+p:,C:0e00,f:40
+008e:00820000:0389:0110:1:0
+Italia 1
+p:Mediaset,f:40
+0c8e:00820000:1f40:013e:1:0
+PLEASURE TV
+p:OIV Zagreb,f:40
+208e:00820000:2328:013e:1:0
+Jewels Sorg1
+p:OiV Zagreb,f:40
+378e:00820000:044c:013e:1:0
+ECTV
+p:RRSat,f:40
+008f:00820000:012d:0006:1:0
+Power-Vicenza
+p:,C:0e00,f:40
+008f:00820000:0389:0110:1:0
+Rete 4
+p:Mediaset,f:40
+038f:00820000:2134:013e:1:0
+SF info
+p:Schweizer Fernsehen,f:40
+1d8f:00820000:2f44:013e:1:0
+novacinema1 Cy
+p:NetMed,f:40
+208f:00820000:2328:013e:1:0
+Jewels Sorg2
+p:OiV Zagreb,f:40
+0090:00820000:0389:0110:1:0
+Iris
+p:Mediaset,f:40
+0190:0082afc1:0065:0001:1:0
+VNN TEST 400
+p:,f:40
+2090:00820000:2328:013e:1:0
+Jewels Sorg3
+p:OiV Zagreb,f:40
+3790:00820000:044c:013e:1:0
+PDF Channel
+p: ,f:40
+2092:00820000:2328:013e:1:0
+Health&Beauty TV
+p:OiV Zagreb,f:40
+2492:00820000:23f0:013f:1:0
+AL JAZEERA CHILDREN
+p:Al Jazeera,f:40
+3792:00820000:044c:013e:1:0
+TV2DAY
+p:RRSat,f:40
+0c93:00820000:1f40:013e:1:0
+BLU LINE
+p:OIV Zagreb,f:40
+1c93:00820000:1ce8:0071:1:0
+Discovery
+p:Cyfrowy Polsat,f:40
+1d93:00820000:2f44:013e:1:0
+EEPG
+p:NetMed,f:40
+0c94:00820000:1f40:013e:1:0
+NTV HAYAT SAT
+p:RTV Slovenija,f:40
+1c94:00820000:1ce8:0071:1:0
+Animal Planet
+p:Cyfrowy Polsat,f:40
+0c95:00820000:1f40:013e:1:0
+DANCE TV
+p:OIV Zagreb,f:40
+1d95:00820000:2f44:013e:1:0
+NOVA SCOPE
+p:NetMed,f:40
+3795:00820000:044c:013e:1:0
+Casa Italia
+p:PRVDR,f:40
+0c96:00820000:1f40:013e:1:0
+ITALIAN MUSIC
+p:OIV Zagreb,f:40
+1c96:00820000:1ce8:0071:1:0
+AXN
+p:Cyfrowy Polsat,f:40
+2096:00820000:2328:013e:1:0
+RBC-TV
+p:OiV Zagreb,f:40
+0097:00820000:0389:0110:1:0
+Sportitalia
+p:,f:40
+1d97:00820000:2f44:013e:1:0
+Travel Channel
+p:NetMed,f:40
+2097:00820000:2328:013e:1:0
+OASI TV
+p:OIV Zagreb,f:40
+3797:00820000:044c:013e:1:0
+MTV PULSE
+p:,f:40
+0098:00820000:0389:0110:1:0
+Sportitalia24
+p:,f:40
+0098:00820000:00c9:0006:1:0
+Guide/AFN Heidelberg Eagle
+p:,C:0e00,f:40
+2098:00820000:2328:013e:1:0
+NOELLO SAT
+p:OiV Zagreb,f:40
+3598:00820000:1388:013e:1:0
+Telefortune
+p:BT,f:40
+3798:00820000:044c:013e:1:0
+MTV IDOL
+p:,f:40
+0099:00820000:00c9:0006:1:0
+Guide/AFN Heidelberg PowerNet
+p:,C:0e00,f:40
+1c99:00820000:332c:013e:1:0
+TV5MONDE FBS
+p:TV5MONDE,f:40
+1d99:00820000:2f44:013e:1:0
+novasports1 Cy
+p:NetMed,f:40
+2099:00820000:2328:013e:1:0
+TAXI CHANNEL
+p:OiV Zagreb,f:40
+3a99:00820000:0514:013e:1:0
+Wojna i Pokoj
+p:ITI,f:40
+019a:00820000:1964:013e:1:0
+ART PRIME SPORT - ARABESQUE
+p:ART,f:40
+0c9a:00820000:1f40:013e:1:0
+Diva Futura
+p:OIV Zagreb,f:40
+1c9a:00820000:332c:013e:1:0
+TV5MONDE EUROPE
+p:TV5MONDE,f:40
+1d9a:00820000:2f44:013e:1:0
+Stest1
+p:NetMed,f:40
+3a9a:00820000:0514:013e:1:0
+nTalk
+p:ITI,f:40
+3a9b:00820000:0514:013e:1:0
+TVN Lingua
+p:ITI,f:40
+1c9c:00820000:332c:013e:1:0
+ANN
+p:Arqiva France,f:40
+219c:00822a65:2db4:0000:1:0
+Supreme Master TV
+p:T-Systems,f:40
+1c9d:00820000:332c:013e:1:0
+Videolook
+p:Arqiva France,f:40
+359d:00820000:1388:013e:1:0
+Nepali
+p:BT,f:40
+0c9e:00820000:1f40:013e:1:0
+CRO MUSIC CHANNEL
+p:OiV Zagreb,f:40
+1c9e:00820000:332c:013e:1:0
+Kurdistan TV
+p:Arqiva France,f:40
+0c9f:00820000:1f40:013e:1:0
+Kanal e Jadid
+p:OiV Zagreb,f:40
+1c9f:00820000:332c:013e:1:0
+Iran TV
+p:Arqiva France,f:40
+0ca0:00820000:1f40:013e:1:0
+LOVEWORLD
+p:OiV Zagreb,f:40
+1ca0:00820000:332c:013e:1:0
+Videolina
+p:Arqiva France,f:40
+00a2:00820000:012d:0006:1:0
+The Eagle - La Maddalena
+p:,C:0e00,f:40
+1ca2:00820000:332c:013e:1:0
+RTB
+p:Arqiva,f:40
+2ca2:00820000:170c:fbff:1:0
+MTV
+p:SkyItalia,f:40
+35a2:00820000:1388:013e:1:0
+Infochannel
+p:BT,f:40
+00a3:00820000:012d:0006:1:0
+Power - La Maddalena
+p:,C:0e00,f:40
+1ca3:00820000:332c:013e:1:0
+Starmarket
+p:Arqiva France,f:40
+35a3:00820000:1388:013e:1:0
+Sardinia
+p:BT,f:40
+01a4:00820000:1964:013e:1:0
+ART CHILDREN/TARAB - ARABESQUE
+p:ART,f:40
+29a4:00820000:22c4:013e:1:0
+AIRBOX TV
+p:BSS,f:40
+06a5:00820000:3138:013e:1:0
+W9
+p:Globecast,C:0100,C:0500,f:40
+0ca5:00820000:1f40:013e:1:0
+TVS
+p:OIV Zagreb,f:40
+1ca5:00820000:332c:013e:1:0
+GEM TV
+p:Arqiva France,f:40
+29a5:00820000:22c4:013e:1:0
+Podroze TV
+p:Belgacom,f:40
+06a6:00820000:3138:013e:1:0
+M6 Boutique la chaine
+p:Globecast,f:40
+06a7:00820000:3138:013e:1:0
+Boomerang
+p:Globecast,C:0100,C:0500,f:40
+06a8:00820000:3138:013e:1:0
+Demain!
+p:Globecast,f:40
+16a8:00820000:2ee0:00b0:1:0
+Météo Express
+p:OpenMux,f:40
+1fa8:00820000:2454:013e:1:0
+TELESUD
+p:GlobeCast,f:40
+2aa8:00820000:1838:fbff:1:0
+SKY Sport 1
+p:SkyItalia,f:40
+06a9:00820000:3138:013e:1:0
+Tele Melody
+p:Globecast,C:0100,C:0500,f:40
+1fa9:00820000:2454:013e:1:0
+Abu_Dhabi_Sport
+p:GlobeCast,f:40
+2aa9:00820000:1838:fbff:1:0
+SKY Sport 2
+p:SkyItalia,f:40
+06aa:00820000:3138:013e:1:0
+CCTV9
+p:Globecast,f:40
+2aaa:00820000:1838:fbff:1:0
+SKY SuperCalcio
+p:SkyItalia,f:40
+06ab:00820000:3138:013e:1:0
+CLP TV
+p:Globecast,f:40
+1fab:00820000:2454:013e:1:0
+Hope_Channel
+p:GlobeCast,f:40
+2aab:00820000:1838:fbff:1:0
+Sport Active 1
+p:SkyItalia,f:40
+00ac:00820000:00c9:0006:1:0
+Guide/AFN Bavaria Eagle
+p:,C:0e00,f:40
+06ac:00820000:3138:013e:1:0
+RTR
+p:Globecast,f:40
+1cac:00820000:1ce8:0071:1:0
+ESPN
+p:Cyfrowy Polsat,f:40
+1fac:00820000:2454:013e:1:0
+Hope_Channel_2
+p:,f:40
+21ac:00822a65:2db4:0000:1:0
+eurotic TV
+p:T-Systems,f:40
+2aac:00820000:1838:fbff:1:0
+Sports Active 2
+p:SkyItalia,f:40
+35ac:00820000:1388:013e:1:0
+SET
+p:Sicilia Int,f:40
+00ad:00820000:00c9:0006:1:0
+Guide/AFN Bavaria PowerNet
+p:,C:0e00,f:40
+0dad:00820000:14b4:013e:1:0
+TVE Internacional
+p:RTVE,f:40
+1fad:00820000:2454:013e:1:0
+Liberty_TV _FR
+p:GlobeCast,f:40
+21ad:00822a65:2db4:0000:1:0
+INXTC TV
+p:T-Systems,f:40
+22ad:00820000:238c:013e:1:0
+DIRECT 8
+p:EUTELSAT ,f:40
+01ae:00820000:1964:013e:1:0
+ART MOVIES - ARABESQUE
+p:ART,f:40
+06ae:00820000:3138:013e:1:0
+Vesti
+p:Globecast,f:40
+0dae:00820000:14b4:013e:1:0
+Canal 24 Horas
+p:RTVE,f:40
+1cae:00820000:1ce8:0071:1:0
+KINO POLSKA
+p:Cyfrowy Polsat,f:40
+22ae:00820000:238c:013e:1:0
+TV8 Mt Blanc
+p:EUTELSAT ,f:40
+06af:00820000:3138:013e:1:0
+Berbere Television
+p:Globecast,C:0100,C:0500,f:40
+0daf:00820000:14b4:013e:1:0
+TVE Internacional Asia
+p:RTVE,f:40
+21af:00822a65:2db4:0000:1:0
+eurotic TV 2
+p:T-Systems,f:40
+2aaf:00820000:1838:fbff:1:0
+SKY Calcio Info
+p:SkyItalia,f:40
+1fb0:00820000:206c:013e:1:0
+SEX VIEW 264
+p:,f:40
+21b0:00822a65:2db4:0000:1:0
+Sexy-Arab.TV
+p:T-Systems,f:40
+22b0:00820000:238c:013e:1:0
+DIRECT 8
+p:EUTELSAT ,f:40
+04b1:00820000:2bc0:00b0:1:0
+C Cinéma Frisson
+p:,C:0100,C:0500,f:40
+06b1:00820000:3138:013e:1:0
+MTV BASE 
+p:EUTELSAT,f:40
+1fb1:00820000:2454:013e:1:0
+Payam_TV
+p:GlobeCast,f:40
+21b1:00822a65:2db4:0000:1:0
+Fatayat 7'armanat
+p:T-Systems,f:40
+36b1:00820000:206c:013e:1:0
+SEX VIEW INFO
+p:Scopus Network Technologies,f:40
+04b2:00820000:2bc0:00b0:1:0
+C Cinéma Premier
+p:,C:0100,C:0500,f:40
+06b2:00820000:3138:013e:1:0
+Aljazeera Intl
+p:Globecast,f:40
+21b2:00822a65:2db4:0000:1:0
+Ta3arees TV
+p:T-Systems,f:40
+36b2:00820000:206c:013e:1:0
+SEX VIEW PLUS
+p:Scopus Network Technologies,f:40
+36b2:00820000:06a4:013e:1:0
+TSR1
+p:Television Suisse Romande,f:40
+04b3:00820000:2bc0:00b0:1:0
+C Cinéma Classic
+p:,C:0100,C:0500,f:40
+1fb3:00820000:2454:013e:1:0
+Orange Foot
+p:GlobeCast,f:40
+21b3:00822a65:2db4:0000:1:0
+ArabSexClub
+p:T-Systems,f:40
+2cb3:00820000:170c:fbff:1:0
+AXN
+p:SkyItalia,f:40
+36b3:00820000:206c:013e:1:0
+SEX VIEW EXTRA
+p:Scopus Network Technologies,f:40
+36b3:00820000:06a4:013e:1:0
+TSI1
+p:Televisione svizzera di lingua italiana,f:40
+04b4:00820000:2bc0:00b0:1:0
+TPS Star
+p:,C:0100,C:0500,f:40
+21b4:00822a65:2db4:0000:1:0
+ALO TV
+p:T-Systems,f:40
+36b4:00820000:206c:013e:1:0
+SEX VIEW 247
+p:Scopus Network Technologies,f:40
+04b5:00820000:2bc0:00b0:1:0
+C Cinéma Star
+p:,C:0100,C:0500,f:40
+1cb5:00820000:1ce8:0071:1:0
+Jetix
+p:Cyfrowy Polsat,f:40
+21b5:00822a65:2db4:0000:1:0
+'Arab-Girls.TV
+p:T-Systems,f:40
+36b5:00820000:206c:013e:1:0
+SEX VIEW DP
+p:Scopus Network Technologies,f:40
+00b6:00820000:012d:0006:1:0
+The Eagle - Naples
+p:,C:0e00,f:40
+04b6:00820000:2bc0:00b0:1:0
+C Cinéma Culte
+p:,C:0100,C:0500,f:40
+0db6:00820000:14b4:013e:1:0
+Al-Hayat
+p:Harmonic,f:40
+35b6:00820000:1388:013e:1:0
+Sardegna Uno
+p:BT,f:40
+36b6:00820000:206c:013e:1:0
+SEX VIEW SPECIAL
+p:Scopus Network Technologies,f:40
+00b7:00820000:012d:0006:1:0
+Power - Naples
+p:,C:0e00,f:40
+04b7:00820000:2bc0:00b0:1:0
+C Cinéma Emotion
+p:,C:0100,C:0500,f:40
+0db7:00820000:14b4:013e:1:0
+Channel One
+p:Harmonic,f:40
+2ab7:00820000:1838:fbff:1:0
+Sports Active 3
+p:SkyItalia,f:40
+36b7:00820000:206c:013e:1:0
+SEX VIEW HOT
+p:Scopus Network Technologies,f:40
+3ab7:00820000:0514:013e:1:0
+MGM
+p:ITI,f:40
+01b8:00820000:1964:013e:1:0
+ART MOVIES2 - ARABESQUE
+p:ART,f:40
+04b8:00820000:2bc0:00b0:1:0
+C Cinéma Famiz
+p:,C:0100,C:0500,f:40
+06b8:00820000:3138:013e:1:0
+W9
+p:Globecast,C:0100,C:0500,f:40
+0db8:00820000:14b4:013e:1:0
+Didar Global TV
+p:Harmonic,f:40
+36b8:00820000:206c:013e:1:0
+SEX VIEW CLIMAX
+p:Scopus Network Technologies,f:40
+36b8:00820000:06a4:013e:1:0
+TSR2
+p:Television Suisse Romande,f:40
+3ab8:00820000:0514:013e:1:0
+Discovery HD
+p:ITI,f:40
+04b9:00820000:2bc0:00b0:1:0
+C Cinéma Premier 16/9
+p:,C:0100,C:0500,f:40
+0bb9:00820000:20d0:013e:1:0
+Yemen TV
+p:GLOBECAST,f:40
+0db9:00820000:14b4:013e:1:0
+Payame Afghan
+p:Harmonic,f:40
+1fb9:00820000:189c:fbff:1:0
+NatGeoAdventur
+p:SkyItalia,f:40
+36b9:00820000:206c:013e:1:0
+SEX VIEW INTER
+p:Scopus Network Technologies,f:40
+36b9:00820000:06a4:013e:1:0
+TSI2
+p:Televisione svizzera di lingua italiana,f:40
+3ab9:00820000:0514:013e:1:0
+nSport
+p:ITI,f:40
+0bba:00820000:20d0:013e:1:0
+Syria Satellite Channel
+p:GLOBECAST,f:40
+0dba:00820000:14b4:013e:1:0
+Angel TV - KICC TV
+p:Harmonic,f:40
+1fba:00820000:2454:013e:1:0
+M6
+p:Orange,f:40
+2cba:00820000:170c:fbff:1:0
+Disney Ch. +1
+p:SkyItalia,f:40
+36ba:00820000:206c:013e:1:0
+SEX VIEW EXTREME
+p:Scopus Network Technologies,f:40
+3aba:00820000:0514:013e:1:0
+FILMBOX HD
+p:ITI,f:40
+0bbb:00820000:20d0:013e:1:0
+SAT 7
+p:GlobeCast,f:40
+1fbb:00820000:189c:fbff:1:0
+History +1
+p:SkyItalia,f:40
+2cbb:00820000:170c:fbff:1:0
+Toon Disney
+p:SkyItalia,f:40
+36bb:00820000:206c:013e:1:0
+SEX VIEW TV
+p:Scopus Network Technologies,f:40
+0bbc:00820000:20d0:013e:1:0
+Abu Dhabi
+p:GLOBECAST,f:40
+2cbc:00820000:170c:fbff:1:0
+Playhouse Disney
+p:SkyItalia,f:40
+36bc:00820000:206c:013e:1:0
+SEX VIEW GAY
+p:Scopus Network Technologies,f:40
+0bbd:00820000:20d0:013e:1:0
+ALBAGHDADIA
+p:GlobeCast,f:40
+1bbd:00820000:17d4:013e:1:0
+GAMES
+p:NetMed,f:40
+1fbd:00820000:189c:fbff:1:0
+NationalGeo +1
+p:SkyItalia,f:40
+2cbd:00820000:170c:fbff:1:0
+Raisat Smash
+p:SkyItalia,f:40
+34bd:00820000:3c28:013e:1:0
+RTS SAT
+p:GlobeCast,f:40
+00be:00820000:1e14:013e:1:0
+Gulli
+p:GC,C:0500,f:40
+00be:0082afc1:0065:0001:1:0
+Al Hurra-Europe TV
+p:,f:40
+0bbe:00820000:20d0:013e:1:0
+RTV Montenegro
+p:GCP,f:40
+1bbe:00820000:17d4:013e:1:0
+E! Entertainment
+p:NetMed,f:40
+2cbe:00820000:170c:fbff:1:0
+Matchmusic
+p:SkyItalia,f:40
+34be:00820000:3c28:013e:1:0
+BFM TV
+p:GlobeCast,f:40
+36be:00820000:206c:013e:1:0
+SEX VIEW HQ
+p:,f:40
+0bbf:00820000:20d0:013e:1:0
+Telepace
+p:GlobeCast,f:40
+1bbf:00820000:17d4:013e:1:0
+The History Channel
+p:NetMed,f:40
+1fbf:00820000:189c:fbff:1:0
+Sky News
+p:SkyItalia,f:40
+20bf:00820000:2328:013e:1:0
+Ishtar TV
+p:OiV Zagreb,f:40
+2cbf:00820000:170c:fbff:1:0
+Juventus Channel
+p:SkyItalia,f:40
+34bf:00820000:3c28:013e:1:0
+E'TV Emilia Romagna
+p:GlobeCast,f:40
+36bf:00820000:206c:013e:1:0
+MONDO ARTE
+p:OVERON,f:40
+00c0:00820000:00c9:0006:1:0
+Guide/AFN Kaiserslautern Eagle
+p:,C:0e00,f:40
+0bc0:00820000:20d0:013e:1:0
+Living God
+p:GLOBECAST,f:40
+0dc0:00820000:15e0:fbff:1:0
+Caccia e Pesca
+p:SkyItalia,f:40
+1bc0:00820000:17d4:013e:1:0
+Private Spice
+p:NetMed,f:40
+2cc0:00820000:170c:fbff:1:0
+Inter Channel
+p:SkyItalia,f:40
+34c0:00820000:3c28:013e:1:0
+MAHARISHI
+p:GLOBECAST,f:40
+36c0:00820000:206c:013e:1:0
+NAPOLI NOVA
+p:OVERON,f:40
+00c1:00820000:00c9:0006:1:0
+Guide/AFN Kaiserslautern PowerNet
+p:,C:0e00,f:40
+02c1:00820000:1b58:013e:1:0
+AlJazeera Documentary
+p:Telespazio,f:40
+0bc1:00820000:20d0:013e:1:0
+ZAHRAA TV
+p:GLOBECAST,f:40
+12c1:00820000:2e7c:013e:1:0
+CANAL+
+p:CYFRA +,f:40
+1bc1:00820000:17d4:013e:1:0
+Motors TV
+p:NetMed,f:40
+1fc1:00820000:189c:fbff:1:0
+Cartoon Network
+p:SkyItalia,f:40
+27c1:00820000:23f0:013f:1:0
+T. R. Padre Pio
+p:SKYGATE,f:40
+2bc1:00820000:1a90:fbff:1:0
+Prima Fila 3
+p:SkyItalia,f:40
+2cc1:00820000:170c:fbff:1:0
+RaisatExtra
+p:SkyItalia,f:40
+34c1:00820000:3c28:013e:1:0
+ISLAM TV
+p:GlobeCast,f:40
+36c1:00820000:206c:013e:1:0
+GALAXY
+p:OVERON,f:40
+38c1:00820000:0320:fbff:1:0
+Fox Life +1
+p:SkyItalia,f:40
+00c2:00820000:1e14:013e:1:0
+Virgin 17
+p:GC,C:0500,f:40
+01c2:00820000:1964:013e:1:0
+NILE DRAMA - ARABESQUE
+p:ART,f:40
+02c2:00820000:1b58:013e:1:0
+AlJazeera Mubasher
+p:Telespazio,f:40
+0bc2:00820000:20d0:013e:1:0
+Saudi arabia TV2
+p:GlobeCast,f:40
+12c2:00820000:2e7c:013e:1:0
+CANAL+ FILM
+p:CYFRA +,f:40
+1bc2:00820000:17d4:013e:1:0
+NOVACINEMA3
+p:NetMed,f:40
+2cc2:00820000:170c:fbff:1:0
+Raisat Premium
+p:SkyItalia,f:40
+34c2:00820000:3c28:013e:1:0
+Ariana TV
+p:GlobeCast,f:40
+36c2:00820000:206c:013e:1:0
+!ALLOVE
+p:GlobeCast,f:40
+02c3:00820000:1b58:013e:1:0
+ACM Channel
+p:Telespazio,f:40
+0dc3:00820000:14b4:013e:1:0
+GAY.TV
+p:TSA,f:40
+12c3:00820000:2e7c:013e:1:0
+JETIX
+p:CYFRA +,f:40
+1bc3:00820000:17d4:013e:1:0
+NOVASPORTS4
+p:NetMed,f:40
+1fc3:00820000:189c:fbff:1:0
+Jetix
+p:SkyItalia,f:40
+2bc3:00820000:1a90:fbff:1:0
+Prima Fila 5
+p:SkyItalia,f:40
+36c3:00820000:206c:013e:1:0
+SEXWORLD
+p:GlobeCast,f:40
+02c4:00820000:1b58:013e:1:0
+AL JAZEERA
+p:Telespazio,f:40
+0dc4:00820000:14b4:013e:1:0
+VIP.TV
+p:Harmonic,f:40
+12c4:00820000:2e7c:013e:1:0
+KUCHNIA.TV
+p:CYFRA +,f:40
+1bc4:00820000:17d4:013e:1:0
+novasports5
+p:NetMed,f:40
+36c4:00820000:206c:013e:1:0
+HOUSE CHANNEL
+p:Scopus Network Technologies,f:40
+02c5:00820000:1b58:013e:1:0
+Sicilia Channel
+p:Telespazio,f:40
+0dc5:00820000:14b4:013e:1:0
+Cardmania Shopping
+p:Harmonic,f:40
+12c5:00820000:2e7c:013e:1:0
+ALE KINO!
+p:CYFRA +,f:40
+1bc5:00820000:17d4:013e:1:0
+novasports6
+p:NetMed,f:40
+1fc5:00820000:189c:fbff:1:0
+Fox Life
+p:SkyItalia,f:40
+2bc5:00820000:1a90:fbff:1:0
+Prima Fila 11
+p:SkyItalia,f:40
+0dc6:00820000:14b4:013e:1:0
+Ictimai TV
+p:Harmonic,f:40
+12c6:00820000:2e7c:013e:1:0
+ZigZap
+p:CYFRA +,f:40
+1bc6:00820000:17d4:013e:1:0
+Nova Promo
+p:NetMed,f:40
+0dc7:00820000:14b4:013e:1:0
+Exotica
+p:Harmonic,f:40
+12c7:00820000:2e7c:013e:1:0
+TVP 1
+p:CYFRA +,f:40
+1bc7:00820000:17d4:013e:1:0
+Chasse & Peche
+p:NetMed,f:40
+1fc7:00820000:2454:013e:1:0
+ARM_1
+p:GlobeCast,f:40
+2bc7:00820000:1a90:fbff:1:0
+Prima Fila 13
+p:SkyItalia,f:40
+00c8:00820000:3e1c:013f:1:0
+RTL9
+p:AB SAT,f:40
+0dc8:00820000:14b4:013e:1:0
+IPN
+p:Harmonic,f:40
+12c8:00820000:2e7c:013e:1:0
+TVP 2
+p:CYFRA +,f:40
+1bc8:00820000:17d4:013e:1:0
+Playboy TV
+p:NetMed,f:40
+00c9:00820000:3e1c:013f:1:0
+AB1
+p:AB SAT,f:40
+02c9:00820000:1b58:013e:1:0
+UNOSAT
+p:Telespazio,f:40
+12c9:00820000:2e7c:013e:1:0
+CANAL+ SPORT
+p:CYFRA +,f:40
+1bc9:00820000:17d4:013e:1:0
+novasports4 Cy
+p:NetMed,f:40
+1fc9:00820000:2454:013e:1:0
+Show room
+p:GlobeCast,f:40
+1fc9:00820000:189c:fbff:1:0
+Cult
+p:SkyItalia,f:40
+2bc9:00820000:1a90:fbff:1:0
+Prima Fila 22
+p:SkyItalia,f:40
+00ca:00820000:3e1c:013f:1:0
+AB MOTEURS
+p:AB SAT,f:40
+00ca:00820000:012d:0006:1:0
+The Eagle - Sigonella
+p:,C:0e00,f:40
+02ca:00820000:1b58:013e:1:0
+OUT IP DATA TS1
+p:Telespazio,f:40
+0dca:00820000:15e0:fbff:1:0
+Jimmy
+p:SkyItalia,f:40
+1bca:00820000:17d4:013e:1:0
+novacinema3 Cy
+p:NetMed,f:40
+1cca:00820000:1ce8:0071:1:0
+Cinemax2
+p:Cyfrowy Polsat,f:40
+2dca:00820000:2198:fbff:1:0
+SKYCinema 2
+p:SkyItalia,f:40
+34ca:00820000:3c28:013e:1:0
+EWTN UK
+p:,f:40
+34ca:00820000:14b4:013e:1:0
+MARE TV
+p:Harmonic,f:40
+00cb:00820000:3e1c:013f:1:0
+ANIMAUX
+p:AB SAT,f:40
+00cb:00820000:012d:0006:1:0
+Power - Sigonella
+p:,C:0e00,f:40
+1bcb:00820000:17d4:013e:1:0
+Playboy TV Cy
+p:NetMed,f:40
+1ccb:00820000:1ce8:0071:1:0
+TVP1
+p:Cyfrowy Polsat,f:40
+1fcb:00820000:2454:013e:1:0
+Liberty_TV_NL
+p:GlobeCast,f:40
+1fcb:00820000:189c:fbff:1:0
+Fox Crime
+p:SkyItalia,f:40
+2bcb:00820000:1a90:fbff:1:0
+Prima Fila 28
+p:SkyItalia,f:40
+2dcb:00820000:2198:fbff:1:0
+SKY Classics
+p:SkyItalia,f:40
+34cb:00820000:3c28:013e:1:0
+Bio TV
+p:Scopus Network Technologies,f:40
+34cb:00820000:14b4:013e:1:0
+SAT EROTICA
+p:Harmonic,f:40
+35cb:00820000:1388:013e:1:0
+Trav + Leisure
+p:TVN,f:40
+00cc:00820000:3e1c:013f:1:0
+CHASSE & PECHE
+p:AB SAT,f:40
+01cc:00820000:1964:013e:1:0
+LBC EUROPE - ARABESQUE
+p:ART,f:40
+02cc:00820000:1b58:013e:1:0
+Telemarket 2
+p:Telespazio,f:40
+1bcc:00820000:17d4:013e:1:0
+novasports6 Cy
+p:NetMed,f:40
+1ccc:00820000:1ce8:0071:1:0
+Test_P
+p:Cyfrowy Polsat,f:40
+2dcc:00820000:2198:fbff:1:0
+SKY Cinema Hits
+p:SkyItalia,f:40
+34cc:00820000:3c28:013e:1:0
+.Viva L'Italia Channel
+p:GlobeCast,f:40
+34cc:00820000:14b4:013e:1:0
+IGHRA
+p:Harmonic,f:40
+35cc:00820000:1388:013e:1:0
+Disc Science
+p:TVN,f:40
+38cc:00820000:0320:fbff:1:0
+Radio on SKY
+p:SkyItalia,f:40
+00cd:00820000:3e1c:013f:1:0
+XXL
+p:AB SAT,f:40
+02cd:00820000:1b58:013e:1:0
+Radio Radio Tv
+p:Telespazio,f:40
+1ccd:00820000:1ce8:0071:1:0
+TVP2
+p:Cyfrowy Polsat,f:40
+1fcd:00820000:2454:013e:1:0
+CONTO TV
+p:CONTO TV,f:40
+1fcd:00820000:189c:fbff:1:0
+Fox News
+p:SkyItalia,f:40
+29cd:00820000:3cf0:013e:1:0
+PIANETA
+p:GlobeCast,f:40
+2bcd:00820000:1a90:fbff:1:0
+Prima Fila 30
+p:SkyItalia,f:40
+34cd:00820000:14b4:013e:1:0
+ERO PULSE
+p:Harmonic,f:40
+35cd:00820000:1388:013e:1:0
+An Planet
+p:TVN,f:40
+00ce:00820000:3e1c:013f:1:0
+TF1
+p:AB SAT,f:40
+02ce:00820000:1b58:013e:1:0
+MediterraneoSat
+p:Telespazio,f:40
+1bce:00820000:17d4:013e:1:0
+Private Spice Cy
+p:NetMed,f:40
+1fce:00820000:2454:013e:1:0
+CONTO TV 1
+p:CONTO TV,f:40
+29ce:00820000:3cf0:013e:1:0
+Cartomanzia_LOTTO
+p:GlobeCast,f:40
+34ce:00820000:3c28:013e:1:0
+SPIRIT CHANNEL
+p:GlobeCast,f:40
+34ce:00820000:14b4:013e:1:0
+ERO LIVE 1
+p:Harmonic,f:40
+35ce:00820000:1388:013e:1:0
+Disc Civ
+p:TVN,f:40
+00cf:00820000:3e1c:013f:1:0
+ESCALES
+p:AB SAT,f:40
+1ccf:00820000:1ce8:0071:1:0
+FoxLife
+p:Cyfrowy Polsat,f:40
+1fcf:00820000:2454:013e:1:0
+CONTO TV 2
+p:CONTO TV,f:40
+1fcf:00820000:189c:fbff:1:0
+Cooltoon
+p:SkyItalia,f:40
+29cf:00820000:3cf0:013e:1:0
+ARTE
+p:GlobeCast,f:40
+2bcf:00820000:1a90:fbff:1:0
+SKY Calcio 2
+p:SkyItalia,f:40
+34cf:00820000:3c28:013e:1:0
+NRJ 12
+p:globeCast,f:40
+34cf:00820000:14b4:013e:1:0
+Arablive
+p:Harmonic,f:40
+35cf:00820000:1388:013e:1:0
+Disc Chnl
+p:TVN,f:40
+36cf:00820000:206c:013e:1:0
+SEXYSAT2
+p:Scopus Network Technologies,f:40
+00d0:00820000:3e1c:013f:1:0
+Fit/Toute l'Histoire
+p:AB SAT,f:40
+02d0:00820000:1b58:013e:1:0
+Telefoggia
+p:Telespazio,f:40
+1bd0:00820000:17d4:013e:1:0
+ALFA
+p:NetMed,f:40
+1fd0:00820000:2454:013e:1:0
+CONTO TV 3
+p:CONTO TV,f:40
+21d0:00822a65:2db4:0000:1:0
+Tenfore
+p:T-Systems,f:40
+29d0:00820000:3cf0:013e:1:0
+RTL_102.5_TV
+p:GlobeCast_Italia,f:40
+34d0:00820000:3c28:013e:1:0
+NRJ 12 HQ
+p:GlobeCast,f:40
+36d0:00820000:206c:013e:1:0
+SEXYSAT3
+p:Scopus Network Technologies,f:40
+00d1:00820000:3e1c:013f:1:0
+NT1
+p:AB SAT,f:40
+02d1:00820000:1b58:013e:1:0
+TV della Liberta'
+p:Telespazio,f:40
+1bd1:00820000:17d4:013e:1:0
+LTV
+p:NetMed,f:40
+20d1:00820000:01f4:013e:1:0
+ALL TV
+p:Telespazio,f:40
+29d1:00820000:3cf0:013e:1:0
+Best_of_Shopping
+p:GlobeCast,f:40
+2bd1:00820000:1a90:fbff:1:0
+SKY Calcio 3
+p:SkyItalia,f:40
+36d1:00820000:206c:013e:1:0
+SEXYSAT4
+p:Scopus Network Technologies,f:40
+39d1:00820000:1fa4:013e:1:0
+TRACE-TV
+p:EUTELSAT ,f:40
+00d2:00820000:3e1c:013f:1:0
+ACTION
+p:AB SAT,f:40
+20d2:00820000:01f4:013e:1:0
+S2K
+p:Telespazio,C:9728,f:40
+29d2:00820000:3cf0:013e:1:0
+ITALIA_CHANNEL
+p:GlobeCast,f:40
+2dd2:00820000:2198:fbff:1:0
+Milan Channel
+p:SkyItalia,f:40
+39d2:00820000:1fa4:013e:1:0
+RTVi Europe
+p:EUTELSAT ,f:40
+00d3:00820000:3e1c:013f:1:0
+MANGAS
+p:AB SAT,f:40
+20d3:00820000:01f4:013e:1:0
+Denaro Tv
+p:Telespazio,f:40
+29d3:00820000:3cf0:013e:1:0
+TV_ROMANIA
+p:,f:40
+2bd3:00820000:1a90:fbff:1:0
+SKY Calcio 4
+p:SkyItalia,f:40
+2dd3:00820000:2198:fbff:1:0
+Classica
+p:SkyItalia,f:40
+39d3:00820000:1fa4:013e:1:0
+RTVi Detskii Mir - Teleclub
+p:EUTELSAT ,f:40
+00d4:00820000:3e1c:013f:1:0
+ENCYCLOPEDIA
+p:AB SAT,f:40
+00d4:00820000:00c9:0006:1:0
+Guide/AFN Benelux Eagle
+p:,C:0e00,f:40
+20d4:00820000:01f4:013e:1:0
+IMC
+p:Telespazio,f:40
+29d4:00820000:3cf0:013e:1:0
+Carisma_TV
+p:GlobeCast,f:40
+2dd4:00820000:2198:fbff:1:0
+Discovery Travel
+p:SkyItalia,f:40
+39d4:00820000:1fa4:013e:1:0
+RTVi Nashe Kino
+p:EUTELSAT ,f:40
+3bd4:00820000:2260:fbff:1:0
+Deejay TV
+p:SkyItalia,f:40
+00d5:00820000:3e1c:013f:1:0
+XXL
+p:AB SAT,f:40
+00d5:00820000:00c9:0006:1:0
+Guide/AFN Benelux PowerNet
+p:,C:0e00,f:40
+29d5:00820000:3cf0:013e:1:0
+KBS_WORLD
+p:GlobeCast,f:40
+2bd5:00820000:1a90:fbff:1:0
+SKY Calcio 5
+p:SkyItalia,f:40
+2dd5:00820000:2198:fbff:1:0
+La7
+p:SkyItalia,f:40
+3bd5:00820000:2260:fbff:1:0
+SKY Assist
+p:SkyItalia,f:40
+00d6:00820000:3e1c:013f:1:0
+XXL
+p:AB SAT,f:40
+20d6:00820000:01f4:013e:1:0
+Lazio Ch
+p:Telespazio,f:40
+29d6:00820000:3cf0:013e:1:0
+123_SAT
+p:GlobeCast,f:40
+2dd6:00820000:2198:fbff:1:0
+Discovery Civil.
+p:SkyItalia,f:40
+34d6:00820000:3c28:013e:1:0
+TV GLOBO 
+p:GlobeCast,C:0500,C:1801,f:40
+00d7:00820000:3e1c:013f:1:0
+XXL PL
+p:AB SAT,f:40
+10d7:00820000:03e8:013e:1:0
+TVN
+p:TVN Grupa ITI,f:40
+20d7:00820000:01f4:013e:1:0
+Napoli Mia
+p:Telespazio,f:40
+2bd7:00820000:1a90:fbff:1:0
+SKY Calcio 6
+p:SkyItalia,f:40
+2dd7:00820000:2198:fbff:1:0
+CNN Intl.
+p:SkyItalia,f:40
+39d7:00820000:1fa4:013e:1:0
+RTVi ME
+p:EUTELSAT ,f:40
+00d8:00820000:3e1c:013f:1:0
+NT1
+p:AB SAT,f:40
+01d8:00820000:1964:013e:1:0
+ART SPORT 1 - ARABESQUE
+p:ART,f:40
+10d8:00820000:03e8:013e:1:0
+TVN 24
+p:TVN Grupa ITI,f:40
+20d8:00820000:01f4:013e:1:0
+Mediterraneo Sat 2
+p:Telespazio ,f:40
+00d9:00820000:3e1c:013f:1:0
+France 5
+p:AB SAT,f:40
+10d9:00820000:03e8:013e:1:0
+TVN Siedem
+p:TVN,f:40
+20d9:00820000:01f4:013e:1:0
+Challenger Tv
+p:Telespazio,f:40
+29d9:00820000:3cf0:013e:1:0
+K+
+p:GlobeCast,f:40
+2bd9:00820000:1a90:fbff:1:0
+SKY Calcio 7
+p:SkyItalia,f:40
+00da:00820000:3e1c:013f:1:0
+France ô
+p:AB SAT,f:40
+01da:00820000:1964:013e:1:0
+IQRAA - ARABESQUE
+p:ART,f:40
+10da:00820000:03e8:013e:1:0
+FILMBOX EXTRA
+p:TVN grupa ITI,f:40
+20da:00820000:01f4:013e:1:0
+Laurenti Ch
+p:Telespazio,f:40
+00db:00820000:3e1c:013f:1:0
+LCP
+p:AB SAT,f:40
+10db:00820000:03e8:013e:1:0
+FILMBOX
+p:TVN Grupa ITI,f:40
+20db:00820000:01f4:013e:1:0
+Radio Italia TV
+p:Telespazio,f:40
+29db:00820000:3cf0:013e:1:0
+Arte_&_Arte_Channel
+p:GlobeCast,f:40
+2bdb:00820000:1a90:fbff:1:0
+SKY Calcio 8
+p:SkyItalia,f:40
+34db:00820000:3c28:013e:1:0
+NRJ 12
+p:GlobeCast,f:40
+01dc:00820000:1964:013e:1:0
+ART CINEMA - ARABESQUE
+p:ART,f:40
+10dc:00820000:03e8:013e:1:0
+Mango 24
+p:,f:40
+34dc:00820000:3c28:013e:1:0
+BFM TV
+p:GlobeCast,f:40
+39dc:00820000:1fa4:013e:1:0
+World Fashion
+p:EUTELSAT ,f:40
+05dd:00820000:2e18:00b0:1:0
+M6 Music Rock
+p:,f:40
+1edd:00820000:21fc:013e:1:0
+IRIB1 PER
+p:IRIB,f:40
+20dd:00820000:01f4:013e:1:0
+Gold shop
+p:Telespazio,f:40
+3bdd:00820000:2260:fbff:1:0
+MTV Brand New
+p:SkyItalia,f:40
+00de:00820000:012d:0006:1:0
+The Eagle - Livorno
+p:,C:0e00,f:40
+01de:00820000:1964:013e:1:0
+ART- ARABESQUE
+p:ART,f:40
+10de:00820000:03e8:013e:1:0
+TVN METEO
+p:TVN Grupa ITI,f:40
+12de:00820000:2e7c:013e:1:0
+H test 1
+p:CYFRA +,f:40
+1ede:00820000:21fc:013e:1:0
+IRIB1 ENG
+p:,f:40
+20de:00820000:01f4:013e:1:0
+Punto Sat
+p:Telespazio,f:40
+34de:00820000:3c28:013e:1:0
+Walf TV
+p:GlobeCast,C:0500,f:40
+35de:00820000:1388:013e:1:0
+Sicilia Int
+p:BT,f:40
+3bde:00820000:2260:fbff:1:0
+MTV Hits
+p:SkyItalia,f:40
+00df:00820000:012d:0006:1:0
+Power - Livorno
+p:,C:0e00,f:40
+05df:00820000:2e18:00b0:1:0
+Equidia
+p:,f:40
+10df:00820000:03e8:013e:1:0
+TVN TURBO
+p:TVN  GRUPA ITI,f:40
+12df:00820000:2e7c:013e:1:0
+H test 2
+p:CYFRA +,f:40
+1edf:00820000:21fc:013e:1:0
+IRIB2 PER
+p:IRIB,f:40
+20df:00820000:01f4:013e:1:0
+MilanoTV Sat
+p:Telespazio,f:40
+22df:00820000:238c:013e:1:0
+BLUTV
+p:Scopus Network Technologies,f:40
+01e0:00820000:1964:013e:1:0
+ART HEKAYAT ZAMANE- ARABESQUE
+p:ART,f:40
+05e0:00820000:2e18:00b0:1:0
+Sci Fi
+p:TPS,C:0500,f:40
+10e0:00820000:03e8:013e:1:0
+TVN Style
+p:TVN,f:40
+12e0:00820000:2e7c:013e:1:0
+H test 3
+p:CYFRA +,f:40
+1ee0:00820000:21fc:013e:1:0
+IRIB2 ENG
+p:,f:40
+20e0:00820000:01f4:013e:1:0
+julie
+p:Telespazio,f:40
+29e0:00820000:3cf0:013e:1:0
+Nostradamus
+p:Scopus Network Technologies,f:40
+38e0:00820000:0320:fbff:1:0
+SKY Test
+p:SkyItalia,f:40
+01e1:00820000:1964:013e:1:0
+ART SPORT 2 - ARABESQUE
+p:ART,f:40
+05e1:00820000:2e18:00b0:1:0
+France 4
+p:,C:0100,C:0500,f:40
+10e1:00820000:2710:fbff:1:0
+SKY Meteo24
+p:SkyItalia,f:40
+10e1:00820000:03e8:013e:1:0
+TVN Gra
+p:TVN Grupa ITI,f:40
+1ee1:00820000:21fc:013e:1:0
+IRINN
+p:IRIB,f:40
+05e2:00820000:2e18:00b0:1:0
+Ushuaia TV
+p:,f:40
+10e2:00820000:2710:fbff:1:0
+Test 6
+p:SkyItalia,f:40
+10e2:00820000:03e8:013e:1:0
+TVN CNBC Biznes
+p:TVN Grupa ITI,f:40
+20e2:00820000:01f4:013e:1:0
+ONE
+p:Telespazio,f:40
+01e3:00820000:1964:013e:1:0
+ART SPORT 3 - ARABESQUE
+p:ART,f:40
+05e3:00820000:2e18:00b0:1:0
+TV Breizh
+p:,f:40
+10e3:00820000:2710:fbff:1:0
+SNAI Sat
+p:SkyItalia,f:40
+12e3:00820000:2e7c:013e:1:0
+DTV CABLE
+p:CYFRA +,f:40
+1ee3:00820000:21fc:013e:1:0
+IRIB QURAN
+p:IRIB,f:40
+20e3:00820000:01f4:013e:1:0
+Ulisse
+p:Telespazio,f:40
+29e3:00820000:3cf0:013e:1:0
+ARTE
+p:,f:40
+05e4:00820000:2e18:00b0:1:0
+France 5
+p:,f:40
+12e4:00820000:2e7c:013e:1:0
+DTV CABLE 2
+p:CYFRA +,f:40
+20e4:00820000:01f4:013e:1:0
+LIBERA
+p:TELESPAZIO,f:40
+01e5:00820000:1964:013e:1:0
+ART SPORT 4 - ARABESQUE
+p:ART,f:40
+05e5:00820000:2e18:00b0:1:0
+France Ô
+p:,f:40
+0ce5:00820000:1518:013e:1:0
+RaiNotizie24
+p:RAI,f:40
+12e5:00820000:2e7c:013e:1:0
+DTV CABLE 3
+p:CYFRA +,f:40
+20e5:00820000:01f4:013e:1:0
+AB Channel
+p:TELESPAZIO,f:40
+38e5:00820000:0320:fbff:1:0
+SKY Sport HD
+p:SkyItalia,f:40
+05e6:00820000:2e18:00b0:1:0
+La Chaîne Parlementaire
+p:,f:40
+0ce6:00820000:1518:013e:1:0
+Camera Deputati
+p:RAI,f:40
+20e6:00820000:01f4:013e:1:0
+S24
+p:Telespazio,f:40
+3be6:00820000:2260:fbff:1:0
+Music on SKY
+p:SkyItalia,f:40
+01e7:00820000:1964:013e:1:0
+ART HEKAYAT - ARABESQUE
+p:ART,f:40
+0fe7:00820000:2580:fbff:1:0
+Prima Fila 19
+p:SkyItalia,f:40
+10e7:00820000:2710:fbff:1:0
+Test 5
+p:SkyItalia,f:40
+1ee7:00820000:21fc:013e:1:0
+SAHAR
+p:IRIB,f:40
+20e7:00820000:01f4:013e:1:0
+Puntosat3
+p:Telespazio,f:40
+38e7:00820000:0320:fbff:1:0
+SKY Cinema HD
+p:SkyItalia,f:40
+01e8:00820000:1964:013e:1:0
+FUTURE NEWS - ARABESQUE
+p:ART,f:40
+0ce8:00820000:1518:013e:1:0
+RaiTest
+p:Rai,f:40
+0fe8:00820000:2580:fbff:1:0
+Prima Fila 21
+p:SkyItalia,f:40
+10e8:00820000:2710:fbff:1:0
+Anc1003
+p:SkyItalia,f:40
+20e8:00820000:01f4:013e:1:0
+Poker Tv
+p:Telespazio,f:40
+0ce9:00820000:1518:013e:1:0
+RAI Sport più
+p:RAI,f:40
+0fe9:00820000:2580:fbff:1:0
+Prima Fila 23
+p:SkyItalia,f:40
+10e9:00820000:2710:fbff:1:0
+Anc1004
+p:SkyItalia,f:40
+20e9:00820000:01f4:013e:1:0
+S.Neu Jerusalem
+p:Telespazio,f:40
+35e9:00820000:00c8:013e:1:0
+ESP2 Int'l
+p:Eutelsat,f:40
+38e9:00820000:0320:fbff:1:0
+NationalGeo HD
+p:SkyItalia,f:40
+0cea:00820000:1518:013e:1:0
+RaiNettunoSat2
+p:RAI,f:40
+0fea:00820000:2580:fbff:1:0
+Prima Fila 25
+p:SkyItalia,f:40
+10ea:00820000:2710:fbff:1:0
+Anc1005
+p:SkyItalia,f:40
+1cea:00820000:2fa8:013e:1:0
+Noursat
+p:Globecast UK,f:40
+20ea:00820000:01f4:013e:1:0
+ROLSAT
+p:Telespazio,f:40
+35ea:00820000:00c8:013e:1:0
+EUSP2 PL
+p:Eutelsat,f:40
+38ea:00820000:0320:fbff:1:0
+Next HD
+p:SkyItalia,f:40
+05eb:00820000:2e18:00b0:1:0
+M6 Music Black
+p:,f:40
+0beb:00820000:20d0:013e:1:0
+EQUIDIA PRO
+p:PMU,f:40
+0ceb:00820000:1518:013e:1:0
+Rai Edu1
+p:RAI,f:40
+0feb:00820000:2580:fbff:1:0
+Prima Fila 14
+p:SkyItalia,f:40
+10eb:00820000:2710:fbff:1:0
+SKY Focus
+p:SkyItalia,f:40
+1ceb:00820000:2fa8:013e:1:0
+Rete Capri
+p:Globecast UK,f:40
+1eeb:00820000:21fc:013e:1:0
+AL-ALAM
+p:IRIB,f:40
+35eb:00820000:00c8:013e:1:0
+Prod ESP2
+p:Eutelsat,f:40
+0bec:00820000:20d0:013e:1:0
+EQUIDIA PRO P1
+p:PMU,f:40
+0cec:00820000:1518:013e:1:0
+RaiNettunoSat1
+p:RAI,f:40
+0fec:00820000:2580:fbff:1:0
+Prima Fila 15
+p:SkyItalia,f:40
+10ec:00820000:2710:fbff:1:0
+Anc1006
+p:SkyItalia,f:40
+35ec:00820000:00c8:013e:1:0
+ESP2 Test
+p:Eutelsat,f:40
+0ced:00820000:1518:013e:1:0
+SAT2000
+p:RAI,f:40
+0fed:00820000:2580:fbff:1:0
+Prima Fila 27
+p:SkyItalia,f:40
+10ed:00820000:2710:fbff:1:0
+Test 24
+p:SkyItalia,f:40
+13ed:00820000:05dc:013e:1:0
+TV POLONIA
+p:CYFRA +,f:40
+35ed:00820000:00c8:013e:1:0
+ESP2 Greek
+p:Eutelsat,f:40
+3bed:00820000:2260:fbff:1:0
+Music on SKY
+p:SkyItalia,f:40
+0cee:00820000:1518:013e:1:0
+Rai Gulp
+p:RAI,f:40
+0fee:00820000:2580:fbff:1:0
+Prima Fila 17
+p:SkyItalia,f:40
+1eee:00820000:21fc:013e:1:0
+RADIO QURAN
+p:,f:40
+2cee:00820000:1a2c:fbff:1:0
+Sportitalia
+p:SkyItalia,f:40
+01ef:00820000:33f4:013e:1:0
+Sisal TV
+p:Telespazio,f:40
+0fef:00820000:2580:fbff:1:0
+Prima Fila 18
+p:SkyItalia,f:40
+1eef:00820000:21fc:013e:1:0
+SEDAYE ASHNA
+p:,f:40
+00f0:0082afc1:0065:0001:1:0
+VOA TV 240 (HB1-8)
+p:,f:40
+01f0:00820000:33f4:013e:1:0
+SA OS download
+p:Telespazio,f:40
+13f0:00820000:05dc:013e:1:0
+KINO POLSKA
+p:CYFRA +,f:40
+2cf0:00820000:1a2c:fbff:1:0
+Eurosport
+p:SkyItalia,f:40
+00f1:00820000:2648:013e:1:0
+Arriadia 2
+p:PRVDR,f:40
+00f1:0082afc1:0065:0001:1:0
+VOA TV 241 (HB1-2, HB5-6)
+p:,f:40
+05f1:00820000:2e18:00b0:1:0
+France 5
+p:,f:40
+00f2:0082afc1:0065:0001:1:0
+VOA TV 242 (HB1-2, HB7-8)
+p:,f:40
+05f2:00820000:2e18:00b0:1:0
+La Chaine Parlementaire
+p:,f:40
+2cf2:00820000:1a2c:fbff:1:0
+Eurosport 2
+p:SkyItalia,f:40
+00f3:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 243
+p:,f:40
+05f3:00820000:2e18:00b0:1:0
+France 4
+p:,f:40
+0df3:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+38f3:00820000:0320:fbff:1:0
+Music Box
+p:SkyItalia,f:40
+00f4:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 244
+p:,f:40
+0df4:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+2cf4:00820000:1a2c:fbff:1:0
+EurosportNews
+p:SkyItalia,f:40
+39f4:00820000:1fa4:013e:1:0
+France 24 (in Arabic)
+p:EUTELSAT ,f:40
+00f5:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 245
+p:,f:40
+0df5:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+13f5:00820000:05dc:013e:1:0
+ITV
+p:CYFRA +,f:40
+1ef5:00820000:21fc:013e:1:0
+RADIO IRAN
+p:,f:40
+2cf5:00820000:1a2c:fbff:1:0
+SKY Sport 3
+p:SkyItalia,f:40
+35f5:00820000:00c8:013e:1:0
+ESP2 Rus
+p:Eutelsat,f:40
+0df6:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+13f6:00820000:05dc:013e:1:0
+TVP INFO
+p:CYFRA +,f:40
+01f7:00820000:26ac:013f:1:0
+France 2
+p:AB SAT,f:40
+0df7:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+13f7:00820000:05dc:013e:1:0
+CINEMAX
+p:CYFRA +,f:40
+1ef7:00820000:21fc:013e:1:0
+RADIO MAAREF(ENG)
+p:,f:40
+2cf7:00820000:1a2c:fbff:1:0
+ESPN Classic
+p:SkyItalia,f:40
+0df8:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+13f8:00820000:05dc:013e:1:0
+PULS
+p:CYFRA +,f:40
+01f9:00820000:26ac:013f:1:0
+TMC
+p:AB SAT,f:40
+11f9:00820000:2b5c:013e:1:0
+ANT1 EUROPE
+p:H,f:40
+13f9:00820000:05dc:013e:1:0
+TVP Kultura
+p:CYFRA +,f:40
+2cf9:00820000:1a2c:fbff:1:0
+SKY Vivo
+p:SkyItalia,f:40
+38f9:00820000:0320:fbff:1:0
+Prima Fila 34
+p:SkyItalia,f:40
+00fa:00820000:3e1c:013f:1:0
+TISHK
+p:AB SAT,f:40
+00fa:0082afc1:0065:0001:1:0
+VOA TV 250 (HB1-8)
+p:,f:40
+01fa:00820000:26ac:013f:1:0
+CINE POLAR
+p:AB SAT,f:40
+0dfa:00820000:15e0:fbff:1:0
+Yacht & Sail
+p:SkyItalia,f:40
+0ffa:00820000:2580:fbff:1:0
+Prima Fila 40
+p:SkyItalia,f:40
+11fa:00820000:2b5c:013e:1:0
+AL JAZEERA SP+1
+p:H,f:40
+13fa:00820000:05dc:013e:1:0
+ESPN Classic Sport
+p:CYFRA +,f:40
+1efa:00820000:21fc:013e:1:0
+IRIB1/IRIB2
+p:,f:40
+2cfa:00820000:1a2c:fbff:1:0
+Discovery Sci
+p:SkyItalia,f:40
+38fa:00820000:0320:fbff:1:0
+Prima Fila 29
+p:SkyItalia,f:40
+39fa:00820000:1fa4:013e:1:0
+Italy&Italy
+p:EUTELSAT,f:40
+00fb:0082afc1:0065:0001:1:0
+VOA TV 251 (HB1-2, HB5-6)
+p:,f:40
+01fb:00820000:26ac:013f:1:0
+CINE FX
+p:AB SAT,f:40
+0ffb:00820000:2580:fbff:1:0
+Prima Fila 40
+p:SkyItalia,f:40
+11fb:00820000:2b5c:013e:1:0
+RTPi
+p:H,f:40
+1efb:00820000:21fc:013e:1:0
+IRIB5/IRIB4
+p:,f:40
+00fc:0082afc1:0065:0001:1:0
+VOA TV 252 (HB1-2, HB7-8)
+p:,f:40
+01fc:00820000:26ac:013f:1:0
+VIDEOCLICK
+p:AB SAT,f:40
+0dfc:00820000:15e0:fbff:1:0
+SKY Play IT
+p:SkyItalia,f:40
+11fc:00820000:2b5c:013e:1:0
+MTA INTL
+p:H,f:40
+1efc:00820000:21fc:013e:1:0
+IRIB3/IRIB6
+p:,f:40
+3afc:00820000:0514:013e:1:0
+Initial
+p:ITI,f:40
+00fd:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 253
+p:,f:40
+01fd:00820000:26ac:013f:1:0
+TEST
+p:AB SAT,f:40
+11fd:00820000:2b5c:013e:1:0
+10.722 H
+p:H,f:40
+2cfd:00820000:1a2c:fbff:1:0
+BBC Prime
+p:SkyItalia,f:40
+35fd:00820000:00c8:013e:1:0
+ESP2 Romanian
+p:Eutelsat,f:40
+3afd:00820000:0578:013e:1:0
+TVP 1
+p:ITI,f:40
+01fe:00820000:26ac:013f:1:0
+BIS TV PROMO
+p:AB Sat,f:40
+11fe:00820000:2b5c:013e:1:0
+Deepam TV
+p:H,f:40
+21fe:00820000:1af4:013e:1:0
+Redlight Mixx
+p:TSA,f:40
+24fe:00820000:2774:fbff:1:0
+NationalGeo
+p:SkyItalia,f:40
+3afe:00820000:0578:013e:1:0
+TVP 2
+p:ITI,f:40
+01ff:00820000:26ac:013f:1:0
+AB3
+p:AB Sat,f:40
+21ff:00820000:1af4:013e:1:0
+Redlight German
+p:Harmonic,f:40
+24ff:00820000:2774:fbff:1:0
+History
+p:SkyItalia,f:40
+3aff:00820000:0578:013e:1:0
+TVP 3
+p:ITI,f:40
+0e00:00820000:14b4:013e:2:0
+Radio 5
+p:RTVE,f:40
+2a00:00820000:3cf0:013e:2:0
+Radio_Romania_International
+p:GlobeCast,f:40
+3c00:00820000:2260:fbff:2:0
+Soulsista
+p:SkyItalia,f:40
+0e01:00820000:14b4:013e:2:0
+Radio Exterior
+p:RTVE,f:40
+2a01:00820000:3cf0:013e:2:0
+RadioClassica
+p:GlobeCast,f:40
+0e02:00820000:14b4:013e:2:0
+Radio 4
+p:RTVE,f:40
+2a02:00820000:3cf0:013e:2:0
+RTL_102.5_HC
+p:GlobeCast_Italia,f:40
+0e03:00820000:14b4:013e:2:0
+RNE Contribucion
+p:RTVE,f:40
+2a03:00820000:3cf0:013e:2:0
+RTL_102.5_ROCK
+p:GlobeCast_Italia,f:40
+2a04:00820000:3cf0:013e:2:0
+Guardia_Costeria
+p:GlobeCast_Italia,f:40
+2a05:00820000:3cf0:013e:2:0
+RTL_102.5_CLASSIC
+p:GlobeCast_Italia,f:40
+0e06:00820000:3c8c:013e:2:0
+DW09
+p:T-Systems,f:40
+1206:00820000:2b5c:013e:2:0
+NPR
+p:H,f:40
+3c06:00820000:2260:fbff:2:0
+New Rock
+p:SkyItalia,f:40
+2907:00820000:1edc:0071:2:0
+Radiostacja
+p:Cyfrowy Polsat,f:40
+3a08:00820000:1fa4:013e:2:0
+RADIO IZVOR
+p:NTH ,f:40
+2209:00820000:1af4:013e:2:0
+Musicam 1
+p:TSA,f:40
+3a09:00820000:1fa4:013e:2:0
+Glas Drine BiH
+p:NTH,f:40
+0c0a:00820000:20d0:013e:2:0
+Voice of Youth
+p:GlobeCast,f:40
+220a:00820000:1af4:013e:2:0
+Musicam 2
+p:TSA,f:40
+3a0a:00820000:1fa4:013e:2:0
+MegaRadio
+p:NTH ,f:40
+3c0a:00820000:2260:fbff:2:0
+Heart n' song
+p:SkyItalia,f:40
+000b:00820000:2648:013e:2:0
+Radio national
+p:PRVDR,f:40
+000b:00820000:1770:0110:2:0
+Radio Mater
+p:,f:40
+000b:00820000:25e4:02be:2:0
+SHARJAH R1
+p:ARABSAT,f:40
+0c0b:00820000:20d0:013e:2:0
+Emirates FM
+p:GLOBECAST,f:40
+220b:00820000:1af4:013e:2:0
+Musicam 3
+p:TSA,f:40
+000c:00820000:2648:013e:2:0
+Radio Dakhla
+p:PRVDR,f:40
+000c:00820000:25e4:02be:2:0
+QATAR R1
+p:ARABSAT,f:40
+0c0c:00820000:20d0:013e:2:0
+Radio MARIA
+p:GLOBECAST,f:40
+220c:00820000:1af4:013e:2:0
+Musicam 4
+p:TSA,f:40
+3c0c:00820000:2260:fbff:2:0
+Out Of Mind
+p:SkyItalia,f:40
+000d:00820000:25e4:02be:2:0
+SAUDI1 R1
+p:ARABSAT,f:40
+220d:00820000:1af4:013e:2:0
+Musicam 5
+p:TSA,f:40
+3c0d:00820000:2260:fbff:2:0
+Onda Latina
+p:SkyItalia,f:40
+000e:00820000:2648:013e:2:0
+Chaine inter
+p:PRVDR,f:40
+000e:00820000:25e4:02be:2:0
+KUWAIT R1
+p:ARABSAT,f:40
+0c0e:00820000:20d0:013e:2:0
+Voice Of People
+p:GLOBECAST,f:40
+220e:00820000:1af4:013e:2:0
+Musicam 6
+p:TSA,f:40
+3c0e:00820000:2260:fbff:2:0
+Livetime
+p:SkyItalia,f:40
+000f:00820000:2648:013e:2:0
+Amazigh
+p:PRVDR,f:40
+3c0f:00820000:2260:fbff:2:0
+Rock Classic
+p:SkyItalia,f:40
+0010:00820000:2648:013e:2:0
+Radio Mohamed VI
+p:PRVDR,f:40
+0010:00820000:25e4:02be:2:0
+SUDAN R1
+p:ARABSAT,f:40
+0c10:00820000:20d0:013e:2:0
+Radio Montenegro
+p:GLOBECAST,f:40
+3c10:00820000:2260:fbff:2:0
+Rock Shock
+p:SkyItalia,f:40
+0011:00820000:300c:013e:2:0
+VOT West
+p:RRSat,f:40
+0011:00820000:25e4:02be:2:0
+OMAN R1
+p:ARABSAT,f:40
+0c11:00820000:20d0:013e:2:0
+Main General Program
+p:GLOBECAST,f:40
+3c11:00820000:2260:fbff:2:0
+B-Side
+p:SkyItalia,f:40
+0012:00820000:300c:013e:2:0
+Turizm Radyosu
+p:RRSat,f:40
+0012:00820000:25e4:02be:2:0
+ESC R1
+p:ARABSAT,f:40
+3c12:00820000:2260:fbff:2:0
+Jazz & Fusion
+p:SkyItalia,f:40
+0013:00820000:300c:013e:2:0
+VOT World
+p:RRSat,f:40
+0013:00820000:25e4:02be:2:0
+RADIO BAGHDAD
+p:ARABSAT,f:40
+0c13:00820000:20d0:013e:2:0
+Sana'a  radio
+p:GlobeCast,f:40
+3c13:00820000:2260:fbff:2:0
+Jazz Gold
+p:SkyItalia,f:40
+0014:00820000:300c:013e:2:0
+TSR Turkce
+p:RRSat,f:40
+0c14:00820000:20d0:013e:2:0
+Aden Radio
+p:GlobeCast,f:40
+3c14:00820000:2260:fbff:2:0
+Soul Train
+p:SkyItalia,f:40
+0015:00822faf:0001:0001:2:0
+Rang A Rang radio
+p:RRSat,f:40
+0015:00820000:300c:013e:2:0
+Radyo-2 (TRT FM)
+p:RRSat,f:40
+3c15:00820000:2260:fbff:2:0
+Extrabeat
+p:SkyItalia,f:40
+1216:00820000:2b5c:013e:2:0
+RDPi Radio
+p:H,f:40
+3c16:00820000:2260:fbff:2:0
+Sinfonia
+p:SkyItalia,f:40
+0017:00820000:25e4:02be:2:0
+SAUDI1 R2
+p:ARABSAT,f:40
+2017:00820000:24b8:013e:2:0
+WRN Russkij
+p:Globecast,f:40
+3c17:00820000:2260:fbff:2:0
+Opera
+p:SkyItalia,f:40
+0018:00820000:25e4:02be:2:0
+KUWAIT R2
+p:ARABSAT,f:40
+0c18:00820000:20d0:013e:2:0
+RADIO SAN
+p:GLOBECAST,f:40
+1d18:00820000:2fa8:013e:2:0
+Suryan Radio
+p:Globecast UK,f:40
+2018:00820000:24b8:013e:2:0
+WRN English
+p:Globecast,f:40
+2318:00820000:238c:013e:2:0
+El Shark El Awsat
+p:ERTU,f:40
+3918:00820000:32c8:013e:2:0
+BBC WS Persian Radio
+p:Globecast UK,f:40
+3c18:00820000:2260:fbff:2:0
+Stardust
+p:SkyItalia,f:40
+0019:00820000:300c:013e:2:0
+ILO Romano Radio
+p:RRSat,f:40
+0019:00820000:00c9:0006:2:0
+Voice
+p:,C:0e00,f:40
+1d19:00820000:2fa8:013e:2:0
+IRN
+p:Globecast NE,f:40
+2019:00820000:24b8:013e:2:0
+WRN Deutsch
+p:Globecast,f:40
+2319:00820000:238c:013e:2:0
+Al moagehat
+p:ERTU,f:40
+3c19:00820000:2260:fbff:2:0
+Baby Mix
+p:SkyItalia,f:40
+001a:00820000:300c:013e:2:0
+Radio Tondar
+p:RRSat,f:40
+001a:00820000:25e4:02be:2:0
+SUDAN R2
+p:ARABSAT,f:40
+0e1a:00820000:3c8c:013e:2:0
+DW-FM01
+p:T-Systems,f:40
+201a:00820000:24b8:013e:2:0
+WRN Francais
+p:Globecast,f:40
+3c1a:00820000:2260:fbff:2:0
+Disc Joker
+p:SkyItalia,f:40
+001b:00820000:25e4:02be:2:0
+OMAN R2
+p:ARABSAT,f:40
+121b:00820000:2b5c:013e:2:0
+Radio A1
+p:BT,f:40
+201b:00820000:24b8:013e:2:0
+GBTS2
+p:Globecast,f:40
+291b:00820000:1edc:0071:2:0
+RMF FM
+p:Cyfrowy Polsat,f:40
+3b1b:00820000:0578:013e:2:0
+R1
+p:ITI,f:40
+001c:00820000:25e4:02be:2:0
+ESC R2
+p:ARABSAT,f:40
+201c:00820000:24b8:013e:2:0
+RCI 3
+p:Globecast,f:40
+3b1c:00820000:0578:013e:2:0
+R2
+p:ITI,f:40
+001d:00820000:25e4:02be:2:0
+AL-IRAQIA QURAN
+p:ARABSAT,f:40
+0c1d:00820000:2e18:00b0:2:0
+Europe1
+p:,f:40
+201d:00820000:24b8:013e:2:0
+Family Europe
+p:Globecast,f:40
+291d:00820000:1edc:0071:2:0
+RADIO PLUS
+p:Cyfrowy Polsat,f:40
+001e:00820000:1250:0064:2:0
+New Life Radio Russia
+p:,f:40
+0c1e:00820000:2e18:00b0:2:0
+Virgin Radio
+p:,f:40
+201e:00820000:24b8:013e:2:0
+RCI 2
+p:Globecast,f:40
+291e:00820000:1edc:0071:2:0
+RMF Classic
+p:Cyfrowy Polsat,f:40
+001f:00820000:300c:013e:2:0
+Nawa Kurd Radio
+p:RRSat,f:40
+0c1f:00820000:2e18:00b0:2:0
+RFM
+p:,f:40
+201f:00820000:24b8:013e:2:0
+RCI 1
+p:Globecast,f:40
+291f:00820000:1edc:0071:2:0
+Radio Polonia
+p:Cyfrowy Polsat,f:40
+2020:00820000:24b8:013e:2:0
+RTE
+p:Globecast,f:40
+2920:00820000:1edc:0071:2:0
+Jedynka - PR
+p:Cyfrowy Polsat,f:40
+0021:00820000:00c9:0006:2:0
+UI Split/Voice
+p:,C:0e00,f:40
+0c21:00820000:2e18:00b0:2:0
+RTL
+p:,f:40
+2021:00820000:24b8:013e:2:0
+IBC TAMIL RADIO
+p:Globecast,f:40
+2921:00820000:1edc:0071:2:0
+Trójka - PR
+p:Cyfrowy Polsat,f:40
+0022:00820000:00c9:0006:2:0
+SMPTE Time Code
+p:,C:0e00,f:40
+2022:00820000:24b8:013e:2:0
+Sedayelran
+p:Globecast,f:40
+2922:00820000:1edc:0071:2:0
+Radio ZET
+p:Cyfrowy Polsat,f:40
+0023:00820000:1250:0064:2:0
+London Tamil Radio
+p:,f:40
+0c23:00820000:2e18:00b0:2:0
+Radio Classique
+p:,f:40
+2023:00820000:24b8:013e:2:0
+PRA Radio
+p:Globecast,f:40
+0024:00820000:1250:0064:2:0
+European Radio for Belarus
+p:,f:40
+0e24:00820000:3c8c:013e:2:0
+DW-FM02
+p:T-Systems,f:40
+2024:00820000:24b8:013e:2:0
+The Voice
+p:Globecast,f:40
+0025:00820000:1250:0064:2:0
+Tamil ITR France
+p:,f:40
+0025:00820000:25e4:02be:2:0
+OMAN R3
+p:ARABSAT,f:40
+0c25:00820000:2e18:00b0:2:0
+Fun Radio
+p:,f:40
+2025:00820000:24b8:013e:2:0
+GBTS1
+p:Globecast,f:40
+0026:00820000:300c:013e:2:0
+Glas Drin BiH
+p:RRSat,f:40
+0026:00820000:1250:0064:2:0
+TAMIL RADIO TIR
+p:,f:40
+0026:00820000:25e4:02be:2:0
+ESC R3
+p:ARABSAT,f:40
+0c26:00820000:2e18:00b0:2:0
+RTL2
+p:,f:40
+2026:00820000:24b8:013e:2:0
+WRN Eng AAP
+p:Globecast,f:40
+0027:00820000:300c:013e:2:0
+R.jamawar_KSDP
+p:RRSat,f:40
+2027:00820000:24b8:013e:2:0
+Radio New Hope
+p:Globecast,f:40
+0028:00820000:300c:013e:2:0
+Thuthi FM-Tamil
+p:,f:40
+0a28:00820000:3d54:013e:2:0
+Era 1
+p:,f:40
+2028:00820000:24b8:013e:2:0
+PEC 3 RRI 3
+p:Globecast,f:40
+2029:00820000:24b8:013e:2:0
+Family Int 1
+p:Globecast,f:40
+202a:00820000:24b8:013e:2:0
+Family Int 2
+p:Globecast,f:40
+002b:00820000:1250:0064:2:0
+Tamil Radio EU
+p:,f:40
+1c2b:00820000:1c20:013e:2:0
+MR1-Kossuth
+p:AH-EDP,f:40
+202b:00820000:24b8:013e:2:0
+VTCSW1
+p:Globecast,f:40
+1c2c:00820000:1c20:013e:2:0
+MR2-Petofi
+p:AH-EDP,f:40
+202c:00820000:24b8:013e:2:0
+AWR Radio 128Kbit
+p:Globecast,f:40
+1c2d:00820000:1c20:013e:2:0
+R.Citta Futura
+p:AH-EDP,f:40
+202d:00820000:24b8:013e:2:0
+YLESAT 1
+p:Globecast,f:40
+0e2e:00820000:3c8c:013e:2:0
+DW-FM03
+p:T-Systems,f:40
+1c2e:00820000:1c20:013e:2:0
+ReteSport
+p:AH-EDP,f:40
+202e:00820000:24b8:013e:2:0
+YLESAT 2
+p:Globecast,f:40
+1c2f:00820000:1c20:013e:2:0
+Radio 6
+p:AH-EDP,f:40
+202f:00820000:24b8:013e:2:0
+GBTS3
+p:Globecast,f:40
+292f:00820000:1edc:0071:2:0
+RMF MAXXX
+p:Cyfrowy Polsat,f:40
+0030:00820000:1250:0064:2:0
+R.Kurdistan
+p:,f:40
+1c30:00820000:1c20:013e:2:0
+Ecoradio
+p:AH-EDP,f:40
+2030:00820000:24b8:013e:2:0
+WRN Sawt Al Alam
+p:Globecast,f:40
+0031:00820000:1250:0064:2:0
+RDK DUHOK
+p:,f:40
+0e31:00820000:0708:00c8:2:0
+VIRGIN RADIO
+p:M-Three satcom,f:40
+2031:00820000:24b8:013e:2:0
+WRN Events
+p:Globecast,f:40
+0032:00820000:1250:0064:2:0
+London TBC
+p:,f:40
+0032:00820000:25e4:02be:2:0
+JORDAN R1
+p:ARABSAT,f:40
+0e32:00820000:0708:00c8:2:0
+Global-Mir
+p:M-Three satcom,f:40
+1c32:00820000:1c20:013e:2:0
+R.Tunisie Culture
+p:AH-EDP,f:40
+0e33:00820000:0708:00c8:2:0
+RADIO CUORE
+p:M-Three satcom,f:40
+1c33:00820000:1c20:013e:2:0
+MR4/MR5
+p:AH-EDP,f:40
+2533:00820000:13ef:013e:2:0
+EDTV RADIO 1
+p:DU,f:40
+0e34:00820000:0708:00c8:2:0
+R.BuonConsiglio
+p:M-Three satcom,f:40
+2534:00820000:13ef:013e:2:0
+EDTV RADIO 2
+p:DU,f:40
+0035:00822faf:0001:0001:2:0
+VOV Radio
+p:,f:40
+0135:00820000:157c:013e:2:0
+Love Radio
+p:NetMed,f:40
+0e35:00820000:0708:00c8:2:0
+RADIO CUORE DUE
+p:M-Three  satcom,f:40
+0036:00822faf:0001:0001:2:0
+neo zwei
+p:RRSat,f:40
+0136:0082afc1:0065:0001:2:0
+VOA Urdu Radio 310
+p:,f:40
+0136:00820000:157c:013e:2:0
+Greek Church
+p:NetMed,f:40
+0e36:00820000:0708:00c8:2:0
+KISS KISS RADIO
+p:M-Three satcom,f:40
+0137:00820000:157c:013e:2:0
+Skai Radio
+p:NetMed,f:40
+0e37:00820000:0708:00c8:2:0
+Millennium Radio
+p:M-Three satcom,f:40
+0138:00820000:157c:013e:2:0
+Melodi Radio
+p:NetMed,f:40
+0e38:00820000:0708:00c8:2:0
+R.S.F. inBlu
+p:M-Three satcom,f:40
+0e38:00820000:3c8c:013e:2:0
+DW-FM04
+p:T-Systems,f:40
+0139:00820000:157c:013e:2:0
+RR3
+p:NetMed,f:40
+0e39:00820000:0708:00c8:2:0
+LifeGate
+p:M-Three satcom,f:40
+013a:00820000:157c:013e:2:0
+RR1
+p:NetMed,f:40
+0e3a:00820000:0708:00c8:2:0
+Radio Padre Pio
+p:M-Three satcom,f:40
+0e3b:00820000:0708:00c8:2:0
+Radio Torino Intl.
+p:M-Three satcom,f:40
+0e3c:00820000:0708:00c8:2:0
+Radio 24
+p:M-Three satcom,f:40
+0e3d:00820000:0708:00c8:2:0
+RADIO RELAX
+p:M-Three satcom,f:40
+0e3e:00820000:0708:00c8:2:0
+R101
+p:M-Three satcom,f:40
+0e3f:00820000:0708:00c8:2:0
+ROCK FM
+p:M-Three satcom,f:40
+0e40:00820000:0708:00c8:2:0
+RADIO KOLBE
+p:M-Three satcom,f:40
+0e41:00820000:0708:00c8:2:0
+RADIO GYE NYAME
+p:M-Three satcom,f:40
+0042:00822faf:0001:0001:2:0
+Overcomer Radio
+p:RRSat,f:40
+0e42:00820000:0708:00c8:2:0
+DISCORADIO
+p:M-Three satcom,f:40
+0e42:00820000:3c8c:013e:2:0
+DW-M
+p:T-Systems,f:40
+2143:00820000:3070:013e:2:0
+FD Leggera
+p:Rai,f:40
+3c43:00820000:0578:013e:2:0
+MusicC. Klasyka
+p:Harmonic,f:40
+3c44:00820000:0578:013e:2:0
+Music Choice Pop
+p:Harmonic,f:40
+3c45:00820000:0578:013e:2:0
+Music Ch. Dance
+p:Harmonic,f:40
+0e46:00820000:3c8c:013e:2:0
+DW-FM06
+p:T-Systems,f:40
+3c46:00820000:0578:013e:2:0
+Music Ch. Urban
+p:Harmonic,f:40
+0047:00822faf:0001:0001:2:0
+Christian Voice
+p:RRSat,f:40
+3c47:00820000:0578:013e:2:0
+Music Ch. Swiat
+p:Harmonic,f:40
+0048:00822faf:0001:0001:2:0
+Hornafrik Somalia
+p:RRSat,f:40
+3c48:00820000:0578:013e:2:0
+Music Ch. Rock
+p:Harmonic,f:40
+3c49:00820000:0578:013e:2:0
+Music Ch. Oldies
+p:Harmonic,f:40
+0e4a:00820000:3c8c:013e:2:0
+DW-FM07
+p:T-Systems,f:40
+3c4a:00820000:0578:013e:2:0
+Music Choice 1
+p:Harmonic,f:40
+004b:00822faf:0001:0001:2:0
+Music Box Radio
+p:RRSat,f:40
+3c4b:00820000:0578:013e:2:0
+Music Choice 2
+p:Harmonic,f:40
+3c4c:00820000:0578:013e:2:0
+Music Choice 3
+p:Harmonic,f:40
+3c4d:00820000:0578:013e:2:0
+Music Choice 4
+p:Harmonic,f:40
+0e4e:00820000:3c8c:013e:2:0
+DW-FEED1
+p:T-Systems,f:40
+3c4e:00820000:0578:013e:2:0
+Music Choice 5
+p:Harmonic,f:40
+3c4f:00820000:0578:013e:2:0
+Music Choice 6
+p:Harmonic,f:40
+0050:00822faf:0001:0001:2:0
+3ABN Radio
+p:RRSat,f:40
+3c50:00820000:0578:013e:2:0
+Music Choice 7
+p:Harmonic,f:40
+3c51:00820000:0578:013e:2:0
+CYFRA+ GRY
+p:Harmonic,f:40
+0052:00822faf:0001:0001:2:0
+TGN Radio
+p:RRSat,f:40
+1c52:00820000:1c20:013e:2:0
+R.Tunisie Nationale
+p:AH-EDP,f:40
+3c52:00820000:0578:013e:2:0
+CYFRA+ GRY2
+p:Harmonic,f:40
+1c53:00820000:1c20:013e:2:0
+R.Tunisie Internationale
+p:AH-EDP,f:40
+3653:00820000:1388:013e:2:0
+BBC English (Europe)
+p:BBC World Service,f:40
+3c53:00820000:0578:013e:2:0
+INFO+
+p:Harmonic,f:40
+1154:00820000:2af8:013e:2:0
+tech 3
+p:CYFRA +,f:40
+1c54:00820000:1c20:013e:2:0
+Radio Spazio Aperto
+p:AH-EDP,f:40
+3654:00820000:1388:013e:2:0
+BBC English Mid-East
+p:BBC World Service,f:40
+0e56:00820000:3c8c:013e:2:0
+RNW-4
+p:Deutsche Welle,f:40
+1c56:00820000:1c20:013e:2:0
+Radio Azzurra
+p:AH-EDP,f:40
+3656:00820000:1388:013e:2:0
+BBC English News
+p:BBC World Service,f:40
+1d59:00820000:2f44:013e:2:0
+CY Feed
+p:NetMed,f:40
+365c:00820000:1388:013e:2:0
+BBC Arabic
+p:BBC World Service,f:40
+0960:00820000:3d54:013e:2:0
+Era Sport
+p:,f:40
+0061:00820000:2648:013e:2:0
+RADIO MOHAMMED VI
+p:PRVDR,f:40
+3661:00820000:1388:013e:2:0
+BBC Albanian
+p:BBC World Service,f:40
+3663:00820000:1388:013e:2:0
+BBC Azeri
+p:BBC World Service,f:40
+0065:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 101
+p:,f:40
+0065:00820000:0578:013e:2:0
+Makedonsko Radio
+p:Harmonic,f:40
+0066:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 102
+p:,f:40
+0066:00820000:0578:013e:2:0
+Bahai Radio
+p:Harmonic,f:40
+0067:00820000:1250:0064:2:0
+RUSSIAN RADIO
+p:,f:40
+0067:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 103
+p:,f:40
+0067:00820000:0578:013e:2:0
+Radio Mojdeh
+p:Harmonic,f:40
+2167:00820000:3070:013e:2:0
+Multilingue 1
+p:RAI,f:40
+0068:0082afc1:0065:0001:2:0
+VOA Music Mix 104
+p:,f:40
+0068:00820000:0578:013e:2:0
+TOP 3 radio belgrad
+p:Harmonic,f:40
+1268:00820000:3458:013e:2:0
+R.ONDA D'URTO
+p:T-Systems/MTI,f:40
+2168:00820000:3070:013e:2:0
+Multilingue 2
+p:RAI,f:40
+0069:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 105
+p:,f:40
+2169:00820000:3070:013e:2:0
+SatelRadio
+p:RAI,f:40
+006a:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 106
+p:,f:40
+216a:00820000:3070:013e:2:0
+Radio OM unica
+p:RAI,f:40
+006b:0082afc1:0065:0001:2:0
+IBB VOA Radio 107
+p:,f:40
+216b:00820000:3070:013e:2:0
+Radio2 mono
+p:RAI,f:40
+006c:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 108
+p:,f:40
+016c:00820000:1c84:013e:2:0
+ERA1
+p:NetMed,f:40
+216c:00820000:3070:013e:2:0
+Radio3 mono
+p:RAI,f:40
+226c:00820000:238c:013e:2:0
+Chaine 1
+p:TDA,f:40
+006d:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 109
+p:,f:40
+016d:00820000:1c84:013e:2:0
+ERA2
+p:NetMed,f:40
+226d:00820000:238c:013e:2:0
+Chaine 2
+p:TDA,f:40
+006e:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 110
+p:,f:40
+016e:00820000:1c84:013e:2:0
+ERA SPORT
+p:NetMed,f:40
+226e:00820000:238c:013e:2:0
+Chaine 3
+p:SkyGate,f:40
+296e:00820000:22c4:013e:2:0
+DENGE RADIO
+p:Belgacom,f:40
+006f:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 111
+p:,f:40
+2070:00820000:2328:013e:2:0
+VOICE OF CRO
+p:OIV Zagreb,f:40
+2970:00820000:22c4:013e:2:0
+RADIO 2M MAROC
+p:BELGACOM,f:40
+0071:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 113
+p:,f:40
+2071:00820000:2328:013e:2:0
+HRT-HR1
+p:OIV Zagreb,f:40
+0072:0082afc1:0065:0001:2:0
+Sawa Levant Radio 114
+p:,f:40
+2072:00820000:2328:013e:2:0
+HRT-HR2
+p:OIV Zagreb,f:40
+2972:00820000:22c4:013e:2:0
+RVi 1 (VRT)
+p:BELGACOM,f:40
+0073:0082afc1:0065:0001:2:0
+Sawa Iraq Radio 115
+p:,f:40
+2073:00820000:2328:013e:2:0
+HRT-HR3
+p:OIV Zagreb,f:40
+2973:00820000:22c4:013e:2:0
+RVi 2 (VRT)
+p:BELGACOM,f:40
+0074:0082afc1:0065:0001:2:0
+Sawa Egypt Radio 116
+p:,f:40
+2974:00820000:22c4:013e:2:0
+RADIO 74
+p:BELGACOM,f:40
+0075:0082afc1:0065:0001:2:0
+Sawa Gulf Radio 117
+p:,f:40
+0076:0082afc1:0065:0001:2:0
+Sawa N. Africa Radio 118
+p:,f:40
+0077:0082afc1:0065:0001:2:0
+Farda Radio 119
+p:,f:40
+3677:00820000:1388:013e:2:0
+BBC Persian
+p:BBC World Service,f:40
+0079:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 121
+p:,f:40
+2979:00820000:22c4:013e:2:0
+ROUGE FM
+p:BSS_LDK,f:40
+007a:0082afc1:0065:0001:2:0
+Sawa Sudan Radio 122
+p:,f:40
+297a:00820000:22c4:013e:2:0
+ALMAHABA
+p:BSS_LDK,f:40
+007b:0082afc1:0065:0001:2:0
+Sawa Lebanon Radio 123
+p:,f:40
+017b:00820000:1c84:013e:2:0
+ERA3
+p:NetMed,f:40
+297b:00820000:22c4:013e:2:0
+TOP TWO
+p:BSS_LDK,f:40
+367c:00820000:1388:013e:2:0
+BBC Russian
+p:BBC World Service,f:40
+367e:00820000:1388:013e:2:0
+BBC Romanian
+p:BBC World Service,f:40
+127f:00820000:3458:013e:2:0
+Radio Standa
+p:T-Systems/MTI,f:40
+207f:00820000:2328:013e:2:0
+OTVORENI
+p:OIV Zagreb,f:40
+227f:00820000:238c:013e:2:0
+RADIO GENIUS
+p:MultiProgram,f:40
+1280:00820000:3458:013e:2:0
+R.Di per Di
+p:T-Systems/MTI,f:40
+2080:00820000:2328:013e:2:0
+MEDIASERVIS
+p:OIV Zagreb,f:40
+0081:00822faf:0001:0001:2:0
+SWISS MUSIC RADIO
+p:RRSat,f:40
+1281:00820000:3458:013e:2:0
+McDonalds
+p:T-Systems/MTI,f:40
+3681:00820000:1388:013e:2:0
+BBC Balkans
+p:BBC World Service,f:40
+1282:00820000:3458:013e:2:0
+Radio Expert
+p:T-Systems/MTI,f:40
+1283:00820000:3458:013e:2:0
+Radio Billa
+p:T-Systems/MTI,f:40
+1d83:00820000:2f44:013e:2:0
+Radio Gold
+p:NetMed,f:40
+0c84:00820000:1f40:013e:2:0
+SLO-RA1-INF
+p:RTV Slovenija,f:40
+0c84:00820000:2bc0:00b0:2:0
+Sud Radio
+p:,f:40
+1284:00820000:3458:013e:2:0
+RADIO ZAINET
+p:T-Systems/MTI,f:40
+1d84:00820000:2f44:013e:2:0
+REAL FM
+p:NetMed,f:40
+0c85:00820000:1f40:013e:2:0
+SLO-RA2
+p:RTV Slovenija,f:40
+3585:00820000:1388:013e:2:0
+Zagros Radio
+p:BT,f:40
+0c86:00820000:1f40:013e:2:0
+SLO-RA3
+p:RTV Slovenija,f:40
+1286:00820000:3458:013e:2:0
+Radio Intesa
+p:T-Systems/MTI,f:40
+0c88:00820000:2e18:00b0:2:0
+Alouette
+p:,f:40
+0c88:00820000:1f40:013e:2:0
+RADIO SI
+p:RTV Slovenija,f:40
+1d88:00820000:1fa4:013e:2:0
+Radio Dijla
+p:EUTELSAT,f:40
+0c89:00820000:2ee0:00b0:2:0
+Skyrock
+p:,C:0500,f:40
+208a:00820000:2328:013e:2:0
+Narodni radio
+p:OIV Zagreb,f:40
+208b:00820000:2328:013e:2:0
+RKC
+p:OIV Zagreb,f:40
+368b:00820000:1388:013e:2:0
+BBC Turkish
+p:BBC World Service,f:40
+368e:00820000:1388:013e:2:0
+BBC Ukrainian
+p:BBC World Service,f:40
+0c8f:00820000:1f40:013e:2:0
+CAPODISTRIA
+p:RTVS,f:40
+0c91:00820000:1f40:013e:2:0
+RA.OGNJISCE SI
+p:RTVS,f:40
+1291:00820000:3458:013e:2:0
+RadioSpazioAperto
+p:T-Systems/MTI,f:40
+2091:00820000:2328:013e:2:0
+HKR
+p:OiV Zagreb,f:40
+1d92:00820000:1fa4:013e:2:0
+Radio Azadegan
+p:EUTELSAT,f:40
+3693:00820000:1388:013e:2:0
+BBC Feed 1
+p:BBC WS,f:40
+1294:00820000:3458:013e:2:0
+AfgSalamWatandar
+p:T-Systems/MTI,f:40
+1d94:00820000:2f44:013e:2:0
+SS FM
+p:NetMed,f:40
+2094:00820000:2328:013e:2:0
+R MIR M
+p:OIV Zagreb,f:40
+3694:00820000:1388:013e:2:0
+BBC Feed 2
+p:BBC WS,f:40
+1295:00820000:3458:013e:2:0
+Radio Metro
+p:T-Systems/MTI,f:40
+2095:00820000:2328:013e:2:0
+DALMATIA
+p:OIV Zagreb,f:40
+3695:00820000:1388:013e:2:0
+BBC Feed 3
+p:BBC WS,f:40
+3696:00820000:1388:013e:2:0
+BBC Feed 4
+p:BBC WS,f:40
+3697:00820000:1388:013e:2:0
+BBC Feed 5
+p:BBC WS,f:40
+0898:00820000:3d54:013e:2:0
+Era 2
+p:,f:40
+0c98:00820000:1f40:013e:2:0
+RNW-1
+p:RTV Slovenija,f:40
+3698:00820000:1388:013e:2:0
+BBC Feed 6
+p:BBC WS,f:40
+0399:00820000:2134:013e:2:0
+SRG-DRS 1
+p:Schweizer Radio DRS,f:40
+0c99:00820000:1f40:013e:2:0
+RNW-2
+p:RTV Slovenija,f:40
+039a:00820000:2134:013e:2:0
+SRG-DRS 2
+p:Schweizer Radio DRS,f:40
+039b:00820000:2134:013e:2:0
+SRG-DRS 3
+p:Schweizer Radio DRS,f:40
+039c:00820000:2134:013e:2:0
+SRG-DRS Virus
+p:Schweizer Radio DRS,f:40
+299c:00820000:22c4:013e:2:0
+Eviva Radio
+p:BSS_LDK,f:40
+039d:00820000:2134:013e:2:0
+SRG-DRS Musikwelle
+p:Schweizer Radio DRS,f:40
+299d:00820000:22c4:013e:2:0
+TASVIR IRAN
+p:Belgacom,f:40
+039e:00820000:2134:013e:2:0
+SRG-Rumantsch
+p:Radio Rumantsch,f:40
+209e:00820000:2328:013e:2:0
+PEVEC RADIO
+p:OiV Zagreb,f:40
+29a1:00820000:22c4:013e:2:0
+Radio Zamaneh
+p:Belgacom,f:40
+03a6:00820000:2134:013e:2:0
+SRG-Swiss Classic
+p:Swiss Satellite Radio,f:40
+03a7:00820000:2134:013e:2:0
+SRG-Swiss Pop
+p:Swiss Satellite Radio,f:40
+03a8:00820000:2134:013e:2:0
+SRG-Swiss Jazz
+p:Swiss Satellite Radio,f:40
+03a9:00820000:2134:013e:2:0
+SRG-DRS 4 News
+p:Schweizer Radio DRS,f:40
+37aa:00820000:044c:013e:2:0
+TAMILFMRADIO
+p:    ,f:40
+0dad:00820000:2ee0:00b0:2:0
+France Musique
+p:,f:40
+0dae:00820000:2bc0:00b0:2:0
+France Vivace
+p:,f:40
+0daf:00820000:2ee0:00b0:2:0
+FIP
+p:,f:40
+0db0:00820000:2c88:00b0:2:0
+France Inter
+p:,f:40
+00b1:00820000:2648:013e:2:0
+Radio FES
+p:PRVDR,f:40
+0db1:00820000:2c88:00b0:2:0
+France Info
+p:,f:40
+0db2:00820000:2ee0:00b0:2:0
+France Culture
+p:,f:40
+0db3:00820000:2bc0:00b0:2:0
+France Bleu
+p:,f:40
+0db4:00820000:2ee0:00b0:2:0
+Le Mouv
+p:,f:40
+0db6:00820000:3c8c:013e:2:0
+DW01
+p:T-Systems,f:40
+00b7:00820000:1e14:013e:2:0
+Israel 2000
+p:GlobeCast,f:40
+00b8:00820000:1e14:013e:2:0
+RCF
+p:GlobeCast,f:40
+00b9:00820000:1e14:013e:2:0
+Dan TAMIL ALAI Radio
+p:GlobeCast,f:40
+00ba:00820000:1e14:013e:2:0
+FRANCE MAGHREB
+p:Globecast,f:40
+00bb:00820000:1e14:013e:2:0
+RADIO ORIENT
+p:GlobeCast,f:40
+20bb:00820000:2328:013e:2:0
+RADIO MARIJA
+p:OIV Zagreb,f:40
+20bc:00820000:2328:013e:2:0
+Radio Banovina
+p:OIV Zagreb,f:40
+0dc0:00820000:3c8c:013e:2:0
+DW02
+p:T-Systems,f:40
+06c3:00820000:3138:013e:2:0
+Radio Berbere
+p:Globecast,f:40
+09c4:00820000:3d54:013e:2:0
+Era 5
+p:,f:40
+1fc8:00820000:2454:013e:2:0
+RD1_Radio_ARMENIA
+p:GlobeCast,f:40
+36cb:00820000:06a4:013e:2:0
+SSR-La 1ere
+p:Radio Suisse Romande,f:40
+36cc:00820000:06a4:013e:2:0
+SSR-Espace 2
+p:Radio Suisse Romande,f:40
+1bcd:00820000:17d4:013e:2:0
+Mad Radio
+p:NetMed,f:40
+36cd:00820000:06a4:013e:2:0
+SSR-Couleur3
+p:Radio Suisse Romande,f:40
+36ce:00820000:06a4:013e:2:0
+SSR-Option Musique
+p:Radio Suisse Romande,f:40
+36cf:00820000:06a4:013e:2:0
+SSR-Rete Uno
+p:Radio svizzera di lingua italiana,f:40
+36d0:00820000:06a4:013e:2:0
+SSR-Rete Due
+p:Radio svizzera di lingua italiana,f:40
+34d1:00820000:3c28:013e:2:0
+NRJ 
+p:CSAT,f:40
+36d1:00820000:06a4:013e:2:0
+SSR-Rete Tre
+p:Radio svizzera di lingua italiana,f:40
+38d1:00820000:0320:fbff:2:0
+Radio DeeJay
+p:SkyItalia,f:40
+34d2:00820000:3c28:013e:2:0
+Rire & Chansons
+p:CSAT,f:40
+38d2:00820000:0320:fbff:2:0
+M2O
+p:SkyItalia,f:40
+34d3:00820000:3c28:013e:2:0
+Nostalgie
+p:CSAT,f:40
+38d3:00820000:0320:fbff:2:0
+Radio 105
+p:SkyItalia,f:40
+0dd4:00820000:3c8c:013e:2:0
+DW04
+p:T-Systems,f:40
+34d4:00820000:3c28:013e:2:0
+Cherie FM
+p:CSAT,f:40
+38d4:00820000:0320:fbff:2:0
+Virgin Radio
+p:SkyItalia,f:40
+34d5:00820000:3c28:013e:2:0
+radio Walfadjri
+p:GlobeCast,C:0500,f:40
+38d5:00820000:0320:fbff:2:0
+Radio Capital
+p:SkyItalia,f:40
+36d6:00820000:06a4:013e:2:0
+SSR-WRS
+p:Radio Suisse Romande,f:40
+38d6:00820000:0320:fbff:2:0
+Kiss Kiss
+p:SkyItalia,f:40
+38d7:00820000:0320:fbff:2:0
+RTL 102.5
+p:SkyItalia,f:40
+38d8:00820000:0320:fbff:2:0
+R 101
+p:SkyItalia,f:40
+38d9:00820000:0320:fbff:2:0
+Radio Italia
+p:SkyItalia,f:40
+29da:00820000:3cf0:013e:2:0
+ARTE_Radio.com
+p:GlobeCast,f:40
+38da:00820000:0320:fbff:2:0
+Radio 24
+p:SkyItalia,f:40
+38db:00820000:0320:fbff:2:0
+RDS
+p:SkyItalia,f:40
+02dc:00820000:1b58:013e:2:0
+R.Maria
+p:Telespazio,f:40
+38dc:00820000:0320:fbff:2:0
+Radio Montecarlo
+p:SkyItalia,f:40
+02dd:00820000:1b58:013e:2:0
+Vietnamese PR
+p:Telespazio,f:40
+02de:00820000:1b58:013e:2:0
+Radio Padania IP
+p:Telespazio,f:40
+0dde:00820000:3c8c:013e:2:0
+DW05
+p:T-Systems,f:40
+39de:00820000:1fa4:013e:2:0
+GRAND
+p:NTH ,f:40
+02e0:00820000:1b58:013e:2:0
+RDS
+p:Telespazio,f:40
+34e0:00820000:3c28:013e:2:0
+Test Radio Globo
+p:CSAT,C:1800,f:40
+02e1:00820000:1b58:013e:2:0
+DimSuono Roma
+p:Telespazio,f:40
+02e2:00820000:1b58:013e:2:0
+ANNI 60
+p:Telespazio,f:40
+39e2:00820000:1fa4:013e:2:0
+RAM RAJ RADIO
+p:NTH ,f:40
+39e3:00820000:1fa4:013e:2:0
+Lijepa nasa (LINA)
+p:NTH ,f:40
+02e4:00820000:1b58:013e:2:0
+R.Italia S.m.i.
+p:Telespazio,f:40
+39e4:00820000:1fa4:013e:2:0
+MB MITIC BILJANA
+p:NTH ,f:40
+39e5:00820000:1fa4:013e:2:0
+VULKAN radio
+p:NTH ,f:40
+39e6:00820000:1fa4:013e:2:0
+RADIO FLES
+p:NTH ,f:40
+02e7:00820000:1b58:013e:2:0
+Popolare
+p:Telespazio,f:40
+39e7:00820000:1fa4:013e:2:0
+Radio SRNA-BOSANKA
+p:NTH ,f:40
+0de8:00820000:3c8c:013e:2:0
+DW06
+p:T-Systems,f:40
+12e8:00820000:2e7c:013e:2:0
+CYFRA+ RADIO
+p:CYFRA +,f:40
+39e8:00820000:1fa4:013e:2:0
+Radio SvetPLUS
+p:NTH ,f:40
+3be8:00820000:2260:fbff:2:0
+50 songs
+p:SkyItalia,f:40
+0ce9:00820000:2ee0:00b0:2:0
+Radio Courtoisie
+p:,f:40
+3be9:00820000:2260:fbff:2:0
+Yesterjay '80
+p:SkyItalia,f:40
+0cea:00820000:2c88:00b0:2:0
+Radio FG
+p:,f:40
+12ea:00820000:2e7c:013e:2:0
+CYFRA+ RMF
+p:CYFRA +,f:40
+39ea:00820000:1fa4:013e:2:0
+TREF Radio
+p:NTH ,f:40
+3bea:00820000:2260:fbff:2:0
+Yesterjay '90
+p:SkyItalia,f:40
+02eb:00820000:1b58:013e:2:0
+R-Radio
+p:Telespazio,f:40
+39eb:00820000:1fa4:013e:2:0
+YU PLANET BEC
+p:NTH ,f:40
+3beb:00820000:2260:fbff:2:0
+Hit Italia
+p:SkyItalia,f:40
+12ec:00820000:2e7c:013e:2:0
+CYFRA+ PR
+p:CYFRA +,f:40
+1cec:00820000:2fa8:013e:2:0
+Radio Capri
+p:Globecast UK,f:40
+3bec:00820000:2260:fbff:2:0
+ItalianVintage
+p:SkyItalia,f:40
+02ed:00820000:1b58:013e:2:0
+Radio Eurospin
+p:Telespazio,f:40
+10ed:00820000:03e8:013e:2:0
+test_radio
+p:TVN Grupa ITI,f:40
+39ed:00820000:1fa4:013e:2:0
+PEIRAIKI EKKLISIA
+p:OTE,f:40
+02ee:00820000:1b58:013e:2:0
+R.Speranza
+p:Telespazio,f:40
+0cef:00820000:1518:013e:2:0
+RADIOUNO
+p:RAI,f:40
+0cf0:00820000:1518:013e:2:0
+RADIODUE
+p:RAI,f:40
+0cf1:00820000:1518:013e:2:0
+RADIOTRE
+p:RAI,f:40
+02f2:00820000:1b58:013e:2:0
+R.KOLBE-SAT
+p:Telespazio,f:40
+0cf2:00820000:1450:013e:2:0
+FD leggera
+p:RAI,f:40
+0cf3:00820000:1518:013e:2:0
+FD auditorium
+p:RAI,f:40
+02f4:00820000:1b58:013e:2:0
+Radio ZETA
+p:Telespazio,f:40
+0cf4:00820000:1518:013e:2:0
+BLUSAT2000
+p:RAI,f:40
+0cf5:00820000:1518:013e:2:0
+GR Parlam.
+p:RAI,f:40
+0cf6:00820000:1518:013e:2:0
+Isoradio
+p:RAI,f:40
+0cf7:00820000:1450:013e:2:0
+Notturno italiano
+p:RAI,f:40
+02f8:00820000:1b58:013e:2:0
+RADIO PADANIA
+p:Telespazio,f:40
+0cf8:00820000:1518:013e:2:0
+Radio Vaticana
+p:RAI,f:40
+02f9:00820000:1b58:013e:2:0
+Radio Radicale
+p:Telespazio,f:40
+08fc:00820000:3d54:013e:2:0
+Era 3
+p:,f:40
+0dfc:00820000:3c8c:013e:2:0
+DW08
+p:T-Systems,f:40
+0cfd:00820000:1518:013e:2:0
+DAB
+p:Rai,f:40
+0dfd:00820000:14b4:013e:2:0
+Radio 1
+p:RTVE,f:40
+0dfe:00820000:14b4:013e:2:0
+Radio Clasica
+p:RTVE,f:40
+29fe:00820000:3cf0:013e:2:0
+RTL_102.5
+p:GlobeCast_Italia,f:40
+3bfe:00820000:2260:fbff:2:0
+Capital '70
+p:SkyItalia,f:40
+0dff:00820000:14b4:013e:2:0
+Radio 3
+p:RTVE,f:40
+12ff:00820000:2e7c:013e:2:0
+tech 2
+p:CYFRA +,f:40
+29ff:00820000:3cf0:013e:2:0
+Romania_In_direct
+p:GlobeCast,f:40
+3bff:00820000:2260:fbff:2:0
+Vintage '60
+p:SkyItalia,f:40
+2002:00820000:2454:013e:12:0
+worldsat-o
+p:OpenMux IP Gateway,f:40
+2004:00820000:2454:013e:12:0
+WorldSat
+p:OpenMux IP Gateway,f:40
+0007:00820000:2648:013e:12:0
+MAP SAT
+p:PRVDR,f:40
+281f:00820000:23f0:013f:12:0
+AleniaSpazio
+p:Alenia,f:40
+1c24:00820000:1c20:013e:12:0
+AH-EMP4-DATA
+p:AH-EDP,f:40
+292b:00820000:1edc:0071:12:0
+CP_Download
+p:,f:40
+0e2f:00820000:0708:00c8:12:0
+ENVIATEL
+p:M-Three satcom,f:40
+3b38:00820000:0514:013e:12:0
+pVOD
+p:ITI,f:40
+243d:00820000:23f0:013f:12:0
+WebTv Ch1
+p:OpenMux IP Gateway,f:40
+243e:00820000:23f0:013f:12:0
+WebTv Ch1
+p:OpenMux IP Gateway,f:40
+243f:00820000:23f0:013f:12:0
+WebTv Ch2
+p:OpenMux IP Gateway,f:40
+2744:00820000:23f0:013f:12:0
+CRF-Perugia
+p:CRF-Perugia,f:40
+044e:00820000:20d0:013e:12:0
+POLYCOM
+p:GLOBECAST,f:40
+275d:00820000:23f0:013f:12:0
+CID09000200
+p:Alenia,f:40
+2064:00820000:24b8:013e:12:0
+Quadriga
+p:Globecast,f:40
+126d:00820000:3458:013e:12:0
+NIS_Intesa1
+p:T-Systems/MTI,f:40
+1d77:00820000:2f44:013e:12:0
+IPE 3
+p:???,f:40
+1f7b:00820000:319c:013e:12:0
+Akubis Daten
+p:T-Systems,C:0b00,f:40
+118a:00820000:2af8:013e:12:0
+ST
+p:CYFRA +,f:40
+278f:00820000:23f0:013f:12:0
+skn-92-8
+p:NCS-BBA-Lario-2,f:40
+2898:00820000:23f0:013f:12:0
+CID09004700
+p:PCP-ARPA-TO,f:40
+2bbf:00820000:2454:013e:12:0
+IEPG Data
+p:Skyitalia,f:40
+22c8:00820000:238c:013e:12:0
+HitCast Data 1
+p:OpenMux IP Gateway,f:40
+22ca:00820000:238c:013e:12:0
+Data_01
+p:OpenMux IP Gateway,f:40
+3aca:00820000:0514:013e:12:0
+Upload
+p:test,f:40
+22cb:00820000:238c:013e:12:0
+Data_02
+p:OpenMux IP Gateway,f:40
+21cd:00822a65:2db4:0000:12:0
+EUMETCAST
+p:T-Systems,f:40
+21ce:00822a65:2db4:0000:12:0
+GlobalK-Sat
+p:T-Systems,f:40
+21cf:00822a65:2db4:0000:12:0
+Acentic
+p:T-Systems,f:40
+27e1:00820000:23f0:013f:12:0
+CSF-Viminale
+p:VVF,f:40
+12f7:00820000:2e7c:013e:12:0
+REUTERS RSP
+p:CYFRA +,f:40
+2b0c:00820000:1900:fbff:25:0
+SKY Sport HD 1
+p:SkyItalia,f:40
+2b16:00820000:1900:fbff:25:0
+Next HD
+p:SkyItalia,f:40
+2b17:00820000:1900:fbff:25:0
+SKY Cinema HD
+p:SkyItalia,f:40
+2b18:00820000:1900:fbff:25:0
+NationalGeo HD
+p:SkyItalia,f:40
+2b19:00820000:1900:fbff:25:0
+SKY Sport HD 2
+p:SkyItalia,f:40
+03de:00820000:2134:013e:25:0
+HD suisse
+p:SRG SSR idee suisse,f:40
+240a:00820000:23f0:013f:128:0
+SIMS Signaling
+p:PCP-Campochiaro,f:40
+2315:00820000:238c:013e:128:0
+SKYGATE ERTU
+p:SkyMux,f:40
+231a:00820000:238c:013e:128:0
+SKY MEDIO
+p:SkyMux,f:40
+281a:00820000:23f0:013f:128:0
+SIMS Signaling
+p:Alenia,f:40
+243c:00820000:23f0:013f:128:0
+skygate25
+p:SkyMux,f:40
+2743:00820000:23f0:013f:128:0
+SIMS Signaling
+p:CRF-Perugia,f:40
+2455:00820000:23f0:013f:128:0
+skygate24
+p:SkyMux,f:40
+275c:00820000:23f0:013f:128:0
+SIMS Signaling
+p:Alenia,f:40
+2261:00820000:238c:013e:128:0
+SKYPLEX TXP91
+p:EUTELSAT,f:40
+1162:00820000:2af8:013e:128:0
+EPG
+p:CYFRA +,f:40
+2269:00820000:238c:013e:128:0
+skygateTDA
+p:SkyMux,f:40
+2379:00820000:238c:013e:128:0
+Skygate RTORO
+p:Eutelsat,f:40
+227a:00820000:238c:013e:128:0
+SkygateTDA
+p:Skylogic,f:40
+248a:00820000:23f0:013f:128:0
+SkyPlex CHID 4
+p:Eutelsat,f:40
+238d:00820000:23f0:013f:128:0
+SKYPLEX TXP92
+p:EUTELSAT,f:40
+278e:00820000:23f0:013f:128:0
+SIMS Signaling
+p:NCS-BBA-Lario-2,f:40
+2491:00820000:23f0:013f:128:0
+QAT-DOH-008
+p:Al Jazeera,f:40
+299a:00820000:22c4:013e:128:0
+MOVIEPEAK
+p:Twin Peak,f:40
+249b:00820000:23f0:013f:128:0
+ITA-FOC-17(SKY2)
+p:SkyMux,f:40
+22ac:00820000:238c:013e:128:0
+Skyplex RMB
+p:Eutelsat,f:40
+27b0:00820000:23f0:013f:128:0
+SIMS Signaling
+p:ITA-ROM-043,f:40
+29b5:00820000:22c4:013e:128:0
+StrongDigitalTV
+p:OpenMux,f:40
+29b7:00820000:22c4:013e:128:0
+Allsatcom4
+p:OpenMux,f:40
+29be:00820000:22c4:013e:128:0
+Opentech
+p:OpenMux,f:40
+27c0:00820000:23f0:013f:128:0
+Skyplex Internal
+p:SkyMux,f:40
+29c1:00820000:22c4:013e:128:0
+AllSat.Com
+p:OpenMux,f:40
+22c5:00820000:238c:013e:128:0
+Skyplex 10.1
+p:SkyMux,f:40
+22de:00820000:238c:013e:128:0
+SkygateBLUTV
+p:SkyMux,f:40
+27e0:00820000:23f0:013f:128:0
+SIMS Signaling
+p:Alenia,f:40
+12fe:00820000:2e7c:013e:128:0
+tech
+p:CYFRA +,f:40
+0016:00820000:1edc:0071:129:0
+SCM Download
+p:,f:40
+144f:00820000:05dc:013e:129:0
+5199
+p:CYFRA +,f:40
+00e1:00820000:2e7c:013e:129:0
+PHILIPS DOWNLOAD 1.1
+p:WIZJA 1,f:40
+0e00:00820000:15e0:fbff:130:0
+SKY Sound
+p:SkyItalia,f:40
+3900:00820000:0320:fbff:130:0
+GF Feed3
+p:SkyItalia,f:40
+0e32:00820000:16a8:fbff:130:0
+Prima Fila
+p:SkyItalia,f:40
+0e55:00820000:16a8:fbff:130:0
+Gestione Collegam. Telefonico
+p:SkyItalia,f:40
+38a5:00820000:0320:fbff:130:0
+Modalita' d'Acquisto
+p:SkyItalia,f:40
+2ab6:00820000:1838:fbff:130:0
+iadv appli4
+p:SkyItalia,f:40
+2ab8:00820000:1838:fbff:130:0
+iadv Video
+p:SkyItalia,f:40
+2ab9:00820000:1838:fbff:130:0
+i-Spot Puntoshop
+p:SkyItalia,f:40
+2aba:00820000:1838:fbff:130:0
+i-Spot Nokia Nseries
+p:SkyItalia,f:40
+2abb:00820000:1838:fbff:130:0
+iadv appli3
+p:SkyItalia,f:40
+29bd:00820000:22c4:013e:130:0
+HUMAX DOWNLOAD SVC
+p:HUMAX,f:40
+38be:00820000:0320:fbff:130:0
+GF Feed1
+p:SkyItalia,f:40
+38bf:00820000:0320:fbff:130:0
+SKY Assist active
+p:SkyItalia,f:40
+38c0:00820000:0320:fbff:130:0
+GF Feed2
+p:SkyItalia,f:40
+0dc4:00820000:15e0:fbff:130:0
+Zona Giochi
+p:SkyItalia,f:40
+0dc5:00820000:15e0:fbff:130:0
+Playjam
+p:SkyItalia,f:40
+38cd:00820000:0320:fbff:130:0
+Radio on Sky
+p:SkyItalia,f:40
+1fd1:00820000:189c:fbff:130:0
+SKY PASS
+p:SkyItalia,f:40
+38e2:00820000:0320:fbff:130:0
+BET ON SKY
+p:SkyItalia,f:40
+38e6:00820000:0320:fbff:130:0
+Better
+p:SkyItalia,f:40
+3be7:00820000:2260:fbff:130:0
+Music On SKY
+p:SkyItalia,f:40
+38e8:00820000:0320:fbff:130:0
+SNAI
+p:SkyItalia,f:40
+0ff2:00820000:2580:fbff:130:0
+Zona Bet Test
+p:SkyItalia,f:40
+0dfd:00820000:15e0:fbff:130:0
+SKY Play IT
+p:SkyItalia,f:40
+1003:00820000:2580:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2006:00820000:189c:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0e0e:00820000:15e0:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2e17:00820000:2198:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+251a:00820000:2774:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0e1c:00820000:0708:00c8:131:0
+XSI
+p:SKY,f:40
+3c1d:00820000:2260:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2c23:00820000:1a90:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+112e:00820000:2710:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2d4f:00820000:1a2c:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+3451:00820000:0064:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2b57:00820000:1900:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0e70:00820000:16a8:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2c87:00820000:1644:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0f89:00820000:251c:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0dab:00820000:1450:013e:131:0
+download
+p:Rai,f:40
+2db3:00820000:2008:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2bbf:00820000:19c8:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2ceb:00820000:170c:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2af7:00820000:1838:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+38ff:00820000:0320:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+1001:00820000:2580:fbff:132:0
+Dl961
+p:SkyItalia,f:40
+1002:00820000:2580:fbff:132:0
+Dl962
+p:SkyItalia,f:40
+0e0c:00820000:15e0:fbff:132:0
+Dl561
+p:SkyItalia,f:40
+0e0d:00820000:15e0:fbff:132:0
+Dl562
+p:SkyItalia,f:40
+2e15:00820000:2198:fbff:132:0
+Dl861
+p:SkyItalia,f:40
+2e16:00820000:2198:fbff:132:0
+Dl862
+p:SkyItalia,f:40
+2518:00820000:2774:fbff:132:0
+Dl1011
+p:SkyItalia,f:40
+2519:00820000:2774:fbff:132:0
+Dl1012
+p:SkyItalia,f:40
+2c21:00820000:1a90:fbff:132:0
+Dl681
+p:SkyItalia,f:40
+2c22:00820000:1a90:fbff:132:0
+Dl682
+p:SkyItalia,f:40
+112c:00820000:2710:fbff:132:0
+Dl1001
+p:SkyItalia,f:40
+112d:00820000:2710:fbff:132:0
+Dl1002
+p:SkyItalia,f:40
+292d:00820000:1edc:0071:132:0
+01 34 01 16
+p:Cyfrowy Polsat,f:40
+062e:00820000:2e18:00b0:132:0
+01 06 04 50
+p:OpenMux,f:40
+062f:00820000:2e18:00b0:132:0
+01 06 01 48
+p:,f:40
+0630:00820000:2e18:00b0:132:0
+01 07 04 50
+p:OpenMux,f:40
+0631:00820000:2e18:00b0:132:0
+01 07 01 48
+p:OpenMux,f:40
+0632:00820000:2e18:00b0:132:0
+01 08 04 50
+p:OpenMux,f:40
+0633:00820000:2e18:00b0:132:0
+01 08 01 48
+p:OpenMux,f:40
+0634:00820000:2e18:00b0:132:0
+01 60 04 65
+p:OpenMux,f:40
+0635:00820000:2e18:00b0:132:0
+01 60 01 65
+p:OpenMux,f:40
+0638:00820000:2e18:00b0:132:0
+01 46 04 65
+p:OpenMux,f:40
+0639:00820000:2e18:00b0:132:0
+01 46 01 65
+p:,f:40
+063a:00820000:2e18:00b0:132:0
+01 03 04 50
+p:OpenMux,f:40
+063b:00820000:2e18:00b0:132:0
+01 03 01 48
+p:,f:40
+063c:00820000:2e18:00b0:132:0
+01 03 06 23
+p:,f:40
+063d:00820000:2e18:00b0:132:0
+01 04 01 48
+p:,f:40
+063e:00820000:2e18:00b0:132:0
+01 04 04 50
+p:OpenMux,f:40
+2d49:00820000:1a2c:fbff:132:0
+Dl671
+p:SkyItalia,f:40
+2d4a:00820000:1a2c:fbff:132:0
+Dl672
+p:SkyItalia,f:40
+344e:00820000:0064:fbff:132:0
+DI11
+p:SkyItalia,f:40
+344f:00820000:0064:fbff:132:0
+Dl11
+p:SkyItalia,f:40
+3450:00820000:0064:fbff:132:0
+Dl12
+p:SkyItalia,f:40
+2b55:00820000:1900:fbff:132:0
+Dl641
+p:SkyItalia,f:40
+2b56:00820000:1900:fbff:132:0
+Dl642
+p:SkyItalia,f:40
+0e57:00820000:16a8:fbff:132:0
+Dl583
+p:SkyItalia,f:40
+0e59:00820000:16a8:fbff:132:0
+Dl581
+p:SkyItalia,f:40
+0e5a:00820000:16a8:fbff:132:0
+Dl582
+p:SkyItalia,f:40
+295f:00820000:1edc:0071:132:0
+SAMSUNG370
+p:Cyfrowy Polsat,f:40
+2c82:00820000:1644:fbff:132:0
+Dl571
+p:SkyItalia,f:40
+2c83:00820000:1644:fbff:132:0
+Dl572
+p:SkyItalia,f:40
+0f87:00820000:251c:fbff:132:0
+Dl951
+p:SkyItalia,f:40
+0f88:00820000:251c:fbff:132:0
+Dl952
+p:SkyItalia,f:40
+0f8a:00820000:251c:fbff:132:0
+Dl583
+p:SkyItalia,f:40
+2dae:00820000:2008:fbff:132:0
+Dl821
+p:SkyItalia,f:40
+2daf:00820000:2008:fbff:132:0
+Dl822
+p:SkyItalia,f:40
+2bbc:00820000:19c8:fbff:132:0
+Dl661
+p:SkyItalia,f:40
+2bbd:00820000:19c8:fbff:132:0
+Dl662
+p:SkyItalia,f:40
+1cd3:00820000:1ce8:0071:132:0
+Samsung2
+p:Cyfrowy Polsat,f:40
+1cd9:00820000:1ce8:0071:132:0
+01 41 01 06
+p:FLASH4285,f:40
+2ce6:00820000:170c:fbff:132:0
+Dl591
+p:SkyItalia,f:40
+2ce7:00820000:170c:fbff:132:0
+Dl592
+p:SkyItalia,f:40
+1fec:00820000:189c:fbff:132:0
+Dl631
+p:SkyItalia,f:40
+1fed:00820000:189c:fbff:132:0
+Dl632
+p:SkyItalia,f:40
+2af5:00820000:1838:fbff:132:0
+Dl621
+p:SkyItalia,f:40
+2af6:00820000:1838:fbff:132:0
+Dl622
+p:SkyItalia,f:40
+38fd:00820000:0320:fbff:132:0
+Dl81
+p:SkyItalia,f:40
+38fe:00820000:0320:fbff:132:0
+Dl82
+p:SkyItalia,f:40
+1004:00820000:2e18:00b0:135:0
+Guide
+p:,f:40
+170c:00820000:2bc0:00b0:135:0
+RADIO2000
+p:OpenMux,f:40
+1715:00820000:2e18:00b0:135:0
+Notification Débits
+p:OpenMux,f:40
+1e16:00820000:3db8:00b0:135:0
+quizz_Satisfaction
+p:OpenMux,f:40
+1d4c:00820000:2bc0:00b0:135:0
+Playin TV Outlist
+p:OpenMux,f:40
+294f:00820000:1edc:0071:135:0
+Test
+p:Cyfrowy Polsat,f:40
+1b5f:00820000:2d50:00b0:135:0
+Debits de jetons
+p:OpenMux,C:0500,f:40
+1969:00820000:2e18:00b0:135:0
+UPSELLING
+p:OpenMux,f:40
+1775:00820000:2c88:00b0:135:0
+Quizz_TF1
+p:OpenMux,f:40
+1c8c:00820000:2bc0:00b0:135:0
+Tests terminaux
+p:OpenMux,f:40
+189c:00820000:2e18:00b0:135:0
+Boutique Votre Abonnement
+p:OpenMux,f:40
+16a9:00820000:2ee0:00b0:135:0
+Météo Express 
+p:OpenMux,f:40
+12c0:00820000:2e18:00b0:135:0
+test-96-0
+p:OpenMux,f:40
+12c5:00820000:2e18:00b0:135:0
+opentst
+p:OpenMux,f:40
+17d4:00820000:2e18:00b0:135:0
+Votre_Contrat
+p:OpenMux,f:40
+05f0:00820000:2e18:00b0:135:0
+Equidia Outlist
+p:,f:40
+17d9:00820000:3db8:00b0:136:0
+CANAL+
+p:OpenMux,f:40
+17da:00820000:3db8:00b0:136:0
+CANAL+ DECALE
+p:OpenMux,f:40
+17db:00820000:3db8:00b0:136:0
+CANAL+ SPORT
+p:OpenMux,f:40
+17dc:00820000:3db8:00b0:136:0
+CANAL+ CINEMA
+p:OpenMux,f:40
+17dd:00820000:3db8:00b0:136:0
+CANAL+ HI-TECH
+p:OpenMux,f:40
+1518:00820000:2bc0:00b0:138:0
+X X L
+p:OpenMux,C:0500,f:40
+1521:00820000:2bc0:00b0:138:0
+PRIVATE SPICE
+p:OpenMux,C:0500,f:40
+0fa0:00820000:2ee0:00b0:138:0
+BANDIAGARA
+p:OpenMux,f:40
+18a1:00820000:2bc0:00b0:138:0
+Canal+
+p:OpenMux,f:40
+14b9:00820000:2bc0:00b0:138:0
+Playin TV
+p:OpenMux,f:40
+1af4:00820000:2bc0:00b0:138:0
+TPS & Vous
+p:,f:40
+11f8:00820000:3db8:00b0:138:0
+Mathilda
+p:OpenMux,f:40
+0a1f:00820000:2e18:00b0:139:0
+02 01 04 86
+p:OpenMux,f:40
+0a20:00820000:2e18:00b0:139:0
+02 01 01 84
+p:,f:40
+0a21:00820000:2e18:00b0:139:0
+02 02 04 86
+p:OpenMux,f:40
+0a22:00820000:2e18:00b0:139:0
+02 02 01 84
+p:,f:40
+0a25:00820000:2e18:00b0:139:0
+02 04 04 86
+p:OpenMux,f:40
+0a26:00820000:2e18:00b0:139:0
+02 04 01 84
+p:OpenMux,f:40
+0a27:00820000:2e18:00b0:139:0
+02 05 01 84
+p:OpenMux,f:40
+0a28:00820000:2e18:00b0:139:0
+02 05 04 86
+p:OpenMux,f:40
+0a29:00820000:2e18:00b0:139:0
+02 06 01 84
+p:OpenMux,f:40
+0a2a:00820000:2e18:00b0:139:0
+02 06 04 86
+p:OpenMux,f:40
+0a2b:00820000:2d50:00b0:139:0
+0208010a0F
+p:OpenMux,f:40
+0a2c:00820000:2d50:00b0:139:0
+0208041a0F
+p:OpenMux,f:40
+0e66:00820000:1ce8:0071:141:0
+EpgOpenTV
+p:Nagra,f:40
+8fff:00820000:1edc:0071:143:0
+EDCPS
+p:,f:40
+1cad:00820000:1ce8:0071:144:0
+0202000E
+p:Cyfrowy Polsat,f:40
+1cd6:00820000:1ce8:0071:144:0
+02010016
+p:Cyfrowy Polsat,f:40
+1d98:00820000:2f44:013e:145:0
+Eepg
+p:NetMed,f:40
+end
+Have a lot of bugs!
diff --git a/packages/enigma2/enigma2-defaultservices/lamedb.192 b/packages/enigma2/enigma2-defaultservices/lamedb.192
new file mode 100644 (file)
index 0000000..ba77330
--- /dev/null
@@ -0,0 +1,4290 @@
+eDVB services /3/
+transponders
+00c00000:03f0:0001
+       s 11317500:22000000:1:4:192:2
+/
+00c00000:03f3:0001
+       s 11362000:22000000:0:2:192:0:1:2:0:1
+/
+00c00000:03f8:0001
+       s 11435000:22000000:1:4:192:2
+/
+00c00000:03fa:0001
+       s 11479000:22000000:1:4:192:2
+/
+00c00000:03fc:0001
+       s 11508500:22000000:1:4:192:2
+/
+00c00000:03fe:0001
+       s 11538000:22000000:1:4:192:2
+/
+00c00000:0400:0001
+       s 11567500:22000000:1:4:192:2
+/
+00c00000:0402:0001
+       s 11597000:22000000:1:4:192:2
+/
+00c00000:0407:0001
+       s 11670750:22000000:0:4:192:2
+/
+00c00000:0408:0001
+       s 11685500:22000000:1:4:192:2
+/
+00c00000:040a:0001
+       s 10979000:22000000:1:4:192:2
+/
+00c00000:040e:0001
+       s 11038000:22000000:1:4:192:2
+/
+00c00000:0412:0001
+       s 11097000:22000000:1:4:192:2
+/
+00c00000:0416:0001
+       s 11156000:22000000:1:4:192:2
+/
+00c00000:041b:0001
+       s 10743750:22000000:0:4:192:2
+/
+00c00000:041d:0001
+       s 10773250:22000000:0:4:192:2
+/
+00c00000:041e:0001
+       s 10788000:22000000:1:4:192:2
+/
+00c00000:0420:0001
+       s 10817500:22000000:1:4:192:2
+/
+00c00000:0421:0001
+       s 10832000:22000000:0:4:192:2
+/
+00c00000:0422:0001
+       s 10847000:22000000:1:4:192:2
+/
+00c00000:0423:0001
+       s 10861750:22000000:0:4:192:2
+/
+00c00000:0424:0001
+       s 10876000:22000000:1:4:192:2
+/
+00c00000:0427:0001
+       s 10920750:22000000:0:4:192:2
+/
+00c00000:042a:0001
+       s 11739000:27500000:1:3:192:2
+/
+00c00000:042c:0001
+       s 11778000:27500000:1:3:192:2
+/
+00c00000:042e:0001
+       s 11817000:27500000:1:3:192:2
+/
+00c00000:0430:0001
+       s 11856000:27500000:1:3:192:2
+/
+00c00000:0431:0001
+       s 12109500:27500000:0:3:192:2
+/
+00c00000:0432:0001
+       s 11895000:27500000:1:3:192:2
+/
+00c00000:0434:0001
+       s 11934000:27500000:1:3:192:2
+/
+00c00000:0436:0001
+       s 11973000:27500000:1:3:192:2
+/
+00c00000:0437:0001
+       s 11953500:27500000:0:3:192:2
+/
+00c00000:0438:0001
+       s 12012000:27500000:1:3:192:2
+/
+00c00000:043a:0001
+       s 12051000:27500000:1:3:192:2
+/
+00c00000:043c:0001
+       s 12090000:27500000:1:3:192:2
+/
+00c00000:043e:0001
+       s 12129000:27500000:1:3:192:2
+/
+00c00000:0440:0001
+       s 12168000:27500000:1:3:192:2
+/
+00c00000:0441:0001
+       s 12187500:27500000:0:3:192:2
+/
+00c00000:0442:0001
+       s 12207000:27500000:1:3:192:2
+/
+00c00000:0443:0001
+       s 12226500:27500000:0:3:192:2
+/
+00c00000:0444:0001
+       s 12246000:27500000:1:3:192:2
+/
+00c00000:0445:0001
+       s 12265500:27500000:0:3:192:2
+/
+00c00000:0446:0001
+       s 12285000:27500000:1:3:192:2
+/
+00c00000:0447:0001
+       s 12304500:27500000:0:3:192:2
+/
+00c00000:0448:0001
+       s 12324000:27500000:1:3:192:2
+/
+00c00000:044a:0001
+       s 11758000:27500000:1:3:192:2
+/
+00c00000:044b:0001
+       s 12382500:27500000:0:3:192:2
+/
+00c00000:044c:0001
+       s 12402000:27500000:1:3:192:2
+/
+00c00000:044d:0001
+       s 11836500:27500000:0:3:192:2
+/
+00c00000:044e:0001
+       s 12441000:27500000:1:3:192:2
+/
+00c00000:0453:0001
+       s 12544750:22000000:0:4:192:2
+/
+00c00000:0454:0001
+       s 12551500:22000000:1:4:192:2
+/
+00c00000:0457:0001
+       s 12603750:22000000:0:4:192:2
+/
+00c00000:0458:0001
+       s 12610500:22000000:1:4:192:2
+/
+00c00000:0459:0001
+       s 12633250:22000000:0:4:192:2
+/
+00c00000:045a:0001
+       s 12640000:22000000:1:4:192:2
+/
+00c00000:045b:0001
+       s 12662750:22000000:0:4:192:2
+/
+00c00000:045d:0001
+       s 12692250:22000000:0:4:192:2
+/
+00c00000:045e:0001
+       s 12699000:22000000:1:4:192:2
+/
+00c00000:0460:0001
+       s 12728500:22000000:1:4:192:2
+/
+00c00000:04b1:0001
+       s 12421500:27500000:0:3:192:2
+/
+00c00000:04ff:0001
+       s 11992500:27500000:0:3:192:2
+/
+00c00000:0449:0035
+       s 12343500:27500000:0:3:192:2
+/
+00c00000:0451:0035
+       s 12515000:22000000:0:4:192:2
+/
+00c00000:0455:0035
+       s 12574000:22000000:0:4:192:2
+/
+00c00000:045c:0035
+       s 12669500:22000000:1:4:192:2
+/
+00c00000:045f:0035
+       s 12721750:22000000:0:4:192:2
+/
+00c00000:0001:0085
+       s 12070500:27500000:0:3:192:2
+/
+00c00000:0002:0085
+       s 11797500:27500000:0:3:192:2
+/
+00c00000:0003:0085
+       s 11719500:27500000:0:3:192:2
+/
+00c00000:0004:0085
+       s 12031500:27500000:0:3:192:2
+/
+00c00000:0005:0085
+       s 12460500:27500000:0:3:192:2
+/
+00c00000:0006:0085
+       s 11914500:27500000:0:9:192:2:1:1:0
+/
+00c00000:0007:0085
+       s 12148500:27500000:0:3:192:2
+/
+00c00000:0009:0085
+       s 11875500:27500000:0:3:192:2
+/
+00c00000:0011:0085
+       s 11758500:27500000:0:3:192:2
+/
+00c00000:0021:0085
+       s 12480000:27500000:1:3:192:2
+/
+end
+services
+75e8:00c00000:0422:0001:0:0
+
+p:,f:40
+75e9:00c00000:0422:0001:0:0
+
+p:,f:40
+75ea:00c00000:0422:0001:0:0
+
+p:,f:40
+75eb:00c00000:0422:0001:0:0
+
+p:,f:40
+75ec:00c00000:0422:0001:0:0
+
+p:,f:40
+0300:00c00000:0007:0085:1:0
+RNF
+p:BetaDigital,f:40
+0700:00c00000:0005:0085:1:0
+\86BLUCOM\87 DEMOKANAL
+p:BetaDigital,f:40
+1b00:00c00000:03fe:0001:1:0
+TELESUR
+p:GlobeCast Spain,f:40
+2200:00c00000:044c:0001:1:0
+REAL TIME
+p:CSAT,f:40
+7000:00c00000:0436:0001:1:0
+MTV Euro
+p:MTV Networks Europe,f:40
+7500:00c00000:0420:0001:1:0
+DCINE ESPAÑOL
+p:DCESP,f:40
+0201:00c00000:0004:0085:1:0
+EROTIK - \86AB 18!\87
+p:PREMIERE,C:1833,C:1831,C:1830,C:1810,f:40
+0301:00c00000:0007:0085:1:0
+\86Voyages\87 Television
+p:BetaDigital,f:40
+0701:00c00000:0005:0085:1:0
+\86D\87AS\86 VIERTE\87
+p:BetaDigital,f:40
+1901:00c00000:03fa:0001:1:0
+CANAL EVENEMENT
+p:CSAT,f:40
+2201:00c00000:044c:0001:1:0
+JETIX
+p:CSAT,f:40
+7001:00c00000:0436:0001:1:0
+MTV Germany
+p:MTV Networks Europe,f:40
+7501:00c00000:0420:0001:1:0
+CANAL COCINA
+p:CACOC,f:40
+0202:00c00000:0007:0085:1:0
+TIER.TV
+p:BetaDigital,f:40
+0302:00c00000:0007:0085:1:0
+.
+p:BetaDigital,f:40
+0702:00c00000:0005:0085:1:0
+\86JAMBA!\87 TV
+p:BetaDigital,f:40
+1902:00c00000:03fa:0001:1:0
+VIVOLTA
+p:CSAT,f:40
+2202:00c00000:044c:0001:1:0
+L'EQUIPE TV
+p:CSAT,f:40
+7002:00c00000:0436:0001:1:0
+MTV Pulse
+p:MTV Networks Europe,f:40
+7502:00c00000:0420:0001:1:0
+TVV INT.
+p:CCV,f:40
+7602:00c00000:0408:0001:1:0
+CNN+
+p:CNN+,f:40
+0203:00c00000:0004:0085:1:0
+MGM
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0303:00c00000:0007:0085:1:0
+.
+p:BetaDigital,f:40
+1903:00c00000:03fa:0001:1:0
+TELEREALITE
+p:CSAT,f:40
+2203:00c00000:044c:0001:1:0
+PLANETE NO LIMIT
+p:CSAT,f:40
+7003:00c00000:0436:0001:1:0
+MTV Idol
+p:MTV Networks Europe,f:40
+7503:00c00000:0420:0001:1:0
+FOX
+p:FOXGE,f:40
+7603:00c00000:0408:0001:1:0
+PRO TV INT
+p:DIGITAL+,f:40
+0204:00c00000:0003:0085:1:0
+PREMIERE \86NOSTALGIE\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0304:00c00000:0005:0085:1:0
+imusic TV
+p:BetaDigital,f:40
+1904:00c00000:03fa:0001:1:0
+BABY FIRST
+p:CSAT,f:40
+2204:00c00000:044c:0001:1:0
+NATIONAL GEO
+p:CSAT,f:40
+7004:00c00000:0436:0001:1:0
+VIVA Germany
+p:MTV Networks Europe,f:40
+7504:00c00000:0420:0001:1:0
+AXN
+p:AXN,f:40
+7604:00c00000:0408:0001:1:0
+RAD. ROMANIA
+p:DIGITAL+,f:40
+0305:00c00000:0007:0085:1:0
+BD 4
+p:BetaDigital,C:1833,f:40
+1905:00c00000:03fa:0001:1:0
+PLANETE JUSTICE
+p:CSAT,f:40
+2205:00c00000:044c:0001:1:0
+C CINEMA CLASSIC
+p:CSAT,f:40
+7005:00c00000:0436:0001:1:0
+COMEDY CENTRAL Germany
+p:MTV Networks Europe,f:40
+7505:00c00000:0420:0001:1:0
+TVE 1
+p:TVE 1,f:40
+0206:00c00000:0001:0085:1:0
+\86GOLDSTAR\87 TV
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0306:00c00000:0007:0085:1:0
+\86GOD \87Channel
+p:BetaDigital,f:40
+2206:00c00000:044c:0001:1:0
+NRJ 12
+p:CSAT,f:40
+7506:00c00000:0420:0001:1:0
+SCI FI
+p:DIGITAL +,f:40
+0307:00c00000:0007:0085:1:0
+Der \86Schmuck\87kanal
+p:BetaDigital,f:40
+2207:00c00000:044c:0001:1:0
+C CINEMA FAMIZ
+p:CSAT,f:40
+7007:00c00000:0436:0001:1:0
+MTV NL
+p:MTV Networks Europe,f:40
+7607:00c00000:0408:0001:1:0
+S.MODELO 08
+p:DIGITAL+,f:40
+0008:00c00000:0001:0085:1:0
+PREMIERE \86START\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0308:00c00000:0005:0085:1:0
+GIGA
+p:BetaDigital,f:40
+2f08:00c00000:0441:0001:1:0
+\86S\87uper\86 RTL\87
+p:RTL World,f:40
+7008:00c00000:0436:0001:1:0
+NICK Germany
+p:MTV Networks Europe,f:40
+0009:00c00000:0002:0085:1:0
+\86PREM\87IERE\86 4\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2009:00c00000:0430:0001:1:0
+CANAL+
+p:CSAT,f:40
+2f09:00c00000:0441:0001:1:0
+Super RTL CH
+p:RTL,f:40
+7009:00c00000:0436:0001:1:0
+MTV ENTERTAINMENT (P)
+p:MTV Networks Europe,f:40
+7509:00c00000:0420:0001:1:0
+ECUAVISA INT
+p:Digital+,f:40
+000a:00c00000:0002:0085:1:0
+\86PREM\87IERE\86 1\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200a:00c00000:0430:0001:1:0
+CANAL+ DECALE
+p:CSAT,f:40
+700a:00c00000:0436:0001:1:0
+NICK PREMIUM (P)
+p:MTV Networks Europe,f:40
+750a:00c00000:0420:0001:1:0
+CARACOL TV
+p:digital TV,f:40
+000b:00c00000:0002:0085:1:0
+\86PREM\87IERE\86 2\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200b:00c00000:0430:0001:1:0
+CANAL+ CINEMA
+p:CSAT,f:40
+000c:00c00000:0011:0085:1:0
+\86ANIMAL\87 PLANET
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200c:00c00000:0430:0001:1:0
+CANAL+ HI-TECH
+p:CSAT,f:40
+760c:00c00000:0408:0001:1:0
+TCM CLÁSICO
+p:CMACLS,f:40
+000d:00c00000:0011:0085:1:0
+DISCOVERY \86GESCHICHTE\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+000e:00c00000:0011:0085:1:0
+\86DISCOVERY\87 CHANNEL
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200e:00c00000:0430:0001:1:0
+C CINEMA PREMIER
+p:CSAT,f:40
+500e:00c00000:0447:0001:1:0
+UPC Direct Radio
+p:UPC Direct,f:40
+760e:00c00000:0408:0001:1:0
+TV GALICIA
+p:DIGITAL+,f:40
+000f:00c00000:0011:0085:1:0
+FOCUS \86GESUND\87HEIT
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200f:00c00000:0430:0001:1:0
+DISNEY CHANNEL
+p:CSAT,f:40
+500f:00c00000:0447:0001:1:0
+Game 3
+p:chellomedia IS,f:40
+0010:00c00000:0002:0085:1:0
+PREMIERE \86SERIE\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2010:00c00000:0430:0001:1:0
+CANAL+ SPORT
+p:CSAT,f:40
+5010:00c00000:0447:0001:1:0
+Game 2
+p:chellomedia IS,f:40
+0011:00c00000:0003:0085:1:0
+PREMIERE \86SPORT PORTAL\87
+p:PREMIERE,C:1833,C:1830,f:40
+2011:00c00000:0430:0001:1:0
+EQUIDIA
+p:CSAT,f:40
+2211:00c00000:044c:0001:1:0
+NRJ 12
+p:CSAT,f:40
+5011:00c00000:0447:0001:1:0
+Game 1
+p:chellomedia IS,f:40
+0012:00c00000:0004:0085:1:0
+PREMIERE \86DIREKT\87
+p:PREMIERE,f:40
+5012:00c00000:0447:0001:1:0
+Games Portal
+p:UPC Direct,f:40
+0013:00c00000:0011:0085:1:0
+\86JUNIOR\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+5013:00c00000:0447:0001:1:0
+UPC_EPG
+p:UPC Direct,f:40
+0014:00c00000:0003:0085:1:0
+PREMIERE \86FILMFEST\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+5014:00c00000:0447:0001:1:0
+Guide
+p:UPC Direct,f:40
+0015:00c00000:0011:0085:1:0
+\86B\87EATE\86-UHSE\87.TV
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2015:00c00000:0430:0001:1:0
+CANAL+ HI-TECH.
+p:CSAT,f:40
+0016:00c00000:0001:0085:1:0
+\86HEIMAT\87KANAL
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0017:00c00000:0002:0085:1:0
+PREMIERE \86KRIMI\87
+p:PREMIERE,C:1833,C:1830,f:40
+2017:00c00000:0430:0001:1:0
+SCI FI
+p:CSAT,f:40
+0018:00c00000:0011:0085:1:0
+CLASSICA
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+001b:00c00000:0001:0085:1:0
+RTL CRIME
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+001c:00c00000:0011:0085:1:0
+JETIX
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2f1c:00c00000:0441:0001:1:0
+VOX
+p:RTL World,f:40
+001d:00c00000:0001:0085:1:0
+PASSION
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+201d:00c00000:0430:0001:1:0
+CANAL+
+p:CSAT,f:40
+251d:00c00000:0440:0001:1:0
+TF6
+p:CSAT,f:40
+2f1d:00c00000:0441:0001:1:0
+VOX CH
+p:RTL,f:40
+251e:00c00000:0440:0001:1:0
+USHUAIA TV
+p:CSAT,f:40
+191f:00c00000:03fa:0001:1:0
+PLAYIN'Tvi
+p:CSAT,f:40
+1c1f:00c00000:0451:0035:1:0
+EPG
+p:CANALDIGITAAL,f:40
+251f:00c00000:0440:0001:1:0
+EUROSPORT 2
+p:CSAT,f:40
+0020:00c00000:0021:0085:1:0
+\86Sonnen\87klar \86TV\87
+p:PREMIERE,f:40
+0021:00c00000:0007:0085:1:0
+PFH
+p:,C:1810,f:40
+2521:00c00000:0440:0001:1:0
+C CINEMA 16/9
+p:CSAT,f:40
+4e21:00c00000:043a:0001:1:0
+ProSieben Schweiz
+p:ProSiebenSat.1,f:40
+0022:00c00000:0011:0085:1:0
+\86DISNEY\87 CHANNEL
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+4e22:00c00000:043a:0001:1:0
+ProSieben Austria
+p:ProSiebenSat.1,f:40
+2523:00c00000:0440:0001:1:0
+PIWI
+p:CSAT,f:40
+4e23:00c00000:043a:0001:1:0
+Kabel 1 Schweiz
+p:ProSiebenSat.1,f:40
+7023:00c00000:0402:0001:1:0
+Sky News
+p:BT,f:40
+0024:00c00000:0004:0085:1:0
+SCI FI
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2524:00c00000:0440:0001:1:0
+EXTREME SPORTS
+p:CSAT,f:40
+2724:00c00000:0402:0001:1:0
+DW-TV
+p:Deutsche Telekom AG,f:40
+4e24:00c00000:043a:0001:1:0
+Kabel 1 Austria
+p:ProSiebenSat.1,f:40
+2525:00c00000:0440:0001:1:0
+FRANCE 4
+p:CSAT,f:40
+4e25:00c00000:043a:0001:1:0
+SAT.1 A
+p:ProSiebenSat.1,f:40
+2526:00c00000:0440:0001:1:0
+
+p:CSAT,f:40
+4e26:00c00000:043a:0001:1:0
+SAT.1 CH
+p:ProSiebenSat.1,f:40
+2527:00c00000:0440:0001:1:0
+ENCYCLOPEDIA
+p:CSAT,f:40
+4e27:00c00000:043a:0001:1:0
+PULS 4 Austria
+p:ProSiebenSat.1,f:40
+0028:00c00000:0021:0085:1:0
+\86HSE24\87
+p:BetaDigital,f:40
+7728:00c00000:0416:0001:1:0
+PEOPLE+ARTS
+p:P&A,f:40
+0029:00c00000:0003:0085:1:0
+PREMIERE \86FILMCLASSICS\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+6e29:00c00000:0431:0001:1:0
+EinsExtra-alt
+p:ARD,f:40
+7729:00c00000:0416:0001:1:0
+VIAJAR
+p:VJR,f:40
+002a:00c00000:0004:0085:1:0
+\8613 TH\87 STREET
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+6e2a:00c00000:0431:0001:1:0
+EinsFestival-alt
+p:ARD,f:40
+772a:00c00000:0416:0001:1:0
+PAR. COMEDY
+p:NC,f:40
+002b:00c00000:0002:0085:1:0
+\86PREM\87IERE\86 3\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+6e2b:00c00000:0431:0001:1:0
+EinsPlus-alt
+p:ARD,f:40
+772b:00c00000:0416:0001:1:0
+CAZA Y PESCA
+p:CAZPES,f:40
+6e2c:00c00000:0431:0001:1:0
+alt (MDR FERNSEHEN)
+p:ARD,f:40
+332d:00c00000:045b:0001:1:0
+TW1
+p:ORF,f:40
+6e2d:00c00000:0431:0001:1:0
+rbb Brandenburg
+p:ARD,f:40
+772d:00c00000:0416:0001:1:0
+LA 2
+p:La2,f:40
+002e:00c00000:0021:0085:1:0
+glück TV
+p:BetaDigital,f:40
+272e:00c00000:0402:0001:1:0
+CNBC Europe
+p:CNBC,f:40
+332e:00c00000:045b:0001:1:0
+GoTV
+p:GoTV,f:40
+6e2e:00c00000:0431:0001:1:0
+rbb Berlin
+p:ARD,f:40
+772e:00c00000:0416:0001:1:0
+CALLE 13
+p:CL13,f:40
+f22e:00c00000:0421:0001:1:0
+RTBF SAT
+p:RTBF,f:40
+002f:00c00000:0021:0085:1:0
+\86DAF\87-AnlegerTV
+p:BetaDigital,f:40
+332f:00c00000:045b:0001:1:0
+ALL FUN TV
+p:-,f:40
+772f:00c00000:0416:0001:1:0
+BLOOMBERG
+p:BL,f:40
+0030:00c00000:0005:0085:1:0
+ERF
+p:BetaDigital,f:40
+2f30:00c00000:0441:0001:1:0
+RTL Shop
+p:RTL World,f:40
+3330:00c00000:045b:0001:1:0
+INNSAT.TV
+p:Innsat,f:40
+7730:00c00000:0416:0001:1:0
+COSMOPOLITAN
+p:COSMO,f:40
+3331:00c00000:045b:0001:1:0
+NASN (P)
+p:PREMIERE,f:40
+7031:00c00000:041b:0001:1:0
+EinsExtra
+p:ARD,f:40
+7731:00c00000:0416:0001:1:0
+R. MADRID TV
+p:Digital+,f:40
+0032:00c00000:0001:0085:1:0
+1-2-3.tv
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+3332:00c00000:045b:0001:1:0
+AUSTRIA 9 TV
+p:AUSTRIA 9 TV,f:40
+7032:00c00000:041b:0001:1:0
+EinsFestival
+p:ARD,f:40
+7732:00c00000:0416:0001:1:0
+MÉTEO
+p:MET,f:40
+0033:00c00000:0021:0085:1:0
+TELE 5
+p:BetaDigital,f:40
+2333:00c00000:0400:0001:1:0
+CANAL ALGERIE
+p:CANALSATELLITE,f:40
+3333:00c00000:045b:0001:1:0
+Visit-X.TV
+p:-,f:40
+7033:00c00000:041b:0001:1:0
+EinsPlus
+p:ARD,f:40
+0034:00c00000:0009:0085:1:0
+\86STAR XL\87 LIVE
+p:PREMIERE,C:1831,C:1830,C:1801,C:1722,C:1702,f:40
+2334:00c00000:0400:0001:1:0
+TV5MONDE
+p:CANALSATELLITE,f:40
+3334:00c00000:045b:0001:1:0
+Spass im TV
+p:-,f:40
+7034:00c00000:041b:0001:1:0
+arte
+p:ARD,f:40
+7734:00c00000:0416:0001:1:0
+VIAJAR
+p:VJR,f:40
+0035:00c00000:0007:0085:1:0
+\86PREM\87IERE\86 A\87ustria
+p:PREMIERE,C:1833,f:40
+2135:00c00000:0442:0001:1:0
+FRANCE 5
+p:CSAT,f:40
+3335:00c00000:045b:0001:1:0
+NASN
+p:arena,f:40
+7035:00c00000:041b:0001:1:0
+Phoenix
+p:ARD,f:40
+7735:00c00000:0416:0001:1:0
+EHS
+p:Digital+,f:40
+0036:00c00000:0007:0085:1:0
+Q TV SHOP
+p:BetaDigital,f:40
+2136:00c00000:0442:0001:1:0
+TV BREIZH
+p:CSAT,f:40
+2336:00c00000:0400:0001:1:0
+Al Masriya
+p:CANALSATELLITE,f:40
+3336:00c00000:045b:0001:1:0
+Bundesliga 9
+p:arena,f:40
+2337:00c00000:0400:0001:1:0
+RAI 1
+p:CANALSATELLITE,f:40
+2138:00c00000:0442:0001:1:0
+PLANETE THALASSA
+p:CSAT,f:40
+3138:00c00000:0459:0001:1:0
+Bahn TV
+p:T-Systems,f:40
+3338:00c00000:045b:0001:1:0
+AKTIV DIREKT TV
+p:-,f:40
+2339:00c00000:0400:0001:1:0
+RTPI
+p:CANALSATELLITE,f:40
+2539:00c00000:0440:0001:1:0
+FRANCE 4
+p:CSAT,f:40
+3139:00c00000:0459:0001:1:0
+K-TV
+p:T-Systems,f:40
+3339:00c00000:045b:0001:1:0
+Kuren und Wellness
+p:-,f:40
+213a:00c00000:0442:0001:1:0
+PLAYBOY TV
+p:CSAT,f:40
+233a:00c00000:0400:0001:1:0
+TV7
+p:CANALSATELLITE,f:40
+2f3a:00c00000:0441:0001:1:0
+n-tv
+p:RTL World,f:40
+333a:00c00000:045b:0001:1:0
+Uschi TV
+p:StarSat,f:40
+6e3a:00c00000:0431:0001:1:0
+ARD-Online-Kanal
+p:ARD,f:40
+233b:00c00000:0400:0001:1:0
+ARTE
+p:CANALSATELLITE,f:40
+333b:00c00000:045b:0001:1:0
+Uschi´s Schwestern
+p:StarSat,f:40
+003c:00c00000:0009:0085:1:0
+\86KINOWELT\87 TV\86 (P)\87
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+213c:00c00000:0442:0001:1:0
+FRANCE Ô
+p:CSAT,f:40
+313c:00c00000:0459:0001:1:0
+dhd24.tv
+p:Media Broadcast,f:40
+333c:00c00000:045b:0001:1:0
+Liebeskanal
+p:StarSat,f:40
+003d:00c00000:0009:0085:1:0
+TCM (a/P)
+p:arena/Premiere,C:1830,C:1801,C:1702,f:40
+233d:00c00000:0400:0001:1:0
+Al Jazeera
+p:CANALSATELLITE,f:40
+333d:00c00000:045b:0001:1:0
+Weiber TV
+p:StarSat,f:40
+6e3d:00c00000:0431:0001:1:0
+ARD-TEST-1
+p:ARD,f:40
+003e:00c00000:0009:0085:1:0
+AXN (a/P)
+p:arena/Premiere,C:1830,C:1801,C:1702,f:40
+233e:00c00000:0400:0001:1:0
+TVEi
+p:CANALSATELLITE,f:40
+313e:00c00000:0459:0001:1:0
+Lustkanal.TV
+p:Media Broadcast,f:40
+333e:00c00000:045b:0001:1:0
+Liebesrundfunk
+p:StarSat,f:40
+6e3e:00c00000:0431:0001:1:0
+ARD-TEST-2
+p:ARD,f:40
+003f:00c00000:0009:0085:1:0
+\86ROMANCE\87 TV
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+233f:00c00000:0400:0001:1:0
+ARTE
+p:,f:40
+2f3f:00c00000:0441:0001:1:0
+RTL SHOP
+p:RTL World,f:40
+333f:00c00000:045b:0001:1:0
+Kurven-Reich
+p:StarSat,f:40
+0040:00c00000:0009:0085:1:0
+\86DISNEY P\87LAYHOUSE\86 (P)\87
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+2340:00c00000:0400:0001:1:0
+TRT International
+p:,f:40
+3340:00c00000:045b:0001:1:0
+Heiße Nummer
+p:StarSat,f:40
+6e40:00c00000:0431:0001:1:0
+NDR FS MV
+p:ARD,f:40
+0041:00c00000:0009:0085:1:0
+\86DISNEY T\87OON\86 (P)\87
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+1f41:00c00000:042e:0001:1:0
+SEASONS
+p:CSAT,f:40
+6e41:00c00000:0431:0001:1:0
+NDR FS HH
+p:ARD,f:40
+0042:00c00000:0009:0085:1:0
+\86BOOM\87ERANG\86 (a/P)\87
+p:arena/Premiere,C:1830,C:1801,C:1702,f:40
+1f42:00c00000:042e:0001:1:0
+C CINEMA EMOTION
+p:CSAT,f:40
+2742:00c00000:0402:0001:1:0
+BBC World
+p:BBC,f:40
+6e42:00c00000:0431:0001:1:0
+NDR FS NDS
+p:ARD,f:40
+0043:00c00000:0009:0085:1:0
+\86E.CLIPS\87 (P)
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+1f43:00c00000:042e:0001:1:0
+C CINEMA FRISSON
+p:CSAT,f:40
+2143:00c00000:0442:0001:1:0
+A LA CARTE 12
+p:CSAT,f:40
+6e43:00c00000:0431:0001:1:0
+NDR FS SH
+p:ARD,f:40
+0044:00c00000:0009:0085:1:0
+.
+p:BetaDigital,C:1830,C:1801,C:1702,f:40
+1f44:00c00000:042e:0001:1:0
+EURONEWS
+p:CSAT,f:40
+2144:00c00000:0442:0001:1:0
+OM'TV
+p:CSAT,f:40
+2f44:00c00000:0454:0001:1:0
+QVC Deutschland
+p:QVC,f:40
+3144:00c00000:0459:0001:1:0
+Erotik 24
+p:T-Systems,f:40
+6e44:00c00000:0431:0001:1:0
+MDR Sachsen
+p:ARD,f:40
+0045:00c00000:0009:0085:1:0
+\86s\87port\86d\87igital\86.tv\87
+p:BetaDigital,C:1830,f:40
+1f45:00c00000:042e:0001:1:0
+PARIS PREMIERE
+p:CSAT,f:40
+2145:00c00000:0442:0001:1:0
+OLTV
+p:CSAT,f:40
+6e45:00c00000:0431:0001:1:0
+MDR S-Anhalt
+p:ARD,f:40
+6f45:00c00000:0445:0001:1:0
+Radio Bremen TV-alt
+p:ARD,f:40
+0046:00c00000:0007:0085:1:0
+\86Alpen\87glühen \86TVX\87
+p:BetaDigital,C:1830,C:1801,C:1702,f:40
+1f46:00c00000:042e:0001:1:0
+JIMMY
+p:CSAT,f:40
+2346:00c00000:0400:0001:1:0
+2M Maroc
+p:CANALSATELLITE,f:40
+3146:00c00000:0459:0001:1:0
+rhein main tv
+p:T-Systems,f:40
+6e46:00c00000:0431:0001:1:0
+MDR Thüringen
+p:ARD,f:40
+6f46:00c00000:0445:0001:1:0
+SR Fernsehen
+p:ARD,f:40
+0047:00c00000:0007:0085:1:0
+Service 12
+p:BetaDigital,f:40
+1f47:00c00000:042e:0001:1:0
+MEZZO
+p:CSAT,f:40
+3147:00c00000:0459:0001:1:0
+Deutsche Girls 2
+p:T-Systems,f:40
+6e47:00c00000:0431:0001:1:0
+SWR Fernsehen RP
+p:ARD,f:40
+6f47:00c00000:0445:0001:1:0
+BR-alpha
+p:ARD,f:40
+0048:00c00000:0005:0085:1:0
+.
+p:BetaDigital,f:40
+1f48:00c00000:042e:0001:1:0
+LA CHAINE METEO
+p:CSAT,f:40
+3148:00c00000:0459:0001:1:0
+Gems TV
+p:T-Systems,f:40
+0049:00c00000:0005:0085:1:0
+.
+p:BetaDigital,f:40
+1f49:00c00000:042e:0001:1:0
+SPORT+
+p:CSAT,f:40
+2649:00c00000:0460:0001:1:0
+FR3 CAEN
+p:CSAT,f:40
+004a:00c00000:0005:0085:1:0
+.
+p:BetaDigital,f:40
+1f4a:00c00000:042e:0001:1:0
+I>TELE
+p:CSAT,f:40
+264a:00c00000:0460:0001:1:0
+FR3 NANTES
+p:CSAT,f:40
+314a:00c00000:0459:0001:1:0
+Dreamgirls.TV
+p:T-Systems,f:40
+004b:00c00000:0005:0085:1:0
+3A TV
+p:BetaDigital,f:40
+1f4b:00c00000:042e:0001:1:0
+HISTOIRE
+p:CSAT,f:40
+264b:00c00000:0460:0001:1:0
+FR3 NICE
+p:CSAT,f:40
+314b:00c00000:0459:0001:1:0
+Erotik Sat
+p:T-Systems,f:40
+004c:00c00000:0021:0085:1:0
+\86e\87qui\868\87
+p:BetaDigital,f:40
+1f4c:00c00000:042e:0001:1:0
+MEZZO.
+p:CSAT,f:40
+264c:00c00000:0460:0001:1:0
+FR3 ORLEANS
+p:CSAT,f:40
+274c:00c00000:0402:0001:1:0
+TV5MONDE EUROPE
+p:TV5MONDE,f:40
+314c:00c00000:0459:0001:1:0
+123Damenwahl
+p:T-Systems,f:40
+004d:00c00000:0021:0085:1:0
+.
+p:BetaDigital,f:40
+1c4d:00c00000:0457:0001:1:0
+IP4_slides
+p:SES ASTRA,f:40
+1f4d:00c00000:042e:0001:1:0
+NCMESS
+p:CSAT,f:40
+264d:00c00000:0460:0001:1:0
+FR3 DIJON
+p:CSAT,f:40
+314d:00c00000:0459:0001:1:0
+SexySat
+p:T-Systems,f:40
+4f4d:00c00000:0447:0001:1:0
+\86Gal\87axie \86Sport\87
+p:UPC Direct,f:40
+264e:00c00000:0460:0001:1:0
+FR3 POITIERS
+p:CSAT,f:40
+274e:00c00000:0402:0001:1:0
+Best of shopping
+p:GlobeCast,f:40
+314e:00c00000:0459:0001:1:0
+paradise
+p:T-Systems,f:40
+4f4e:00c00000:0447:0001:1:0
+\86Animal\87 \86Pl\87anet
+p:UPC Direct,f:40
+264f:00c00000:0460:0001:1:0
+FR3 REIMS
+p:CSAT,f:40
+274f:00c00000:0402:0001:1:0
+M6 BOUTIQUE LA CHAINE
+p:Globecast,f:40
+314f:00c00000:0459:0001:1:0
+Date Line
+p:T-Systems,f:40
+4f4f:00c00000:0447:0001:1:0
+\86Disc\87overy CE
+p:UPC Direct,f:40
+2650:00c00000:0460:0001:1:0
+FR3 GRENOBLE
+p:CSAT,f:40
+3150:00c00000:0459:0001:1:0
+Fotohandy
+p:T-Systems,f:40
+4f50:00c00000:0447:0001:1:0
+\86JimJam\87
+p:UPC Direct,f:40
+2651:00c00000:0460:0001:1:0
+FR3 LILLE
+p:CSAT,f:40
+3151:00c00000:0459:0001:1:0
+Mobile Sex
+p:T-Systems,f:40
+4f51:00c00000:0447:0001:1:0
+\86Jetix/Jetix Max\87
+p:UPC Direct,f:40
+2652:00c00000:0460:0001:1:0
+FR3 STRASBOURG
+p:CSAT,f:40
+3152:00c00000:0459:0001:1:0
+jeden Tag x
+p:T-Systems,f:40
+4f52:00c00000:0447:0001:1:0
+\86Nat\87 \86Geo\87
+p:UPC Direct,f:40
+2653:00c00000:0460:0001:1:0
+FR3 MONTPELLIER
+p:CSAT,f:40
+3153:00c00000:0459:0001:1:0
+Seitensprung.TV
+p:T-Systems,f:40
+4f53:00c00000:0447:0001:1:0
+\86HBO Comedy\87
+p:UPC Direct,f:40
+2654:00c00000:0460:0001:1:0
+FR3 VIA STELLA
+p:CSAT,f:40
+3154:00c00000:0459:0001:1:0
+Rundum Sex TV
+p:T-Systems,f:40
+4f54:00c00000:0447:0001:1:0
+\86Hall\87mark
+p:UPC Direct,f:40
+1f55:00c00000:042e:0001:1:0
+I>TELE
+p:CSAT,f:40
+3155:00c00000:0459:0001:1:0
+Traumgirls.TV
+p:T-Systems,f:40
+4f55:00c00000:0447:0001:1:0
+\86Hustler TV\87
+p:UPC Direct,f:40
+3156:00c00000:0459:0001:1:0
+Das Erotische TV
+p:T-Systems,f:40
+4f56:00c00000:0447:0001:1:0
+\86Zone\87Reality\87
+p:UPC Direct,f:40
+4f57:00c00000:0447:0001:1:0
+\86Ex\87treme \86Sports\87
+p:UPC Direct,f:40
+2f58:00c00000:0454:0001:1:0
+LibertyTV FR
+p:LibertyTV.com,f:40
+3158:00c00000:0459:0001:1:0
+Peep TV
+p:T-Systems,f:40
+2f59:00c00000:0454:0001:1:0
+Medi1SAT
+p:PRVDR,f:40
+3159:00c00000:0459:0001:1:0
+Manneskraft TV NEU
+p:Media Broadcast,f:40
+2f5a:00c00000:0454:0001:1:0
+[tru:] young tv
+p:Bibel TV,f:40
+315a:00c00000:0459:0001:1:0
+Supreme Master TV
+p:T-Systems,f:40
+2f5b:00c00000:0454:0001:1:0
+eUrotic NEU
+p:Neterra,f:40
+315b:00c00000:0459:0001:1:0
+phab 16
+p:T-Systems,f:40
+4f5b:00c00000:044b:0001:1:0
+\86CT1\87
+p:UPC Direct,f:40
+1b5c:00c00000:03fc:0001:1:0
+DEMAIN TV
+p:GlobeCast,f:40
+315c:00c00000:0459:0001:1:0
+dhd24 plus
+p:Media Broadcast,f:40
+445c:00c00000:0453:0001:1:0
+SAT.1
+p:ProSiebenSat.1,f:40
+4f5c:00c00000:044b:0001:1:0
+\86CT24\87
+p:UPC Direct,f:40
+1b5d:00c00000:03fc:0001:1:0
+NRJ Paris
+p:GCE,f:40
+315d:00c00000:0459:0001:1:0
+Top Girl Sex TV NEU
+p:Media Broadcast,f:40
+445d:00c00000:0453:0001:1:0
+ProSieben
+p:ProSiebenSat.1,f:40
+4f5d:00c00000:044b:0001:1:0
+\86NOVA Cinema\87
+p:UPC Direct,f:40
+315e:00c00000:0459:0001:1:0
+Gratis Hot TV NEU
+p:Media Broadcast,f:40
+335e:00c00000:045b:0001:1:0
+Telesünde
+p:StarSat,f:40
+445e:00c00000:0453:0001:1:0
+kabel eins
+p:ProSiebenSat.1,f:40
+4f5e:00c00000:044b:0001:1:0
+\86CT2\87
+p:UPC Direct,f:40
+1b5f:00c00000:03fc:0001:1:0
+POPULAR TV
+p:OVERON,f:40
+335f:00c00000:045b:0001:1:0
+Piep Show
+p:StarSat,f:40
+445f:00c00000:0453:0001:1:0
+N24
+p:ProSiebenSat.1,f:40
+4f5f:00c00000:044b:0001:1:0
+\86TV Markiza\86
+p:UPC Direct,f:40
+1b60:00c00000:03fc:0001:1:0
+CUBAVISION
+p:GCE,f:40
+3360:00c00000:045b:0001:1:0
+Flirtrepublik
+p:StarSat,f:40
+4460:00c00000:0453:0001:1:0
+9Live
+p:ProSiebenSat.1,f:40
+4f60:00c00000:044b:0001:1:0
+\86TV JOJ\86
+p:UPC Direct,f:40
+1b61:00c00000:03fc:0001:1:0
+BFM TV
+p:GLOBECAST,f:40
+2261:00c00000:0438:0001:1:0
+FRANCE 2
+p:CSAT,f:40
+4461:00c00000:0453:0001:1:0
+Sat.1 Comedy
+p:ProSiebenSat.1,C:1830,C:1801,C:1702,f:40
+4f61:00c00000:044b:0001:1:0
+\86TV Nova\87
+p:UPC Direct,f:40
+1b62:00c00000:03fc:0001:1:0
+REDERECORD
+p:GCE,f:40
+1c62:00c00000:0457:0001:1:0
+STB Comag
+p:SES ASTRA,f:40
+2262:00c00000:0438:0001:1:0
+FRANCE 3
+p:CSAT,f:40
+4462:00c00000:0453:0001:1:0
+kabel eins classics
+p:ProSiebenSat.1,C:1830,C:1801,C:1702,f:40
+4f62:00c00000:044b:0001:1:0
+\86XXX\87
+p:UPC Direct,f:40
+1b63:00c00000:03fc:0001:1:0
+ARIRANG TV
+p:GlobeCast,f:40
+4f63:00c00000:044b:0001:1:0
+\86Prima TV\87
+p:UPC Direct,f:40
+1b64:00c00000:03fc:0001:1:0
+AL JAZEERA ENG
+p:GCE,f:40
+2264:00c00000:0438:0001:1:0
+A LA CARTE 11
+p:CSAT,f:40
+4f64:00c00000:044b:0001:1:0
+DOQ
+p:UPC Direct,f:40
+7564:00c00000:0412:0001:1:0
+BARÇA TV
+p:BARNA,f:40
+1b65:00c00000:03fc:0001:1:0
+EXTREMADURA TV
+p:OVERON,f:40
+4f65:00c00000:044b:0001:1:0
+\86Filmmuzeum\86
+p:UPC Direct,f:40
+7565:00c00000:0412:0001:1:0
+TAQUILLA 5
+p:TQ5,f:40
+4f66:00c00000:044b:0001:1:0
+\86CT4 Sport\87
+p:UPC Direct,f:40
+6d66:00c00000:0437:0001:1:0
+ZDF
+p:ZDFvision,f:40
+7566:00c00000:0412:0001:1:0
+TAQUILLA 6
+p:TQ6,f:40
+2267:00c00000:0438:0001:1:0
+TRACE TV
+p:CSAT,f:40
+4f67:00c00000:04ff:0001:1:0
+\86Echo TV\87
+p:UPC Direct,f:40
+6d67:00c00000:0437:0001:1:0
+3sat
+p:ZDFvision,f:40
+7567:00c00000:0412:0001:1:0
+TAQUILLA 7
+p:TQ7,f:40
+2268:00c00000:0438:0001:1:0
+TELE MELODY
+p:CSAT,f:40
+4f68:00c00000:04ff:0001:1:0
+\86HBO2\87
+p:UPC Direct,f:40
+6d68:00c00000:0437:0001:1:0
+KiKa
+p:ZDFvision,f:40
+6f68:00c00000:042c:0001:1:0
+Spare 2
+p:TBS,f:40
+7468:00c00000:03f0:0001:1:0
+CANAL ODISEA
+p:Digital+,f:40
+7568:00c00000:0412:0001:1:0
+TAQUILLA X
+p:TQ10,f:40
+2069:00c00000:0430:0001:1:0
+DOWNLOAD TNTSAT STRONG
+p:IMEDIA,f:40
+2269:00c00000:0438:0001:1:0
+CINE+
+p:CSAT,f:40
+4f69:00c00000:04ff:0001:1:0
+\86HBO\87
+p:UPC Direct,f:40
+6f69:00c00000:042c:0001:1:0
+Cartoon Network
+p:TBS,f:40
+7469:00c00000:03f0:0001:1:0
+JETIX
+p:FK,f:40
+7569:00c00000:0412:0001:1:0
+TAQUILLA XX
+p:TQX,f:40
+226a:00c00000:0438:0001:1:0
+CINE+
+p:CSAT,f:40
+4f6a:00c00000:04ff:0001:1:0
+\86HBO\87
+p:UPC Direct,f:40
+6f6a:00c00000:042c:0001:1:0
+CNN Int.
+p:CNN,f:40
+746a:00c00000:03f0:0001:1:0
+DISNEY CH. +1
+p:DCH1,f:40
+756a:00c00000:0412:0001:1:0
+TAQUILLA XX
+p:TQXX,f:40
+1b6b:00c00000:03fc:0001:1:0
+BFM TV
+p:OVERON,f:40
+226b:00c00000:0438:0001:1:0
+A LA CARTE 10
+p:CSAT,f:40
+4f6b:00c00000:04ff:0001:1:0
+\86Duna TV\87
+p:UPC Direct,f:40
+6d6b:00c00000:0437:0001:1:0
+ZDFinfokanal
+p:ZDFvision,f:40
+746b:00c00000:03f0:0001:1:0
+PLAYHOUSE
+p:PLAYDC,f:40
+756b:00c00000:0412:0001:1:0
+C+ EVENTOS
+p:CPD3,f:40
+226c:00c00000:0438:0001:1:0
+A LA CARTE
+p:CSAT,f:40
+4f6c:00c00000:04ff:0001:1:0
+\86TV Paprika\87
+p:UPC Direct,f:40
+746c:00c00000:03f0:0001:1:0
+C+ ACCIÓN
+p:CPC1,f:40
+756c:00c00000:0412:0001:1:0
+TAQUILLA 9
+p:TQ9,f:40
+226d:00c00000:0438:0001:1:0
+ESPN CLASSIC
+p:CSAT,f:40
+4f6d:00c00000:04ff:0001:1:0
+\86Magyar ATV\87
+p:UPC Direct,f:40
+6f6d:00c00000:042c:0001:1:0
+TCM
+p:TBS,f:40
+746d:00c00000:03f0:0001:1:0
+C+ COMEDIA
+p:CPC2,f:40
+4f6e:00c00000:04ff:0001:1:0
+\86Cool\87
+p:UPC Direct,f:40
+6d6e:00c00000:0437:0001:1:0
+ZDFdokukanal
+p:ZDFvision,f:40
+6f6e:00c00000:042c:0001:1:0
+Spare 28526
+p:Arqiva,f:40
+746e:00c00000:03f0:0001:1:0
+C+ DCINE
+p:CPC3,f:40
+756e:00c00000:0412:0001:1:0
+C+ EVENTOS
+p:CPD3,f:40
+4f6f:00c00000:04ff:0001:1:0
+\86TV Deko\87
+p:UPC Direct,f:40
+6f6f:00c00000:042c:0001:1:0
+Boomerang
+p:TBS,f:40
+746f:00c00000:03f0:0001:1:0
+TOON DISNEY
+p:TOONDC,f:40
+756f:00c00000:0412:0001:1:0
+TAQUILLA 8
+p:TQ8,f:40
+2270:00c00000:0438:0001:1:0
+MOTORS TV
+p:CSAT,f:40
+2b70:00c00000:03f3:0001:1:0
+arte HD
+p:ZDFvision,f:40
+4f70:00c00000:04ff:0001:1:0
+\86Sport 1\87
+p:UPC Direct,f:40
+6d70:00c00000:0437:0001:1:0
+ZDFtheaterkanal
+p:ZDFvision,f:40
+7470:00c00000:03f0:0001:1:0
+OP. TRIUNFO
+p:DIGITAL+,f:40
+7570:00c00000:0412:0001:1:0
+
+p:Digital+,f:40
+4f71:00c00000:04ff:0001:1:0
+\86m2\87
+p:UPC Direct,f:40
+7471:00c00000:03f0:0001:1:0
+SONY TV
+p:DIGITAL+,f:40
+4f72:00c00000:04ff:0001:1:0
+\86Minimax / Animax\87
+p:UPC Direct,f:40
+7472:00c00000:03f0:0001:1:0
+C+ ACCIÓN
+p:CPC1,f:40
+4f73:00c00000:04ff:0001:1:0
+\86Sport 2\86
+p:UPC Direct,f:40
+7473:00c00000:03f0:0001:1:0
+C+ COMEDIA
+p:CPC2,f:40
+2774:00c00000:0444:0001:1:0
+\86DELUXE\87 MUSIC
+p:BetaDigital,f:40
+4f74:00c00000:04ff:0001:1:0
+\86Film+\86
+p:UPC Direct,f:40
+7474:00c00000:03f0:0001:1:0
+C+ DCINE
+p:CPC3,f:40
+2275:00c00000:0438:0001:1:0
+FRANCE 2
+p:CSAT,f:40
+2775:00c00000:0444:0001:1:0
+DMAX
+p:BetaDigital,f:40
+4f75:00c00000:0427:0001:1:0
+\86Cartoon Network/TCM\87
+p:UPC Direct,f:40
+7475:00c00000:03f0:0001:1:0
+INTERECON TV
+p:DIGITAL,f:40
+2276:00c00000:0438:0001:1:0
+FRANCE 3
+p:CSAT,f:40
+2776:00c00000:0444:0001:1:0
+! Primetime
+p:BetaDigital,f:40
+4f76:00c00000:0427:0001:1:0
+\86Viasat 3\87
+p:UPC Direct,f:40
+6f76:00c00000:0457:0001:1:0
+WDR Aachen
+p:ARD,f:40
+2777:00c00000:0444:0001:1:0
+\86ONTV\87 Regional
+p:BetaDigital,f:40
+4f77:00c00000:0427:0001:1:0
+\86Boomerang\87
+p:UPC Direct,f:40
+6f77:00c00000:0457:0001:1:0
+WDR Wuppertal
+p:ARD,f:40
+2778:00c00000:0444:0001:1:0
+\86F\87ranken \86SAT\87
+p:BetaDigital,f:40
+4f78:00c00000:0427:0001:1:0
+\86Viasat Explorer\87
+p:UPC Direct,f:40
+6f78:00c00000:0457:0001:1:0
+WDR Bonn
+p:ARD,f:40
+2779:00c00000:0444:0001:1:0
+LokalSAT
+p:BetaDigital,f:40
+4f79:00c00000:0427:0001:1:0
+\86Viasat History\87
+p:UPC Direct,f:40
+6f79:00c00000:0457:0001:1:0
+WDR Duisburg
+p:ARD,f:40
+277a:00c00000:0444:0001:1:0
+\86\87nchen.\86tv/RFO\87
+p:BetaDigital,f:40
+4f7a:00c00000:0427:0001:1:0
+\86STV1\87
+p:UPC Direct,f:40
+277b:00c00000:0444:0001:1:0
+DrDish Television
+p:BetaDigital,f:40
+4f7b:00c00000:0427:0001:1:0
+\86TA3\87
+p:UPC Direct,f:40
+277c:00c00000:0444:0001:1:0
+TVM/WWTV
+p:BetaDigital,f:40
+427c:00c00000:0446:0001:1:0
+AB MOTEURS
+p:ABSAT,C:0500,C:0100,f:40
+4f7c:00c00000:0427:0001:1:0
+\86Travel\87
+p:UPC Direct,f:40
+277d:00c00000:0444:0001:1:0
+tirol tv
+p:BetaDigital,f:40
+427d:00c00000:0446:0001:1:0
+AB1
+p:ABSAT,C:0500,C:0100,f:40
+4f7d:00c00000:0427:0001:1:0
+\86MGM\87
+p:UPC Direct,f:40
+277e:00c00000:0444:0001:1:0
+.
+p:BetaDigital,C:1830,C:1801,C:1702,f:40
+427e:00c00000:0446:0001:1:0
+ANIMAUX
+p:ABSAT,C:0100,f:40
+4f7e:00c00000:0427:0001:1:0
+\86bebe tv\87
+p:UPC Direct,f:40
+277f:00c00000:0444:0001:1:0
+entavio Home
+p:BetaDigital,f:40
+427f:00c00000:0446:0001:1:0
+ENCYCLOPEDIA
+p:ABSAT,C:0100,f:40
+2f80:00c00000:0454:0001:1:0
+Bloomberg TV Germany
+p:Bloomberg,f:40
+4280:00c00000:0446:0001:1:0
+ XXL
+p:ABSAT,C:0500,C:0100,f:40
+4f80:00c00000:0427:0001:1:0
+\86AXN\87
+p:UPC Direct,f:40
+7080:00c00000:0443:0001:1:0
+RTL Austria
+p:RTL,f:40
+0381:00c00000:0021:0085:1:0
+\86SpiritON\87.TV
+p:BetaDigital,f:40
+2581:00c00000:0458:0001:1:0
+RTL9
+p:CSAT,f:40
+4281:00c00000:0446:0001:1:0
+ESCALES
+p:ABSAT,C:0500,C:0100,f:40
+4f81:00c00000:0427:0001:1:0
+\86Blue Hustler\87
+p:UPC Direct,f:40
+0382:00c00000:0021:0085:1:0
+XXHOME
+p:BetaDigital,f:40
+1782:00c00000:0457:0001:1:0
+TechniTipp-TV
+p:TechniSat,f:40
+2582:00c00000:0458:0001:1:0
+AB1
+p:CSAT,f:40
+4282:00c00000:0446:0001:1:0
+toute L'HISTOIRE
+p:ABSAT,C:0100,f:40
+4f82:00c00000:0407:0001:1:0
+\86HirTV\87
+p:UPC Direct,f:40
+0383:00c00000:0021:0085:1:0
+meinTVshop
+p:BetaDigital,f:40
+2583:00c00000:0458:0001:1:0
+AB MOTEURS
+p:CSAT,f:40
+2783:00c00000:0444:0001:1:0
+Top Girl Sex TV
+p:BetaDigital,f:40
+4283:00c00000:0446:0001:1:0
+LCP
+p:ABSAT,f:40
+4f83:00c00000:0407:0001:1:0
+\86M1 \87
+p:UPC Direct,f:40
+0384:00c00000:0021:0085:1:0
+DSF
+p:BetaDigital,f:40
+2584:00c00000:0458:0001:1:0
+CINE FX
+p:CSAT,f:40
+2784:00c00000:0444:0001:1:0
+Hot Girls TV
+p:BetaDigital,f:40
+4284:00c00000:0446:0001:1:0
+NT1
+p:ABSAT,f:40
+4f84:00c00000:0407:0001:1:0
+\86MTV Hungary\87
+p:UPC Direct,f:40
+2585:00c00000:0458:0001:1:0
+MANGAS
+p:CSAT,f:40
+2785:00c00000:0444:0001:1:0
+Zack Erotik TV
+p:BetaDigital,f:40
+4f85:00c00000:0407:0001:1:0
+\86Cinemax\87
+p:UPC Direct,f:40
+7085:00c00000:0443:0001:1:0
+VOX Austria
+p:RTL,f:40
+2586:00c00000:0458:0001:1:0
+XXL
+p:CSAT,f:40
+2786:00c00000:0444:0001:1:0
+Blitzkontakt.TV
+p:BetaDigital,f:40
+4286:00c00000:0446:0001:1:0
+ACTION
+p:ABSAT,C:0100,f:40
+4f86:00c00000:0407:0001:1:0
+\86TV Budapest\87
+p:UPC Direct,f:40
+2587:00c00000:0458:0001:1:0
+ANIMAUX
+p:CSAT,f:40
+2787:00c00000:0444:0001:1:0
+.6live
+p:BetaDigital,f:40
+4287:00c00000:0446:0001:1:0
+MANGAS
+p:ABSAT,C:0100,f:40
+4f87:00c00000:0407:0001:1:0
+\86RTL Klub\87
+p:UPC Direct,f:40
+2588:00c00000:0458:0001:1:0
+ESCALES
+p:CSAT,f:40
+2788:00c00000:0444:0001:1:0
+Amore TV
+p:BetaDigital,f:40
+4f88:00c00000:0407:0001:1:0
+\86Spektrum Int \87
+p:UPC Direct,f:40
+7788:00c00000:0424:0001:1:0
+40 LATINO
+p:40LAT,f:40
+2589:00c00000:0458:0001:1:0
+ACTION
+p:CSAT,f:40
+2789:00c00000:0444:0001:1:0
+Herzschlag69
+p:BetaDigital,f:40
+4289:00c00000:0446:0001:1:0
+CINE POLAR
+p:ABSAT,C:0100,f:40
+4f89:00c00000:0407:0001:1:0
+\86Sport Klub\87
+p:UPC Direct,f:40
+7789:00c00000:0424:0001:1:0
+GOLF+
+p:GOLF+,f:40
+258a:00c00000:0458:0001:1:0
+TOUTE L'HISTOIRE
+p:CSAT,f:40
+278a:00c00000:0444:0001:1:0
+tele6.tv
+p:BetaDigital,f:40
+428a:00c00000:0446:0001:1:0
+CINE FX
+p:ABSAT,C:0100,f:40
+4f8a:00c00000:0407:0001:1:0
+\86Film+ \87
+p:UPC Direct,f:40
+708a:00c00000:0443:0001:1:0
+RTL2 Austria
+p:RTL,f:40
+778a:00c00000:0424:0001:1:0
+CANAL+...30
+p:CP30,f:40
+278b:00c00000:0444:0001:1:0
+maennerwelt.tv
+p:BetaDigital,f:40
+428b:00c00000:0446:0001:1:0
+RTL9
+p:ABsat,C:0100,f:40
+4f8b:00c00000:0407:0001:1:0
+\86TV2 \87
+p:UPC Direct,f:40
+778b:00c00000:0424:0001:1:0
+PLAYBOY TV
+p:Playboy TV,f:40
+138c:00c00000:0455:0035:1:0
+NET5
+p:CANALDIGITAAL,f:40
+278c:00c00000:0444:0001:1:0
+Gebrauchtwagen TV
+p:BetaDigital,f:40
+4f8c:00c00000:0407:0001:1:0
+\86Sport 1 CZE \87
+p:UPC Direct,f:40
+778c:00c00000:0424:0001:1:0
+40 LATINO
+p:40LAT,f:40
+138d:00c00000:0455:0035:1:0
+SBS6
+p:CANALDIGITAAL,f:40
+238d:00c00000:044a:0001:1:0
+GUIDE TV
+p:CSAT,f:40
+278d:00c00000:0444:0001:1:0
+Traumkontakt.tv
+p:BetaDigital,f:40
+4f8d:00c00000:0407:0001:1:0
+\86Viva Hungary\87
+p:UPC Direct,f:40
+778d:00c00000:0424:0001:1:0
+NAT GEOGRAPH
+p:NATGEO,f:40
+238e:00c00000:044a:0001:1:0
+CANAL+ HI-TECH HD
+p:IMEDIA,f:40
+278e:00c00000:0444:0001:1:0
+Po6
+p:BetaDigital,f:40
+4f8e:00c00000:044b:0001:1:0
+\86Eurosport  2\87
+p:UPC Direct,f:40
+768e:00c00000:041e:0001:1:0
+TAQUILLA 1
+p:TQ1,f:40
+778e:00c00000:0424:0001:1:0
+C+ FÚTBOL
+p:CPD1,f:40
+218f:00c00000:0442:0001:1:0
+FRANCE 5
+p:CSAT,f:40
+238f:00c00000:044a:0001:1:0
+NATIONAL GEO HD
+p:CSAT,f:40
+278f:00c00000:0444:0001:1:0
+2255live
+p:BetaDigital,f:40
+708f:00c00000:0443:0001:1:0
+Super RTL A
+p:RTL,f:40
+768f:00c00000:041e:0001:1:0
+TAQUILLA 2
+p:TQ2,f:40
+778f:00c00000:0424:0001:1:0
+C+ DEPORTES
+p:CPD2,f:40
+2390:00c00000:044a:0001:1:0
+MON CSAT
+p:CSAT,f:40
+2790:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+4290:00c00000:0446:0001:1:0
+NT1
+p:ABSAT,f:40
+7690:00c00000:041e:0001:1:0
+TAQUILLA 3
+p:TQ3,f:40
+2791:00c00000:0444:0001:1:0
+AllesfürsHandy
+p:BetaDigital,f:40
+3391:00c00000:044e:0001:1:0
+History Channel
+p:arena,f:40
+4291:00c00000:0446:0001:1:0
+LCP
+p:ABSAT,f:40
+7691:00c00000:041e:0001:1:0
+TAQUILLA 4
+p:TQ4,f:40
+0292:00c00000:0005:0085:1:0
+\86Daystar Television\87 Network
+p:BetaDigital,f:40
+2792:00c00000:0444:0001:1:0
+A1 Teleshop
+p:BetaDigital,f:40
+3392:00c00000:044e:0001:1:0
+National Geographic Channel
+p:arena,f:40
+6e92:00c00000:04b1:0001:1:0
+WDR Bielefeld
+p:ARD,f:40
+7792:00c00000:0424:0001:1:0
+
+p:DIGITAL+,f:40
+0293:00c00000:0005:0085:1:0
+tv.gusto
+p:BetaDigital,f:40
+1393:00c00000:0455:0035:1:0
+Hallmark
+p:CANALDIGITAAL,f:40
+2393:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+2793:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+3393:00c00000:044e:0001:1:0
+ANIMAX (a/P)
+p:arena/Premiere,f:40
+6e93:00c00000:04b1:0001:1:0
+WDR Dortmund
+p:ARD,f:40
+7793:00c00000:0424:0001:1:0
+FOX NEWS
+p:FOXNWS,f:40
+2394:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+2f94:00c00000:0454:0001:1:0
+Chamber TV
+p:Chambre des Députées,f:40
+3394:00c00000:044e:0001:1:0
+Cartoon Network (a/P)
+p:arena/Premiere,f:40
+6e94:00c00000:04b1:0001:1:0
+WDR Düsseldorf
+p:ARD,f:40
+7594:00c00000:0422:0001:1:0
+MÚSICA DIGITAL
+p:DIGITAL+,f:40
+7694:00c00000:041e:0001:1:0
+ANIMAX
+p:DIGITAL+,f:40
+0295:00c00000:0021:0085:1:0
+AstroTV
+p:BetaDigital,f:40
+2395:00c00000:044a:0001:1:0
+ADIBOU TV
+p:CSAT,f:40
+3395:00c00000:044e:0001:1:0
+EuroSport 2 (a/P)
+p:arena/Premiere,f:40
+6e95:00c00000:04b1:0001:1:0
+WDR Essen
+p:ARD,f:40
+7695:00c00000:041e:0001:1:0
+TAQUILLA XY
+p:TXY,f:40
+0296:00c00000:0005:0085:1:0
+1-2-3.tv
+p:BetaDigital,f:40
+2396:00c00000:044a:0001:1:0
+ESPACE CLIENT
+p:CSAT,f:40
+3396:00c00000:044e:0001:1:0
+Kinowelt
+p:arena,f:40
+6e96:00c00000:04b1:0001:1:0
+WDR Münster
+p:ARD,f:40
+7596:00c00000:0422:0001:1:0
+RADIOS
+p:DIGITAL+,f:40
+7696:00c00000:041e:0001:1:0
+CARTOON NET.
+p:CTN,f:40
+0297:00c00000:0005:0085:1:0
+Deutsches Gesundheitsfernsehen
+p:BetaDigital,f:40
+1397:00c00000:0455:0035:1:0
+TMF
+p:CANALDIGITAAL,f:40
+3397:00c00000:044e:0001:1:0
+RTL Living
+p:arena,f:40
+6e97:00c00000:04b1:0001:1:0
+WDR Siegen
+p:ARD,f:40
+0298:00c00000:0004:0085:1:0
+\86BIG B\87ROTHER
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0f98:00c00000:0454:0001:1:0
+LUXE.TV SD
+p:DVL.TV,f:40
+3398:00c00000:044e:0001:1:0
+Biography Channel
+p:arena,f:40
+2199:00c00000:0448:0001:1:0
+
+p:CSAT,f:40
+2399:00c00000:044a:0001:1:0
+TF1 HD
+p:CSAT,f:40
+3399:00c00000:044e:0001:1:0
+FOX
+p:arena,f:40
+7699:00c00000:041e:0001:1:0
+BOOMERANG
+p:BOOM,f:40
+0f9a:00c00000:0454:0001:1:0
+RTL Tele Letzebuerg
+p:,f:40
+219a:00c00000:0448:0001:1:0
+ONZEO
+p:CSAT,f:40
+239a:00c00000:044a:0001:1:0
+M6 HD
+p:CSAT,f:40
+769a:00c00000:041e:0001:1:0
+TAQUILLA 10
+p:TQ10,f:40
+0f9b:00c00000:0454:0001:1:0
+!Kanal Telemedial
+p:SES ASTRA,f:40
+219b:00c00000:0448:0001:1:0
+MOSAIQUE
+p:CSAT,f:40
+239b:00c00000:044a:0001:1:0
+CINE PREMIER HD
+p:CSAT,f:40
+339b:00c00000:044e:0001:1:0
+Bundesliga HOME
+p:arena,f:40
+769b:00c00000:041e:0001:1:0
+SAN FERMÍN
+p:DIGITAL+,f:40
+139c:00c00000:0455:0035:1:0
+Veronica/JETIX
+p:CANALDIGITAAL,f:40
+239c:00c00000:044a:0001:1:0
+13EME RUE HD
+p:CSAT,f:40
+339c:00c00000:044e:0001:1:0
+Bundesliga INFO
+p:arena,f:40
+779c:00c00000:0424:0001:1:0
+C+ FÚTBOL
+p:CPD1,f:40
+0f9d:00c00000:0454:0001:1:0
+Astra Vision
+p:SES ASTRA,f:40
+339d:00c00000:044e:0001:1:0
+Bundesliga 1
+p:arena,f:40
+779d:00c00000:0424:0001:1:0
+C+ DEPORTES
+p:CPD2,f:40
+339e:00c00000:044e:0001:1:0
+Bundesliga 2
+p:arena,f:40
+209f:00c00000:0432:0001:1:0
+C CINEMA CULTE
+p:CSAT,f:40
+219f:00c00000:0448:0001:1:0
+SAILING CHANNEL
+p:CSAT,f:40
+339f:00c00000:044e:0001:1:0
+Bundesliga 3
+p:arena,f:40
+20a0:00c00000:0432:0001:1:0
+MCM
+p:CSAT,f:40
+21a0:00c00000:0448:0001:1:0
+MOSAIQUE
+p:CSAT,f:40
+23a0:00c00000:044a:0001:1:0
+CE SOIR
+p:CSAT,f:40
+33a0:00c00000:044e:0001:1:0
+Bundesliga 4
+p:arena,f:40
+13a1:00c00000:0455:0035:1:0
+BVN
+p:CANALDIGITAAL,f:40
+21a1:00c00000:0448:0001:1:0
+MMD
+p:CSAT,f:40
+33a1:00c00000:044e:0001:1:0
+Bundesliga 7
+p:arena,f:40
+20a2:00c00000:0432:0001:1:0
+MCM POP
+p:CSAT,f:40
+23a2:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+33a2:00c00000:044e:0001:1:0
+Bundesliga 8
+p:arena,f:40
+20a3:00c00000:0432:0001:1:0
+CHEZ VOUS TV
+p:CSAT,f:40
+21a3:00c00000:0448:0001:1:0
+CASH TV
+p:CSAT,f:40
+13a4:00c00000:0455:0035:1:0
+Film1.3
+p:CANALDIGITAAL,f:40
+23a4:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+0fa5:00c00000:0451:0035:1:0
+Film1.1
+p:CANALDIGITAAL,f:40
+13a5:00c00000:0455:0035:1:0
+BiB
+p:CANALDIGITAAL,f:40
+21a5:00c00000:0448:0001:1:0
+PRIVATE SPICE
+p:CSAT,f:40
+6ea5:00c00000:04b1:0001:1:0
+NDR FS HH+
+p:ARD,f:40
+0fa6:00c00000:0451:0035:1:0
+Sport1
+p:CANALDIGITAAL,f:40
+13a6:00c00000:0455:0035:1:0
+Tele2 / Het Gesprek
+p:CANALDIGITAAL,f:40
+20a6:00c00000:0432:0001:1:0
+VIRGIN 17
+p:CSAT,f:40
+23a6:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+27a6:00c00000:0444:0001:1:0
+Liebesglück.TV
+p:BetaDigital,f:40
+6ea6:00c00000:04b1:0001:1:0
+NDR FS MV+
+p:ARD,f:40
+0fa7:00c00000:0451:0035:1:0
+Film1.2
+p:CANALDIGITAAL,f:40
+20a7:00c00000:0432:0001:1:0
+FOXLIFE
+p:CSAT,f:40
+21a7:00c00000:0448:0001:1:0
+
+p:CSAT,f:40
+27a7:00c00000:0444:0001:1:0
+Partnersuche.TV
+p:BetaDigital,f:40
+6ea7:00c00000:04b1:0001:1:0
+NDR FS SH+
+p:ARD,f:40
+00a8:00c00000:0001:0085:1:0
+HIT24
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+20a8:00c00000:0432:0001:1:0
+TEST CDN 8
+p:CSAT,f:40
+21a8:00c00000:0448:0001:1:0
+CDN12
+p:CSAT,f:40
+27a8:00c00000:0444:0001:1:0
+ReiseSchnäppchen.TV
+p:BetaDigital,f:40
+6ea8:00c00000:04b1:0001:1:0
+alt (MDR SACHSEN+)
+p:ARD,f:40
+20a9:00c00000:0432:0001:1:0
+
+p:CSAT,f:40
+21a9:00c00000:0448:0001:1:0
+
+p:CSAT,f:40
+27a9:00c00000:0444:0001:1:0
+Venusclub.TV
+p:BetaDigital,f:40
+6ea9:00c00000:04b1:0001:1:0
+alt (MDR S-ANHALT+)
+p:ARD,f:40
+75a9:00c00000:0422:0001:1:0
+GUÍA DIGITAL+
+p:DIGITAL+,f:40
+21aa:00c00000:0448:0001:1:0
+DISNEY MAGIC HD
+p:CSAT,f:40
+27aa:00c00000:0444:0001:1:0
+Ringtone TV
+p:BetaDigital,f:40
+6eaa:00c00000:04b1:0001:1:0
+alt (MDR THÜRINGEN+)
+p:ARD,f:40
+75aa:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+0fab:00c00000:0451:0035:1:0
+NED1
+p:CANALDIGITAAL,f:40
+20ab:00c00000:0432:0001:1:0
+
+p:CSAT,f:40
+27ab:00c00000:0444:0001:1:0
+.Club1.TV
+p:BetaDigital,f:40
+75ab:00c00000:0422:0001:1:0
+Cambio Tarj.
+p:DIGITAL+,f:40
+0fac:00c00000:0451:0035:1:0
+NED2
+p:CANALDIGITAAL,f:40
+27ac:00c00000:0444:0001:1:0
+AbsolutSexy.TV
+p:BetaDigital,f:40
+75ac:00c00000:0422:0001:1:0
+RAD. LATINAS
+p:Digital+,f:40
+0fad:00c00000:0451:0035:1:0
+NED3
+p:CANALDIGITAAL,f:40
+20ad:00c00000:0432:0001:1:0
+MCM TOP
+p:CSAT,f:40
+27ad:00c00000:0444:0001:1:0
+ACHTUNG Singles.TV
+p:BetaDigital,f:40
+75ad:00c00000:0422:0001:1:0
+COMPRA SMS
+p:DIGITAL+,f:40
+0fae:00c00000:0451:0035:1:0
+Nickelodeon/Comedy Central
+p:CANALDIGITAAL,f:40
+20ae:00c00000:0432:0001:1:0
+TF1
+p:CSAT,f:40
+27ae:00c00000:0444:0001:1:0
+SexyGirls.TV
+p:BetaDigital,f:40
+75ae:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+0faf:00c00000:0451:0035:1:0
+NGC
+p:CANALDIGITAAL,f:40
+20af:00c00000:0432:0001:1:0
+M6
+p:IMEDIA,f:40
+27af:00c00000:0444:0001:1:0
+Liebestraum.TV
+p:BetaDigital,f:40
+75af:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+0fb0:00c00000:0451:0035:1:0
+Tele2 2e kanaal
+p:CANALDIGITAAL,f:40
+27b0:00c00000:0444:0001:1:0
+ACHTUNG Erotik.TV
+p:BetaDigital,f:40
+75b0:00c00000:0422:0001:1:0
+TAQUILLA
+p:DIGITAL+,f:40
+27b1:00c00000:0444:0001:1:0
+Pro Erotik TV
+p:BetaDigital,f:40
+75b1:00c00000:0422:0001:1:0
+GUÍA DIGITAL+
+p:Digital+,f:40
+0fb2:00c00000:0451:0035:1:0
+Man-X
+p:CANALDIGITAAL,f:40
+21b2:00c00000:0448:0001:1:0
+
+p:CSAT,f:40
+27b2:00c00000:0444:0001:1:0
+EroticDome
+p:BetaDigital,f:40
+75b2:00c00000:0422:0001:1:0
+TAQUILLA
+p:Digital+,f:40
+20b3:00c00000:0432:0001:1:0
+TF1
+p:CSAT,f:40
+27b3:00c00000:0444:0001:1:0
+666 Girls.TV
+p:BetaDigital,f:40
+20b4:00c00000:0432:0001:1:0
+M6
+p:CSAT,f:40
+27b4:00c00000:0444:0001:1:0
+Gratis Hot TV
+p:BetaDigital,f:40
+27b5:00c00000:0444:0001:1:0
+XXXKanal.TV
+p:BetaDigital,f:40
+20b6:00c00000:0432:0001:1:0
+VIRGIN 17
+p:CSAT,f:40
+27b6:00c00000:0444:0001:1:0
+SAT Erotiktreff.TV
+p:BetaDigital,f:40
+27b7:00c00000:0444:0001:1:0
+Friends TV
+p:BetaDigital,f:40
+27b8:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+24b9:00c00000:043c:0001:1:0
+TPS STAR
+p:CSAT,f:40
+27b9:00c00000:0444:0001:1:0
+Mallorca.TV
+p:BetaDigital,f:40
+24ba:00c00000:043c:0001:1:0
+SERIE CLUB
+p:CSAT,f:40
+27ba:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+24bb:00c00000:043c:0001:1:0
+W9
+p:CSAT,f:40
+27bb:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+77bb:00c00000:040a:0001:1:0
+CLÁSICO
+p:CLASIC,f:40
+24bc:00c00000:043c:0001:1:0
+INFOSPORT
+p:CSAT,f:40
+27bc:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+77bc:00c00000:040a:0001:1:0
+24 HORAS
+p:24H,f:40
+24bd:00c00000:043c:0001:1:0
+C CINEMA STAR
+p:CSAT,f:40
+6fbd:00c00000:042c:0001:1:0
+1.068 Spare
+p:Arqiva,f:40
+77bd:00c00000:040a:0001:1:0
+TNT
+p:CMA30,f:40
+1bbe:00c00000:0423:0001:1:0
+TVP1
+p:TVP,f:40
+23be:00c00000:044a:0001:1:0
+DT1
+p:CSAT,f:40
+24be:00c00000:043c:0001:1:0
+TELETOON
+p:CSAT,f:40
+77be:00c00000:040a:0001:1:0
+CLAN  TVE
+p:Digital+,f:40
+1bbf:00c00000:0423:0001:1:0
+TVP2
+p:TVP,f:40
+23bf:00c00000:044a:0001:1:0
+DT2
+p:CSAT,f:40
+24bf:00c00000:043c:0001:1:0
+M6 MUSIC HITS
+p:CSAT,f:40
+77bf:00c00000:040a:0001:1:0
+24 HORAS
+p:24H,f:40
+1bc0:00c00000:0423:0001:1:0
+TVP Info
+p:TVP,f:40
+24c0:00c00000:043c:0001:1:0
+DISCOVERY
+p:CSAT,f:40
+76c0:00c00000:040e:0001:1:0
+CANAL+
+p:CP,f:40
+77c0:00c00000:040a:0001:1:0
+TELENOVELAS
+p:TLNV,f:40
+1bc1:00c00000:0423:0001:1:0
+TVP Sport
+p:Telewizja Polska SA,f:40
+21c1:00c00000:0448:0001:1:0
+MOSAIQUE
+p:CSAT,f:40
+23c1:00c00000:044a:0001:1:0
+DT4
+p:CSAT,f:40
+24c1:00c00000:043c:0001:1:0
+PINK TV/PINK X
+p:CSAT,f:40
+76c1:00c00000:040e:0001:1:0
+DOCU TVE
+p:Docu TVE,f:40
+77c1:00c00000:040a:0001:1:0
+HOLLYWOOD
+p:HOLLYW,f:40
+1bc2:00c00000:0423:0001:1:0
+INT6
+p:Telewizja Polska SA,f:40
+23c2:00c00000:044a:0001:1:0
+DT5
+p:CSAT,f:40
+24c2:00c00000:043c:0001:1:0
+TELETOON+1
+p:CSAT,f:40
+77c2:00c00000:040a:0001:1:0
+HISTORIA
+p:HIST,f:40
+23c3:00c00000:044a:0001:1:0
+DT6
+p:CSAT,f:40
+76c3:00c00000:040e:0001:1:0
+DISNEY CH.
+p:DCH,f:40
+77c3:00c00000:040a:0001:1:0
+TELENOVELAS
+p:TLNV,f:40
+23c4:00c00000:044a:0001:1:0
+DT7
+p:CSAT,f:40
+76c4:00c00000:040e:0001:1:0
+SPORTMANÍA
+p:SPM,f:40
+23c5:00c00000:044a:0001:1:0
+DT8
+p:CSAT,f:40
+76c5:00c00000:040e:0001:1:0
+40 TV
+p:+MUS,f:40
+77c5:00c00000:040a:0001:1:0
+TV CANARIA
+p:CANAR,f:40
+22c6:00c00000:045a:0001:1:0
+CINE POLAR
+p:CSAT,f:40
+23c6:00c00000:044a:0001:1:0
+DT9
+p:CSAT,f:40
+76c6:00c00000:040e:0001:1:0
+DISCOVERY
+p:DCR,f:40
+77c6:00c00000:040a:0001:1:0
+CUATRO
+p:Digital+,f:40
+22c7:00c00000:045a:0001:1:0
+GULLI
+p:CSAT,f:40
+23c7:00c00000:044a:0001:1:0
+DT10
+p:CSAT,f:40
+75c7:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+77c7:00c00000:040a:0001:1:0
+CUATRO
+p:Digital+,f:40
+22c8:00c00000:045a:0001:1:0
+BLOOMBERG TV
+p:CSAT,f:40
+23c8:00c00000:044a:0001:1:0
+DT11
+p:CSAT,f:40
+22c9:00c00000:045a:0001:1:0
+TEVA
+p:CSAT,f:40
+23c9:00c00000:044a:0001:1:0
+DT12
+p:CSAT,f:40
+32c9:00c00000:045d:0001:1:0
+ORF1
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+77c9:00c00000:040a:0001:1:0
+TNT
+p:CMA30,f:40
+22ca:00c00000:045a:0001:1:0
+DISNEY CHANNEL+1
+p:CSAT,f:40
+23ca:00c00000:044a:0001:1:0
+DT13
+p:CSAT,f:40
+32ca:00c00000:045d:0001:1:0
+ORF2
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+6dca:00c00000:044d:0001:1:0
+Das Erste
+p:ARD,f:40
+75ca:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+76ca:00c00000:040e:0001:1:0
+CANAL+ 2
+p:CP2,f:40
+22cb:00c00000:045a:0001:1:0
+PLAYHOUSE DISNEY
+p:CSAT,f:40
+23cb:00c00000:044a:0001:1:0
+DT14
+p:CSAT,f:40
+32cb:00c00000:045d:0001:1:0
+ORF2 W
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+6dcb:00c00000:044d:0001:1:0
+Bayerisches FS Süd
+p:ARD,f:40
+22cc:00c00000:045a:0001:1:0
+DISNEY CINEMAGIC
+p:CSAT,f:40
+23cc:00c00000:044a:0001:1:0
+DT15
+p:CSAT,f:40
+32cc:00c00000:045d:0001:1:0
+ORF2 N
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42cc:00c00000:041d:0001:1:0
+Belsat TV
+p:TVP,f:40
+6dcc:00c00000:044d:0001:1:0
+hr-fernsehen
+p:ARD,f:40
+75cc:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+76cc:00c00000:040e:0001:1:0
+TELEDEPORTE
+p:TDEP,f:40
+f1cc:00c00000:0421:0001:1:0
+Bibel TV
+p:Bibel TV,f:40
+22cd:00c00000:045a:0001:1:0
+DISNEY MAGIC+1
+p:CSAT,f:40
+23cd:00c00000:044a:0001:1:0
+DT16
+p:CSAT,f:40
+32cd:00c00000:045d:0001:1:0
+ORF2 B
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42cd:00c00000:041d:0001:1:0
+TV TRWAM
+p:TVP,f:40
+74cd:00c00000:03f8:0001:1:0
+TELEFE INT
+p:DIGITAL+,f:40
+23ce:00c00000:044a:0001:1:0
+DT17
+p:CSAT,f:40
+32ce:00c00000:045d:0001:1:0
+ORF2 O
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42ce:00c00000:041d:0001:1:0
+TV Polonia
+p:TVP,f:40
+6dce:00c00000:044d:0001:1:0
+Bayerisches FS Nord
+p:ARD,f:40
+74ce:00c00000:03f8:0001:1:0
+PORTADA
+p:ESCAP,f:40
+75ce:00c00000:0422:0001:1:0
+IBERDROLA
+p:DIGITAL+,f:40
+22cf:00c00000:045a:0001:1:0
+E! ENTERTAINMENT
+p:CSAT,f:40
+23cf:00c00000:044a:0001:1:0
+DT18
+p:CSAT,f:40
+24cf:00c00000:043c:0001:1:0
+W9
+p:CSAT,f:40
+32cf:00c00000:045d:0001:1:0
+ORF2 S
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42cf:00c00000:041d:0001:1:0
+TVP Historia
+p:TVP,f:40
+6dcf:00c00000:044d:0001:1:0
+WDR Köln
+p:ARD,f:40
+74cf:00c00000:03f8:0001:1:0
+TCM MODERNO
+p:TCM,f:40
+75cf:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+23d0:00c00000:044a:0001:1:0
+DT19
+p:CSAT,f:40
+32d0:00c00000:045d:0001:1:0
+ORF2 T
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42d0:00c00000:041d:0001:1:0
+TVP Kultura
+p:TVP,f:40
+6dd0:00c00000:044d:0001:1:0
+BR-alpha*
+p:ARD,f:40
+20d1:00c00000:043e:0001:1:0
+
+p:CSAT,f:40
+23d1:00c00000:044a:0001:1:0
+DT20
+p:CSAT,f:40
+32d1:00c00000:045d:0001:1:0
+ORF2 V
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+6dd1:00c00000:044d:0001:1:0
+SWR Fernsehen BW
+p:ARD,f:40
+20d2:00c00000:043e:0001:1:0
+A LA CARTE 1
+p:CSAT,f:40
+32d2:00c00000:045d:0001:1:0
+ORF2 St
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+75d2:00c00000:0422:0001:1:0
+CANAL+ HD
+p:DIGITAL+,f:40
+20d3:00c00000:043e:0001:1:0
+A LA CARTE 2
+p:CSAT,f:40
+32d3:00c00000:045d:0001:1:0
+ORF2 K
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+07d4:00c00000:0449:0035:1:0
+RTL4
+p:CANALDIGITAAL,f:40
+20d4:00c00000:043e:0001:1:0
+A LA CARTE 3
+p:CSAT,f:40
+32d4:00c00000:045d:0001:1:0
+ATV+
+p:ATV+,C:1801,C:1702,C:0d05,C:1762,f:40
+07d5:00c00000:0449:0035:1:0
+RTL5
+p:CANALDIGITAAL,f:40
+20d5:00c00000:043e:0001:1:0
+A LA CARTE 4
+p:CSAT,f:40
+32d5:00c00000:045d:0001:1:0
+HITRADIO OE3
+p:ORF,f:40
+07d6:00c00000:0449:0035:1:0
+RTL7
+p:CANALDIGITAAL,f:40
+20d6:00c00000:043e:0001:1:0
+A LA CARTE 5
+p:CSAT,f:40
+32d6:00c00000:045d:0001:1:0
+ORF2E
+p:ORF,f:40
+75d6:00c00000:0422:0001:1:0
+SAN FERMÍN
+p:DIGITAL+,f:40
+1fd7:00c00000:0434:0001:1:0
+EUROSPORT
+p:CSAT,f:40
+20d7:00c00000:043e:0001:1:0
+A LA CARTE 6
+p:CSAT,f:40
+1fd8:00c00000:0434:0001:1:0
+TMC
+p:CSAT,f:40
+20d8:00c00000:043e:0001:1:0
+A LA CARTE 7
+p:CSAT,f:40
+6fd8:00c00000:042c:0001:1:0
+TVBS
+p:Chinese Channel LTD.,f:40
+77d8:00c00000:040a:0001:1:0
+EUROSPORT
+p:ESP,f:40
+1fd9:00c00000:0434:0001:1:0
+PLANETE
+p:CSAT,f:40
+20d9:00c00000:043e:0001:1:0
+A LA CARTE 8
+p:CSAT,f:40
+22d9:00c00000:045a:0001:1:0
+GULLI
+p:CSAT,f:40
+32d9:00c00000:045d:0001:1:0
+Bundesliga 5
+p:arena,f:40
+75d9:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+07da:00c00000:0449:0035:1:0
+TV Oranje
+p:CANALDIGITAAL,f:40
+20da:00c00000:043e:0001:1:0
+A LA CARTE 9
+p:CSAT,f:40
+32da:00c00000:045d:0001:1:0
+Bundesliga 6
+p:arena,f:40
+1fdb:00c00000:0434:0001:1:0
+VOYAGE
+p:CSAT,f:40
+20db:00c00000:043e:0001:1:0
+A LA CARTE 13
+p:CSAT,f:40
+1fdc:00c00000:0434:0001:1:0
+LCI
+p:CSAT,f:40
+20dc:00c00000:043e:0001:1:0
+A LA CARTE 14
+p:CSAT,f:40
+75dc:00c00000:0422:0001:1:0
+COMPRA SMS
+p:DIGITAL+,f:40
+1fdd:00c00000:0434:0001:1:0
+CANAL J
+p:CSAT,f:40
+75dd:00c00000:0422:0001:1:0
+TEST TÉCNICO
+p:DIGITAL+,f:40
+20de:00c00000:043e:0001:1:0
+KIOSQUE
+p:CSAT,f:40
+75de:00c00000:0422:0001:1:0
+TEST_CSD1
+p:DIGITAL+,f:40
+07df:00c00000:0449:0035:1:0
+Discovery
+p:CANALDIGITAAL,f:40
+1fdf:00c00000:0434:0001:1:0
+PLANETE JUNIORS
+p:CSAT,f:40
+75df:00c00000:0422:0001:1:0
+TEST_CSD2
+p:DIGITAL+,f:40
+1fe0:00c00000:0434:0001:1:0
+CUISINE TV
+p:CSAT,f:40
+6fe0:00c00000:0443:0001:1:0
+NICK AUSTRIA
+p:MTV Networks,f:40
+75e0:00c00000:0422:0001:1:0
+TEST_CSD3
+p:DIGITAL+,f:40
+79e0:00c00000:0443:0001:1:0
+Eurosport
+p:SES Astra,f:40
+1fe1:00c00000:0434:0001:1:0
+FILLES TV
+p:CSAT,f:40
+6ee1:00c00000:04b1:0001:1:0
+Radio Bremen TV
+p:ARD,f:40
+6fe1:00c00000:0443:0001:1:0
+MTV AUSTRIA
+p:MTV Networks,f:40
+75e1:00c00000:0422:0001:1:0
+TEST_CSD4
+p:DIGITAL+,f:40
+1fe2:00c00000:0434:0001:1:0
+TIJI
+p:CSAT,f:40
+75e2:00c00000:0422:0001:1:0
+TEST_CSD5
+p:DIGITAL+,f:40
+1fe3:00c00000:0434:0001:1:0
+CANAL+ FAMILY
+p:CSAT,f:40
+2ee3:00c00000:0441:0001:1:0
+\86RTL\87 Television
+p:RTL World,f:40
+31e3:00c00000:045c:0035:1:0
+VTM OLD
+p:TV Vlaanderen,f:40
+31e3:00c00000:045f:0035:1:0
+VTM
+p:TV Vlaanderen,f:40
+75e3:00c00000:0422:0001:1:0
+TEST_CSD6
+p:DIGITAL+,f:40
+07e4:00c00000:0449:0035:1:0
+Animal Planet
+p:CANALDIGITAAL,f:40
+2ee4:00c00000:0441:0001:1:0
+RTL HH SH
+p:RTL World,f:40
+31e4:00c00000:045c:0035:1:0
+2BE OLD
+p:TV Vlaanderen,f:40
+31e4:00c00000:045f:0035:1:0
+2BE
+p:TV Vlaanderen,f:40
+75e4:00c00000:0422:0001:1:0
+TEST_CSD7
+p:DIGITAL+,f:40
+25e5:00c00000:045e:0001:1:0
+FR3 AMIENS
+p:CSAT,f:40
+2ee5:00c00000:0441:0001:1:0
+RTL HB NDS
+p:RTL World,f:40
+31e5:00c00000:045c:0035:1:0
+VT4 OLD
+p:TV Vlaanderen,f:40
+31e5:00c00000:045f:0035:1:0
+VT4
+p:TV Vlaanderen,f:40
+75e5:00c00000:0422:0001:1:0
+TEST_CSD8
+p:DIGITAL+,f:40
+25e6:00c00000:045e:0001:1:0
+FR3 BESANCON
+p:CSAT,f:40
+31e6:00c00000:045c:0035:1:0
+ActionNow OLD
+p:TV Vlaanderen,f:40
+31e6:00c00000:045f:0035:1:0
+ActionNow
+p:TV Vlaanderen,f:40
+75e6:00c00000:0422:0001:1:0
+TEST_CSD9
+p:DIGITAL+,f:40
+25e7:00c00000:045e:0001:1:0
+FR3 BORDEAUX
+p:CSAT,f:40
+31e7:00c00000:045c:0035:1:0
+één OLD
+p:TV Vlaanderen,f:40
+31e7:00c00000:045f:0035:1:0
+één
+p:TV Vlaanderen,f:40
+75e7:00c00000:0422:0001:1:0
+TEST_CSD10
+p:DIGITAL+,f:40
+23e8:00c00000:044a:0001:1:0
+DOWNLOAD TNTSAT GENERIQUE
+p:CSAT,f:40
+25e8:00c00000:045e:0001:1:0
+FR3 NANCY
+p:CSAT,f:40
+31e8:00c00000:045c:0035:1:0
+Ketnet/Canvas OLD
+p:TV Vlaanderen,f:40
+31e8:00c00000:045f:0035:1:0
+Ketnet/Canvas
+p:TV Vlaanderen,f:40
+07e9:00c00000:0449:0035:1:0
+EUROSPORT
+p:CANALDIGITAAL,f:40
+23e9:00c00000:044a:0001:1:0
+DOWNLOAD TNTSAT STRONG
+p:CSAT,f:40
+25e9:00c00000:045e:0001:1:0
+FR3 CLERMONT FD
+p:CSAT,f:40
+31e9:00c00000:045c:0035:1:0
+Vitaya OLD
+p:TV Vlaanderen,f:40
+31e9:00c00000:045f:0035:1:0
+Vitaya
+p:TV Vlaanderen,f:40
+23ea:00c00000:044a:0001:1:0
+DOWNLOAD TNTSAT SAGEM
+p:CSAT,f:40
+25ea:00c00000:045e:0001:1:0
+FR3 PARIS
+p:CSAT,f:40
+79ea:00c00000:0443:0001:1:0
+HSE24 Digital
+p:SES Astra,f:40
+1feb:00c00000:0434:0001:1:0
+TMC
+p:CSAT,f:40
+23eb:00c00000:044a:0001:1:0
+CDN2
+p:CSAT,f:40
+25eb:00c00000:045e:0001:1:0
+FR3 RENNES
+p:CSAT,f:40
+6eeb:00c00000:04b1:0001:1:0
+WDR Test A
+p:ARD,f:40
+6feb:00c00000:042a:0001:1:0
+MTV ESP
+p:MTV Networks Europe,f:40
+23ec:00c00000:044a:0001:1:0
+CDN6
+p:CSAT,f:40
+25ec:00c00000:045e:0001:1:0
+FR3 ROUEN
+p:CSAT,f:40
+6fec:00c00000:042a:0001:1:0
+MTV France
+p:MTV Networks Europe,f:40
+23ed:00c00000:044a:0001:1:0
+CDN7
+p:CSAT,f:40
+25ed:00c00000:045e:0001:1:0
+FR3 LIMOGES
+p:CSAT,f:40
+75ed:00c00000:0422:0001:1:0
+
+p:Digital+,f:40
+07ee:00c00000:0449:0035:1:0
+Cartoon/TCM
+p:CANALDIGITAAL,f:40
+23ee:00c00000:044a:0001:1:0
+CDN5
+p:CSAT,f:40
+25ee:00c00000:045e:0001:1:0
+FR3 LYON
+p:CSAT,f:40
+6fee:00c00000:042a:0001:1:0
+MTV Hits
+p:MTV Networks Europe,f:40
+75ee:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+25ef:00c00000:045e:0001:1:0
+FR3 MARSEILLE
+p:CSAT,f:40
+31ef:00c00000:045c:0035:1:0
+JIM OLD
+p:TV Vlaanderen,f:40
+31ef:00c00000:045f:0035:1:0
+JIM
+p:TV Vlaanderen,f:40
+6fef:00c00000:042a:0001:1:0
+MTV Dance
+p:MTV Networks Europe,f:40
+75ef:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+25f0:00c00000:045e:0001:1:0
+FR3 TOULOUSE
+p:CSAT,f:40
+31f0:00c00000:045c:0035:1:0
+VIJFtv OLD
+p:TV Vlaanderen,f:40
+31f0:00c00000:045f:0035:1:0
+VIJFtv
+p:TV Vlaanderen,f:40
+6ff0:00c00000:042a:0001:1:0
+VH1
+p:MTV Networks Europe,f:40
+31f1:00c00000:045c:0035:1:0
+KANAAL Z OLD
+p:TV Vlaanderen,f:40
+31f1:00c00000:045f:0035:1:0
+KANAAL Z
+p:TV Vlaanderen,f:40
+6ff1:00c00000:042a:0001:1:0
+VH1 Classic
+p:MTV Networks Europe,f:40
+75f1:00c00000:0422:0001:1:0
+
+p:Digital+,f:40
+75f2:00c00000:0422:0001:1:0
+
+p:Digital+,f:40
+07f3:00c00000:0449:0035:1:0
+RTL8
+p:CANALDIGITAAL,f:40
+6ff3:00c00000:042a:0001:1:0
+MTV TWO
+p:MTV Networks Europe,f:40
+75f3:00c00000:0422:0001:1:0
+
+p:Contactanos,f:40
+2ef4:00c00000:0441:0001:1:0
+RTL2
+p:RTL World,f:40
+6ff4:00c00000:042a:0001:1:0
+Nick ESP
+p:MTV Networks Europe,f:40
+75f4:00c00000:0422:0001:1:0
+ABONO FÚTBOL+
+p:Digital+,f:40
+79f4:00c00000:0443:0001:1:0
+EuroNews
+p:Globecast,f:40
+1af5:00c00000:03fe:0001:1:0
+DIRECT 8
+p:GlobeCast,f:40
+6ff5:00c00000:042a:0001:1:0
+MTV Base France
+p:MTV Networks Europe,f:40
+1af6:00c00000:03fe:0001:1:0
+KTO
+p:OVERON,f:40
+6ff7:00c00000:042a:0001:1:0
+GAME ONE
+p:MTV Networks Europe,f:40
+07f8:00c00000:0449:0035:1:0
+PRIVATE SPICE
+p:CANALDIGITAAL,f:40
+1af8:00c00000:03fe:0001:1:0
+Russia Today
+p:OVERON,f:40
+6ff8:00c00000:042a:0001:1:0
+MTV Hits.
+p:MTV Networks Europe,f:40
+1af9:00c00000:03fe:0001:1:0
+France 24 (en Francais)
+p:FRANCE 24,f:40
+75f9:00c00000:0408:0001:1:0
+TVC INT.
+p:TVC,f:40
+1afa:00c00000:03fe:0001:1:0
+France 24 (in English)
+p:FRANCE 24,f:40
+6ffa:00c00000:042a:0001:1:0
+VH1.
+p:MTV Networks Europe,f:40
+75fa:00c00000:0408:0001:1:0
+ANDALUCÍA TV
+p:ANTV,f:40
+1afb:00c00000:03fe:0001:1:0
+EWTN Europe
+p:OVERON,f:40
+6ffb:00c00000:042a:0001:1:0
+VH1 Classic.
+p:MTV Networks Europe,f:40
+75fb:00c00000:0408:0001:1:0
+EUSKADI TV
+p:DIGITAL+,f:40
+02fc:00c00000:0005:0085:1:0
+ANIXE SD
+p:BetaDigital,f:40
+1afc:00c00000:03fe:0001:1:0
+NRJ Hits
+p:GlobeCast,f:40
+6ffc:00c00000:042a:0001:1:0
+NICKELODEON France
+p:MTV Networks Europe,f:40
+75fc:00c00000:0408:0001:1:0
+TM SAT/LAOTRA
+p:DIGITAL+,f:40
+02fd:00c00000:0007:0085:1:0
+\86Y\87AVIDO\86 CLIPS\87
+p:BetaDigital,f:40
+07fd:00c00000:0449:0035:1:0
+DORCEL TV
+p:CANALDIGITAAL,f:40
+1afd:00c00000:03fe:0001:1:0
+ARAGON TV
+p:OVERON,f:40
+21fd:00c00000:044c:0001:1:0
+EQUIDIA INFO
+p:CSAT,f:40
+6ffd:00c00000:042a:0001:1:0
+MTV TWO.
+p:MTV Networks Europe,f:40
+75fd:00c00000:0408:0001:1:0
+CANAL CLUB
+p:DIGITAL+,f:40
+02fe:00c00000:0005:0085:1:0
+UProm.TV
+p:BetaDigital,f:40
+21fe:00c00000:044c:0001:1:0
+COMEDIE !
+p:CSAT,f:40
+74fe:00c00000:0420:0001:1:0
+C+ ACCIÓN...30
+p:CMA,f:40
+75fe:00c00000:0408:0001:1:0
+C. ESTRELLAS
+p:GALAV,f:40
+02ff:00c00000:0007:0085:1:0
+\86rtn\87 myestate
+p:BetaDigital,f:40
+1aff:00c00000:03fe:0001:1:0
+DIRECT 8
+p:OVERON,f:40
+21ff:00c00000:044c:0001:1:0
+13EME RUE
+p:CSAT,f:40
+6fff:00c00000:0436:0001:1:0
+MTV Music
+p:MTV Networks Europe,f:40
+74ff:00c00000:0420:0001:1:0
+C+ COMEDIA...30
+p:CMADOS,f:40
+75ff:00c00000:0408:0001:1:0
+CNN+
+p:CNN+,f:40
+6f00:00c00000:0445:0001:2:0
+DW 1
+p:ARD DW,f:40
+6f01:00c00000:0445:0001:2:0
+DW 4
+p:ARD DW,f:40
+0803:00c00000:0449:0035:2:0
+RTL RADIO
+p:CANALDIGITAAL,f:40
+6f03:00c00000:0445:0001:2:0
+hr1
+p:ARD HR,f:40
+6f04:00c00000:0445:0001:2:0
+hr2
+p:ARD HR,f:40
+6f05:00c00000:0445:0001:2:0
+hr3
+p:ARD HR,f:40
+6f06:00c00000:0445:0001:2:0
+hr4
+p:ARD HR,f:40
+6f07:00c00000:0445:0001:2:0
+YOU FM
+p:ARD HR,f:40
+6f08:00c00000:0445:0001:2:0
+hr iNFO
+p:ARD HR,f:40
+f208:00c00000:0421:0001:2:0
+Radio Horeb
+p:Eurociel,f:40
+6f09:00c00000:0445:0001:2:0
+hr iNFO +
+p:ARD HR,f:40
+f20a:00c00000:0421:0001:2:0
+RDC
+p:Polskie Radio-Regionalna,f:40
+6f0c:00c00000:0445:0001:2:0
+MDR1 SACHSEN 
+p:ARD MDR,f:40
+6f0d:00c00000:0445:0001:2:0
+MDR1 S-ANHALT
+p:ARD MDR,f:40
+6f0e:00c00000:0445:0001:2:0
+MDR1 THÜRINGEN
+p:ARD MDR,f:40
+6f0f:00c00000:0445:0001:2:0
+MDR FIGARO
+p:ARD MDR,f:40
+6f10:00c00000:0445:0001:2:0
+MDR JUMP
+p:ARD MDR,f:40
+6f11:00c00000:0445:0001:2:0
+MDR SPUTNIK
+p:ARD MDR,f:40
+6f12:00c00000:0445:0001:2:0
+MDR INFO
+p:ARD MDR,f:40
+6f15:00c00000:0445:0001:2:0
+NDR 2
+p:ARD NDR,f:40
+0816:00c00000:0449:0035:2:0
+RVi1 (VRT)
+p:CANALDIGITAAL,f:40
+6f16:00c00000:0445:0001:2:0
+NDR Kultur
+p:ARD NDR,f:40
+6f17:00c00000:0445:0001:2:0
+NDR Info
+p:ARD NDR,f:40
+6f18:00c00000:0445:0001:2:0
+N-JOY
+p:ARD NDR,f:40
+6f19:00c00000:0445:0001:2:0
+NDR 90,3
+p:ARD NDR,f:40
+6f1a:00c00000:0445:0001:2:0
+NDR 1 Welle Nord
+p:ARD NDR,f:40
+081b:00c00000:0449:0035:2:0
+RVi2 (VRT)
+p:CANALDIGITAAL,f:40
+6f1b:00c00000:0445:0001:2:0
+NDR 1 Radio MV
+p:ARD NDR,f:40
+6f1c:00c00000:0445:0001:2:0
+NDR 1 Niedersachsen
+p:ARD NDR,f:40
+6f1d:00c00000:0445:0001:2:0
+NDR Info Spezial
+p:ARD NDR,f:40
+6f20:00c00000:0445:0001:2:0
+Bremen Eins
+p:ARD RB,f:40
+6f21:00c00000:0445:0001:2:0
+Nordwestradio
+p:ARD RB,f:40
+6f22:00c00000:0445:0001:2:0
+Bremen Vier
+p:ARD RB,f:40
+6f24:00c00000:0445:0001:2:0
+InfoRadio
+p:ARD rbb,f:40
+6f25:00c00000:0445:0001:2:0
+kulturradio
+p:ARD rbb,f:40
+6f26:00c00000:0445:0001:2:0
+Antenne Brandenburg
+p:ARD rbb,f:40
+6f27:00c00000:0445:0001:2:0
+radioBERLIN 88,8
+p:ARD rbb,f:40
+6f28:00c00000:0445:0001:2:0
+radioeins
+p:ARD rbb,f:40
+6f29:00c00000:0445:0001:2:0
+Fritz
+p:ARD rbb,f:40
+6f2a:00c00000:0445:0001:2:0
+radiomultikulti
+p:ARD rbb,f:40
+f22a:00c00000:0421:0001:2:0
+CFN/RFC
+p:Canadian Forces Europe,f:40
+f22b:00c00000:0421:0001:2:0
+Radio neue Hoffnung
+p:RADIO Neue Hoffnung,f:40
+6f2d:00c00000:0445:0001:2:0
+SR1
+p:ARD SR,f:40
+6f2e:00c00000:0445:0001:2:0
+SR2
+p:ARD SR,f:40
+6f2f:00c00000:0445:0001:2:0
+SR3
+p:ARD SR,f:40
+f22f:00c00000:0421:0001:2:0
+RTBF International
+p:RTBF,f:40
+4331:00c00000:041d:0001:2:0
+Radio Maryja test
+p:TVP,f:40
+6f31:00c00000:0445:0001:2:0
+SWR1 BW
+p:ARD SWR,f:40
+6f32:00c00000:0445:0001:2:0
+SWR1 RP
+p:ARD SWR,f:40
+6f33:00c00000:0445:0001:2:0
+SWR2
+p:ARD SWR,f:40
+6f34:00c00000:0445:0001:2:0
+SWR3
+p:ARD SWR,f:40
+6f35:00c00000:0445:0001:2:0
+SWR4 BW
+p:ARD SWR,f:40
+6f36:00c00000:0445:0001:2:0
+SWR4 RP
+p:ARD SWR,f:40
+6f37:00c00000:0445:0001:2:0
+DASDING
+p:ARD SWR,f:40
+6f38:00c00000:0445:0001:2:0
+cont.ra
+p:ARD SWR,f:40
+213b:00c00000:0442:0001:2:0
+CANALSAT RADIOS
+p:CSAT,f:40
+6f3b:00c00000:0445:0001:2:0
+1LIVE
+p:ARD WDR,f:40
+6f3c:00c00000:0445:0001:2:0
+WDR 2
+p:ARD WDR,f:40
+6f3d:00c00000:0445:0001:2:0
+WDR 3
+p:ARD WDR,f:40
+6f3e:00c00000:0445:0001:2:0
+WDR 4
+p:ARD WDR,f:40
+6f3f:00c00000:0445:0001:2:0
+WDR 5
+p:ARD WDR,f:40
+2140:00c00000:0442:0001:2:0
+RADIO INT 2
+p:CSAT,f:40
+6f40:00c00000:0445:0001:2:0
+WDR Funkhaus Europa
+p:ARD WDR,f:40
+2141:00c00000:0442:0001:2:0
+RADIO INT
+p:CSAT,f:40
+3341:00c00000:045b:0001:2:0
+OE1
+p:ORF,f:40
+6f41:00c00000:0445:0001:2:0
+1LIVE diggi
+p:ARD WDR,f:40
+3342:00c00000:045b:0001:2:0
+OE1 DD
+p:ORF,f:40
+6f42:00c00000:0445:0001:2:0
+WDR 2 Klassik
+p:ARD WDR,f:40
+3343:00c00000:045b:0001:2:0
+OE2 W
+p:ORF,f:40
+6f43:00c00000:0445:0001:2:0
+WDR Event
+p:ARD WDR,f:40
+3344:00c00000:045b:0001:2:0
+OE2 N
+p:ORF,f:40
+3345:00c00000:045b:0001:2:0
+OE2 B
+p:ORF,f:40
+3346:00c00000:045b:0001:2:0
+OE2 O
+p:ORF,f:40
+2147:00c00000:0442:0001:2:0
+FRANCE MUSIQUE
+p:CSAT,f:40
+3347:00c00000:045b:0001:2:0
+OE2 S
+p:ORF,f:40
+2148:00c00000:0442:0001:2:0
+FIP
+p:CSAT,f:40
+3348:00c00000:045b:0001:2:0
+OE2 T
+p:ORF,f:40
+2149:00c00000:0442:0001:2:0
+France INFO
+p:CSAT,f:40
+3349:00c00000:045b:0001:2:0
+OE2 V
+p:ORF,f:40
+214a:00c00000:0442:0001:2:0
+France INTER
+p:CSAT,f:40
+334a:00c00000:045b:0001:2:0
+OE2 St
+p:ORF,f:40
+214b:00c00000:0442:0001:2:0
+FRANCE BLEU IDF
+p:CSAT,f:40
+334b:00c00000:045b:0001:2:0
+OE2 K
+p:ORF,f:40
+214c:00c00000:0442:0001:2:0
+RFI INT
+p:CSAT,f:40
+214d:00c00000:0442:0001:2:0
+RADIO CLASSIQUE
+p:CSAT,f:40
+334d:00c00000:045b:0001:2:0
+OE3
+p:ORF,f:40
+214e:00c00000:0442:0001:2:0
+EUROPE 1
+p:CSAT,f:40
+334e:00c00000:045b:0001:2:0
+FM4
+p:ORF,f:40
+214f:00c00000:0442:0001:2:0
+RMC
+p:CSAT,f:40
+334f:00c00000:045b:0001:2:0
+Ö1 International
+p:ORF,f:40
+2150:00c00000:0442:0001:2:0
+RTL
+p:CSAT,f:40
+2151:00c00000:0442:0001:2:0
+RIRE & CHANSONS
+p:CSAT,f:40
+2152:00c00000:0442:0001:2:0
+SUD RADIO
+p:CSAT,f:40
+2153:00c00000:0442:0001:2:0
+MC DOUALIYA
+p:CSAT,f:40
+2154:00c00000:0442:0001:2:0
+TSF
+p:CSAT,f:40
+3354:00c00000:045b:0001:2:0
+RADIO MARIA
+p:Radio Maria Österreich,f:40
+2155:00c00000:0442:0001:2:0
+NOSTALGIE
+p:CSAT,f:40
+2156:00c00000:0442:0001:2:0
+BFM
+p:CSAT,f:40
+2157:00c00000:0442:0001:2:0
+JAZZ RADIO
+p:CSAT,f:40
+2158:00c00000:0442:0001:2:0
+NRJ
+p:CSAT,f:40
+2159:00c00000:0442:0001:2:0
+VIRGIN RADIO
+p:CSAT,f:40
+215a:00c00000:0442:0001:2:0
+RTL 2
+p:CSAT,f:40
+215b:00c00000:0442:0001:2:0
+SKYROCK
+p:CSAT,f:40
+215c:00c00000:0442:0001:2:0
+FUN RADIO
+p:CSAT,f:40
+215d:00c00000:0442:0001:2:0
+LE MOUV
+p:CSAT,f:40
+215e:00c00000:0442:0001:2:0
+RADIO NOVA
+p:CSAT,f:40
+215f:00c00000:0442:0001:2:0
+RADIO FG
+p:CSAT,f:40
+2160:00c00000:0442:0001:2:0
+VIBRATION
+p:CSAT,f:40
+2161:00c00000:0442:0001:2:0
+CONTACT FM
+p:CSAT,f:40
+2162:00c00000:0442:0001:2:0
+RADIO LATINA
+p:CSAT,f:40
+2163:00c00000:0442:0001:2:0
+RFM
+p:CSAT,f:40
+2164:00c00000:0442:0001:2:0
+CHERIE FM
+p:CSAT,f:40
+2165:00c00000:0442:0001:2:0
+ALOUETTE
+p:CSAT,f:40
+2166:00c00000:0442:0001:2:0
+VOLTAGE
+p:CSAT,f:40
+2167:00c00000:0442:0001:2:0
+OUI FM
+p:CSAT,f:40
+2168:00c00000:0442:0001:2:0
+ADO
+p:CSAT,f:40
+2169:00c00000:0442:0001:2:0
+COULEUR 3
+p:CSAT,f:40
+216a:00c00000:0442:0001:2:0
+PARENTHESE RADIO
+p:CSAT,f:40
+216b:00c00000:0442:0001:2:0
+RADIO NOTRE-DAME
+p:CSAT,f:40
+316b:00c00000:0459:0001:2:0
+Inselradio
+p:T-Systems,f:40
+6f6b:00c00000:042c:0001:2:0
+CNN Radio
+p:CNN,f:40
+216c:00c00000:0442:0001:2:0
+RADIO ALPHA
+p:CSAT,f:40
+6d6c:00c00000:0437:0001:2:0
+DKULTUR
+p:ZDFvision,f:40
+216d:00c00000:0442:0001:2:0
+RCJ / SHALOM
+p:CSAT,f:40
+316d:00c00000:0459:0001:2:0
+radio top40
+p:T-Systems,f:40
+6d6d:00c00000:0437:0001:2:0
+DLF
+p:ZDFvision,f:40
+216e:00c00000:0442:0001:2:0
+BEUR FM
+p:CSAT,f:40
+316e:00c00000:0459:0001:2:0
+ffn digital
+p:T-Systems,f:40
+216f:00c00000:0442:0001:2:0
+BBC ARABIC
+p:CSAT,f:40
+316f:00c00000:0459:0001:2:0
+DefJay 100% R&B
+p:T-Systems,f:40
+2170:00c00000:0442:0001:2:0
+RFI MULTILINGUE
+p:CSAT,f:40
+3170:00c00000:0459:0001:2:0
+WRN Deutsch
+p:T-Systems,f:40
+1771:00c00000:0457:0001:2:0
+Radio Swiss Jazz
+p:TechniSat,f:40
+2171:00c00000:0442:0001:2:0
+RCI SAT
+p:CSAT,f:40
+3171:00c00000:0459:0001:2:0
+PEPPERMINT fm
+p:T-Systems,f:40
+6d71:00c00000:0437:0001:2:0
+Dok&Deb
+p:ZDFvision,f:40
+1772:00c00000:0457:0001:2:0
+RADIOROPA-Hörbuch 2
+p:TechniSat,f:40
+2172:00c00000:0442:0001:2:0
+MEDI 1
+p:CSAT,f:40
+3172:00c00000:0459:0001:2:0
+ffn Comedy
+p:T-Systems,f:40
+1773:00c00000:0457:0001:2:0
+Radio Swiss Pop
+p:TechniSat,f:40
+2173:00c00000:0442:0001:2:0
+France CULTURE
+p:CSAT,f:40
+3173:00c00000:0459:0001:2:0
+Radio Gloria
+p:Media Broadcast,f:40
+1774:00c00000:0457:0001:2:0
+Euroklassik 1
+p:TechniSat,f:40
+2174:00c00000:0442:0001:2:0
+WRN
+p:CSAT,f:40
+3174:00c00000:0459:0001:2:0
+HIT RADIO FFH
+p:T-Systems,f:40
+1775:00c00000:0457:0001:2:0
+Radio Viola
+p:TechniSat,f:40
+2175:00c00000:0442:0001:2:0
+BBCW SERVICE
+p:CSAT,f:40
+3175:00c00000:0459:0001:2:0
+planet radio
+p:T-Systems,f:40
+1776:00c00000:0457:0001:2:0
+Star*Sat Gold
+p:TechniSat,f:40
+2176:00c00000:0442:0001:2:0
+RADIO COURTOISIE
+p:CSAT,f:40
+3176:00c00000:0459:0001:2:0
+harmony.fm
+p:T-Systems,f:40
+1777:00c00000:0457:0001:2:0
+Star*Sat Country
+p:TechniSat,f:40
+1778:00c00000:0457:0001:2:0
+Star*Sat Hit-Express
+p:TechniSat,f:40
+1779:00c00000:0457:0001:2:0
+Radio Swiss Classic
+p:TechniSat,f:40
+177a:00c00000:0457:0001:2:0
+Star*Sat EASYTI
+p:TechniSat,f:40
+177b:00c00000:0457:0001:2:0
+Kinderradio 1/ Konzertsaal 1
+p:TechniSat,f:40
+177c:00c00000:0457:0001:2:0
+RADIOROPA-Hörbuch 1
+p:TechniSat,f:40
+177d:00c00000:0457:0001:2:0
+RADIOROPA-Hörbuch 3
+p:TechniSat,f:40
+177e:00c00000:0457:0001:2:0
+Star*Sat Melodie
+p:TechniSat,f:40
+177f:00c00000:0457:0001:2:0
+RADIOROPA-BERLIN
+p:TechniSat,f:40
+1780:00c00000:0457:0001:2:0
+Jazz Time
+p:TechniSat,f:40
+1781:00c00000:0457:0001:2:0
+Star*Sat Klassik
+p:TechniSat,f:40
+1783:00c00000:0457:0001:2:0
+RADIOROPA-Hörbuch 4
+p:TechniSat,f:40
+0096:00c00000:0001:0085:2:0
+\86P-D\87EUTSCHE\86 CHARTS\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0097:00c00000:0001:0085:2:0
+\86P-ROCK\87 HYMNEN
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0098:00c00000:0001:0085:2:0
+\86P-LOVE\87 SONGS
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+7598:00c00000:0422:0001:2:0
+RADIOS ESP
+p:DIGITAL+,f:40
+0099:00c00000:0001:0085:2:0
+P-60ER/70ER
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+009a:00c00000:0001:0085:2:0
+P-80ER/90ER
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+009b:00c00000:0001:0085:2:0
+\86P-RnB\87/HIP HOP
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+009c:00c00000:0001:0085:2:0
+\86P-COUNT\87RY
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+279c:00c00000:0444:0001:2:0
+DELUXE RADIO
+p:BetaDigital,f:40
+279d:00c00000:0444:0001:2:0
+DELUXE LOUNGE
+p:BetaDigital,f:40
+279e:00c00000:0444:0001:2:0
+TEDDY
+p:BetaDigital,f:40
+279f:00c00000:0444:0001:2:0
+APS.R12
+p:BetaDigital,f:40
+00a0:00c00000:0007:0085:2:0
+\86ROCK ANT\87ENNE
+p:BetaDigital,f:40
+27a0:00c00000:0444:0001:2:0
+APS.R13
+p:BetaDigital,f:40
+00a1:00c00000:0007:0085:2:0
+\86ERF\87 Radio
+p:BetaDigital,f:40
+27a1:00c00000:0444:0001:2:0
+APS.R14
+p:BetaDigital,f:40
+27a2:00c00000:0444:0001:2:0
+APS.R15
+p:BetaDigital,f:40
+13a7:00c00000:0455:0035:2:0
+NL-Radio 1
+p:CANALDIGITAAL,f:40
+13a8:00c00000:0455:0035:2:0
+NL-Radio 2
+p:CANALDIGITAAL,f:40
+00a9:00c00000:0007:0085:2:0
+\86sunshine\87 live
+p:BetaDigital,f:40
+13a9:00c00000:0455:0035:2:0
+NL-3FM
+p:CANALDIGITAAL,f:40
+00aa:00c00000:0007:0085:2:0
+\86ANTENNE\87 BAYERN
+p:BetaDigital,f:40
+13aa:00c00000:0455:0035:2:0
+NL-Radio 4
+p:CANALDIGITAAL,f:40
+00ab:00c00000:0005:0085:2:0
+domradio
+p:BetaDigital,f:40
+13ab:00c00000:0455:0035:2:0
+NL-Radio 5
+p:CANALDIGITAAL,f:40
+00ac:00c00000:0005:0085:2:0
+.
+p:BetaDigital,f:40
+00ad:00c00000:0005:0085:2:0
+\86Klassik\87 Radio
+p:BetaDigital,f:40
+00ae:00c00000:0005:0085:2:0
+\86OldieStar\87 Radio
+p:BetaDigital,f:40
+00b0:00c00000:0007:0085:2:0
+2255 Gewinnradio
+p:BetaDigital,f:40
+13ba:00c00000:0455:0035:2:0
+CAZ!
+p:CANALDIGITAAL,f:40
+0fbe:00c00000:0451:0035:2:0
+R538 Dance Department
+p:CANALDIGITAAL,f:40
+13bf:00c00000:0455:0035:2:0
+KINK FM
+p:CANALDIGITAAL,f:40
+0fc3:00c00000:0451:0035:2:0
+FunX
+p:CANALDIGITAAL,f:40
+13c4:00c00000:0455:0035:2:0
+RNW1
+p:CANALDIGITAAL,f:40
+13c5:00c00000:0455:0035:2:0
+RNW2
+p:CANALDIGITAAL,f:40
+13c6:00c00000:0455:0035:2:0
+RNW3
+p:CANALDIGITAAL,f:40
+0fc8:00c00000:0451:0035:2:0
+Classic FM
+p:CANALDIGITAAL,f:40
+0fcd:00c00000:0451:0035:2:0
+Q-Music
+p:CANALDIGITAAL,f:40
+13ce:00c00000:0455:0035:2:0
+Sky Radio
+p:CANALDIGITAAL,f:40
+13cf:00c00000:0455:0035:2:0
+Juize.FM
+p:CANALDIGITAAL,f:40
+13d0:00c00000:0455:0035:2:0
+Radio538
+p:CANALDIGITAAL,f:40
+13d8:00c00000:0455:0035:2:0
+NL-Radio 6
+p:CANALDIGITAAL,f:40
+13dd:00c00000:0455:0035:2:0
+Radio10Gold
+p:CANALDIGITAAL,f:40
+4fe2:00c00000:0407:0001:2:0
+\86Bartok Radio\87
+p:UPC Direct,f:40
+4fe3:00c00000:0407:0001:2:0
+\86Petofi Radio\87
+p:UPC Direct,f:40
+4fe4:00c00000:0407:0001:2:0
+\86Kossuth Radio\87
+p:UPC Direct,f:40
+13e7:00c00000:0455:0035:2:0
+Radio Veronica
+p:CANALDIGITAAL,f:40
+31ea:00c00000:045c:0035:2:0
+Radio 1 OLD
+p:TV Vlaanderen,f:40
+31ea:00c00000:045f:0035:2:0
+Radio 1
+p:TV Vlaanderen,f:40
+31eb:00c00000:045c:0035:2:0
+Radio 2 OLD
+p:TV Vlaanderen,f:40
+31eb:00c00000:045f:0035:2:0
+Radio 2
+p:TV Vlaanderen,f:40
+31ec:00c00000:045c:0035:2:0
+Donna OLD
+p:TV Vlaanderen,f:40
+31ec:00c00000:045f:0035:2:0
+Donna
+p:TV Vlaanderen,f:40
+31ed:00c00000:045c:0035:2:0
+Studio Brussel OLD
+p:TV Vlaanderen,f:40
+31ed:00c00000:045f:0035:2:0
+Studio Brussel
+p:TV Vlaanderen,f:40
+6eed:00c00000:04b1:0001:2:0
+MEHRKANALTEST
+p:ARD,f:40
+31ee:00c00000:045c:0035:2:0
+Klara OLD
+p:TV Vlaanderen,f:40
+31ee:00c00000:045f:0035:2:0
+Klara
+p:TV Vlaanderen,f:40
+6ef0:00c00000:0445:0001:2:0
+Bayern 1
+p:ARD BR,f:40
+6ef1:00c00000:0445:0001:2:0
+Bayern 2
+p:ARD BR,f:40
+31f2:00c00000:045c:0035:2:0
+Q-music
+p:TV Vlaanderen,f:40
+31f2:00c00000:045f:0035:2:0
+Q-music
+p:TV Vlaanderen,f:40
+6ef2:00c00000:0445:0001:2:0
+Bayern 3
+p:ARD BR,f:40
+31f3:00c00000:045c:0035:2:0
+4FM OLD
+p:TV Vlaanderen,f:40
+31f3:00c00000:045f:0035:2:0
+4FM
+p:TV Vlaanderen,f:40
+6ef3:00c00000:0445:0001:2:0
+Bayern 4 Klassik
+p:ARD BR,f:40
+6ef4:00c00000:0445:0001:2:0
+B5 aktuell
+p:ARD BR,f:40
+6ef5:00c00000:0445:0001:2:0
+Bayern Mobil
+p:ARD BR,f:40
+6ef6:00c00000:0445:0001:2:0
+on3radio
+p:ARD BR,f:40
+6ef7:00c00000:0445:0001:2:0
+BR Verkehr
+p:ARD BR,f:40
+6ef8:00c00000:0445:0001:2:0
+B5 plus
+p:ARD BR,f:40
+1afe:00c00000:03fe:0001:2:0
+Radio Aragon
+p:OVERON,f:40
+0c13:00c00000:0457:0001:12:0
+MMS02C
+p:SES ASTRA,f:40
+1c20:00c00000:0457:0001:12:0
+Proxy GAC 1.111
+p:SES ASTRA,f:40
+1c24:00c00000:0457:0001:12:0
+Icomera
+p:SES ASTRA,f:40
+1c27:00c00000:0457:0001:12:0
+MFTS Services
+p:SES ASTRA,f:40
+1c29:00c00000:0457:0001:12:0
+AN PTU
+p:SES ASTRA,f:40
+1c2c:00c00000:0457:0001:12:0
+tvtv premium
+p:SES ASTRA,f:40
+1c2e:00c00000:0457:0001:12:0
+STB Globalteq
+p:SES ASTRA,f:40
+1c35:00c00000:0457:0001:12:0
+STB Arion
+p:SES ASTRA,f:40
+1c36:00c00000:0457:0001:12:0
+Orbit Movies FP
+p:SES ASTRA,f:40
+1c39:00c00000:0457:0001:12:0
+STB Technisat
+p:,f:40
+1c3d:00c00000:0457:0001:12:0
+ASTON DOWNLOAD
+p:ASTON,f:40
+1c42:00c00000:0457:0001:12:0
+STB Loewe
+p:SES ASTRA,f:40
+3145:00c00000:0459:0001:12:0
+RAPS
+p:T-Systems,f:40
+1c47:00c00000:0457:0001:12:0
+ProArzt
+p:SES ASTRA,f:40
+1c50:00c00000:0457:0001:12:0
+tvtv Digital
+p:SES ASTRA,f:40
+1c51:00c00000:0457:0001:12:0
+STB Bang-Olufsen
+p:SES ASTRA,f:40
+1c53:00c00000:0457:0001:12:0
+STB Pesi
+p:SES ASTRA,f:40
+1c54:00c00000:0457:0001:12:0
+FP URMET
+p:SES ASTRA,f:40
+1c56:00c00000:0457:0001:12:0
+STB Siemens
+p:SES ASTRA,f:40
+6e5a:00c00000:0431:0001:12:0
+ARD-MHP-Data
+p:ARD,f:40
+185c:00c00000:0457:0001:12:0
+Proxy_txp2
+p:ses astra,f:40
+185d:00c00000:0457:0001:12:0
+VPN TXP-2
+p:ses astra,f:40
+1c60:00c00000:0457:0001:12:0
+STB Comag1
+p:SES ASTRA,f:40
+1c63:00c00000:0457:0001:12:0
+STB Panasonic
+p:SES ASTRA,f:40
+1c66:00c00000:0457:0001:12:0
+Datendienst T1M
+p:,f:40
+1c67:00c00000:0457:0001:12:0
+STB2 Globalteq
+p:SES ASTRA,f:40
+1c69:00c00000:0457:0001:12:0
+tvtv RP
+p:SES ASTRA,f:40
+1c6f:00c00000:0457:0001:12:0
+tvtv DIGITAL
+p:SES ASTRA,f:40
+1c70:00c00000:0457:0001:12:0
+KaCTFL
+p:,f:40
+1c73:00c00000:0457:0001:12:0
+VS Unique Promo
+p:SES ASTRA,f:40
+2773:00c00000:0402:0001:12:0
+Data System
+p:ASTRA,f:40
+0f77:00c00000:0005:0085:12:0
+BData6
+p:BetaDigital,f:40
+0f79:00c00000:0005:0085:12:0
+moreTV
+p:BetaDigital,f:40
+0f80:00c00000:0002:0085:12:0
+
+p:betaresearch,f:40
+0f82:00c00000:0021:0085:12:0
+BData1
+p:BetaDigital,f:40
+0f83:00c00000:0021:0085:12:0
+BData2
+p:BetaDigital,f:40
+0f86:00c00000:0001:0085:12:0
+BData3
+p:BetaDigital,f:40
+0f87:00c00000:0007:0085:12:0
+BData4
+p:BetaDigital,f:40
+3390:00c00000:045d:0001:12:0
+AlphaCrypt
+p:ORF,f:40
+2fa4:00c00000:0454:0001:12:0
+PVR service
+p:GIST,f:40
+0fa5:00c00000:0011:0085:12:0
+Samsung CAB IPDL
+p:,f:40
+0fa6:00c00000:0011:0085:12:0
+Philips dic 2221 IPDL
+p:,f:40
+0fa7:00c00000:0011:0085:12:0
+Thomson SAT IPDL
+p:,f:40
+0dac:00c00000:0002:0085:12:0
+CPT_TP69
+p:PREMIERE,f:40
+0dad:00c00000:0001:0085:12:0
+CPT_TP83
+p:PREMIERE,f:40
+0dae:00c00000:0003:0085:12:0
+CPT_TP65
+p:PREMIERE,f:40
+0daf:00c00000:0004:0085:12:0
+CPT_TP81
+p:PREMIERE,f:40
+0db0:00c00000:0011:0085:12:0
+CPT_TP67
+p:PREMIERE,f:40
+0fb5:00c00000:0004:0085:12:0
+Thomson CAB IPDL
+p:,f:40
+0fb6:00c00000:0004:0085:12:0
+Philips DIS2221 IPDL
+p:,f:40
+33b8:00c00000:045b:0001:12:0
+KAONMEDIA DOWNLOAD
+p:KAON,f:40
+33c2:00c00000:045b:0001:12:0
+OnL OTA
+p:ORF,f:40
+27c4:00c00000:0444:0001:12:0
+moreTV
+p:BetaDigital,f:40
+27c5:00c00000:0444:0001:12:0
+more TV 01
+p:,f:40
+27c6:00c00000:0444:0001:12:0
+more TV 02
+p:,f:40
+27c7:00c00000:0444:0001:12:0
+more TV 03
+p:,f:40
+27c8:00c00000:0444:0001:12:0
+more TV 04
+p:,f:40
+27cb:00c00000:0444:0001:12:0
+more TV 07
+p:,f:40
+79e1:00c00000:0443:0001:12:0
+Guide Plus+
+p:Gemstar-TV Guide Europe,f:40
+1ee6:00c00000:0457:0001:12:0
+SGI_1111
+p:SES ASTRA,f:40
+0ffa:00c00000:0451:0035:12:0
+Downl Philips
+p:CANALDIGITAAL,f:40
+0081:00c00000:0006:0085:25:0
+\86PREM\87IERE\86 HD\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0082:00c00000:0006:0085:25:0
+\86DISC\87OVERY\86 HD\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0083:00c00000:0006:0085:25:0
+ASTRA HD+
+p:BetaDigital,f:40
+0084:00c00000:0006:0085:25:0
+ANIXE HD
+p:BetaDigital,f:40
+258c:00c00000:0458:0001:25:0
+
+p:CSAT,f:40
+74cc:00c00000:03f8:0001:25:0
+CANAL+ HD
+p:DIGITAL+,f:40
+f1e0:00c00000:0421:0001:25:0
+ORF 1 HD
+p:ORF,f:40
+1c23:00c00000:0457:0001:128:0
+STB Setone
+p:SES ASTRA,f:40
+1c2a:00c00000:0457:0001:128:0
+STB Handan
+p:SES ASTRA,f:40
+1c2b:00c00000:0457:0001:128:0
+STB Hyundai
+p:SES ASTRA,f:40
+1c38:00c00000:0457:0001:128:0
+STB Skardin
+p:SES ASTRA,f:40
+1c3a:00c00000:0457:0001:128:0
+STB Philips
+p:SES ASTRA,f:40
+1c3b:00c00000:0457:0001:128:0
+STB Opentech
+p:SES ASTRA,f:40
+1c49:00c00000:0457:0001:128:0
+STB GSS
+p:SES ASTRA,f:40
+1c4b:00c00000:0457:0001:128:0
+STB Inverto
+p:SES ASTRA,f:40
+1c4f:00c00000:0457:0001:128:0
+Topfield
+p:SES ASTRA,f:40
+1c57:00c00000:0457:0001:128:0
+STB Adimo
+p:SES ASTRA,f:40
+1c58:00c00000:0457:0001:128:0
+GRUNDIG DVB
+p:SES ASTRA,f:40
+1c59:00c00000:0457:0001:128:0
+Nokia SW Update2
+p:SES ASTRA,f:40
+1c5b:00c00000:0457:0001:128:0
+Opentech
+p:SES ASTRA,f:40
+1c5c:00c00000:0457:0001:128:0
+SKYMASTER1
+p:SES ASTRA,f:40
+1c5d:00c00000:0457:0001:128:0
+STB DMT
+p:SES ASTRA,f:40
+1c5f:00c00000:0457:0001:128:0
+SKYMASTER2
+p:SES ASTRA,f:40
+1c65:00c00000:0457:0001:128:0
+STB Homecast
+p:SES ASTRA,f:40
+1c6d:00c00000:0457:0001:128:0
+STB Sandmartin
+p:SES ASTRA,f:40
+0bba:00c00000:0457:0001:128:0
+MMS1111A
+p:SES ASTRA,f:40
+000c:00c00000:0454:0001:129:0
+ASTRA SDT
+p:SES ASTRA,f:40
+000d:00c00000:0457:0001:129:0
+ASTRA SDT
+p:SES ASTRA,f:40
+1c34:00c00000:0457:0001:129:0
+Samsung2
+p:SES ASTRA,f:40
+33a4:00c00000:045d:0001:129:0
+VESTEL OAD2
+p:ORF,f:40
+33ae:00c00000:045d:0001:129:0
+VESTEL DOWNLOAD
+p:ORF,f:40
+74d3:00c00000:03f8:0001:129:0
+
+p:DIGITAL+,f:40
+00e1:00c00000:0447:0001:129:0
+PHILIPS DOWNLOAD 1.1
+p:WIZJA 1,f:40
+00e2:00c00000:0447:0001:129:0
+PHILIPS DOWNLOAD 1.2
+p:UPC DIRECT,f:40
+00e3:00c00000:0447:0001:129:0
+NAGRA DOWNLOAD
+p:UPC Direct,f:40
+00e4:00c00000:0447:0001:129:0
+HUMAX DOWNLOAD
+p:UPC Direct,f:40
+13eb:00c00000:0455:0035:129:0
+Downl
+p:CANALDIGITAAL,f:40
+1c30:00c00000:0457:0001:130:0
+HUMAX DOWNLOAD SVC
+p:SES ASTRA,f:40
+0066:00c00000:045c:0035:130:0
+HUMAX DOWNLOAD SVC
+p:,f:40
+0066:00c00000:045f:0035:130:0
+HUMAX DOWNLOAD SVC
+p:,f:40
+1932:00c00000:03fa:0001:132:0
+01 03 01 47
+p:CSAT,f:40
+193c:00c00000:03fa:0001:132:0
+01 03 04 51
+p:CSAT,f:40
+2067:00c00000:0430:0001:132:0
+01 04 04 51
+p:CSAT,f:40
+2068:00c00000:0430:0001:132:0
+01 04 01 47
+p:CSAT,f:40
+21cc:00c00000:0448:0001:132:0
+01 06 01 47
+p:CSAT,f:40
+21cd:00c00000:0448:0001:132:0
+01 07 01 47
+p:CSAT,f:40
+21ce:00c00000:0448:0001:132:0
+01 08 01 47
+p:CSAT,f:40
+21d6:00c00000:0448:0001:132:0
+01 06 04 51
+p:CSAT,f:40
+21d7:00c00000:0448:0001:132:0
+01 07 04 51
+p:CSAT,f:40
+21d8:00c00000:0448:0001:132:0
+01 08 04 51
+p:CSAT,f:40
+206a:00c00000:0430:0001:135:0
+CDSA
+p:CSAT,f:40
+2185:00c00000:0442:0001:135:0
+RADIO 1
+p:CSAT,f:40
+2186:00c00000:0442:0001:135:0
+RADIO 2
+p:CSAT,f:40
+2187:00c00000:0442:0001:135:0
+RADIO 3
+p:CSAT,f:40
+2188:00c00000:0442:0001:135:0
+RADIO FRANCE
+p:CSAT,f:40
+239d:00c00000:044a:0001:135:0
+BIENVENUE SUR ASTRA
+p:CSAT,f:40
+239f:00c00000:044a:0001:135:0
+EPG
+p:CSAT,f:40
+21c2:00c00000:0448:0001:135:0
+MOSA 2
+p:CSAT,f:40
+21c3:00c00000:0448:0001:135:0
+MOSA 3
+p:CSAT,f:40
+21c4:00c00000:0448:0001:135:0
+MOSA 4
+p:CSAT,f:40
+21c5:00c00000:0448:0001:135:0
+MOSA 5
+p:CSAT,f:40
+21c6:00c00000:0448:0001:135:0
+BIENVENUE SUR ASTRA
+p:CSAT,f:40
+2142:00c00000:0442:0001:138:0
+CANALSAT RADIOS
+p:CSAT,f:40
+2274:00c00000:0438:0001:138:0
+A LA CARTE
+p:CSAT,f:40
+239e:00c00000:044a:0001:138:0
+ESPACE CLIENT
+p:CSAT,f:40
+23a7:00c00000:044a:0001:138:0
+SITE 16/9
+p:IMEDIA,f:40
+21cf:00c00000:0448:0001:139:0
+02 01 01 83
+p:CSAT,f:40
+21d0:00c00000:0448:0001:139:0
+02 02 01 83
+p:CSAT,f:40
+21d1:00c00000:0448:0001:139:0
+02 04 01 83
+p:CSAT,f:40
+21d2:00c00000:0448:0001:139:0
+02 05 01 83
+p:IMEDIA,f:40
+21d3:00c00000:0448:0001:139:0
+02 06 01 83
+p:CSAT,f:40
+21d9:00c00000:0448:0001:139:0
+02 01 04 87
+p:CSAT,f:40
+21da:00c00000:0448:0001:139:0
+02 02 04 87
+p:CSAT,f:40
+21db:00c00000:0448:0001:139:0
+02 04 04 87
+p:CSAT,f:40
+21dc:00c00000:0448:0001:139:0
+02 05 04 87
+p:CSAT,f:40
+21dd:00c00000:0448:0001:139:0
+02 06 04 87
+p:CSAT,f:40
+1c83:00c00000:0457:0001:170:0
+Kathrein Download
+p:SES ASTRA,f:40
+1c33:00c00000:0457:0001:171:0
+SEMCO Download
+p:SES ASTRA,f:40
+1c3c:00c00000:0457:0001:171:0
+STB Radix
+p:RADIXdownload,f:40
+1c40:00c00000:0457:0001:171:0
+STB SMEL
+p:SES ASTRA,f:40
+1c4e:00c00000:0457:0001:171:0
+STB Aston2
+p:ASTON,f:40
+1c5a:00c00000:0457:0001:171:0
+STB Radix 128kbps
+p:RADIXdownload,f:40
+1c6c:00c00000:0457:0001:171:0
+HDS Europe
+p:SES ASTRA,f:40
+1c6e:00c00000:0457:0001:171:0
+STB Strong
+p:SES ASTRA,f:40
+0070:00c00000:045c:0035:171:0
+STB Technisat
+p:SES ASTRA,f:40
+0070:00c00000:045f:0035:171:0
+STB Technisat
+p:SES ASTRA,f:40
+1c76:00c00000:0457:0001:171:0
+STB SRADIX
+p:SES ASTRA,f:40
+0a82:00c00000:0004:0085:178:0
+Videotext
+p:BetaResearch,f:40
+0a94:00c00000:0011:0085:178:0
+TM V1.0
+p:Premiere World,f:40
+23b5:00c00000:044a:0001:192:0
+CODE DOWN
+p:CSAT,f:40
+23b6:00c00000:044a:0001:192:0
+DOWNLOAD MMAX SAGEM
+p:CSAT,f:40
+23b7:00c00000:044a:0001:192:0
+DOWNLOAD MMAX PHILIPS
+p:CSAT,f:40
+23b8:00c00000:044a:0001:192:0
+DOWNLOAD DUALS PHILIPS
+p:CSAT,f:40
+2007:00c00000:0434:0001:193:0
+DATA SYSTEM\8676\87
+p:CSAT,f:40
+251b:00c00000:043c:0001:193:0
+DATASYSTEM 84
+p:CSAT,f:40
+2327:00c00000:045a:0001:193:0
+DATASYSTEM \86114\87
+p:CSAT,f:40
+2133:00c00000:043e:0001:193:0
+DATA SYSTEM[86]
+p:CSAT,f:40
+233c:00c00000:0400:0001:193:0
+DATASYSTEMS TR 24
+p:CANALSATELLITE,f:40
+2647:00c00000:045e:0001:193:0
+DATA SYSTEM \86118\87
+p:CSAT,f:40
+1b58:00c00000:03fc:0001:193:0
+DATA SYSTEM
+p:CSAT,f:40
+1b58:00c00000:03fe:0001:193:0
+DATA SYSTEM
+p:CSAT,f:40
+225f:00c00000:044c:0001:193:0
+DATA SYSTEM[100]
+p:CSAT,f:40
+1963:00c00000:03fa:0001:193:0
+DATA SYSTEM \8618\87
+p:CSAT,f:40
+206b:00c00000:0430:0001:193:0
+DATA SYSTEM[72]
+p:CSAT,f:40
+6f71:00c00000:042c:0001:193:0
+DATA_SYS_68
+p:DT CSAT,f:40
+257f:00c00000:0440:0001:193:0
+DATASYSTEM 88
+p:CSAT,f:40
+0a83:00c00000:0004:0085:193:0
+NDS Applikation
+p:PREMIERE,f:40
+2197:00c00000:0442:0001:193:0
+DATA SYSTEM[90]
+p:CSAT,f:40
+1fa3:00c00000:042e:0001:193:0
+DATA SYSTEM[70]
+p:CSAT,f:40
+26ab:00c00000:0460:0001:193:0
+DATA SYSTEM \86120\87
+p:CSAT,f:40
+22c3:00c00000:0438:0001:193:0
+DATA SYSTEM\8680\87
+p:CSAT,f:40
+42cb:00c00000:0446:0001:193:0
+DATA SYSTEM TR94
+p:ABSAT,f:40
+20cf:00c00000:0432:0001:193:0
+DATA SYSTEM\8674\87
+p:CSAT,f:40
+25e3:00c00000:0458:0001:193:0
+DATA SYSTEM \86112\87
+p:CSAT,f:40
+6fea:00c00000:042a:0001:193:0
+Data_System_TR_66
+p:MTV Networks Europe,f:40
+23ef:00c00000:044a:0001:193:0
+DATA SYSTEM[98]
+p:CSAT,f:40
+21fb:00c00000:0448:0001:193:0
+DATA SYSTEM[96]
+p:CSAT,f:40
+6ffe:00c00000:0436:0001:193:0
+DATA SYSTEM TR 78
+p:MTV Networks Europe,f:40
+2012:00c00000:0430:0001:197:0
+PMU sur Canal+
+p:CSAT,f:40
+219c:00c00000:0448:0001:197:0
+MOSA 2
+p:CSAT,f:40
+219d:00c00000:0448:0001:197:0
+MOSA 3
+p:CSAT,f:40
+21a2:00c00000:0448:0001:197:0
+MOSA 5
+p:CSAT,f:40
+21a6:00c00000:0448:0001:197:0
+MOSA 4
+p:CSAT,f:40
+23c0:00c00000:044a:0001:197:0
+DT3
+p:CSAT,f:40
+213d:00c00000:0442:0001:198:0
+CANALSAT RADIOS
+p:CSAT,f:40
+213e:00c00000:0442:0001:198:0
+RADIOS 2
+p:CSAT,f:40
+213f:00c00000:0442:0001:198:0
+RADIOS 3
+p:CSAT,f:40
+2146:00c00000:0442:0001:198:0
+RF
+p:CSAT,f:40
+end
+Have a lot of bugs!
diff --git a/packages/enigma2/enigma2-defaultservices/sat130.info b/packages/enigma2/enigma2-defaultservices/sat130.info
new file mode 100644 (file)
index 0000000..f397d74
--- /dev/null
@@ -0,0 +1,17 @@
+<default>
+       <prerequisites>
+               <tag type="services" />
+               <bcastsystem type="DVB-S" />
+               <satellite type="130" />
+       </prerequisites>
+       
+       <info>
+               <author>tmbinc@elitedvb.net</author>
+               <name>Hotbird (13.0E)</name>
+       </info>
+
+       <files type="directories">
+               <file type="services" name="lamedb.130">
+               </file>
+       </files>
+</default>
diff --git a/packages/enigma2/enigma2-defaultservices/sat192.info b/packages/enigma2/enigma2-defaultservices/sat192.info
new file mode 100644 (file)
index 0000000..d4cf2f4
--- /dev/null
@@ -0,0 +1,17 @@
+<default>
+       <prerequisites>
+               <tag type="services" />
+               <bcastsystem type="DVB-S" />
+               <satellite type="192" />
+       </prerequisites>
+       
+       <info>
+               <author>tmbinc@elitedvb.net</author>
+               <name>Astra (19.2E)</name>
+       </info>
+
+       <files type="directories">
+               <file type="services" name="lamedb.192">
+               </file>
+       </files>
+</default>
diff --git a/packages/enigma2/enigma2-plugins.bb b/packages/enigma2/enigma2-plugins.bb
new file mode 100644 (file)
index 0000000..a026ac6
--- /dev/null
@@ -0,0 +1,51 @@
+DESCRIPTION = "Additional plugins for Enigma2"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRCDATE = "20081023"
+
+PACKAGES_DYNAMIC = "enigma2-plugin-*"
+
+REL_MAJOR="2"
+REL_MINOR="5"
+TAG = ""
+
+PV = "${REL_MAJOR}.${REL_MINOR}cvs${SRCDATE}"
+
+SRC_URI = "cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/enigma2-plugins;module=enigma2-plugins;method=pserver${TAG};date=${SRCDATE}"
+FILES_${PN} += " /usr/share/enigma2 /usr/share/fonts "
+
+inherit autotools
+
+S = "${WORKDIR}/enigma2-plugins"
+
+DEPENDS = "${@get_version_depends(bb, d)}"
+DEPENDS += "enigma2"
+
+def get_version_depends(bb, d):
+       if bb.data.getVar('REL_MINOR', d, 1) > '4':
+               return "python-pyopenssl"
+       return ""
+
+python populate_packages_prepend () {
+       enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
+
+       do_split_packages(d, enigma2_plugindir, '(.*?/.*?)/.*', 'enigma2-plugin-%s', 'Enigma2 Plugin: %s', recursive=True, match_path=True, prepend=True)
+
+       def getControlLines(mydir, d, package):
+               import os
+               try:
+                       src = open(mydir + package + "/CONTROL/control").read()
+               except IOError:
+                       return
+               for line in src.split("\n"):
+                       if line.startswith('Package: '):
+                               full_package = line[9:]
+                       if line.startswith('Depends: '):
+                               bb.data.setVar('RDEPENDS_' + full_package, ' '.join(line[9:].split(', ')), d)
+                       if line.startswith('Description: '):
+                               bb.data.setVar('DESCRIPTION_' + full_package, line[13:], d)
+
+       mydir = bb.data.getVar('D', d, 1) + "/../enigma2-plugins/"
+       for package in bb.data.getVar('PACKAGES', d, 1).split():
+               getControlLines(mydir, d, package.split('-')[-1])
+}
diff --git a/packages/enigma2/enigma2-skins.bb b/packages/enigma2/enigma2-skins.bb
new file mode 100644 (file)
index 0000000..612b838
--- /dev/null
@@ -0,0 +1,32 @@
+DESCRIPTION = "Skins for Enigma2"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRCDATE = "20080912"
+
+# if you want experimental, use:
+#REL_MAJOR="2"
+#REL_MINOR="5"
+#TAG = ""
+
+# if you want a 2.4-based release, use
+REL_MAJOR="2"
+REL_MINOR="4"
+TAG = ";tag=${PN}_rel${REL_MAJOR}${REL_MINOR}"
+
+REL_MINOR_dm8000="5"
+TAG_dm8000=""
+
+PV = "${REL_MAJOR}.${REL_MINOR}cvs${SRCDATE}"
+
+SRC_URI = "cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/enigma2-skins;module=enigma2-skins;method=pserver${TAG};date=${SRCDATE}"
+FILES_${PN} += " /usr/share/enigma2 /usr/share/fonts "
+
+inherit autotools
+
+S = "${WORKDIR}/enigma2-skins"
+
+python populate_packages_prepend () {
+       if bb.data.expand('${REL_MINOR}', d) != "4":
+               enigma2_skindir = bb.data.expand('${datadir}/enigma2', d)
+               do_split_packages(d, enigma2_skindir, '(.*?)/.*', 'enigma2-skin-%s', 'Enigma2 Skin: %s', recursive=True, match_path=True, prepend=True)
+}
diff --git a/packages/enigma2/enigma2-streamproxy.bb b/packages/enigma2/enigma2-streamproxy.bb
new file mode 100644 (file)
index 0000000..22a9b59
--- /dev/null
@@ -0,0 +1,11 @@
+DESCRIPTION = "streamproxy manages streaming data to a PC using enigma2"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRCDATE = "20080728"
+PV = "1.0cvs${SRCDATE}"
+
+SRC_URI = "cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/streamproxy;module=enigma2-streamproxy;method=pserver"
+
+inherit autotools
+
+S = "${WORKDIR}/enigma2-streamproxy"
diff --git a/packages/enigma2/enigma2.bb b/packages/enigma2/enigma2.bb
new file mode 100644 (file)
index 0000000..c6d1940
--- /dev/null
@@ -0,0 +1,79 @@
+DESCRIPTION = "Enigma2 is an experimental, but useful framebuffer-based frontend for DVB functions"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+DEPENDS = "jpeg libungif libmad libpng libsigc++-1.2 gettext-native \
+       dreambox-dvbincludes freetype libdvbsi++ python swig-native  \
+       gstreamer gst-plugins-good gst-plugins-bad gst-plugins-ugly \
+       libfribidi libxmlccwrap libdreamdvd tuxbox-tuxtxt-32bpp"
+RDEPENDS = "python-codecs python-core python-lang python-re python-threading \
+       python-xml python-fcntl python-elementtree gst-plugin-decodebin python-stringold \
+       gst-plugin-id3demux gst-plugin-mad gst-plugin-ogg gst-plugin-playbin \
+       gst-plugin-typefindfunctions gst-plugin-ivorbis gst-plugin-audioconvert \
+       gst-plugin-wavparse python-netclient gst-plugin-mpegstream gst-plugin-selector \
+       gst-plugin-flac"
+
+RDEPENDS_append_dm7020 = " gst-plugin-ossaudio"
+RDEPENDS_append_dm7025 = " gst-plugin-alsa alsa-conf"
+RDEPENDS_append_dm8000 = " gst-plugin-alsa alsa-conf gst-plugin-avi gst-plugin-matroska \
+       gst-plugin-subparse eglibc-gconv-iso8859-15 gst-plugin-cdxaparse"
+RDEPENDS_append_dm800 = " gst-plugin-alsa alsa-conf"
+
+DESCRIPTION_append_enigma2-plugin-extensions-cutlisteditor = "enables you to cut your movies."
+DESCRIPTION_append_enigma2-plugin-extensions-graphmultiepg = "shows a graphical timeline EPG."
+DESCRIPTION_append_enigma2-plugin-extensions-pictureplayer = "displays photos on the TV."
+DESCRIPTION_append_enigma2-plugin-systemplugins-configurationbackup = "backs up your configuration and restores them optionally."
+DESCRIPTION_append_enigma2-plugin-systemplugins-frontprocessorupdate = "keeps your frontprocessor up to date."
+DESCRIPTION_append_enigma2-plugin-systemplugins-positionersetup = "helps you installing a motorized dish."
+DESCRIPTION_append_enigma2-plugin-systemplugins-satelliteequipmentcontrol = "allows you to fine-tune DiSEqC-settings."
+DESCRIPTION_append_enigma2-plugin-systemplugins-satfinder = "helps you to align your dish."
+DESCRIPTION_append_enigma2-plugin-systemplugins-skinselector = "shows a menu with selectable skins."
+DESCRIPTION_append_enigma2-plugin-systemplugins-videomode = "selects advanced video modes"
+RDEPENDS_enigma2-plugin-extensions-dvdplayer = "libdreamdvd0"
+
+export LD="${CXX}"
+
+PN = "enigma2"
+PR = "r0"
+SRCDATE = "20081030"
+SRCREV = "da3cacbbf835122eaa1b5e3810a23e9264561eec"
+
+# if you want experimental, use:
+REL_MAJOR="2"
+REL_MINOR="5"
+TAG = ""
+
+PV = "${REL_MAJOR}.${REL_MINOR}git${SRCDATE}"
+
+SRC_URI = "git://git.opendreambox.org/git/enigma2.git;proto=git \
+       file://enigma2.sh"
+
+SRC_URI_append_dm7025 = " file://enigma2-disable-iframesearch.patch;patch=1;pnum=1"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${datadir}/fonts"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--enable-maintainer-mode --with-target=native --with-libsdl=no"
+
+do_install_append() {
+       install -m 0755 ${WORKDIR}/enigma2.sh ${D}/usr/bin/
+}
+
+python populate_packages_prepend () {
+       enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
+
+       do_split_packages(d, enigma2_plugindir, '(.*?/.*?)/.*', 'enigma2-plugin-%s', '%s ', recursive=True, match_path=True, prepend=True)
+}
+
+do_stage_append() {
+       install -d ${STAGING_INCDIR}/enigma2
+       install -m 0644 ${S}/include/*.h ${STAGING_INCDIR}/enigma2
+       for dir in actions base components driver dvb dvb/lowlevel dvb_ci gdi gui mmi nav python service; do
+               install -d ${STAGING_INCDIR}/enigma2/lib/$dir;
+               install -m 0644 ${S}/lib/$dir/*.h ${STAGING_INCDIR}/enigma2/lib/$dir;
+       done
+}
diff --git a/packages/enigma2/enigma2/enigma2-disable-iframesearch.patch b/packages/enigma2/enigma2/enigma2-disable-iframesearch.patch
new file mode 100644 (file)
index 0000000..7301027
--- /dev/null
@@ -0,0 +1,13 @@
+Index: enigma2/lib/dvb/dvb.cpp
+===================================================================
+--- enigma2.orig/lib/dvb/dvb.cpp       2008-04-11 19:01:56.000000000 +0200
++++ enigma2/lib/dvb/dvb.cpp    2008-04-11 19:02:15.000000000 +0200
+@@ -845,7 +845,7 @@
+       }
+ #endif
+-#if 1 /* not yet */
++#if 0 /* not yet */
+       if (!m_iframe_search)
+               return len;
diff --git a/packages/enigma2/enigma2/enigma2.sh b/packages/enigma2/enigma2/enigma2.sh
new file mode 100644 (file)
index 0000000..b9fb45e
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+/usr/bin/showiframe /boot/backdrop.mvi
+
+cd /home/root
+LD_PRELOAD=/usr/lib/libopen.so.0.0 /usr/bin/enigma2
+
+# enigma2 exit codes:
+#
+# 0 - restart enigma
+# 1 - halt
+# 2 - reboot
+#
+# >128 signal
+
+ret=$?
+case $ret in
+       1)
+               /sbin/halt
+               ;;
+       2)
+               /sbin/reboot
+               ;;
+       4)
+               /sbin/rmmod lcd
+               /usr/sbin/fpupgrade --upgrade 2>&1 | tee /home/root/fpupgrade.log
+               sleep 1;
+               /sbin/rmmod fp
+               /sbin/modprobe fp
+               /sbin/reboot
+               ;;
+       *)
+               ;;
+esac
diff --git a/packages/enigma2/enigma2/tuxtxt_caching.patch b/packages/enigma2/enigma2/tuxtxt_caching.patch
new file mode 100644 (file)
index 0000000..daf2d68
--- /dev/null
@@ -0,0 +1,321 @@
+Index: enigma2/lib/python/Components/UsageConfig.py
+===================================================================
+--- enigma2/lib/python/Components/UsageConfig.py       (revision 5639)
++++ enigma2/lib/python/Components/UsageConfig.py       (working copy)
+@@ -1,6 +1,6 @@
+ from Components.Harddisk import harddiskmanager
+ from config import ConfigSubsection, ConfigYesNo, config, ConfigSelection, ConfigText, ConfigNumber, ConfigSet
+-from enigma import Misc_Options, setTunerTypePriorityOrder;
++from enigma import Misc_Options, setTunerTypePriorityOrder, setEnableTtCachingOnOff;
+ from SystemInfo import SystemInfo
+ import os
+@@ -17,6 +17,7 @@
+       config.usage.show_infobar_on_zap = ConfigYesNo(default = True)
+       config.usage.show_infobar_on_skip = ConfigYesNo(default = True)
+       config.usage.show_infobar_on_event_change = ConfigYesNo(default = True)
++      config.usage.enable_tt_caching = ConfigYesNo(default = True)
+       config.usage.hdd_standby = ConfigSelection(default = "120", choices = [
+               ("0", _("no standby")), ("2", "10 " + _("seconds")), ("6", "30 " + _("seconds")),
+               ("12", "1 " + _("minute")), ("24", "2 " + _("minutes")),
+@@ -56,7 +56,11 @@
+       config.usage.blinking_display_clock_during_recording = ConfigYesNo(default = False)
+       config.usage.load_length_of_movies_in_moviellist = ConfigYesNo(default = True)
+-      
++
++      def EnableTtCachingChanged(configElement):
++              setEnableTtCachingOnOff(int(configElement.value))
++      config.usage.enable_tt_caching.addNotifier(EnableTtCachingChanged)
++
+       def TunerTypePriorityOrderChanged(configElement):
+               setTunerTypePriorityOrder(int(configElement.value))
+       config.usage.alternatives_priority.addNotifier(TunerTypePriorityOrderChanged)
+Index: enigma2/lib/python/enigma_python.i
+===================================================================
+--- enigma2/lib/python/enigma_python.i (revision 5639)
++++ enigma2/lib/python/enigma_python.i (working copy)
+@@ -87,6 +87,7 @@
+ #include <lib/dvb/pmt.h>
+ #include <lib/components/scan.h>
+ #include <lib/components/file_eraser.h>
++#include <lib/components/tuxtxtapp.h>
+ #include <lib/driver/avswitch.h>
+ #include <lib/driver/rfmod.h>
+ #include <lib/driver/misc_options.h>
+@@ -160,6 +161,9 @@
+ %immutable eAVSwitch::vcr_sb_notifier;
+ %immutable ePythonMessagePump::recv_msg;
+ %immutable eDVBLocalTimeHandler::m_timeUpdated;
++%immutable eTuxtxtApp::appClosed;
++%immutable eTuxtxtApp::dataAvail;
++%immutable eTuxtxtApp::dataSent;
+ %include <lib/base/message.h>
+ %include <lib/base/console.h>
+ %include <lib/base/nconfig.h>
+@@ -205,6 +209,7 @@
+ %include <lib/dvb/pmt.h>
+ %include <lib/components/scan.h>
+ %include <lib/components/file_eraser.h>
++%include <lib/components/tuxtxtapp.h>
+ %include <lib/driver/avswitch.h>
+ %include <lib/driver/rfmod.h>
+ %include <lib/driver/misc_options.h>
+@@ -309,6 +314,15 @@
+ }
+ %}
++void setEnableTtCachingOnOff(int);
++%{
++void setEnableTtCachingOnOff(int onoff)
++{
++      eTuxtxtApp *tt = eTuxtxtApp::getInstance();
++      if (tt) tt->setEnableTtCachingOnOff(onoff);
++}
++%}
++
+ /************** temp *****************/
+       /* need a better place for this, i agree. */
+Index: enigma2/lib/components/Makefile.am
+===================================================================
+--- enigma2/lib/components/Makefile.am (revision 5639)
++++ enigma2/lib/components/Makefile.am (working copy)
+@@ -3,4 +3,4 @@
+ noinst_LIBRARIES = libenigma_components.a
+-libenigma_components_a_SOURCES = scan.cpp file_eraser.cpp
++libenigma_components_a_SOURCES = scan.cpp file_eraser.cpp tuxtxtapp.cpp
+Index: enigma2/lib/dvb/decoder.cpp
+===================================================================
+--- enigma2/lib/dvb/decoder.cpp        (revision 5639)
++++ enigma2/lib/dvb/decoder.cpp        (working copy)
+@@ -1,6 +1,7 @@
+ #include <lib/base/ebase.h>
+ #include <lib/base/eerror.h>
+ #include <lib/dvb/decoder.h>
++#include <lib/components/tuxtxtapp.h>
+ #if HAVE_DVB_API_VERSION < 3 
+ #define audioStatus audio_status
+ #define videoStatus video_status
+@@ -880,14 +881,24 @@
+       if (m_changed & changeText)
+       {
+               if (m_text)
++              {
+                       m_text->stop();
++                      if ( m_decoder == 0 )   // Tuxtxt caching actions only on primary decoder
++                              eTuxtxtApp::getInstance()->stopCaching();
++              }
+               m_text = 0;
+               if ((m_textpid >= 0) && (m_textpid < 0x1FFF) && !nott)
+               {
+                       m_text = new eDVBTText(m_demux);
+                       if (m_text->startPid(m_textpid))
+                               res = -1;
++
++                      if ( m_decoder == 0 )   // Tuxtxt caching actions only on primary decoder
++                              eTuxtxtApp::getInstance()->startCaching(m_textpid);
+               }
++              else if ( m_decoder == 0 )      // Tuxtxt caching actions only on primary decoder
++                      eTuxtxtApp::getInstance()->resetPid();
++
+               m_changed &= ~changeText;
+       }
+ #endif
+@@ -938,10 +949,16 @@
+       demux->connectEvent(slot(*this, &eTSMPEGDecoder::demux_event), m_demux_event_conn);
+       CONNECT(m_showSinglePicTimer.timeout, eTSMPEGDecoder::finishShowSinglePic);
+       m_is_ff = m_is_sm = m_is_trickmode = 0;
++      
++      if ( m_decoder == 0 )   // Tuxtxt caching actions only on primary decoder
++              eTuxtxtApp::getInstance()->initCache();
+ }
+ eTSMPEGDecoder::~eTSMPEGDecoder()
+ {
++      if ( m_decoder == 0 )   // Tuxtxt caching actions only on primary decoder
++              eTuxtxtApp::getInstance()->freeCache();
++
+       finishShowSinglePic();
+       m_vpid = m_apid = m_pcrpid = m_textpid = pidNone;
+       m_changed = -1;
+Index: data/setup.xml
+===================================================================
+RCS file: /cvs/enigma2/data/setup.xml,v
+retrieving revision 1.48
+diff -u -r1.48 setup.xml
+--- enigma2/data/setup.xml     5 Oct 2008 22:37:19 -0000       1.48
++++ enigma2/data/setup.xml     21 Oct 2008 22:54:10 -0000
+@@ -23,6 +23,7 @@
+                       <item level="0" text="Margin after record">config.recording.margin_after</item>
+                       <item level="0" text="Show blinking clock in display during recording">config.usage.blinking_display_clock_during_recording</item>
+                       <item level="2" text="Load Length of Movies in Movielist">config.usage.load_length_of_movies_in_moviellist</item>
++                      <item level="1" text="Enable teletext caching">config.usage.enable_tt_caching</item>
+                       <item level="1" text="Show positioner movement">config.usage.showdish</item>
+                       <item level="1" text="Enable multiple bouquets">config.usage.multibouquet</item>
+                       <item level="1" text="Change bouquets in quickzap">config.usage.quickzap_bouquet_change</item>
+Index: enigma2/main/Makefile.am
+===================================================================
+--- enigma2/main/Makefile.am   (revision 5639)
++++ enigma2/main/Makefile.am   (working copy)
+@@ -52,7 +52,7 @@
+       @LIBUNGIF_LIBS@ \
+       @XML2_LIBS@ \
+       @XMLCCWRAP_LIBS@ \
+-      -ldl -lpthread -lcrypt -lresolv -lrt
++      -ldl -lpthread -lcrypt -lresolv -lrt -ltuxtxt32bpp
+ enigma2$(EXEEXT): $(enigma2_OBJECTS) $(enigma2_DEPENDENCIES) $(enigma2_LDADD_WHOLE)
+ #     @rm -f enigma2$(EXEEXT)
+--- enigma2_orig/lib/components/tuxtxtapp.cpp  1970-01-01 00:00:00.000000000 +0000
++++ enigma2/lib/components/tuxtxtapp.cpp       2008-10-04 18:26:04.000000000 +0200
+@@ -0,0 +1,112 @@
++#include <lib/components/tuxtxtapp.h>
++#include <lib/base/init.h>
++#include <lib/base/init_num.h>
++#include <lib/driver/rc.h>
++#include <lib/gdi/lcd.h>
++#include <lib/gdi/fb.h>
++
++extern "C" int tuxtxt_run_ui(int pid);
++extern "C" int tuxtxt_init();
++extern "C" void tuxtxt_start(int tpid);
++extern "C" int tuxtxt_stop();
++extern "C" void tuxtxt_close();
++
++eAutoInitP0<eTuxtxtApp> init_eTuxtxtApp(eAutoInitNumbers::lowlevel, "Tuxtxt");
++eTuxtxtApp *eTuxtxtApp::instance;
++
++eTuxtxtApp::eTuxtxtApp() : pid(0), enableTtCaching(false), uiRunning(false)
++{
++      pthread_mutex_init( &cacheChangeLock, 0 );
++      if (!instance)
++              instance=this;
++}
++
++eTuxtxtApp::~eTuxtxtApp()
++{
++      if (instance==this)
++              instance=0;
++      kill();
++      pthread_mutex_destroy( &cacheChangeLock );
++}
++
++int eTuxtxtApp::startUi()
++{
++      if (pid)
++      {
++              pthread_mutex_lock( &cacheChangeLock );
++              uiRunning = true;
++              pthread_mutex_unlock( &cacheChangeLock );
++              eDBoxLCD::getInstance()->lock();
++              eRCInput::getInstance()->lock();
++              fbClass::getInstance()->lock();
++              run();
++      }
++      return 0;
++}
++
++void eTuxtxtApp::thread()
++{
++      hasStarted();
++      tuxtxt_run_ui(pid);
++}
++
++void eTuxtxtApp::thread_finished()
++{
++      uiRunning = false;
++      fbClass::getInstance()->unlock();
++      eRCInput::getInstance()->unlock();
++      eDBoxLCD::getInstance()->unlock();
++}
++
++void eTuxtxtApp::initCache()
++{
++      if (enableTtCaching)
++              tuxtxt_init();
++}
++
++void eTuxtxtApp::freeCache()
++{
++      pthread_mutex_lock( &cacheChangeLock );
++      if ( !uiRunning )
++      {
++              tuxtxt_close();
++              pid = 0;
++      }
++      pthread_mutex_unlock( &cacheChangeLock );
++}
++
++void eTuxtxtApp::startCaching( int tpid )
++{
++      pid = tpid;
++      if (enableTtCaching)
++              tuxtxt_start(tpid);
++}
++
++void eTuxtxtApp::stopCaching()
++{
++      pthread_mutex_lock( &cacheChangeLock );
++      if ( !uiRunning )
++              tuxtxt_stop();
++
++      pthread_mutex_unlock( &cacheChangeLock );
++}
++
++void eTuxtxtApp::setEnableTtCachingOnOff( int onoff )
++{
++      if (onoff && !enableTtCaching)          // Switch caching on
++      {
++              enableTtCaching = true;
++              if (pid)
++              {
++                      initCache();
++                      startCaching(pid);
++              }
++      }
++      else if (!onoff && enableTtCaching)     // Switch caching off
++      {
++              enableTtCaching = false;
++              int savePid = pid;
++              freeCache();
++              pid = savePid;
++      }
++}
+--- enigma2_orig/lib/components/tuxtxtapp.h    1970-01-01 00:00:00.000000000 +0000
++++ enigma2/lib/components/tuxtxtapp.h 2008-10-04 18:26:04.000000000 +0200
+@@ -0,0 +1,32 @@
++#ifndef __LIB_COMPONENTS_TUXTXTAPP_H__
++#define __LIB_COMPONENTS_TUXTXTAPP_H__
++
++#include <string>
++#include <lib/base/ebase.h>
++#include <lib/base/thread.h>
++
++class eTuxtxtApp: private eThread, public Object
++{
++#ifndef SWIG
++      int pid;
++      bool enableTtCaching, uiRunning;
++      static eTuxtxtApp *instance;
++      pthread_mutex_t cacheChangeLock;
++
++      void thread();
++      void thread_finished();
++#endif
++public:
++      eTuxtxtApp();
++      ~eTuxtxtApp();
++      static eTuxtxtApp *getInstance() { return instance; }
++      int startUi();
++      void initCache();
++      void freeCache();
++      void startCaching( int tpid );
++      void stopCaching();
++      void resetPid() { pid = 0; }
++      void setEnableTtCachingOnOff( int onoff );
++};
++
++#endif // __LIB_COMPONENTS_TUXTXTAPP_H__
diff --git a/packages/fakelocale/fakelocale.bb b/packages/fakelocale/fakelocale.bb
new file mode 100644 (file)
index 0000000..eea8944
--- /dev/null
@@ -0,0 +1,44 @@
+DESCRIPTION = "Fake locale support"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+PR = "r1"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/fakelocale.tar.gz file://locale.alias"
+
+S = "${WORKDIR}/fakelocale"
+
+LOCALEDIR = "${libdir}/locale"
+LOCALEDIR2 = "/usr/share/locale"
+
+LANGUAGES = "ar_AE cs_CZ da_DK de_DE el_GR es_ES et_EE fi_FI fr_FR hr_HR \
+       hu_HU is_IS it_IT lt_LT nl_NL no_NO pl_PL pt_PT ro_RO ru_RU sk_SK sl_SI \
+       sr_YU sv_SE tr_TR ur_IN"
+
+RPROVIDES = "virtual-locale-ar virtual-locale-cs virtual-locale-da \
+       virtual-locale-de virtual-locale-el virtual-locale-es virtual-locale-et \
+       virtual-locale-fi virtual-locale-fr virtual-locale-hr virtual-locale-hu \
+       virtual-locale-is virtual-locale-it virtual-locale-lt virtual-locale-nl \
+       virtual-locale-no virtual-locale-pl virtual-locale-pt virtual-locale-ro \
+       virtual-locale-ru virtual-locale-sk virtual-locale-sl virtual-locale-sr \
+       virtual-locale-sv virtual-locale-tr virtual-locale-ur"
+
+LOCALE_FILES = " LC_TIME LC_TELEPHONE LC_PAPER LC_NUMERIC LC_NAME LC_MONETARY LC_MESSAGES/SYS_LC_MESSAGES LC_MEASUREMENT \
+       LC_IDENTIFICATION LC_CTYPE LC_COLLATE LC_ADDRESS"
+
+do_install() {
+       install -d ${D}${LOCALEDIR}/fake/LC_MESSAGES
+       install -d ${D}${LOCALEDIR2}
+
+       for x in ${LOCALE_FILES}; do
+               install ${S}/$x ${D}${LOCALEDIR}/fake/$x
+       done
+       
+       for lang in ${LANGUAGES}; do
+               ln -s fake ${D}${LOCALEDIR}/${lang}
+       done
+
+       install ${WORKDIR}/locale.alias ${D}${LOCALEDIR2}
+}
+
+FILES_${PN} = "${LOCALEDIR} ${LOCALEDIR2}"
diff --git a/packages/fakelocale/files/locale.alias b/packages/fakelocale/files/locale.alias
new file mode 100644 (file)
index 0000000..d946272
--- /dev/null
@@ -0,0 +1,27 @@
+English C
+Arabic ar_AE
+Czech cs_CZ
+Danish da_DK
+Deutsch de_DE
+Ellinika el_GR
+Spanish es_ES
+Estonian et_EE
+Suomi fi_FI
+French fr_FR
+Croatia hr_HR
+Hungarian hu_HU
+Icelandic is_IS
+Italian it_IT
+Lithuanian lt_LT
+Dutch nl_NL
+Norwegian no_NO
+Polish pl_PL
+Portugues pt_PT
+Romania ro_RO
+Russian ru_RU
+Slovakian sk_SK
+Slovenian sl_SI
+Serbian sr_YU
+Svenska sv_SE
+Turkish tr_TR
+Urdu ur_IN
\ No newline at end of file
diff --git a/packages/freetype/freetype-2.0.9/install.mk.patch b/packages/freetype/freetype-2.0.9/install.mk.patch
new file mode 100644 (file)
index 0000000..f07443b
--- /dev/null
@@ -0,0 +1,74 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- freetype-2.0.9/builds/unix/install.mk      2004-11-11 20:18:08.000000000 +0100
++++ freetype-2.0.9/builds/unix/install.mk      2004-11-11 20:17:32.000000000 +0100
+@@ -17,42 +17,42 @@
+ # Unix installation and deinstallation targets.
+ install: $(PROJECT_LIBRARY)
+-      $(MKINSTALLDIRS) $(libdir)                                 \
+-                         $(includedir)/freetype2/freetype/config   \
+-                         $(includedir)/freetype2/freetype/internal \
+-                         $(includedir)/freetype2/freetype/cache    \
+-                         $(bindir)
+-      $(LIBTOOL) --mode=install $(INSTALL) $(PROJECT_LIBRARY) $(libdir)
++      $(MKINSTALLDIRS) $(DESTDIR)$(libdir)                                 \
++                         $(DESTDIR)$(includedir)/freetype2/freetype/config   \
++                         $(DESTDIR)$(includedir)/freetype2/freetype/internal \
++                         $(DESTDIR)$(includedir)/freetype2/freetype/cache    \
++                         $(DESTDIR)$(bindir)
++      $(LIBTOOL) --mode=install $(INSTALL) $(PROJECT_LIBRARY) $(DESTDIR)$(libdir)
+       -for P in $(PUBLIC_H) ; do                               \
+-          $(INSTALL_DATA) $$P $(includedir)/freetype2/freetype ; \
++          $(INSTALL_DATA) $$P $(DESTDIR)$(includedir)/freetype2/freetype ; \
+         done
+       -for P in $(BASE_H) ; do                                          \
+-          $(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/internal ; \
++          $(INSTALL_DATA) $$P $(DESTDIR)$(includedir)/freetype2/freetype/internal ; \
+         done
+       -for P in $(CONFIG_H) ; do                                      \
+-          $(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/config ; \
++          $(INSTALL_DATA) $$P $(DESTDIR)$(includedir)/freetype2/freetype/config ; \
+         done
+       -for P in $(CACHE_H) ; do                                      \
+-          $(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/cache ; \
++          $(INSTALL_DATA) $$P $(DESTDIR)$(includedir)/freetype2/freetype/cache ; \
+         done
+-      $(INSTALL_DATA) $(BUILD)/ft2unix.h $(includedir)/ft2build.h
++      $(INSTALL_DATA) $(BUILD)/ft2unix.h $(DESTDIR)$(includedir)/ft2build.h
+       $(INSTALL_SCRIPT) -m 755 $(BUILD)/freetype-config \
+-          $(bindir)/freetype-config
++          $(DESTDIR)$(bindir)/freetype-config
+ uninstall:
+-      -$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/$(LIBRARY).$A
+-      -$(DELETE) $(includedir)/freetype2/freetype/cache/*
+-      -$(DELDIR) $(includedir)/freetype2/freetype/cache
+-      -$(DELETE) $(includedir)/freetype2/freetype/config/*
+-      -$(DELDIR) $(includedir)/freetype2/freetype/config
+-      -$(DELETE) $(includedir)/freetype2/freetype/internal/*
+-      -$(DELDIR) $(includedir)/freetype2/freetype/internal
+-      -$(DELETE) $(includedir)/freetype2/freetype/*
+-      -$(DELDIR) $(includedir)/freetype2/freetype
+-      -$(DELDIR) $(includedir)/freetype2
+-      -$(DELETE) $(includedir)/ft2build.h
+-      -$(DELETE) $(bindir)/freetype-config
++      -$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(LIBRARY).$A
++      -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/cache/*
++      -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/cache
++      -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/config/*
++      -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/config
++      -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/internal/*
++      -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/internal
++      -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/*
++      -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype
++      -$(DELDIR) $(DESTDIR)$(includedir)/freetype2
++      -$(DELETE) $(DESTDIR)$(includedir)/ft2build.h
++      -$(DELETE) $(DESTDIR)$(bindir)/freetype-config
+ .PHONY: clean_project_unix distclean_project_unix
diff --git a/packages/freetype/freetype_2.0.9.bb b/packages/freetype/freetype_2.0.9.bb
new file mode 100644 (file)
index 0000000..5c5f074
--- /dev/null
@@ -0,0 +1,35 @@
+SECTION = "libs"
+LICENSE = "freetype"
+DESCRIPTION = "Freetype font rendering library"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \
+          file://install.mk.patch;patch=1"
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += " ${bindir}"
+
+inherit autotools  pkgconfig
+
+LIBTOOL = "${S}/builds/unix/${HOST_SYS}-libtool"
+EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
+
+do_configure () {
+       cd builds/unix
+       libtoolize --force
+       gnu-configize
+       aclocal -I .
+       autoconf
+       cd ${S}
+       oe_runconf
+}
+
+do_stage () {
+       oe_libinstall -so -a -C objs libfreetype ${STAGING_LIBDIR}
+
+       cp -a ${S}/include/*.h ${STAGING_INCDIR}
+       install -d ${STAGING_INCDIR}/freetype2
+       cp -a ${S}/include/freetype ${STAGING_INCDIR}/freetype2/
+
+       sed -e 's,${prefix},${STAGING_LIBDIR}/..,' < builds/unix/freetype-config > ${STAGING_BINDIR}/freetype-config
+       chmod u+x ${STAGING_BINDIR}/freetype-config
+}
diff --git a/packages/gstreamer/gst-plugin-dvbmediasink.bb b/packages/gstreamer/gst-plugin-dvbmediasink.bb
new file mode 100644 (file)
index 0000000..543a225
--- /dev/null
@@ -0,0 +1,21 @@
+DESCRIPTION = "Plugin for gstreamer: dvbmediasink"
+SECTION = "multimedia"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@openembedded.org>"
+DEPENDS = "gstreamer"
+PV = "0.10+${SRCDATE}"
+PR = "r0"
+
+inherit autotools pkgconfig
+
+SRCDATE = "20081005"
+
+SRC_URI = "cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/dvbmediasink;module=dvbmediasink;method=pserver"
+
+S = "${WORKDIR}/dvbmediasink"
+
+FILES_${PN} = "${libdir}/gstreamer-0.10/*.so*"
+
+do_stage() {
+       autotools_stage_all
+}
diff --git a/packages/gstreamer/gst-plugin-fluendo-mpegdemux_0.10.15.bb b/packages/gstreamer/gst-plugin-fluendo-mpegdemux_0.10.15.bb
new file mode 100644 (file)
index 0000000..cf7b9d7
--- /dev/null
@@ -0,0 +1,19 @@
+DESCRIPTION = "Plugin for gstreamer: fluendo-mpegdemux"
+SECTION = "multimedia"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@openembedded.org>"
+DEPENDS = "gstreamer"
+PR = "r0"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://core.fluendo.com/gstreamer/src/gst-fluendo-mpegdemux/gst-fluendo-mpegdemux-${PV}.tar.gz"
+S = "${WORKDIR}/gst-fluendo-mpegdemux-${PV}"
+
+FILES_${PN} = "${libdir}/gstreamer-0.10/*.so*"
+
+acpaths = "-I ${S}/common/m4 -I ${S}/m4"
+
+do_stage() {
+       autotools_stage_all
+}
index 5d06a3c..6ecc37d 100644 (file)
@@ -3,7 +3,7 @@ require gst-plugins.inc
 SRC_URI += "file://vorbisenc.h file://vorbisdec.h \
             file://gst-plugins-directfb-fix.patch;patch=1;pnum=2 \
             file://ivorbis-thumb.patch;patch=1"
-DEPENDS += "gst-plugins-base directfb"
+DEPENDS += "gst-plugins-base"
 
 do_compile_prepend() {
        # work around missing files in upstream tarball (upstream bug #454078)
diff --git a/packages/gstreamer/gst-plugins-bad_0.10.8.bb b/packages/gstreamer/gst-plugins-bad_0.10.8.bb
new file mode 100644 (file)
index 0000000..bd2180f
--- /dev/null
@@ -0,0 +1,4 @@
+require gst-plugins.inc
+
+SRC_URI += "file://gst-plugins-directfb-fix.patch;patch=1;pnum=2"
+DEPENDS += "gst-plugins-base"
index d2fd547..bcea909 100644 (file)
@@ -6,7 +6,7 @@ PROVIDES += "gst-plugins"
 # if alsa has been built and is present.  You will
 # not get an error if this is not present, just 
 # a missing alsa plugin
-DEPENDS += "alsa-lib libsm virtual/libx11 freetype gnome-vfs libxv"
+DEPENDS += "alsa-lib freetype"
 
 PR = "r4"
 
diff --git a/packages/gstreamer/gst-plugins-base_0.10.20.bb b/packages/gstreamer/gst-plugins-base_0.10.20.bb
new file mode 100644 (file)
index 0000000..84531f4
--- /dev/null
@@ -0,0 +1,12 @@
+require gst-plugins.inc
+
+PROVIDES += "gst-plugins"
+
+# gst-plugins-base only builds the alsa plugin
+# if alsa has been built and is present.  You will
+# not get an error if this is not present, just 
+# a missing alsa plugin
+DEPENDS += "alsa-lib"
+
+PR = "r0"
+
diff --git a/packages/gstreamer/gst-plugins-good_0.10.10.bb b/packages/gstreamer/gst-plugins-good_0.10.10.bb
new file mode 100644 (file)
index 0000000..1eef1c7
--- /dev/null
@@ -0,0 +1,5 @@
+require gst-plugins.inc
+PR = "r0"
+
+EXTRA_OECONF += "--with-check=no"
+DEPENDS += "gst-plugins-base"
index ac3a5e7..1d50b96 100644 (file)
@@ -1,10 +1,10 @@
 require gst-plugins.inc
 PR = "r2"
 
-inherit gconf 
+#inherit gconf 
 
 EXTRA_OECONF += "--with-check=no"
-DEPENDS += "gst-plugins-base esound"
+DEPENDS += "gst-plugins-base"
 
-PACKAGES =+ "gst-plugin-gconfelements"
-FILES_gst-plugin-gconfelements += "${sysconfdir}/gconf"
+#PACKAGES =+ "gst-plugin-gconfelements"
+#FILES_gst-plugin-gconfelements += "${sysconfdir}/gconf"
index d7ff21d..3ed528f 100644 (file)
@@ -1,10 +1,9 @@
 require gst-plugins.inc
 PR = "r0"
 
+DEPENDS += "gst-plugins-base libsidplay"
 EXTRA_OECONF_append_openmoko = "--disable-mad"
 
-DEPENDS += "gst-plugins-base mpeg2dec libsidplay"
-
 SRC_URI += "\
 #  file://cross-compile.patch;patch=1 \
   file://gstmad_16bit.patch;patch=1 \
diff --git a/packages/gstreamer/gst-plugins-ugly_0.10.9.bb b/packages/gstreamer/gst-plugins-ugly_0.10.9.bb
new file mode 100644 (file)
index 0000000..ff1150a
--- /dev/null
@@ -0,0 +1,16 @@
+require gst-plugins.inc
+PR = "r0"
+
+DEPENDS += "gst-plugins-base ${@get_depends(bb, d)}"
+SRC_URI += "${@get_src_uri(bb, d)}"
+
+def get_src_uri(bb, d):
+       if bb.data.getVar('DISTRO', d, 1) in [ 'opendreambox' ]:
+               return ""
+       return "file://gstmad_16bit.patch;patch=1 " \
+               "file://gstsid_autofoo_HACK.patch;patch=1"
+
+def get_depends(bb, d):
+       if bb.data.getVar('DISTRO', d, 1) in [ 'opendreambox' ]:
+               return ""
+       return "libsidplay"
diff --git a/packages/gstreamer/gst-plugins.bb b/packages/gstreamer/gst-plugins.bb
new file mode 100644 (file)
index 0000000..17f0200
--- /dev/null
@@ -0,0 +1,2 @@
+DEPENDS = "gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad"
+PACKAGES_DYNAMIC = "gst-plugin-*"
index f8447ee..efb7af3 100644 (file)
@@ -2,12 +2,14 @@ require gst-common.inc
 DESCRIPTION = "Plugins for GStreamer"
 DEPENDS = "gstreamer libmikmod liboil libogg tremor libvorbis libid3tag"
 DEPENDS += "${@base_conditional('DISTRO', 'openmoko', '', 'libmad', d)}"
+DEPENDS += "${@base_conditional('DISTRO', 'openmoko', '', 'libmad neon flac libmatroska"
 
 PACKAGES_DYNAMIC = "gst-plugin-*"
 
 SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2"
 
 EXTRA_OECONF = "--disable-aalib --disable-shout2 --disable-sdl --disable-cdaudio --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR} "
+EXTRA_OECONF_opendreambox = "--disable-x --disable-aalib --disable-esd --disable-shout2 --disable-sdl --with-check=no --enable-neon"
 
 acpaths = "-I ${S}/common/m4 -I ${S}/m4"
 
diff --git a/packages/gstreamer/gstreamer_0.10.20.bb b/packages/gstreamer/gstreamer_0.10.20.bb
new file mode 100644 (file)
index 0000000..0536121
--- /dev/null
@@ -0,0 +1,6 @@
+require gstreamer.inc
+
+PR = "r0"
+
+SRC_URI += "file://po-makefile-fix.patch;patch=1"
+
diff --git a/packages/hddtemp/hddtemp_0.3-beta15.bb b/packages/hddtemp/hddtemp_0.3-beta15.bb
new file mode 100644 (file)
index 0000000..2fa0072
--- /dev/null
@@ -0,0 +1,17 @@
+SECTION = "console/utils"
+DESCRIPTION = "hddtemp is a small utility that gives you the temperature of your hard drive by reading S.M.A.R.T. informations"
+LICENSE = "GPL"
+
+SRC_URI = "http://www.guzu.net/files/hddtemp-${PV}.tar.bz2 \
+       http://www.guzu.net/linux/hddtemp.db"
+
+S = "${WORKDIR}/hddtemp-${PV}"
+
+FILES_${PN} += "/usr/share/misc/hddtemp.db"
+
+inherit autotools
+
+do_install_append() {
+       install -d ${D}/usr/share/misc
+       install -m 0644 ${WORKDIR}/hddtemp.db ${D}/usr/share/misc
+}
diff --git a/packages/hotplug-ng/hotplug-ng.bb b/packages/hotplug-ng/hotplug-ng.bb
new file mode 100644 (file)
index 0000000..b337a51
--- /dev/null
@@ -0,0 +1,27 @@
+DESCRIPTION = "This collection of code replaces the existing linux-hotplug \
+package with very tiny, compiled executable programs, instead of the \
+existing bash scripts."
+LICENSE = "GPL"
+RPROVIDES_${PN} = "hotplug"
+RCONFLICTS_${PN} = "hotplug"
+RREPLACES_${PN} = "hotplug"
+
+SRC_URI = "svn://svn.schwerkraft.elitedvb.net/svnroot;module=hotplug-ng"
+SRCDATE = "20080527"
+PV = "2.0cvs${SRCDATE}"
+
+S = "${WORKDIR}/hotplug-ng/trunk"
+
+LD = "${CC}"
+export HOSTCC = "${BUILD_CC}"
+CFLAGS = " -I${S}/libsysfs/sysfs"
+# Stripping should be done when _packaging_, not building
+EXTRA_OEMAKE += "'STRIP=/bin/true'"
+
+export etcdir = "${sysconfdir}"
+export sbindir = "${base_sbindir}"
+export bindir = "${base_bindir}"
+
+do_install () {
+       oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/packages/images/dreambox-image.bb b/packages/images/dreambox-image.bb
new file mode 100644 (file)
index 0000000..9ee6100
--- /dev/null
@@ -0,0 +1,141 @@
+export IMAGE_BASENAME = "dreambox-image"
+
+OPENDREAMBOX_COMMON = "task-boot \
+       ipkg opkg-nogpg dropbear \
+       ncurses joe mc vsftpd timezones-alternative \
+       netkit-base fakelocale less dreambox-bootlogo  \
+       dreambox-dccamd dreambox-keymaps tuxbox-image-info dvbsnoop \
+       dreambox-compat tuxbox-common mrouted smartmontools hddtemp \
+       hotplug-ng autofs gdbserver dreambox-feed-configs"
+
+OPENDREAMBOX_COMMON_D = "util-linux e2fsprogs \
+       ppp module-init-tools"
+
+OPENDREAMBOX_COMMON_R = "util-linux-sfdisk util-linux-fdisk e2fsprogs-mke2fs \
+       e2fsprogs-e2fsck ppp module-init-tools-depmod \
+       base-files-doc"
+
+# experimental packages
+OPENDREAMBOX_EXPERIMENTAL = "python-twisted enigma2"
+OPENDREAMBOX_EXPERIMENTAL_R = "enigma2-plugin-systemplugins-frontprocessorupgrade \
+       enigma2-plugin-systemplugins-softwareupdate \
+       enigma2-plugin-systemplugins-positionersetup \
+       enigma2-plugin-extensions-cutlisteditor \
+       enigma2-plugin-systemplugins-configurationbackup \
+       enigma2-plugin-systemplugins-satfinder \
+       enigma2-plugin-systemplugins-videotune \
+       enigma2-plugin-extensions-mediascanner \
+       enigma2-plugin-extensions-graphmultiepg \
+       enigma2-plugin-systemplugins-skinselector \
+       enigma2-plugin-extensions-pictureplayer \
+       enigma2-plugin-extensions-mediaplayer \
+       enigma2-plugin-systemplugins-hotplug \
+       enigma2-streamproxy \
+       python-twisted-web python-twisted python-crypt python-pycrypto \
+       python-netserver python-pickle dreambox-blindscan-utils"
+
+#      enigma2-plugin-extensions-webinterface is disabled until we fixed it to use twisted-web instead of twisted-web2
+
+#this packages dont exist with enigma2, enigma2-plugins 2.4
+OPENDREAMBOX_EXPERIMENTAL_R_append_dm8000 = " \
+       enigma2-plugin-systemplugins-defaultservicesscanner \
+       enigma2-defaultservices \
+       enigma2-plugin-systemplugins-networkwizard"
+
+# legacy tuxbox stuff (enigma, plugins, ...)
+OPENDREAMBOX_TUXBOX = "enigma ipkgpl"
+OPENDREAMBOX_TUXBOX_D = "tuxbox-plugins tuxbox-plugins-enigma links-dream"
+OPENDREAMBOX_TUXBOX_R = " \
+       tuxbox-plugin-snake     tuxbox-plugin-tuxmail \
+       tuxbox-plugin-lcdcirc   tuxbox-plugin-soko      tuxbox-plugin-tuxtxt \
+       tuxbox-plugin-sol       tuxbox-plugin-vierg     tuxbox-plugin-master \
+       tuxbox-plugin-solitair  tuxbox-plugin-yahtzee   tuxbox-plugin-mines  \
+       tuxbox-plugin-tank      tuxbox-plugin-pacman    tuxbox-plugin-tetris \
+       tuxbox-plugin-satfind   tuxbox-plugin-tuxcom    links-dream-plugin \
+       links-dream-plugin enigma-plugin-dreamdata"
+
+OPENDREAMBOX_TUXBOX_R_dm600pvr = " \
+       tuxbox-plugin-snake     tuxbox-plugin-tuxmail \
+       tuxbox-plugin-soko      tuxbox-plugin-tuxtxt \
+       tuxbox-plugin-sol       tuxbox-plugin-vierg     tuxbox-plugin-master \
+       tuxbox-plugin-solitair  tuxbox-plugin-yahtzee   tuxbox-plugin-mines  \
+       tuxbox-plugin-tank      tuxbox-plugin-pacman    tuxbox-plugin-tetris \
+       tuxbox-plugin-tuxcom    links-dream-plugin      enigma-blindscan"
+
+OPENDREAMBOX_TUXBOX_R_dm500plus = " \
+       tuxbox-plugin-snake     tuxbox-plugin-tuxmail \
+       tuxbox-plugin-soko      tuxbox-plugin-tuxtxt \
+       tuxbox-plugin-sol       tuxbox-plugin-vierg     tuxbox-plugin-master \
+       tuxbox-plugin-solitair  tuxbox-plugin-yahtzee   tuxbox-plugin-mines  \
+       tuxbox-plugin-tank      tuxbox-plugin-pacman    tuxbox-plugin-tetris \
+       tuxbox-plugin-tuxcom    links-dream-plugin      enigma-blindscan"
+
+# dvb api specific stuff
+OPENDREAMBOX_V2_ONLY = "dreambox-dvb-tools tuxbox-stream"
+OPENDREAMBOX_V3_ONLY = "dreambox-dvb-tools-v3 sctzap dvbtraffic"
+
+# enigma languages
+# disabled: enigma-locale-ar enigma-locale-sr enigma-locale-ur
+ENIGMA_LANGUAGE = "enigma-locale-cs enigma-locale-da \
+       enigma-locale-de enigma-locale-el enigma-locale-es enigma-locale-et \
+       enigma-locale-fi enigma-locale-fr enigma-locale-hr enigma-locale-hu \
+       enigma-locale-is enigma-locale-it enigma-locale-lt enigma-locale-nl \
+       enigma-locale-no enigma-locale-pl enigma-locale-pt enigma-locale-ro \
+       enigma-locale-ru enigma-locale-sk enigma-locale-sl \
+       enigma-locale-sv enigma-locale-tr"
+
+OPENDREAMBOX_TUXBOX_R += " ${ENIGMA_LANGUAGE}"
+OPENDREAMBOX_TUXBOX_R_dm600pvr += " ${ENIGMA_LANGUAGE}"
+OPENDREAMBOX_TUXBOX_R_dm500plus += " ${ENIGMA_LANGUAGE}"
+
+MODEM_SUPPORT = "enigma-modem"
+MODEM_SUPPORT_R = "kernel-module-crc-ccitt kernel-module-ppp-async \
+       kernel-module-ppp-generic \
+       kernel-module-slhc update-modules"
+
+WLAN_SUPPORT = "wireless-tools wlan-rt73 zd1211b wpa-supplicant"
+WLAN_SUPPORT_R = "enigma2-plugin-systemplugins-wirelesslan"
+
+WLAN_MADWIFI = "madwifi-ng"
+WLAN_MADWIFI_R = "madwifi-ng-modules madwifi-ng-tools"
+
+DVDPLAYER_SUPPORT_R = "enigma2-plugin-extensions-dvdplayer"
+
+# now machine specific:
+OPENDREAMBOX_COMMON_MACHINE_dm600pvr += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm600pvr += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R} dreambox-blindscan-utils"
+OPENDREAMBOX_COMMON_MACHINE_D_dm600pvr += "${OPENDREAMBOX_TUXBOX_D}"
+
+OPENDREAMBOX_COMMON_MACHINE_dm500plus += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm500plus += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R} dreambox-blindscan-utils"
+OPENDREAMBOX_COMMON_MACHINE_D_dm500plus += "${OPENDREAMBOX_TUXBOX_D}"
+
+OPENDREAMBOX_COMMON_MACHINE_dm7020 += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm7020 += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R}"
+OPENDREAMBOX_COMMON_MACHINE_D_dm7020 += "${OPENDREAMBOX_TUXBOX_D}"
+
+OPENDREAMBOX_COMMON_MACHINE_dm7025 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm7025 += "${OPENDREAMBOX_EXPERIMENTAL_R} ${WLAN_SUPPORT_R}"
+OPENDREAMBOX_COMMON_MACHINE_D_dm7025 += ""
+
+OPENDREAMBOX_COMMON_MACHINE_dm800 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm800 += "${OPENDREAMBOX_EXPERIMENTAL_R} ${WLAN_SUPPORT_R} enigma2-plugin-systemplugins-videomode"
+OPENDREAMBOX_COMMON_MACHINE_D_dm800 += ""
+
+OPENDREAMBOX_COMMON_MACHINE_dm8000 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT} ${WLAN_MADWIFI}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm8000 += "${OPENDREAMBOX_EXPERIMENTAL_R} ${WLAN_SUPPORT_R} ${DVDPLAYER_SUPPORT_R} ${WLAN_MADWIFI_R} enigma2-plugin-systemplugins-videomode"
+OPENDREAMBOX_COMMON_MACHINE_D_dm8000 += ""
+
+# collect the stuff into OPENDREAMBOX_COMMON
+OPENDREAMBOX_COMMON += " ${OPENDREAMBOX_COMMON_MACHINE}"
+OPENDREAMBOX_COMMON_R += " ${OPENDREAMBOX_COMMON_MACHINE_R}"
+OPENDREAMBOX_COMMON_D += " ${OPENDREAMBOX_COMMON_MACHINE_D}"
+
+# add bootstrap stuff
+DEPENDS = "${OPENDREAMBOX_COMMON} ${OPENDREAMBOX_COMMON_D}"
+IMAGE_INSTALL = "${OPENDREAMBOX_COMMON} ${OPENDREAMBOX_COMMON_R}"
+
+# we don't want any locales, at least not in the common way.
+IMAGE_LINGUAS = " "
+
+inherit image
diff --git a/packages/initscripts/initscripts-1.0/dm500plus/bootup b/packages/initscripts/initscripts-1.0/dm500plus/bootup
new file mode 100644 (file)
index 0000000..d40bfb5
--- /dev/null
@@ -0,0 +1,19 @@
+modprobe lcd
+mount -t proc proc /proc
+mount -t sysfs sysfs /sys
+depmod -Ae
+swapon -a
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+tar xzf /etc/var.tar.gz -C /
+modprobe head
+modprobe dreambox_keyboard
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+hostname -F /etc/hostname
+/usr/bin/wdog /usr/bin/dccamd -
+ifup -a
+mount -at nfs,smbfs,cpfs 2>/dev/null
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+ldconfig
+ln -s demux0 /dev/dvb/card0/demux1
+ln -s dvr0 /dev/dvb/card0/dvr1
+ln -s fb/0 /dev/fb0
diff --git a/packages/initscripts/initscripts-1.0/dm600pvr/bootup b/packages/initscripts/initscripts-1.0/dm600pvr/bootup
new file mode 100644 (file)
index 0000000..dfdd27b
--- /dev/null
@@ -0,0 +1,25 @@
+modprobe lcd
+mount -t proc proc /proc
+mount -t sysfs sysfs /sys
+depmod -Ae
+swapon -a
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+tar xzf /etc/var.tar.gz -C /
+# sleep after 10min
+hdparm -S120 /dev/ide/host0/bus0/target0/lun0/disc
+# CHECKME: mode to set, no UDMA on vulcan!
+# hdparm -X66 /dev/ide/host0/bus0/target0/lun0/disc
+# accustic management
+hdparm -M128 /dev/ide/host0/bus0/target0/lun0/disc
+modprobe head
+modprobe dreambox_keyboard
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+hostname -F /etc/hostname
+/usr/bin/wdog /usr/bin/dccamd -
+ifup -a
+mount -at nfs,smbfs,cpfs 2>/dev/null
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+ldconfig
+ln -s demux0 /dev/dvb/card0/demux1
+ln -s dvr0 /dev/dvb/card0/dvr1
+ln -s fb/0 /dev/fb0
diff --git a/packages/initscripts/initscripts-1.0/dm7020/bootup b/packages/initscripts/initscripts-1.0/dm7020/bootup
new file mode 100644 (file)
index 0000000..551441a
--- /dev/null
@@ -0,0 +1,69 @@
+modprobe lcd
+echo 4 > /proc/progress
+
+mount -t proc proc /proc
+echo 8 > /proc/progress
+
+mount -t sysfs sysfs /sys
+echo 12 > /proc/progress
+
+depmod -Ae
+echo 16 > /proc/progress
+
+swapon -a
+echo 20 > /proc/progress
+
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+echo 24 > /proc/progress
+
+tar xzf /etc/var.tar.gz -C /
+echo 28 > /proc/progress
+
+# sleep after 10min
+hdparm -S120 /dev/ide/host0/bus0/target0/lun0/disc
+echo 32 > /proc/progress
+# set UDMA66
+hdparm -X66 /dev/ide/host0/bus0/target0/lun0/disc
+echo 34 > /proc/progress
+# accustic management
+hdparm -M128 /dev/ide/host0/bus0/target0/lun0/disc
+
+echo 38 > /proc/progress
+modprobe head
+
+echo 42 > /proc/progress
+modprobe dreambox_keyboard
+
+echo 46 > /proc/progress
+modprobe fp
+
+echo 50 > /proc/progress
+modprobe rfmod
+
+echo 54 > /proc/progress
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe
+
+echo 58 > /proc/progress
+/boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+
+echo 62 > /proc/progress
+hostname -F /etc/hostname
+
+echo 66 > /proc/progress
+/usr/bin/wdog /usr/bin/dccamd -
+
+echo 70 > /proc/progress
+ifup -a
+
+echo 78 > /proc/progress
+mount -at nfs,smbfs,cpfs 2>/dev/null
+
+echo 82 > /proc/progress
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+
+echo 86 > /proc/progress
+ldconfig
+
+echo 90 > /proc/progress
+
+echo 94 > /proc/progress
diff --git a/packages/initscripts/initscripts-1.0/dm7025/bootup b/packages/initscripts/initscripts-1.0/dm7025/bootup
new file mode 100644 (file)
index 0000000..19fd0ba
--- /dev/null
@@ -0,0 +1,72 @@
+modprobe lcd
+echo 4 > /proc/progress
+[ -e /dev/dbox/oled0 ] && ln -s /dev/dbox/oled0 /dev/dbox/lcd0
+
+mount -t proc proc /proc
+echo 8 > /proc/progress
+
+mount -t sysfs sysfs /sys
+echo 12 > /proc/progress
+
+depmod -Ae
+echo 16 > /proc/progress
+
+swapon -a
+echo 18 > /proc/progress
+
+for mod in cifs nfsd usb-storage sd autofs4 vfat; do
+       modprobe $mod 2> /dev/null ;
+done
+echo 22 > /proc/progress
+
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+echo 44 > /proc/progress
+
+tar xzf /etc/var.tar.gz -C /
+echo 28 > /proc/progress
+
+# sleep after 10min
+hdparm -S120 /dev/ide/host0/bus0/target0/lun0/disc
+echo 32 > /proc/progress
+# set UDMA66
+hdparm -X66 /dev/ide/host0/bus0/target0/lun0/disc
+echo 34 > /proc/progress
+# accustic management
+hdparm -M128 /dev/ide/host0/bus0/target0/lun0/disc
+
+echo 38 > /proc/progress
+modprobe xilleon
+
+echo 44 > /proc/progress
+for mod in dreambox_keyboard fp rt73 zd1211b rfmod info; do
+       modprobe $mod 2> /dev/null ;
+done
+
+echo 50 > /proc/progress
+automount --ghost --timeout=1 /autofs file /etc/auto.hotplug
+
+echo 54 > /proc/progress
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+
+echo 62 > /proc/progress
+hostname -F /etc/hostname
+
+echo 66 > /proc/progress
+/usr/bin/wdog /usr/bin/dccamd -
+
+echo 70 > /proc/progress
+ifup -a
+
+echo 78 > /proc/progress
+# network mounts should be done here.
+mount -at nfs,smbfs,cpfs 2>/dev/null
+
+echo 82 > /proc/progress
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+
+echo 86 > /proc/progress
+ldconfig
+
+echo 90 > /proc/progress
+
+echo 94 > /proc/progress
diff --git a/packages/initscripts/initscripts-1.0/dm800/bootup b/packages/initscripts/initscripts-1.0/dm800/bootup
new file mode 100644 (file)
index 0000000..b3f03fd
--- /dev/null
@@ -0,0 +1,77 @@
+modprobe lcd
+echo 10 > /proc/progress
+[ -e /dev/dbox/oled0 ] && ln -s /dev/dbox/oled0 /dev/dbox/lcd0
+
+mount -t proc proc /proc
+echo 11 > /proc/progress
+
+mount -t sysfs sysfs /sys
+echo 12 > /proc/progress
+
+depmod -Ae
+echo 13 > /proc/progress
+
+swapon -a
+echo 14 > /proc/progress
+
+for mod in isofs cifs nfsd usb-storage sd autofs4 vfat ide-cd; do
+       modprobe $mod 2> /dev/null ;
+done
+
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+echo 15 > /proc/progress
+
+tar xzf /etc/var.tar.gz -C /
+echo 16 > /proc/progress
+
+# sleep after 10min
+hdparm -S 120 /dev/ide/host0/bus0/target0/lun0/disc || /bin/true;
+
+echo 17 > /proc/progress
+
+# set UDMA66, enable dma
+hdparm -d 1 /dev/ide/host0/bus0/target0/lun0/disc || /bin/true;
+hdparm -X66 /dev/ide/host0/bus0/target0/lun0/disc || /bin/true;
+
+# accustic management
+hdparm -M 128 /dev/ide/host0/bus0/target0/lun0/disc || /bin/true;
+
+echo 18 > /proc/progress
+for i in dreambox_keyboard fp info; do
+       modprobe $i;
+done
+
+echo 19 > /proc/progress
+
+cat /etc/videomode > /proc/stb/video/videomode
+
+echo 20 > /proc/progress
+
+for mod in rt73 zd1211b; do
+       modprobe $mod 2> /dev/null ;
+done
+
+echo 21 > /proc/progress
+
+automount --ghost --timeout=1 /autofs file /etc/auto.hotplug
+
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+
+hostname -F /etc/hostname
+
+echo 22 > /proc/progress
+/usr/bin/wdog /usr/bin/dccamd -
+
+echo 23 > /proc/progress
+ifup -a
+
+echo 24 > /proc/progress
+mount -at nfs,smbfs,cpfs 2>/dev/null
+
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+
+echo 25 > /proc/progress
+
+ldconfig
+
+ipkg-cl configure
diff --git a/packages/initscripts/initscripts-1.0/dm800/halt b/packages/initscripts/initscripts-1.0/dm800/halt
new file mode 100644 (file)
index 0000000..123bffa
--- /dev/null
@@ -0,0 +1,27 @@
+#! /bin/sh
+#
+# halt         Execute the halt command.
+#
+# Version:      @(#)halt  2.84-2  07-Jan-2002  miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# See if we need to cut the power.
+if test -x /etc/init.d/ups-monitor
+then
+       /etc/init.d/ups-monitor poweroff
+fi
+
+# Don't shut down drives if we're using RAID.
+hddown="-h"
+if grep -qs '^md.*active' /proc/mdstat
+then
+       hddown=""
+fi
+
+showiframe /usr/share/switchoff.mvi
+
+halt -d -f -i -p $hddown
+
+: exit 0
diff --git a/packages/initscripts/initscripts-1.0/dm8000/bootup b/packages/initscripts/initscripts-1.0/dm8000/bootup
new file mode 100644 (file)
index 0000000..33ea8b9
--- /dev/null
@@ -0,0 +1,96 @@
+echo 10 > /proc/progress
+[ -e /dev/dbox/oled0 ] && ln -s /dev/dbox/oled0 /dev/dbox/lcd0
+
+mount -t proc proc /proc
+echo 11 > /proc/progress
+
+mount -t sysfs sysfs /sys
+echo 12 > /proc/progress
+
+depmod -Ae
+echo 13 > /proc/progress
+
+swapon -a
+echo 14 > /proc/progress
+
+for mod in nfsd sd; do
+       modprobe $mod 2> /dev/null ;
+done
+
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+echo 15 > /proc/progress
+
+tar xzf /etc/var.tar.gz -C /
+echo 16 > /proc/progress
+
+# sleep after 10min
+for i in 0 1; do
+       hdparm -S 120 /dev/ide/host0/bus$i/target0/lun0/disc || /bin/true;
+done
+
+echo 17 > /proc/progress
+
+# set UDMA66, enable dma
+for i in 0 1; do
+       hdparm -d 1 /dev/ide/host0/bus$i/target0/lun0/disc || /bin/true;
+       hdparm -X66 /dev/ide/host0/bus$i/target0/lun0/disc || /bin/true;
+done
+
+# accustic management
+for i in 0 1; do
+       hdparm -M 128 /dev/ide/host0/bus$i/target0/lun0/disc || /bin/true;
+done
+
+# disable dma for cd drive ... 
+# we remove this when the dma timeout problem is fixed!
+for i in 0 1; do
+       hdparm -d 0 /dev/ide/host0/bus$i/target0/lun0/cd || /bin/true;
+done
+
+echo 18 > /proc/progress
+for i in dreambox_keyboard fp bcm7400; do
+       modprobe $i;
+done
+
+echo 19 > /proc/progress
+
+cat /etc/videomode > /proc/stb/video/videomode
+
+echo 20 > /proc/progress
+
+for mod in rt73 zd1211b; do
+       modprobe $mod 2> /dev/null ;
+done
+
+echo "loading madwifi modules"
+for x in wlan ath_rate; do
+       for mod in `ls /lib/modules/$(uname -r)/net | grep $x | cut -d . -f 0`; do 
+               modprobe $mod 2> /dev/null ;
+       done
+done
+modprobe ath_pci 2> /dev/null
+
+echo 21 > /proc/progress
+
+automount --ghost --timeout=1 /autofs file /etc/auto.hotplug
+
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /usr/share/bootlogos/bootlogo.mvi || /usr/bin/showiframe /usr/share/bootlogos/bootlogo_wait.mvi
+
+hostname -F /etc/hostname
+
+echo 22 > /proc/progress
+/usr/bin/wdog /usr/bin/dccamd -
+
+echo 23 > /proc/progress
+ifup -a
+
+echo 24 > /proc/progress
+mount -at nfs,smbfs,cpfs 2>/dev/null
+
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+
+echo 25 > /proc/progress
+
+ldconfig
+
+ipkg-cl configure
diff --git a/packages/initscripts/initscripts-1.0/opendreambox/var.tar.gz.default b/packages/initscripts/initscripts-1.0/opendreambox/var.tar.gz.default
new file mode 100644 (file)
index 0000000..3e4b1fb
Binary files /dev/null and b/packages/initscripts/initscripts-1.0/opendreambox/var.tar.gz.default differ
index f5fe48a..600a8a4 100755 (executable)
@@ -17,7 +17,7 @@ test -f /etc/fstab && (
 #
 while read device mountpt fstype options
 do
-       if test "$fstype" = nfs ||  test "$fstype" = smbfs ||  test "$fstype" = ncpfs
+       if test "$fstype" = nfs ||  test "$fstype" = smbfs ||  test "$fstype" = ncpfs || test "$fstype" = cifs
        then
                umount -f $mountpt
        fi
diff --git a/packages/initscripts/initscripts-opendreambox_1.0.bb b/packages/initscripts/initscripts-opendreambox_1.0.bb
new file mode 100644 (file)
index 0000000..8ffe387
--- /dev/null
@@ -0,0 +1,77 @@
+DESCRIPTION = "SysV init scripts (stripped) for opendreambox"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+SECTION = "base"
+PRIORITY = "required"
+DEPENDS = "makedevs"
+RDEPENDS = "makedevs"
+LICENSE = "GPL"
+PR = "r11"
+PR_dm7025 = "r12"
+PR_dm8000 = "r14"
+PR_dm800 = "r12"
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/${P}', '${FILE_DIRNAME}/initscripts-${PV}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+
+SRC_URI = "file://halt \
+           file://umountfs \
+           file://reboot \
+           file://single \
+           file://sendsigs \
+           file://rmnologin \
+           file://umountnfs.sh \
+           file://var.tar.gz.default \
+           file://bootup"
+
+do_install () {
+#
+# Create directories and install device independent scripts
+#
+       install -d ${D}${sysconfdir}/init.d \
+                  ${D}${sysconfdir}/rcS.d \
+                  ${D}${sysconfdir}/rc0.d \
+                  ${D}${sysconfdir}/rc1.d \
+                  ${D}${sysconfdir}/rc2.d \
+                  ${D}${sysconfdir}/rc3.d \
+                  ${D}${sysconfdir}/rc4.d \
+                  ${D}${sysconfdir}/rc5.d \
+                  ${D}${sysconfdir}/rc6.d \
+                  ${D}${sysconfdir}/default
+
+       install -m 0755    ${WORKDIR}/halt              ${D}${sysconfdir}/init.d
+       install -m 0755    ${WORKDIR}/reboot            ${D}${sysconfdir}/init.d
+       install -m 0755    ${WORKDIR}/rmnologin ${D}${sysconfdir}/init.d
+       install -m 0755    ${WORKDIR}/sendsigs          ${D}${sysconfdir}/init.d
+       install -m 0755    ${WORKDIR}/single            ${D}${sysconfdir}/init.d
+       install -m 0755    ${WORKDIR}/umountnfs.sh      ${D}${sysconfdir}/init.d
+       install -m 0755    ${WORKDIR}/bootup  ${D}${sysconfdir}/init.d
+
+       install -m 0755    ${WORKDIR}/var.tar.gz.default ${D}${sysconfdir}/var.tar.gz
+
+#
+# Install device dependent scripts
+#
+       if [ "${MACHINE}" = "dm600pvr" -o "${MACHINE}" = "dm500plus" ]; then
+               head -n 4 ${WORKDIR}/umountfs > ${D}${sysconfdir}/init.d/umountfs
+               echo "cd /tmp" >> ${D}${sysconfdir}/init.d/umountfs
+               tail -n 14 ${WORKDIR}/umountfs >> ${D}${sysconfdir}/init.d/umountfs
+               chmod 0755 ${D}${sysconfdir}/init.d/umountfs
+               ln -sf /usr/bin/showshutdownpic ${D}${sysconfdir}/rc0.d/S89showshutdownpic
+       else
+               install -m 0755 ${WORKDIR}/umountfs     ${D}${sysconfdir}/init.d/umountfs
+       fi
+
+       ln -sf          ../init.d/rmnologin     ${D}${sysconfdir}/rc2.d/S99rmnologin
+       ln -sf          ../init.d/rmnologin     ${D}${sysconfdir}/rc3.d/S99rmnologin
+       ln -sf          ../init.d/rmnologin     ${D}${sysconfdir}/rc4.d/S99rmnologin
+       ln -sf          ../init.d/rmnologin     ${D}${sysconfdir}/rc5.d/S99rmnologin
+       ln -sf          ../init.d/sendsigs      ${D}${sysconfdir}/rc6.d/S20sendsigs
+       ln -sf          ../init.d/umountnfs.sh  ${D}${sysconfdir}/rc6.d/S31umountnfs.sh
+       ln -sf          ../init.d/umountfs      ${D}${sysconfdir}/rc6.d/S40umountfs
+       ln -sf          ../init.d/reboot        ${D}${sysconfdir}/rc6.d/S90reboot
+       ln -sf          ../init.d/sendsigs      ${D}${sysconfdir}/rc0.d/S20sendsigs
+       ln -sf          ../init.d/umountnfs.sh  ${D}${sysconfdir}/rc0.d/S31umountnfs.sh
+       ln -sf          ../init.d/umountfs      ${D}${sysconfdir}/rc0.d/S40umountfs
+       ln -sf          ../init.d/halt          ${D}${sysconfdir}/rc0.d/S90halt
+       ln -sf    ../init.d/bootup    ${D}${sysconfdir}/rcS.d/S00bootup
+}
diff --git a/packages/ipkg/ipkg-collateral/dm500plus/dest b/packages/ipkg/ipkg-collateral/dm500plus/dest
new file mode 100644 (file)
index 0000000..17d457f
--- /dev/null
@@ -0,0 +1,3 @@
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
diff --git a/packages/ipkg/ipkg-collateral/dm600pvr/dest b/packages/ipkg/ipkg-collateral/dm600pvr/dest
new file mode 100644 (file)
index 0000000..e041eb7
--- /dev/null
@@ -0,0 +1,5 @@
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
diff --git a/packages/ipkg/ipkg-collateral/dm7020/dest b/packages/ipkg/ipkg-collateral/dm7020/dest
new file mode 100644 (file)
index 0000000..e041eb7
--- /dev/null
@@ -0,0 +1,5 @@
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
diff --git a/packages/ipkg/ipkg-collateral/dm7025/dest b/packages/ipkg/ipkg-collateral/dm7025/dest
new file mode 100644 (file)
index 0000000..e041eb7
--- /dev/null
@@ -0,0 +1,5 @@
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
diff --git a/packages/ipkg/ipkg-collateral/dm800/dest b/packages/ipkg/ipkg-collateral/dm800/dest
new file mode 100644 (file)
index 0000000..e6ddfb1
--- /dev/null
@@ -0,0 +1,4 @@
+dest root /
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
diff --git a/packages/ipkg/ipkg-collateral/dm8000/dest b/packages/ipkg/ipkg-collateral/dm8000/dest
new file mode 100644 (file)
index 0000000..e041eb7
--- /dev/null
@@ -0,0 +1,5 @@
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
diff --git a/packages/liba52/liba52_0.7.5-cvs.bb b/packages/liba52/liba52_0.7.5-cvs.bb
new file mode 100644 (file)
index 0000000..f572be0
--- /dev/null
@@ -0,0 +1,30 @@
+LICENSE = "GPL"
+
+DESCRIPTION = "Library for reading some sort of media format."
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS = ""
+
+inherit autotools
+
+SRC_URI = "http://liba52.sourceforge.net/files/a52dec-snapshot.tar.gz"
+S="${WORKDIR}/a52dec-${PV}"
+
+EXTRA_OECONF = " --enable-shared --enable-fixed"
+
+PACKAGES = "${PN} ${PN}-dev a52dec a52dec-doc"
+
+FILES_${PN} = " ${libdir}/liba52.so.0 ${libdir}/liba52.so.0.0.0 " 
+FILES_${PN}-dev = " ${includedir}/a52dec/*.h ${libdir}/liba52.so ${libdir}/liba52.la ${libdir}/liba52.a "
+FILES_a52dec = " ${bindir}/* "
+FILES_a52dec-doc = " ${mandir}/man1/* "
+
+do_stage() {
+       oe_libinstall -a -so -C liba52 liba52 ${STAGING_LIBDIR}
+
+       install -d ${STAGING_INCDIR}/a52dec
+       install -m 0644 ${S}/include/a52.h ${STAGING_INCDIR}/a52dec/a52.h
+       install -m 0644 ${S}/include/attributes.h ${STAGING_INCDIR}/a52dec/attributes.h
+       install -m 0644 ${S}/include/audio_out.h ${STAGING_INCDIR}/a52dec/audio_out.h
+       install -m 0644 ${S}/include/mm_accel.h ${STAGING_INCDIR}/a52dec/mm_accel.h
+}
diff --git a/packages/libcddb/libcddb-1.3.0-asneeded-nonglibc.patch b/packages/libcddb/libcddb-1.3.0-asneeded-nonglibc.patch
new file mode 100644 (file)
index 0000000..719eb70
--- /dev/null
@@ -0,0 +1,9 @@
+--- libcddb-1.3.0/lib/Makefile.am.old  2007-11-13 08:09:20 +0000
++++ libcddb-1.3.0/lib/Makefile.am      2007-11-13 08:09:41 +0000
+@@ -5,4 +5,5 @@
+ libcddb_la_SOURCES = cddb_track.c cddb_disc.c cddb_regex.c cddb_error.c \
+                                        cddb_conn.c cddb_cmd.c cddb_net.c cddb_log.c cddb_util.c \
+                                        cddb.c cddb_site.c ll.c
+-libcddb_la_LDFLAGS = -no-undefined -version-info 4:3:2 $(LIBICONV)
++libcddb_la_LDFLAGS = -no-undefined -version-info 4:3:2
++libcddb_la_LIBADD = $(LIBICONV)
diff --git a/packages/libcddb/libcddb-1.3.0-configure-realloc.patch b/packages/libcddb/libcddb-1.3.0-configure-realloc.patch
new file mode 100644 (file)
index 0000000..8ede523
--- /dev/null
@@ -0,0 +1,17 @@
+Index: libcddb-1.3.0/configure.ac
+===================================================================
+--- libcddb-1.3.0/configure.ac     2006-10-15 09:04:53.000000000 +0000
++++ libcddb-1.3.0/configure.ac     2008-07-26 00:01:38.000000000 +0000
+@@ -100,11 +100,10 @@
+
+ dnl Checks for library functions.
+ AC_FUNC_MALLOC
+-AC_FUNC_REALLOC
+ AC_FUNC_STAT
+ AC_FUNC_VPRINTF
+ AC_FUNC_SELECT_ARGTYPES
+-AC_CHECK_FUNCS([mkdir regcomp socket strdup strtol strchr memset alarm select realloc])
++AC_CHECK_FUNCS([mkdir regcomp socket strdup strtol strchr memset alarm select])
+ AC_CHECK_FUNC([gethostbyname], , AC_CHECK_LIB([nsl], [gethostbyname]))
+
+ dnl Check for libcdio
diff --git a/packages/libcddb/libcddb_1.3.0.bb b/packages/libcddb/libcddb_1.3.0.bb
new file mode 100644 (file)
index 0000000..4ee89a0
--- /dev/null
@@ -0,0 +1,13 @@
+DESCRIPTION = "A library for accessing a CDDB server"
+HOMEPAGE = "http://libcddb.sourceforge.net"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL-2"
+MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>"
+
+SRC_URI = "http://downloads.sourceforge.net/${PN}/${PN}-${PV}.tar.bz2\
+           file://${P}-asneeded-nonglibc.patch;patch=1"
+
+inherit autotools
+
+DEPEND="doc? ( app-doc/doxygen )"
diff --git a/packages/libcddb/libcddb_1.3.0_r1.bb b/packages/libcddb/libcddb_1.3.0_r1.bb
new file mode 100644 (file)
index 0000000..47e7081
--- /dev/null
@@ -0,0 +1,22 @@
+DESCRIPTION = "A library for accessing a CDDB server"
+HOMEPAGE = "http://libcddb.sourceforge.net"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL-2"
+MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>"
+
+SRC_URI = "http://downloads.sourceforge.net/${PN}/${PN}-${PV}.tar.bz2\
+           file://${P}-configure-realloc.patch;patch=1\
+           file://${P}-asneeded-nonglibc.patch;patch=1"
+
+#EXTRA_OECONF = "--without-cdio --without-iconv"
+
+inherit autotools pkgconfig
+
+DEPEND="doc? ( app-doc/doxygen )"
+
+do_stage () {
+       oe_libinstall -so -C lib libcddb ${STAGING_LIBDIR}
+       install -d ${STAGING_INCDIR}/cddb
+       install -m 0644  ${S}/include/cddb/*.h ${STAGING_INCDIR}/cddb
+}
\ No newline at end of file
diff --git a/packages/libcdio/libcdio/libcdio-0.80-add-cdtextinfo.patch b/packages/libcdio/libcdio/libcdio-0.80-add-cdtextinfo.patch
new file mode 100644 (file)
index 0000000..41ff763
--- /dev/null
@@ -0,0 +1,394 @@
+Index: libcdio-0.80/src/cdtextinfo.c
+===================================================================
+--- libcdio-0.80/src/cdtextinfo.c
++++ libcdio-0.80/src/cdtextinfo.c
+@@ -0,0 +1,372 @@                                                                                                                                    
++/*                                                                                                                                                  
++  This program is free software; you can redistribute it and/or modify                                                                              
++  it under the terms of the GNU General Public License as published by                                                                              
++  the Free Software Foundation; either version 2 of the License, or                                                                                 
++  (at your option) any later version.                                                                                                               
++                                                                                                                                                    
++  This program is distributed in the hope that it will be useful,                                                                                   
++  but WITHOUT ANY WARRANTY; without even the implied warranty of                                                                                    
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                                                     
++  GNU General Public License for more details.                                                                                                      
++                                                                                                                                                    
++  You should have received a copy of the GNU General Public License                                                                                 
++  along with this program; if not, write to the Free Software                                                                                       
++  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                                                                         
++                                                                                                                                                    
++  cdtextinfo, 2008-07-25 by fraxinas <andreas.frisch@multimedia-labs.de>                                                                            
++*/                                                                                                                                                  
++                                                                                                                                                    
++#include "config.h"                                                                                                                                 
++#include <stdio.h>                                                                                                                                  
++#include <stdlib.h>                                                                                                                                 
++#include <string.h>                                                                                                                                 
++#include <cddb/cddb.h>                                                                                                                              
++#include <cdio/cdio.h>                                                                                                                              
++#include <cdio/cdtext.h>                                                                                                                            
++#include "cddb.h"                                                                                                                            
++#include "getopt.h"                                                                                                                          
++                                                                                                                                                    
++struct opts_s                                                                                                                                       
++{                                                                                                                                                   
++    bool       album;                                                                                                                               
++    bool       listing;                                                                                                                             
++    bool       cddb;                                                                                                                                
++    bool       cdtext;                                                                                                                              
++    bool       xml;                                                                                                                                 
++} options;                                                                                                                                          
++                                                                                                                                                    
++/* Configuration option codes */                                                                                                                    
++enum {                                                                                                                                              
++  OP_HANDLED = 0,                                                                                                                                   
++                                                                                                                                                    
++  OP_CDDB_SERVER,                                                                                                                                   
++  OP_CDDB_CACHE,                                                                                                                                    
++  OP_CDDB_EMAIL,                                                                                                                                    
++  OP_CDDB_NOCACHE,                                                                                                                                  
++  OP_CDDB_TIMEOUT,                                                                                                                                  
++                                                                                                                                                    
++  OP_USAGE,                                                                                                                                         
++                                                                                                                                                    
++  /* These are the remaining configuration options */                                                                                               
++  OP_VERSION,                                                                                                                                       
++                                                                                                                                                    
++};                                                                                                                                                  
++                                                                                                                                                    
++static bool parse_options (int argc, char *argv[])                                                                                                  
++{                                                                                                                                                   
++    int opt; /* used for argument parsing */                                                                                                        
++                                                                                                                                                    
++    const char* helpText =                                                                                                                          
++       "Usage: %s [OPTION...]\n"                                                                                                                    
++       "  -a, --album                     Print audio CD album info\n"                                                                              
++       "  -l, --listing                   Print title info for all tracks\n"                                                                        
++       "  -T, --cdtext                    Use CD-Text\n"                                                                                            
++       "  -D, --cddb                      Use CDDB\n"                                                                                               
++       "  -x, --xml                       XML output\n"                                                                                             
++       "\n"                                                                                                                                         
++       "CDDB options:\n"                                                                                                                            
++       "  -P, --cddb-port=INT             CDDB port number to use (default 8880)\n"                                                                 
++       "  --cddb-server=STRING            CDDB server to contact for information\n"                                                                 
++       "                                  (default: freedb.freedb.org)\n"                                                                           
++       "  --cddb-cache=STRING             Location of CDDB cache directory\n"                                                                       
++       "                                  (default ~/.cddbclient)\n"                                                                                
++       "  --cddb-email=STRING             Email address to give CDDB server\n"                                                                      
++       "                                  (default me@dreambox)\n"                                                                                  
++       "  --no-cddb-cache                 Disable caching of CDDB entries\n"                                                                        
++       "                                  locally (default caches)\n"                                                                               
++       "  --cddb-timeout=INT              CDDB timeout value in seconds\n"                                                                          
++       "                                  (default 10 seconds)\n"                                                                                   
++       "\n"                                                                                                                                         
++       "Help options:\n"                                                                                                                            
++       "  -?, --help                      Show this help message\n"                                                                                 
++       "  --usage                         Display brief usage message\n"                                                                            
++       "\n"                                                                                                                                         
++       "Example: %s -xalDT\n"                                                                                                                       
++        "  Will query album info and track listing from both CD-Text and CDDB and display as XML\n";                                                
++                                                                                                                                                    
++    const char* usageText =                                                                                                                         
++       "Usage: %s [-a|--album] [-l|--listing]\n"                                                                                                    
++       "        [-T|--cdtext] [-D|--cddb] [-x|--xml]\n"                                                                                             
++       "        [-P|--cddb-port INT] [--cddb-server=STRING]\n"                                                                                      
++        "        [--cddb-cache=STRING] [--cddb-email=STRING]\n"                                                                                     
++        "        [--no-cddb-cache] [--cddb-timeout=INT]\n"                                                                                          
++       "        [-?|--help] [--usage]\n";                                                                                                           
++                                                                                                                                                    
++    const char* optionsString = "alTDP:x?";                                                                                                         
++    struct option optionsTable[] = {                                                                                                                
++       {"album", no_argument, NULL, 'a' },                                                                                                          
++       {"listing", no_argument, NULL, 'l' },                                                                                                        
++       {"cdtext", no_argument, NULL, 'T' },                                                                                                         
++       {"cddb", no_argument, NULL, 'D' },                                                                                                           
++       {"cddb-port", required_argument, NULL, 'P' },                                                                                                
++       {"cddb-server", required_argument, NULL, OP_CDDB_SERVER },                                                                                   
++       {"cddb-cache", required_argument, NULL, OP_CDDB_CACHE },                                                                                     
++       {"cddb-email", required_argument, NULL, OP_CDDB_EMAIL },                                                                                     
++       {"no-cddb-cache", no_argument, NULL, OP_CDDB_NOCACHE },                                                                                      
++       {"cddb-timeout", required_argument, NULL, OP_CDDB_TIMEOUT },                                                                                 
++       {"help", no_argument, NULL, '?' },                                                                                                           
++       {"usage", no_argument, NULL, OP_USAGE },                                                                                                     
++       { NULL, 0, NULL, 0 }                                                                                                                         
++    };                                                                                                                                              
++                                                                                                                                                    
++    while ((opt = getopt_long(argc, argv, optionsString, optionsTable, NULL)) >= 0) {                                                               
++       switch (opt) {                                                                                                                               
++       case 'a': options.album = true; break;                                                                                                       
++       case 'l': options.listing = true; break;                                                                                                     
++       case 'T': options.cdtext = true; break;                                                                                                      
++       case 'D': options.cddb = true; break;                                                                                                        
++       case 'x': options.xml = true; break;                                                                                                         
++       case 'P': cddb_opts.port = atoi(optarg); break;                                                                                              
++       case OP_CDDB_SERVER: cddb_opts.server = strdup(optarg); break;                                                                               
++       case OP_CDDB_CACHE: cddb_opts.cachedir = strdup(optarg); break;                                                                              
++       case OP_CDDB_EMAIL: cddb_opts.email = strdup(optarg); break;                                                                                 
++       case OP_CDDB_NOCACHE: cddb_opts.disable_cache = 1; break;                                                                                    
++       case OP_CDDB_TIMEOUT: cddb_opts.timeout = atoi(optarg); break;                                                                               
++       case '?':                                                                                                                                    
++           fprintf(stdout, helpText, argv[0], argv[0]);                                                                                             
++           exit(0);                                                                                                                                 
++           break;                                                                                                                                   
++       case OP_USAGE:                                                                                                                               
++           fprintf(stderr, usageText, argv[0]);                                                                                                     
++           exit(1);                                                                                                                                 
++           break;                                                                                                                                   
++       case 0:                                                                                                                                      
++           break;                                                                                                                                   
++       }                                                                                                                                            
++    }                                                                                                                                               
++    return true;                                                                                                                                    
++}                                                                                                                                                   
++                                                                                                                                                    
++static void cddb_errmsg(const char *msg)                                                                                                            
++{                                                                                                                                                   
++    if ( options.xml )                                                                                                                              
++       printf("<error msg=\"%s\" />\n", msg);                                                                                                       
++    else                                                                                                                                            
++       printf("%s\n", msg);                                                                                                                         
++}                                                                                                                                                   
++                                                                                                                                                    
++int print_cddb_info(CdIo_t *p_cdio, track_t i_tracks, track_t i_first_track)                                                                        
++{                                                                                                                                                   
++    int i_cddb_matches = 0, i_cddb_currentmatch = 1;                                                                                                
++                                                                                                                                                    
++    cddb_conn_t *p_conn = NULL;                                                                                                                     
++    cddb_disc_t *p_cddb_disc = NULL;                                                                                                                
++                                                                                                                                                    
++    if ( init_cddb(p_cdio, &p_conn, &p_cddb_disc, cddb_errmsg, i_first_track, i_tracks, &i_cddb_matches) )                                          
++    {                                                                                                                                               
++       while ( i_cddb_currentmatch <= i_cddb_matches )                                                                                              
++       {                                                                                                                                            
++           cddb_read(p_conn, p_cddb_disc);                                                                                                          
++                                                                                                                                                    
++           if ( options.xml )                                                                                                                       
++               printf("\t<query source=\"CDDB\" match=\"%i\" num_matches=\"%i\">\n",i_cddb_currentmatch,i_cddb_matches);                            
++                                                                                                                                                    
++           if (options.album)                                                                                                                       
++           {                                                                                                                                        
++               if ( options.xml )                                                                                                                   
++                   printf("\t\t<albuminfo>\n");                                                                                                     
++                                                                                                                                                    
++               if ( cddb_disc_get_title(p_cddb_disc) )                                                                                              
++               {                                                                                                                                    
++                   if ( options.xml )                                                                                                               
++                       printf("\t\t\t\t<title>%s</title>\n",cddb_disc_get_title(p_cddb_disc));                                                      
++                   else                                                                                                                             
++                       printf("TITLE:%s\n",cddb_disc_get_title(p_cddb_disc));                                                                       
++               }                                                                                                                                    
++               if ( cddb_disc_get_artist(p_cddb_disc) )                                                                                             
++               {                                                                                                                                    
++                   if ( options.xml )                                                                                                               
++                       printf("\t\t\t\t<artist>%s</artist>\n",cddb_disc_get_artist(p_cddb_disc));                                                   
++                   else                                                                                                                             
++                       printf("ARTIST:%s\n",cddb_disc_get_artist(p_cddb_disc));                                                                     
++               }                                                                                                                                    
++               if ( cddb_disc_get_genre(p_cddb_disc) )                                                                                              
++               {                                                                                                                                    
++                   if ( options.xml )                                                                                                               
++                       printf("\t\t\t\t<genre>%s</genre>\n",cddb_disc_get_genre(p_cddb_disc));                                                      
++                   else                                                                                                                             
++                       printf("GENRE:%s\n",cddb_disc_get_genre(p_cddb_disc));                                                                       
++               }                                                                                                                                    
++               if ( cddb_disc_get_category_str(p_cddb_disc) )                                                                                       
++               {                                                                                                                                    
++                   if ( options.xml )                                                                                                               
++                       printf("\t\t\t\t<category>%s</category>\n",cddb_disc_get_category_str(p_cddb_disc));                                         
++                   else                                                                                                                             
++                       printf("CATEGORY:%s\n",cddb_disc_get_category_str(p_cddb_disc));                                                             
++               }                                                                                                                                    
++               if ( cddb_disc_get_year(p_cddb_disc) )                                                                                               
++               {                                                                                                                                    
++                   if ( options.xml )                                                                                                               
++                       printf("\t\t\t\t<year>%i</year>\n",cddb_disc_get_year(p_cddb_disc));                                                         
++                   else                                                                                                                             
++                       printf("YEAR:%i\n",cddb_disc_get_year(p_cddb_disc));                                                                         
++               }                                                                                                                                    
++               if ( cddb_disc_get_ext_data(p_cddb_disc) )                                                                                           
++               {                                                                                                                                    
++                   if ( options.xml )                                                                                                               
++                       printf("\t\t\t\t<extra_data>%s</extra_data>\n",cddb_disc_get_ext_data(p_cddb_disc));                                         
++                   else                                                                                                                             
++                       printf("EXTDATA:%s\n",cddb_disc_get_ext_data(p_cddb_disc));                                                                  
++               }                                                                                                                                    
++               if ( options.xml )                                                                                                                   
++                   printf("\t\t</albuminfo>\n");                                                                                                    
++           }                                                                                                                                        
++           if (options.listing)                                                                                                                     
++           {                                                                                                                                        
++               if ( options.xml )                                                                                                                   
++                   printf("\t\t<tracklisting>\n");                                                                                                  
++                                                                                                                                                    
++               cddb_track_t *p_cddb_track = cddb_disc_get_track_first(p_cddb_disc);                                                                 
++               while ( p_cddb_track != NULL )                                                                                                       
++               {                                                                                                                                    
++                   if ( options.xml )                                                                                                               
++                   {                                                                                                                                
++                       printf("\t\t\t\t<track number=\"%i\">\n",cddb_track_get_number(p_cddb_track));                                               
++                       if (cddb_track_get_length(p_cddb_track))                                                                                     
++                           printf("\t\t\t\t\t\t<length>%i</length>\n",cddb_track_get_length(p_cddb_track));                                         
++                       if (cddb_track_get_title(p_cddb_track))                                                                                      
++                           printf("\t\t\t\t\t\t<title>%s</title>\n",cddb_track_get_title(p_cddb_track));                                            
++                       if (cddb_track_get_artist(p_cddb_track))                                                                                     
++                           printf("\t\t\t\t\t\t<artist>%s</artist>\n",cddb_track_get_artist(p_cddb_track));                                         
++                       if (cddb_track_get_ext_data(p_cddb_track))                                                                                   
++                           printf("\t\t\t\t\t\t<extra_data>%s</extra_data>\n",cddb_track_get_ext_data(p_cddb_track));                               
++                       printf("\t\t\t\t</track>\n");                                                                                                
++                   }                                                                                                                                
++                   else                                                                                                                             
++                       printf("%i:%s\n",cddb_track_get_number(p_cddb_track),cddb_track_get_title(p_cddb_track));                                    
++                                                                                                                                                    
++                   p_cddb_track = cddb_disc_get_track_next(p_cddb_disc);                                                                            
++               }                                                                                                                                    
++                                                                                                                                                    
++               if ( options.xml )                                                                                                                   
++                   printf("\t\t</tracklisting>\n");                                                                                                 
++           }                                                                                                                                        
++           if ( options.xml )                                                                                                                       
++               printf("\t</query>\n");                                                                                                              
++                                                                                                                                                    
++           cddb_query_next(p_conn, p_cddb_disc);                                                                                                    
++           i_cddb_currentmatch++;                                                                                                                   
++       }                                                                                                                                            
++       if ( i_cddb_currentmatch < 1 && options.xml )                                                                                                
++           printf("\t<query source=\"CDDB\" num_matches=\"%i\" />\n",i_cddb_matches);                                                               
++    }                                                                                                                                               
++    cddb_disc_destroy(p_cddb_disc);                                                                                                                 
++    cddb_destroy(p_conn);                                                                                                                           
++    libcddb_shutdown();                                                                                                                             
++    return 0;                                                                                                                                       
++}                                                                                                                                                   
++                                                                                                                                                    
++int print_cdtext_info(CdIo_t *p_cdio, track_t i_tracks, track_t i_track)                                                                            
++{                                                                                                                                                   
++    const cdtext_t *cdtext = cdio_get_cdtext(p_cdio, 0);                                                                                            
++                                                                                                                                                    
++    if ( cdtext == NULL || cdtext && !cdtext->field[9] )                                                                                            
++    {                                                                                                                                               
++       if ( options.xml )                                                                                                                           
++           printf("\t<query source=\"CD-TEXT\" num_matches=\"0\" />\n");                                                                            
++       return -1;                                                                                                                                   
++    }                                                                                                                                               
++                                                                                                                                                    
++    if ( options.xml )                                                                                                                              
++       printf("\t<query source=\"CD-TEXT\" match=\"1\" num_matches=\"1\">\n");                                                                      
++                                                                                                                                                    
++    if ( options.album )                                                                                                                            
++    {                                                                                                                                               
++       if ( options.xml )                                                                                                                           
++           printf("\t\t<albuminfo>\n");                                                                                                             
++       cdtext_field_t i;                                                                                                                            
++       for (i=0; i < MAX_CDTEXT_FIELDS; i++)                                                                                                        
++       {                                                                                                                                            
++           if (cdtext->field[i])                                                                                                                    
++           {                                                                                                                                        
++               if ( options.xml )                                                                                                                   
++                   printf("\t\t\t\t<%s>%s</%s>\n",cdtext_field2str(i),cdtext->field[i],cdtext_field2str(i));                                        
++               else                                                                                                                                 
++                   printf("%s:%s\n", cdtext_field2str(i), cdtext->field[i]);                                                                        
++           }                                                                                                                                        
++       }                                                                                                                                            
++       if ( options.xml )                                                                                                                           
++           printf("\t\t</albuminfo>\n");                                                                                                            
++    }                                                                                                                                               
++                                                                                                                                                    
++    if ( options.listing )                                                                                                                          
++    {                                                                                                                                               
++       if ( options.xml )                                                                                                                           
++           printf("\t\t<tracklisting>\n");                                                                                                          
++                                                                                                                                                    
++       for ( ; i_track < i_tracks; i_track++ )                                                                                                      
++       {                                                                                                                                            
++           const cdtext_t *cdtext = cdio_get_cdtext(p_cdio, i_track);                                                                               
++           if (!cdtext)                                                                                                                             
++               continue;                                                                                                                            
++                                                                                                                                                    
++           if ( options.xml )                                                                                                                       
++           {                                                                                                                                        
++               printf("\t\t\t\t<track number=\"%i\">\n",i_track);                                                                                   
++                                                                                                                                                    
++               cdtext_field_t i;                                                                                                                    
++               for (i=0; i < MAX_CDTEXT_FIELDS; i++)                                                                                                
++               {                                                                                                                                    
++                   if (cdtext->field[i])                                                                                                            
++                   {                                                                                                                                
++                       if ( options.xml )                                                                                                           
++                           printf("\t\t\t\t\t\t<%s>%s</%s>\n",cdtext_field2str(i),cdtext->field[i],cdtext_field2str(i));                            
++                   }                                                                                                                                
++               }                                                                                                                                    
++               printf("\t\t\t\t</track>\n");                                                                                                        
++           }                                                                                                                                        
++                                                                                                                                                    
++           else if (cdtext->field[9])                                                                                                               
++               printf("%d:%s\n", i_track, cdtext->field[9]);                                                                                        
++       }                                                                                                                                            
++                                                                                                                                                    
++       if ( options.xml )                                                                                                                           
++           printf("\t\t</tracklisting>\n");                                                                                                         
++    }                                                                                                                                               
++                                                                                                                                                    
++    if ( options.xml )                                                                                                                              
++       printf("\t</query>\n");                                                                                                                      
++                                                                                                                                                    
++    return 0;                                                                                                                                       
++}                                                                                                                                                   
++                                                                                                                                                    
++int main(int argc, char *argv[])                                                                                                                    
++{                                                                                                                                                   
++    cddb_opts.port     = 8880;                                                                                                                      
++    cddb_opts.server   = NULL;                                                                                                                      
++    cddb_opts.timeout  = 10;                                                                                                                        
++    cddb_opts.disable_cache = false;                                                                                                                
++    cddb_opts.cachedir = NULL;                                                                                                                      
++    cddb_opts.email = strdup("me@dreambox");                                                                                                        
++                                                                                                                                                    
++    parse_options(argc, argv);                                                                                                                      
++                                                                                                                                                    
++    track_t i_track;                                                                                                                                
++    track_t i_tracks;
++    CdIo_t *p_cdio     = cdio_open (NULL, DRIVER_DEVICE);
++    i_tracks           = cdio_get_num_tracks(p_cdio);
++
++    if ( options.xml )
++    {
++       printf("<?xml version=\"1.0\" ?>\n");
++       printf("<cdinfo>\n");
++    }
++
++    if (NULL == p_cdio)
++       return -1;
++
++    i_track            = cdio_get_first_track_num(p_cdio);
++    if ( options.cdtext )
++       print_cdtext_info(p_cdio, i_tracks, i_track);
++
++    i_track            = cdio_get_first_track_num(p_cdio);
++    if ( options.cddb )
++       print_cddb_info(p_cdio, i_tracks, i_track);
++
++    cdio_destroy(p_cdio);
++
++    if ( options.xml )
++       printf("</cdinfo>\n");
++
++    return 0;
++}
+Index: libcdio-0.80/src/Makefile.am
+===================================================================
+--- libcdio-0.80/src/Makefile.am
++++ libcdio-0.80/src/Makefile.am       2008-07-29 09:56:06.000000000 +0000
+@@ -85,7 +85,12 @@
+ #mmc_tool_LDADD   = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ #bin_mmc_tool     = mmc-tool
+
+-bin_PROGRAMS = $(bin_cd_drive) $(bin_cd_info)  $(bin_cdinfo_linux) $(bin_cd_read) $(bin_iso_info) $(bin_iso_read) $(bin_cdda_player) $(bin_mmc_tool)
++bin_cdtextinfo =  cdtextinfo
++cdtextinfo_SOURCES = cdtextinfo.c cddb.c cddb.h $(GETOPT_C)
++cdtextinfo_LDADD          = $(LIBCDIO_LIBS) $(LIBICONV) $(CDDB_LIBS)
++cdtextinfo_DEPENDENCIES   = $(LIBCDIO_DEPS)
++
++bin_PROGRAMS = $(bin_cd_drive) $(bin_cd_info) $(bin_cdinfo_linux) $(bin_cd_read) $(bin_iso_info) $(bin_iso_read) $(bin_cdda_player) $(bin_mmc_tool) $(bin_cdtextinfo)
+
+ INCLUDES = -I$(top_srcdir) $(LIBCDIO_CFLAGS) $(VCDINFO_CFLAGS) $(CDDB_CFLAGS)
diff --git a/packages/libcdio/libcdio/libcdio-0.80-configure-crosscompile.patch b/packages/libcdio/libcdio/libcdio-0.80-configure-crosscompile.patch
new file mode 100644 (file)
index 0000000..e91b2c8
--- /dev/null
@@ -0,0 +1,110 @@
+Index: libcdio-0.80/configure.ac
+===================================================================
+--- libcdio-0.80.orig/configure.ac     2008-03-15 17:45:17.000000000 +0000
++++ libcdio-0.80/configure.ac          2008-07-16 09:21:06.000000000 +0000
+@@ -271,33 +271,9 @@
+ dnl bitfield order
+ AC_MSG_CHECKING(bitfield ordering in structs)
+-AC_TRY_RUN([
+-int
+- main() {
+-  struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+-  __attribute__((packed))
+-#endif
+-  bf = { 1,1,1,1 };
+-  if (sizeof (bf) != 1) return 1;
+-  return *((unsigned char*) &bf) != 0x4b; }
+-], bf_lsbf=1, AC_TRY_RUN([ 
+-int
+-main() {
+-  struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+-  __attribute__((packed))
+-#endif
+-  bf = { 1,1,1,1 };
+-  if (sizeof (bf) != 1) return 1;
+-  return *((unsigned char*) &bf) != 0xa5; }
+-], bf_lsbf=0, AC_MSG_ERROR([unsupported bitfield ordering])))
+-if test "x$bf_lsbf" = "x1"; then
+- AC_MSG_RESULT(LSBF)
+- AC_DEFINE(BITFIELD_LSBF, [], [compiler does least-significant bit first in struct bitfields])
+-else
+- AC_MSG_RESULT(MSBF)
+-fi
++bf_lsbf=1
++AC_MSG_RESULT(LSBF)
++AC_DEFINE(BITFIELD_LSBF, [], [compiler does least-significant bit first in struct bitfields])
+ dnl
+ dnl AM_PROG_LIBTOOL tests whether we have GNU ld
+@@ -466,24 +442,6 @@
+       ;;
+ esac
+-AC_MSG_CHECKING(extern long timezone variable)
+-AC_TRY_RUN([
+-#ifdef NEED_TIMEZONEVAR
+-#define timezonevar 1
+-#endif
+-
+-#include <time.h>
+-extern long timezone;
+-int main(int argc, char **argv) {
+-  long test_timezone = timezone;
+-  return 0; 
+-}
+-], [AC_MSG_RESULT(yes); 
+-   AC_DEFINE([HAVE_TIMEZONE_VAR], 1, 
+-      [Define if you have an extern long timenzone variable.])],
+-   [AC_MSG_RESULT(no)])
+-dnl
+-
+ AC_SUBST(LINUX_CDROM_TIMEOUT)
+ AC_SUBST(DARWIN_PKG_LIB_HACK)
+ AC_SUBST(HAVE_BSDI_CDROM)
+@@ -508,43 +466,6 @@
+                  ,
+                  [#include <time.h>])
+-if test $ac_cv_member_struct_tm_tm_gmtoff = yes ; then
+-  AC_MSG_CHECKING([whether time.h defines daylight and timezone variables])
+-  AC_TRY_RUN([
+-#include <time.h>
+-
+-
+-       extern char *tzname[2];
+-       extern long timezone;
+-       extern int daylight;
+-
+-int
+- main() {
+-  return (timezone != 0) + daylight;
+-}
+-  ],[AC_DEFINE(HAVE_DAYLIGHT, 1,
+-   [Define if time.h defines extern long timezone and int daylight vars.])
+-   has_daylight=yes
+-   ],[has_daylight=no])
+-  AC_MSG_RESULT($has_daylight)
+-  AC_MSG_CHECKING([whether time.h defines tzname variable])
+-  AC_TRY_RUN([
+-#include <time.h>
+-
+-
+-       extern char *tzname[2];
+-
+-int
+- main() {
+-  return (tzname != NULL);
+-}
+-  ],[AC_DEFINE(HAVE_TZNAME, 1,
+-   [Define if time.h defines extern extern char *tzname[2] variable])
+-   has_tzname=yes
+-   ],[has_tzname=no])
+-   AC_MSG_RESULT($has_tzname)
+-fi
+-
+ AC_ARG_ENABLE(joliet,
+       AS_HELP_STRING([--disable-joliet], [don't include Joliet extension support (default enabled)]),
+       [enable_joliet=$enableval],
diff --git a/packages/libcdio/libcdio/libcdio-0.80-fix-pkgconfig.patch b/packages/libcdio/libcdio/libcdio-0.80-fix-pkgconfig.patch
new file mode 100644 (file)
index 0000000..8e708d3
--- /dev/null
@@ -0,0 +1,23 @@
+Index: libcdio-0.80/Makefile.am
+===================================================================
+--- libcdio-0.80.orig/Makefile.am
++++ libcdio-0.80/Makefile.am
+@@ -45,12 +45,15 @@ endif
+ # pkg-config(1) related rules
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libcdio.pc  \
+-               libcdio++.pc  \
+                libiso9660.pc \
+-               libiso9660++.pc \
+-               libudf.pc
++               libudf.pc \
+                $(paranoiapcs)
++#if ENABLE_CPP
++#pkgconfig_DATA += \
++#     libcdio++.pc \
++#     libiso9660++.pc
++#endif
+ $(pkgconfig_DATA): config.status
diff --git a/packages/libcdio/libcdio/libcdio-0.80-minimal-new.patch b/packages/libcdio/libcdio/libcdio-0.80-minimal-new.patch
new file mode 100644 (file)
index 0000000..1746a2e
--- /dev/null
@@ -0,0 +1,82 @@
+Index: libcdio-0.80/cdtextinfo/Makefile.am
+===================================================================
+--- libcdio-0.80/src/Makefile.am 2008-03-15 16:21:28.000000000 +0000                                                                          
++++ libcdio-0.80/src/Makefile.am 2008-07-25 17:16:18.000000000 +0000
+@@ -21,11 +21,6 @@
+ GETOPT_C = getopt.c getopt1.c
+-man_MANS = cd-drive.1 cd-info.1 cd-read.1 iso-read.1 iso-info.1 
+-EXTRA_DIST = cd-drive.help2man cd-info.help2man cd-read.help2man \
+-           iso-info.help2man iso-read.help2man $(GETOPT_C) getopt.h \
+-             $(man_MANS)
+-
+ noinst_HEADERS = cddb.h getopt.h util.h
+ ####################################################
+@@ -39,10 +34,6 @@
+ CDDB_LIBS=@CDDB_LIBS@
+ CDDA_PLAYER_LIBS=@CDDA_PLAYER_LIBS@
+-$(man_MANS): %.1: % %.help2man
+-      -$(HELP2MAN) --opt-include=$<.help2man --no-info --output=$@ ./$<
+-MOSTLYCLEANFILES = $(man_MANS)
+-
+ if BUILD_CDDA_PLAYER
+ cdda_player_SOURCES = cdda-player.c cddb.c cddb.h $(GETOPT_C)
+ cdda_player_LDADD   = $(LIBCDIO_LIBS) $(CDDB_LIBS) $(CDDA_PLAYER_LIBS)
+@@ -53,12 +44,14 @@
+ cd_drive_SOURCES = cd-drive.c util.c util.h $(GETOPT_C)
+ cd_drive_LDADD   =  $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ bin_cd_drive     = cd-drive
++man_cd_drive     = cd-drive.1
+ endif
+ if BUILD_CDINFO
+ cd_info_SOURCES = cd-info.c cddb.c cddb.h util.c util.h $(GETOPT_C)
+ cd_info_LDADD   =  $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(CDDB_LIBS) $(VCDINFO_LIBS) $(LIBICONV)
+ bin_cd_info     = cd-info 
++man_cd_info     = cd-info.1
+ endif
+ if BUILD_CDINFO_LINUX
+@@ -71,24 +64,36 @@
+ cd_read_SOURCES = cd-read.c util.c util.h $(GETOPT_C)
+ cd_read_LDADD   = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ bin_cd_read     = cd-read 
++man_cd_read     = cd-read.1
+ endif
+ if BUILD_ISO_INFO
+ iso_info_SOURCES = iso-info.c util.c util.h $(GETOPT_C)
+ iso_info_LDADD   = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ bin_iso_info     = iso-info
++man_iso_info     = iso-info.1
+ endif
+ if BUILD_ISO_READ
+ iso_read_SOURCES = iso-read.c util.c util.h $(GETOPT_C)
+ iso_read_LDADD   = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ bin_iso_read     = iso-read
++man_iso_read     = iso-read.1
+ endif
+-mmc_tool_SOURCES = mmc-tool.c util.c util.h $(GETOPT_C)
+-mmc_tool_LDADD   = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+-bin_mmc_tool     = mmc-tool
++#mmc_tool_SOURCES = mmc-tool.c util.c util.h $(GETOPT_C)
++#mmc_tool_LDADD   = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
++#bin_mmc_tool     = mmc-tool
+ bin_PROGRAMS = $(bin_cd_drive) $(bin_cd_info)  $(bin_cdinfo_linux) $(bin_cd_read) $(bin_iso_info) $(bin_iso_read) $(bin_cdda_player) $(bin_mmc_tool)
+ INCLUDES = -I$(top_srcdir) $(LIBCDIO_CFLAGS) $(VCDINFO_CFLAGS) $(CDDB_CFLAGS)
++
++man_MANS = $(man_cd_drive) $(man_cd_info) $(man_cd_read) $(man_iso_read) $(man_iso_info)
++EXTRA_DIST = cd-drive.help2man cd-info.help2man cd-read.help2man \
++             iso-info.help2man iso-read.help2man $(GETOPT_C) getopt.h \
++             $(man_MANS)
++
++$(man_MANS): %.1: % %.help2man
++        -$(HELP2MAN) --opt-include=$<.help2man --no-info --output=$@ ./$<
++MOSTLYCLEANFILES = $(man_MANS)
diff --git a/packages/libcdio/libcdio_0.80.bb b/packages/libcdio/libcdio_0.80.bb
new file mode 100644 (file)
index 0000000..a47bf4b
--- /dev/null
@@ -0,0 +1,31 @@
+DESCRIPTION = "A library to encapsulate CD-ROM reading and control"
+HOMEPAGE = "http://www.gnu.org/software/libcdio/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL"
+MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>"
+PR="r1"
+
+SRC_URI = "http://ftp.gnu.org/pub/gnu/libcdio/${PN}-${PV}.tar.gz\
+           file://${PN}-${PV}-configure-crosscompile.patch;patch=1\
+           file://${PN}-${PV}-minimal-new.patch;patch=1\
+           file://${PN}-${PV}-fix-pkgconfig.patch;patch=1\
+           file://${PN}-${PV}-add-cdtextinfo.patch;patch=1"
+
+inherit pkgconfig autotools
+
+EXTRA_OECONF="--enable-cddb --disable-cpp-progs --disable-vcd-info --disable-maintainer-mode --without-cd-paranoia --without-cdda-player --disable-cxx --disable-example-progs --disable-joliet --without-cd-drive --without-cd-read --without-iso-info --without-iso-read --without-cd-info"
+
+RDEPEND = "cddb? ( >=media-libs/libcddb-1.0.1 ) virtual/libintl"
+DEPEND = "sys-devel/gettext dev-util/pkgconfig"
+
+do_compile_append () {
+       install -d ${D}${bindir}
+       install -m 0755 ${S}/src/.libs/cdtextinfo ${D}${bindir}
+}
+
+do_stage () {
+       oe_libinstall -so -C lib libcdio ${STAGING_LIBDIR}
+       install -d ${STAGING_INCDIR}/cdio
+       install -m 0644  ${S}/include/cdio/*.h ${STAGING_INCDIR}/cdio
+}
diff --git a/packages/libdreamdvd/libdreamdvd.bb b/packages/libdreamdvd/libdreamdvd.bb
new file mode 100644 (file)
index 0000000..c7b9889
--- /dev/null
@@ -0,0 +1,22 @@
+# libdreamdvd.bb build file
+DESCRIPTION="libdvdnav wrapper for dream multimedia stbs"
+LICENSE = "GPL"
+DEPENDS = "libdvdnav"
+RDEPENDS = "libdvdnav"
+
+PR = "r0"
+PV = "1.0cvs${SRCDATE}"
+SRCDATE = "20080908"
+SRC_URI="cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/libdreamdvd;module=libdreamdvd;method=pserver"
+
+S = "${WORKDIR}/libdreamdvd"
+
+inherit autotools pkgconfig
+
+do_stage_append() {
+       oe_runmake install prefix=${STAGING_DIR} \
+               bindir=${STAGING_BINDIR} \
+               includedir=${STAGING_INCDIR} \
+               libdir=${STAGING_LIBDIR} \
+               datadir=${STAGING_DATADIR}
+}
diff --git a/packages/libdvdnav/files/dvdnav-fix-read-dvdlabel.patch b/packages/libdvdnav/files/dvdnav-fix-read-dvdlabel.patch
new file mode 100644 (file)
index 0000000..a2ea7b8
--- /dev/null
@@ -0,0 +1,52 @@
+--- libdvdnav-0.1.10-org/src/vm.c      2004-05-21 21:32:25.000000000 +0200
++++ libdvdnav-0.1.10/src/vm/vm.c       2008-04-15 13:25:33.000000000 +0200
+@@ -43,6 +43,10 @@
+ #include "dvdnav_internal.h"
++#if defined(__linux__)
++#include <mntent.h>
++#endif
++
+ #ifdef _MSC_VER
+ #include <io.h>   /* read() */
+ #endif /* _MSC_VER */
+@@ -131,7 +135,7 @@
+      * all off_t are 64bit.
+      */
+     off_t off;
+-    int fd, i;
++    int fd = 0, i;
+     uint8_t data[DVD_VIDEO_LB_LEN];
+     /* Read DVD name */
+@@ -141,6 +145,29 @@
+       if( off == ( 32 * (off_t) DVD_VIDEO_LB_LEN ) ) {
+         off = read( fd, data, DVD_VIDEO_LB_LEN ); 
+         close(fd);
++#if defined(__linux__)
++      if (off != ( (off_t) DVD_VIDEO_LB_LEN )) {
++              FILE *mntfile;
++              mntfile = fopen( MOUNTED, "r" );
++              if ( mntfile ) {
++                      struct mntent *me;
++                      while( ( me = getmntent( mntfile ) ) ) {
++                              if( strstr( device, me->mnt_dir ) ) {
++                                      fprintf( stderr, "libdvdnav: Attempting to read dvd label from device %s mounted on %s \n", me->mnt_fsname, me->mnt_dir );
++                                      fd = open(me->mnt_fsname, O_RDONLY);
++                              }
++                      }
++                      fclose( mntfile );
++              }
++              if (fd > 0) {
++                      off = lseek( fd, 32 * (off_t) DVD_VIDEO_LB_LEN, SEEK_SET );
++                      if( off == ( 32 * (off_t) DVD_VIDEO_LB_LEN ) ) {
++                              off = read( fd, data, DVD_VIDEO_LB_LEN );
++                              close(fd);
++                      }
++              }
++      }
++#endif
+         if (off == ( (off_t) DVD_VIDEO_LB_LEN )) {
+           fprintf(MSG_OUT, "libdvdnav: DVD Title: ");
+           for(i=25; i < 73; i++ ) {
diff --git a/packages/libdvdnav/files/dvdnav-xine-lib-1.1.12.patch b/packages/libdvdnav/files/dvdnav-xine-lib-1.1.12.patch
new file mode 100644 (file)
index 0000000..4dbae36
--- /dev/null
@@ -0,0 +1,1459 @@
+diff -Naur libdvdnav-0.1.10-org/src/dvdnav.c libdvdnav-0.1.10/src/dvdnav.c
+--- libdvdnav-0.1.10-org/src/dvdnav.c  2004-01-31 18:12:58.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdnav.c      2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: dvdnav.c,v 1.63 2004/01/31 17:12:58 jcdutton Exp $
+- *
+  */
+ #ifdef HAVE_CONFIG_H
+@@ -67,7 +64,7 @@
+   struct timeval time;
+   
+   /* Create a new structure */
+-  fprintf(MSG_OUT, "libdvdnav: Using dvdnav version %s from http://dvd.sf.net\n", VERSION);
++  fprintf(MSG_OUT, "libdvdnav: Using dvdnav version %s from http://xine.sf.net\n", VERSION);
+   (*dest) = NULL;
+   this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
+@@ -203,7 +200,7 @@
+ }
+ /* converts a dvd_time_t to PTS ticks */
+-static int64_t dvdnav_convert_time(dvd_time_t *time) {
++int64_t dvdnav_convert_time(dvd_time_t *time) {
+   int64_t result;
+   int64_t frames;
+   
+@@ -403,7 +400,10 @@
+   
+   if(!this->started) {
+     /* Start the VM */
+-    vm_start(this->vm);
++    if (!vm_start(this->vm)) {
++      printerr("Encrypted or faulty DVD");
++      return DVDNAV_STATUS_ERR;
++    }
+     this->started = 1;
+   }
+@@ -665,16 +665,10 @@
+     fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_wide=%d\n",stream_change->physical_wide);
+     fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_letterbox=%d\n",stream_change->physical_letterbox);
+     fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_pan_scan=%d\n",stream_change->physical_pan_scan);
++    fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n");
+ #endif
+-    if (stream_change->physical_wide != -1 &&
+-        stream_change->physical_letterbox != -1 &&
+-        stream_change->physical_pan_scan != -1) {
+-#ifdef LOG_DEBUG
+-      fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n");
+-#endif
+-      pthread_mutex_unlock(&this->vm_lock); 
+-      return DVDNAV_STATUS_OK;
+-    }
++    pthread_mutex_unlock(&this->vm_lock); 
++    return DVDNAV_STATUS_OK;
+   }
+   /* has the audio channel changed? */  
+diff -Naur libdvdnav-0.1.10-org/src/dvdnav_events.h libdvdnav-0.1.10/src/dvdnav_events.h
+--- libdvdnav-0.1.10-org/src/dvdnav_events.h   2003-04-27 03:26:18.000000000 +0200
++++ libdvdnav-0.1.10/src/dvdnav_events.h       2008-01-23 06:11:52.000000000 +0100
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: dvdnav_events.h,v 1.12 2003/04/27 01:26:18 jcdutton Exp $
+- *
+  */
+ /*
+diff -Naur libdvdnav-0.1.10-org/src/dvdnav.h libdvdnav-0.1.10/src/dvdnav.h
+--- libdvdnav-0.1.10-org/src/dvdnav.h  2003-06-09 17:17:44.000000000 +0200
++++ libdvdnav-0.1.10/src/dvdnav.h      2008-01-23 06:11:52.000000000 +0100
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: dvdnav.h,v 1.31 2003/06/09 15:17:44 mroi Exp $
+- *
+  */
+ /*
+@@ -114,6 +111,8 @@
+  */
+ const char* dvdnav_err_to_string(dvdnav_t *self);
++/* converts a dvd_time_t to PTS ticks */
++int64_t dvdnav_convert_time(dvd_time_t *time);
+ /*********************************************************************
+  * changing and reading DVD player characteristics                   *
+diff -Naur libdvdnav-0.1.10-org/src/dvdnav_internal.h libdvdnav-0.1.10/src/dvdnav_internal.h
+--- libdvdnav-0.1.10-org/src/dvdnav_internal.h 2004-02-13 20:16:17.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdnav_internal.h     2008-03-28 15:24:50.000000000 +0100
+@@ -1,5 +1,5 @@
+ /* 
+- * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net>
++ * Copyright (C) 2001-2004 Rich Wareham <richwareham@users.sourceforge.net>
+  * 
+  * This file is part of libdvdnav, a DVD navigation library.
+  * 
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: dvdnav_internal.h,v 1.12 2004/02/13 19:16:17 mroi Exp $
+- *
+  */
+ #ifndef DVDNAV_INTERNAL_H_INCLUDED
+@@ -34,6 +31,34 @@
+ #include <limits.h>
+ #include <string.h>
++#ifndef HAVE_GETTIMEOFDAY
++#  ifdef WIN32
++#    include <winsock.h>
++struct timezone;
++#  else
++#    include <sys/time.h>
++#  endif
++/* replacement gettimeofday implementation */
++#include <sys/timeb.h>
++static inline int dvdnav_private_gettimeofday( struct timeval *tv, void *tz )
++{
++  struct timeb t;
++  ftime( &t );
++  tv->tv_sec = t.time;
++  tv->tv_usec = t.millitm * 1000;
++  return 0;
++}
++#define gettimeofday(TV, TZ) dvdnav_private_gettimeofday((TV), (TZ))
++#define HAVE_GETTIMEOFDAY 1
++#endif
++
++#ifndef HAVE_SNPRINTF
++#  ifdef HAVE__SNPRINTF
++#    define snprintf _snprintf
++#    define HAVE_SNPRINTF 1
++#  endif
++#endif
++
+ #ifdef WIN32
+ /* pthread_mutex_* wrapper for win32 */
+@@ -45,16 +70,6 @@
+ #define pthread_mutex_unlock(a)  LeaveCriticalSection(a)
+ #define pthread_mutex_destroy(a)
+-/* replacement gettimeofday implementation */
+-#include <sys/timeb.h>
+-static inline int gettimeofday( struct timeval *tv, void *tz )
+-{
+-  struct timeb t;
+-  ftime( &t );
+-  tv->tv_sec = t.time;
+-  tv->tv_usec = t.millitm * 1000;
+-  return 0;
+-}
+ #include <io.h> /* read() */
+ #define lseek64 _lseeki64
+@@ -184,15 +199,38 @@
+ /** USEFUL MACROS **/
++/* printerr*() are often called when this is NULL. Avoid segfaults by replacing these with
++ * more common prints
++ */
+ #ifdef __GNUC__
+-#define printerrf(format, args...) snprintf(this->err_str, MAX_ERR_LEN, format, ## args);
++#define printerrf(format, args...)                                    \
++  do {                                                                        \
++    if ( ! this ) fprintf(stderr, "Missing 'this' pointer while erroring:" format "\n", ## args); \
++    else snprintf(this->err_str, MAX_ERR_LEN, format, ## args);               \
++  } while(0);
+ #else
+ #ifdef _MSC_VER
+ #define printerrf(str) snprintf(this->err_str, MAX_ERR_LEN, str);
+ #else
+-#define printerrf(...) snprintf(this->err_str, MAX_ERR_LEN, __VA_ARGS__);
++#define printerrf(...)                                                 \
++  do {                                                                 \
++    if ( ! this ) {                                            \
++      fprintf(stderr, "Missing 'this' pointer while erroring:"); \
++      fprintf(stderr, __VA_ARGS__);                            \
++      fprintf(stderr, "\n");                                   \
++    } else {                                                   \
++      snprintf(this->err_str, MAX_ERR_LEN, __VA_ARGS__);       \
++    }                                                          \
++  } while(0);
+ #endif /* WIN32 */
+ #endif
+-#define printerr(str) strncpy(this->err_str, str, MAX_ERR_LEN);
++#define printerr(str)                                                 \
++  do {                                                                        \
++    if ( ! this ) {                                                   \
++      fprintf(stderr, "Missing 'this' pointer while erroring: %s\n", str); \
++    } else {                                                          \
++      strncpy(this->err_str, str, MAX_ERR_LEN);                               \
++    }                                                                 \
++  } while(0);
+ #endif /* DVDNAV_INTERNAL_H_INCLUDED */
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/bswap.h libdvdnav-0.1.10/src/dvdread/bswap.h
+--- libdvdnav-0.1.10-org/src/dvdread/bswap.h   2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/bswap.h       2008-01-23 06:11:52.000000000 +0100
+@@ -3,7 +3,7 @@
+ /*
+  * Copyright (C) 2000, 2001 Billy Biggs <vektor@dumbterm.net>,
+- *                          Håkan Hjort <d95hjort@dtek.chalmers.se>
++ *                          Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -35,12 +35,24 @@
+ #include <sys/param.h>
+ #endif
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <byteswap.h>
+ #define B2N_16(x) x = bswap_16(x)
+ #define B2N_32(x) x = bswap_32(x)
+ #define B2N_64(x) x = bswap_64(x)
++#elif defined(__SVR4) && defined(__sun)
++#include <sys/byteorder.h>
++#define B2N_16(x) x = BSWAP_16(x)
++#define B2N_32(x) x = BSWAP_32(x)
++#define B2N_64(x) x = BSWAP_64(x)
++
++#elif defined(__APPLE__)
++#include <libkern/OSByteOrder.h>
++#define B2N_16(x) x = OSSwapBigToHostInt16(x)
++#define B2N_32(x) x = OSSwapBigToHostInt32(x)
++#define B2N_64(x) x = OSSwapBigToHostInt64(x)
++
+ #elif defined(__NetBSD__)
+ #include <sys/endian.h>
+ #define B2N_16(x) BE16TOH(x)
+@@ -61,11 +73,11 @@
+ /* This is a slow but portable implementation, it has multiple evaluation 
+  * problems so beware.
+- * Old FreeBSD's and Solaris don't have <byteswap.h> or any other such 
++ * Old FreeBSD and Windows don't have <byteswap.h> or any other such 
+  * functionality! 
+  */
+-#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__)
++#elif defined(__FreeBSD__) || defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__)
+ #define B2N_16(x) \
+  x = ((((x) & 0xff00) >> 8) | \
+       (((x) & 0x00ff) << 8))
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_input.c libdvdnav-0.1.10/src/dvdread/dvd_input.c
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_input.c       2004-04-09 14:15:26.000000000 +0200
++++ libdvdnav-0.1.10/src/dvdread/dvd_input.c   2008-01-23 06:11:52.000000000 +0100
+@@ -1,6 +1,6 @@
+ /*
+  * Copyright (C) 2002 Samuel Hocevar <sam@zoy.org>,
+- *                    Håkan Hjort <d95hjort@dtek.chalmers.se>
++ *                    Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -35,6 +35,7 @@
+ int         (*dvdinput_title) (dvd_input_t, int); 
+ int         (*dvdinput_read)  (dvd_input_t, void *, int, int);
+ char *      (*dvdinput_error) (dvd_input_t);
++int         (*dvdinput_is_encrypted) (dvd_input_t);
+ #ifdef HAVE_DVDCSS_DVDCSS_H
+ /* linking to libdvdcss */
+@@ -55,6 +56,73 @@
+ #include "../../msvc/contrib/dlfcn.c"
+ #endif
++/* Copied from css.h */
++#define KEY_SIZE 5
++
++typedef uint8_t dvd_key_t[KEY_SIZE];
++
++typedef struct dvd_title_s
++{
++    int                 i_startlb;
++    dvd_key_t           p_key;
++    struct dvd_title_s *p_next;
++} dvd_title_t;
++
++typedef struct css_s
++{
++    int             i_agid;      /* Current Authenication Grant ID. */
++    dvd_key_t       p_bus_key;   /* Current session key. */
++    dvd_key_t       p_disc_key;  /* This DVD disc's key. */
++    dvd_key_t       p_title_key; /* Current title key. */
++} css_t;
++
++/* Copied from libdvdcss.h */
++
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
++
++struct dvdcss_s
++{
++    /* File descriptor */
++    char * psz_device;
++    int    i_fd;
++    int    i_read_fd;
++    int    i_pos;
++
++    /* File handling */
++    void *pf_seek;
++    void *pf_read;
++    void *pf_readv;
++
++    /* Decryption stuff */
++    int          i_method;
++    css_t        css;
++    int          b_ioctls;
++    int          b_scrambled;
++    dvd_title_t *p_titles;
++
++    /* Key cache directory and pointer to the filename */
++    char   psz_cachefile[PATH_MAX];
++    char * psz_block;
++
++    /* Error management */
++    char * psz_error;
++    int    b_errors;
++    int    b_debug;
++
++#ifdef WIN32
++    int    b_file;
++    char * p_readv_buffer;
++    int    i_readv_buf_size;
++#endif
++
++#ifndef WIN32
++    int    i_raw_fd;
++#endif
++};
++
++
+ typedef struct dvdcss_s *dvdcss_handle;
+ static dvdcss_handle (*DVDcss_open)  (const char *);
+ static int           (*DVDcss_close) (dvdcss_handle);
+@@ -149,8 +217,13 @@
+   return 0;
+ }
+-
+-
++static int css_is_encrypted (dvd_input_t dev)
++{
++  if (dev->dvdcss == NULL) {
++    return 0;
++  }
++  return dev->dvdcss->b_scrambled;
++}
+@@ -269,6 +342,10 @@
+   return 0;
+ }
++static int file_is_encrypted (dvd_input_t dev)
++{
++  return 0;
++}
+ /**
+  * Setup read functions with either libdvdcss or minimal DVD access.
+@@ -287,10 +364,12 @@
+ #else
+   /* dlopening libdvdcss */
+-#ifndef WIN32
+-  dvdcss_library = dlopen("libdvdcss.so.2", RTLD_LAZY);
+-#else
++#ifdef HOST_OS_DARWIN
++  dvdcss_library = dlopen("libdvdcss.2.dylib", RTLD_LAZY);
++#elif defined(WIN32)
+   dvdcss_library = dlopen("libdvdcss.dll", RTLD_LAZY);
++#else
++  dvdcss_library = dlopen("libdvdcss.so.2", RTLD_LAZY);
+ #endif
+   if(dvdcss_library != NULL) {
+@@ -323,7 +402,7 @@
+       dvdcss_library = NULL;
+     } else if(!DVDcss_open  || !DVDcss_close || !DVDcss_title || !DVDcss_seek
+             || !DVDcss_read || !DVDcss_error || !dvdcss_version) {
+-      fprintf(stderr,  "libdvdread: Missing symbols in libdvdcss.so.2, "
++      fprintf(stderr,  "libdvdread: Missing symbols in libdvdcss, "
+             "this shouldn't happen !\n");
+       dlclose(dvdcss_library);
+     }
+@@ -347,6 +426,7 @@
+     dvdinput_title = css_title;
+     dvdinput_read  = css_read;
+     dvdinput_error = css_error;
++    dvdinput_is_encrypted = css_is_encrypted;
+     return 1;
+     
+   } else {
+@@ -359,6 +439,7 @@
+     dvdinput_title = file_title;
+     dvdinput_read  = file_read;
+     dvdinput_error = file_error;
++    dvdinput_is_encrypted = file_is_encrypted;
+     return 0;
+   }
+ }
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_input.h libdvdnav-0.1.10/src/dvdread/dvd_input.h
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_input.h       2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_input.h   2008-01-23 06:11:52.000000000 +0100
+@@ -3,7 +3,7 @@
+ /*
+  * Copyright (C) 2001, 2002 Samuel Hocevar <sam@zoy.org>,
+- *                          Håkan Hjort <d95hjort@dtek.chalmers.se>
++ *                          Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -38,6 +38,7 @@
+ extern int         (*dvdinput_title) (dvd_input_t, int); 
+ extern int         (*dvdinput_read)  (dvd_input_t, void *, int, int);
+ extern char *      (*dvdinput_error) (dvd_input_t);
++extern int         (*dvdinput_is_encrypted) (dvd_input_t);
+ /**
+  * Setup function accessed by dvd_reader.c.  Returns 1 if there is CSS support.
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_reader.c libdvdnav-0.1.10/src/dvdread/dvd_reader.c
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_reader.c      2004-03-03 17:48:36.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_reader.c  2008-03-17 17:18:01.000000000 +0100
+@@ -1,7 +1,7 @@
+ /*
+- * Copyright (C) 2001, 2002, 2003 Billy Biggs <vektor@dumbterm.net>,
+- *                                Håkan Hjort <d95hjort@dtek.chalmers.se>,
+- *                                Björn Englund <d4bjorn@dtek.chalmers.se>
++ * Copyright (C) 2001-2004 Billy Biggs <vektor@dumbterm.net>,
++ *                         Håkan Hjort <d95hjort@dtek.chalmers.se>,
++ *                         Björn Englund <d4bjorn@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -32,11 +32,16 @@
+ #include <limits.h>
+ #include <dirent.h>
+-/* misc win32 helpers */
+-#ifdef WIN32
++#ifndef HAVE_GETTIMEOFDAY
++#  ifdef WIN32
++#    include <winsock.h>
++struct timezone;
++#  else
++#    include <sys/time.h>
++#  endif
+ /* replacement gettimeofday implementation */
+ #include <sys/timeb.h>
+-static inline int gettimeofday( struct timeval *tv, void *tz )
++static inline int _private_gettimeofday( struct timeval *tv, void *tz )
+ {
+   struct timeb t;
+   ftime( &t );
+@@ -44,11 +49,16 @@
+   tv->tv_usec = t.millitm * 1000;
+   return 0;
+ }
++#define gettimeofday(TV, TZ) _private_gettimeofday((TV), (TZ))
++#endif
++
++/* misc win32 helpers */
++#ifdef WIN32
+ #include <io.h> /* read() */
+ #define lseek64 _lseeki64
+ #endif
+  
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__)|| defined(__DARWIN__)
++#if defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__)|| defined(__DARWIN__)
+ #define SYS_BSD 1
+ #endif
+@@ -478,6 +489,13 @@
+                            me->mnt_fsname,
+                            me->mnt_dir );
+                     auth_drive = DVDOpenImageFile( me->mnt_fsname, have_css );
++                  /* If the device is not encrypted, don't access the device
++                   * directly as it would fail for non-UDF DVDs */
++                  if ( auth_drive && dvdinput_is_encrypted( auth_drive->dev ) == 0) {
++                    DVDClose( auth_drive );
++                    auth_drive = NULL;
++                    break;
++                  }
+                   dev_name = strdup(me->mnt_fsname);
+                     break;
+                 }
+@@ -585,10 +603,12 @@
+             sprintf( filename, "%s%s%s", path,
+                      ( ( path[ strlen( path ) - 1 ] == '/' ) ? "" : "/" ),
+                      ent->d_name );
++            closedir (dir);
+             return 0;
+         }
+     }
++    closedir (dir);
+     return -1;
+ }
+@@ -1017,6 +1037,28 @@
+     return offset;
+ }
++int32_t DVDFileSeekForce( dvd_file_t *dvd_file, int offset, int force_size )
++{
++  /* Check arguments. */
++  if( dvd_file == NULL || offset < 0 )
++    return -1;
++
++  if( dvd_file->dvd->isImageFile ) {
++    if( force_size < 0 )
++      force_size = (offset - 1) / DVD_VIDEO_LB_LEN + 1;
++    if( dvd_file->filesize < force_size) {
++      dvd_file->filesize = force_size;
++      fprintf(stderr, "libdvdread: Ignored UDF provided size of file.\n");
++    }
++  }
++
++  if( offset > dvd_file->filesize * DVD_VIDEO_LB_LEN ) {
++    return -1;
++  }
++  dvd_file->seek_pos = (uint32_t) offset;
++  return offset;
++}
++
+ ssize_t DVDReadBytes( dvd_file_t *dvd_file, void *data, size_t byte_size )
+ {
+     unsigned char *secbuf_base, *secbuf;
+@@ -1057,7 +1099,7 @@
+     memcpy( data, &(secbuf[ seek_byte ]), byte_size );
+     free( secbuf_base );
+-    dvd_file->seek_pos += byte_size;
++    DVDFileSeekForce(dvd_file, dvd_file->seek_pos + byte_size, -1);
+     return byte_size;
+ }
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_reader.h libdvdnav-0.1.10/src/dvdread/dvd_reader.h
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_reader.h      2004-02-01 18:55:19.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_reader.h  2008-03-28 15:24:50.000000000 +0100
+@@ -3,8 +3,8 @@
+ /*
+  * Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>,
+- *                          Håkan Hjort <d95hjort@dtek.chalmers.se>,
+- *                          Björn Englund <d4bjorn@dtek.chalmers.se>
++ *                          Håkan Hjort <d95hjort@dtek.chalmers.se>,
++ *                          Björn Englund <d4bjorn@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -21,9 +21,11 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  */
+-#ifdef _MSC_VER
++#ifdef HAVE_CONFIG_H
+ #include <config.h>
++#endif
++#ifdef _MSC_VER
+ #include <stdio.h>
+ #include <stdlib.h>
+ #endif
+@@ -169,6 +171,8 @@
+  */
+ int32_t DVDFileSeek( dvd_file_t *, int32_t );
++int32_t DVDFileSeekForce( dvd_file_t *, int, int );
++
+ /**
+  * Reads the given number of bytes from the file.  This call can only be used
+  * on the information files, and may not be used for reading from a VOB.  This
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_udf.c libdvdnav-0.1.10/src/dvdread/dvd_udf.c
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_udf.c 2004-03-03 17:48:36.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_udf.c     2008-03-07 15:19:43.000000000 +0100
+@@ -4,7 +4,7 @@
+  *
+  * Modifications by:
+  *   Billy Biggs <vektor@dumbterm.net>.
+- *   Björn Englund <d4bjorn@dtek.chalmers.se>.
++ *   Björn Englund <d4bjorn@dtek.chalmers.se>.
+  *
+  * dvdudf: parse and read the UDF volume information of a DVD Video
+  * Copyright (C) 1999 Christian Wolff for convergence integrated media
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_udf.h libdvdnav-0.1.10/src/dvdread/dvd_udf.h
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_udf.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_udf.h     2008-01-23 06:11:52.000000000 +0100
+@@ -7,7 +7,7 @@
+  *
+  * Modifications by:
+  *   Billy Biggs <vektor@dumbterm.net>.
+- *   Björn Englund <d4bjorn@dtek.chalmers.se>.
++ *   Björn Englund <d4bjorn@dtek.chalmers.se>.
+  * 
+  * dvdudf: parse and read the UDF volume information of a DVD Video
+  * Copyright (C) 1999 Christian Wolff for convergence integrated media
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/ifo_read.c libdvdnav-0.1.10/src/dvdread/ifo_read.c
+--- libdvdnav-0.1.10-org/src/dvdread/ifo_read.c        2004-02-23 19:14:42.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/ifo_read.c    2008-03-17 17:18:01.000000000 +0100
+@@ -1,7 +1,7 @@
+ /*
+  * Copyright (C) 2000, 2001, 2002, 2003
+- *               Björn Englund <d4bjorn@dtek.chalmers.se>, 
+- *               Håkan Hjort <d95hjort@dtek.chalmers.se>
++ *               Björn Englund <d4bjorn@dtek.chalmers.se>, 
++ *               Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -93,6 +93,10 @@
+   return (DVDFileSeek(dvd_file, (int)offset) == (int)offset);
+ }
++static inline int32_t DVDFileSeekForce_( dvd_file_t *dvd_file, uint32_t offset, int force_size ) {
++  return (DVDFileSeekForce(dvd_file, (int)offset, force_size) == (int)offset);
++}
++
+ ifo_handle_t *ifoOpen(dvd_reader_t *dvd, int title) {
+   ifo_handle_t *ifofile;
+@@ -683,7 +687,7 @@
+     pgc->command_tbl = NULL;
+   }
+   
+-  if(pgc->program_map_offset != 0) {
++  if(pgc->program_map_offset != 0 && pgc->nr_of_programs>0) {
+     pgc->program_map = malloc(pgc->nr_of_programs * sizeof(pgc_program_map_t));
+     if(!pgc->program_map) {
+       ifoFree_PGC_COMMAND_TBL(pgc->command_tbl);
+@@ -699,7 +703,7 @@
+     pgc->program_map = NULL;
+   }
+   
+-  if(pgc->cell_playback_offset != 0) {
++  if(pgc->cell_playback_offset != 0 && pgc->nr_of_cells>0) {
+     pgc->cell_playback = malloc(pgc->nr_of_cells * sizeof(cell_playback_t));
+     if(!pgc->cell_playback) {
+       ifoFree_PGC_COMMAND_TBL(pgc->command_tbl);
+@@ -720,7 +724,7 @@
+     pgc->cell_playback = NULL;
+   }
+   
+-  if(pgc->cell_position_offset != 0) {
++  if(pgc->cell_position_offset != 0 && pgc->nr_of_cells>0) {
+     pgc->cell_position = malloc(pgc->nr_of_cells * sizeof(cell_position_t));
+     if(!pgc->cell_position) {
+       ifoFree_PGC(pgc);
+@@ -1507,7 +1511,7 @@
+   unsigned int i;
+   int info_length;
+-  if(!DVDFileSeek_(ifofile->file, sector * DVD_BLOCK_LEN))
++  if(!DVDFileSeekForce_(ifofile->file, sector * DVD_BLOCK_LEN, sector))
+     return 0;
+   if(!(DVDReadBytes(ifofile->file, vobu_admap, VOBU_ADMAP_SIZE)))
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/ifo_read.h libdvdnav-0.1.10/src/dvdread/ifo_read.h
+--- libdvdnav-0.1.10-org/src/dvdread/ifo_read.h        2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/ifo_read.h    2008-01-23 06:11:52.000000000 +0100
+@@ -2,8 +2,8 @@
+ #define IFO_READ_H_INCLUDED
+ /*
+- * Copyright (C) 2000, 2001, 2002 Björn Englund <d4bjorn@dtek.chalmers.se>,
+- *                                Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001, 2002 Björn Englund <d4bjorn@dtek.chalmers.se>,
++ *                                Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/ifo_types.h libdvdnav-0.1.10/src/dvdread/ifo_types.h
+--- libdvdnav-0.1.10-org/src/dvdread/ifo_types.h       2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/ifo_types.h   2008-01-23 06:11:52.000000000 +0100
+@@ -2,8 +2,8 @@
+ #define IFO_TYPES_H_INCLUDED
+ /*
+- * Copyright (C) 2000, 2001 Björn Englund <d4bjorn@dtek.chalmers.se>,
+- *                          Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001 Björn Englund <d4bjorn@dtek.chalmers.se>,
++ *                          Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/md5.c libdvdnav-0.1.10/src/dvdread/md5.c
+--- libdvdnav-0.1.10-org/src/dvdread/md5.c     2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/md5.c 2008-03-28 15:24:50.000000000 +0100
+@@ -26,14 +26,8 @@
+ #include <sys/types.h>
+-#if STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-# include <string.h>
+-#else
+-# ifndef HAVE_MEMCPY
+-#  define memcpy(d, s, n) bcopy ((s), (d), (n))
+-# endif
+-#endif
++#include <stdlib.h>
++#include <string.h>
+ #include "md5.h"
+ /* #include "unlocked-io.h" */
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_print.c libdvdnav-0.1.10/src/dvdread/nav_print.c
+--- libdvdnav-0.1.10-org/src/dvdread/nav_print.c       2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_print.c   2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001, 2002, 2003 Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001, 2002, 2003 Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * Much of the contents in this file is based on VOBDUMP.
+  *
+@@ -65,7 +65,8 @@
+   printf("pci_gi:\n");
+   printf("nv_pck_lbn    0x%08x\n", pci_gi->nv_pck_lbn);
+   printf("vobu_cat      0x%04x\n", pci_gi->vobu_cat);
+-  printf("vobu_uop_ctl  0x%08x\n", *(uint32_t*)&pci_gi->vobu_uop_ctl);
++/* This will break strict aliasing, better avoid as this seems to be useless
++  printf("vobu_uop_ctl  0x%08x\n", *(uint32_t*)&pci_gi->vobu_uop_ctl); */
+   printf("vobu_s_ptm    0x%08x\n", pci_gi->vobu_s_ptm);
+   printf("vobu_e_ptm    0x%08x\n", pci_gi->vobu_e_ptm);
+   printf("vobu_se_e_ptm 0x%08x\n", pci_gi->vobu_se_e_ptm);
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_print.h libdvdnav-0.1.10/src/dvdread/nav_print.h
+--- libdvdnav-0.1.10-org/src/dvdread/nav_print.h       2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_print.h   2008-01-23 06:11:52.000000000 +0100
+@@ -3,7 +3,7 @@
+ /*
+  * Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>,
+- *                          Håkan Hjort <d95hjort@dtek.chalmers.se>
++ *                          Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_read.c libdvdnav-0.1.10/src/dvdread/nav_read.c
+--- libdvdnav-0.1.10-org/src/dvdread/nav_read.c        2004-03-03 17:50:41.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_read.c    2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001, 2002, 2003 Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001, 2002, 2003 Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_read.h libdvdnav-0.1.10/src/dvdread/nav_read.h
+--- libdvdnav-0.1.10-org/src/dvdread/nav_read.h        2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_read.h    2008-01-23 06:11:52.000000000 +0100
+@@ -2,7 +2,7 @@
+ #define NAV_READ_H_INCLUDED
+ /*
+- * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>.
++ * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_types.h libdvdnav-0.1.10/src/dvdread/nav_types.h
+--- libdvdnav-0.1.10-org/src/dvdread/nav_types.h       2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_types.h   2008-01-23 06:11:52.000000000 +0100
+@@ -2,7 +2,7 @@
+ #define NAV_TYPES_H_INCLUDED
+ /*
+- * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>
+  *
+  * The data structures in this file should represent the layout of the
+  * pci and dsi packets as they are stored in the stream.  Information
+diff -Naur libdvdnav-0.1.10-org/src/dvd_types.h libdvdnav-0.1.10/src/dvd_types.h
+--- libdvdnav-0.1.10-org/src/dvd_types.h       2003-04-21 15:18:06.000000000 +0200
++++ libdvdnav-0.1.10/src/dvd_types.h   2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Björn Englund, Håkan Hjort
++ * Copyright (C) 2000, 2001 Björn Englund, Håkan Hjort
+  *
+  * This file is part of libdvdnav, a DVD navigation library. It is a modified
+  * file originally part of the Ogle DVD player project.
+@@ -17,9 +17,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: dvd_types.h,v 1.7 2003/04/21 13:18:06 mroi Exp $
+- *
+  */
+ /*
+diff -Naur libdvdnav-0.1.10-org/src/highlight.c libdvdnav-0.1.10/src/highlight.c
+--- libdvdnav-0.1.10-org/src/highlight.c       2004-01-20 02:22:24.000000000 +0100
++++ libdvdnav-0.1.10/src/highlight.c   2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: highlight.c,v 1.32 2004/01/20 01:22:24 jcdutton Exp $
+- *
+  */
+ #ifdef HAVE_CONFIG_H
+diff -Naur libdvdnav-0.1.10-org/src/navigation.c libdvdnav-0.1.10/src/navigation.c
+--- libdvdnav-0.1.10-org/src/navigation.c      2004-01-07 20:34:28.000000000 +0100
++++ libdvdnav-0.1.10/src/navigation.c  2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: navigation.c,v 1.21 2004/01/07 19:34:28 mroi Exp $
+- *
+  */
+ #ifdef HAVE_CONFIG_H
+@@ -60,8 +57,8 @@
+     printerr("Passed a NULL pointer.");
+     return DVDNAV_STATUS_ERR;
+   }
+-  if(!this->started) {
+-    printerr("Virtual DVD machine not started.");
++  if (!this->vm->vmgi) {
++    printerr("Bad VM state.");
+     return DVDNAV_STATUS_ERR;
+   }
+@@ -75,8 +72,8 @@
+     printerr("Passed a NULL pointer.");
+     return DVDNAV_STATUS_ERR;
+   }
+-  if(!this->started) {
+-    printerr("Virtual DVD machine not started.");
++  if (!this->vm->vmgi) {
++    printerr("Bad VM state.");
+     return DVDNAV_STATUS_ERR;
+   }
+   if ((title < 1) || (title > vm_get_vmgi(this->vm)->tt_srpt->nr_of_srpts) ) {
+@@ -103,6 +100,11 @@
+     pthread_mutex_unlock(&this->vm_lock);
+     return DVDNAV_STATUS_ERR;
+   }
++  if (!this->started) {
++    printerr("Virtual DVD machine not started.");
++    pthread_mutex_unlock(&this->vm_lock);
++    return DVDNAV_STATUS_ERR;
++  }
+   if (!this->vm->state.pgc) {
+     printerr("No current PGC.");
+     pthread_mutex_unlock(&this->vm_lock);
+@@ -150,6 +152,11 @@
+     pthread_mutex_unlock(&this->vm_lock);
+     return DVDNAV_STATUS_ERR;
+   }
++  if (!this->started) {
++    /* don't report an error but be nice */
++    vm_start(this->vm);
++    this->started = 1;
++  }
+   if (!this->vm->state.pgc) {
+     printerr("No current PGC.");
+     pthread_mutex_unlock(&this->vm_lock);
+diff -Naur libdvdnav-0.1.10-org/src/read_cache.c libdvdnav-0.1.10/src/read_cache.c
+--- libdvdnav-0.1.10-org/src/read_cache.c      2004-03-03 17:48:36.000000000 +0100
++++ libdvdnav-0.1.10/src/read_cache.c  2008-03-28 15:24:50.000000000 +0100
+@@ -17,9 +17,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: read_cache.c,v 1.30 2004/03/03 16:48:36 mroi Exp $
+- *
+  */
+ /*
+  * There was a multithreaded read ahead cache in here for some time, but
+diff -Naur libdvdnav-0.1.10-org/src/read_cache.h libdvdnav-0.1.10/src/read_cache.h
+--- libdvdnav-0.1.10-org/src/read_cache.h      2002-07-12 17:46:44.000000000 +0200
++++ libdvdnav-0.1.10/src/read_cache.h  2008-01-23 06:11:52.000000000 +0100
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: read_cache.h,v 1.4 2002/07/12 15:46:44 mroi Exp $
+- *
+  */
+ #ifndef __DVDNAV_READ_CACHE_H
+diff -Naur libdvdnav-0.1.10-org/src/remap.c libdvdnav-0.1.10/src/remap.c
+--- libdvdnav-0.1.10-org/src/remap.c   2003-08-27 15:54:19.000000000 +0200
++++ libdvdnav-0.1.10/src/remap.c       2008-03-07 15:19:43.000000000 +0100
+@@ -14,22 +14,23 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: remap.c,v 1.4 2003/08/27 13:54:19 mroi Exp $
+  */
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
+-#ifndef _MSC_VER 
++#ifdef HAVE_SYS_PARAM_H
+ #include <sys/param.h>
++#endif
++
++#ifdef HAVE_SYS_FCNTL_H
+ #include <sys/fcntl.h>
+ #else
+ #ifndef MAXPATHLEN
+ #define MAXPATHLEN 255
+ #endif
+-#endif /* _MSC_VER */
++#endif /* HAVE fcntl.h */
+ #include <assert.h>
+ #include "remap.h"
+@@ -190,10 +191,7 @@
+     /* Build the map filename */
+     home = getenv("HOME"); assert(home);
+-    strncpy(fname, home, sizeof(fname));
+-    strncat(fname, "/.dvdnav/", sizeof(fname));
+-    strncat(fname, title, sizeof(fname));
+-    strncat(fname, ".map", sizeof(fname));
++    snprintf (fname, sizeof(fname), "%s/.dvdnav/%s.map", home, title);
+     /* Open the map file */
+     fp = fopen( fname, "r");
+diff -Naur libdvdnav-0.1.10-org/src/remap.h libdvdnav-0.1.10/src/remap.h
+--- libdvdnav-0.1.10-org/src/remap.h   2003-02-20 16:32:19.000000000 +0100
++++ libdvdnav-0.1.10/src/remap.h       2008-01-23 06:11:52.000000000 +0100
+@@ -14,8 +14,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: remap.h,v 1.2 2003/02/20 15:32:19 mroi Exp $
+  */
+ #ifndef __REMAP__H
+diff -Naur libdvdnav-0.1.10-org/src/searching.c libdvdnav-0.1.10/src/searching.c
+--- libdvdnav-0.1.10-org/src/searching.c       2004-01-07 20:35:12.000000000 +0100
++++ libdvdnav-0.1.10/src/searching.c   2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: searching.c,v 1.35 2004/01/07 19:35:12 mroi Exp $
+- *
+  */
+ #ifdef HAVE_CONFIG_H
+@@ -27,6 +24,7 @@
+ #include <assert.h>
+ #include "dvdnav_internal.h"
++#include "dvdnav.h"
+ /*
+ #define LOG_DEBUG
+@@ -34,12 +32,6 @@
+ /* Searching API calls */
+-dvdnav_status_t dvdnav_time_search(dvdnav_t *this,
+-                                 uint64_t time) {
+-  /* FIXME: Time search the current PGC based on the xxx table */
+-  return DVDNAV_STATUS_OK;
+-}
+-
+ /* Scan the ADMAP for a particular block number. */
+ /* Return placed in vobu. */
+ /* Returns error status */
+@@ -101,6 +93,86 @@
+   return DVDNAV_STATUS_ERR;
+ }
++dvdnav_status_t dvdnav_time_search(dvdnav_t *this,
++                                 uint64_t time) {
++  
++  uint64_t target = time;
++  uint64_t length = 0;
++  uint32_t first_cell_nr, last_cell_nr, cell_nr;
++  int32_t found;
++  cell_playback_t *cell;
++  dvd_state_t *state;
++
++  if(this->position_current.still != 0) {
++    printerr("Cannot seek in a still frame.");
++    return DVDNAV_STATUS_ERR;
++  }
++  
++  pthread_mutex_lock(&this->vm_lock);
++  state = &(this->vm->state);
++  if(!state->pgc) {
++    printerr("No current PGC.");
++    pthread_mutex_unlock(&this->vm_lock);
++    return DVDNAV_STATUS_ERR;
++  }
++
++  
++  if (this->pgc_based) {
++    first_cell_nr = 1;
++    last_cell_nr = state->pgc->nr_of_cells;
++  } else {
++    /* Find start cell of program. */
++    first_cell_nr = state->pgc->program_map[state->pgN-1];
++    /* Find end cell of program */
++    if(state->pgN < state->pgc->nr_of_programs)
++      last_cell_nr = state->pgc->program_map[state->pgN] - 1;
++    else
++      last_cell_nr = state->pgc->nr_of_cells;
++  }
++
++  found = 0;
++  for(cell_nr = first_cell_nr; (cell_nr <= last_cell_nr) && !found; cell_nr ++) {
++    cell =  &(state->pgc->cell_playback[cell_nr-1]);
++    length = dvdnav_convert_time(&cell->playback_time);
++    if (target >= length) {
++      target -= length;
++    } else {
++      /* FIXME: there must be a better way than interpolation */
++      target = target * (cell->last_sector - cell->first_sector + 1) / length;
++      target += cell->first_sector;
++      
++      found = 1;
++      break;
++    }
++  }
++
++  if(found) {
++    int32_t vobu;
++#ifdef LOG_DEBUG
++    fprintf(MSG_OUT, "libdvdnav: Seeking to cell %i from choice of %i to %i\n",
++          cell_nr, first_cell_nr, last_cell_nr);
++#endif
++    if (dvdnav_scan_admap(this, state->domain, target, &vobu) == DVDNAV_STATUS_OK) {
++      int32_t start = state->pgc->cell_playback[cell_nr-1].first_sector;
++      
++      if (vm_jump_cell_block(this->vm, cell_nr, vobu - start)) {
++#ifdef LOG_DEBUG
++        fprintf(MSG_OUT, "libdvdnav: After cellN=%u blockN=%u target=%x vobu=%x start=%x\n" ,
++          state->cellN, state->blockN, target, vobu, start);
++#endif
++        this->vm->hop_channel += HOP_SEEK;
++        pthread_mutex_unlock(&this->vm_lock);
++        return DVDNAV_STATUS_OK;
++      }
++    }
++  }
++  
++  fprintf(MSG_OUT, "libdvdnav: Error when seeking\n");
++  printerr("Error when seeking.");
++  pthread_mutex_unlock(&this->vm_lock);
++  return DVDNAV_STATUS_ERR;
++}
++
+ dvdnav_status_t dvdnav_sector_search(dvdnav_t *this,
+                                    uint64_t offset, int32_t origin) {
+   uint32_t target = 0;
+diff -Naur libdvdnav-0.1.10-org/src/settings.c libdvdnav-0.1.10/src/settings.c
+--- libdvdnav-0.1.10-org/src/settings.c        2003-12-31 22:37:16.000000000 +0100
++++ libdvdnav-0.1.10/src/settings.c    2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: settings.c,v 1.9 2003/12/31 21:37:16 jcdutton Exp $
+- *
+  */
+ #ifdef HAVE_CONFIG_H
+diff -Naur libdvdnav-0.1.10-org/src/vm/decoder.c libdvdnav-0.1.10/src/vm/decoder.c
+--- libdvdnav-0.1.10-org/src/vm/decoder.c      2004-03-03 17:50:42.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/decoder.c  2008-03-28 15:24:50.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
++ * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
+  *               2002-2004 the dvdnav project
+  * 
+  * This file is part of libdvdnav, a DVD navigation library. It is modified
+@@ -18,9 +18,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: decoder.c,v 1.2 2004/03/03 16:50:42 mroi Exp $
+- *
+  */
+ #ifdef HAVE_CONFIG_H
+diff -Naur libdvdnav-0.1.10-org/src/vm/decoder.h libdvdnav-0.1.10/src/vm/decoder.h
+--- libdvdnav-0.1.10-org/src/vm/decoder.h      2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/decoder.h  2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
++ * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
+  * 
+  * This file is part of libdvdnav, a DVD navigation library. It is modified
+  * from a file originally part of the Ogle DVD player.
+@@ -17,9 +17,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: decoder.h,v 1.1 2004/01/11 21:43:13 mroi Exp $
+- *
+  */
+ #ifndef DECODER_H_INCLUDED
+diff -Naur libdvdnav-0.1.10-org/src/vm/vm.c libdvdnav-0.1.10/src/vm/vm.c
+--- libdvdnav-0.1.10-org/src/vm/vm.c   2004-05-21 21:32:25.000000000 +0200
++++ libdvdnav-0.1.10/src/vm/vm.c       2008-03-28 15:24:50.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Håkan Hjort
++ * Copyright (C) 2000, 2001 Håkan Hjort
+  * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net>
+  *               2002-2004 the dvdnav project
+  * 
+@@ -19,9 +19,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: vm.c,v 1.6 2004/05/21 19:32:25 mroi Exp $
+- *
+  */
+ #ifdef HAVE_CONFIG_H
+@@ -184,9 +181,9 @@
+   }
+ }
+-static void ifoOpenNewVTSI(vm_t *vm, dvd_reader_t *dvd, int vtsN) {
++static int ifoOpenNewVTSI(vm_t *vm, dvd_reader_t *dvd, int vtsN) {
+   if((vm->state).vtsN == vtsN) {
+-    return; /*  We alread have it */
++    return 1; /*  We alread have it */
+   }
+   
+   if(vm->vtsi != NULL)
+@@ -194,30 +191,32 @@
+   
+   vm->vtsi = ifoOpenVTSI(dvd, vtsN);
+   if(vm->vtsi == NULL) {
+-    fprintf(MSG_OUT, "libdvdnav: ifoOpenVTSI failed - CRASHING!!!\n");
+-    assert(0);
++    fprintf(MSG_OUT, "libdvdnav: ifoOpenVTSI failed\n");
++    return 0;
+   }
+   if(!ifoRead_VTS_PTT_SRPT(vm->vtsi)) {
+-    fprintf(MSG_OUT, "libdvdnav: ifoRead_VTS_PTT_SRPT failed - CRASHING!!!\n");
+-    assert(0);
++    fprintf(MSG_OUT, "libdvdnav: ifoRead_VTS_PTT_SRPT failed\n");
++    return 0;
+   }
+   if(!ifoRead_PGCIT(vm->vtsi)) {
+-    fprintf(MSG_OUT, "libdvdnav: ifoRead_PGCIT failed - CRASHING!!!\n");
+-    assert(0);
++    fprintf(MSG_OUT, "libdvdnav: ifoRead_PGCIT failed\n");
++    return 0;
+   }
+   if(!ifoRead_PGCI_UT(vm->vtsi)) {
+-    fprintf(MSG_OUT, "libdvdnav: ifoRead_PGCI_UT failed - CRASHING!!!\n");
+-    assert(0);
++    fprintf(MSG_OUT, "libdvdnav: ifoRead_PGCI_UT failed\n");
++    return 0;
+   }
+   if(!ifoRead_VOBU_ADMAP(vm->vtsi)) {
+-    fprintf(MSG_OUT, "libdvdnav: ifoRead_VOBU_ADMAP vtsi failed - CRASHING\n");
+-    assert(0);
++    fprintf(MSG_OUT, "libdvdnav: ifoRead_VOBU_ADMAP vtsi failed\n");
++    return 0;
+   }
+   if(!ifoRead_TITLE_VOBU_ADMAP(vm->vtsi)) {
+-    fprintf(MSG_OUT, "libdvdnav: ifoRead_TITLE_VOBU_ADMAP vtsi failed - CRASHING\n");
+-    assert(0);
++    fprintf(MSG_OUT, "libdvdnav: ifoRead_TITLE_VOBU_ADMAP vtsi failed\n");
++    return 0;
+   }
+   (vm->state).vtsN = vtsN;
++  
++  return 1;
+ }
+@@ -253,10 +252,11 @@
+ /* Basic Handling */
+-void vm_start(vm_t *vm) {
++int vm_start(vm_t *vm) {
+   /* Set pgc to FP (First Play) pgc */
+   set_FP_PGC(vm);
+   process_command(vm, play_PGC(vm));
++  return !vm->stopped;
+ }
+ void vm_stop(vm_t *vm) {
+@@ -382,7 +382,8 @@
+   vtsN = (target->state).vtsN;
+   if (vtsN > 0) {
+     (target->state).vtsN = 0;
+-    ifoOpenNewVTSI(target, target->dvd, vtsN);
++    if (!ifoOpenNewVTSI(target, target->dvd, vtsN))
++      assert(0);
+   
+     /* restore pgc pointer into the new vtsi */
+     if (!set_PGCN(target, pgcN))
+@@ -712,8 +713,8 @@
+     }
+   }
+   
+- if((vm->state).domain != VTS_DOMAIN && streamN == -1)
+-   streamN = 0;
++  if((vm->state).domain != VTS_DOMAIN && streamN == -1)
++    streamN = 0;
+   /* FIXME: Should also check in vtsi/vmgi status what kind of stream it is. */
+   return streamN;
+@@ -1280,9 +1281,10 @@
+       if(link_values.data1 != 0)
+       (vm->state).HL_BTNN_REG = link_values.data1 << 10;
+       assert((vm->state).pgc->next_pgc_nr != 0);
+-      if(!set_PGCN(vm, (vm->state).pgc->next_pgc_nr))
+-      assert(0);
+-      link_values = play_PGC(vm);
++      if(set_PGCN(vm, (vm->state).pgc->next_pgc_nr))
++      link_values = play_PGC(vm);
++      else
++      link_values.command = Exit;
+       break;
+     case LinkPrevPGC:
+       /* Link to Previous Program Chain */
+@@ -1290,9 +1292,10 @@
+       if(link_values.data1 != 0)
+       (vm->state).HL_BTNN_REG = link_values.data1 << 10;
+       assert((vm->state).pgc->prev_pgc_nr != 0);
+-      if(!set_PGCN(vm, (vm->state).pgc->prev_pgc_nr))
+-      assert(0);
+-      link_values = play_PGC(vm);
++      if(set_PGCN(vm, (vm->state).pgc->prev_pgc_nr))
++      link_values = play_PGC(vm);
++      else
++      link_values.command = Exit;
+       break;
+     case LinkGoUpPGC:
+       /* Link to GoUp Program Chain */
+@@ -1300,9 +1303,10 @@
+       if(link_values.data1 != 0)
+       (vm->state).HL_BTNN_REG = link_values.data1 << 10;
+       assert((vm->state).pgc->goup_pgc_nr != 0);
+-      if(!set_PGCN(vm, (vm->state).pgc->goup_pgc_nr))
+-      assert(0);
+-      link_values = play_PGC(vm);
++      if(set_PGCN(vm, (vm->state).pgc->goup_pgc_nr))
++      link_values = play_PGC(vm);
++      else
++      link_values.command = Exit;
+       break;
+     case LinkTailPGC:
+       /* Link to Tail of Program Chain */
+@@ -1325,7 +1329,8 @@
+       }
+       
+       (vm->state).domain = VTS_DOMAIN;
+-      ifoOpenNewVTSI(vm, vm->dvd, (vm->state).rsm_vtsN);
++      if (!ifoOpenNewVTSI(vm, vm->dvd, (vm->state).rsm_vtsN))
++        assert(0);
+       set_PGCN(vm, (vm->state).rsm_pgcN);
+       
+       /* These should never be set in SystemSpace and/or MenuSpace */ 
+@@ -1343,10 +1348,11 @@
+         (vm->state).pgN = 1;
+         link_values = play_PG(vm);
+       } else { 
+-        /* (vm->state).pgN = ?? this gets the righ value in set_PGN() below */
++        /* (vm->state).pgN = ?? this gets the right value in set_PGN() below */
+         (vm->state).cellN = (vm->state).rsm_cellN;
+         link_values.command = PlayThis;
+-        link_values.data1 = (vm->state).rsm_blockN;
++        link_values.data1 = (vm->state).rsm_blockN & 0xffff;
++        link_values.data2 = (vm->state).rsm_blockN >> 16;
+         if(!set_PGN(vm)) {
+           /* Were at the end of the PGC, should not happen for a RSM */
+           assert(0);
+@@ -1403,9 +1409,10 @@
+       /* Stop SPRM9 Timer */
+       /* Set SPRM1 and SPRM2 */
+       assert((vm->state).domain == VMGM_DOMAIN || (vm->state).domain == FP_DOMAIN); /* ?? */
+-      if(!set_TT(vm, link_values.data1))
+-      assert(0);
+-      link_values = play_PGC(vm);
++      if(set_TT(vm, link_values.data1))
++        link_values = play_PGC(vm);
++      else
++      link_values.command = Exit;
+       break;
+     case JumpVTS_TT:
+       /* Jump to Title:data1 in same VTS Title Domain */
+@@ -1462,7 +1469,8 @@
+         /* the normal case */
+         assert((vm->state).domain == VMGM_DOMAIN || (vm->state).domain == FP_DOMAIN); /* ?? */
+         (vm->state).domain = VTSM_DOMAIN;
+-        ifoOpenNewVTSI(vm, vm->dvd, link_values.data1);  /* Also sets (vm->state).vtsN */
++        if (!ifoOpenNewVTSI(vm, vm->dvd, link_values.data1))  /* Also sets (vm->state).vtsN */
++          assert(0);
+       } else {
+         /* This happens on some discs like "Captain Scarlet & the Mysterons" or
+          * the German RC2 of "Anatomie" in VTSM. */
+@@ -1549,7 +1557,7 @@
+ #endif
+     
+   }
+-  (vm->state).blockN = link_values.data1;
++  (vm->state).blockN = link_values.data1 | (link_values.data2 << 16);
+   return 1;
+ }
+@@ -1575,8 +1583,9 @@
+   
+   (vm->state).domain = VTS_DOMAIN;
+-  if(vtsN != (vm->state).vtsN)
+-    ifoOpenNewVTSI(vm, vm->dvd, vtsN);  /* Also sets (vm->state).vtsN */
++  if (vtsN != (vm->state).vtsN)
++    if (!ifoOpenNewVTSI(vm, vm->dvd, vtsN))  /* Also sets (vm->state).vtsN */
++      return 0;
+   
+   if ((vts_ttn < 1) || (vts_ttn > vm->vtsi->vts_ptt_srpt->nr_of_srpts) ||
+       (part < 1) || (part > vm->vtsi->vts_ptt_srpt->title[vts_ttn - 1].nr_of_ptts) ) {
+@@ -1601,6 +1610,9 @@
+ static int set_FP_PGC(vm_t *vm) {  
+   (vm->state).domain = FP_DOMAIN;
++  if (!vm->vmgi->first_play_pgc) {
++    return set_PGCN(vm, 1);
++  }
+   (vm->state).pgc = vm->vmgi->first_play_pgc;
+   (vm->state).pgcN = vm->vmgi->vmgi_mat->first_play_pgc;
+   return 1;
+diff -Naur libdvdnav-0.1.10-org/src/vm/vmcmd.c libdvdnav-0.1.10/src/vm/vmcmd.c
+--- libdvdnav-0.1.10-org/src/vm/vmcmd.c        2004-03-03 17:50:42.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/vmcmd.c    2008-03-28 15:24:50.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
++ * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
+  *               2002-2004 the dvdnav project
+  * 
+  * This file is part of libdvdnav, a DVD navigation library. It is modified
+@@ -18,9 +18,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: vmcmd.c,v 1.2 2004/03/03 16:50:42 mroi Exp $
+- *
+  */
+ #ifdef HAVE_CONFIG_H
+diff -Naur libdvdnav-0.1.10-org/src/vm/vmcmd.h libdvdnav-0.1.10/src/vm/vmcmd.h
+--- libdvdnav-0.1.10-org/src/vm/vmcmd.h        2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/vmcmd.h    2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
++ * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
+  * 
+  * This file is part of libdvdnav, a DVD navigation library. It is modified
+  * from a file originally part of the Ogle DVD player.
+@@ -17,9 +17,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: vmcmd.h,v 1.1 2004/01/11 21:43:13 mroi Exp $
+- *
+  */
+ #ifndef VMCMD_H_INCLUDED
+diff -Naur libdvdnav-0.1.10-org/src/vm/vm.h libdvdnav-0.1.10/src/vm/vm.h
+--- libdvdnav-0.1.10-org/src/vm/vm.h   2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/vm.h       2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Håkan Hjort
++ * Copyright (C) 2000, 2001 Håkan Hjort
+  * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net>
+  * 
+  * This file is part of libdvdnav, a DVD navigation library. It is modified
+@@ -18,9 +18,6 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+- *
+- * $Id: vm.h,v 1.1 2004/01/11 21:43:13 mroi Exp $
+- *
+  */
+ #ifndef VM_H_INCLUDED
+@@ -127,7 +124,7 @@
+ dvd_reader_t *vm_get_dvd_reader(vm_t *vm);
+ /* Basic Handling */
+-void vm_start(vm_t *vm);
++int  vm_start(vm_t *vm);
+ void vm_stop(vm_t *vm);
+ int  vm_reset(vm_t *vm, const char *dvdroot);
+diff -Naur libdvdnav-0.1.10-org/configure.ac libdvdnav-0.1.10/configure.ac
+--- libdvdnav-0.1.10-org/configure.ac  2004-06-10 23:13:02.000000000 +0200
++++ libdvdnav-0.1.10/configure.ac      2008-04-19 21:29:04.000000000 +0200
+@@ -13,9 +13,9 @@
+ dnl --------------------------------------------------------------
+ dnl Making releases: DVDNAV_SUB += 1; change LT_* accordingly
+ dnl --------------------------------------------------------------
+-DVDNAV_MAJOR=0
++DVDNAV_MAJOR=1
+ DVDNAV_MINOR=1
+-DVDNAV_SUB=10
++DVDNAV_SUB=12
+ DVDNAV_PRE=""
+ AC_SUBST(DVDNAV_MAJOR)
diff --git a/packages/libdvdnav/libdvdnav_1.1.12.bb b/packages/libdvdnav/libdvdnav_1.1.12.bb
new file mode 100644 (file)
index 0000000..db32c60
--- /dev/null
@@ -0,0 +1,20 @@
+# libdvdnav .bb build file
+# Copyright (C) 2006, Advanced Micro Devices, Inc.  All Rights Reserved
+# Released under the MIT license (see /COPYING)
+
+HOMEPAGE="http://xinehq.de/"
+DESCRIPTION="DVD navigation multimeda library"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+
+S = "${WORKDIR}/libdvdnav-0.1.10"
+
+SRC_URI="${SOURCEFORGE_MIRROR}/dvd/libdvdnav-0.1.10.tar.gz \
+       file://dvdnav-xine-lib-1.1.12.patch;patch=1;pnum=1 \
+       file://dvdnav-fix-read-dvdlabel.patch;patch=1;pnum=1"
+
+inherit autotools
+
+do_stage() {
+       autotools_stage_all
+}
diff --git a/packages/libebml/libebml_0.7.8.bb b/packages/libebml/libebml_0.7.8.bb
new file mode 100644 (file)
index 0000000..2e7978b
--- /dev/null
@@ -0,0 +1,27 @@
+DESCRIPTION = "Extensible binary format library (kinda like XML)"
+HOMEPAGE = "http://www.matroska.org/"
+SECTION = "libs"
+PRIORITY = "optional"
+
+LICENSE="LGPL-2.1"
+
+inherit pkgconfig
+
+SRC_URI = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${PN}-${PV}.tar.bz2"
+
+#S="${S}/make/linux"
+
+do_compile() {
+       cd ${S}/make/linux
+       oe_runmake CC="${CC}" CXX="${CXX}" AR="${AR} rcvu"
+}
+
+do_stage () {
+       oe_libinstall -a -so -C make/linux libebml ${STAGING_LIBDIR}
+}
+
+do_install() {
+       install -m 0644 ebml/*.h ${STAGING_INCDIR}
+       install -d ${STAGING_INCDIR}/ebml
+       (cd ${S}/ebml; cp *.h ${STAGING_INCDIR}/ebml/; mkdir -p ${STAGING_INCDIR}/ebml/c; cp c/libebml_t.h ${STAGING_INCDIR}/ebml/c;)
+}
diff --git a/packages/libmatroska/Makefile b/packages/libmatroska/Makefile
new file mode 100644 (file)
index 0000000..c5f5e66
--- /dev/null
@@ -0,0 +1,176 @@
+# libmatroska core Makefile (used in cygwin)
+# $Id: Makefile 1254 2006-06-02 14:32:52Z mosu $
+# Author: Steve Lhomme <robux4 @ users.sf.net>
+# Author: Moritz Bunkus <moritz @ bunkus.org>
+
+#
+# The library is built without debug information. If you want
+# debug information to be included then compile with
+# 'make DEBUG=yes'.
+#
+
+# Paths
+libdir=$(LIBDIR)
+includedir=$(INCDIR)/matroska
+
+# Programs
+CXX=g++
+LD=$(CXX)
+AR = ar rcvu
+RANLIB = ranlib
+INSTALL = install
+INSTALL_OPTS = -m 644
+INSTALL_OPTS_LIB = -m 644
+INSTALL_DIR_OPTS = -m 755
+
+ifneq (,$(shell $(CXX) -v 2>&1 | tail -n 1 | grep -i mingw))
+$(error Please use the Makefile in ../mingw32)
+endif
+
+CWD=$(shell pwd)
+
+# Options
+LIBEBML_INCLUDE_DIR=$(INCDIR)/ebml
+LIBEBML_LIB_DIR=$(LIBDIR)
+EXTENSION=.cpp
+
+
+ifeq (yes,$(DEBUG))
+DEBUGFLAGS=-g -DDEBUG
+endif
+
+SRC_DIR=$(CWD)/src/
+INCLUDE_DIR=$(CWD)/matroska
+MUX_SRC_DIR=$(CWD)/test/mux/
+TAG_SRC_DIR=$(CWD)/test/tags/
+
+# Librarires
+INCLUDE=-I$(CWD)/. -I$(LIBEBML_INCLUDE_DIR)
+LIBS=
+MUX_LIBS=-lmatroska -lebml $(LIBICONV)
+
+# Names
+LIBRARY=libmatroska.a
+LIBRARY_SO=libmatroska.so
+LIBRARY_SO_VER=libmatroska.so.0
+
+# source-files
+sources:=$(wildcard ${SRC_DIR}*$(EXTENSION))
+
+# header files; replace .cxx extension with .h
+headers:=$(patsubst %$(EXTENSION),%.h,$(sources))
+
+# object files; replace .cxx extension with .o
+objects:=$(patsubst %$(EXTENSION),%.o,$(sources))
+
+objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
+
+WARNINGFLAGS=-Wall -Wno-unknown-pragmas -ansi -fno-gnu-keywords -D_GNU_SOURCE \
+               -Wshadow
+COMPILEFLAGS=$(DEBUGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(WARNINGFLAGS) $(INCLUDE)
+LINKFLAGS=-L. -L$(LIBEBML_LIB_DIR) $(LDFLAGS)
+DEPENDFLAGS  = $(CXXFLAGS) $(INCLUDE)
+
+ifeq (Darwin,$(shell uname -s))
+all: staticlib
+else
+all: staticlib sharedlib
+endif
+
+staticlib: $(LIBRARY)
+
+sharedlib: $(LIBRARY_SO)
+
+lib:
+       @echo "Use the 'staticlib', 'sharedlib' or 'all' targets."
+       @false
+
+# Build rules
+%.o: %$(EXTENSION)
+       $(CXX) -c $(COMPILEFLAGS) -o $@ $<
+
+%.lo: %$(EXTENSION)
+       $(CXX) -c $(COMPILEFLAGS) -fPIC -o $@ $<
+
+$(LIBRARY): $(objects)
+       $(AR) $@ $(objects)
+       $(RANLIB) $@
+
+$(LIBRARY_SO): $(objects_so)
+       $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -L$(LIBEBML_LIB_DIR) -lebml
+       rm -f $(LIBRARY_SO)
+       ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
+
+clean: cleantest
+       rm -f $(objects) $(objects_so)
+       rm -f $(LIBRARY)
+       rm -f $(LIBRARY_SO)
+       rm -f $(LIBRARY_SO_VER)
+       rm -f CORE
+
+cleantest:
+       rm -f test6 test8 test9 test6.o test8.o test9.o
+
+distclean dist-clean: clean
+       rm -f .depend
+
+depend:
+       @echo Calculating dependecies:
+       @rm -f .depend
+       @touch .depend
+       @for i in $(sources); do \
+               o="`echo $$i | sed -e 's/\.c$$/.o/' -e 's/\.cpp$$/.o/'`" ; \
+               echo '  ' $$i: $$o ; \
+               $(CXX) $(DEPENDFLAGS) -MM -MT $$o $$i >> .depend ; \
+       done
+
+test: test6 test9
+
+test6: test6.o $(LIBRARY) $(LIBRARY_SO)
+       $(LD) -o $@ $(LINKFLAGS) $< $(MUX_LIBS)
+
+test6.o: $(MUX_SRC_DIR)test6.cpp
+       $(CXX) -c $(COMPILEFLAGS) -o $@ $<
+
+test8: test8.o $(LIBRARY) $(LIBRARY_SO)
+       $(LD) -o $@ $(LINKFLAGS) $< $(MUX_LIBS)
+
+test8.o: $(MUX_SRC_DIR)test8.cpp
+       $(CXX) -c $(COMPILEFLAGS) -o $@ $<
+
+test9: test9.o $(LIBRARY) $(LIBRARY_SO)
+       $(LD) -o $@ $(LINKFLAGS) $< $(MUX_LIBS)
+
+test9.o: $(TAG_SRC_DIR)test9.cpp
+       $(CXX) -c $(COMPILEFLAGS) -o $@ $<
+
+ifeq (Darwin,$(shell uname -s))
+install: install_staticlib install_headers
+else
+install: install_staticlib install_sharedlib install_headers
+endif
+
+install_headers:
+       $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)
+       for i in $(INCLUDE_DIR)/*.h; do \
+               $(INSTALL) $(INSTALL_OPTS) $$i $(includedir) ; \
+       done
+       $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)/c
+       for i in $(INCLUDE_DIR)/c/*.h; do \
+               $(INSTALL) $(INSTALL_OPTS) $$i $(includedir)/c ; \
+       done
+
+install_staticlib: $(LIBRARY)
+       $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+       $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(libdir)
+
+install_sharedlib: $(LIBRARY_SO)
+       $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+       $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(libdir)
+       ln -fs $(LIBRARY_SO_VER) $(libdir)/$(LIBRARY_SO)
+
+ifneq ($(wildcard .depend),)
+include .depend
+endif
+
+# DO NOT DELETE
diff --git a/packages/libmatroska/libmatroska_0.8.1.bb b/packages/libmatroska/libmatroska_0.8.1.bb
new file mode 100644 (file)
index 0000000..fdf7c63
--- /dev/null
@@ -0,0 +1,35 @@
+DESCRIPTION = "Extensible multimedia container format based on EBML"
+HOMEPAGE = "http://www.matroska.org/"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>"
+
+LICENSE = "GPL-2"
+
+DEPENDS = "libebml"
+
+inherit pkgconfig autotools module-base
+
+#EXTRA_OEMAKE += "CFLAGS='${CFLAGS} -I${STAGING_INCDIR}' LDFLAGS='${LDFLAGS} -L${STAGING_LIBDIR}"
+#LDFLAGS += " -L${STAGING_LIBDIR}"
+#EXTRA_OEMAKE += " LDFLAGS='${LDFLAGS}"
+
+EXTRA_OECONF = " --enable-shared "
+
+SRC_URI = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${PN}-${PV}.tar.bz2\
+           file://Makefile"
+
+do_compile() {
+       cp ${WORKDIR}/Makefile ${WORKDIR}/${PN}-${PV}
+       oe_runmake CC="${CC}" CXX="${CXX}" AR="${AR} rcvu" INCDIR="${STAGING_INCDIR}" LIBDIR="${STAGING_LIBDIR}"
+}
+
+do_stage() {
+       oe_libinstall -a -so -C ./ libmatroska ${STAGING_LIBDIR}
+#      cd make/linux
+#      oe_libinstall -so  ${STAGING_LIBDIR}
+}
+
+do_install() {
+       oe_runmake install_headers CC="${CC}" CXX="${CXX}" AR="${AR} rcvu" INCDIR="${STAGING_INCDIR}" LIBDIR="${STAGING_LIBDIR}"
+}
diff --git a/packages/libmms/libmms_0.2.bb b/packages/libmms/libmms_0.2.bb
new file mode 100644 (file)
index 0000000..dff2de8
--- /dev/null
@@ -0,0 +1,12 @@
+HOMEPAGE="http://puzzle.dl.sourceforge.net/sourceforge/libmms/"
+DESCRIPTION="libmms"
+MAINTAINER = "Raymond Danks <info-linux@geode.amd.com>"
+LICENSE = "GPL"
+
+SRC_URI="${SOURCEFORGE_MIRROR}/libmms/libmms-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+do_stage() {
+       autotools_stage_all
+}
index ebbe6cf..8569706 100644 (file)
@@ -8,6 +8,9 @@ DEFAULT_PREFERENCE = "-1"
 DEPENDS = "glib-2.0"
 
 SRC_URI = "http://liboil.freedesktop.org/download/${P}.tar.gz \
+       file://no_ppc_altivec.diff;patch=1;pnum=1 \
+       file://no_ppc_fpu.diff;patch=1;pnum=1 \
+       file://fix_ppc_build_with_old_kernel.diff;patch=1;pnum=1 \
           "
 
 inherit autotools pkgconfig
index 9ca4ee1..8f7859f 100644 (file)
@@ -5,7 +5,7 @@ LICENSE = "GPL"
 
 PR = "r1"
 
-SRC_URI = "http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/packages/libsidplay-${PV}.tgz \
+SRC_URI = "http://critical.ch/distfiles/libsidplay-${PV}.tgz \
            http://ftp.debian.org/debian/pool/main/libs/libsidplay/libsidplay_1.36.59-5.diff.gz;patch=1 \
 "
 
index caf0427..2fc1117 100644 (file)
@@ -11,9 +11,10 @@ FILES_${PN}-utils = "${bindir}"
 
 inherit autotools
 
+EXTRA_OECONF = " --without-x"
+
 do_stage() {
        oe_libinstall -so -C lib/.libs libungif ${STAGING_LIBDIR}
 
        install -m 0644 lib/gif_lib.h ${STAGING_INCDIR}/
-
 }
diff --git a/packages/libxmlccwrap/files/disable_libxslt.patch b/packages/libxmlccwrap/files/disable_libxslt.patch
new file mode 100644 (file)
index 0000000..b178641
--- /dev/null
@@ -0,0 +1,96 @@
+diff -Naur libxmlccwrap-0.0.12_org/configure.ac libxmlccwrap-0.0.12/configure.ac
+--- libxmlccwrap-0.0.12_org/configure.ac       2005-07-28 21:27:58.000000000 +0200
++++ libxmlccwrap-0.0.12/configure.ac   2007-10-29 15:36:49.000000000 +0100
+@@ -15,7 +15,7 @@
+ AM_PROG_LIBTOOL
+ AC_CHECK_LIB(xml2,main)
+-AC_CHECK_LIB(xslt,main)
++#AC_CHECK_LIB(xslt,main)
+ AC_OUTPUT([Makefile \
+           xmlccwrap/Makefile \
+diff -Naur libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.cc libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.cc
+--- libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.cc     2003-12-18 23:48:08.000000000 +0100
++++ libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.cc 2007-10-24 22:54:15.000000000 +0200
+@@ -23,8 +23,10 @@
+ #include <libxml/tree.h>
+ #include <libxml/HTMLparser.h>
+ #include <libxml/encoding.h>
++/*
+ #include <libxslt/xsltutils.h>
+ #include <libxslt/transform.h>
++*/
+ #include "xmlccwrap.h"
+ #include "libxmlexport.h"
+@@ -47,7 +49,7 @@
+   Element *readnode(xmlNodePtr);
+   void writenode(xmlDocPtr, Element *, xmlNodePtr, int = 0);
+-
++/*
+   XSLTTree::XSLTTree()
+   {
+     xsltP = 0;
+@@ -83,7 +85,7 @@
+   {
+     return xsltP;
+   }
+-
++*/
+   XMLTree::XMLTree() : _filename(), _root(), _compression(0)
+   { }
+@@ -380,7 +382,7 @@
+     return retval;
+   }
+-
++/*
+   bool XMLTree::xslt(const XSLTTree & xsltTree, const std::string & outputfile, ParameterMap & parameterMap)
+   {
+     bool ret = false;
+@@ -425,7 +427,7 @@
+     ParameterMap parameterMap;
+     return xslt(xsltTree, outputfile, parameterMap);
+   }
+-
++*/
+   const std::string & XMLTree::getErrorString()
+   {
+diff -Naur libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.h libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.h
+--- libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.h      2003-12-18 23:42:37.000000000 +0100
++++ libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.h  2007-10-24 22:54:15.000000000 +0200
+@@ -43,7 +41,7 @@
+     typedef std::multimap<std::string, std::string> ParameterMap;
+     typedef ParameterMap::value_type ValuePair;
+-
++/*
+     class XSLTTree
+     {
+       private:
+@@ -60,7 +58,7 @@
+         bool read(const std::string &fn);
+         const void * exportxsltStylesheetPtr() const;
+     };
+-
++*/
+     class XMLTree
+     {
+@@ -102,10 +100,10 @@
+         bool write(const std::string &fn);
+         const std::string & writeBuffer() const;
+-
++/*
+         bool xslt(const XSLTTree & xsltTree, const std::string & outputfile, ParameterMap & parameterMap);
+         bool xslt(const XSLTTree & xsltTree, const std::string & outputfile);
+-
++*/
+         const std::string & getErrorString();
+     };
diff --git a/packages/libxmlccwrap/files/dont_build_unneeded.patch b/packages/libxmlccwrap/files/dont_build_unneeded.patch
new file mode 100644 (file)
index 0000000..69eaa15
--- /dev/null
@@ -0,0 +1,6 @@
+diff -Naur libxmlccwrap-0.0.12_org/Makefile.am libxmlccwrap-0.0.12/Makefile.am
+--- libxmlccwrap-0.0.12_org/Makefile.am        2002-12-11 23:18:41.000000000 +0100
++++ libxmlccwrap-0.0.12/Makefile.am    2007-10-29 15:35:11.000000000 +0100
+@@ -1 +1 @@
+-SUBDIRS = xmlccwrap html testlib
++SUBDIRS = xmlccwrap
diff --git a/packages/libxmlccwrap/files/fix_assignment_operator.patch b/packages/libxmlccwrap/files/fix_assignment_operator.patch
new file mode 100644 (file)
index 0000000..1d64590
--- /dev/null
@@ -0,0 +1,10 @@
+--- libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.cc     2003-12-18 23:48:08.000000000 +0100
++++ libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.cc 2007-10-24 22:54:15.000000000 +0200
+@@ -498,6 +500,7 @@
+     for (ElementIterator curnode = nodes.begin(); curnode != nodes.end(); curnode++)
+       add
+         (**curnode);
++    return *this;
+   }
diff --git a/packages/libxmlccwrap/libxmlccwrap_0.0.12.bb b/packages/libxmlccwrap/libxmlccwrap_0.0.12.bb
new file mode 100644 (file)
index 0000000..fcddf31
--- /dev/null
@@ -0,0 +1,24 @@
+DESCRIPTION = "A small libxml2 c++ wrapper"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+PR = "r0"
+DEPENDS = "libxml2"
+RDEPENDS = "libxml2"
+
+SRC_URI = "http://www.ant.uni-bremen.de/whomes/rinas/libxmlccwrap/download/libxmlccwrap-${PV}.tar.gz \
+          file://dont_build_unneeded.patch;patch=1;pnum=1 \
+          file://disable_libxslt.patch;patch=1;pnum=1 \
+          file://fix_assignment_operator.patch;patch=1;pnum=1"
+
+inherit autotools
+
+FILES_${PN} = "/usr/lib/*.so*"
+FILES_${PN}-dev = "/usr/include/*.h"
+
+do_stage () {
+       install -d ${STAGING_INCDIR}/xmlccwrap
+       install ${S}/xmlccwrap/*.h ${STAGING_INCDIR}/xmlccwrap
+       install ${S}/xmlccwrap/.libs/libxmlccwrap-${PV}.so ${STAGING_LIBDIR}
+       ln -sf ${STAGING_LIBDIR}/libxmlccwrap-${PV}.so ${STAGING_LIBDIR}/libxmlccwrap.so
+}
diff --git a/packages/links/links-dream_2.1pre15.bb b/packages/links/links-dream_2.1pre15.bb
new file mode 100644 (file)
index 0000000..b5a38c0
--- /dev/null
@@ -0,0 +1,20 @@
+LICENSE = GPL
+SECTION = "console/network"
+DEPENDS = "jpeg libpng zlib tuxbox-plugins"
+DESCRIPTION = "Dreambox plugin version of Links: Links is graphics and text mode WWW \
+browser, similar to Lynx."
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRC_URI = "http://dreamboxupdate.com/sources-mirror/links-2.1pre15.tar.bz2 \
+          http://sources.dreamboxupdate.com/download/opendreambox/links-dream-2.1pre15/links-dream-plugin.diff;patch=1"
+
+PACKAGES = "links-dream-plugin"
+
+FILES_links-dream-plugin = "/usr/lib/tuxbox/plugins/links.* /etc/links/screen.config /etc/links/tables.tar.gz"
+
+S = "${WORKDIR}/links-2.1pre15"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
diff --git a/packages/linux-libc-headers/linux-libc-headers-2.6.12.0/linux-libc-headers-2.6.12.0-mips_atomic_fix-1.patch b/packages/linux-libc-headers/linux-libc-headers-2.6.12.0/linux-libc-headers-2.6.12.0-mips_atomic_fix-1.patch
new file mode 100644 (file)
index 0000000..35951b1
--- /dev/null
@@ -0,0 +1,19 @@
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-10-01
+Initial Package Version: 2.6.12.0
+Origin: Jim Gifford
+Upstream Status: Sent
+Description: Fixes Compile Issue with Sysklogd
+diff -Naur linux-libc-headers-2.6.12.0.orig/include/asm-mips/atomic.h linux-libc-headers-2.6.12.0/include/asm-mips/atomic.h
+--- linux-libc-headers-2.6.12.0.orig/include/asm-mips/atomic.h 2005-07-06 00:17:30.000000000 +0000
++++ linux-libc-headers-2.6.12.0/include/asm-mips/atomic.h      2005-10-01 22:04:26.000000000 +0000
+@@ -18,7 +18,7 @@
+ typedef struct { volatile int counter; } atomic_t;
+ #ifdef __mips64
+-typedef struct { volatile __s64 counter; } atomic64_t;
++typedef struct { volatile long counter; } atomic64_t;
+ #endif
+ #endif /* _ASM_ATOMIC_H */
diff --git a/packages/linux-libc-headers/linux-libc-headers-2.6.12.0/linux-libc-headers-2.6.12.0-mips_tls-1.patch b/packages/linux-libc-headers/linux-libc-headers-2.6.12.0/linux-libc-headers-2.6.12.0-mips_tls-1.patch
new file mode 100644 (file)
index 0000000..e442fd2
--- /dev/null
@@ -0,0 +1,97 @@
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-09-12
+Initial Package Version: 2.6.12.0
+Origin: http://www.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/kernel-headers/linux-libc-headers-2.6.12.0-mips-nptl.patch?rev=11104&view=auto
+Upstream Status: Unknown
+Description: Adds TLS Support to Kernel Headers for MIPS
+diff -Naur linux-libc-headers-2.6.12.0.orig/include/asm-mips/inst.h linux-libc-headers-2.6.12.0/include/asm-mips/inst.h
+--- linux-libc-headers-2.6.12.0.orig/include/asm-mips/inst.h   2004-10-31 19:54:20.000000000 +0000
++++ linux-libc-headers-2.6.12.0/include/asm-mips/inst.h        2005-09-12 23:57:11.000000000 +0000
+@@ -28,7 +28,7 @@
+       sdl_op, sdr_op, swr_op, cache_op,
+       ll_op, lwc1_op, lwc2_op, pref_op,
+       lld_op, ldc1_op, ldc2_op, ld_op,
+-      sc_op, swc1_op, swc2_op, major_3b_op, /* Opcode 0x3b is unused */
++      sc_op, swc1_op, swc2_op, rdhwr_op,
+       scd_op, sdc1_op, sdc2_op, sd_op
+ };
+@@ -62,10 +62,10 @@
+       spimi_op, unused_rt_op_0x05, unused_rt_op_0x06, unused_rt_op_0x07,
+       tgei_op, tgeiu_op, tlti_op, tltiu_op,
+       teqi_op, unused_0x0d_rt_op, tnei_op, unused_0x0f_rt_op,
+-      bltzal_op, bgezal_op, bltzall_op, bgezall_op
+-      /*
+-       * The others (0x14 - 0x1f) are unused.
+-       */
++      bltzal_op, bgezal_op, bltzall_op, bgezall_op,
++      rt_op_0x14, rt_op_0x15, rt_op_0x16, rt_op_0x17,
++      rt_op_0x18, rt_op_0x19, rt_op_0x1a, rt_op_0x1b,
++      bposge32_op, rt_op_0x1d, rt_op_0x1e, rt_op_0x1f
+ };
+ /*
+diff -Naur linux-libc-headers-2.6.12.0.orig/include/asm-mips/unistd.h linux-libc-headers-2.6.12.0/include/asm-mips/unistd.h
+--- linux-libc-headers-2.6.12.0.orig/include/asm-mips/unistd.h 2005-07-06 00:17:29.000000000 +0000
++++ linux-libc-headers-2.6.12.0/include/asm-mips/unistd.h      2005-09-12 23:57:11.000000000 +0000
+@@ -303,16 +303,17 @@
+ #define __NR_add_key                  (__NR_Linux + 280)
+ #define __NR_request_key              (__NR_Linux + 281)
+ #define __NR_keyctl                   (__NR_Linux + 282)
++#define __NR_set_thread_area          (__NR_Linux + 283)
+ /*
+  * Offset of the last Linux o32 flavoured syscall
+  */
+-#define __NR_Linux_syscalls           282
++#define __NR_Linux_syscalls           283
+ #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
+ #define __NR_O32_Linux                        4000
+-#define __NR_O32_Linux_syscalls               282
++#define __NR_O32_Linux_syscalls               283
+ #if _MIPS_SIM == _MIPS_SIM_ABI64
+@@ -562,16 +563,17 @@
+ #define __NR_add_key                  (__NR_Linux + 239)
+ #define __NR_request_key              (__NR_Linux + 240)
+ #define __NR_keyctl                   (__NR_Linux + 241)
++#define __NR_set_thread_area          (__NR_Linux + 242)
+ /*
+  * Offset of the last Linux 64-bit flavoured syscall
+  */
+-#define __NR_Linux_syscalls           241
++#define __NR_Linux_syscalls           242
+ #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
+ #define __NR_64_Linux                 5000
+-#define __NR_64_Linux_syscalls                241
++#define __NR_64_Linux_syscalls                242
+ #if _MIPS_SIM == _MIPS_SIM_NABI32
+@@ -825,16 +827,17 @@
+ #define __NR_add_key                  (__NR_Linux + 243)
+ #define __NR_request_key              (__NR_Linux + 244)
+ #define __NR_keyctl                   (__NR_Linux + 245)
++#define __NR_set_thread_area          (__NR_Linux + 246)
+ /*
+  * Offset of the last N32 flavoured syscall
+  */
+-#define __NR_Linux_syscalls           245
++#define __NR_Linux_syscalls           246
+ #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
+ #define __NR_N32_Linux                        6000
+-#define __NR_N32_Linux_syscalls               245
++#define __NR_N32_Linux_syscalls               246
+ #ifndef __ASSEMBLY__
diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.12.0.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.12.0.bb
new file mode 100644 (file)
index 0000000..fe89b47
--- /dev/null
@@ -0,0 +1,72 @@
+SECTION = "devel"
+DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use."
+HOMEPAGE = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/"
+# license note from the package: 
+#   Linux-libc-headers are derived from linux kernel headers. For license of a
+#   particular header, check it's content, and if copyright notice isn't present,
+#   standard linux kernel license applies. 
+# since we assume GPL for linux i think we can also assume it here
+LICENSE = "GPL"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+INHIBIT_DEFAULT_DEPS = "1"
+PR = "r1"
+
+SRC_URI = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-${PV}.tar.bz2 \
+       file://keyboard.patch;patch=1"
+
+def get_nptl_patches(bb, d):
+       if 'nptl' in bb.data.getVar('GLIBC_ADDONS', d, 1).split(','):
+               return "file://linux-libc-headers-2.6.12.0-mips_tls-1.patch;patch=1;pnum=1"
+       return ""
+
+SRC_URI_append_mipsel = " file://linux-libc-headers-2.6.12.0-mips_atomic_fix-1.patch;patch=1;pnum=1 \
+       ${@get_nptl_patches(bb, d)}"
+
+S = "${WORKDIR}/linux-libc-headers-${PV}"
+
+do_configure () {
+       case ${TARGET_ARCH} in
+               alpha*)   ARCH=alpha ;;
+               arm*)     ARCH=arm ;;
+               cris*)    ARCH=cris ;;
+               hppa*)    ARCH=parisc ;;
+               i*86*)    ARCH=i386 ;;
+               ia64*)    ARCH=ia64 ;;
+               mips*)    ARCH=mips ;;
+               m68k*)    ARCH=m68k ;;
+               powerpc*) ARCH=ppc ;;
+               s390*)    ARCH=s390 ;;
+               sh*)      ARCH=sh ;;
+               sparc64*) ARCH=sparc64 ;;
+               sparc*)   ARCH=sparc ;;
+               x86_64*)  ARCH=x86_64 ;;
+       esac
+       if test !  -e include/asm-$ARCH; then
+               oefatal unable to create asm symlink in kernel headers
+       fi
+       cp -pPR "include/asm-$ARCH" "include/asm"
+       if test "$ARCH" = "arm"; then
+               cp -pPR include/asm/arch-ebsa285 include/asm/arch
+       elif test "$ARCH" = "sh"; then
+               cp -pPR include/asm/cpu-${TARGET_ARCH} include/asm/cpu || die "unable to create include/asm/cpu"
+       fi
+}
+
+do_stage () {
+       install -d ${STAGING_INCDIR}
+       rm -rf ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm
+       cp -pfLR include/linux ${STAGING_INCDIR}/
+       cp -pfLR include/asm ${STAGING_INCDIR}/
+       rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/linux
+       rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/asm
+       install -d ${CROSS_DIR}/${TARGET_SYS}/include
+       cp -pfLR include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
+       cp -pfLR include/asm ${CROSS_DIR}/${TARGET_SYS}/include/
+}
+
+do_install() {
+       install -d ${D}${includedir}
+       cp -pfLR include/linux ${D}${includedir}/
+       cp -pfLR include/asm ${D}${includedir}/
+}
+
diff --git a/packages/linux/linux-dm500plus.bb b/packages/linux/linux-dm500plus.bb
new file mode 100644 (file)
index 0000000..8ab2ec0
--- /dev/null
@@ -0,0 +1,41 @@
+DESCRIPTION = "Linux kernel for Dreambox DM500PLUS"
+LICENSE = "GPL"
+PN = "linux-dm500plus"
+PV = "2.6.12"
+PR = "r1"
+
+# -rX is the patch revision - it's not related to this package's PR
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dream-ppc-r5.patch.bz2;patch=1;pnum=1"
+
+S = "${WORKDIR}/linux-2.6.12"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/zImage.elf /boot/autoexec.bat"
+
+export OS = "Linux"
+ARCH = "ppc"
+KERNEL_IMAGETYPE = "zImage"
+KERNEL_OUTPUT = "arch/ppc/boot/images/zImage.elf"
+
+do_configure_prepend() {
+       oe_machinstall -m 0644 ${S}/arch/ppc/configs/dm500plus_defconfig ${S}/.config || die "no default configuration for ${MACHINE} available."
+       oe_runmake oldconfig
+}
+
+do_install_append () {
+       install -d ${D}/boot
+       install -m 0755 arch/ppc/boot/images/zImage.elf ${D}/boot/zImage.elf
+       echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+       echo "/flash/zImage.elf" >> ${D}/boot/autoexec.bat
+}
+
+pkg_postinst_kernel () {
+       true
+}
+
+pkg_postrm_kernel () {
+       true
+}
+
diff --git a/packages/linux/linux-dm600pvr.bb b/packages/linux/linux-dm600pvr.bb
new file mode 100644 (file)
index 0000000..6ad93dc
--- /dev/null
@@ -0,0 +1,41 @@
+DESCRIPTION = "Linux kernel for Dreambox DM7020"
+LICENSE = "GPL"
+PN = "linux-dm600pvr"
+PV = "2.6.12"
+PR = "r4"
+
+# -rX is the patch revision - it's not related to this package's PR
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dream-ppc-r5.patch.bz2;patch=1;pnum=1"
+
+S = "${WORKDIR}/linux-2.6.12"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/zImage.elf /boot/autoexec.bat"
+
+export OS = "Linux"
+ARCH = "ppc"
+KERNEL_IMAGETYPE = "zImage"
+KERNEL_OUTPUT = "arch/ppc/boot/images/zImage.elf"
+
+do_configure_prepend() {
+       oe_machinstall -m 0644 ${S}/arch/ppc/configs/dm600pvr_defconfig ${S}/.config || die "no default configuration for ${MACHINE} available."
+       oe_runmake oldconfig
+}
+
+do_install_append () {
+       install -d ${D}/boot
+       install -m 0755 arch/ppc/boot/images/zImage.elf ${D}/boot/zImage.elf
+       echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+       echo "/flash/zImage.elf" >> ${D}/boot/autoexec.bat
+}
+
+pkg_postinst_kernel () {
+       true
+}
+
+pkg_postrm_kernel () {
+       true
+}
+
diff --git a/packages/linux/linux-dm7020.bb b/packages/linux/linux-dm7020.bb
new file mode 100644 (file)
index 0000000..24fea5d
--- /dev/null
@@ -0,0 +1,42 @@
+DESCRIPTION = "Linux kernel for Dreambox DM7020"
+LICENSE = "GPL"
+PN = "linux-dm7020"
+PV = "2.6.9"
+PR = "r4"
+
+# -r1 is the patch revision - it's not related to this package's PR
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linuxppc-2.6.9-r1.diff.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linuxppc-2.6.9-dream-s8.diff.bz2;patch=1;pnum=1"
+
+S = "${WORKDIR}/linux-2.6.9"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/zImage.elf /boot/autoexec.bat"
+
+export OS = "Linux"
+ARCH = "ppc"
+KERNEL_IMAGETYPE = "zImage"
+KERNEL_OUTPUT = "arch/ppc/boot/images/zImage.elf"
+
+do_configure_prepend() {
+       oe_machinstall -m 0644 ${S}/arch/ppc/configs/dm7020_defconfig ${S}/.config || die "no default configuration for ${MACHINE} available."
+       oe_runmake oldconfig
+}
+
+do_install_append () {
+       install -d ${D}/boot
+       install -m 0755 arch/ppc/boot/images/zImage.elf ${D}/boot/zImage.elf
+       echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+       echo "/flash/zImage.elf" >> ${D}/boot/autoexec.bat
+}
+
+pkg_postinst_kernel () {
+       true
+}
+
+pkg_postrm_kernel () {
+       true
+}
+
diff --git a/packages/linux/linux-dm7025.bb b/packages/linux/linux-dm7025.bb
new file mode 100644 (file)
index 0000000..29c4e76
--- /dev/null
@@ -0,0 +1,143 @@
+DESCRIPTION = "Linux kernel for Dreambox DM7025"
+LICENSE = "GPL"
+PN = "linux-dm7025"
+KV = "2.6.12"
+PV = "2.6.12.6"
+PR = "s4"
+
+DEPENDS = "zlib-native"
+
+# note, the rX in the filename is *NOT* the packet revision - it's the patch revision.
+SRC_URI += "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+       file://dm7025_defconfig \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linuxmips-${KV}-dream-r6.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-${KV}-update_dvbapi-r1.patch.bz2;patch=1;pnum=1 \
+       http://dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2;patch=1;pnum=1 \
+       http://dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2;patch=1;pnum=1 \
+       http://dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2;patch=1;pnum=1 \
+#squashfs-lzma stuff
+       http://squashfs-lzma.org/dl/sqlzma3.2-r2b.tar.bz2 \
+       http://dreamboxupdate.com/download/kernel-patches/sqlzma2k-3.2-r2-2.6.12.6.patch.bz2 \
+       http://dreamboxupdate.com/download/patches/fix_lzma_squashfs_makefiles_for_oe-r2.patch.bz2 \
+       ${SOURCEFORGE_MIRROR}/squashfs/squashfs3.2-r2.tar.gz \
+       ${SOURCEFORGE_MIRROR}/sevenzip/lzma443.tar.bz2 \
+       file://${WORKDIR}/squashfs-lzma/kernel-patches/linux-2.6.12/squashfs3.2-patch;pnum=1;patch=1 "
+
+S = "${WORKDIR}/linux-${PV}"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/vmlinux.gz /boot/autoexec.bat"
+
+export OS = "Linux"
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "vmlinux"
+KERNEL_OBJECT_SUFFIX = "ko"
+
+addtask munge after do_unpack before do_patch
+
+do_munge () {
+       if [ -d ${WORKDIR}/squashfs3.2-r2 ]; then
+               mv ${WORKDIR}/squashfs3.2-r2/* ${WORKDIR}
+               rm -R ${WORKDIR}/squashfs3.2-r2
+               for i in sqlzma1-443.patch sqlzma2u-3.2-r2.patch fix_lzma_squashfs_makefiles_for_oe-r2.patch; 
+               do
+                       echo "Applying $i"
+                       patch -d ${WORKDIR} -p1 < ${WORKDIR}/$i
+               done
+       fi
+       set CUR = `pwd`
+       cd ${WORKDIR}
+       install -d ${WORKDIR}/squashfs-lzma
+       for i in `find -maxdepth 1 | grep -v linux | xargs`; 
+       do
+               case $i in
+                       ".");;
+                       "./squashfs-lzma");;
+                       "./temp");;
+                       "./image");;
+                       "./install");;
+                       "./dm7025_defconfig");;
+                       *)mv $i ${WORKDIR}/squashfs-lzma;;
+               esac
+       done
+       cd $CUR
+}
+
+do_compile_prepend () {
+       if [ -f ${S}/.patched ];
+       then
+               patch -R -d ${S} -p1 < ${WORKDIR}/squashfs-lzma/sqlzma2k-3.2-r2-2.6.12.6.patch
+               rm ${S}/.patched
+       fi
+}
+
+do_compile_append () {
+       patch -d ${S} -p1 < ${WORKDIR}/squashfs-lzma/sqlzma2k-3.2-r2-2.6.12.6.patch
+       touch ${S}/.patched
+       oe_runmake -C ${WORKDIR}/squashfs-lzma KDir=${S} BUILD_CC="${CC}" BUILD_CXX="${CXX}" BUILD_LD="${LD}" BUILD_AR="${AR}" BUILD_LDFLAGS="${TARGET_LDFLAGS}" BUILD_CFLAGS="${TARGET_CFLAGS}" BUILD_CXXFLAGS="${TARGET_CXXFLAGS}"
+       for i in mksquashfs unsquashfs; 
+       do
+               mv ${WORKDIR}/squashfs-lzma/squashfs-tools/$i ${WORKDIR}/squashfs-lzma/squashfs-tools/$i-${ARCH}
+       done
+       oe_runmake -C ${WORKDIR}/squashfs-lzma KDir=${S} clean
+       oe_runmake -C ${WORKDIR}/squashfs-lzma KDir=${S}
+       patch -R -d ${S} -p1 < ${WORKDIR}/squashfs-lzma/sqlzma2k-3.2-r2-2.6.12.6.patch
+       rm ${S}/.patched
+}
+
+do_configure_prepend () {
+       if [ "${@bb.data.getVar('DISTRO_VERSION', d, 1)}" == "1.4.0" ];
+       then
+               cat ${WORKDIR}/dm7025_defconfig | grep -v "CONFIG_CMDLINE" > ${S}/.config
+               echo "CONFIG_CMDLINE=\"console=null root=/dev/mtdblock3 rootfstype=jffs2 rw\"" >> ${S}/.config
+       else
+               oe_machinstall -m 0644 ${WORKDIR}/dm7025_defconfig ${S}/.config
+       fi;
+       oe_runmake oldconfig
+}
+
+do_install_append () {
+       install -d ${D}/boot
+       install -m 0755 vmlinux ${D}/boot/vmlinux
+       echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+       gzip ${D}/boot/vmlinux
+       echo "/flash/vmlinux.gz" >> ${D}/boot/autoexec.bat
+       for i in sqlzma.ko unlzma.ko; 
+       do 
+               install -m 0644 ${WORKDIR}/squashfs-lzma/C/7zip/Compress/LZMA_C/kmod/$i ${D}/lib/modules/2.6.12.6/kernel/fs/squashfs
+       done;
+       install -d ${D}/usr/bin
+       for i in mksquashfs unsquashfs;
+       do
+               install ${WORKDIR}/squashfs-lzma/squashfs-tools/$i-${ARCH} ${D}/usr/bin/$i
+       done;
+}
+
+PACKAGES_append = " unsquashfs mksquashfs"
+FILES_mksquashfs = "/usr/bin/mksquashfs"
+FILES_unsquashfs = "/usr/bin/unsquashfs"
+
+do_stage_append() {
+       install ${WORKDIR}/squashfs-lzma/C/7zip/Compress/LZMA_Alone/lzma ${STAGING_BINDIR}
+       install ${WORKDIR}/squashfs-lzma/C/7zip/Compress/LZMA_C/lzmadec ${STAGING_BINDIR}
+       install ${WORKDIR}/squashfs-lzma/squashfs-tools/mksquashfs ${STAGING_BINDIR}
+       install ${WORKDIR}/squashfs-lzma/squashfs-tools/unsquashfs ${STAGING_BINDIR}
+}
+
+pkg_preinst_kernel-image () {
+       [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postinst_kernel-image () {
+       [ -d /proc/stb ] && mount -o ro,remount /boot
+}
+
+pkg_prerm_kernel-image () {
+       [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postrm_kernel-image () {
+       [ -d /proc/stb ] && mount -o ro,remount /boot
+}
diff --git a/packages/linux/linux-dm7025/dm7025_defconfig b/packages/linux/linux-dm7025/dm7025_defconfig
new file mode 100644 (file)
index 0000000..b1573dd
--- /dev/null
@@ -0,0 +1,1610 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12.6
+# Wed Jun 27 13:58:38 2007
+#
+CONFIG_MIPS=y
+# CONFIG_MIPS64 is not set
+# CONFIG_64BIT is not set
+CONFIG_MIPS32=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Machine selection
+#
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MIPS_EV64120 is not set
+# CONFIG_MIPS_EV96100 is not set
+# CONFIG_MIPS_IVR is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ITE8172 is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MOMENCO_OCELOT is not set
+# CONFIG_MOMENCO_OCELOT_G is not set
+# CONFIG_MOMENCO_OCELOT_C is not set
+# CONFIG_MOMENCO_OCELOT_3 is not set
+# CONFIG_MOMENCO_JAGUAR_ATX is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_DDB5074 is not set
+# CONFIG_DDB5476 is not set
+# CONFIG_DDB5477 is not set
+# CONFIG_NEC_OSPREY is not set
+# CONFIG_SGI_IP22 is not set
+CONFIG_ATI_XILLEON=y
+CONFIG_STW5X226=y
+# CONFIG_SOC_AU1X00 is not set
+# CONFIG_SIBYTE_SB1xxx_SOC is not set
+# CONFIG_SNI_RM200_PCI is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_HAVE_DEC_LOCK=y
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SWAP_IO_SPACE=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+CONFIG_FB=y
+
+#
+# CPU selection
+#
+CONFIG_CPU_MIPS32=y
+# CONFIG_CPU_MIPS64 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+# CONFIG_VTAG_ICACHE is not set
+# CONFIG_64BIT_PHYS_ADDR is not set
+CONFIG_CPU_ADVANCED=y
+CONFIG_CPU_HAS_LLSC=y
+# CONFIG_CPU_HAS_LLDSCD is not set
+CONFIG_CPU_HAS_WB=y
+CONFIG_CPU_HAS_SYNC=y
+# CONFIG_PREEMPT is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+# CONFIG_PCI_LEGACY_PROC is not set
+CONFIG_PCI_NAMES=y
+CONFIG_MMU=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PCI Hotplug Support
+#
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+
+#
+# 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 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
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS 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_CFI_INTELEXT is not set
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD 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_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_DM7025=y
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_LBD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+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"
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+CONFIG_BLK_DEV_IDESCSI=m
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+CONFIG_IDEDMA_PCI_AUTO=y
+# CONFIG_IDEDMA_ONLYDISK is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+CONFIG_BLK_DEV_XILLEON=y
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+CONFIG_IDEDMA_AUTO=y
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+
+#
+# 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
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=m
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+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_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_ARPD=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+CONFIG_IP_NF_CONNTRACK_MARK=y
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+# CONFIG_IP_NF_MATCH_PHYSDEV is not set
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+CONFIG_IP_NF_MATCH_SCTP=m
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_CONNMARK=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+CONFIG_IP_NF_TARGET_CONNMARK=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_TARGET_NOTRACK=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_LIMIT=m
+CONFIG_IP6_NF_MATCH_MAC=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_MULTIPORT=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_MARK=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AHESP=m
+CONFIG_IP6_NF_MATCH_LENGTH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+# CONFIG_IP6_NF_MATCH_PHYSDEV is not set
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_MARK=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP 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_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
+# CONFIG_NET_SCH_CLK_CPU is not set
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_NET_CLS_IND=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_RX=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+CONFIG_NETIF_DMA=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+CONFIG_8139TOO=y
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_LAN_SAA9730 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+CONFIG_SHAPER=m
+CONFIG_NETCONSOLE=m
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+# 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_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_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+CONFIG_RTC=m
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM 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=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_ISA is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+# CONFIG_I2C_SENSOR 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_ASB100 is not set
+# CONFIG_SENSORS_DS1621 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_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_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 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
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+CONFIG_DVB=y
+CONFIG_DVB_CORE=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_DVB_BUDGET is not set
+# CONFIG_DVB_BUDGET_CI is not set
+# CONFIG_DVB_BUDGET_AV is not set
+
+#
+# Supported USB Adapters
+#
+# CONFIG_DVB_TTUSB_BUDGET is not set
+# CONFIG_DVB_TTUSB_DEC is not set
+# CONFIG_DVB_DIBUSB is not set
+# CONFIG_DVB_CINERGYT2 is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+# CONFIG_DVB_B2C2_SKYSTAR is not set
+
+#
+# Supported BT878 Adapters
+#
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_STV0299=m
+# CONFIG_DVB_CX24110 is not set
+CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_TDA80XX is not set
+CONFIG_DVB_MT312=m
+CONFIG_DVB_VES1X93=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_CX22700 is not set
+# CONFIG_DVB_CX22702 is not set
+CONFIG_DVB_L64781=m
+# CONFIG_DVB_TDA1004X is not set
+# CONFIG_DVB_NXT6000 is not set
+# CONFIG_DVB_MT352 is not set
+# CONFIG_DVB_DIB3000MB is not set
+# CONFIG_DVB_DIB3000MC is not set
+
+#
+# DVB-C (cable) frontends
+#
+# CONFIG_DVB_ATMEL_AT76C651 is not set
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+# CONFIG_DVB_STV0297 is not set
+
+#
+# ATSC (North American/Korean Terresterial DTV) frontends
+#
+# CONFIG_DVB_NXT2002 is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_OR51132 is not set
+
+#
+# Graphics support
+#
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON_OLD is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_E1356 is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL 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_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_RTCTIMER=m
+# 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
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA MIPS devices
+#
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# 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=y
+CONFIG_USB_DEBUG=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_EHCI_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_AUDIO=m
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+CONFIG_USB_MIDI=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+CONFIG_USB_EGALAX=m
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# 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 is not set
+# CONFIG_USB_ZD1201 is not set
+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_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_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR 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=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+CONFIG_XFS_FS=m
+CONFIG_XFS_EXPORT=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_SECURITY is not set
+# CONFIG_XFS_POSIX_ACL is not set
+CONFIG_MINIX_FS=m
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+CONFIG_NTFS_DEBUG=y
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_DEVFS_FS=y
+CONFIG_DEVFS_MOUNT=y
+# CONFIG_DEVFS_DEBUG is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# 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_NAND=y
+# CONFIG_JFFS2_FS_NOR_ECC is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC 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_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR 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
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_CROSSCOMPILE=y
+CONFIG_CMDLINE="console=null root=/dev/mtdblock2 rootfstype=jffs2 ro"
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_ISA_DMA_API=y
+# CONFIG_SERIAL_CONSOLE is not set
diff --git a/packages/linux/linux-dm800.bb b/packages/linux/linux-dm800.bb
new file mode 100644 (file)
index 0000000..1b07a88
--- /dev/null
@@ -0,0 +1,79 @@
+DESCRIPTION = "Linux kernel for Dreambox DM8000"
+LICENSE = "GPL"
+PN = "linux-dm800"
+KV = "2.6.12"
+PV = "2.6.12"
+PR = "r8"
+
+# note, the rX in the filename is *NOT* the packet revision - it's the patch revision.
+SRC_URI += "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${KV}.tar.bz2 \
+       file://dm800_defconfig \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-brcm-5.1.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update_dvbapi-r1.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2;patch=1;pnum=1\
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2;patch=1;pnum=1\
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-add-ioprio.patch.bz2;patch=1;pnum=1 \
+       file://linux-2.6.12-dream-misc.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-fix-serial.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-dm800-flash-layout.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-dream-temp.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-brcm-mtd-blkdevfs-fix.diff;patch=1;pnum=1 \
+       file://linux-2.6.12-set-custom-extraversion.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-7401C0-enable-llsc.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-fixup-prom-args.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-fixup-memsize.patch;patch=1;pnum=1 \
+       file://linuxmips-2.6.12-fix-fadvise.patch;patch=1;pnum=1 \
+       file://linuxmips-2.6.12-fix-futex.patch;patch=1;pnum=1 \
+       file://linuxmips-2.6.12-gcc4-compile-fix.patch;patch=1;pnum=1 \
+       file://linuxmips-2.6.12-gdb-fix.patch;patch=1;pnum=1"
+
+S = "${WORKDIR}/stblinux-2.6.12"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/vmlinux.gz /boot/autoexec.bat"
+
+export OS = "Linux"
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "vmlinux"
+KERNEL_OBJECT_SUFFIX = "ko"
+
+do_munge() {
+       mv ${WORKDIR}/linux-2.6.12 ${WORKDIR}/stblinux-2.6.12
+       if [ -d ${S}/drivers/sound ]; then
+               rm -R ${S}/drivers/sound;
+       fi;
+}
+
+addtask munge before do_patch after do_unpack
+
+do_configure_prepend() {
+       oe_machinstall -m 0644 ${WORKDIR}/dm800_defconfig ${S}/.config
+       oe_runmake oldconfig
+}
+
+do_install_append () {
+       install -d ${D}/boot
+       install -m 0755 vmlinux ${D}/boot/vmlinux
+       echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+       gzip ${D}/boot/vmlinux
+       echo "/flash/vmlinux.gz" >> ${D}/boot/autoexec.bat
+}
+
+pkg_preinst_kernel-image () {
+       [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postinst_kernel-image () {
+       [ -d /proc/stb ] && mount -o ro,remount /boot
+}
+
+pkg_prerm_kernel-image () {
+       [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postrm_kernel-image () {
+       [ -d /proc/stb ] && mount -o ro,remount /boot
+}
diff --git a/packages/linux/linux-dm800/dm800_defconfig b/packages/linux/linux-dm800/dm800_defconfig
new file mode 100644 (file)
index 0000000..b916d2f
--- /dev/null
@@ -0,0 +1,1747 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12-5.1-brcmstb-dm800
+# Thu Feb 28 19:09:49 2008
+#
+CONFIG_MIPS=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Machine selection
+#
+# CONFIG_MIPS_BCM3560A0 is not set
+# CONFIG_MIPS_BCM3560B0 is not set
+# CONFIG_MIPS_BCM3563 is not set
+# CONFIG_MIPS_BCM3563C0 is not set
+# CONFIG_MIPS_BCM7038B0 is not set
+# CONFIG_MIPS_BCM7038CX is not set
+# CONFIG_MIPS_BCM97398 is not set
+# CONFIG_MIPS_BCM7110 is not set
+# CONFIG_MIPS_BCM7111 is not set
+# CONFIG_MIPS_BCM7112 is not set
+# CONFIG_MIPS_BCM7115 is not set
+# CONFIG_MIPS_BCM7118AX is not set
+# CONFIG_MIPS_BCM7118A0_NAND is not set
+# CONFIG_MIPS_BCM7312 is not set
+# CONFIG_MIPS_BCM7315 is not set
+# CONFIG_MIPS_BCM7317 is not set
+# CONFIG_MIPS_BCM7318 is not set
+# CONFIG_MIPS_BCM7319 is not set
+# CONFIG_MIPS_BCM7320 is not set
+# CONFIG_MIPS_BCM7328 is not set
+# CONFIG_MIPS_BCM7329 is not set
+# CONFIG_MIPS_BCM97456 is not set
+# CONFIG_MIPS_BCM97456BX is not set
+# CONFIG_MIPS_BCM97456BX_NAND is not set
+# CONFIG_MIPS_BCM7400AX is not set
+# CONFIG_MIPS_BCM7400BX is not set
+# CONFIG_MIPS_BCM7400BX_NAND is not set
+# CONFIG_MIPS_BCM7400AX_NAND is not set
+# CONFIG_MIPS_BCM7405AX is not set
+# CONFIG_MIPS_BCM97455 is not set
+# CONFIG_MIPS_BCM7401AX is not set
+# CONFIG_MIPS_BCM7401BX is not set
+# CONFIG_MIPS_BCM7401BX_NAND is not set
+# CONFIG_MIPS_BCM97455B0 is not set
+CONFIG_MIPS_BCM7401CX=y
+# CONFIG_MIPS_BCM7401CX_NAND is not set
+# CONFIG_MIPS_BCM97455CX is not set
+# CONFIG_MIPS_BCM97455CX_NAND is not set
+# CONFIG_MIPS_BCM97458AX is not set
+# CONFIG_MIPS_BCM97458AX_NAND is not set
+# CONFIG_MIPS_BCM7402S is not set
+# CONFIG_MIPS_BCM7402B0S is not set
+# CONFIG_MIPS_BCM7402A0 is not set
+# CONFIG_MIPS_BCM7402CX is not set
+# CONFIG_MIPS_BCM7402CX_NAND is not set
+# CONFIG_MIPS_BCM7403AX is not set
+# CONFIG_MIPS_BCM7451AX_SMB is not set
+# CONFIG_MIPS_BCM7403AX_NAND is not set
+# CONFIG_MIPS_BCM7452AX is not set
+# CONFIG_MIPS_BCM7452AX_NAND is not set
+# CONFIG_MIPS_BCM7440AX is not set
+# CONFIG_MIPS_BCM7440BX is not set
+# CONFIG_MIPS_BCM7440BX_NAND is not set
+# CONFIG_MIPS_BCM93730 is not set
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MIPS_EV64120 is not set
+# CONFIG_MIPS_EV96100 is not set
+# CONFIG_MIPS_IVR is not set
+# CONFIG_MIPS_ITE8172 is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MOMENCO_JAGUAR_ATX is not set
+# CONFIG_MOMENCO_OCELOT is not set
+# CONFIG_MOMENCO_OCELOT_3 is not set
+# CONFIG_MOMENCO_OCELOT_C is not set
+# CONFIG_MOMENCO_OCELOT_G is not set
+# CONFIG_MIPS_XXS1500 is not set
+# CONFIG_DDB5074 is not set
+# CONFIG_DDB5476 is not set
+# CONFIG_DDB5477 is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_QEMU is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_PTSWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SNI_RM200_PCI is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_HAVE_DEC_LOCK=y
+CONFIG_DMA_NONCOHERENT=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_CPUFREQ=y
+CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_BRCM97XXX=y
+CONFIG_MIPS_BCM7401C0=y
+CONFIG_MIPS_BCM7401=y
+CONFIG_MIPS_BRCM=y
+CONFIG_BRCM_7XXX_SERIAL=y
+# CONFIG_LONG_LONG_SUPPORT is not set
+CONFIG_SERIAL=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+
+#
+# Power management
+#
+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=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_BRCM=y
+
+#
+# CPU selection
+#
+# CONFIG_CPU_MIPS32_R2 is not set
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+
+#
+# Kernel type
+#
+CONFIG_MIPS32=y
+# CONFIG_MIPS64 is not set
+# CONFIG_64BIT is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+# CONFIG_64BIT_PHYS_ADDR is not set
+# CONFIG_CPU_ADVANCED is not set
+CONFIG_CPU_HAS_LLSC=y
+CONFIG_CPU_HAS_SYNC=y
+# CONFIG_PREEMPT is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_LEGACY_PROC=y
+# CONFIG_PCI_NAMES is not set
+CONFIG_MMU=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PCI Hotplug Support
+#
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+
+#
+# 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 is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_MTD_BLOCK_ROMBLOCK is not set
+# 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=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+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_OTP is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_BCM7XXX=y
+# CONFIG_MTD_MULTI_PHYSMAP is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_RAMTD is not set
+# CONFIG_MTD_BLKMTD 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_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
+
+#
+# Broadcom NAND Flash Device Drivers
+#
+CONFIG_MTD_BRCMNAND=y
+CONFIG_MTD_BRCMNAND_VERIFY_WRITE=y
+CONFIG_MTD_BRCMNAND_VERSION=1
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_LBD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+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"
+CONFIG_ATA_OVER_ETH=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+CONFIG_BLK_DEV_IDE_SATA=y
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_BLK_DEV_IDECD=y
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+CONFIG_IDEDMA_PCI_AUTO=y
+# CONFIG_IDEDMA_ONLYDISK is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+CONFIG_BLK_DEV_SVWKS=y
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+CONFIG_IDEDMA_AUTO=y
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+
+#
+# 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
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=m
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+CONFIG_SCSI_DEBUG=m
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+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_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_ARPD=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+CONFIG_IP_NF_CONNTRACK_MARK=y
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+# CONFIG_IP_NF_MATCH_PHYSDEV is not set
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+CONFIG_IP_NF_MATCH_SCTP=m
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_CONNMARK=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+CONFIG_IP_NF_TARGET_CONNMARK=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_TARGET_NOTRACK=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_LIMIT=m
+CONFIG_IP6_NF_MATCH_MAC=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_MULTIPORT=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_MARK=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AHESP=m
+CONFIG_IP6_NF_MATCH_LENGTH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+# CONFIG_IP6_NF_MATCH_PHYSDEV is not set
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_MARK=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# 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_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
+# CONFIG_NET_SCH_CLK_CPU is not set
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_NET_CLS_IND=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_RX=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+CONFIG_NETIF_DMA=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_BCMINTEMAC_7038=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_PCI is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+CONFIG_INPUT_TOUCHSCREEN=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=y
+# CONFIG_INPUT_PCSPKR is not set
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_SERIAL_CONSOLE=y
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM 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=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_ISA is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+# CONFIG_I2C_SENSOR 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_ASB100 is not set
+# CONFIG_SENSORS_DS1621 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_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_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 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
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+CONFIG_DVB=y
+CONFIG_DVB_CORE=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_DVB_BUDGET is not set
+# CONFIG_DVB_BUDGET_CI is not set
+# CONFIG_DVB_BUDGET_AV is not set
+
+#
+# Supported USB Adapters
+#
+# CONFIG_DVB_TTUSB_BUDGET is not set
+# CONFIG_DVB_TTUSB_DEC is not set
+# CONFIG_DVB_DIBUSB is not set
+# CONFIG_DVB_CINERGYT2 is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+# CONFIG_DVB_B2C2_SKYSTAR is not set
+
+#
+# Supported BT878 Adapters
+#
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_STV0299=m
+# CONFIG_DVB_CX24110 is not set
+CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_TDA80XX is not set
+CONFIG_DVB_MT312=m
+CONFIG_DVB_VES1X93=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_CX22700 is not set
+# CONFIG_DVB_CX22702 is not set
+CONFIG_DVB_L64781=m
+# CONFIG_DVB_TDA1004X is not set
+# CONFIG_DVB_NXT6000 is not set
+# CONFIG_DVB_MT352 is not set
+# CONFIG_DVB_DIB3000MB is not set
+# CONFIG_DVB_DIB3000MC is not set
+
+#
+# DVB-C (cable) frontends
+#
+# CONFIG_DVB_ATMEL_AT76C651 is not set
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+# CONFIG_DVB_STV0297 is not set
+
+#
+# ATSC (North American/Korean Terresterial DTV) frontends
+#
+# CONFIG_DVB_NXT2002 is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_OR51132 is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON_OLD is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_SMIVGX is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_E1356 is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL 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_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+# 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
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA MIPS devices
+#
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# 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=y
+CONFIG_USB_DEBUG=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+CONFIG_USB_BRCM=y
+# CONFIG_USB_BRCM_PWR_CTL is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_AUDIO=m
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+CONFIG_USB_MIDI=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+CONFIG_USB_EGALAX=m
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# 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 is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=m
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR 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=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+CONFIG_XFS_FS=m
+CONFIG_XFS_EXPORT=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_SECURITY is not set
+# CONFIG_XFS_POSIX_ACL is not set
+CONFIG_MINIX_FS=m
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+CONFIG_NTFS_DEBUG=y
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_DEVFS_FS=y
+CONFIG_DEVFS_MOUNT=y
+# CONFIG_DEVFS_DEBUG is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# 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_YAFFS_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_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC 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=m
+CONFIG_UFS_FS_WRITE=y
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR 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
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_CROSSCOMPILE=y
+CONFIG_CMDLINE="root=/dev/mtdblock3 rootfstype=jffs2 rw mem=128M console=null"
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
diff --git a/packages/linux/linux-dm800/linux-2.6.12-7401C0-enable-llsc.patch b/packages/linux/linux-dm800/linux-2.6.12-7401C0-enable-llsc.patch
new file mode 100644 (file)
index 0000000..8beaae7
--- /dev/null
@@ -0,0 +1,11 @@
+diff -Naur 2.6.12-5.0-org/arch/mips/Makefile 2.6.12-5.0-patched/arch/mips/Makefile
+--- 2.6.12-5.0-org/arch/mips/Makefile  2007-07-26 00:50:51.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/Makefile      2007-12-11 15:27:14.000000000 +0100
+@@ -947,6 +947,7 @@
+    load-$(CONFIG_MIPS_BCM97455C0) := 0x80001000
+    else
++   cflags-$(CONFIG_MIPS_BCM7401C0) += -Iinclude/asm-mips/mach-brcmstb
+    # THT: Changed to 7401C0 from 7401CX to also pick up the NAND version
+    core-$(CONFIG_MIPS_BCM7401C0) += arch/mips/brcmstb/common/
+    core-$(CONFIG_MIPS_BCM7401C0) += arch/mips/brcmstb/brcm97401c0/
diff --git a/packages/linux/linux-dm800/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff b/packages/linux/linux-dm800/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff
new file mode 100644 (file)
index 0000000..da5324e
--- /dev/null
@@ -0,0 +1,109 @@
+Index: stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/mtd_blkdevs.c     2007-07-26 00:55:00.000000000 +0200
++++ stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c  2008-01-16 23:58:30.000000000 +0100
+@@ -21,6 +21,7 @@
+ #include <linux/init.h>
+ #include <asm/semaphore.h>
+ #include <asm/uaccess.h>
++#include <linux/devfs_fs_kernel.h>
+ static LIST_HEAD(blktrans_majors);
+@@ -302,6 +303,9 @@
+               snprintf(gd->disk_name, sizeof(gd->disk_name),
+                        "%s%d", tr->name, new->devnum);
++      snprintf(gd->devfs_name, sizeof(gd->devfs_name),
++               "%s/%c", tr->name, (tr->part_bits?'a':'0') + new->devnum);
++
+       /* 2.5 has capacity in units of 512 bytes while still
+          having BLOCK_SIZE_BITS set to 10. Just to keep us amused. */
+       set_capacity(gd, (new->size * new->blksize) >> 9);
+@@ -418,6 +422,8 @@
+               return ret;
+       }
++      devfs_mk_dir(tr->name);
++
+       INIT_LIST_HEAD(&tr->devs);
+       list_add(&tr->list, &blktrans_majors);
+@@ -450,6 +456,7 @@
+               tr->remove_dev(dev);
+       }
++      devfs_remove(tr->name);
+       blk_cleanup_queue(tr->blkcore_priv->rq);
+       unregister_blkdev(tr->major, tr->name);
+Index: stblinux-2.6.12/drivers/mtd/mtdchar.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/mtdchar.c 2008-01-21 01:37:38.000000000 +0100
++++ stblinux-2.6.12/drivers/mtd/mtdchar.c      2008-01-21 01:37:40.000000000 +0100
+@@ -26,6 +26,8 @@
+ static struct class *mtd_class;
++#include <linux/devfs_fs_kernel.h>
++
+ static void mtd_notify_add(struct mtd_info* mtd)
+ {
+       if (!mtd)
+@@ -50,6 +52,12 @@
+                           MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
+                           NULL, "mtd%dro", mtd->index);
+ #endif
++
++      devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2),
++                    S_IFCHR | S_IRUGO | S_IWUGO, "mtd/%d", mtd->index);
++
++      devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
++                    S_IFCHR | S_IRUGO, "mtd/%dro", mtd->index);
+ }
+ static void mtd_notify_remove(struct mtd_info* mtd)
+@@ -59,6 +67,9 @@
+       class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2));
+       class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1));
++
++      devfs_remove("mtd/%d", mtd->index);
++      devfs_remove("mtd/%dro", mtd->index);
+ }
+ static struct mtd_notifier notifier = {
+@@ -66,6 +77,17 @@
+       .remove = mtd_notify_remove,
+ };
++static inline void mtdchar_devfs_init(void)
++{
++      devfs_mk_dir("mtd");
++}
++
++static inline void mtdchar_devfs_exit(void)
++{
++      devfs_remove("mtd");
++}
++
++
+ /*
+  * We use file->private_data to store a pointer to the MTDdevice.
+  * Since alighment is at least 32 bits, we have 2 bits free for OTP
+@@ -807,6 +829,7 @@
+               return PTR_ERR(mtd_class);
+       }
++      mtdchar_devfs_init();
+       register_mtd_user(&notifier);
+       return 0;
+ }
+@@ -815,6 +838,7 @@
+ {
+       unregister_mtd_user(&notifier);
+       class_destroy(mtd_class);
++      mtdchar_devfs_exit();
+       unregister_chrdev(MTD_CHAR_MAJOR, "mtd");
+ }
diff --git a/packages/linux/linux-dm800/linux-2.6.12-dm800-flash-layout.patch b/packages/linux/linux-dm800/linux-2.6.12-dm800-flash-layout.patch
new file mode 100644 (file)
index 0000000..b6016ad
--- /dev/null
@@ -0,0 +1,187 @@
+diff -Naur stblinux-2.6.12-org/drivers/mtd/brcmnand/bcm7xxx-nand.c stblinux-2.6.12/drivers/mtd/brcmnand/bcm7xxx-nand.c
+--- stblinux-2.6.12-org/drivers/mtd/brcmnand/bcm7xxx-nand.c    2008-02-28 18:40:17.000000000 +0100
++++ stblinux-2.6.12/drivers/mtd/brcmnand/bcm7xxx-nand.c        2008-02-28 18:45:03.000000000 +0100
+@@ -78,19 +78,28 @@
+ static struct mtd_partition bcm7XXX_nand_parts[] = 
+ {
+-      { name: "rootfs",               offset: 0,                                      size: DEFAULT_ROOTFS_SIZE },    
+-#ifdef CONFIG_MTD_ECM_PARTITION
+-#define AVAIL1_PART   (1)
+-#define OCAP_PART     (2)
+-      { name: "avail1",               offset: DEFAULT_ROOTFS_SIZE,    size: DEFAULT_AVAIL1_SIZE },
+-      { name: "ocap",         offset: DEFAULT_ROOTFS_SIZE+DEFAULT_AVAIL1_SIZE,        size: DEFAULT_OCAP_SIZE },      
+-#endif
+-      { name: "kernel",               offset: 0x00800000,                     size: 4<<20 },
+-      { name: "cfe",          offset: 0x00C00000,                     size: 2<<20 },
+-      { name: "nvm",          offset: 0x00E00000,                     size: 1<<20 },
+-      /* BBT 1MB not mountable by anyone */
+-      { name: "data",                 offset: 0x400000000,                    size: 0 },
+-};
++              /* modified for Dreambox DM800 */
++      {
++              .name   = "complete",
++              .offset = 0,
++              .size   = 64*1024*1024
++      },
++      {
++              .name   = "loader",
++              .offset = 0,
++              .size   = 256*1024
++      },
++      {
++              .name   = "boot partition",
++              .offset = 256*1024,
++              .size   = (4*1024-256)*1024
++      },
++      {
++              .name   = "root partition",
++              .offset = 4*1024*1024,
++              .size   = 60*1024*1024
++      },
++ };
+ struct brcmnand_info {
+       struct mtd_info         mtd;
+@@ -106,100 +115,6 @@
+ }
+ //EXPORT_SYMBOL(get_brcmnand_handle);
+-
+-/* 
+- * Size and offset are variable, depending on the size of the chip, but 
+- * cfe_kernel always starts at 1FC0_0000 and is 4MB size.
+- * The entire reserved area (kernel + CFE + BBT) occupies the last 8 MB of the flash.
+- */
+-static void __devinit 
+-brcmnanddrv_setup_mtd_partitions(struct brcmnand_info* nandinfo, int* numParts)
+-{
+-      struct mtd_info* mtd = &nandinfo->mtd;
+-      unsigned long size; 
+-      int i = 0;
+-      unsigned int ecm_size = DEFAULT_ECM_SIZE;
+-      unsigned int ocap_size = DEFAULT_OCAP_SIZE;
+-      unsigned int avail1_size = DEFAULT_AVAIL1_SIZE;
+-
+-      if (mtd->size <= (512<<20)) {
+-              size = mtd->size;       // mtd->size may be different than nandinfo->size
+-                                              // Relies on this being called after brcmnand_scan
+-              *numParts = ARRAY_SIZE(bcm7XXX_nand_parts) - 1;
+-      }
+-      else {
+-              size = 512 << 20;
+-              *numParts = ARRAY_SIZE(bcm7XXX_nand_parts);
+-      }
+-
+-#ifdef CONFIG_MTD_ECM_PARTITION
+-      /* Do not generate AVAIL1 partition if usable flash size is less than 64MB */
+-      if (size < (64<<20)) {
+-              ecm_size = DEFAULT_OCAP_SIZE;
+-              bcm7XXX_nand_parts[AVAIL1_PART].size = avail1_size = 0;
+-              (*numParts)--;
+-      }
+-      else {
+-              int factor = size / (64 << 20); // Remember size is capped at 512MB
+-              
+-              bcm7XXX_nand_parts[OCAP_PART].size = ocap_size = factor*DEFAULT_OCAP_SIZE;
+-              bcm7XXX_nand_parts[AVAIL1_PART].size = avail1_size = factor*DEFAULT_AVAIL1_SIZE;
+-              ecm_size = ocap_size + avail1_size;
+-      }
+-
+-#endif
+-      nandinfo->parts = bcm7XXX_nand_parts;
+-      bcm7XXX_nand_parts[0].size = size - DEFAULT_RESERVED_SIZE - ecm_size;
+-      bcm7XXX_nand_parts[0].oobsel = &mtd->oobinfo;
+-printk("Part[%d] name=%s, size=%x, offset=%x\n", i, bcm7XXX_nand_parts[0].name, 
+-bcm7XXX_nand_parts[0].size, bcm7XXX_nand_parts[0].offset);
+-
+-      for (i=1; i<  ARRAY_SIZE(bcm7XXX_nand_parts) - 1; i++) {
+-#ifdef CONFIG_MTD_ECM_PARTITION
+-              //if (0 == bcm7XXX_nand_parts[i].size)
+-              //      continue;
+-              /* Skip avail1 if size is less than 64 MB) */
+-              if (0 == avail1_size && AVAIL1_PART == i) {
+-                      bcm7XXX_nand_parts[i].offset = bcm7XXX_nand_parts[i-1].size + bcm7XXX_nand_parts[i-1].offset;
+-                      continue;
+-              }
+-#endif
+-              bcm7XXX_nand_parts[i].offset = bcm7XXX_nand_parts[i-1].size + bcm7XXX_nand_parts[i-1].offset;
+-              // For now every partition uses the same oobinfo
+-              bcm7XXX_nand_parts[i].oobsel = &mtd->oobinfo;
+-printk("Part[%d] name=%s, size=%x, offset=%x\n", i, bcm7XXX_nand_parts[i].name, 
+-bcm7XXX_nand_parts[i].size, bcm7XXX_nand_parts[i].offset);
+-      }
+-
+-      
+-      if  (mtd->size > (512 << 20)) { // For total flash size > 512MB, we must split the rootfs into 2 partitions
+-              i = *numParts - 1;
+-              bcm7XXX_nand_parts[i].offset = 512 << 20;
+-              bcm7XXX_nand_parts[i].size = mtd->size - (513 << 20);
+-              bcm7XXX_nand_parts[i].oobsel = &mtd->oobinfo;
+-#ifdef CONFIG_MTD_ECM_PARTITION
+-printk("Part[%d] name=%s, size=%x, offset=%x\n", avail1_size? i: i-1, bcm7XXX_nand_parts[i].name, 
+-bcm7XXX_nand_parts[i].size, bcm7XXX_nand_parts[i].offset);
+-#else
+-printk("Part[%d] name=%s, size=%x, offset=%x\n", i, bcm7XXX_nand_parts[i].name, 
+-bcm7XXX_nand_parts[i].size, bcm7XXX_nand_parts[i].offset);
+-#endif
+-
+-      }
+-
+-#ifdef CONFIG_MTD_ECM_PARTITION
+-      /* Shift partitions 1 up if avail1_size is 0 */
+-      if (0 == avail1_size) {
+-              for (i=AVAIL1_PART; i < *numParts; i++) {
+-                      bcm7XXX_nand_parts[i].offset = bcm7XXX_nand_parts[i+1].offset;
+-                      bcm7XXX_nand_parts[i].size = bcm7XXX_nand_parts[i+1].size;
+-              }
+-              bcm7XXX_nand_parts[*numParts].offset = 0;
+-              bcm7XXX_nand_parts[*numParts].size = 0;
+-      }
+-#endif
+-}
+-
+ static int __devinit brcmnanddrv_probe(struct device *dev)
+ {
+       struct platform_device *pdev = to_platform_device(dev);
+@@ -234,14 +149,12 @@
+       if (brcmnand_scan(&info->mtd, MAX_NAND_CS)) {
+               err = -ENXIO;
+               goto out_free_info;
+-      }
+-
+-      printk("        numchips=%d, size=%08x\n", info->brcmnand.numchips, info->mtd.size);
+-      brcmnanddrv_setup_mtd_partitions(info, &numParts);
+-//printk("    add_mtd_partitions\n");
+-      add_mtd_partitions(&info->mtd, info->parts, numParts);
+-//printk("    dev_set_drvdata\n");    
+-      dev_set_drvdata(&pdev->dev, info);
++      }
++ 
++      printk("        numchips=%d, size=%08x\n", info->brcmnand.numchips, info->mtd.size);
++      add_mtd_partitions(&info->mtd, bcm7XXX_nand_parts, 4);
++//printk("    dev_set_drvdata\n");
++      dev_set_drvdata(&pdev->dev, info);
+ //printk("<-- brcmnanddrv_probe\n");
+       return 0;
+diff -Naur stblinux-2.6.12-org/drivers/mtd/brcmnand/brcmnand_base.c stblinux-2.6.12/drivers/mtd/brcmnand/brcmnand_base.c
+--- stblinux-2.6.12-org/drivers/mtd/brcmnand/brcmnand_base.c   2008-02-28 18:40:17.000000000 +0100
++++ stblinux-2.6.12/drivers/mtd/brcmnand/brcmnand_base.c       2008-02-28 18:46:02.000000000 +0100
+@@ -296,7 +296,15 @@
+               .options = NAND_USE_FLASH_BBT,
+               .timing1 = 0, .timing2 = 0,
+       },
+-      
++
++      {       /* 20 */
++              .chipId = HYNIX_HY27US08121A,
++              .mafId = FLASHTYPE_HYNIX,
++              .chipIdStr = "Hynix HY27US08121A (dream)",
++              .options = NAND_USE_FLASH_BBT,
++              .timing1 = 0, .timing2 = 0,
++      },
++
+       {       /* LAST DUMMY ENTRY */
+               .chipId = 0,
+               .mafId = 0,
diff --git a/packages/linux/linux-dm800/linux-2.6.12-dream-misc.patch b/packages/linux/linux-dm800/linux-2.6.12-dream-misc.patch
new file mode 100644 (file)
index 0000000..bf572da
--- /dev/null
@@ -0,0 +1,87 @@
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/reset.c 2.6.12-5.0-patched/arch/mips/kernel/reset.c
+--- 2.6.12-5.0-org/arch/mips/kernel/reset.c    2007-07-26 00:51:08.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/reset.c        2007-12-11 12:34:52.000000000 +0100
+@@ -27,6 +27,7 @@
+ }
+ EXPORT_SYMBOL(machine_restart);
++EXPORT_SYMBOL(_machine_restart);
+ void machine_halt(void)
+ {
+@@ -34,6 +35,7 @@
+ }
+ EXPORT_SYMBOL(machine_halt);
++EXPORT_SYMBOL(_machine_halt);
+ void machine_power_off(void)
+ {
+@@ -41,3 +43,4 @@
+ }
+ EXPORT_SYMBOL(machine_power_off);
++EXPORT_SYMBOL(_machine_power_off);
+diff -Naur 2.6.12-5.0-org/drivers/video/Kconfig 2.6.12-5.0-patched/drivers/video/Kconfig
+--- 2.6.12-5.0-org/drivers/video/Kconfig       2007-07-26 00:54:49.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/video/Kconfig   2007-12-11 12:34:52.000000000 +0100
+@@ -39,7 +39,7 @@
+         device-aware may cause unexpected results. If unsure, say N.
+ config FB_CFB_FILLRECT
+-      tristate
++      tristate "FB_CFB_FILLRECT"
+       depends on FB
+       default n
+       ---help---
+@@ -48,7 +48,7 @@
+         (accelerated) version.
+ config FB_CFB_COPYAREA
+-      tristate
++      tristate "FB_CFB_COPYAREA"
+       depends on FB
+       default n
+       ---help---
+@@ -57,7 +57,7 @@
+         version.
+ config FB_CFB_IMAGEBLIT
+-      tristate
++      tristate "FB_CFB_IMAGEBLIT"
+       depends on FB
+       default n
+       ---help---
+@@ -66,7 +66,7 @@
+         (accelerated) version.
+ config FB_SOFT_CURSOR
+-      tristate
++      tristate "FB_SOFT_CURSOR"
+       depends on FB
+       default n
+       ---help---
+diff -Naur 2.6.12-5.0-org/drivers/char/keyboard.c 2.6.12-5.0-patched/drivers/char/keyboard.c
+--- 2.6.12-5.0-org/drivers/char/keyboard.c     2007-07-26 00:53:29.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/char/keyboard.c 2007-12-11 12:34:52.000000000 +0100
+@@ -1186,6 +1186,9 @@
+       for (i = KEY_RESERVED; i < BTN_MISC; i++)
+               if (test_bit(i, dev->keybit)) break;
++      if ( test_bit(EV_NO_CONSOLE, dev->evbit) )
++              return NULL;
++
+       if ((i == BTN_MISC) && !test_bit(EV_SND, dev->evbit)) 
+               return NULL;
+diff -Naur 2.6.12-5.0-org/include/linux/input.h 2.6.12-5.0-patched/include/linux/input.h
+--- 2.6.12-5.0-org/include/linux/input.h       2007-07-26 00:56:59.000000000 +0200
++++ 2.6.12-5.0-patched/include/linux/input.h   2007-12-11 12:34:52.000000000 +0100
+@@ -92,6 +92,7 @@
+ #define EV_FF                 0x15
+ #define EV_PWR                        0x16
+ #define EV_FF_STATUS          0x17
++#define EV_NO_CONSOLE         0x1e
+ #define EV_MAX                        0x1f
+ /*
diff --git a/packages/linux/linux-dm800/linux-2.6.12-dream-temp.patch b/packages/linux/linux-dm800/linux-2.6.12-dream-temp.patch
new file mode 100644 (file)
index 0000000..615d135
--- /dev/null
@@ -0,0 +1,141 @@
+Index: stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/kernel/vmlinux.lds.S        2008-01-16 23:52:20.000000000 +0100
++++ stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S     2008-01-16 23:52:22.000000000 +0100
+@@ -145,8 +145,8 @@
+     . = ALIGN(4096);
+   __initramfs_start = .;
+   .init.ramfs : { *(.init.ramfs) }
+-    . = ALIGN(4096);
+   __initramfs_end = .;
++    . = ALIGN(4096);
+   __bss_start = .;            /* BSS */
+   .sbss      : {
+Index: stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/net/brcmint7038/bcmemac.c     2008-01-16 23:52:20.000000000 +0100
++++ stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c  2008-01-16 23:52:13.000000000 +0100
+@@ -2978,99 +2978,10 @@
+ static void bcmemac_getMacAddr(struct net_device* dev)
+ {
+-      uint8 flash_eaddr[ETH_ALEN];
+-      void *virtAddr;
+-      uint16 word;
+-      int i;
+-
+-#if !defined( CONFIG_BRCM_PCI_SLAVE) && !defined( CONFIG_MTD_BRCMNAND )
+-#if 1
+-      virtAddr = (void*)FLASH_MACADDR_ADDR;
+-#else
+-      //virtAddr = (void*) 0xBDFFF824; /* BCM97110 in-flash Ethernet MAC address */
+-      virtAddr = (void*) KSEG1ADDR(getPhysFlashBase() + FLASH_MACADDR_OFFSET); 
+-#endif
+-
+-          /* It is a common problem that the flash and/or Chip Select are
+-       * not initialized properly, so leave this printk on
+-       */
+-      printk("%s: Reading MAC address from %08lX, FLASH_BASE=%08lx\n", 
+-              dev->name,(uint32) virtAddr, (unsigned long) 0xA0000000L|getPhysFlashBase());
+-
+-      word=0;
+-      word=readw(virtAddr);
+-      flash_eaddr[0]=(uint8) (word & 0x00FF);
+-      flash_eaddr[1]=(uint8) ((word & 0xFF00) >> 8);
+-      word=readw(virtAddr+2);
+-      flash_eaddr[2]=(uint8) (word & 0x00FF);
+-      flash_eaddr[3]=(uint8) ((word & 0xFF00) >> 8);
+-      word=readw(virtAddr+4);
+-      flash_eaddr[4]=(uint8) (word & 0x00FF);
+-      flash_eaddr[5]=(uint8) ((word & 0xFF00) >> 8);
+-
+-      printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from addr %lX\n",
+-              dev->name,
+-              flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+-              flash_eaddr[3],flash_eaddr[4],flash_eaddr[5],
+-              (uint32) virtAddr);
+-
+-#elif defined( CONFIG_MTD_BRCMNAND )
+-{
+-      extern int gNumHwAddrs;
+-      extern unsigned char* gHwAddrs[];
+-      
+-      if (gNumHwAddrs >= 1) {
+-              for (i=0; i < 6; i++) {
+-                      flash_eaddr[i] = (uint8) gHwAddrs[0][i];
+-              }
+-
+-              printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from bootloader\n",
+-                      dev->name,
+-                      flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+-                      flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]
+-                      );
+-      }
+-      else {
+-              printk(KERN_ERR "%s: No MAC addresses defined\n", __FUNCTION__);
+-      }
+-}
++              /* we rip the address set by the bootloader */
++      unsigned long addr[2] = { be32_to_cpu(*(unsigned int*)0xB008005C), be32_to_cpu(*(unsigned int*)0xB0080058)};
+-#else 
+-/* PCI slave cannot access the EBI bus, 
+- * and for now, same for NAND flash, until CFE supports it
+- */
+-/* Use hard coded value if Flash not properly initialized */
+-      //if ((*flash_eaddr & 0xff) == 0xff)
+-      {
+-//#ifdef USE_HARDCODED_MACADDR
+-              flash_eaddr[0] = 0x00;
+-              flash_eaddr[1] = 0xc0;
+-              flash_eaddr[2] = 0xa8;
+-              flash_eaddr[3] = 0x74;
+-              flash_eaddr[4] = 0x3b;
+-              flash_eaddr[5] = 0x51;
+-              printk("%s: Default MAC address %02X:%02X:%02X:%02X:%02X:%02X used\n",
+-                      dev->name,
+-                      flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+-                      flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]);
+-//#else
+-//                    printk("%s: Cannot read EMAC address from flash.  Please run EVAL codes\n", CARDNAME);
+-//                    return -ENODEV;
+-//#endif
+-      }
+-#endif
+-
+-        /* fill in the MAC address */
+-        for (i = 0; i < 6; i++) {
+-            dev->dev_addr[i] = flash_eaddr[i];
+-        }
+-
+-        /* print the Ethenet address */
+-        printk("%s: MAC Address: ", dev->name);
+-        for (i = 0; i < 5; i++) {
+-            printk("%2.2X:", dev->dev_addr[i]);
+-        }
+-        printk("%2.2X\n", dev->dev_addr[i]);
++      memcpy(dev->dev_addr, ((unsigned char*)addr)+2, 6);
+ }
+Index: stblinux-2.6.12/arch/mips/brcmstb/common/setup.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/setup.c      2008-01-16 23:53:24.000000000 +0100
++++ stblinux-2.6.12/arch/mips/brcmstb/common/setup.c   2008-01-16 23:54:06.000000000 +0100
+@@ -136,13 +136,13 @@
+ static void brcm_machine_halt(void)
+ {
+-      printk("Broadcom eval board halted.\n");
++      printk("Halted.\n");
+       while (1);
+ }
+ static void brcm_machine_power_off(void)
+ {
+-      printk("Broadcom eval board halted. Please turn off power.\n");
++      printk("Halted. Please turn off power.\n");
+       while (1);
+ }
diff --git a/packages/linux/linux-dm800/linux-2.6.12-fix-serial.patch b/packages/linux/linux-dm800/linux-2.6.12-fix-serial.patch
new file mode 100644 (file)
index 0000000..75a918c
--- /dev/null
@@ -0,0 +1,32 @@
+Index: stblinux-2.6.12/drivers/char/brcmserial.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/char/brcmserial.c     2007-12-16 22:49:40.000000000 +0100
++++ stblinux-2.6.12/drivers/char/brcmserial.c  2007-12-16 22:56:00.000000000 +0100
+@@ -1208,6 +1208,6 @@
+       600, 1200, 1800, 2400, 4800, 9600, 19200,
+       38400, 57600, 115200, 230400, 460800, 0 };
+-static int tty_get_baud_rate(struct tty_struct *tty)
++int tty_get_baud_rate(struct tty_struct *tty)
+ {
+       struct async_struct * info = (struct async_struct *)tty->driver_data;
+       unsigned int cflag, i;
+diff -Naur 2.6.12-5.0-org/drivers/char/tty_io.c 2.6.12-5.0-patched/drivers/char/tty_io.c
+--- 2.6.12-5.0-org/drivers/char/tty_io.c       2007-07-26 00:53:30.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/char/tty_io.c   2007-12-11 12:34:52.000000000 +0100
+@@ -2592,6 +2592,7 @@
+  *    flags may be updated.
+  */
+  
++#if 0
+ int tty_get_baud_rate(struct tty_struct *tty)
+ {
+       int baud = tty_termios_baud_rate(tty->termios);
+@@ -2607,6 +2608,7 @@
+       
+       return baud;
+ }
++#endif
+ EXPORT_SYMBOL(tty_get_baud_rate);
diff --git a/packages/linux/linux-dm800/linux-2.6.12-fixup-memsize.patch b/packages/linux/linux-dm800/linux-2.6.12-fixup-memsize.patch
new file mode 100644 (file)
index 0000000..4564f91
--- /dev/null
@@ -0,0 +1,59 @@
+Index: stblinux-2.6.12/arch/mips/kernel/setup.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/kernel/setup.c      2008-04-15 02:13:42.000000000 +0200
++++ stblinux-2.6.12/arch/mips/kernel/setup.c   2008-04-15 02:25:13.000000000 +0200
+@@ -472,11 +472,29 @@
+  */
+ unsigned long get_RAM_size(void);
++extern int *_prom_envp;
++#define prom_envp(index) ((char *)(long)_prom_envp[(index)])
++static char *prom_getenv(char *envname)
++{
++      int i, index=0;
++
++      i = strlen(envname);
++
++      while (prom_envp(index)) {
++              if ((strncmp(envname, prom_envp(index), i) == 0) && (prom_envp(index)[i] == '='))
++                      return(prom_envp(index) + i + 1);
++              index++;
++      }
++
++      return NULL;
++}
++
+ static inline void brcm_default_boot_mem(void)
+ {
+       int ramSizeMB = get_RAM_size() >> 20;
+       int size;
+       char msg[40];
++      const char *memsize_str;
+       
+       if (ramSizeMB <= 32) 
+       {
+@@ -502,11 +520,20 @@
+               size = 32;
+ #endif
+       }
+-      sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n", 
+-                                      size);
+-      uart_puts(msg);
+-        brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
++      memsize_str = prom_getenv("memsize");
++      if (memsize_str)
++      {
++              int memsize = simple_strtol(memsize_str, NULL, 0);
++              brcm_insert_ram_node(0, memsize<<20, BOOT_MEM_RAM, &brcm_bm);
++              printk("---> memsize from bootloader: %d\n", memsize);
++      } else
++      {
++              sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n", 
++                                              size);
++              uart_puts(msg);
++              brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
++      }
+ }
diff --git a/packages/linux/linux-dm800/linux-2.6.12-fixup-prom-args.patch b/packages/linux/linux-dm800/linux-2.6.12-fixup-prom-args.patch
new file mode 100644 (file)
index 0000000..4020fc9
--- /dev/null
@@ -0,0 +1,65 @@
+Index: stblinux-2.6.12/arch/mips/brcmstb/common/prom.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/prom.c       2008-01-16 00:14:31.000000000 +0100
++++ stblinux-2.6.12/arch/mips/brcmstb/common/prom.c    2008-01-16 00:23:08.000000000 +0100
+@@ -216,6 +216,29 @@
+ }
++int prom_argc;
++int *_prom_argv, *_prom_envp;
++
++void  __init prom_init_cmdline(void)
++{
++      char *cp;
++      int actr;
++
++      actr = 1; /* Always ignore argv[0] */
++
++      cp = &(arcs_cmdline[0]);
++      while(actr < prom_argc) {
++              strcpy(cp, _prom_argv[actr]);
++              cp += strlen(_prom_argv[actr]);
++              *cp++ = ' ';
++              actr++;
++      }
++      if (cp != &(arcs_cmdline[0])) {
++              /* get rid of trailing space */
++              --cp;
++              *cp = '\0';
++      }
++}
+ void __init prom_init(void)
+ {
+@@ -731,23 +754,14 @@
+               uart_puts("Default command line = \n");
+               uart_puts(CONFIG_CMDLINE);
+               uart_puts("\n");
+-              p = &arcs_cmdline[0];
+-              while (p != NULL && *p != '\0') {
+-                      if (!isspace(*p))
+-                              break;
+-                      p++;
+-              }
+-              if (p == NULL || *p == '\0') {
+-                      uart_puts("Defaulting to boot from HD\n");
+-                      /* Default is to boot from HD */
+-                      strcpy(arcs_cmdline,
+-                              "root=/dev/hda1" DEFAULT_KARGS);
+-              }
+-              else if (appendConsoleNeeded) {
+-                      /* Make sure that the boot params specify a console */
+-                      appendConsoleArg(arcs_cmdline);
+-              }
+               
++              prom_argc = fw_arg0;
++              _prom_argv = (int *) fw_arg1;
++              _prom_envp = (int *) fw_arg2;
++              printk("%d %p %p\n", prom_argc, _prom_argv, _prom_envp);
++              prom_init_cmdline();
++              
++
+ #else /* No CONFIG_CMDLINE, and not Initrd */
+       /* Default is to boot from HD */
+               strcpy(arcs_cmdline,
diff --git a/packages/linux/linux-dm800/linux-2.6.12-set-custom-extraversion.patch b/packages/linux/linux-dm800/linux-2.6.12-set-custom-extraversion.patch
new file mode 100644 (file)
index 0000000..188986b
--- /dev/null
@@ -0,0 +1,13 @@
+Index: stblinux-2.6.12/Makefile
+===================================================================
+--- stblinux-2.6.12.orig/Makefile      2007-12-17 20:09:55.000000000 +0100
++++ stblinux-2.6.12/Makefile   2007-12-17 22:37:51.000000000 +0100
+@@ -2,7 +2,7 @@
+ PATCHLEVEL = 6
+ SUBLEVEL = 12
+ # STABLE_VERSION = .2
+-EXTRAVERSION =-5.1-brcmstb
++EXTRAVERSION =-5.1-brcmstb-dm800
+ NAME=Woozy Numbat
+ # *DOCUMENTATION*
diff --git a/packages/linux/linux-dm800/linuxmips-2.6.12-fix-fadvise.patch b/packages/linux/linux-dm800/linuxmips-2.6.12-fix-fadvise.patch
new file mode 100644 (file)
index 0000000..430f32c
--- /dev/null
@@ -0,0 +1,29 @@
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/syscall.c 2.6.12-5.0-patched/arch/mips/kernel/syscall.c
+--- 2.6.12-5.0-org/arch/mips/kernel/syscall.c  2007-07-26 00:51:09.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/syscall.c      2007-12-11 12:34:52.000000000 +0100
+@@ -405,6 +405,13 @@
+       }
+ }
++asmlinkage long mips_fadvise64(int fd,
++                  unsigned int low_off, unsigned int high_off,
++                  unsigned int len, int advice, unsigned int dummy)
++{
++      return sys_fadvise64_64(fd, (((u64)high_off) << 32) | low_off, (u64)len, advice);
++}
++
+ /*
+  * No implemented yet ...
+  */
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S
+--- 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S      2007-07-26 00:51:08.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S  2007-12-11 12:34:52.000000000 +0100
+@@ -594,7 +594,7 @@
+       sys     sys_remap_file_pages    5
+       sys     sys_set_tid_address     1
+       sys     sys_restart_syscall     0
+-      sys     sys_fadvise64_64        7
++      sys     mips_fadvise64          7
+       sys     sys_statfs64            3       /* 4255 */
+       sys     sys_fstatfs64           2
+       sys     sys_timer_create        3
diff --git a/packages/linux/linux-dm800/linuxmips-2.6.12-fix-futex.patch b/packages/linux/linux-dm800/linuxmips-2.6.12-fix-futex.patch
new file mode 100644 (file)
index 0000000..cb0bfe2
--- /dev/null
@@ -0,0 +1,368 @@
+diff -Naur 2.6.12-5.0-org/include/asm-mips/futex.h 2.6.12-5.0-patched/include/asm-mips/futex.h
+--- 2.6.12-5.0-org/include/asm-mips/futex.h    1970-01-01 01:00:00.000000000 +0100
++++ 2.6.12-5.0-patched/include/asm-mips/futex.h        2007-12-11 12:34:52.000000000 +0100
+@@ -0,0 +1,134 @@
++#ifndef _ASM_FUTEX_H
++#define _ASM_FUTEX_H
++
++#ifdef __KERNEL__
++
++#include <linux/config.h>
++#include <linux/futex.h>
++#include <asm/errno.h>
++#include <asm/uaccess.h>
++#include <asm/war.h>
++
++#ifdef CONFIG_SMP
++#define __FUTEX_SMP_SYNC "    sync                                    \n"
++#else
++#define __FUTEX_SMP_SYNC
++#endif
++
++#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)            \
++{                                                                     \
++      if (cpu_has_llsc && R10000_LLSC_WAR) {                          \
++              __asm__ __volatile__(                                   \
++              "       .set    push                            \n"     \
++              "       .set    noat                            \n"     \
++              "       .set    mips3                           \n"     \
++              "1:     ll      %1, %4  # __futex_atomic_op     \n"     \
++              "       .set    mips0                           \n"     \
++              "       " insn  "                               \n"     \
++              "       .set    mips3                           \n"     \
++              "2:     sc      $1, %2                          \n"     \
++              "       beqzl   $1, 1b                          \n"     \
++              __FUTEX_SMP_SYNC                                        \
++              "3:                                             \n"     \
++              "       .set    pop                             \n"     \
++              "       .set    mips0                           \n"     \
++              "       .section .fixup,\"ax\"                  \n"     \
++              "4:     li      %0, %6                          \n"     \
++              "       j       2b                              \n"     \
++              "       .previous                               \n"     \
++              "       .section __ex_table,\"a\"               \n"     \
++              "       "__UA_ADDR "\t1b, 4b                    \n"     \
++              "       "__UA_ADDR "\t2b, 4b                    \n"     \
++              "       .previous                               \n"     \
++              : "=r" (ret), "=&r" (oldval), "=R" (*uaddr)             \
++              : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT)    \
++              : "memory");                                            \
++      } else if (cpu_has_llsc) {                                      \
++              __asm__ __volatile__(                                   \
++              "       .set    push                            \n"     \
++              "       .set    noat                            \n"     \
++              "       .set    mips3                           \n"     \
++              "1:     ll      %1, %4  # __futex_atomic_op     \n"     \
++              "       .set    mips0                           \n"     \
++              "       " insn  "                               \n"     \
++              "       .set    mips3                           \n"     \
++              "2:     sc      $1, %2                          \n"     \
++              "       beqz    $1, 1b                          \n"     \
++              __FUTEX_SMP_SYNC                                        \
++              "3:                                             \n"     \
++              "       .set    pop                             \n"     \
++              "       .set    mips0                           \n"     \
++              "       .section .fixup,\"ax\"                  \n"     \
++              "4:     li      %0, %6                          \n"     \
++              "       j       2b                              \n"     \
++              "       .previous                               \n"     \
++              "       .section __ex_table,\"a\"               \n"     \
++              "       "__UA_ADDR "\t1b, 4b                    \n"     \
++              "       "__UA_ADDR "\t2b, 4b                    \n"     \
++              "       .previous                               \n"     \
++              : "=r" (ret), "=&r" (oldval), "=R" (*uaddr)             \
++              : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT)    \
++              : "memory");                                            \
++      } else                                                          \
++              ret = -ENOSYS;                                          \
++}
++
++static inline int
++futex_atomic_op_inuser (int encoded_op, int __user *uaddr)
++{
++      int op = (encoded_op >> 28) & 7;
++      int cmp = (encoded_op >> 24) & 15;
++      int oparg = (encoded_op << 8) >> 20;
++      int cmparg = (encoded_op << 20) >> 20;
++      int oldval = 0, ret;
++      if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
++              oparg = 1 << oparg;
++
++      if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int)))
++              return -EFAULT;
++
++      inc_preempt_count();
++
++      switch (op) {
++      case FUTEX_OP_SET:
++              __futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg);
++              break;
++
++      case FUTEX_OP_ADD:
++              __futex_atomic_op("addu $1, %1, %z5",
++                                ret, oldval, uaddr, oparg);
++              break;
++      case FUTEX_OP_OR:
++              __futex_atomic_op("or   $1, %1, %z5",
++                                ret, oldval, uaddr, oparg);
++              break;
++      case FUTEX_OP_ANDN:
++              __futex_atomic_op("and  $1, %1, %z5",
++                                ret, oldval, uaddr, ~oparg);
++              break;
++      case FUTEX_OP_XOR:
++              __futex_atomic_op("xor  $1, %1, %z5",
++                                ret, oldval, uaddr, oparg);
++              break;
++      default:
++              ret = -ENOSYS;
++      }
++
++      dec_preempt_count();
++
++      if (!ret) {
++              switch (cmp) {
++              case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break;
++              case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break;
++              case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break;
++              case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break;
++              case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break;
++              case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break;
++              default: ret = -ENOSYS;
++              }
++      }
++      return ret;
++}
++
++#endif
++#endif
+diff -Naur 2.6.12-5.0-org/include/linux/futex.h 2.6.12-5.0-patched/include/linux/futex.h
+--- 2.6.12-5.0-org/include/linux/futex.h       2007-07-26 00:57:03.000000000 +0200
++++ 2.6.12-5.0-patched/include/linux/futex.h   2007-12-11 12:34:52.000000000 +0100
+@@ -4,14 +4,40 @@
+ /* Second argument to futex syscall */
+-#define FUTEX_WAIT (0)
+-#define FUTEX_WAKE (1)
+-#define FUTEX_FD (2)
+-#define FUTEX_REQUEUE (3)
+-#define FUTEX_CMP_REQUEUE (4)
++#define FUTEX_WAIT            0
++#define FUTEX_WAKE            1
++#define FUTEX_FD              2
++#define FUTEX_REQUEUE         3
++#define FUTEX_CMP_REQUEUE     4
++#define FUTEX_WAKE_OP         5
+ long do_futex(unsigned long uaddr, int op, int val,
+               unsigned long timeout, unsigned long uaddr2, int val2,
+               int val3);
++#define FUTEX_OP_SET          0       /* *(int *)UADDR2 = OPARG; */
++#define FUTEX_OP_ADD          1       /* *(int *)UADDR2 += OPARG; */
++#define FUTEX_OP_OR           2       /* *(int *)UADDR2 |= OPARG; */
++#define FUTEX_OP_ANDN         3       /* *(int *)UADDR2 &= ~OPARG; */
++#define FUTEX_OP_XOR          4       /* *(int *)UADDR2 ^= OPARG; */
++
++#define FUTEX_OP_OPARG_SHIFT  8       /* Use (1 << OPARG) instead of OPARG.  */
++
++#define FUTEX_OP_CMP_EQ               0       /* if (oldval == CMPARG) wake */
++#define FUTEX_OP_CMP_NE               1       /* if (oldval != CMPARG) wake */
++#define FUTEX_OP_CMP_LT               2       /* if (oldval < CMPARG) wake */
++#define FUTEX_OP_CMP_LE               3       /* if (oldval <= CMPARG) wake */
++#define FUTEX_OP_CMP_GT               4       /* if (oldval > CMPARG) wake */
++#define FUTEX_OP_CMP_GE               5       /* if (oldval >= CMPARG) wake */
++
++/* FUTEX_WAKE_OP will perform atomically
++   int oldval = *(int *)UADDR2;
++   *(int *)UADDR2 = oldval OP OPARG;
++   if (oldval CMP CMPARG)
++     wake UADDR2;  */
++
++#define FUTEX_OP(op, oparg, cmp, cmparg) \
++  (((op & 0xf) << 28) | ((cmp & 0xf) << 24)           \
++   | ((oparg & 0xfff) << 12) | (cmparg & 0xfff))
++
+ #endif
+diff -Naur 2.6.12-5.0-org/kernel/futex.c 2.6.12-5.0-patched/kernel/futex.c
+--- 2.6.12-5.0-org/kernel/futex.c      2007-07-26 00:57:20.000000000 +0200
++++ 2.6.12-5.0-patched/kernel/futex.c  2007-12-11 12:34:52.000000000 +0100
+@@ -40,6 +40,7 @@
+ #include <linux/pagemap.h>
+ #include <linux/syscalls.h>
+ #include <linux/signal.h>
++#include <asm/futex.h>
+ #define FUTEX_HASHBITS (CONFIG_BASE_SMALL ? 4 : 8)
+@@ -201,22 +202,6 @@
+        * for a rare case, so we simply fetch the page.
+        */
+-      /*
+-       * Do a quick atomic lookup first - this is the fastpath.
+-       */
+-      spin_lock(&current->mm->page_table_lock);
+-      page = follow_page(mm, uaddr, 0);
+-      if (likely(page != NULL)) {
+-              key->shared.pgoff =
+-                      page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
+-              spin_unlock(&current->mm->page_table_lock);
+-              return 0;
+-      }
+-      spin_unlock(&current->mm->page_table_lock);
+-
+-      /*
+-       * Do it the general way.
+-       */
+       err = get_user_pages(current, mm, uaddr, 1, 0, 0, &page, NULL);
+       if (err >= 0) {
+               key->shared.pgoff =
+@@ -327,6 +312,123 @@
+ }
+ /*
++ * Wake up all waiters hashed on the physical page that is mapped
++ * to this virtual address:
++ */
++static int futex_wake_op(unsigned long uaddr1, unsigned long uaddr2, int nr_wake, int nr_wake2, int op)
++{
++      union futex_key key1, key2;
++      struct futex_hash_bucket *bh1, *bh2;
++      struct list_head *head;
++      struct futex_q *this, *next;
++      int ret, op_ret, attempt = 0;
++
++retryfull:
++      down_read(&current->mm->mmap_sem);
++
++      ret = get_futex_key(uaddr1, &key1);
++      if (unlikely(ret != 0))
++              goto out;
++      ret = get_futex_key(uaddr2, &key2);
++      if (unlikely(ret != 0))
++              goto out;
++
++      bh1 = hash_futex(&key1);
++      bh2 = hash_futex(&key2);
++
++retry:
++      if (bh1 < bh2)
++              spin_lock(&bh1->lock);
++      spin_lock(&bh2->lock);
++      if (bh1 > bh2)
++              spin_lock(&bh1->lock);
++
++      op_ret = futex_atomic_op_inuser(op, (int __user *)uaddr2);
++      if (unlikely(op_ret < 0)) {
++              int dummy;
++
++              spin_unlock(&bh1->lock);
++              if (bh1 != bh2)
++                      spin_unlock(&bh2->lock);
++
++              if (unlikely(op_ret != -EFAULT)) {
++                      ret = op_ret;
++                      goto out;
++              }
++
++              /* futex_atomic_op_inuser needs to both read and write
++               * *(int __user *)uaddr2, but we can't modify it
++               * non-atomically.  Therefore, if get_user below is not
++               * enough, we need to handle the fault ourselves, while
++               * still holding the mmap_sem.  */
++              if (attempt++) {
++                      struct vm_area_struct * vma;
++                      struct mm_struct *mm = current->mm;
++
++                      ret = -EFAULT;
++                      if (attempt >= 2 ||
++                          !(vma = find_vma(mm, uaddr2)) ||
++                          vma->vm_start > uaddr2 ||
++                          !(vma->vm_flags & VM_WRITE))
++                              goto out;
++
++                      switch (handle_mm_fault(mm, vma, uaddr2, 1)) {
++                      case VM_FAULT_MINOR:
++                              current->min_flt++;
++                              break;
++                      case VM_FAULT_MAJOR:
++                              current->maj_flt++;
++                              break;
++                      default:
++                              goto out;
++                      }
++                      goto retry;
++              }
++
++              /* If we would have faulted, release mmap_sem,
++               * fault it in and start all over again.  */
++              up_read(&current->mm->mmap_sem);
++
++              ret = get_user(dummy, (int __user *)uaddr2);
++              if (ret)
++                      return ret;
++
++              goto retryfull;
++      }
++
++      head = &bh1->chain;
++
++      list_for_each_entry_safe(this, next, head, list) {
++              if (match_futex (&this->key, &key1)) {
++                      wake_futex(this);
++                      if (++ret >= nr_wake)
++                              break;
++              }
++      }
++
++      if (op_ret > 0) {
++              head = &bh2->chain;
++
++              op_ret = 0;
++              list_for_each_entry_safe(this, next, head, list) {
++                      if (match_futex (&this->key, &key2)) {
++                              wake_futex(this);
++                              if (++op_ret >= nr_wake2)
++                                      break;
++                      }
++              }
++              ret += op_ret;
++      }
++
++      spin_unlock(&bh1->lock);
++      if (bh1 != bh2)
++              spin_unlock(&bh2->lock);
++out:
++      up_read(&current->mm->mmap_sem);
++      return ret;
++}
++
++/*
+  * Requeue all waiters hashed on one physical page to another
+  * physical page.
+  */
+@@ -740,6 +842,9 @@
+       case FUTEX_CMP_REQUEUE:
+               ret = futex_requeue(uaddr, uaddr2, val, val2, &val3);
+               break;
++      case FUTEX_WAKE_OP:
++              ret = futex_wake_op(uaddr, uaddr2, val, val2, val3);
++              break;
+       default:
+               ret = -ENOSYS;
+       }
+@@ -755,9 +860,11 @@
+       unsigned long timeout = MAX_SCHEDULE_TIMEOUT;
+       int val2 = 0;
+-      if ((op == FUTEX_WAIT) && utime) {
++      if (utime && (op == FUTEX_WAIT)) {
+               if (copy_from_user(&t, utime, sizeof(t)) != 0)
+                       return -EFAULT;
++              if (!timespec_valid(&t))
++                      return -EINVAL;
+               timeout = timespec_to_jiffies(&t) + 1;
+       }
+       /*
diff --git a/packages/linux/linux-dm800/linuxmips-2.6.12-gcc4-compile-fix.patch b/packages/linux/linux-dm800/linuxmips-2.6.12-gcc4-compile-fix.patch
new file mode 100644 (file)
index 0000000..c1dc961
--- /dev/null
@@ -0,0 +1,91 @@
+diff -Naur 2.6.12-5.0-org/include/asm-mips/uaccess.h 2.6.12-5.0-patched/include/asm-mips/uaccess.h
+--- 2.6.12-5.0-org/include/asm-mips/uaccess.h  2007-07-26 00:56:08.000000000 +0200
++++ 2.6.12-5.0-patched/include/asm-mips/uaccess.h      2007-12-11 12:34:52.000000000 +0100
+@@ -234,39 +234,72 @@
+ #define __get_user_nocheck(x,ptr,size)                                        \
+ ({                                                                    \
+-      __typeof(*(ptr)) __gu_val =  (__typeof(*(ptr))) 0;              \
+       long __gu_err = 0;                                              \
+-                                                                      \
+       might_sleep();                                                  \
+       switch (size) {                                                 \
+-      case 1: __get_user_asm("lb", ptr); break;                       \
+-      case 2: __get_user_asm("lh", ptr); break;                       \
+-      case 4: __get_user_asm("lw", ptr); break;                       \
+-      case 8: __GET_USER_DW(ptr); break;                              \
++      case 1: {                                                       \
++              s8 __gu_val =  (s8) 0;                                  \
++              __get_user_asm("lb", ptr);                              \
++              (x) = (__typeof__(*(ptr))) __gu_val;                    \
++              break;                                                  \
++              }                                                       \
++      case 2: {                                                       \
++              s16 __gu_val =  (s16) 0;                                \
++              __get_user_asm("lh", ptr);                              \
++              (x) = (__typeof__(*(ptr))) __gu_val;                    \
++              break;                                                  \
++              }                                                       \
++      case 4: {                                                       \
++              s32 __gu_val = (s32) 0;                                 \
++              __get_user_asm("lw", ptr);                              \
++              (x) = (__typeof__(*(ptr))) __gu_val;                    \
++              break;                                                  \
++              }                                                       \
++      case 8: {                                                       \
++              s64 __gu_val = (s64) 0;                                 \
++              __GET_USER_DW(ptr);                                     \
++              (x) = (__typeof__(*(ptr))) __gu_val;                    \
++              break;                                                  \
++              }                                                       \
+       default: __get_user_unknown(); break;                           \
+       }                                                               \
+-      (x) = (__typeof__(*(ptr))) __gu_val;                            \
+       __gu_err;                                                       \
+ })
+ #define __get_user_check(x,ptr,size)                                  \
+ ({                                                                    \
+       const __typeof__(*(ptr)) __user * __gu_addr = (ptr);            \
+-      __typeof__(*(ptr)) __gu_val = 0;                                \
+       long __gu_err = -EFAULT;                                        \
+-                                                                      \
+       might_sleep();                                                  \
+-                                                                      \
+       if (likely(access_ok(VERIFY_READ,  __gu_addr, size))) {         \
+               switch (size) {                                         \
+-              case 1: __get_user_asm("lb", __gu_addr); break;         \
+-              case 2: __get_user_asm("lh", __gu_addr); break;         \
+-              case 4: __get_user_asm("lw", __gu_addr); break;         \
+-              case 8: __GET_USER_DW(__gu_addr); break;                \
++              case 1: {                                                       \
++                      s8 __gu_val =  (s8) 0;                                  \
++                      __get_user_asm("lb", ptr);                              \
++                      (x) = (__typeof__(*(ptr))) __gu_val;                    \
++                      break;                                                  \
++                      }                                                       \
++              case 2: {                                                       \
++                      s16 __gu_val =  (s16) 0;                                \
++                      __get_user_asm("lh", ptr);                              \
++                      (x) = (__typeof__(*(ptr))) __gu_val;                    \
++                      break;                                                  \
++                      }                                                       \
++              case 4: {                                                       \
++                      s32 __gu_val = (s32) 0;                                 \
++                      __get_user_asm("lw", ptr);                              \
++                      (x) = (__typeof__(*(ptr))) __gu_val;                    \
++                      break;                                                  \
++                      }                                                       \
++              case 8: {                                                       \
++                      s64 __gu_val = (s64) 0;                                 \
++                      __GET_USER_DW(ptr);                                     \
++                      (x) = (__typeof__(*(ptr))) __gu_val;                    \
++                      break;                                                  \
++              }                                                       \
+               default: __get_user_unknown(); break;                   \
+               }                                                       \
+       }                                                               \
+-      (x) = (__typeof__(*(ptr))) __gu_val;                            \
+       __gu_err;                                                       \
+ })
diff --git a/packages/linux/linux-dm800/linuxmips-2.6.12-gdb-fix.patch b/packages/linux/linux-dm800/linuxmips-2.6.12-gdb-fix.patch
new file mode 100644 (file)
index 0000000..d70e2de
--- /dev/null
@@ -0,0 +1,22 @@
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S
+--- 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S  2007-07-26 00:51:07.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S      2007-12-11 12:34:52.000000000 +0100
+@@ -52,12 +52,14 @@
+               /*
+                * Called from user mode, go somewhere else.
+                */
+-              lui     k1, %hi(saved_vectors)
+               mfc0    k0, CP0_CAUSE
+               andi    k0, k0, 0x7c
+-              add     k1, k1, k0
+-              lw      k0, %lo(saved_vectors)(k1)
+-              jr      k0
++
++#ifdef CONFIG_MIPS64
++              dsll    k0, k0, 1
++#endif
++              lw      k1, %lo(saved_vectors)(k0)
++              jr      k1
+               nop
+ 1:
+               move    k0, sp
diff --git a/packages/linux/linux-dm8000.bb b/packages/linux/linux-dm8000.bb
new file mode 100644 (file)
index 0000000..a848d62
--- /dev/null
@@ -0,0 +1,86 @@
+DESCRIPTION = "Linux kernel for Dreambox DM8000"
+LICENSE = "GPL"
+PN = "linux-dm8000"
+KV = "2.6.12"
+PV = "2.6.12"
+PR = "r6"
+
+# note, the rX in the filename is *NOT* the packet revision - it's the patch revision.
+SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${KV}.tar.bz2 \
+       file://dm8000_defconfig \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-brcm-5.1.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update_dvbapi-r1.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2;patch=1;pnum=1 \
+       http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-add-ioprio.patch.bz2;patch=1;pnum=1 \
+       file://linux-2.6.12-dvbapi-support-more-demux.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-dream-misc.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-dm8000-nand.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-dream-temp.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-brcm-mtd-blkdevfs-fix.diff;patch=1;pnum=1 \
+       file://linux-2.6.12-brcm-fix-usb-for-revb0.diff;patch=1;pnum=1 \
+       file://linux-2.6.12-set-custom-extraversion.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-fixup-prom-args.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-7400AB-enable-llsc.patch;patch=1;pnum=1 \
+       file://linuxmips-2.6.12-fix-fadvise.patch;patch=1;pnum=1 \
+       file://linuxmips-2.6.12-fix-futex.patch;patch=1;pnum=1 \
+       file://linuxmips-2.6.12-gcc4-compile-fix.patch;patch=1;pnum=1 \
+       file://linuxmips-2.6.12-gdb-fix.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-brcm-fix-minipci.patch;patch=1;pnum=1 \
+       file://linux-2.6.12-fixup-memsize.patch;patch=1;pnum=1 \
+       http://trappist.elis.ugent.be/~mronsse/cdfs/download/cdfs-2.6.12.tar.bz2"
+
+S = "${WORKDIR}/stblinux-2.6.12"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/vmlinux.gz /boot/autoexec.bat"
+
+export OS = "Linux"
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "vmlinux"
+KERNEL_OBJECT_SUFFIX = "ko"
+
+do_munge() {
+       mv ${WORKDIR}/linux-2.6.12 ${WORKDIR}/stblinux-2.6.12
+       if [ -d ${S}/drivers/sound ]; then
+               rm -R ${S}/drivers/sound;
+       fi;
+}
+
+addtask munge before do_patch after do_unpack
+
+do_configure_prepend() {
+       oe_machinstall -m 0644 ${WORKDIR}/dm8000_defconfig ${S}/.config
+       if [ -d ${WORKDIR}/cdfs-${PV} ]; then
+               mv ${WORKDIR}/cdfs-${PV} ${S}/fs/cdfs
+               cd ${S} & patch -p0 < ${S}/fs/cdfs/patch.cdfs
+       fi;
+       oe_runmake oldconfig
+}
+
+do_install_append () {
+       install -d ${D}/boot
+       install -m 0755 vmlinux ${D}/boot/vmlinux
+       echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+       gzip ${D}/boot/vmlinux
+       echo "/flash/vmlinux.gz" >> ${D}/boot/autoexec.bat
+}
+
+pkg_preinst_kernel-image () {
+       [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postinst_kernel-image () {
+       [ -d /proc/stb ] && mount -o ro,remount /boot
+}
+
+pkg_prerm_kernel-image () {
+       [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postrm_kernel-image () {
+       [ -d /proc/stb ] && mount -o ro,remount /boot
+}
diff --git a/packages/linux/linux-dm8000/dm8000_defconfig b/packages/linux/linux-dm8000/dm8000_defconfig
new file mode 100644 (file)
index 0000000..4cd9c09
--- /dev/null
@@ -0,0 +1,1759 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12-5.1-brcmstb-dm8000
+# Mon Oct 20 18:29:26 2008
+#
+CONFIG_MIPS=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Machine selection
+#
+# CONFIG_MIPS_BCM3560A0 is not set
+# CONFIG_MIPS_BCM3560B0 is not set
+# CONFIG_MIPS_BCM3563 is not set
+# CONFIG_MIPS_BCM3563C0 is not set
+# CONFIG_MIPS_BCM7038B0 is not set
+# CONFIG_MIPS_BCM7038CX is not set
+# CONFIG_MIPS_BCM97398 is not set
+# CONFIG_MIPS_BCM7110 is not set
+# CONFIG_MIPS_BCM7111 is not set
+# CONFIG_MIPS_BCM7112 is not set
+# CONFIG_MIPS_BCM7115 is not set
+# CONFIG_MIPS_BCM7118AX is not set
+# CONFIG_MIPS_BCM7118A0_NAND is not set
+# CONFIG_MIPS_BCM7312 is not set
+# CONFIG_MIPS_BCM7315 is not set
+# CONFIG_MIPS_BCM7317 is not set
+# CONFIG_MIPS_BCM7318 is not set
+# CONFIG_MIPS_BCM7319 is not set
+# CONFIG_MIPS_BCM7320 is not set
+# CONFIG_MIPS_BCM7328 is not set
+# CONFIG_MIPS_BCM7329 is not set
+# CONFIG_MIPS_BCM97456 is not set
+# CONFIG_MIPS_BCM97456BX is not set
+# CONFIG_MIPS_BCM97456BX_NAND is not set
+# CONFIG_MIPS_BCM7400AX is not set
+CONFIG_MIPS_BCM7400BX=y
+# CONFIG_MIPS_BCM7400BX_NAND is not set
+# CONFIG_MIPS_BCM7400AX_NAND is not set
+# CONFIG_MIPS_BCM7405AX is not set
+# CONFIG_MIPS_BCM97455 is not set
+# CONFIG_MIPS_BCM7401AX is not set
+# CONFIG_MIPS_BCM7401BX is not set
+# CONFIG_MIPS_BCM7401BX_NAND is not set
+# CONFIG_MIPS_BCM97455B0 is not set
+# CONFIG_MIPS_BCM7401CX is not set
+# CONFIG_MIPS_BCM7401CX_NAND is not set
+# CONFIG_MIPS_BCM97455CX is not set
+# CONFIG_MIPS_BCM97455CX_NAND is not set
+# CONFIG_MIPS_BCM97458AX is not set
+# CONFIG_MIPS_BCM97458AX_NAND is not set
+# CONFIG_MIPS_BCM7402S is not set
+# CONFIG_MIPS_BCM7402B0S is not set
+# CONFIG_MIPS_BCM7402A0 is not set
+# CONFIG_MIPS_BCM7402CX is not set
+# CONFIG_MIPS_BCM7402CX_NAND is not set
+# CONFIG_MIPS_BCM7403AX is not set
+# CONFIG_MIPS_BCM7451AX_SMB is not set
+# CONFIG_MIPS_BCM7403AX_NAND is not set
+# CONFIG_MIPS_BCM7452AX is not set
+# CONFIG_MIPS_BCM7452AX_NAND is not set
+# CONFIG_MIPS_BCM7440AX is not set
+# CONFIG_MIPS_BCM7440BX is not set
+# CONFIG_MIPS_BCM7440BX_NAND is not set
+# CONFIG_MIPS_BCM93730 is not set
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MIPS_EV64120 is not set
+# CONFIG_MIPS_EV96100 is not set
+# CONFIG_MIPS_IVR is not set
+# CONFIG_MIPS_ITE8172 is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MOMENCO_JAGUAR_ATX is not set
+# CONFIG_MOMENCO_OCELOT is not set
+# CONFIG_MOMENCO_OCELOT_3 is not set
+# CONFIG_MOMENCO_OCELOT_C is not set
+# CONFIG_MOMENCO_OCELOT_G is not set
+# CONFIG_MIPS_XXS1500 is not set
+# CONFIG_DDB5074 is not set
+# CONFIG_DDB5476 is not set
+# CONFIG_DDB5477 is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_QEMU is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_PTSWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SNI_RM200_PCI is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_HAVE_DEC_LOCK=y
+CONFIG_DMA_NONCOHERENT=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_CPUFREQ=y
+CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_BRCM97XXX=y
+CONFIG_MIPS_BCM7400B0=y
+CONFIG_MIPS_BCM7400=y
+CONFIG_MIPS_BRCM=y
+# CONFIG_BRCM_7XXX_SERIAL is not set
+# CONFIG_LONG_LONG_SUPPORT is not set
+CONFIG_SERIAL=y
+CONFIG_MIPS_L1_CACHE_SHIFT=6
+
+#
+# Power management
+#
+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=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_BRCM=y
+
+#
+# CPU selection
+#
+# CONFIG_CPU_MIPS32_R2 is not set
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+
+#
+# Kernel type
+#
+CONFIG_MIPS32=y
+# CONFIG_MIPS64 is not set
+# CONFIG_64BIT is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+# CONFIG_64BIT_PHYS_ADDR is not set
+# CONFIG_CPU_ADVANCED is not set
+CONFIG_CPU_HAS_LLSC=y
+CONFIG_CPU_HAS_SYNC=y
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_LEGACY_PROC=y
+# CONFIG_PCI_NAMES is not set
+CONFIG_MMU=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PCI Hotplug Support
+#
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+
+#
+# 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 is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_MTD_BLOCK_ROMBLOCK is not set
+# 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=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+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_OTP is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_BCM7XXX=y
+# CONFIG_MTD_MULTI_PHYSMAP is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_RAMTD is not set
+# CONFIG_MTD_BLKMTD 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_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_DM8000=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Broadcom NAND Flash Device Drivers
+#
+# CONFIG_MTD_BRCMNAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_LBD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+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"
+CONFIG_ATA_OVER_ETH=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+CONFIG_BLK_DEV_IDE_SATA=y
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_BLK_DEV_IDECD=y
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+CONFIG_IDEDMA_PCI_AUTO=y
+# CONFIG_IDEDMA_ONLYDISK is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+CONFIG_BLK_DEV_SVWKS=y
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+CONFIG_IDEDMA_AUTO=y
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+
+#
+# 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
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=y
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+CONFIG_SCSI_DEBUG=m
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+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_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_ARPD=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+CONFIG_IP_NF_CONNTRACK_MARK=y
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+# CONFIG_IP_NF_MATCH_PHYSDEV is not set
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+CONFIG_IP_NF_MATCH_SCTP=m
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_CONNMARK=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+CONFIG_IP_NF_TARGET_CONNMARK=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_TARGET_NOTRACK=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_LIMIT=m
+CONFIG_IP6_NF_MATCH_MAC=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_MULTIPORT=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_MARK=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AHESP=m
+CONFIG_IP6_NF_MATCH_LENGTH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+# CONFIG_IP6_NF_MATCH_PHYSDEV is not set
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_MARK=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# 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_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
+# CONFIG_NET_SCH_CLK_CPU is not set
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_NET_CLS_IND=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_RX=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+CONFIG_NETIF_DMA=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_BCMINTEMAC_7038=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_PCI is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+CONFIG_INPUT_TOUCHSCREEN=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=y
+# CONFIG_INPUT_PCSPKR is not set
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=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_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=0
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM 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=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_ISA is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+# CONFIG_I2C_SENSOR 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_ASB100 is not set
+# CONFIG_SENSORS_DS1621 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_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_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 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
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+CONFIG_DVB=y
+CONFIG_DVB_CORE=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_DVB_BUDGET is not set
+# CONFIG_DVB_BUDGET_CI is not set
+# CONFIG_DVB_BUDGET_AV is not set
+
+#
+# Supported USB Adapters
+#
+# CONFIG_DVB_TTUSB_BUDGET is not set
+# CONFIG_DVB_TTUSB_DEC is not set
+# CONFIG_DVB_DIBUSB is not set
+# CONFIG_DVB_CINERGYT2 is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+# CONFIG_DVB_B2C2_SKYSTAR is not set
+
+#
+# Supported BT878 Adapters
+#
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_STV0299=y
+# CONFIG_DVB_CX24110 is not set
+CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_TDA80XX is not set
+CONFIG_DVB_MT312=m
+CONFIG_DVB_VES1X93=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_CX22700 is not set
+# CONFIG_DVB_CX22702 is not set
+CONFIG_DVB_L64781=m
+# CONFIG_DVB_TDA1004X is not set
+# CONFIG_DVB_NXT6000 is not set
+# CONFIG_DVB_MT352 is not set
+# CONFIG_DVB_DIB3000MB is not set
+# CONFIG_DVB_DIB3000MC is not set
+
+#
+# DVB-C (cable) frontends
+#
+# CONFIG_DVB_ATMEL_AT76C651 is not set
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+# CONFIG_DVB_STV0297 is not set
+
+#
+# ATSC (North American/Korean Terresterial DTV) frontends
+#
+# CONFIG_DVB_NXT2002 is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_OR51132 is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON_OLD is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_SMIVGX is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_E1356 is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL 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_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+# 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
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA MIPS devices
+#
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# 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=y
+CONFIG_USB_DEBUG=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+CONFIG_USB_BRCM=y
+# CONFIG_USB_BRCM_PWR_CTL is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_AUDIO=m
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+CONFIG_USB_MIDI=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+CONFIG_USB_EGALAX=m
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# 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 is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=m
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR 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=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+CONFIG_XFS_FS=m
+CONFIG_XFS_EXPORT=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_SECURITY is not set
+# CONFIG_XFS_POSIX_ACL is not set
+CONFIG_MINIX_FS=m
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=y
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+CONFIG_CDFS_FS=y
+
+#
+# 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=m
+CONFIG_NTFS_DEBUG=y
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_DEVFS_FS=y
+CONFIG_DEVFS_MOUNT=y
+# CONFIG_DEVFS_DEBUG is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# 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_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC 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=m
+CONFIG_UFS_FS_WRITE=y
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=y
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR 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
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_CROSSCOMPILE=y
+CONFIG_CMDLINE="root=/dev/mtdblock3 rootfstype=jffs2 rw mem=128M console=null"
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-7400AB-enable-llsc.patch b/packages/linux/linux-dm8000/linux-2.6.12-7400AB-enable-llsc.patch
new file mode 100644 (file)
index 0000000..cb05512
--- /dev/null
@@ -0,0 +1,14 @@
+--- 2.6.12-5.1-org/arch/mips/Makefile  2008-03-19 16:22:29.000000000 +0100
++++ 2.6.12-5.1-patched/arch/mips/Makefile      2008-03-24 14:06:32.000000000 +0100
+@@ -876,10 +876,9 @@
+ core-$(CONFIG_MIPS_BCM7400A0) += arch/mips/brcmstb/common/
+ core-$(CONFIG_MIPS_BCM7400B0) += arch/mips/brcmstb/common/
+-ifdef CONFIG_SMP
+ cflags-$(CONFIG_MIPS_BCM7400A0)       += -Iinclude/asm-mips/mach-brcmstb
+ cflags-$(CONFIG_MIPS_BCM7400B0)       += -Iinclude/asm-mips/mach-brcmstb
+-endif
++
+ load-$(CONFIG_MIPS_BCM7400A0) := 0x80001000
+ load-$(CONFIG_MIPS_BCM7400B0) := 0x80001000
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-minipci.patch b/packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-minipci.patch
new file mode 100644 (file)
index 0000000..eb6384f
--- /dev/null
@@ -0,0 +1,11 @@
+--- stblinux-2.6.12.org/include/asm-mips/brcmstb/brcm97400b0/boardmap.h        2008-07-03 23:48:25.000000000 +0200
++++ stblinux-2.6.12/include/asm-mips/brcmstb/brcm97400b0/boardmap.h    2008-07-03 21:23:22.000000000 +0200
+@@ -69,7 +69,7 @@
+ #define PCI_1394_PHYS_MEM_WIN0_BASE   0xd0000000
+-#define PCI_DEVICE_ID_EXT       0x0d
++#define PCI_DEVICE_ID_EXT       1 /* 0x0d */
+ #define PCI_DEVICE_ID_1394      0x0e
+ #define PCI_DEVICE_ID_MINI      0x04
+ #define PCI_DEVICE_ID_SATA      0 /* On 2ndary PCI bus */
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-usb-for-revb0.diff b/packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-usb-for-revb0.diff
new file mode 100644 (file)
index 0000000..beb5700
--- /dev/null
@@ -0,0 +1,11 @@
+--- stblinux-2.6.12/include/asm-mips/brcmstb/brcm97400b0/bcmintrnum.h  2008-07-25 13:55:08.000000000 +0200
++++ stblinux-2.6.12/include/asm-mips/brcmstb/brcm97400b0/bcmintrnum.h  2008-09-11 18:00:03.000000000 +0200
+@@ -106,7 +106,7 @@
+ #define BCM_LINUX_EXPANSION_SLOT (BCM_LINUX_EXT_PCI_IRQ)
+-#if 1
++#if 0
+ // IRQ lines for EHCI-1 and OHCI-0 are swapped on the 7400A0 chip.
+ #define BCM_LINUX_USB_EHCI_CPU_INTR (1+32+BCHP_HIF_CPU_INTR1_INTR_W1_STATUS_USB_EHCI_CPU_INTR_SHIFT)
+ #define BCM_LINUX_USB_EHCI_1_CPU_INTR (1+32+BCHP_HIF_CPU_INTR1_INTR_W1_STATUS_USB_OHCI_0_CPU_INTR_SHIFT)
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff b/packages/linux/linux-dm8000/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff
new file mode 100644 (file)
index 0000000..da5324e
--- /dev/null
@@ -0,0 +1,109 @@
+Index: stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/mtd_blkdevs.c     2007-07-26 00:55:00.000000000 +0200
++++ stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c  2008-01-16 23:58:30.000000000 +0100
+@@ -21,6 +21,7 @@
+ #include <linux/init.h>
+ #include <asm/semaphore.h>
+ #include <asm/uaccess.h>
++#include <linux/devfs_fs_kernel.h>
+ static LIST_HEAD(blktrans_majors);
+@@ -302,6 +303,9 @@
+               snprintf(gd->disk_name, sizeof(gd->disk_name),
+                        "%s%d", tr->name, new->devnum);
++      snprintf(gd->devfs_name, sizeof(gd->devfs_name),
++               "%s/%c", tr->name, (tr->part_bits?'a':'0') + new->devnum);
++
+       /* 2.5 has capacity in units of 512 bytes while still
+          having BLOCK_SIZE_BITS set to 10. Just to keep us amused. */
+       set_capacity(gd, (new->size * new->blksize) >> 9);
+@@ -418,6 +422,8 @@
+               return ret;
+       }
++      devfs_mk_dir(tr->name);
++
+       INIT_LIST_HEAD(&tr->devs);
+       list_add(&tr->list, &blktrans_majors);
+@@ -450,6 +456,7 @@
+               tr->remove_dev(dev);
+       }
++      devfs_remove(tr->name);
+       blk_cleanup_queue(tr->blkcore_priv->rq);
+       unregister_blkdev(tr->major, tr->name);
+Index: stblinux-2.6.12/drivers/mtd/mtdchar.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/mtdchar.c 2008-01-21 01:37:38.000000000 +0100
++++ stblinux-2.6.12/drivers/mtd/mtdchar.c      2008-01-21 01:37:40.000000000 +0100
+@@ -26,6 +26,8 @@
+ static struct class *mtd_class;
++#include <linux/devfs_fs_kernel.h>
++
+ static void mtd_notify_add(struct mtd_info* mtd)
+ {
+       if (!mtd)
+@@ -50,6 +52,12 @@
+                           MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
+                           NULL, "mtd%dro", mtd->index);
+ #endif
++
++      devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2),
++                    S_IFCHR | S_IRUGO | S_IWUGO, "mtd/%d", mtd->index);
++
++      devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
++                    S_IFCHR | S_IRUGO, "mtd/%dro", mtd->index);
+ }
+ static void mtd_notify_remove(struct mtd_info* mtd)
+@@ -59,6 +67,9 @@
+       class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2));
+       class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1));
++
++      devfs_remove("mtd/%d", mtd->index);
++      devfs_remove("mtd/%dro", mtd->index);
+ }
+ static struct mtd_notifier notifier = {
+@@ -66,6 +77,17 @@
+       .remove = mtd_notify_remove,
+ };
++static inline void mtdchar_devfs_init(void)
++{
++      devfs_mk_dir("mtd");
++}
++
++static inline void mtdchar_devfs_exit(void)
++{
++      devfs_remove("mtd");
++}
++
++
+ /*
+  * We use file->private_data to store a pointer to the MTDdevice.
+  * Since alighment is at least 32 bits, we have 2 bits free for OTP
+@@ -807,6 +829,7 @@
+               return PTR_ERR(mtd_class);
+       }
++      mtdchar_devfs_init();
+       register_mtd_user(&notifier);
+       return 0;
+ }
+@@ -815,6 +838,7 @@
+ {
+       unregister_mtd_user(&notifier);
+       class_destroy(mtd_class);
++      mtdchar_devfs_exit();
+       unregister_chrdev(MTD_CHAR_MAJOR, "mtd");
+ }
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-dm8000-nand.patch b/packages/linux/linux-dm8000/linux-2.6.12-dm8000-nand.patch
new file mode 100644 (file)
index 0000000..832479b
--- /dev/null
@@ -0,0 +1,249 @@
+Index: stblinux-2.6.12/drivers/mtd/nand/Kconfig
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/nand/Kconfig      2006-10-10 20:27:00.000000000 +0200
++++ stblinux-2.6.12/drivers/mtd/nand/Kconfig   2007-04-25 02:36:25.000000000 +0200
+@@ -199,6 +199,10 @@
+       help
+         Enables access to the Smart Media card interface on the AT91RM9200.
++config MTD_NAND_DM8000
++      bool "DM8000 NAND support"
++      depends on MTD_NAND
++
+ config MTD_NAND_NANDSIM
+       tristate "Support for NAND Flash Simulator"
+       depends on m && MTD_NAND && MTD_PARTITIONS
+Index: stblinux-2.6.12/drivers/mtd/nand/Makefile
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/nand/Makefile     2006-10-10 20:27:00.000000000 +0200
++++ stblinux-2.6.12/drivers/mtd/nand/Makefile  2007-04-25 02:36:25.000000000 +0200
+@@ -16,6 +16,7 @@
+ obj-$(CONFIG_MTD_NAND_AU1550)         += au1550nd.o
+ obj-$(CONFIG_MTD_NAND_PPCHAMELEONEVB) += ppchameleonevb.o
+ obj-$(CONFIG_MTD_NAND_S3C2410)                += s3c2410.o
++obj-$(CONFIG_MTD_NAND_DM8000)     += dm8000.o
+ obj-$(CONFIG_MTD_NAND_DISKONCHIP)     += diskonchip.o
+ obj-$(CONFIG_MTD_NAND_H1900)          += h1910.o
+ obj-$(CONFIG_MTD_NAND_RTC_FROM4)      += rtc_from4.o
+Index: stblinux-2.6.12/drivers/mtd/nand/dm8000.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ stblinux-2.6.12/drivers/mtd/nand/dm8000.c  2007-04-25 16:09:12.000000000 +0200
+@@ -0,0 +1,217 @@
++/*
++ *  drivers/mtd/nand/dm8000.c
++ *
++ *  Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com)
++ *
++ *  Modified for Dreambox DM8000 by Felix Domke <tmbinc@elitedvb.net>
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ *  Overview:
++ *   This is a device driver for the NAND flash device found on the
++ *   DM8000 board.
++ *
++ */
++
++#include <linux/slab.h>
++#include <linux/module.h>
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/nand.h>
++#include <linux/mtd/partitions.h>
++#include <asm/io.h>
++
++static struct mtd_info *dm8000_mtd = NULL;
++/*
++ * Define partitions for flash device
++ */
++const static struct mtd_partition partition_info[] = {
++      {
++              .name   = "complete",
++              .offset = 0,
++              .size   = 256*1024*1024
++      },
++      {
++              .name   = "loader",
++              .offset = 0,
++              .size   = 1024*1024
++      },
++      {
++              .name   = "boot partition",
++              .offset = 1024*1024,
++              .size   = 3*1024*1024
++      },
++      {
++              .name   = "root partition",
++              .offset = 4*1024*1024,
++              .size   = 60*1024*1024
++      },
++      {
++              .name   = "home partition",
++              .offset = 64*1024*1024,
++              .size   = 64*1024*1024
++      },
++      {
++              .name   = "unused partition",
++              .offset = 128*1024*1024,
++              .size   = 120*1024*1024
++      },
++      {
++              .name   = "preset partition",
++              .offset = 248*1024*1024,
++              .size   = 8*1024*1024
++      }
++};
++#define NUM_PARTITIONS 7
++
++/*
++ *    hardware specific access to control-lines
++ *  our hardware logic handles the line according to the addresses.
++ */
++static void dm8000_hwcontrol(struct mtd_info *mtd, int cmd)
++{
++      struct nand_chip *this = mtd->priv;
++
++      switch(cmd){
++
++      case NAND_CTL_SETCLE: this->IO_ADDR_W = (void*)0xBF030000; break; // COMMAND
++      case NAND_CTL_CLRCLE: this->IO_ADDR_W = (void*)0xBF030004; break; // DATA
++
++      case NAND_CTL_SETALE: this->IO_ADDR_W = (void*)0xBF030002; break; // ADDRESS
++      case NAND_CTL_CLRALE: this->IO_ADDR_W = (void*)0xBF030004; break; // DATA
++
++      case NAND_CTL_SETNCE: break; // CE will automatically set on command
++      case NAND_CTL_CLRNCE: *(volatile unsigned char*)0xBF030003 = 0; break; // TERM
++      default:
++              BUG();
++      }
++}
++
++static void dm8000_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
++{
++//    struct nand_chip *this = mtd->priv;
++
++      *(volatile unsigned char*)0xBF030002;
++
++      while (len > 16)
++      {
++              *(long*)buf = *(volatile long*)(0xBF030004);
++              *(long*)(buf+4) = *(volatile long*)(0xBF030004);
++              *(long*)(buf+8) = *(volatile long*)(0xBF030004);
++              *(long*)(buf+12) = *(volatile long*)(0xBF030004);
++              buf += 16;
++              len -= 16;
++      }
++
++      while (len--)
++              *buf++ = *(volatile unsigned char*)(0xBF030004);
++}
++
++static int dm8000_dev_ready(struct mtd_info *mtd)
++{
++      *(volatile unsigned char*)0xBF030002;
++      return 1;
++}
++
++/*
++ * Main initialization routine
++ */
++int __init dm8000_init (void)
++{
++      struct nand_chip *this;
++      unsigned char probe[4];
++      int i, j;
++
++      /* Allocate memory for MTD device structure and private data */
++      dm8000_mtd = kmalloc (sizeof(struct mtd_info) + sizeof (struct nand_chip),
++                              GFP_KERNEL);
++      if (!dm8000_mtd) {
++              printk ("Unable to allocate DM8000 NAND MTD device structure.\n");
++              return -ENOMEM;
++      }
++
++      /* Get pointer to private data */
++      this = (struct nand_chip *) (&dm8000_mtd[1]);
++
++      *(volatile unsigned char*)(0xBF030000) = 0x90;
++      *(volatile unsigned char*)(0xBF030002) = 0;
++      probe[0] = *(volatile unsigned char*)(0xBF030004);
++      probe[1] = *(volatile unsigned char*)(0xBF030004);
++      probe[2] = *(volatile unsigned char*)(0xBF030004);
++      probe[3] = *(volatile unsigned char*)(0xBF030004);
++      *(volatile unsigned char*)(0xBF030003) = 0; // term
++
++      j = jiffies;
++      for (i=0; i<1000*1000/4; ++i)
++              *(volatile unsigned long*)(0xBF030004);
++      printk("%ld kb/s\n", 1000 * HZ / (jiffies-j));
++
++      printk(" - NAND PROBE: %02x %02x %02x %02x\n",
++                      probe[0], probe[1], probe[2], probe[3]);
++
++      /* Initialize structures */
++      memset((char *) dm8000_mtd, 0, sizeof(struct mtd_info));
++      memset((char *) this, 0, sizeof(struct nand_chip));
++
++      /* Link the private data with the MTD structure */
++      dm8000_mtd->priv = this;
++
++      /* Set address of NAND IO lines */
++      this->IO_ADDR_R = (void*)0xBF030004;
++      this->IO_ADDR_W = (void*)0xBF030004;
++
++      /* Set address of hardware control function */
++      this->hwcontrol = dm8000_hwcontrol;
++      this->read_buf = dm8000_nand_read_buf;
++      this->dev_ready = 0; // don't use dm8000_dev_ready
++      /* 15 us command delay time */
++      this->chip_delay = 15;
++      this->eccmode = NAND_ECC_SOFT;
++
++      /* Scan to find existence of the device */
++      if (nand_scan (dm8000_mtd, 1)) {
++              kfree (dm8000_mtd);
++              return -ENXIO;
++      }
++
++      /* Allocate memory for internal data buffer */
++      this->data_buf = kmalloc (sizeof(u_char) * (dm8000_mtd->oobblock + dm8000_mtd->oobsize), GFP_KERNEL);
++      if (!this->data_buf) {
++              printk ("Unable to allocate NAND data buffer for Dreambox.\n");
++              kfree (dm8000_mtd);
++              return -ENOMEM;
++      }
++
++      /* Register the partitions */
++      add_mtd_partitions(dm8000_mtd, partition_info, NUM_PARTITIONS);
++
++      /* Return happy */
++      return 0;
++}
++module_init(dm8000_init);
++
++/*
++ * Clean up routine
++ */
++#ifdef MODULE
++static void __exit dm8000_cleanup (void)
++{
++      struct nand_chip *this = (struct nand_chip *) &dm8000_mtd[1];
++
++      /* Unregister the device */
++      del_mtd_device (dm8000_mtd);
++
++      /* Free internal data buffer */
++      kfree (this->data_buf);
++
++      /* Free the MTD device structure */
++      kfree (dm8000_mtd);
++}
++module_exit(dm8000_cleanup);
++#endif
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Felix Domke <tmbinc@elitedvb.net>");
++MODULE_DESCRIPTION("Dream-Multimedia DM8000 NAND flash board glue");
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-dream-misc.patch b/packages/linux/linux-dm8000/linux-2.6.12-dream-misc.patch
new file mode 100644 (file)
index 0000000..bf572da
--- /dev/null
@@ -0,0 +1,87 @@
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/reset.c 2.6.12-5.0-patched/arch/mips/kernel/reset.c
+--- 2.6.12-5.0-org/arch/mips/kernel/reset.c    2007-07-26 00:51:08.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/reset.c        2007-12-11 12:34:52.000000000 +0100
+@@ -27,6 +27,7 @@
+ }
+ EXPORT_SYMBOL(machine_restart);
++EXPORT_SYMBOL(_machine_restart);
+ void machine_halt(void)
+ {
+@@ -34,6 +35,7 @@
+ }
+ EXPORT_SYMBOL(machine_halt);
++EXPORT_SYMBOL(_machine_halt);
+ void machine_power_off(void)
+ {
+@@ -41,3 +43,4 @@
+ }
+ EXPORT_SYMBOL(machine_power_off);
++EXPORT_SYMBOL(_machine_power_off);
+diff -Naur 2.6.12-5.0-org/drivers/video/Kconfig 2.6.12-5.0-patched/drivers/video/Kconfig
+--- 2.6.12-5.0-org/drivers/video/Kconfig       2007-07-26 00:54:49.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/video/Kconfig   2007-12-11 12:34:52.000000000 +0100
+@@ -39,7 +39,7 @@
+         device-aware may cause unexpected results. If unsure, say N.
+ config FB_CFB_FILLRECT
+-      tristate
++      tristate "FB_CFB_FILLRECT"
+       depends on FB
+       default n
+       ---help---
+@@ -48,7 +48,7 @@
+         (accelerated) version.
+ config FB_CFB_COPYAREA
+-      tristate
++      tristate "FB_CFB_COPYAREA"
+       depends on FB
+       default n
+       ---help---
+@@ -57,7 +57,7 @@
+         version.
+ config FB_CFB_IMAGEBLIT
+-      tristate
++      tristate "FB_CFB_IMAGEBLIT"
+       depends on FB
+       default n
+       ---help---
+@@ -66,7 +66,7 @@
+         (accelerated) version.
+ config FB_SOFT_CURSOR
+-      tristate
++      tristate "FB_SOFT_CURSOR"
+       depends on FB
+       default n
+       ---help---
+diff -Naur 2.6.12-5.0-org/drivers/char/keyboard.c 2.6.12-5.0-patched/drivers/char/keyboard.c
+--- 2.6.12-5.0-org/drivers/char/keyboard.c     2007-07-26 00:53:29.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/char/keyboard.c 2007-12-11 12:34:52.000000000 +0100
+@@ -1186,6 +1186,9 @@
+       for (i = KEY_RESERVED; i < BTN_MISC; i++)
+               if (test_bit(i, dev->keybit)) break;
++      if ( test_bit(EV_NO_CONSOLE, dev->evbit) )
++              return NULL;
++
+       if ((i == BTN_MISC) && !test_bit(EV_SND, dev->evbit)) 
+               return NULL;
+diff -Naur 2.6.12-5.0-org/include/linux/input.h 2.6.12-5.0-patched/include/linux/input.h
+--- 2.6.12-5.0-org/include/linux/input.h       2007-07-26 00:56:59.000000000 +0200
++++ 2.6.12-5.0-patched/include/linux/input.h   2007-12-11 12:34:52.000000000 +0100
+@@ -92,6 +92,7 @@
+ #define EV_FF                 0x15
+ #define EV_PWR                        0x16
+ #define EV_FF_STATUS          0x17
++#define EV_NO_CONSOLE         0x1e
+ #define EV_MAX                        0x1f
+ /*
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-dream-temp.patch b/packages/linux/linux-dm8000/linux-2.6.12-dream-temp.patch
new file mode 100644 (file)
index 0000000..615d135
--- /dev/null
@@ -0,0 +1,141 @@
+Index: stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/kernel/vmlinux.lds.S        2008-01-16 23:52:20.000000000 +0100
++++ stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S     2008-01-16 23:52:22.000000000 +0100
+@@ -145,8 +145,8 @@
+     . = ALIGN(4096);
+   __initramfs_start = .;
+   .init.ramfs : { *(.init.ramfs) }
+-    . = ALIGN(4096);
+   __initramfs_end = .;
++    . = ALIGN(4096);
+   __bss_start = .;            /* BSS */
+   .sbss      : {
+Index: stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/net/brcmint7038/bcmemac.c     2008-01-16 23:52:20.000000000 +0100
++++ stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c  2008-01-16 23:52:13.000000000 +0100
+@@ -2978,99 +2978,10 @@
+ static void bcmemac_getMacAddr(struct net_device* dev)
+ {
+-      uint8 flash_eaddr[ETH_ALEN];
+-      void *virtAddr;
+-      uint16 word;
+-      int i;
+-
+-#if !defined( CONFIG_BRCM_PCI_SLAVE) && !defined( CONFIG_MTD_BRCMNAND )
+-#if 1
+-      virtAddr = (void*)FLASH_MACADDR_ADDR;
+-#else
+-      //virtAddr = (void*) 0xBDFFF824; /* BCM97110 in-flash Ethernet MAC address */
+-      virtAddr = (void*) KSEG1ADDR(getPhysFlashBase() + FLASH_MACADDR_OFFSET); 
+-#endif
+-
+-          /* It is a common problem that the flash and/or Chip Select are
+-       * not initialized properly, so leave this printk on
+-       */
+-      printk("%s: Reading MAC address from %08lX, FLASH_BASE=%08lx\n", 
+-              dev->name,(uint32) virtAddr, (unsigned long) 0xA0000000L|getPhysFlashBase());
+-
+-      word=0;
+-      word=readw(virtAddr);
+-      flash_eaddr[0]=(uint8) (word & 0x00FF);
+-      flash_eaddr[1]=(uint8) ((word & 0xFF00) >> 8);
+-      word=readw(virtAddr+2);
+-      flash_eaddr[2]=(uint8) (word & 0x00FF);
+-      flash_eaddr[3]=(uint8) ((word & 0xFF00) >> 8);
+-      word=readw(virtAddr+4);
+-      flash_eaddr[4]=(uint8) (word & 0x00FF);
+-      flash_eaddr[5]=(uint8) ((word & 0xFF00) >> 8);
+-
+-      printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from addr %lX\n",
+-              dev->name,
+-              flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+-              flash_eaddr[3],flash_eaddr[4],flash_eaddr[5],
+-              (uint32) virtAddr);
+-
+-#elif defined( CONFIG_MTD_BRCMNAND )
+-{
+-      extern int gNumHwAddrs;
+-      extern unsigned char* gHwAddrs[];
+-      
+-      if (gNumHwAddrs >= 1) {
+-              for (i=0; i < 6; i++) {
+-                      flash_eaddr[i] = (uint8) gHwAddrs[0][i];
+-              }
+-
+-              printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from bootloader\n",
+-                      dev->name,
+-                      flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+-                      flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]
+-                      );
+-      }
+-      else {
+-              printk(KERN_ERR "%s: No MAC addresses defined\n", __FUNCTION__);
+-      }
+-}
++              /* we rip the address set by the bootloader */
++      unsigned long addr[2] = { be32_to_cpu(*(unsigned int*)0xB008005C), be32_to_cpu(*(unsigned int*)0xB0080058)};
+-#else 
+-/* PCI slave cannot access the EBI bus, 
+- * and for now, same for NAND flash, until CFE supports it
+- */
+-/* Use hard coded value if Flash not properly initialized */
+-      //if ((*flash_eaddr & 0xff) == 0xff)
+-      {
+-//#ifdef USE_HARDCODED_MACADDR
+-              flash_eaddr[0] = 0x00;
+-              flash_eaddr[1] = 0xc0;
+-              flash_eaddr[2] = 0xa8;
+-              flash_eaddr[3] = 0x74;
+-              flash_eaddr[4] = 0x3b;
+-              flash_eaddr[5] = 0x51;
+-              printk("%s: Default MAC address %02X:%02X:%02X:%02X:%02X:%02X used\n",
+-                      dev->name,
+-                      flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+-                      flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]);
+-//#else
+-//                    printk("%s: Cannot read EMAC address from flash.  Please run EVAL codes\n", CARDNAME);
+-//                    return -ENODEV;
+-//#endif
+-      }
+-#endif
+-
+-        /* fill in the MAC address */
+-        for (i = 0; i < 6; i++) {
+-            dev->dev_addr[i] = flash_eaddr[i];
+-        }
+-
+-        /* print the Ethenet address */
+-        printk("%s: MAC Address: ", dev->name);
+-        for (i = 0; i < 5; i++) {
+-            printk("%2.2X:", dev->dev_addr[i]);
+-        }
+-        printk("%2.2X\n", dev->dev_addr[i]);
++      memcpy(dev->dev_addr, ((unsigned char*)addr)+2, 6);
+ }
+Index: stblinux-2.6.12/arch/mips/brcmstb/common/setup.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/setup.c      2008-01-16 23:53:24.000000000 +0100
++++ stblinux-2.6.12/arch/mips/brcmstb/common/setup.c   2008-01-16 23:54:06.000000000 +0100
+@@ -136,13 +136,13 @@
+ static void brcm_machine_halt(void)
+ {
+-      printk("Broadcom eval board halted.\n");
++      printk("Halted.\n");
+       while (1);
+ }
+ static void brcm_machine_power_off(void)
+ {
+-      printk("Broadcom eval board halted. Please turn off power.\n");
++      printk("Halted. Please turn off power.\n");
+       while (1);
+ }
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-dvbapi-support-more-demux.patch b/packages/linux/linux-dm8000/linux-2.6.12-dvbapi-support-more-demux.patch
new file mode 100644 (file)
index 0000000..242f18d
--- /dev/null
@@ -0,0 +1,16 @@
+diff -Naur stblinux-2.6.12-org/drivers/media/dvb/dvb-core/dvbdev.c stblinux-2.6.12/drivers/media/dvb/dvb-core/dvbdev.c
+--- stblinux-2.6.12-org/drivers/media/dvb/dvb-core/dvbdev.c    2008-07-17 23:14:00.000000000 +0200
++++ stblinux-2.6.12/drivers/media/dvb/dvb-core/dvbdev.c        2008-07-17 22:34:33.000000000 +0200
+@@ -52,9 +52,9 @@
+ };
+ #define DVB_MAX_ADAPTERS      8
+-#define DVB_MAX_IDS           4
+-#define nums2minor(num,type,id)       ((num << 6) | (id << 4) | type)
+-#define MAX_DVB_MINORS                (DVB_MAX_ADAPTERS*64)
++#define DVB_MAX_IDS           8
++#define nums2minor(num,type,id)       ((num << 7) | (id << 4) | type)
++#define MAX_DVB_MINORS                (DVB_MAX_ADAPTERS*128)
+ static struct class *dvb_class;
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-fixup-memsize.patch b/packages/linux/linux-dm8000/linux-2.6.12-fixup-memsize.patch
new file mode 100644 (file)
index 0000000..4564f91
--- /dev/null
@@ -0,0 +1,59 @@
+Index: stblinux-2.6.12/arch/mips/kernel/setup.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/kernel/setup.c      2008-04-15 02:13:42.000000000 +0200
++++ stblinux-2.6.12/arch/mips/kernel/setup.c   2008-04-15 02:25:13.000000000 +0200
+@@ -472,11 +472,29 @@
+  */
+ unsigned long get_RAM_size(void);
++extern int *_prom_envp;
++#define prom_envp(index) ((char *)(long)_prom_envp[(index)])
++static char *prom_getenv(char *envname)
++{
++      int i, index=0;
++
++      i = strlen(envname);
++
++      while (prom_envp(index)) {
++              if ((strncmp(envname, prom_envp(index), i) == 0) && (prom_envp(index)[i] == '='))
++                      return(prom_envp(index) + i + 1);
++              index++;
++      }
++
++      return NULL;
++}
++
+ static inline void brcm_default_boot_mem(void)
+ {
+       int ramSizeMB = get_RAM_size() >> 20;
+       int size;
+       char msg[40];
++      const char *memsize_str;
+       
+       if (ramSizeMB <= 32) 
+       {
+@@ -502,11 +520,20 @@
+               size = 32;
+ #endif
+       }
+-      sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n", 
+-                                      size);
+-      uart_puts(msg);
+-        brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
++      memsize_str = prom_getenv("memsize");
++      if (memsize_str)
++      {
++              int memsize = simple_strtol(memsize_str, NULL, 0);
++              brcm_insert_ram_node(0, memsize<<20, BOOT_MEM_RAM, &brcm_bm);
++              printk("---> memsize from bootloader: %d\n", memsize);
++      } else
++      {
++              sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n", 
++                                              size);
++              uart_puts(msg);
++              brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
++      }
+ }
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-fixup-prom-args.patch b/packages/linux/linux-dm8000/linux-2.6.12-fixup-prom-args.patch
new file mode 100644 (file)
index 0000000..4020fc9
--- /dev/null
@@ -0,0 +1,65 @@
+Index: stblinux-2.6.12/arch/mips/brcmstb/common/prom.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/prom.c       2008-01-16 00:14:31.000000000 +0100
++++ stblinux-2.6.12/arch/mips/brcmstb/common/prom.c    2008-01-16 00:23:08.000000000 +0100
+@@ -216,6 +216,29 @@
+ }
++int prom_argc;
++int *_prom_argv, *_prom_envp;
++
++void  __init prom_init_cmdline(void)
++{
++      char *cp;
++      int actr;
++
++      actr = 1; /* Always ignore argv[0] */
++
++      cp = &(arcs_cmdline[0]);
++      while(actr < prom_argc) {
++              strcpy(cp, _prom_argv[actr]);
++              cp += strlen(_prom_argv[actr]);
++              *cp++ = ' ';
++              actr++;
++      }
++      if (cp != &(arcs_cmdline[0])) {
++              /* get rid of trailing space */
++              --cp;
++              *cp = '\0';
++      }
++}
+ void __init prom_init(void)
+ {
+@@ -731,23 +754,14 @@
+               uart_puts("Default command line = \n");
+               uart_puts(CONFIG_CMDLINE);
+               uart_puts("\n");
+-              p = &arcs_cmdline[0];
+-              while (p != NULL && *p != '\0') {
+-                      if (!isspace(*p))
+-                              break;
+-                      p++;
+-              }
+-              if (p == NULL || *p == '\0') {
+-                      uart_puts("Defaulting to boot from HD\n");
+-                      /* Default is to boot from HD */
+-                      strcpy(arcs_cmdline,
+-                              "root=/dev/hda1" DEFAULT_KARGS);
+-              }
+-              else if (appendConsoleNeeded) {
+-                      /* Make sure that the boot params specify a console */
+-                      appendConsoleArg(arcs_cmdline);
+-              }
+               
++              prom_argc = fw_arg0;
++              _prom_argv = (int *) fw_arg1;
++              _prom_envp = (int *) fw_arg2;
++              printk("%d %p %p\n", prom_argc, _prom_argv, _prom_envp);
++              prom_init_cmdline();
++              
++
+ #else /* No CONFIG_CMDLINE, and not Initrd */
+       /* Default is to boot from HD */
+               strcpy(arcs_cmdline,
diff --git a/packages/linux/linux-dm8000/linux-2.6.12-set-custom-extraversion.patch b/packages/linux/linux-dm8000/linux-2.6.12-set-custom-extraversion.patch
new file mode 100644 (file)
index 0000000..2a6e14f
--- /dev/null
@@ -0,0 +1,13 @@
+Index: stblinux-2.6.12/Makefile
+===================================================================
+--- stblinux-2.6.12.orig/Makefile      2007-12-17 20:09:55.000000000 +0100
++++ stblinux-2.6.12/Makefile   2007-12-17 22:37:51.000000000 +0100
+@@ -2,7 +2,7 @@
+ PATCHLEVEL = 6
+ SUBLEVEL = 12
+ # STABLE_VERSION = .2
+-EXTRAVERSION =-5.1-brcmstb
++EXTRAVERSION =-5.1-brcmstb-dm8000
+ NAME=Woozy Numbat
+ # *DOCUMENTATION*
diff --git a/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-fadvise.patch b/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-fadvise.patch
new file mode 100644 (file)
index 0000000..430f32c
--- /dev/null
@@ -0,0 +1,29 @@
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/syscall.c 2.6.12-5.0-patched/arch/mips/kernel/syscall.c
+--- 2.6.12-5.0-org/arch/mips/kernel/syscall.c  2007-07-26 00:51:09.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/syscall.c      2007-12-11 12:34:52.000000000 +0100
+@@ -405,6 +405,13 @@
+       }
+ }
++asmlinkage long mips_fadvise64(int fd,
++                  unsigned int low_off, unsigned int high_off,
++                  unsigned int len, int advice, unsigned int dummy)
++{
++      return sys_fadvise64_64(fd, (((u64)high_off) << 32) | low_off, (u64)len, advice);
++}
++
+ /*
+  * No implemented yet ...
+  */
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S
+--- 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S      2007-07-26 00:51:08.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S  2007-12-11 12:34:52.000000000 +0100
+@@ -594,7 +594,7 @@
+       sys     sys_remap_file_pages    5
+       sys     sys_set_tid_address     1
+       sys     sys_restart_syscall     0
+-      sys     sys_fadvise64_64        7
++      sys     mips_fadvise64          7
+       sys     sys_statfs64            3       /* 4255 */
+       sys     sys_fstatfs64           2
+       sys     sys_timer_create        3
diff --git a/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-futex.patch b/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-futex.patch
new file mode 100644 (file)
index 0000000..cb0bfe2
--- /dev/null
@@ -0,0 +1,368 @@
+diff -Naur 2.6.12-5.0-org/include/asm-mips/futex.h 2.6.12-5.0-patched/include/asm-mips/futex.h
+--- 2.6.12-5.0-org/include/asm-mips/futex.h    1970-01-01 01:00:00.000000000 +0100
++++ 2.6.12-5.0-patched/include/asm-mips/futex.h        2007-12-11 12:34:52.000000000 +0100
+@@ -0,0 +1,134 @@
++#ifndef _ASM_FUTEX_H
++#define _ASM_FUTEX_H
++
++#ifdef __KERNEL__
++
++#include <linux/config.h>
++#include <linux/futex.h>
++#include <asm/errno.h>
++#include <asm/uaccess.h>
++#include <asm/war.h>
++
++#ifdef CONFIG_SMP
++#define __FUTEX_SMP_SYNC "    sync                                    \n"
++#else
++#define __FUTEX_SMP_SYNC
++#endif
++
++#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)            \
++{                                                                     \
++      if (cpu_has_llsc && R10000_LLSC_WAR) {                          \
++              __asm__ __volatile__(                                   \
++              "       .set    push                            \n"     \
++              "       .set    noat                            \n"     \
++              "       .set    mips3                           \n"     \
++              "1:     ll      %1, %4  # __futex_atomic_op     \n"     \
++              "       .set    mips0                           \n"     \
++              "       " insn  "                               \n"     \
++              "       .set    mips3                           \n"     \
++              "2:     sc      $1, %2                          \n"     \
++              "       beqzl   $1, 1b                          \n"     \
++              __FUTEX_SMP_SYNC                                        \
++              "3:                                             \n"     \
++              "       .set    pop                             \n"     \
++              "       .set    mips0                           \n"     \
++              "       .section .fixup,\"ax\"                  \n"     \
++              "4:     li      %0, %6                          \n"     \
++              "       j       2b                              \n"     \
++              "       .previous                               \n"     \
++              "       .section __ex_table,\"a\"               \n"     \
++              "       "__UA_ADDR "\t1b, 4b                    \n"     \
++              "       "__UA_ADDR "\t2b, 4b                    \n"     \
++              "       .previous                               \n"     \
++              : "=r" (ret), "=&r" (oldval), "=R" (*uaddr)             \
++              : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT)    \
++              : "memory");                                            \
++      } else if (cpu_has_llsc) {                                      \
++              __asm__ __volatile__(                                   \
++              "       .set    push                            \n"     \
++              "       .set    noat                            \n"     \
++              "       .set    mips3                           \n"     \
++              "1:     ll      %1, %4  # __futex_atomic_op     \n"     \
++              "       .set    mips0                           \n"     \
++              "       " insn  "                               \n"     \
++              "       .set    mips3                           \n"     \
++              "2:     sc      $1, %2                          \n"     \
++              "       beqz    $1, 1b                          \n"     \
++              __FUTEX_SMP_SYNC                                        \
++              "3:                                             \n"     \
++              "       .set    pop                             \n"     \
++              "       .set    mips0                           \n"     \
++              "       .section .fixup,\"ax\"                  \n"     \
++              "4:     li      %0, %6                          \n"     \
++              "       j       2b                              \n"     \
++              "       .previous                               \n"     \
++              "       .section __ex_table,\"a\"               \n"     \
++              "       "__UA_ADDR "\t1b, 4b                    \n"     \
++              "       "__UA_ADDR "\t2b, 4b                    \n"     \
++              "       .previous                               \n"     \
++              : "=r" (ret), "=&r" (oldval), "=R" (*uaddr)             \
++              : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT)    \
++              : "memory");                                            \
++      } else                                                          \
++              ret = -ENOSYS;                                          \
++}
++
++static inline int
++futex_atomic_op_inuser (int encoded_op, int __user *uaddr)
++{
++      int op = (encoded_op >> 28) & 7;
++      int cmp = (encoded_op >> 24) & 15;
++      int oparg = (encoded_op << 8) >> 20;
++      int cmparg = (encoded_op << 20) >> 20;
++      int oldval = 0, ret;
++      if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
++              oparg = 1 << oparg;
++
++      if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int)))
++              return -EFAULT;
++
++      inc_preempt_count();
++
++      switch (op) {
++      case FUTEX_OP_SET:
++              __futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg);
++              break;
++
++      case FUTEX_OP_ADD:
++              __futex_atomic_op("addu $1, %1, %z5",
++                                ret, oldval, uaddr, oparg);
++              break;
++      case FUTEX_OP_OR:
++              __futex_atomic_op("or   $1, %1, %z5",
++                                ret, oldval, uaddr, oparg);
++              break;
++      case FUTEX_OP_ANDN:
++              __futex_atomic_op("and  $1, %1, %z5",
++                                ret, oldval, uaddr, ~oparg);
++              break;
++      case FUTEX_OP_XOR:
++              __futex_atomic_op("xor  $1, %1, %z5",
++                                ret, oldval, uaddr, oparg);
++              break;
++      default:
++              ret = -ENOSYS;
++      }
++
++      dec_preempt_count();
++
++      if (!ret) {
++              switch (cmp) {
++              case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break;
++              case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break;
++              case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break;
++              case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break;
++              case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break;
++              case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break;
++              default: ret = -ENOSYS;
++              }
++      }
++      return ret;
++}
++
++#endif
++#endif
+diff -Naur 2.6.12-5.0-org/include/linux/futex.h 2.6.12-5.0-patched/include/linux/futex.h
+--- 2.6.12-5.0-org/include/linux/futex.h       2007-07-26 00:57:03.000000000 +0200
++++ 2.6.12-5.0-patched/include/linux/futex.h   2007-12-11 12:34:52.000000000 +0100
+@@ -4,14 +4,40 @@
+ /* Second argument to futex syscall */
+-#define FUTEX_WAIT (0)
+-#define FUTEX_WAKE (1)
+-#define FUTEX_FD (2)
+-#define FUTEX_REQUEUE (3)
+-#define FUTEX_CMP_REQUEUE (4)
++#define FUTEX_WAIT            0
++#define FUTEX_WAKE            1
++#define FUTEX_FD              2
++#define FUTEX_REQUEUE         3
++#define FUTEX_CMP_REQUEUE     4
++#define FUTEX_WAKE_OP         5
+ long do_futex(unsigned long uaddr, int op, int val,
+               unsigned long timeout, unsigned long uaddr2, int val2,
+               int val3);
++#define FUTEX_OP_SET          0       /* *(int *)UADDR2 = OPARG; */
++#define FUTEX_OP_ADD          1       /* *(int *)UADDR2 += OPARG; */
++#define FUTEX_OP_OR           2       /* *(int *)UADDR2 |= OPARG; */
++#define FUTEX_OP_ANDN         3       /* *(int *)UADDR2 &= ~OPARG; */
++#define FUTEX_OP_XOR          4       /* *(int *)UADDR2 ^= OPARG; */
++
++#define FUTEX_OP_OPARG_SHIFT  8       /* Use (1 << OPARG) instead of OPARG.  */
++
++#define FUTEX_OP_CMP_EQ               0       /* if (oldval == CMPARG) wake */
++#define FUTEX_OP_CMP_NE               1       /* if (oldval != CMPARG) wake */
++#define FUTEX_OP_CMP_LT               2       /* if (oldval < CMPARG) wake */
++#define FUTEX_OP_CMP_LE               3       /* if (oldval <= CMPARG) wake */
++#define FUTEX_OP_CMP_GT               4       /* if (oldval > CMPARG) wake */
++#define FUTEX_OP_CMP_GE               5       /* if (oldval >= CMPARG) wake */
++
++/* FUTEX_WAKE_OP will perform atomically
++   int oldval = *(int *)UADDR2;
++   *(int *)UADDR2 = oldval OP OPARG;
++   if (oldval CMP CMPARG)
++     wake UADDR2;  */
++
++#define FUTEX_OP(op, oparg, cmp, cmparg) \
++  (((op & 0xf) << 28) | ((cmp & 0xf) << 24)           \
++   | ((oparg & 0xfff) << 12) | (cmparg & 0xfff))
++
+ #endif
+diff -Naur 2.6.12-5.0-org/kernel/futex.c 2.6.12-5.0-patched/kernel/futex.c
+--- 2.6.12-5.0-org/kernel/futex.c      2007-07-26 00:57:20.000000000 +0200
++++ 2.6.12-5.0-patched/kernel/futex.c  2007-12-11 12:34:52.000000000 +0100
+@@ -40,6 +40,7 @@
+ #include <linux/pagemap.h>
+ #include <linux/syscalls.h>
+ #include <linux/signal.h>
++#include <asm/futex.h>
+ #define FUTEX_HASHBITS (CONFIG_BASE_SMALL ? 4 : 8)
+@@ -201,22 +202,6 @@
+        * for a rare case, so we simply fetch the page.
+        */
+-      /*
+-       * Do a quick atomic lookup first - this is the fastpath.
+-       */
+-      spin_lock(&current->mm->page_table_lock);
+-      page = follow_page(mm, uaddr, 0);
+-      if (likely(page != NULL)) {
+-              key->shared.pgoff =
+-                      page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
+-              spin_unlock(&current->mm->page_table_lock);
+-              return 0;
+-      }
+-      spin_unlock(&current->mm->page_table_lock);
+-
+-      /*
+-       * Do it the general way.
+-       */
+       err = get_user_pages(current, mm, uaddr, 1, 0, 0, &page, NULL);
+       if (err >= 0) {
+               key->shared.pgoff =
+@@ -327,6 +312,123 @@
+ }
+ /*
++ * Wake up all waiters hashed on the physical page that is mapped
++ * to this virtual address:
++ */
++static int futex_wake_op(unsigned long uaddr1, unsigned long uaddr2, int nr_wake, int nr_wake2, int op)
++{
++      union futex_key key1, key2;
++      struct futex_hash_bucket *bh1, *bh2;
++      struct list_head *head;
++      struct futex_q *this, *next;
++      int ret, op_ret, attempt = 0;
++
++retryfull:
++      down_read(&current->mm->mmap_sem);
++
++      ret = get_futex_key(uaddr1, &key1);
++      if (unlikely(ret != 0))
++              goto out;
++      ret = get_futex_key(uaddr2, &key2);
++      if (unlikely(ret != 0))
++              goto out;
++
++      bh1 = hash_futex(&key1);
++      bh2 = hash_futex(&key2);
++
++retry:
++      if (bh1 < bh2)
++              spin_lock(&bh1->lock);
++      spin_lock(&bh2->lock);
++      if (bh1 > bh2)
++              spin_lock(&bh1->lock);
++
++      op_ret = futex_atomic_op_inuser(op, (int __user *)uaddr2);
++      if (unlikely(op_ret < 0)) {
++              int dummy;
++
++              spin_unlock(&bh1->lock);
++              if (bh1 != bh2)
++                      spin_unlock(&bh2->lock);
++
++              if (unlikely(op_ret != -EFAULT)) {
++                      ret = op_ret;
++                      goto out;
++              }
++
++              /* futex_atomic_op_inuser needs to both read and write
++               * *(int __user *)uaddr2, but we can't modify it
++               * non-atomically.  Therefore, if get_user below is not
++               * enough, we need to handle the fault ourselves, while
++               * still holding the mmap_sem.  */
++              if (attempt++) {
++                      struct vm_area_struct * vma;
++                      struct mm_struct *mm = current->mm;
++
++                      ret = -EFAULT;
++                      if (attempt >= 2 ||
++                          !(vma = find_vma(mm, uaddr2)) ||
++                          vma->vm_start > uaddr2 ||
++                          !(vma->vm_flags & VM_WRITE))
++                              goto out;
++
++                      switch (handle_mm_fault(mm, vma, uaddr2, 1)) {
++                      case VM_FAULT_MINOR:
++                              current->min_flt++;
++                              break;
++                      case VM_FAULT_MAJOR:
++                              current->maj_flt++;
++                              break;
++                      default:
++                              goto out;
++                      }
++                      goto retry;
++              }
++
++              /* If we would have faulted, release mmap_sem,
++               * fault it in and start all over again.  */
++              up_read(&current->mm->mmap_sem);
++
++              ret = get_user(dummy, (int __user *)uaddr2);
++              if (ret)
++                      return ret;
++
++              goto retryfull;
++      }
++
++      head = &bh1->chain;
++
++      list_for_each_entry_safe(this, next, head, list) {
++              if (match_futex (&this->key, &key1)) {
++                      wake_futex(this);
++                      if (++ret >= nr_wake)
++                              break;
++              }
++      }
++
++      if (op_ret > 0) {
++              head = &bh2->chain;
++
++              op_ret = 0;
++              list_for_each_entry_safe(this, next, head, list) {
++                      if (match_futex (&this->key, &key2)) {
++                              wake_futex(this);
++                              if (++op_ret >= nr_wake2)
++                                      break;
++                      }
++              }
++              ret += op_ret;
++      }
++
++      spin_unlock(&bh1->lock);
++      if (bh1 != bh2)
++              spin_unlock(&bh2->lock);
++out:
++      up_read(&current->mm->mmap_sem);
++      return ret;
++}
++
++/*
+  * Requeue all waiters hashed on one physical page to another
+  * physical page.
+  */
+@@ -740,6 +842,9 @@
+       case FUTEX_CMP_REQUEUE:
+               ret = futex_requeue(uaddr, uaddr2, val, val2, &val3);
+               break;
++      case FUTEX_WAKE_OP:
++              ret = futex_wake_op(uaddr, uaddr2, val, val2, val3);
++              break;
+       default:
+               ret = -ENOSYS;
+       }
+@@ -755,9 +860,11 @@
+       unsigned long timeout = MAX_SCHEDULE_TIMEOUT;
+       int val2 = 0;
+-      if ((op == FUTEX_WAIT) && utime) {
++      if (utime && (op == FUTEX_WAIT)) {
+               if (copy_from_user(&t, utime, sizeof(t)) != 0)
+                       return -EFAULT;
++              if (!timespec_valid(&t))
++                      return -EINVAL;
+               timeout = timespec_to_jiffies(&t) + 1;
+       }
+       /*
diff --git a/packages/linux/linux-dm8000/linuxmips-2.6.12-gcc4-compile-fix.patch b/packages/linux/linux-dm8000/linuxmips-2.6.12-gcc4-compile-fix.patch
new file mode 100644 (file)
index 0000000..c1dc961
--- /dev/null
@@ -0,0 +1,91 @@
+diff -Naur 2.6.12-5.0-org/include/asm-mips/uaccess.h 2.6.12-5.0-patched/include/asm-mips/uaccess.h
+--- 2.6.12-5.0-org/include/asm-mips/uaccess.h  2007-07-26 00:56:08.000000000 +0200
++++ 2.6.12-5.0-patched/include/asm-mips/uaccess.h      2007-12-11 12:34:52.000000000 +0100
+@@ -234,39 +234,72 @@
+ #define __get_user_nocheck(x,ptr,size)                                        \
+ ({                                                                    \
+-      __typeof(*(ptr)) __gu_val =  (__typeof(*(ptr))) 0;              \
+       long __gu_err = 0;                                              \
+-                                                                      \
+       might_sleep();                                                  \
+       switch (size) {                                                 \
+-      case 1: __get_user_asm("lb", ptr); break;                       \
+-      case 2: __get_user_asm("lh", ptr); break;                       \
+-      case 4: __get_user_asm("lw", ptr); break;                       \
+-      case 8: __GET_USER_DW(ptr); break;                              \
++      case 1: {                                                       \
++              s8 __gu_val =  (s8) 0;                                  \
++              __get_user_asm("lb", ptr);                              \
++              (x) = (__typeof__(*(ptr))) __gu_val;                    \
++              break;                                                  \
++              }                                                       \
++      case 2: {                                                       \
++              s16 __gu_val =  (s16) 0;                                \
++              __get_user_asm("lh", ptr);                              \
++              (x) = (__typeof__(*(ptr))) __gu_val;                    \
++              break;                                                  \
++              }                                                       \
++      case 4: {                                                       \
++              s32 __gu_val = (s32) 0;                                 \
++              __get_user_asm("lw", ptr);                              \
++              (x) = (__typeof__(*(ptr))) __gu_val;                    \
++              break;                                                  \
++              }                                                       \
++      case 8: {                                                       \
++              s64 __gu_val = (s64) 0;                                 \
++              __GET_USER_DW(ptr);                                     \
++              (x) = (__typeof__(*(ptr))) __gu_val;                    \
++              break;                                                  \
++              }                                                       \
+       default: __get_user_unknown(); break;                           \
+       }                                                               \
+-      (x) = (__typeof__(*(ptr))) __gu_val;                            \
+       __gu_err;                                                       \
+ })
+ #define __get_user_check(x,ptr,size)                                  \
+ ({                                                                    \
+       const __typeof__(*(ptr)) __user * __gu_addr = (ptr);            \
+-      __typeof__(*(ptr)) __gu_val = 0;                                \
+       long __gu_err = -EFAULT;                                        \
+-                                                                      \
+       might_sleep();                                                  \
+-                                                                      \
+       if (likely(access_ok(VERIFY_READ,  __gu_addr, size))) {         \
+               switch (size) {                                         \
+-              case 1: __get_user_asm("lb", __gu_addr); break;         \
+-              case 2: __get_user_asm("lh", __gu_addr); break;         \
+-              case 4: __get_user_asm("lw", __gu_addr); break;         \
+-              case 8: __GET_USER_DW(__gu_addr); break;                \
++              case 1: {                                                       \
++                      s8 __gu_val =  (s8) 0;                                  \
++                      __get_user_asm("lb", ptr);                              \
++                      (x) = (__typeof__(*(ptr))) __gu_val;                    \
++                      break;                                                  \
++                      }                                                       \
++              case 2: {                                                       \
++                      s16 __gu_val =  (s16) 0;                                \
++                      __get_user_asm("lh", ptr);                              \
++                      (x) = (__typeof__(*(ptr))) __gu_val;                    \
++                      break;                                                  \
++                      }                                                       \
++              case 4: {                                                       \
++                      s32 __gu_val = (s32) 0;                                 \
++                      __get_user_asm("lw", ptr);                              \
++                      (x) = (__typeof__(*(ptr))) __gu_val;                    \
++                      break;                                                  \
++                      }                                                       \
++              case 8: {                                                       \
++                      s64 __gu_val = (s64) 0;                                 \
++                      __GET_USER_DW(ptr);                                     \
++                      (x) = (__typeof__(*(ptr))) __gu_val;                    \
++                      break;                                                  \
++              }                                                       \
+               default: __get_user_unknown(); break;                   \
+               }                                                       \
+       }                                                               \
+-      (x) = (__typeof__(*(ptr))) __gu_val;                            \
+       __gu_err;                                                       \
+ })
diff --git a/packages/linux/linux-dm8000/linuxmips-2.6.12-gdb-fix.patch b/packages/linux/linux-dm8000/linuxmips-2.6.12-gdb-fix.patch
new file mode 100644 (file)
index 0000000..d70e2de
--- /dev/null
@@ -0,0 +1,22 @@
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S
+--- 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S  2007-07-26 00:51:07.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S      2007-12-11 12:34:52.000000000 +0100
+@@ -52,12 +52,14 @@
+               /*
+                * Called from user mode, go somewhere else.
+                */
+-              lui     k1, %hi(saved_vectors)
+               mfc0    k0, CP0_CAUSE
+               andi    k0, k0, 0x7c
+-              add     k1, k1, k0
+-              lw      k0, %lo(saved_vectors)(k1)
+-              jr      k0
++
++#ifdef CONFIG_MIPS64
++              dsll    k0, k0, 1
++#endif
++              lw      k1, %lo(saved_vectors)(k0)
++              jr      k1
+               nop
+ 1:
+               move    k0, sp
diff --git a/packages/madwifi/files/40-fix-warnings.patch b/packages/madwifi/files/40-fix-warnings.patch
new file mode 100644 (file)
index 0000000..ec984ce
--- /dev/null
@@ -0,0 +1,13 @@
+Index: madwifi-ng-r3314-20080131/ath/if_athvar.h
+===================================================================
+--- madwifi-ng-r3314-20080131.orig/ath/if_athvar.h     2008-06-12 03:19:30.000000000 +0200
++++ madwifi-ng-r3314-20080131/ath/if_athvar.h  2008-06-12 03:19:41.000000000 +0200
+@@ -522,7 +522,7 @@
+       atomic_t av_beacon_alloc;       /* set to 1 when the next beacon needs
+                                          to be recomputed */
+ #else
+-      unsigned int av_beacon_alloc;
++      unsigned long av_beacon_alloc;
+ #endif
+ };
+ #define       ATH_VAP(_v)     ((struct ath_vap *)(_v))
index ddb1e6a..f7c998c 100644 (file)
@@ -11,7 +11,8 @@ WACKELF_SRC_URI_ixp4xx = " file://20-xscale-VFP-wackelf.patch;patch=1"
 WACKELF_SRC_URI_compulab-pxa270 = " file://20-xscale-VFP-wackelf.patch;patch=1"
 
 SRCNAME = "${PN}"
-SRC_URI = "http://snapshots.madwifi.org/madwifi-trunk/${SRCNAME}-${PV}.tar.gz \
+SRC_URI = " \
+          http://www.angstrom-distribution.org/unstable/sources/${SRCNAME}-${PV}.tar.gz \
           file://10-xscale-be-elf-copts.patch;patch=1 \
           file://10-xscale-le-elf-copts.patch;patch=1 \
            file://10-sh4-le-elf-copts.patch;patch=1 \
index fb5cde0..578c7cb 100644 (file)
@@ -6,9 +6,23 @@ INHIBIT_PACKAGE_STRIP = "1"
 
 require madwifi-ng_r.inc
 
-SRC_URI += " \
-       file://30-define-ioreadwrite32be-for-little-endian-too.patch;patch=1 \
-       "
-
 # PR set after the include, to override what's set in the included file.
-PR = "r6"
+PR = "r8"
+
+SRC_URI += "http://sources.dreamboxupdate.com/download/snapshots/openwrt_madwifi_patches_20080829.tar.bz2 \
+       http://sources.dreamboxupdate.com/download/snapshots/ath_hal-20080815.tgz \
+       file://40-fix-warnings.patch;patch=1;pnum=1"
+
+do_munge() {
+       rm -rf ${S}/hal || /bin/true
+       mv ${WORKDIR}/ath_hal-20080815 ${S}/hal
+       CUR=`pwd`
+       cd ${S}
+       for i in `ls ${WORKDIR}/openwrt_madwifi_patches | grep ".patch" | sort -n | xargs`; do
+               oenote "Applying openwrt madwifi patch '$i'";
+               patch -p1 < ${WORKDIR}/openwrt_madwifi_patches/$i;
+       done;
+       cd $CUR
+}
+
+addtask munge before do_compile after do_patch
index bf14c33..38dbc47 100644 (file)
@@ -6,6 +6,8 @@ INHIBIT_PACKAGE_STRIP = "1"
 
 require madwifi-ng_r.inc
 
+DEFAULT_PREFERENCE = "-1"
+
 # Due to a minor Makefile restructuring, newer versions require an updated
 # patch; this is really ugly and some alternate way to do this that's more
 # generic should be figured out.
index 039fea6..48171f2 100644 (file)
@@ -5,7 +5,6 @@ LICENSE = "GPLv2"
 SECTION = "console/utils"
 PRIORITY = "optional"
 DEPENDS = "ncurses glib-2.0"
-RDEPENDS = "ncurses-terminfo"
 
 SRC_URI = "http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-${PV}.tar.gz"
 
diff --git a/packages/mjpegtools/files/mjpegtools-fix-include.patch b/packages/mjpegtools/files/mjpegtools-fix-include.patch
new file mode 100644 (file)
index 0000000..b5ff90a
--- /dev/null
@@ -0,0 +1,65 @@
+Index: mjpegtools-1.9.0rc3/lavtools/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/lavtools/Makefile.am      2008-04-09 00:44:57.000000000 +0200
++++ mjpegtools-1.9.0rc3/lavtools/Makefile.am   2008-04-09 01:03:10.000000000 +0200
+@@ -2,7 +2,7 @@
+ MAINTAINERCLEANFILES = Makefile.in
+-AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils $(LIBQUICKTIME_CFLAGS)
++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils $(LIBQUICKTIME_CFLAGS)
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+ if HAVE_ALTIVEC
+Index: mjpegtools-1.9.0rc3/yuvcorrect/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/yuvcorrect/Makefile.am    2008-04-09 01:01:15.000000000 +0200
++++ mjpegtools-1.9.0rc3/yuvcorrect/Makefile.am 2008-04-09 01:01:21.000000000 +0200
+@@ -2,7 +2,7 @@
+ MAINTAINERCLEANFILES = Makefile.in
+-AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils
++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+ if HAVE_ALTIVEC
+Index: mjpegtools-1.9.0rc3/yuvscaler/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/yuvscaler/Makefile.am     2008-04-09 01:01:43.000000000 +0200
++++ mjpegtools-1.9.0rc3/yuvscaler/Makefile.am  2008-04-09 01:01:50.000000000 +0200
+@@ -2,7 +2,7 @@
+ MAINTAINERCLEANFILES = Makefile.in
+-AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils
++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+Index: mjpegtools-1.9.0rc3/y4mdenoise/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/y4mdenoise/Makefile.am    2008-04-09 01:03:16.000000000 +0200
++++ mjpegtools-1.9.0rc3/y4mdenoise/Makefile.am 2008-04-09 01:03:25.000000000 +0200
+@@ -7,7 +7,7 @@
+ AM_CFLAGS = -DNDEBUG -finline-functions @PROGRAM_NOPIC@
+ AM_CXXFLAGS = -DNDEBUG -finline-functions @PROGRAM_NOPIC@
+-INCLUDES =  -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils
++INCLUDES =  -I$(top_srcdir) -I$(top_srcdir)/utils
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+ if HAVE_ALTIVEC
+Index: mjpegtools-1.9.0rc3/y4mutils/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/y4mutils/Makefile.am      2008-04-09 01:03:43.000000000 +0200
++++ mjpegtools-1.9.0rc3/y4mutils/Makefile.am   2008-04-09 01:03:48.000000000 +0200
+@@ -3,7 +3,7 @@
+ MAINTAINERCLEANFILES = Makefile.in
+ AM_CFLAGS   = @PROGRAM_NOPIC@
+-AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils
++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+ if HAVE_ALTIVEC
diff --git a/packages/mjpegtools/files/mjpegtools-remove-sdl-dependency.patch b/packages/mjpegtools/files/mjpegtools-remove-sdl-dependency.patch
new file mode 100644 (file)
index 0000000..fe855d3
--- /dev/null
@@ -0,0 +1,15 @@
+Index: mjpegtools-1.9.0rc3/configure.ac
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/configure.ac      2008-04-09 00:35:08.000000000 +0200
++++ mjpegtools-1.9.0rc3/configure.ac   2008-04-09 00:35:18.000000000 +0200
+@@ -275,10 +275,6 @@
+ dnl Check for the SDL library (for software playback)
+ dnl   (defines SDL_CFLAGS and SDL_LIBS)
+ dnl ********************************************************************
+-AM_PATH_SDL(1.1.3,
+-            [have_sdl=true
+-             AC_DEFINE(HAVE_SDL, 1, [SDL library present]) ],
+-            [have_sdl=false])
+ AM_CONDITIONAL(HAVE_SDL, test x$have_sdl = xtrue)
+ dnl ***
diff --git a/packages/mjpegtools/files/mjpegtools-v4l-doesnt-mean-x11.patch b/packages/mjpegtools/files/mjpegtools-v4l-doesnt-mean-x11.patch
new file mode 100644 (file)
index 0000000..48c1254
--- /dev/null
@@ -0,0 +1,17 @@
+Index: mjpegtools-1.9.0rc3/lavtools/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/lavtools/Makefile.am      2008-04-09 00:49:47.000000000 +0200
++++ mjpegtools-1.9.0rc3/lavtools/Makefile.am   2008-04-09 00:52:21.000000000 +0200
+@@ -59,9 +59,9 @@
+ liblavplay_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDV_CFLAGS) $(X_CFLAGS)
+ liblavplay_la_LDFLAGS = $(LAV_ALL_LIB_OPTS)
+ liblavplay_la_LIBADD = liblavfile.la $(SDL_LIBS) liblavjpeg.la
+-if HAVE_V4L
+-   liblavplay_la_LIBADD += ${X_LIBS} -lX11
+-endif
++#if !X_DISPLAY_MISSING
++#   liblavplay_la_LIBADD += ${X_LIBS} -lX11
++#endif
+ liblavplay_la_DEPENDENCIES = liblavfile.la liblavjpeg.la
+ # *********************************************************************
diff --git a/packages/mjpegtools/files/series b/packages/mjpegtools/files/series
new file mode 100644 (file)
index 0000000..5d481d9
--- /dev/null
@@ -0,0 +1,3 @@
+mjpegtools-remove-sdl-dependency.patch -p1
+mjpegtools-fix-include.patch
+mjpegtools-v4l-doesn-mean-x11.patch
diff --git a/packages/mjpegtools/mjpegtools_1.9.0rc3.bb b/packages/mjpegtools/mjpegtools_1.9.0rc3.bb
new file mode 100644 (file)
index 0000000..977a3bb
--- /dev/null
@@ -0,0 +1,13 @@
+DESCRIPTION = "Mjpeg tools is a suite of programs which support video capture, editting, playback, and compression to MPEG of MJPEG video."
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>
+LICENSE = "GPL"
+SECTION = "optional"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mjpeg/mjpegtools-${PV}.tar.gz \
+       file://mjpegtools-fix-include.patch;patch=1;pnum=1 \
+       file://mjpegtools-remove-sdl-dependency.patch;patch=1;pnum=1 \
+       file://mjpegtools-v4l-doesnt-mean-x11.patch;patch=1;pnum=1"
+
+inherit autotools
+
+EXTRA_OECONF = "--without-x"
diff --git a/packages/mrouted/mrouted-3.9.diff b/packages/mrouted/mrouted-3.9.diff
new file mode 100644 (file)
index 0000000..fa929b5
--- /dev/null
@@ -0,0 +1,138 @@
+diff -Naur mrouted-3.9-beta3.orig/Makefile mrouted-3.9-beta3.neu/Makefile
+--- mrouted-3.9-beta3.orig/Makefile    1998-03-01 04:09:11.000000000 +0100
++++ mrouted-3.9-beta3.neu/Makefile     2005-04-09 12:49:39.000000000 +0200
+@@ -24,22 +24,22 @@
+ #
+ # Uncomment the following three lines if you want to use RSRR (Routing
+ # Support for Resource Reservations), currently used by RSVP.
+-#RSRRDEF=     -DRSRR
+-#RSRRC=               rsrr.c
+-#RSRRO=               rsrr.o
++RSRRDEF=      -DRSRR
++RSRRC=                rsrr.c
++RSRRO=                rsrr.o
+ #
+ LDFLAGS=
+-CFLAGS=               -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF}       ## SunOS, OSF1, FreeBSD, IRIX
++#CFLAGS=              -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF}       ## SunOS, OSF1, FreeBSD, IRIX
+ #CFLAGS=              -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} -DSYSV -DSUNOS5       ## Solaris 2.x
+ #LIB2=-lsocket -lnsl  ## Solaris 2.x
+-#CFLAGS=              -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} -D__BSD_SOURCE -DRAW_INPUT_IS_RAW -DRAW_OUTPUT_IS_RAW -DIOCTL_OK_ON_RAW_SOCKET        ## Linux
++CFLAGS=               -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} -D__BSD_SOURCE -DRAW_INPUT_IS_RAW -DRAW_OUTPUT_IS_RAW -DIOCTL_OK_ON_RAW_SOCKET        ## Linux
+ LIBS=         ${SNMPLIBDIR} ${SNMPLIBS} ${LIB2}
+ LINTFLAGS=    ${MCAST_INCLUDE}
+ IGMP_SRCS=    igmp.c inet.c kern.c
+ IGMP_OBJS=    igmp.o inet.o kern.o
+-ROUTER_SRCS=  config.c cfparse.y main.c route.c vif.c prune.c callout.c \
++ROUTER_SRCS=  config.c y.y main.c route.c vif.c prune.c callout.c \
+               icmp.c ipip.c ${SNMPC} ${RSRRC}
+-ROUTER_OBJS=  config.o cfparse.o main.o route.o vif.o prune.o callout.o \
++ROUTER_OBJS=  config.o y.o main.o route.o vif.o prune.o callout.o \
+               icmp.o ipip.o ${SNMPO} ${RSRRO}
+ MAPPER_SRCS=  mapper.c
+ MAPPER_OBJS=  mapper.o
+@@ -58,6 +58,8 @@
+ all: mrouted map-mbone mrinfo ${MSTAT}
++install:
++
+ mrouted: ${IGMP_OBJS} ${ROUTER_OBJS} vers.o ${CMULIBS}
+       rm -f $@
+       ${CC} ${LDFLAGS} -o $@ ${CFLAGS} ${IGMP_OBJS} ${ROUTER_OBJS} vers.o ${LIBS}
+@@ -79,7 +81,7 @@
+       ${CC} ${LDFLAGS} -o $@ ${CFLAGS} ${MSTAT_OBJS} -Lsnmplib -lsnmp
+ clean: FRC ${SNMPCLEAN}
+-      rm -f ${OBJS} core mrouted map-mbone mrinfo mstat tags TAGS
++      rm -f ${OBJS} vers.o core mrouted map-mbone mrinfo mstat tags TAGS
+ snmpclean:    FRC
+       -(cd snmpd; make clean)
+diff -Naur mrouted-3.9-beta3.orig/defs.h mrouted-3.9-beta3.neu/defs.h
+--- mrouted-3.9-beta3.orig/defs.h      1998-03-01 03:51:42.000000000 +0100
++++ mrouted-3.9-beta3.neu/defs.h       2005-04-09 11:52:46.000000000 +0200
+@@ -45,7 +45,7 @@
+ #undef rtentry
+ #endif
+ #endif
+-#include <netinet/ip_mroute.h>
++#include "netinet/ip_mroute.h"
+ #ifdef RSRR
+ #include <sys/un.h>
+ #endif /* RSRR */
+@@ -180,7 +180,7 @@
+ #if !(defined(BSD) && (BSD >= 199103))
+ extern int            errno;
+ extern int            sys_nerr;
+-extern char *         sys_errlist[];
++/*extern char *               sys_errlist[];*/
+ #endif
+ #ifdef OLD_KERNEL
+diff -Naur mrouted-3.9-beta3.orig/main.c mrouted-3.9-beta3.neu/main.c
+--- mrouted-3.9-beta3.orig/main.c      1998-03-01 02:49:00.000000000 +0100
++++ mrouted-3.9-beta3.neu/main.c       2005-04-09 11:52:46.000000000 +0200
+@@ -32,6 +32,8 @@
+ #include "snmp.h"
+ #endif
++#include <time.h>
++
+ #ifndef lint
+ static char rcsid[] = "@(#) $Id: \
+ main.c,v 3.8.4.29 1998/03/01 01:49:00 fenner Exp $";
+diff -Naur mrouted-3.9-beta3.orig/mrouted.conf mrouted-3.9-beta3.neu/mrouted.conf
+--- mrouted-3.9-beta3.orig/mrouted.conf        1995-11-29 23:40:47.000000000 +0100
++++ mrouted-3.9-beta3.neu/mrouted.conf 2005-04-09 11:52:46.000000000 +0200
+@@ -30,7 +30,7 @@
+ #
+ #
+ # Template tunnel for mcast_install
+-tunnel 128.4.0.77 128.4.0.8 metric 1 threshold 64 rate_limit 500  # <-- REPLACE
++#tunnel 128.4.0.77 128.4.0.8 metric 1 threshold 64 rate_limit 500  # <-- REPLACE
+ #     boundary LOCAL
+ #
+ # You might want to specify a boundary on your tunnel to the outside world,
+diff -Naur mrouted-3.9-beta3.orig/netinet/ip_mroute.h mrouted-3.9-beta3.neu/netinet/ip_mroute.h
+--- mrouted-3.9-beta3.orig/netinet/ip_mroute.h 1970-01-01 01:00:00.000000000 +0100
++++ mrouted-3.9-beta3.neu/netinet/ip_mroute.h  2005-04-09 13:09:11.905210112 +0200
+@@ -0,0 +1,12 @@
++#ifndef __NETINET_IP_MROUTE_H
++#define __NETINET_IP_MROUTE_H
++
++#define _LINUX_IN_H
++
++#ifndef __u32
++#define __u32 unsigned long
++#endif
++
++#include <linux/mroute.h>
++
++#endif
+diff -Naur mrouted-3.9-beta3.orig/pathnames.h mrouted-3.9-beta3.neu/pathnames.h
+--- mrouted-3.9-beta3.orig/pathnames.h 1995-11-29 23:36:57.000000000 +0100
++++ mrouted-3.9-beta3.neu/pathnames.h  2005-04-09 11:52:46.000000000 +0200
+@@ -12,14 +12,14 @@
+ #define _PATH_MROUTED_CONF    "/etc/mrouted.conf"
+-#if (defined(BSD) && (BSD >= 199103))
++/*#if (defined(BSD) && (BSD >= 199103))*/
+ #define _PATH_MROUTED_PID     "/var/run/mrouted.pid"
+ #define _PATH_MROUTED_GENID   "/var/run/mrouted.genid"
+ #define _PATH_MROUTED_DUMP    "/var/tmp/mrouted.dump"
+ #define _PATH_MROUTED_CACHE   "/var/tmp/mrouted.cache"
+-#else
++/*#else
+ #define _PATH_MROUTED_PID     "/etc/mrouted.pid"
+ #define _PATH_MROUTED_GENID   "/etc/mrouted.genid"
+ #define _PATH_MROUTED_DUMP    "/usr/tmp/mrouted.dump"
+ #define _PATH_MROUTED_CACHE   "/usr/tmp/mrouted.cache"
+-#endif
++#endif*/
+diff -Naur mrouted-3.9-beta3.orig/vers.c mrouted-3.9-beta3.neu/vers.c
+--- mrouted-3.9-beta3.orig/vers.c      1970-01-01 01:00:00.000000000 +0100
++++ mrouted-3.9-beta3.neu/vers.c       2005-04-09 11:52:46.000000000 +0200
+@@ -0,0 +1 @@
++char todaysversion[]="3.9-beta3";
diff --git a/packages/mrouted/mrouted.bb b/packages/mrouted/mrouted.bb
new file mode 100644 (file)
index 0000000..b80c89f
--- /dev/null
@@ -0,0 +1,27 @@
+DESCRIPTION = "Mrouted daemon" 
+PV = "3.9-beta3" 
+PR = "r0" 
+PN = "mrouted" 
+PACKAGES = "mrouted" 
+SRC_URI = "ftp://archive.debian.org/debian-archive/pool/non-free/m/mrouted/mrouted_${PV}.orig.tar.gz \
+       file://mrouted-3.9.diff;patch=1"
+
+S = "${WORKDIR}/mrouted-${PV}.orig"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+do_compile_prepend() {
+       if ! test -f ${S}/y.y; then \
+               mv ${S}/cfparse.y y.y; \
+       fi;
+}
+
+do_install_append() {
+       install -d ${D}/usr/bin
+       for i in mrinfo map-mbone mrouted; do \
+               install ${S}/$i ${D}/usr/bin; \
+       done;
+}
diff --git a/packages/neon/neon_0.28.2.bb b/packages/neon/neon_0.28.2.bb
new file mode 100644 (file)
index 0000000..3ce517e
--- /dev/null
@@ -0,0 +1,15 @@
+DESCRIPTION = "neon is an HTTP and WebDAV client library, with a C interface."
+SECTION = "libs"
+LICENSE = "LGPL"
+DEPENDS = "zlib libxml2 expat time gnutls"
+PR = "r0"
+
+SRC_URI = "http://www.webdav.org/${PN}/${P}.tar.gz"
+
+inherit autotools binconfig lib_package pkgconfig
+
+EXTRA_OECONF = "--with-ssl=gnutls --with-libxml2 --with-expat --enable-shared"
+
+do_stage () {
+       autotools_stage_all
+}
diff --git a/packages/netbase/netbase/dm500plus/interfaces b/packages/netbase/netbase/dm500plus/interfaces
new file mode 100644 (file)
index 0000000..673618f
--- /dev/null
@@ -0,0 +1,10 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
diff --git a/packages/netbase/netbase/dm600pvr/interfaces b/packages/netbase/netbase/dm600pvr/interfaces
new file mode 100644 (file)
index 0000000..673618f
--- /dev/null
@@ -0,0 +1,10 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
diff --git a/packages/netbase/netbase/dm7020/interfaces b/packages/netbase/netbase/dm7020/interfaces
new file mode 100644 (file)
index 0000000..673618f
--- /dev/null
@@ -0,0 +1,10 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
diff --git a/packages/netbase/netbase/dm7025/interfaces b/packages/netbase/netbase/dm7025/interfaces
new file mode 100644 (file)
index 0000000..673618f
--- /dev/null
@@ -0,0 +1,10 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
diff --git a/packages/netbase/netbase/dm800/interfaces b/packages/netbase/netbase/dm800/interfaces
new file mode 100644 (file)
index 0000000..673618f
--- /dev/null
@@ -0,0 +1,10 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
diff --git a/packages/netbase/netbase/dm8000/interfaces b/packages/netbase/netbase/dm8000/interfaces
new file mode 100644 (file)
index 0000000..673618f
--- /dev/null
@@ -0,0 +1,10 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
index 8d6b9aa..0e714c9 100644 (file)
@@ -47,6 +47,21 @@ syncookies () {
     fi
 }
 
+wpa_supplicantcheck () {
+    if [ -e /var/run/wpa_supplicant ]; then
+        echo -n "disabling wpa_supplicant "
+        start-stop-daemon -K -x /usr/sbin/wpa_supplicant
+        # HACK: wpa_supplicant sometimes doesn't quit properly on SIGTERM.
+        if [ -e /var/run/wpa_supplicant ]; then
+               echo -n "wpa_supplicant still running, force kill now.. "
+               killall -9 /usr/sbin/wpa_supplicant
+               rm -rf /var/run/wpa_supplicant
+               echo "done."
+               fi
+        echo "done."
+    fi
+}
+
 doopt () {
     optname=$1
     default=$2
@@ -67,6 +82,7 @@ case "$1" in
         doopt ip_forward no
 
         echo -n "Configuring network interfaces... "
+                               wpa_supplicantcheck
         ifup -a
        echo "done."
        ;;
@@ -83,12 +99,14 @@ case "$1" in
         else
             echo -n "Deconfiguring network interfaces... "
             ifdown -a
+            wpa_supplicantcheck
            echo "done."
         fi
        ;;
     force-reload|restart)
         echo -n "Reconfiguring network interfaces... "
         ifdown -a
+        wpa_supplicantcheck
         ifup -a
        echo "done."
        ;;
diff --git a/packages/netkit-base/netkit-base-0.17/gcc4_buildfix.patch b/packages/netkit-base/netkit-base-0.17/gcc4_buildfix.patch
new file mode 100644 (file)
index 0000000..f284f1a
--- /dev/null
@@ -0,0 +1,11 @@
+--- bla/inetd/servtab.c        2000-07-22 22:20:50.000000000 +0200
++++ bla/inetd/servtab.c        2006-03-01 15:26:46.000000000 +0100
+@@ -771,7 +771,7 @@
+                       return;
+               }
+               
+-#define SWAP(type, a, b) {type c=(type)a; (type)a=(type)b; (type)b=(type)c;}
++#define SWAP(type, a, b) {type c=(type)a; a=(type)b; b=(type)c;}
+               /*
+                * sep->se_wait may be holding the pid of a daemon
diff --git a/packages/netkit-base/netkit-base-0.17/opendreambox/inetd.conf b/packages/netkit-base/netkit-base-0.17/opendreambox/inetd.conf
new file mode 100644 (file)
index 0000000..3f768c7
--- /dev/null
@@ -0,0 +1,31 @@
+# /etc/inetd.conf:  see inetd(8) for further informations.
+#
+# Internet server configuration database
+#
+# If you want to disable an entry so it isn't touched during
+# package updates just comment it out with a single '#' character.
+#
+# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
+#
+#:INTERNAL: Internal services
+#echo          stream  tcp     nowait  root    internal
+#echo          dgram   udp     wait    root    internal
+#chargen       stream  tcp     nowait  root    internal
+#chargen       dgram   udp     wait    root    internal
+#discard               stream  tcp     nowait  root    internal
+#discard               dgram   udp     wait    root    internal
+#daytime               stream  tcp     nowait  root    internal
+#daytime       dgram   udp     wait    root    internal
+#time          stream  tcp     nowait  root    internal
+#time          dgram   udp     wait    root    internal
+ftp            stream  tcp     nowait  root    /usr/sbin/vsftpd        vsftpd
+telnet         stream  tcp     nowait  root    /usr/sbin/telnetd       telnetd
+31335          stream  tcp     nowait  root    /usr/sbin/streamsec     streamsec
+31337          stream  tcp     nowait  root    /usr/sbin/streamts      streamts -ps
+31338          stream  tcp     nowait  root    /usr/sbin/streampes     streampes
+31339          stream  tcp     nowait  root    /usr/sbin/streamts      streamts -ts
+31340          stream  tcp     nowait  root    /usr/sbin/udpstreampes  udpstreampes
+31341          stream  udp     nowait  root    /usr/sbin/udpstreampes  udpstreampes
+31342          stream  tcp     nowait  root    /usr/sbin/streamts      streamts -tsfile
+31343          stream  tcp     nowait  root    /usr/sbin/streampes     streames
+8001   stream  tcp nowait      root    /usr/bin/streamproxy streamproxy
index 88016ea..f58ad4d 100644 (file)
@@ -6,6 +6,7 @@ PR = "r1"
 SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-base-${PV}.tar.gz \
            file://configure.patch;patch=1 \
            file://mconfig.patch;patch=1 \
+           file://gcc4_buildfix.patch;patch=1;pnum=1 \
            file://init \
            file://inetd.conf"
 
index f09dcac..181ea7e 100644 (file)
@@ -46,9 +46,15 @@ do_install_append () {
        install -m 0755 ${WORKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/
        install -m 0755 ${WORKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/
        rm -rf ${D}/${mandir}/man8/man8
+       if [ ${DISTRO} = "opendreambox" ]; then
+               for i in pap-secrets options; do
+                       rm ${D}/etc/ppp/$i
+               done
+       fi
 }
 
 CONFFILES_${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
+CONFFILES_${PN}_opendreambox = "${sysconfdir}/ppp/chap-secrets"
 PACKAGES += "ppp-oa ppp-oe ppp-radius ppp-winbind ppp-minconn ppp-password ppp-tools"
 FILES_${PN}        = "/etc /usr/bin /usr/sbin/chat /usr/sbin/pppd"
 FILES_${PN}_nylon  = "/etc /usr/bin /usr/sbin/chat /usr/sbin/pppd /usr/sbin/tdbread"
index 4142a4b..3a0e496 100644 (file)
@@ -226,7 +226,7 @@ FILES_python-mailbox="${libdir}/python2.5/mailbox.* "
 DESCRIPTION_python-xml="Python basic XML support."
 PR_python-xml="ml0"
 RDEPENDS_python-xml="python-core python-re"
-FILES_python-xml="${libdir}/python2.5/lib-dynload/pyexpat.so ${libdir}/python2.5/xml ${libdir}/python2.5/xmllib.* "
+FILES_python-xml="${libdir}/python2.5/lib-dynload/pyexpat.so ${libdir}/python2.5/xml ${libdir}/python2.5/xmllib.* ${libdir}/python2.5/lib-dynload/_elementtree.so "
 
 DESCRIPTION_python-mime="Python MIME Handling APIs"
 PR_python-mime="ml0"
index 3297795..c36927d 100644 (file)
@@ -2,7 +2,7 @@ Index: Python-2.5.2/configure.in
 ===================================================================
 --- Python-2.5.2.orig/configure.in
 +++ Python-2.5.2/configure.in
-@@ -3410,45 +3410,6 @@ esac
+@@ -3410,45 +3410,8 @@ esac
                                           
  
  
@@ -45,6 +45,8 @@ Index: Python-2.5.2/configure.in
 - AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
 - AC_MSG_RESULT(no))
 -
++AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Defune to print format modifier for Py_ssize_t])
++
  AC_CHECK_TYPE(socklen_t,,
    AC_DEFINE(socklen_t,int,
              Define to `int' if <sys/socket.h> does not define.),[
diff --git a/packages/python/python-2.5.2/fix_pthread_site.patch b/packages/python/python-2.5.2/fix_pthread_site.patch
new file mode 100644 (file)
index 0000000..d392060
--- /dev/null
@@ -0,0 +1,38 @@
+--- configure.in.org   2008-05-01 12:40:58.000000000 +0200
++++ configure.in       2008-05-01 12:39:39.000000000 +0200
+@@ -998,7 +999,7 @@
+ # so we need to run a program to see whether it really made the
+ # function available.
+ AC_MSG_CHECKING(whether $CC accepts -pthread)
+-AC_CACHE_VAL(ac_cv_thread,
++AC_CACHE_VAL(ac_cv_pthread,
+ [ac_save_cc="$CC"
+ CC="$CC -pthread"
+ AC_TRY_RUN([
+@@ -1023,11 +1024,11 @@
+ # If we have set a CC compiler flag for thread support then
+ # check if it works for CXX, too.
+-ac_cv_cxx_thread=no
+ if test ! -z "$CXX"
+ then
+ AC_MSG_CHECKING(whether $CXX also accepts flags for thread support)
+-ac_save_cxx="$CXX"
++AC_CACHE_VAL(ac_cv_cxx_thread,
++[ac_save_cxx="$CXX"
+ if test "$ac_cv_kpthread" = "yes"
+ then
+@@ -1056,9 +1057,11 @@
+   fi
+   rm -fr conftest*
+ fi
++CXX="$ac_save_cxx"])
+ AC_MSG_RESULT($ac_cv_cxx_thread)
++else
++  ac_cv_cxx_thread=no
+ fi
+-CXX="$ac_save_cxx"
+ dnl # check for ANSI or K&R ("traditional") preprocessor
+ dnl AC_MSG_CHECKING(for C preprocessor type)
diff --git a/packages/python/python-2.5.2/forced_largefile_support.patch b/packages/python/python-2.5.2/forced_largefile_support.patch
new file mode 100644 (file)
index 0000000..2dd2e7f
--- /dev/null
@@ -0,0 +1,24 @@
+diff -Naur Python-2.5.1-org/configure Python-2.5.1/configure
+--- Python-2.5.1-org/configure 2007-03-12 11:50:51.000000000 +0100
++++ Python-2.5.1/configure     2007-07-14 01:30:20.000000000 +0200
+@@ -10569,7 +10569,7 @@
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test "$cross_compiling" = yes; then
+-  ac_cv_sizeof_off_t=4
++  ac_cv_sizeof_off_t=8
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+diff -Naur Python-2.5.1-org/configure.in Python-2.5.1/configure.in
+--- Python-2.5.1-org/configure.in      2007-03-12 11:50:51.000000000 +0100
++++ Python-2.5.1/configure.in  2007-07-14 01:29:32.000000000 +0200
+@@ -1223,7 +1223,7 @@
+ }],
+ ac_cv_sizeof_off_t=`cat conftestval`,
+ ac_cv_sizeof_off_t=0,
+-ac_cv_sizeof_off_t=4)
++ac_cv_sizeof_off_t=8)
+ ])
+ AC_MSG_RESULT($ac_cv_sizeof_off_t)
+ AC_DEFINE_UNQUOTED(SIZEOF_OFF_T, $ac_cv_sizeof_off_t,
diff --git a/packages/python/python-2.5.2/some_configure_fixes.patch b/packages/python/python-2.5.2/some_configure_fixes.patch
new file mode 100644 (file)
index 0000000..eced413
--- /dev/null
@@ -0,0 +1,32 @@
+--- configure.in       2008-02-13 20:17:17.000000000 +0100
++++ configure.in       2008-10-21 22:45:31.000000000 +0200
+@@ -3369,27 +3369,9 @@
+   AC_MSG_RESULT(no)
+ )
+-AC_MSG_CHECKING(for /dev/ptmx)
++AC_CHECK_FILE(/dev/ptmx, AC_DEFINE(HAVE_DEV_PTMX, 1, [Define if we have /dev/ptmx.]))
+-if test -r /dev/ptmx
+-then
+-  AC_MSG_RESULT(yes)
+-  AC_DEFINE(HAVE_DEV_PTMX, 1,
+-  [Define if we have /dev/ptmx.])
+-else
+-  AC_MSG_RESULT(no)
+-fi
+-
+-AC_MSG_CHECKING(for /dev/ptc)
+-
+-if test -r /dev/ptc
+-then
+-  AC_MSG_RESULT(yes)
+-  AC_DEFINE(HAVE_DEV_PTC, 1,
+-  [Define if we have /dev/ptc.])
+-else
+-  AC_MSG_RESULT(no)
+-fi
++AC_CHECK_FILE(/dev/ptc, AC_DEFINE(HAVE_DEV_PTC, 1, [Define if we have /dev/ptc.]))
+ case $MACHDEP in
+ darwin)       
diff --git a/packages/python/python-2.5.2/strict_aliasing_site.patch b/packages/python/python-2.5.2/strict_aliasing_site.patch
new file mode 100644 (file)
index 0000000..12eee32
--- /dev/null
@@ -0,0 +1,19 @@
+--- configure.in.org   2008-05-01 12:40:58.000000000 +0200
++++ configure.in       2008-05-01 12:39:39.000000000 +0200
+@@ -796,13 +796,14 @@
+     # pointer types. GCC may generate bad code as a result of that,
+     # so use -fno-strict-aliasing if supported.
+     AC_MSG_CHECKING(whether $CC accepts -fno-strict-aliasing)
+-     ac_save_cc="$CC"
++    AC_CACHE_VAL(ac_cv_no_strict_aliasing_ok,
++    [ac_save_cc="$CC"
+      CC="$CC -fno-strict-aliasing"
+      AC_TRY_RUN([int main() { return 0; }],
+      ac_cv_no_strict_aliasing_ok=yes,
+      ac_cv_no_strict_aliasing_ok=no,
+      ac_cv_no_strict_aliasing_ok=no)
+-     CC="$ac_save_cc"
++     CC="$ac_save_cc"])
+     AC_MSG_RESULT($ac_cv_no_strict_aliasing_ok)
+     if test $ac_cv_no_strict_aliasing_ok = yes
+     then
diff --git a/packages/python/python-gdata_1.1.1.bb b/packages/python/python-gdata_1.1.1.bb
new file mode 100644 (file)
index 0000000..6e68273
--- /dev/null
@@ -0,0 +1,24 @@
+DESCRIPTION = "Google Data API"
+AUTHOR = "Jeffrey Scudder"
+HOMEPAGE = "http://code.google.com/p/gdata-python-client/"
+SECTION = "network"
+PRIORITY = "optional"
+LICENSE = "Apache 2.0"
+PROVIDES = "python-gdata"
+DEPENDS = "python-native"
+
+inherit package_ipk
+
+inherit distutils
+
+PR = "r0"
+
+SRC_URI = "http://gdata-python-client.googlecode.com/files/gdata.py-${PV}.tar.gz;md5sum=8addbac38dabdc7e00701d7b60685d4d"
+
+S = "${WORKDIR}/gdata.py-${PV}"
+
+PACKAGES = "python-gdata"
+
+do_stage() {
+       distutils_stage_all
+}
index 19dc65b..3f6466d 100644 (file)
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.python.org"
 LICENSE = "PSF"
 SECTION = "devel/python"
 PRIORITY = "optional"
-DEPENDS = "python-native db gdbm openssl readline sqlite3 tcl tk zlib"
+DEPENDS = "python-native db gdbm openssl readline sqlite3 zlib"
 DEPENDS_sharprom = "python-native db readline zlib gdbm openssl"
 # bump this on every change in contrib/python/generate-manifest-2.5.py
 PR = "ml14"
@@ -27,6 +27,13 @@ SRC_URI = "\
   \
   file://sitecustomize.py \
 "
+
+SRC_URI_append_opendreambox = " \
+  file://some_configure_fixes.patch;patch=1;pnum=0 \
+  file://strict_aliasing_site.patch;patch=0;pnum=0 \
+  file://fix_pthread_site.patch;patch=0;pnum=0 \
+  file://forced_largefile_support.patch;patch=1;pnum=1"
+
 S = "${WORKDIR}/Python-${PV}"
 
 inherit autotools
index ecf591d..5d66b5a 100644 (file)
@@ -3,7 +3,7 @@ inherit update-rc.d
 
 PR = "r6"
 
-SRC_URI = "file://config-lfs.patch;patch=1 \
+SRC_URI += "file://config-lfs.patch;patch=1 \
           file://init-essential \
            file://quota.patch;patch=1;pnum=0 \
           file://smb-essential.conf \
diff --git a/packages/sysvinit/sysvinit/dm500plus/inittab b/packages/sysvinit/sysvinit/dm500plus/inittab
new file mode 100644 (file)
index 0000000..9a1783a
--- /dev/null
@@ -0,0 +1,32 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
diff --git a/packages/sysvinit/sysvinit/dm600pvr/inittab b/packages/sysvinit/sysvinit/dm600pvr/inittab
new file mode 100644 (file)
index 0000000..9a1783a
--- /dev/null
@@ -0,0 +1,32 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
diff --git a/packages/sysvinit/sysvinit/dm7020/inittab b/packages/sysvinit/sysvinit/dm7020/inittab
new file mode 100644 (file)
index 0000000..9a1783a
--- /dev/null
@@ -0,0 +1,32 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
diff --git a/packages/sysvinit/sysvinit/dm7025/inittab b/packages/sysvinit/sysvinit/dm7025/inittab
new file mode 100644 (file)
index 0000000..c32d77f
--- /dev/null
@@ -0,0 +1,32 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:3:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
diff --git a/packages/sysvinit/sysvinit/dm800/inittab b/packages/sysvinit/sysvinit/dm800/inittab
new file mode 100644 (file)
index 0000000..c32d77f
--- /dev/null
@@ -0,0 +1,32 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:3:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
diff --git a/packages/sysvinit/sysvinit/dm8000/inittab b/packages/sysvinit/sysvinit/dm8000/inittab
new file mode 100644 (file)
index 0000000..d424332
--- /dev/null
@@ -0,0 +1,33 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:3:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty ttyS0 115200
+
diff --git a/packages/sysvinit/sysvinit/opendreambox/rcS b/packages/sysvinit/sysvinit/opendreambox/rcS
new file mode 100644 (file)
index 0000000..b20dc25
--- /dev/null
@@ -0,0 +1,116 @@
+#!/bin/sh
+#
+# rcS          Call all S??* scripts in /etc/rcS.d in
+#              numerical/alphabetical order.
+#
+# Version:     @(#)/etc/init.d/rcS  2.76  19-Apr-1999  miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+runlevel=S
+prevlevel=N
+umask 022
+export PATH runlevel prevlevel
+
+#      Make sure proc is mounted
+#
+[ -d "/proc/1" ] || mount /proc
+
+#
+#      See if system needs to be setup. This is ONLY meant to
+#      be used for the initial setup after a fresh installation!
+#
+if [ -x /sbin/unconfigured.sh ]
+then
+  /sbin/unconfigured.sh
+fi
+
+#
+#      Source defaults.
+#
+. /etc/default/rcS
+
+#
+#      Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
+#
+trap ":" INT QUIT TSTP
+
+#
+#       Do we have /proc/progress and set VERBOSE to "no" ?
+#       If so, calculate the number of scripts and the incremental step
+#
+
+# HACK: progress needs LCD to create /proc device entry
+modprobe lcd
+
+if [ "$VERBOSE" = no ]; then
+    if [ -e /proc/progress ]; then
+        set `ls -1 /etc/rc$runlevel.d/S* | wc`
+        numscripts=$1
+        # bootup, the first script, increments until 25.
+        # the userspace then picks up at 50
+        PROGRESS_incstep=`expr 25 / $1`
+        PROGRESS_value=25
+        PROGRESS=yes
+        export PROGRESS_value PROGRESS_incstep
+    fi
+fi
+export VERBOSE PROGRESS
+
+#
+#      Call all parts in order.
+#
+for i in /etc/rcS.d/S??*
+do
+       # Ignore dangling symlinks for now.
+       [ ! -f "$i" ] && continue
+
+       # Handle verbosity
+       [ "$VERBOSE" = very ] && echo "INIT: Running $i..."
+       if [ "$PROGRESS" = yes ]; then
+               export PROGRESS_value=`expr $PROGRESS_value + $PROGRESS_incstep`
+               echo "$PROGRESS_value Starting $i..." >/proc/progress
+       fi
+
+       case "$i" in
+               *.sh)
+                       # Source shell script for speed.
+                       (
+                               trap - INT QUIT TSTP
+                               set start
+                               . $i
+                       )
+                       ;;
+               *)
+                       # No sh extension, so fork subprocess.
+                       $i start
+                       ;;
+       esac
+
+        #
+        # Report status based on result code
+        #
+        result=$?
+        if [ "$PROGRESS" = yes ]; then
+                if [ "$result" = 0 ]; then
+                    echo "=s" >/proc/progress
+                else
+                    echo "=f" >/proc/progress
+                fi
+        fi
+done
+
+#
+#      For compatibility, run the files in /etc/rc.boot too.
+#
+[ -d /etc/rc.boot ] && run-parts /etc/rc.boot
+
+#
+#      Finish setup if needed. The comment above about
+#      /sbin/unconfigured.sh applies here as well!
+#
+if [ -x /sbin/setup.sh ]
+then
+  /sbin/setup.sh
+fi
+
index 64090bf..245c845 100644 (file)
@@ -39,7 +39,7 @@ ALTERNATIVE_PATH = "${base_sbindir}/init.sysvinit"
 ALTERNATIVE_PRIORITY = "50"
 
 PACKAGES =+ "sysvinit-pidof sysvinit-sulogin"
-FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*"
+FILES_${PN} += "${base_sbindir} ${base_bindir}"
 FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit"
 FILES_sysvinit-sulogin = "${base_sbindir}/sulogin"
 
@@ -104,6 +104,15 @@ EOF
        mv ${D}${bindir}/wall ${D}${bindir}/wall.${PN}
 }
 
+do_install_append_opendreambox () {
+       cat <<EOF >>${D}/etc/inittab
+# enigma
+gui:2:respawn:/usr/bin/enigma.sh
+# enigma2
+e2:3:respawn:/usr/bin/enigma2.sh
+EOF
+}
+
 pkg_postinst_${PN} () {
 #!/bin/sh
 update-alternatives --install ${base_sbindir}/halt halt halt.${PN} 200
index 4c17eea..550a86d 100644 (file)
@@ -23,6 +23,11 @@ DISTRO_INIT_MANAGER ?= "sysvinit sysvinit-pidof"
 DISTRO_LOGIN_MANAGER ?= "tinylogin"
 
 #
+# allow a distro-specific set of initscripts, if required
+#
+DISTRO_INITSCRIPTS ?= "initscripts"
+
+#
 # those ones can be set in machine config to supply packages needed to get machine booting
 #
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
@@ -39,7 +44,7 @@ RDEPENDS_task-boot = "\
     base-files \
     base-passwd \
     busybox \
-    initscripts \
+    ${DISTRO_INITSCRIPTS} \
     ${@base_contains("MACHINE_FEATURES", "keyboard", "keymaps", "", d)} \
     modutils-initscripts \
     netbase \
diff --git a/packages/timezones/timezones-alternative.bb b/packages/timezones/timezones-alternative.bb
new file mode 100644 (file)
index 0000000..ccf359d
--- /dev/null
@@ -0,0 +1,20 @@
+DESCRIPTION = "Timezone data, alternative"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+
+SRC_URI = "http://sources.dreamboxupdate.com/zoneinfo.tar.bz2"
+S = "${WORKDIR}/zoneinfo"
+
+FILES_${PN} = "usr/share/zoneinfo/[A-Z]*"
+
+do_install() {
+       install -d ${D}/usr/share/zoneinfo/
+       
+       for file in ${S}/*
+       do
+               [ -f $file ] && install -m 644 "$file" ${D}/usr/share/zoneinfo/
+       done;
+       true;
+}
diff --git a/packages/tuxbox/dvbsnoop.bb b/packages/tuxbox/dvbsnoop.bb
new file mode 100644 (file)
index 0000000..d4ce51d
--- /dev/null
@@ -0,0 +1,18 @@
+DEPENDS = "dreambox-dvbincludes"
+DESCRIPTION = "DVBsnoop by rasc@users.sourceforge.net"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/dvb/dvbsnoop;method=ext \
+           file://acinclude.m4"
+          
+SRCDATE = "20060405"
+PR = "r0"
+PV = "0.0+cvs${SRCDATE}"
+S = "${WORKDIR}/dvbsnoop"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=cdk"
diff --git a/packages/tuxbox/files/acinclude.m4 b/packages/tuxbox/files/acinclude.m4
new file mode 100644 (file)
index 0000000..ecb6a64
--- /dev/null
@@ -0,0 +1,383 @@
+AC_DEFUN(TUXBOX_APPS,[
+AM_CONFIG_HEADER(config.h)
+AM_MAINTAINER_MODE
+
+INSTALL="$INSTALL -p"
+
+AC_GNU_SOURCE
+AC_SYS_LARGEFILE
+
+AC_ARG_WITH(target,
+       [  --with-target=TARGET    target for compilation [[native,cdk]]],
+       [TARGET="$withval"],[TARGET="native"])
+
+AC_ARG_WITH(targetprefix,
+       [  --with-targetprefix=PATH  prefix relative to target root (only applicable in cdk mode)],
+       [targetprefix="$withval"],[targetprefix="NONE"])
+
+AC_ARG_WITH(debug,
+       [  --without-debug         disable debugging code],
+       [DEBUG="$withval"],[DEBUG="yes"])
+
+if test "$DEBUG" = "yes"; then
+       DEBUG_CFLAGS="-g3 -ggdb"
+       AC_DEFINE(DEBUG,1,[Enable debug messages])
+fi
+
+AC_MSG_CHECKING(target)
+
+if test "$TARGET" = "native"; then
+       AC_MSG_RESULT(native)
+
+       if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
+               CFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
+               CXXFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
+       fi
+       if test "$prefix" = "NONE"; then
+               prefix=/usr/local
+       fi
+       targetprefix=$prefix
+elif test "$TARGET" = "cdk"; then
+       AC_MSG_RESULT(cdk)
+
+       if test "$CC" = "" -a "$CXX" = ""; then
+               CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++
+       fi
+       if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
+               CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
+               CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
+       fi
+       if test "$prefix" = "NONE"; then
+               AC_MSG_ERROR(invalid prefix, you need to specify one in cdk mode)
+       fi
+       if test "$targetprefix" = "NONE"; then
+               targetprefix=""
+       fi
+       if test "$host_alias" = ""; then
+               cross_compiling=yes
+               host_alias=powerpc-tuxbox-linux-gnu
+       fi
+else
+       AC_MSG_RESULT(none)
+       AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]);
+fi
+
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
+check_path () {
+       return $(perl -e "if(\"$1\"=~m#^/usr/(local/)?bin#){print \"0\"}else{print \"1\";}")
+}
+
+])
+
+AC_DEFUN(TUXBOX_APPS_DIRECTORY_ONE,[
+AC_ARG_WITH($1,[  $6$7 [[PREFIX$4$5]]],[
+       _$2=$withval
+       if test "$TARGET" = "cdk"; then
+               $2=`eval echo "${targetprefix}$withval"`
+       else
+               $2=$withval
+       fi
+],[
+       $2="\${$3}$5"
+       if test "$TARGET" = "cdk"; then
+               _$2=`eval echo "${target$3}$5"`
+       else
+               _$2=`eval echo "${$3}$5"`
+       fi
+])
+
+dnl automake <= 1.6 don't support this
+dnl AC_SUBST($2)
+AC_DEFINE_UNQUOTED($2,"$_$2",$7)
+])
+
+AC_DEFUN(TUXBOX_APPS_DIRECTORY,[
+AC_REQUIRE([TUXBOX_APPS])
+
+if test "$TARGET" = "cdk"; then
+       datadir="\${prefix}/share"
+       sysconfdir="\${prefix}/etc"
+       localstatedir="\${prefix}/var"
+       libdir="\${prefix}/lib"
+       targetdatadir="\${targetprefix}/share"
+       targetsysconfdir="\${targetprefix}/etc"
+       targetlocalstatedir="\${targetprefix}/var"
+       targetlibdir="\${targetprefix}/lib"
+fi
+
+TUXBOX_APPS_DIRECTORY_ONE(configdir,CONFIGDIR,sysconfdir,/etc,/tuxbox,
+       [--with-configdir=PATH   ],[where to find the config files])
+
+TUXBOX_APPS_DIRECTORY_ONE(datadir,DATADIR,datadir,/share,/tuxbox,
+       [--with-datadir=PATH     ],[where to find data])
+
+TUXBOX_APPS_DIRECTORY_ONE(fontdir,FONTDIR,datadir,/share,/fonts,
+       [--with-fontdir=PATH     ],[where to find the fonts])
+
+TUXBOX_APPS_DIRECTORY_ONE(gamesdir,GAMESDIR,localstatedir,/etc,/tuxbox/games,
+       [--with-gamesdir=PATH    ],[where games data is stored])
+
+TUXBOX_APPS_DIRECTORY_ONE(libdir,LIBDIR,libdir,/lib,/tuxbox,
+       [--with-libdir=PATH      ],[where to find the internal libs])
+
+TUXBOX_APPS_DIRECTORY_ONE(plugindir,PLUGINDIR,libdir,/lib,/tuxbox/plugins,
+       [--with-plugindir=PATH   ],[where to find the plugins])
+
+TUXBOX_APPS_DIRECTORY_ONE(ucodedir,UCODEDIR,localstatedir,/var,/tuxbox/ucodes,
+       [--with-ucodedir=PATH    ],[where to find the ucodes])
+])
+
+dnl automake <= 1.6 needs this specifications
+AC_SUBST(CONFIGDIR)
+AC_SUBST(DATADIR)
+AC_SUBST(FONTDIR)
+AC_SUBST(GAMESDIR)
+AC_SUBST(LIBDIR)
+AC_SUBST(PLUGINDIR)
+AC_SUBST(UCODEDIR)
+dnl end workaround
+
+AC_DEFUN(TUXBOX_APPS_ENDIAN,[
+AC_CHECK_HEADERS(endian.h)
+AC_C_BIGENDIAN
+])
+
+AC_DEFUN(TUXBOX_APPS_DRIVER,[
+AC_ARG_WITH(driver,
+       [  --with-driver=PATH      path for driver sources [[NONE]]],
+       [DRIVER="$withval"],[DRIVER=""])
+
+if test -d "$DRIVER/include"; then
+       AC_DEFINE(HAVE_DBOX2_DRIVER,1,[Define to 1 if you have the dbox2 driver sources])
+#else
+#      AC_MSG_ERROR([can't find driver sources])
+fi
+
+AC_SUBST(DRIVER)
+
+CPPFLAGS="$CPPFLAGS -I$DRIVER/include"
+])
+
+AC_DEFUN([TUXBOX_APPS_DVB],[
+AC_ARG_WITH(dvbincludes,
+       [  --with-dvbincludes=PATH  path for dvb includes [[NONE]]],
+       [DVBINCLUDES="$withval"],[DVBINCLUDES=""])
+
+if test "$DVBINCLUDES"; then
+       CPPFLAGS="$CPPFLAGS -I$DVBINCLUDES"
+fi
+
+AC_CHECK_HEADERS(ost/dmx.h,[
+       DVB_API_VERSION=1
+       AC_MSG_NOTICE([found dvb version 1])
+])
+
+if test -z "$DVB_API_VERSION"; then
+AC_CHECK_HEADERS(linux/dvb/version.h,[
+       AC_LANG_PREPROC_REQUIRE()
+       AC_REQUIRE([AC_PROG_EGREP])
+       AC_LANG_CONFTEST([AC_LANG_SOURCE([[
+#include <linux/dvb/version.h>
+version DVB_API_VERSION
+       ]])])
+       DVB_API_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
+       rm -f conftest*
+
+       AC_MSG_NOTICE([found dvb version $DVB_API_VERSION])
+])
+fi
+
+if test "$DVB_API_VERSION"; then
+       AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes])
+       AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api])
+else
+       AC_MSG_ERROR([can't find dvb headers])
+fi
+])
+
+AC_DEFUN(_TUXBOX_APPS_LIB_CONFIG,[
+AC_PATH_PROG($1_CONFIG,$2,no)
+if test "$$1_CONFIG" != "no"; then
+       if test "$TARGET" = "cdk" && check_path "$$1_CONFIG"; then
+               AC_MSG_$3([could not find a suitable version of $2]);
+       else
+               $1_CFLAGS=$($$1_CONFIG --cflags)
+               $1_LIBS=$($$1_CONFIG --libs)
+       fi
+fi
+
+AC_SUBST($1_CFLAGS)
+AC_SUBST($1_LIBS)
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_CONFIG,[
+_TUXBOX_APPS_LIB_CONFIG($1,$2,ERROR)
+if test "$$1_CONFIG" = "no"; then
+       AC_MSG_ERROR([could not find $2]);
+fi
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_CHECK,[
+_TUXBOX_APPS_LIB_CONFIG($1,$2,WARN)
+])
+
+AC_DEFUN(TUXBOX_APPS_PKGCONFIG,[
+AC_PATH_PROG(PKG_CONFIG, pkg-config,no)
+if test "$PKG_CONFIG" = "no" ; then
+       AC_MSG_ERROR([could not find pkg-config]);
+fi
+])
+
+AC_DEFUN(_TUXBOX_APPS_LIB_PKGCONFIG,[
+AC_REQUIRE([TUXBOX_APPS_PKGCONFIG])
+PKG_CHECK_MODULES($1,$2)
+AC_SUBST($1_CFLAGS)
+AC_SUBST($1_LIBS)
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG,[
+_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
+if test -z "$$1_CFLAGS" ; then
+       AC_MSG_ERROR([could not find package $2]);
+fi
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG_CHECK,[
+_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
+])
+
+AC_DEFUN(_TUXBOX_APPS_LIB_SYMBOL,[
+AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no")
+if test "$HAVE_$1" = "yes"; then
+       $1_LIBS=-l$2
+fi
+
+AC_SUBST($1_LIBS)
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_SYMBOL,[
+_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR)
+if test "$HAVE_$1" = "no"; then
+       AC_MSG_ERROR([could not find $2]);
+fi
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_SYMBOL,[
+_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN)
+])
+
+AC_DEFUN(TUXBOX_APPS_GETTEXT,[
+AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+       [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+       (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+       :)
+AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+       [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
+       (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+       :)
+
+AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1],:)
+
+AC_MSG_CHECKING([whether NLS is requested])
+AC_ARG_ENABLE(nls,
+       [  --disable-nls           do not use Native Language Support],
+       USE_NLS=$enableval, USE_NLS=yes)
+AC_MSG_RESULT($USE_NLS)
+AC_SUBST(USE_NLS)
+
+if test "$USE_NLS" = "yes"; then
+       AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[
+               AC_TRY_LINK([
+                       #include <libintl.h>
+                       #ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+                       #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+                       #endif
+                       extern int _nl_msg_cat_cntr;
+                       extern int *_nl_domain_bindings;
+                       ],[
+                       bindtextdomain ("", "");
+                       return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings;
+                       ], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no
+               )]
+       )
+
+       if test "$gt_cv_func_gnugettext_libc" = "yes"; then
+               AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.])
+               gt_use_preinstalled_gnugettext=yes
+       else
+               USE_NLS=no
+       fi
+fi
+
+if test -f "$srcdir/po/LINGUAS"; then
+       ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS")
+fi
+
+POFILES=
+GMOFILES=
+UPDATEPOFILES=
+DUMMYPOFILES=
+for lang in $ALL_LINGUAS; do
+       POFILES="$POFILES $srcdirpre$lang.po"
+       GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+       UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+       DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+done
+INST_LINGUAS=
+if test -n "$ALL_LINGUAS"; then
+       for presentlang in $ALL_LINGUAS; do
+               useit=no
+               if test -n "$LINGUAS"; then
+                       desiredlanguages="$LINGUAS"
+               else
+                       desiredlanguages="$ALL_LINGUAS"
+               fi
+               for desiredlang in $desiredlanguages; do
+                       case "$desiredlang" in
+                               "$presentlang"*) useit=yes;;
+                       esac
+               done
+               if test $useit = yes; then
+                       INST_LINGUAS="$INST_LINGUAS $presentlang"
+               fi
+       done
+fi
+CATALOGS=
+if test -n "$INST_LINGUAS"; then
+       for lang in $INST_LINGUAS; do
+               CATALOGS="$CATALOGS $lang.gmo"
+       done
+fi
+AC_SUBST(POFILES)
+AC_SUBST(GMOFILES)
+AC_SUBST(UPDATEPOFILES)
+AC_SUBST(DUMMYPOFILES)
+AC_SUBST(CATALOGS)
+])
+
+dnl backward compatiblity
+AC_DEFUN([AC_GNU_SOURCE],
+[AH_VERBATIM([_GNU_SOURCE],
+[/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif])dnl
+AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+AC_DEFINE([_GNU_SOURCE])
+])
+
+AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])
+
diff --git a/packages/tuxbox/files/libtuxtxt-only-libtuxtxt.diff b/packages/tuxbox/files/libtuxtxt-only-libtuxtxt.diff
new file mode 100644 (file)
index 0000000..cbe6b32
--- /dev/null
@@ -0,0 +1,13 @@
+Index: libs/Makefile.am
+===================================================================
+--- libs.orig/Makefile.am      2008-09-25 17:48:46.000000000 +0200
++++ libs/Makefile.am   2008-09-25 17:48:53.000000000 +0200
+@@ -1,8 +1,5 @@
+ AUTOMAKE_OPTIONS = gnu
+ SUBDIRS = \
+-      libavs \
+-      liblcddisplay \
+-      liblircdclient \
+       libtuxtxt
+       
diff --git a/packages/tuxbox/files/libtuxtxt_32bpp.diff b/packages/tuxbox/files/libtuxtxt_32bpp.diff
new file mode 100644 (file)
index 0000000..eaa0e7f
--- /dev/null
@@ -0,0 +1,214 @@
+diff -ru libs.org/libtuxtxt/libtuxtxt.c libs/libtuxtxt/libtuxtxt.c
+--- libs.org/libtuxtxt/libtuxtxt.c     2008-05-21 09:25:30.000000000 +0200
++++ libs/libtuxtxt/libtuxtxt.c 2008-05-22 09:42:18.000000000 +0200
+@@ -7,6 +7,12 @@
+  *    Info entnommen aus videotext-0.6.19991029,                              *
+  *    Copyright (c) 1994-96 Martin Buck  <martin-2.buck@student.uni-ulm.de>   *
+  *                                                                            *
++ *              ported 2006 to Dreambox 7025 / 32Bit framebuffer              *
++ *                   by Seddi <seddi@i-have-a-dreambox.com>                   *
++ *                                                                            *
++ *              ported 32Bit framebuffer to Tuxtxt v1.99 (2008)               *
++ *                      by the PLi team (Sat-Turner)                          *
++ *                                                                            *
+  ******************************************************************************/
+ #ifdef DEBUG
+diff -ru libs.org/libtuxtxt/tuxtxt_common.h libs/libtuxtxt/tuxtxt_common.h
+--- libs.org/libtuxtxt/tuxtxt_common.h 2008-08-13 19:53:47.000000000 +0200
++++ libs/libtuxtxt/tuxtxt_common.h     2008-05-31 13:44:57.000000000 +0200
+@@ -152,6 +152,19 @@
+       aG3_70, aG3_71, aG3_72, aG3_73, aG3_74, aG3_75, aG3_76, aG3_77, aG3_78, aG3_79, aG3_7a, aG3_7b, aG3_7c, aG3_7d, aG3_7e
+ };
++/* 32bit colortable */
++unsigned char bgra[][4] = { 
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xC0", "\0\0\0\x00",
++"\0\0\0\x33" };
++
+ tuxtxt_cache_struct tuxtxt_cache;
+ static pthread_mutex_t tuxtxt_cache_lock = PTHREAD_MUTEX_INITIALIZER;
+ int tuxtxt_get_zipsize(int p,int sp)
+@@ -2782,12 +2795,16 @@
+ void tuxtxt_FillRect(unsigned char *lfb, int xres, int x, int y, int w, int h, int color)
+ {
+       if (!lfb) return;
+-      unsigned char *p = lfb + x + y * xres;
++      unsigned char *p = lfb + x*4 + y * xres;
++      int xtmp;
+       if (w > 0)
+               for ( ; h > 0 ; h--)
+               {
+-                      memset(p, color, w);
++                      for (xtmp=0; xtmp<w; xtmp++)
++                      {
++                              memcpy(p+xtmp*4,bgra[color],4);
++                      }
+                       p += xres;
+               }
+ }
+@@ -2799,7 +2816,7 @@
+       unsigned char fgcolor, unsigned char bgcolor)
+ {
+       if (d == NULL) return;
+-      int bit, x, y;
++      int bit, x, y, ltmp;
+       unsigned char *ay = ax + 13; /* array[0..10] of y-offsets for each pixel */
+       for (y = 0; y < 10; y++) /* 10*2 bytes a 6 pixels per char definition */
+@@ -2823,9 +2840,21 @@
+                       for (i = 0; i < h; i++)
+                       {
+                               if (ax[x+1] > ax[x])
+-                                      memset(d + ax[x], f1, ax[x+1] - ax[x]);
++                              {
++//                                    memset(d + ax[x], f1, ax[x+1] - ax[x]);
++                                      for (ltmp=0 ; ltmp < (ax[x+1]-ax[x]); ltmp++)
++                                      {
++                                              memcpy(d + ax[x]*4 +ltmp*4,bgra[f1],4);
++                                      }
++                              }
+                               if (ax[x+7] > ax[x+6])
+-                                      memset(d + ax[x+6], f2, ax[x+7] - ax[x+6]); /* 2nd byte 6 pixels to the right */
++                              {
++//                                    memset(d + ax[x+6], f2, ax[x+7] - ax[x+6]); /* 2nd byte 6 pixels to the right */
++                                      for (ltmp=0 ; ltmp < (ax[x+7]-ax[x+6]); ltmp++)
++                                      {
++                                              memcpy(d + ax[x+6]*4 +ltmp*4,bgra[f2],4);
++                                      }
++                              }
+                               d += xres;
+                       }
+                       d -= h * xres;
+@@ -2838,20 +2867,26 @@
+ void tuxtxt_DrawVLine(unsigned char *lfb, int xres, int x, int y, int l, int color)
+ {
+       if (!lfb) return;
+-      unsigned char *p = lfb + x + y * xres;
++      unsigned char *p = lfb + 4*x + y * xres;
+       for ( ; l > 0 ; l--)
+       {
+-              *p = color;
++              memcpy(p,bgra[color],4);
+               p += xres;
+       }
+ }
+ void tuxtxt_DrawHLine(unsigned char* lfb,int xres,int x, int y, int l, int color)
+ {
++      int ltmp;
+       if (!lfb) return;
+       if (l > 0)
+-              memset(lfb + x + y * xres, color, l);
++      {
++              for (ltmp=0; ltmp < l; ltmp++)
++              {
++                      memcpy(lfb + x*4 + ltmp*4 + y * xres, bgra[color], 4);
++              }
++      }
+ }
+ void tuxtxt_FillRectMosaicSeparated(unsigned char *lfb, int xres,int x, int y, int w, int h, int fgcolor, int bgcolor, int set)
+@@ -2866,48 +2901,54 @@
+ void tuxtxt_FillTrapez(unsigned char *lfb, int xres,int x0, int y0, int l0, int xoffset1, int h, int l1, int color)
+ {
+-      unsigned char *p = lfb + x0 + y0 * xres;
++      unsigned char *p = lfb + x0*4 + y0 * xres;
+       int xoffset, l;
+       int yoffset;
++      int ltmp;
+       for (yoffset = 0; yoffset < h; yoffset++)
+       {
+               l = l0 + ((l1-l0) * yoffset + h/2) / h;
+               xoffset = (xoffset1 * yoffset + h/2) / h;
+               if (l > 0)
+-                      memset(p + xoffset, color, l);
++              {
++                      for (ltmp=0; ltmp < l; ltmp++)
++                      {
++                              memcpy(p + xoffset*4 +ltmp*4, bgra[color], 4);
++                      }
++              }
+               p += xres;
+       }
+ }
+ void tuxtxt_FlipHorz(unsigned char *lfb, int xres,int x, int y, int w, int h)
+ {
+-      unsigned char buf[w];
+-      unsigned char *p = lfb + x + y * xres;
++      unsigned char buf[w*4];
++      unsigned char *p = lfb + x*4 + y * xres;
+       int w1,h1;
+       for (h1 = 0 ; h1 < h ; h1++)
+       {
+-              memcpy(buf,p,w);
++              memcpy(buf,p,w*4);
+               for (w1 = 0 ; w1 < w ; w1++)
+               {
+-                      *(p+w1) = buf[w-(w1+1)];
++                      memcpy(p+w1*4,buf+((w-w1)*4)-4,4);
+               }
+               p += xres;
+       }
+ }
+ void tuxtxt_FlipVert(unsigned char *lfb, int xres,int x, int y, int w, int h)
+ {
+-      unsigned char buf[w];
+-      unsigned char *p = lfb + x + y * xres, *p1, *p2;
++      unsigned char buf[w*4];
++      unsigned char *p = lfb + x*4 + y * xres, *p1, *p2;
+       int h1;
+       for (h1 = 0 ; h1 < h/2 ; h1++)
+       {
+               p1 = (p+(h1*xres));
+               p2 = (p+(h-(h1+1))*xres);
+-              memcpy(buf,p1,w);
+-              memcpy(p1,p2,w);
+-              memcpy(p2,buf,w);
++              memcpy(buf,p1,w*4);
++              memcpy(p1,p2,w*4);
++              memcpy(p2,buf,w*4);
+       }
+ }
+@@ -3163,7 +3204,7 @@
+                               if (lfb) 
+                               {
+                                       int x,y,f,c;
+-                                      unsigned char* p = lfb + *pPosX + PosY* xres;
++                                      unsigned char* p = lfb + (*pPosX)*4 + PosY* xres;
+                                       for (y=0; y<fontheight;y++)
+                                       {
+                                               for (f=0; f<factor; f++)
+@@ -3171,7 +3212,7 @@
+                                                       for (x=0; x<curfontwidth*xfactor;x++)
+                                                       {
+                                                               c = (y&4 ? (x/3)&1 :((x+3)/3)&1);
+-                                                              *(p+x) = (c ? fgcolor : bgcolor);
++                                                              memcpy((p+x*4),bgra[(c ? fgcolor : bgcolor)],4);
+                                                       }
+                                                       p += xres;
+                                               }
+@@ -3209,7 +3250,7 @@
+                       }
+                       axdrcs[12] = curfontwidth; /* adjust last x-offset according to position, FIXME: double width */
+                       tuxtxt_RenderDRCS(xres,p,
+-                                                lfb + *pPosX + PosY * xres,
++                                                lfb + (*pPosX)*4 + PosY * xres,
+                                                 axdrcs, fgcolor, bgcolor);
+               }
+               else
diff --git a/packages/tuxbox/files/libtuxtxt_bugfix.patch b/packages/tuxbox/files/libtuxtxt_bugfix.patch
new file mode 100755 (executable)
index 0000000..fe1f35a
--- /dev/null
@@ -0,0 +1,15 @@
+diff -Naur libs/libtuxtxt/tuxtxt_common.h libs_patched/libtuxtxt/tuxtxt_common.h
+--- libs_org/libtuxtxt/tuxtxt_common.h 2005-09-11 15:34:56.000000000 +0200
++++ libs/libtuxtxt/tuxtxt_common.h     2006-10-04 11:41:01.000000000 +0200
+@@ -888,6 +888,11 @@
+                                                               p->subpage = d2 >> 2;
+                                                               if ((p->page & 0xff) == 0xff)
+                                                                       p->page = 0;
++                                                              else if (p->page > 0x899)
++                                                              {
++                                                                      printf("[TuxTxt] page > 0x899 ... ignore!!!!!!\n");
++                                                                      continue;
++                                                              }
+                                                               else if (tuxtxt_cache.astCachetable[p->page][0])        /* link valid && linked page cached */
+                                                               {
+                                                                       tstPageinfo *pageinfo_link = &(tuxtxt_cache.astCachetable[p->page][0]->pageinfo);
diff --git a/packages/tuxbox/libdvbsi++.bb b/packages/tuxbox/libdvbsi++.bb
new file mode 100644 (file)
index 0000000..aeceb22
--- /dev/null
@@ -0,0 +1,23 @@
+DESCRIPTION = "libdvbsi++ by obi@saftware.de"
+DEPENDS = "dreambox-dvbincludes"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/dvb/libdvbsi++;method=ext"
+
+SRCDATE = "20060329"
+PR = "r0"
+PV = "0.0+cvs${SRCDATE}"
+
+S = "${WORKDIR}/libdvbsi++"
+
+inherit autotools pkgconfig
+
+do_stage_append() {
+       oe_runmake install prefix=${STAGING_DIR} \
+              bindir=${STAGING_BINDIR} \
+              includedir=${STAGING_INCDIR} \
+              libdir=${STAGING_LIBDIR} \
+              datadir=${STAGING_DATADIR}
+}
+
+EXTRA_OECONF = "--with-target=native"
diff --git a/packages/tuxbox/tuxbox-common.bb b/packages/tuxbox/tuxbox-common.bb
new file mode 100644 (file)
index 0000000..ce1d4de
--- /dev/null
@@ -0,0 +1,42 @@
+DESCRIPTION = "Tuxbox common files"
+LICENSE = "GPL"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+PN = "tuxbox-common"
+PR = "r9"
+SRCDATE = "20080501"
+PV = "cvs${SRCDATE}"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox/;module=cdk/root/share/tuxbox;method=ext;tag=dreambox;date=${SRCDATE} \
+       http://dreamboxupdate.com/download/opendreambox/tuxbox-common-r8.tar.gz"
+
+FILES_${PN} = "/"
+
+S = "${WORKDIR}/tuxbox-common-r8"
+
+TRANSPONDER_LISTS = "satellites.xml terrestrial.xml"
+
+#enigma1 need a cables.xml
+TRANSPONDER_LISTS_append_dm7020 = " cables.xml"
+TRANSPONDER_LISTS_append_dm500plus = " cables.xml"
+TRANSPONDER_LISTS_append_dm600pvr = " cables.xml"
+
+do_install() {
+       install -d ${D}/etc/init.d
+       install -d ${D}/etc/rcS.d
+       install -d ${D}/etc/tuxbox/
+       install -d ${D}/usr/share/tuxbox
+       install -m 0644 ${S}/scart.conf ${D}/etc/tuxbox/scart.conf
+
+       install -m 0644 ${S}/timezone.xml ${D}/etc/tuxbox/timezone.xml
+       ln -sf /etc/tuxbox/timezone.xml ${D}/etc/
+
+       ln -sf /usr/share ${D}/share
+
+       for i in ${TRANSPONDER_LISTS}; do
+               install -m 0644 ${WORKDIR}/tuxbox/$i ${D}/etc/tuxbox/$i
+               ln -sf /etc/tuxbox/$i ${D}/etc/;
+               ln -sf /etc/tuxbox/$i ${D}/usr/share/;
+               ln -sf /etc/tuxbox/$i ${D}/usr/share/tuxbox/;
+       done;
+}
diff --git a/packages/tuxbox/tuxbox-image-info.bb b/packages/tuxbox/tuxbox-image-info.bb
new file mode 100644 (file)
index 0000000..007cabd
--- /dev/null
@@ -0,0 +1,22 @@
+DESCRIPTION = "/etc/image-version image information for tuxbox images"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+PV = "0"
+PR = "r0"
+LICENSE = "GPL"
+
+FILES_${PN} = "/etc/image-version"
+
+do_install () {
+       IMAGE_VERSION=`echo ${DISTRO_VERSION} | sed  's/\(.\)\.\(.\).\(.\)/\1\2\3/' `
+       IMAGE_DATE="$(date +%Y%m%d%H%M)"
+       IMAGE_TYPE="0"
+       mkdir -p ${D}/etc/
+       echo "version=${IMAGE_TYPE}${IMAGE_VERSION}${IMAGE_DATE}" > ${D}/etc/image-version
+       echo "comment=${DISTRO_NAME}" >> ${D}/etc/image-version
+       echo "target=9"  >> ${D}/etc/image-version
+       echo "creator=OpenEmbedded <oe@dreamboxupdate.com>" >> ${D}/etc/image-version
+       echo "url=http://www.dreamboxupdate.com/" >> ${D}/etc/image-version
+       echo "catalog=http://www.dreamboxupdate.com/" >> ${D}/etc/image-version
+}
diff --git a/packages/tuxbox/tuxbox-libs.bb b/packages/tuxbox/tuxbox-libs.bb
new file mode 100644 (file)
index 0000000..c044677
--- /dev/null
@@ -0,0 +1,65 @@
+DESCRIPTION = "tuxbox libs"
+DEPENDS = "zlib dreambox-dvbincludes"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/misc/libs;method=ext \
+           file://acinclude.m4"
+SRCDATE = "20040928"
+
+PR = "r2"
+
+PACKAGES_DYNAMIC = "libtuxbox-*"
+
+S = "${WORKDIR}/libs"
+
+EXTRA_OECONF = "--with-target=native"
+
+inherit autotools pkgconfig
+
+ALLOW_EMPTY = 1
+FILES_${PN} = ""
+FILES_${PN}-dev = "/usr/include/tuxbox"
+
+do_configure_prepend() {
+       install ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+python populate_packages_prepend () {
+       tuxbox_libdir = bb.data.expand('${libdir}', d)
+
+       do_split_packages(d, tuxbox_libdir, '^libtuxbox-(.*)\.so.*$', 'libtuxbox-%s', 'libtuxbox-%s')
+#      do_split_packages(d, tuxbox_libdir, '^libtuxbox-(.*)\.l?a$', 'libtuxbox-%s-dev', 'libtuxbox-%s (development files)')
+}
+
+do_stage() {
+       install -d ${STAGING_INCDIR}/tuxbox
+       install -d ${STAGING_INCDIR}/tuxbox/connection
+       install -d ${STAGING_INCDIR}/tuxbox/xmltree
+       install -d ${STAGING_INCDIR}/tuxbox/mpegtools
+  install -m 0644 ${S}/libconfigfile/configfile.h ${STAGING_INCDIR}/tuxbox/
+  install -m 0644 ${S}/libconnection/basicclient.h ${STAGING_INCDIR}/tuxbox/connection/
+  install -m 0644 ${S}/libconnection/basicmessage.h ${STAGING_INCDIR}/tuxbox/connection/
+  install -m 0644 ${S}/libconnection/basicserver.h ${STAGING_INCDIR}/tuxbox/connection/
+  install -m 0644 ${S}/libconnection/basicsocket.h ${STAGING_INCDIR}/tuxbox/connection/
+  install -m 0644 ${S}/libconnection/messagetools.h  ${STAGING_INCDIR}/tuxbox/connection/
+  install -m 0644 ${S}/libcramfs/libcramfs.h ${STAGING_INCDIR}/tuxbox/
+  install -m 0644 ${S}/libeventserver/eventserver.h ${STAGING_INCDIR}/tuxbox/
+  install -m 0644 ${S}/libmd5sum/libmd5sum.h ${STAGING_INCDIR}/tuxbox/
+  install -m 0644 ${S}/libmpegtools/ctools.h ${STAGING_INCDIR}/tuxbox/mpegtools/
+  install -m 0644 ${S}/libmpegtools/remux.h ${STAGING_INCDIR}/tuxbox/mpegtools/
+  install -m 0644 ${S}/libmpegtools/ringbuffy.h ${STAGING_INCDIR}/tuxbox/mpegtools/
+  install -m 0644 ${S}/libmpegtools/transform.h ${STAGING_INCDIR}/tuxbox/mpegtools/
+  install -m 0644 ${S}/libnet/libnet.h ${STAGING_INCDIR}/tuxbox/
+  install -m 0644 ${S}/libnet/network_interfaces.h ${STAGING_INCDIR}/tuxbox/
+  install -m 0644 ${S}/libucodes/libucodes.h ${STAGING_INCDIR}/tuxbox/
+  install -m 0644 ${S}/libxmltree/hashtab.h  ${STAGING_INCDIR}/tuxbox/xmltree/
+  install -m 0644 ${S}/libxmltree/xmlparse.h ${STAGING_INCDIR}/tuxbox/xmltree/
+  install -m 0644 ${S}/libxmltree/xmlrole.h  ${STAGING_INCDIR}/tuxbox/xmltree/
+  install -m 0644 ${S}/libxmltree/xmltimpl.h ${STAGING_INCDIR}/tuxbox/xmltree/
+  install -m 0644 ${S}/libxmltree/xmltok.h   ${STAGING_INCDIR}/tuxbox/xmltree/
+  install -m 0644 ${S}/libxmltree/xmltree.h  ${STAGING_INCDIR}/tuxbox/xmltree/
+
+       for d in configfile connection cramfs eventserver md5sum mpegtools net ucodes xmltree; do
+               oe_libinstall -C lib$d -so libtuxbox-$d ${STAGING_LIBDIR}
+       done;
+}
+
diff --git a/packages/tuxbox/tuxbox-libtuxbox.bb b/packages/tuxbox/tuxbox-libtuxbox.bb
new file mode 100644 (file)
index 0000000..33bd33f
--- /dev/null
@@ -0,0 +1,31 @@
+DESCRIPTION = "tuxbox libtuxbox"
+DEPENDS = "dreambox-dvbincludes"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/libtuxbox;method=ext \
+           file://acinclude.m4"
+
+SRCDATE = "20040928"
+PN = "libtuxbox"
+PR = "r1"
+S = "${WORKDIR}/libtuxbox"
+EXTRA_OECONF = "--with-target=native"
+
+inherit autotools pkgconfig
+
+FILES_libtuxbox_append = " /usr/lib/libtuxbox.so"
+
+FILES_${PN}-dev = "/usr/lib/libtuxbox.la /usr/lib/libtuxbox.a \
+       /usr/lib/pkgconfig/tuxbox.pc /usr/include/tuxbox.h"
+
+python populate_packages_prepend () {
+       tuxbox_libdir = bb.data.expand('${libdir}', d)
+}
+
+do_configure_prepend() {
+       install ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+do_stage() {
+       install -m 0644 ${S}/tuxbox.h ${STAGING_INCDIR}
+       oe_libinstall -so libtuxbox ${STAGING_LIBDIR}
+}
diff --git a/packages/tuxbox/tuxbox-libtuxtxt.bb b/packages/tuxbox/tuxbox-libtuxtxt.bb
new file mode 100644 (file)
index 0000000..dc17cdc
--- /dev/null
@@ -0,0 +1,51 @@
+DESCRIPTION = "tuxbox libtuxtxt"
+DEPENDS = "dreambox-dvbincludes libpng"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/libs;method=ext \
+           file://libtuxtxt-only-libtuxtxt.diff;patch=1 \
+           file://acinclude.m4"
+
+SRC_URI_append_dm7025 = " file://libtuxtxt_32bpp.diff;patch=1"
+SRC_URI_append_dm800 = " file://libtuxtxt_32bpp.diff;patch=1"
+SRC_URI_append_dm8000 = " file://libtuxtxt_32bpp.diff;patch=1"
+
+SRCDATE_dm600pvr = "20070307"
+SRCDATE_dm500plus = "20070307"
+SRCDATE_dm7025 = "20080814"
+SRCDATE_dm800 = "20080814"
+SRCDATE_dm8000 = "20080814"
+SRCDATE_dm7020 = "20070307"
+
+PN = "libtuxtxt"
+PR = "r2"
+
+PV = "0.0+cvs${SRCDATE}"
+S = "${WORKDIR}/libs"
+EXTRA_OECONF = "--with-target=native"
+
+inherit autotools pkgconfig
+
+FILES_libtuxtxt_append = " /usr/lib/libtuxtxt.so"
+
+FILES_${PN}-dev = "/usr/lib/libtuxtxt.la /usr/lib/pkgconfig/tuxbox-tuxtxt.pc"
+
+python populate_packages_prepend () {
+       tuxbox_libdir = bb.data.expand('${libdir}', d)
+}
+
+do_configure_prepend() {
+       install ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+do_stage() {
+       install -m 0644 ${S}/libtuxtxt/tuxtxt_*.h ${STAGING_INCDIR}
+       install -d ${STAGING_INCDIR}/tuxtxt
+       install -m 0644 ${S}/libtuxtxt/tuxtxt_*.h ${STAGING_INCDIR}/tuxtxt
+       cd libtuxtxt
+       oe_libinstall -so libtuxtxt ${STAGING_LIBDIR}
+       cd ..
+}
+
+do_install_prepend() {
+       cd libtuxtxt
+}
diff --git a/packages/tuxbox/tuxbox-plugins-enigma.bb b/packages/tuxbox/tuxbox-plugins-enigma.bb
new file mode 100644 (file)
index 0000000..cab076b
--- /dev/null
@@ -0,0 +1,43 @@
+DEPENDS = "enigma"
+DESCRIPTION = "tuxbox plugins (enigma)"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/plugins;method=ext \
+          file://disable_nonworking.diff;patch=1;pnum=1 \
+          file://fix_config_path.diff;patch=1;pnum=1 \
+          file://fix_install_weather_pics.diff;patch=1;pnum=1"
+
+SRCDATE = "20060112"
+PV = "0.0+cvs${SRCDATE}"
+PR = "r0"
+
+CFLAGS_append = " -I${STAGING_INCDIR}/enigma -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CXXFLAGS_append = " -I${STAGING_INCDIR}/enigma -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+
+PACKAGES = "enigma-plugin-dreamdata enigma-plugin-dbswitch \
+       enigma-plugin-ngrabstart enigma-plugin-ngrabstop enigma-plugin-getset \
+       enigma-plugin-movieplayer enigma-plugin-script enigma-plugin-rss \
+       enigma-plugin-weather enigma-plugin-demo"
+
+FILES_enigma-plugin-dreamdata = "/usr/lib/tuxbox/plugins/dreamdata.so /usr/lib/tuxbox/plugins/dreamdata.cfg \
+       /etc/tuxbox/dreamdata.xml"
+FILES_enigma-plugin-dbswitch = "/usr/lib/tuxbox/plugins/dbswitch.so /usr/lib/tuxbox/plugins/dbswitch.cfg"
+FILES_enigma-plugin-ngrabstart = "/usr/lib/tuxbox/plugins/ngrabstart.so /usr/lib/tuxbox/plugins/ngrabstart.cfg"
+FILES_enigma-plugin-ngrabstop = "/usr/lib/tuxbox/plugins/ngrabstop.so /usr/lib/tuxbox/plugins/ngrabstop.cfg"
+FILES_enigma-plugin-getset = "/usr/lib/tuxbox/plugins/enigma_getset.so /usr/lib/tuxbox/plugins/enigma_getset.cfg"
+FILES_enigma-plugin-movieplayer = "/usr/lib/tuxbox/plugins/movieplayer.so /usr/lib/tuxbox/plugins/movieplayer.cfg"
+FILES_enigma-plugin-script = "/usr/lib/tuxbox/plugins/script.so /usr/lib/tuxbox/plugins/script.cfg"
+FILES_enigma-plugin-rss = "/usr/lib/tuxbox/plugins/rss.so /usr/lib/tuxbox/plugins/rss.cfg \
+       /etc/tuxbox/feeds.xml"
+FILES_enigma-plugin-weather = "/usr/lib/tuxbox/plugins/weather.so /usr/lib/tuxbox/plugins/weather.cfg \
+       /etc/tuxbox/weather.xml /usr/share/tuxbox/weather/*.png"
+FILES_enigma-plugin-demo = "/usr/lib/tuxbox/plugins/enigma_demo.so /usr/lib/tuxbox/plugins/enigma_demo.cfg"
+
+S = "${WORKDIR}/plugins"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=native --with-boxtype=dm7020"
diff --git a/packages/tuxbox/tuxbox-plugins-enigma/disable_libtuxbox.diff b/packages/tuxbox/tuxbox-plugins-enigma/disable_libtuxbox.diff
new file mode 100644 (file)
index 0000000..b9ed412
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur plugins/configure.ac plugins_patched/configure.ac
+--- plugins/configure.ac       2005-06-28 15:20:19.000000000 +0200
++++ plugins_patched/configure.ac       2005-06-28 16:18:42.437757664 +0200
+@@ -23,7 +23,7 @@
+ TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config)
+ TUXBOX_APPS_LIB_PKGCONFIG(PNG,libpng)
+ TUXBOX_APPS_LIB_PKGCONFIG(SIGC,sigc++-1.2)
+-TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
++#TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
+ TUXBOX_APPS_LIB_PKGCONFIG(XMLTREE,tuxbox-xmltree)
+ TUXBOX_APPS_LIB_PKGCONFIG(CONFIGFILE,tuxbox-configfile)
+ #TUXBOX_APPS_LIB_PKGCONFIG(TUXTXT,tuxbox-tuxtxt)
diff --git a/packages/tuxbox/tuxbox-plugins-enigma/disable_nonworking.diff b/packages/tuxbox/tuxbox-plugins-enigma/disable_nonworking.diff
new file mode 100644 (file)
index 0000000..b17c78e
--- /dev/null
@@ -0,0 +1,19 @@
+diff -Naur plugins_org/Makefile.am plugins/Makefile.am
+--- plugins_org/Makefile.am    2005-11-19 21:55:18.000000000 +0100
++++ plugins/Makefile.am        2006-01-12 01:26:06.000000000 +0100
+@@ -1,7 +1,7 @@
+ AUTOMAKE_OPTIONS = gnu
+ SUBDIRS = \
+-      include tuxmail tuxtxt tuxcom fx2 vncviewer enigma
++      enigma
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = \
+diff -Naur plugins_org/enigma/Makefile.am plugins/enigma/Makefile.am
+--- plugins_org/enigma/Makefile.am     2005-11-19 19:31:51.000000000 +0100
++++ plugins/enigma/Makefile.am 2006-01-12 01:26:20.000000000 +0100
+@@ -1,2 +1,2 @@
+-SUBDIRS = demo dreamdata ngrabstart ngrabstop dslconnect dsldisconnect rss script weather dbswitch getset dreamflash movieplayer
++SUBDIRS = demo dreamdata ngrabstart ngrabstop dslconnect dsldisconnect rss script weather dbswitch getset movieplayer
diff --git a/packages/tuxbox/tuxbox-plugins-enigma/fix_config_path.diff b/packages/tuxbox/tuxbox-plugins-enigma/fix_config_path.diff
new file mode 100644 (file)
index 0000000..b9cc6a0
--- /dev/null
@@ -0,0 +1,13 @@
+diff -Naur plugins_org/enigma/rss/rss.cpp plugins/enigma/rss/rss.cpp
+--- plugins/enigma/rss/rss.cpp 2006-01-11 16:59:35.000000000 +0100
++++ plugins/enigma/rss/rss.cpp 2006-01-11 17:00:55.000000000 +0100
+@@ -82,8 +82,7 @@
+       setFocus(theList);
+-      if (!theConfigParser.parse("/var/tuxbox/config/feeds.xml"))
+-              theConfigParser.parse(CONFIGDIR"/feeds.xml");
++      theConfigParser.parse(CONFIGDIR"/feeds.xml");
+       theRssFeed = new rssFeed();
+       theRssFeed->hide();
diff --git a/packages/tuxbox/tuxbox-plugins-enigma/fix_install_weather_pics.diff b/packages/tuxbox/tuxbox-plugins-enigma/fix_install_weather_pics.diff
new file mode 100644 (file)
index 0000000..0ffbbb5
--- /dev/null
@@ -0,0 +1,15 @@
+diff -Naur plugins_org/enigma/weather/icons/Makefile.am plugins/enigma/weather/icons/Makefile.am
+--- plugins_org/enigma/weather/icons/Makefile.am       2005-09-21 08:30:19.000000000 +0200
++++ plugins/enigma/weather/icons/Makefile.am   2006-01-12 02:27:27.000000000 +0100
+@@ -1,6 +1,6 @@
+-installdir = $(DESTDIR)$(DATADIR)/weather
++install-exec-local:
++      install -d $(DESTDIR)$(DATADIR)/weather
++      install -m 0644 *.png $(DESTDIR)$(DATADIR)/weather
+-install_DATA = \
+-      1.png 4.png 5.png 7.png 8.png 10.png 11.png 12.png 13.png 14.png 15.png \
+-      16.png 18.png 19.png 20.png 21.png 23.png 25.png 26.png 28.png 30.png \
+-      32.png 36.png 37.png 38.png 39.png 43.png unknown.png
++uninstall-local:
++      -rm -R $(DESTDIR)$(DATADIR)/weather
diff --git a/packages/tuxbox/tuxbox-plugins.bb b/packages/tuxbox/tuxbox-plugins.bb
new file mode 100644 (file)
index 0000000..5e4b9bd
--- /dev/null
@@ -0,0 +1,81 @@
+DEPENDS = "curl libpng freetype dreambox-dvbincludes libtuxtxt"
+DESCRIPTION = "tuxbox plugins"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/plugins;method=ext \
+          file://disable_nonworking.diff;patch=1;pnum=1 \
+          file://tuxtxt_include_fix.patch;patch=1;pnum=1 \
+           file://game_names.diff;patch=1;pnum=1"
+
+SRCDATE = "20061009"
+PV = "0.0+cvs${SRCDATE}"
+PR = "r0"
+
+CFLAGS_append = " -DOE"
+CFLAGS_append_dm7020 = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CFLAGS_append_dm600pvr = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CFLAGS_append_dm500plus = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CXXFLAGS_append = " -DOE"
+CXXFLAGS_append_dm7020 = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CXXFLAGS_append_dm600pvr = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CXXFLAGS_append_dm500plus = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+
+PACKAGES = "tuxbox-plugins-dev tuxbox-plugin-tuxtxt tuxbox-plugin-tuxmail \
+       tuxbox-plugin-tuxcom tuxbox-plugin-mines tuxbox-plugin-pacman \
+       tuxbox-plugin-tetris tuxbox-plugin-snake tuxbox-plugin-yahtzee \
+       tuxbox-plugin-master tuxbox-plugin-tank tuxbox-plugin-lemmings \
+       tuxbox-plugin-lcdcirc tuxbox-plugin-satfind tuxbox-plugin-vierg \
+       tuxbox-plugin-soko tuxbox-plugin-solitair tuxbox-plugin-sol \
+       tuxbox-plugin-fx2 tuxbox-plugin-vnc"
+
+FILES_tuxbox-plugin-tuxtxt = "/usr/lib/tuxbox/plugins/tuxtxt.so /usr/lib/tuxbox/plugins/tuxtxt.cfg \
+       /usr/share/fonts/tuxtxt.ttf /usr/share/fonts/tuxtxt.otb /etc/tuxbox/tuxtxt"
+FILES_tuxbox-plugin-tuxmail = "/usr/lib/tuxbox/plugins/tuxmail.so /usr/lib/tuxbox/plugins/tuxmail.cfg \
+       /etc/tuxbox/tuxmail/tuxmail.conf /usr/bin/tuxmaild /etc/init.d/tuxmail"
+FILES_tuxbox-plugin-tuxcom = "/usr/lib/tuxbox/plugins/tuxcom.so /usr/lib/tuxbox/plugins/tuxcom.cfg"
+FILES_tuxbox-plugin-mines = "/usr/lib/tuxbox/plugins/mines.so /usr/lib/tuxbox/plugins/mines.cfg"
+FILES_tuxbox-plugin-pacman = "/usr/lib/tuxbox/plugins/pacman.so /usr/lib/tuxbox/plugins/pacman.cfg"
+FILES_tuxbox-plugin-tetris = "/usr/lib/tuxbox/plugins/tetris.so /usr/lib/tuxbox/plugins/tetris.cfg"
+FILES_tuxbox-plugin-snake = "/usr/lib/tuxbox/plugins/snake.so /usr/lib/tuxbox/plugins/snake.cfg"
+FILES_tuxbox-plugin-yahtzee = "/usr/lib/tuxbox/plugins/yahtzee.so /usr/lib/tuxbox/plugins/yahtzee.cfg"
+FILES_tuxbox-plugin-master = "/usr/lib/tuxbox/plugins/master.so /usr/lib/tuxbox/plugins/master.cfg"
+FILES_tuxbox-plugin-tank = "/usr/lib/tuxbox/plugins/tank.so /usr/lib/tuxbox/plugins/tank.cfg"
+FILES_tuxbox-plugin-lemmings = "/usr/lib/tuxbox/plugins/lemmings.so /usr/lib/tuxbox/plugins/lemmings.cfg"
+FILES_tuxbox-plugin-lcdcirc = "/usr/lib/tuxbox/plugins/lcdcirc.so /usr/lib/tuxbox/plugins/lcdcirc.cfg"
+FILES_tuxbox-plugin-satfind = "/usr/lib/tuxbox/plugins/satfind.so /usr/lib/tuxbox/plugins/satfind.cfg"
+FILES_tuxbox-plugin-vierg = "/usr/lib/tuxbox/plugins/vierg.so /usr/lib/tuxbox/plugins/vierg.cfg"
+FILES_tuxbox-plugin-soko = "/usr/lib/tuxbox/plugins/soko.so /usr/lib/tuxbox/plugins/soko.cfg \
+       /usr/share/tuxbox/sokoban/1.xsb /usr/share/tuxbox/sokoban/11.xsb /usr/share/tuxbox/sokoban/7.xsb \
+       /usr/share/tuxbox/sokoban/8.xsb /usr/share/tuxbox/sokoban/albe-01.xsb /usr/share/tuxbox/sokoban/albe-02.xsb \
+       /usr/share/tuxbox/sokoban/albe-03.xsb /usr/share/tuxbox/sokoban/albe-04.xsb /usr/share/tuxbox/sokoban/albe-05.xsb \
+       /usr/share/tuxbox/sokoban/albe-06.xsb /usr/share/tuxbox/sokoban/albe-07.xsb /usr/share/tuxbox/sokoban/albe-08.xsb \
+       /usr/share/tuxbox/sokoban/albe-09.xsb /usr/share/tuxbox/sokoban/albe-10.xsb /usr/share/tuxbox/sokoban/albe-12.xsb \
+       /usr/share/tuxbox/sokoban/albe-13.xsb"
+FILES_tuxbox-plugin-solitair = "/usr/lib/tuxbox/plugins/solitair.so /usr/lib/tuxbox/plugins/solitair.cfg"
+FILES_tuxbox-plugin-sol = "/usr/lib/tuxbox/plugins/sol.so /usr/lib/tuxbox/plugins/sol.cfg"
+FILES_tuxbox-plugin-fx2 = "/usr/lib/tuxbox/plugins/libfx2.so"
+FILES_tuxbox-plugin-vnc = "/usr/lib/tuxbox/plugins/vnc.so /usr/lib/tuxbox/plugins/vnc.cfg /etc/tuxbox/vnc.conf"
+
+S = "${WORKDIR}/plugins"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=native"
+EXTRA_OECONF_append_dm7020 = " --with-boxtype=dm7020"
+# checkme!
+EXTRA_OECONF_append_dm600pvr = " --with-boxtype=dm7020"
+EXTRA_OECONF_append_dm500plus = " --with-boxtype=dm7020"
+
+do_install_append() {
+       install -d ${D}/etc/tuxbox/tuxtxt/
+       install -d ${D}/etc/init.d/
+       install ${S}/tuxmail/daemon/tuxmail ${D}/etc/init.d
+}
+
+do_stage() {
+       install -d ${STAGING_INCDIR}/tuxbox
+       install -m 0644 ${S}/include/plugin.h ${STAGING_INCDIR}/tuxbox/
+}
diff --git a/packages/tuxbox/tuxbox-plugins/disable_libtuxbox.diff b/packages/tuxbox/tuxbox-plugins/disable_libtuxbox.diff
new file mode 100644 (file)
index 0000000..b9ed412
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur plugins/configure.ac plugins_patched/configure.ac
+--- plugins/configure.ac       2005-06-28 15:20:19.000000000 +0200
++++ plugins_patched/configure.ac       2005-06-28 16:18:42.437757664 +0200
+@@ -23,7 +23,7 @@
+ TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config)
+ TUXBOX_APPS_LIB_PKGCONFIG(PNG,libpng)
+ TUXBOX_APPS_LIB_PKGCONFIG(SIGC,sigc++-1.2)
+-TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
++#TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
+ TUXBOX_APPS_LIB_PKGCONFIG(XMLTREE,tuxbox-xmltree)
+ TUXBOX_APPS_LIB_PKGCONFIG(CONFIGFILE,tuxbox-configfile)
+ #TUXBOX_APPS_LIB_PKGCONFIG(TUXTXT,tuxbox-tuxtxt)
diff --git a/packages/tuxbox/tuxbox-plugins/disable_nonworking.diff b/packages/tuxbox/tuxbox-plugins/disable_nonworking.diff
new file mode 100644 (file)
index 0000000..f73b412
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur plugins_org/Makefile.am plugins/Makefile.am
+--- plugins_org/Makefile.am    2005-11-19 21:55:18.000000000 +0100
++++ plugins/Makefile.am        2006-01-12 01:24:26.000000000 +0100
+@@ -1,7 +1,7 @@
+ AUTOMAKE_OPTIONS = gnu
+ SUBDIRS = \
+-      include tuxmail tuxtxt tuxcom tuxcal fx2 vncviewer enigma
++      include tuxmail tuxtxt tuxcom tuxcal fx2 vncviewer
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = \
diff --git a/packages/tuxbox/tuxbox-plugins/game_names.diff b/packages/tuxbox/tuxbox-plugins/game_names.diff
new file mode 100644 (file)
index 0000000..f9f237d
--- /dev/null
@@ -0,0 +1,82 @@
+diff -Naur a/fx2/master/master.cfg b/fx2/master/master.cfg
+--- a/fx2/master/master.cfg    2004-07-11 12:23:21.000000000 +0200
++++ b/fx2/master/master.cfg    2005-01-17 13:08:39.000000000 +0100
+@@ -1,4 +1,4 @@
+-name=Mastermind
++name=Mindmaster
+ desc=food for brain
+ type=1
+ needfb=1
+diff -Naur a/fx2/mines/mines.cfg b/fx2/mines/mines.cfg
+--- a/fx2/mines/mines.cfg      2004-07-11 12:23:21.000000000 +0200
++++ b/fx2/mines/mines.cfg      2005-01-17 13:09:35.000000000 +0100
+@@ -1,5 +1,5 @@
+-name=Minesweeper
+-desc=classic minesweeper
++name=Sweepminer
++desc=classic Sweepminer
+ type=1
+ needfb=1
+ needrc=1
+diff -Naur a/fx2/pac/pacman.cfg b/fx2/pac/pacman.cfg
+--- a/fx2/pac/pacman.cfg       2001-11-08 15:47:45.000000000 +0100
++++ b/fx2/pac/pacman.cfg       2005-01-17 13:10:12.000000000 +0100
+@@ -1,6 +1,6 @@
+ pluginversion=1
+-name=Pacman
+-desc=The good old pacman in new dboxII generation
++name=Paccer
++desc=The good old paccer
+ depend=libfx2.so
+ type=1
+ needfb=1
+diff -Naur a/fx2/sokoban/soko.cfg b/fx2/sokoban/soko.cfg
+--- a/fx2/sokoban/soko.cfg     2005-01-17 13:19:02.000000000 +0100
++++ b/fx2/sokoban/soko.cfg     2005-01-17 13:19:16.000000000 +0100
+@@ -1,4 +1,4 @@
+-name=Sokoban
++name=Zokoban
+ desc=Push it, baby!
+ type=1
+ needfb=1
+diff -Naur a/fx2/solitair/solitair.cfg b/fx2/solitair/solitair.cfg
+--- a/fx2/solitair/solitair.cfg        2003-08-25 15:56:57.000000000 +0200
++++ b/fx2/solitair/solitair.cfg        2005-01-17 13:12:16.000000000 +0100
+@@ -1,5 +1,5 @@
+ pluginversion=1
+-name=Solitair
++name=Solitaer
+ desc=a card game
+ depend=libfx2.so
+ type=1
+diff -Naur a/fx2/tank/tank.cfg b/fx2/tank/tank.cfg
+--- a/fx2/tank/tank.cfg        2005-01-17 13:20:11.000000000 +0100
++++ b/fx2/tank/tank.cfg        2005-01-17 13:20:46.000000000 +0100
+@@ -1,4 +1,4 @@
+-name=TankWars
++name=WarTank
+ desc=stay cool
+ depend=libfx2.so
+ type=1
+diff -Naur a/fx2/tetris/tetris.cfg b/fx2/tetris/tetris.cfg
+--- a/fx2/tetris/tetris.cfg    2004-07-11 12:23:22.000000000 +0200
++++ b/fx2/tetris/tetris.cfg    2005-01-17 13:12:46.000000000 +0100
+@@ -1,6 +1,6 @@
+ pluginversion=1
+-name=Tetris
+-desc=i break together - tetris  :)
++name=Blocktris
++desc=i break together - blocktris  :)
+ type=1
+ needfb=1
+ needrc=1
+diff -Naur a/fx2/yahtzee/yahtzee.cfg b/fx2/yahtzee/yahtzee.cfg
+--- a/fx2/yahtzee/yahtzee.cfg  2005-01-17 13:20:20.000000000 +0100
++++ b/fx2/yahtzee/yahtzee.cfg  2005-01-17 13:20:37.000000000 +0100
+@@ -1,5 +1,5 @@
+ pluginversion=1
+-name=Yahtzee
++name=Yahtzea
+ desc=a game for 1-4 player
+ depend=libfx2.so
+ type=1
diff --git a/packages/tuxbox/tuxbox-plugins/tuxtxt_include_fix.patch b/packages/tuxbox/tuxbox-plugins/tuxtxt_include_fix.patch
new file mode 100644 (file)
index 0000000..366f72f
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur tuxtxt/Makefile.am tuxtxt_patched/Makefile.am
+--- a/tuxtxt/Makefile.am       2006-10-05 13:17:15.000000000 +0200
++++ b/tuxtxt/Makefile.am       2007-02-07 22:59:43.000000000 +0100
+@@ -4,7 +4,7 @@
+ AM_CPPFLAGS = \
+       @FREETYPE_CFLAGS@ \
+       -I$(top_srcdir)/include \
+-      -I$(includedir)/tuxbox/tuxtxt 
++      -I$(prefix)/$(includedir)/tuxbox/tuxtxt 
+ tuxtxt_la_LIBADD = \
+       @FREETYPE_LIBS@ \
diff --git a/packages/tuxbox/tuxbox-stream.bb b/packages/tuxbox/tuxbox-stream.bb
new file mode 100644 (file)
index 0000000..f0d612c
--- /dev/null
@@ -0,0 +1,31 @@
+DEPENDS = "dreambox-dvbincludes tuxbox-libs"
+RDEPENDS = "libtuxbox-mpegtools0"
+DESCRIPTION = "tuxbox net streaming tools"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/dvb/tools/stream;method=ext \
+           file://acinclude.m4 \
+           file://enable_transform.diff;patch=1;pnum=1 \
+          file://add_configfiles.diff;patch=1;pnum=1"
+
+SRCDATE = "20050802"
+S = "${WORKDIR}/stream"
+PV = "1.0+${SRCDATE}"
+PR = "r1"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=native --with-boxtype=${MACHINE}"
+
+CFLAGS_append = " -DHAVE_DREAMBOX_HARDWARE"
+
+do_configure_prepend() {
+       install ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+do_install_append() {
+       ln -s streampes ${D}/usr/sbin/streames
+}
diff --git a/packages/tuxbox/tuxbox-stream/add_configfiles.diff b/packages/tuxbox/tuxbox-stream/add_configfiles.diff
new file mode 100644 (file)
index 0000000..4dec258
--- /dev/null
@@ -0,0 +1,55 @@
+diff -Naur stream/AUTHORS stream_configure/AUTHORS
+--- stream/AUTHORS     1970-01-01 01:00:00.000000000 +0100
++++ stream_configure/AUTHORS   2004-09-17 17:47:12.000000000 +0200
+@@ -0,0 +1,22 @@
++In order of appearance in cvs:
++------------------------------------------------
++Felix Domke           <tmbinc@berlios.de>
++Andreas Oberritter    <obi@berlios.de>
++Steffen Hehn          <mcclean@berlios.de>
++Andreas Monzner               <ghostrider@berlios.de>
++Florian Roks          <trh@berlios.de>
++Ronny Strutz          <tripledes@berlios.de>
++Bastian Blank         <waldi@berlios.de>
++Henning Heinold               <woglinde@berlios.de>
++Rainer Scherg         <rasc@berlios.de>
++Steffen Buehl         <shadow@berlios.de>
++Wolfram Joost         <wjoost@berlios.de>
++Thomas Herold         <dertom@berlios.de>
++Stefan Pluecken               <thedoc@berlios.de>
++Florian Schirmer      <jolt@berlios.de>
++Christoph Ketzler     <chkdesign@berlios.de>
++Bernhard Roth         <bernroth@berlios.de>
++
++Also many thanks to everyone who supported development
++without having cvs write access
++
+diff -Naur stream/configure.ac stream_configure/configure.ac
+--- stream/configure.ac        1970-01-01 01:00:00.000000000 +0100
++++ stream_configure/configure.ac      2004-11-16 00:13:26.000000000 +0100
+@@ -0,0 +1,25 @@
++AC_INIT([tuxbox-stream],[1.0.0],[obi@tuxbox.org])
++AM_INIT_AUTOMAKE([dist-bzip2 no-define])
++
++TUXBOX_APPS
++TUXBOX_APPS_DIRECTORYY
++
++AC_PROG_CC
++AC_PROG_LIBTOOL
++AC_PROG_RANLIB
++
++TUXBOX_APPS_DVB
++TUXBOX_APPS_DRIVER
++
++TUXBOX_APPS_LIB_PKGCONFIG(MPEGTOOLS,tuxbox-mpegtools)
++
++AC_ARG_WITH(boxtype,
++      [  --with-boxtype=NAME dreambox/dbox2 [[dbox2,dreambox]]],
++      [BOXTYPE="$withval"],[BOXTYPE="dbox2"])
++AC_SUBST(BOXTYPE)
++AM_CONDITIONAL(BOXTYPE_DREAMBOX,test "$BOXTYPE" != "dbox2")
++AM_CONDITIONAL(BOXTYPE_DBOX2,test "$BOXTYPE" = "dbox2")
++
++AC_OUTPUT([
++Makefile
++])
diff --git a/packages/tuxbox/tuxbox-stream/enable_transform.diff b/packages/tuxbox/tuxbox-stream/enable_transform.diff
new file mode 100644 (file)
index 0000000..fc7fb77
--- /dev/null
@@ -0,0 +1,24 @@
+diff -Naur stream/Makefile.am stream_patched/Makefile.am
+--- stream/Makefile.am 2005-06-01 17:20:04.000000000 +0200
++++ stream_patched/Makefile.am 2005-08-08 14:03:02.000000000 +0200
+@@ -2,6 +2,8 @@
+ sbin_PROGRAMS = streampes streamts streamsec udpstreamts udpstreampes
+ udpstreampes_LDADD = -lpthread
+ udpstreampes_SOURCES = udpstreampes.cpp
++INCLUDES = @MPEGTOOLS_CFLAGS@
++streamts_LDADD = @MPEGTOOLS_LIBS@
+ else
+ sbin_PROGRAMS = streampes streamts streamsec udpstreamts streamfile fserver
+ INCLUDES = @MPEGTOOLS_CFLAGS@
+diff -Naur stream/streamts.c stream_patched/streamts.c
+--- stream/streamts.c  2005-08-02 23:32:31.000000000 +0200
++++ stream_patched/streamts.c  2005-08-08 17:02:14.000000000 +0200
+@@ -57,7 +57,7 @@
+     #ifdef HAVE_DREAMBOX_HARDWARE
+       #define DMXDEV "/dev/dvb/card0/demux1"
+       #define DVRDEV "/dev/dvb/card0/dvr1"
+-      #undef TRANSFORM
++      #define TRANSFORM
+     #else
+       #define DMXDEV "/dev/dvb/card0/demux0"
+       #define DMXDEV "/dev/dvb/card0/dvr0"
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp.bb b/packages/tuxbox/tuxbox-tuxtxt-32bpp.bb
new file mode 100644 (file)
index 0000000..e9f2b99
--- /dev/null
@@ -0,0 +1,39 @@
+DEPENDS = "freetype dreambox-dvbincludes libtuxtxt"
+DESCRIPTION = "tuxbox tuxtxt for 32bit framebuffer"
+MAINTAINER = "Sven Karschewski <seddi@i-have-a-dreambox.com>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/plugins/tuxtxt;method=ext \
+       file://makefiles.diff;patch=1;pnum=1 \
+       file://32bpp.diff;patch=1;pnum=1 \
+       file://add_new_default_conf.diff;patch=1;pnum=1 \
+       file://makelib.diff;patch=1 \
+       file://plugin.py \
+       file://freetype2.patch;patch=1 \
+       file://hdres.patch;patch=1"
+
+FILES_${PN} = "/usr/lib/libtuxtxt32bpp.so* /usr/share/fonts /usr/lib/enigma2/python/Plugins/Extensions/Tuxtxt /etc/tuxtxt"
+
+SRCDATE = "20080814"
+PV = "0.0+cvs${SRCDATE}"
+PR = "r0"
+
+S = "${WORKDIR}/tuxtxt"
+
+CFLAGS_append = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=native"
+
+do_configure_prepend() {
+       touch ${S}/python/__init__.py
+       install -m 0644 ${WORKDIR}/plugin.py ${S}/python
+}
+
+do_stage() {
+       oe_libinstall -so -C .libs libtuxtxt32bpp ${STAGING_LIBDIR}
+       install -m 0644 tuxtxt.h ${STAGING_INCDIR}/
+}
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp/32bpp.diff b/packages/tuxbox/tuxbox-tuxtxt-32bpp/32bpp.diff
new file mode 100644 (file)
index 0000000..f2ae6de
--- /dev/null
@@ -0,0 +1,1014 @@
+diff -ru tuxtxt.e1/tuxtxt.c tuxtxt/tuxtxt.c
+--- tuxtxt.e1/tuxtxt.c 2008-08-13 20:08:47.000000000 +0200
++++ tuxtxt/tuxtxt.c    2008-06-20 16:31:00.000000000 +0200
+@@ -6,21 +6,50 @@
+  *    continued 2004-2005 by Roland Meier <RolandMeier@Siemens.com>           *
+  *                       and DBLuelle <dbluelle@blau-weissoedingen.de>        *
+  *                                                                            *
++ *              ported 2006 to Dreambox 7025 / 32Bit framebuffer              *
++ *                   by Seddi <seddi@i-have-a-dreambox.com>                   *
++ *                                                                            *
++ *              ported 32Bit framebuffer to Tuxtxt v1.99 (2008)               *
++ *                      by the PLi team (Sat-Turner)                          *
++ *                                                                            *
+  ******************************************************************************/
+ #include "tuxtxt.h"
++static char saved_wss[32];
++static char saved_pin8[32];
++
++void readproc(const char* source, char *dest)
++{
++      FILE *f=fopen(source, "rt");
++      if(f)
++      {
++              fgets(dest, 255, f);
++              fclose(f);
++      }
++}
++
++void writeproc(const char* dest, const char *value)
++{
++      FILE *f=fopen(dest, "w");
++      if (f)
++      {
++              fwrite(value, strlen(value), 1, f);
++              fclose(f);
++      }
++}
++
+ void FillBorder(int color)
+ {
+       int ys =  (var_screeninfo.yres-var_screeninfo.yoffset);
+-      tuxtxt_FillRect(lfb,var_screeninfo.xres,0     , ys                     ,StartX      ,var_screeninfo.yres                       ,color);
+-      tuxtxt_FillRect(lfb,var_screeninfo.xres,StartX, ys                     ,displaywidth,StartY                                    ,color);
+-      tuxtxt_FillRect(lfb,var_screeninfo.xres,StartX, ys+StartY+25*fontheight,displaywidth,var_screeninfo.yres-(StartY+25*fontheight),color);
++      tuxtxt_FillRect(lfb,fix_screeninfo.line_length,0     , ys                     ,StartX      ,var_screeninfo.yres                       ,color);
++      tuxtxt_FillRect(lfb,fix_screeninfo.line_length,StartX, ys                     ,displaywidth,StartY                                    ,color);
++      tuxtxt_FillRect(lfb,fix_screeninfo.line_length,StartX, ys+StartY+25*fontheight,displaywidth,var_screeninfo.yres-(StartY+25*fontheight),color);
+       if (screenmode == 0 )
+-              tuxtxt_FillRect(lfb,var_screeninfo.xres,StartX+displaywidth, ys,var_screeninfo.xres-(StartX+displaywidth),var_screeninfo.yres   ,color);
++              tuxtxt_FillRect(lfb,fix_screeninfo.line_length,StartX+displaywidth, ys,fix_screeninfo.line_length-(StartX+displaywidth),var_screeninfo.yres   ,color);
+ }
+ int getIndexOfPageInHotlist()
+@@ -177,17 +206,17 @@
+ void ClearBB(int color)
+ {
+-      memset(lfb + (var_screeninfo.yres-var_screeninfo.yoffset)*var_screeninfo.xres, color, var_screeninfo.xres*var_screeninfo.yres);
++      tuxtxt_FillRect(lfb,fix_screeninfo.line_length,0, var_screeninfo.yres - var_screeninfo.yoffset, fix_screeninfo.line_length, var_screeninfo.yres, color);
+ }
+ void ClearFB(int color)
+ {
+-      memset(lfb + var_screeninfo.xres*var_screeninfo.yoffset, color, var_screeninfo.xres*var_screeninfo.yres);
++      tuxtxt_FillRect(lfb,fix_screeninfo.line_length,0, var_screeninfo.yoffset, fix_screeninfo.line_length, var_screeninfo.yres, color);
+ }
+ void ClearB(int color)
+ {
+-      memset(lfb, color, 2*var_screeninfo.xres*var_screeninfo.yres);
++      tuxtxt_FillRect(lfb,fix_screeninfo.line_length,0, 0, fix_screeninfo.line_length, var_screeninfo.yres*2, color);
+ }
+@@ -233,47 +262,29 @@
+ void setcolors(unsigned short *pcolormap, int offset, int number)
+ {
+-      int i, changed=0;
++      int i,trans_tmp;
+       int j = offset; /* index in global color table */
+-      unsigned short t = tr0[transp2];
+-      tr0[transp2] = (trans_mode+7)<<11 | 0x7FF;
+-#ifndef HAVE_DREAMBOX_HARDWARE
+-      /* "correct" semi-transparent for Nokia (GTX only allows 2(?) levels of transparency) */
+-      if (tuxbox_get_vendor() == TUXBOX_VENDOR_NOKIA)
+-              tr0[transp2] = 0xFFFF;
+-#endif
+-      if (t != tr0[transp2]) changed = 1;
++      trans_tmp=25-trans_mode;
++
++      bgra[transp2][3]=((trans_tmp+7)<<11 | 0x7FF)>>8;
++
+       for (i = 0; i < number; i++)
+       {
+-              int r = (pcolormap[i] << 12) & 0xf000;
+-              int g = (pcolormap[i] <<  8) & 0xf000;
+-              int b = (pcolormap[i] <<  4) & 0xf000;
+-
++              int r = (pcolormap[i] << 12 & 0xF000) >> 8;
++              int g = (pcolormap[i] << 8 & 0xF000) >> 8;
++              int b = (pcolormap[i] << 4 & 0xF000) >> 8;
+               r = (r * (0x3f+(color_mode<<3))) >> 8;
+               g = (g * (0x3f+(color_mode<<3))) >> 8;
+               b = (b * (0x3f+(color_mode<<3))) >> 8;
+-              if (rd0[j] != r)
+-              {
+-                      rd0[j] = r;
+-                      changed = 1;
+-              }
+-              if (gn0[j] != g)
+-              {
+-                      gn0[j] = g;
+-                      changed = 1;
+-              }
+-              if (bl0[j] != b)
+-              {
+-                      bl0[j] = b;
+-                      changed = 1;
+-              }
++
++              bgra[j][2]=r;
++              bgra[j][1]=g;
++              bgra[j][0]=b;
++              
+               j++;
+       }
+-      if (changed)
+-              if (ioctl(fb, FBIOPUTCMAP, &colormap_0) == -1)
+-                      perror("TuxTxt <FBIOPUTCMAP>");
+ }
+@@ -303,13 +314,14 @@
+ /******************************************************************************
+- * plugin_exec                                                                *
++ * main loop                                                                  *
+  ******************************************************************************/
+-void plugin_exec(PluginParam *par)
++int main(int argc, char **argv)
+ {
+-      char cvs_revision[] = "$Revision: 1.100 $";
++      char cvs_revision[] = "$Revision: 1.99 $";
++      int cnt=0;
+ #if !TUXTXT_CFG_STANDALONE
+       int initialized = tuxtxt_init();
+       if ( initialized )
+@@ -319,30 +331,71 @@
+       /* show versioninfo */
+       sscanf(cvs_revision, "%*s %s", versioninfo);
+       printf("TuxTxt %s\n", versioninfo);
++      printf("for 32bpp framebuffer\n");
+       /* get params */
+       tuxtxt_cache.vtxtpid = fb = lcd = rc = sx = ex = sy = ey = -1;
++      if (argc==1)
++      {
++              printf("\nUSAGE: tuxtxt vtpid\n");
++              printf("No PID given, so scanning for PIDs ...\n\n");
++              tuxtxt_cache.vtxtpid=0;
++      }
++      else 
++      {
++              tuxtxt_cache.vtxtpid = atoi(argv[1]);
++      }
+-      for (; par; par = par->next)
++      /* open Framebuffer */
++      if ((fb=open("/dev/fb/0", O_RDWR)) == -1)
+       {
+-              if (!strcmp(par->id, P_ID_VTXTPID))
+-                      tuxtxt_cache.vtxtpid = atoi(par->val);
+-              else if (!strcmp(par->id, P_ID_FBUFFER))
+-                      fb = atoi(par->val);
+-              else if (!strcmp(par->id, P_ID_LCD))
+-                      lcd = atoi(par->val);
+-              else if (!strcmp(par->id, P_ID_RCINPUT))
+-                      rc = atoi(par->val);
+-              else if (!strcmp(par->id, P_ID_OFF_X))
+-                      sx = atoi(par->val);
+-              else if (!strcmp(par->id, P_ID_END_X))
+-                      ex = atoi(par->val);
+-              else if (!strcmp(par->id, P_ID_OFF_Y))
+-                      sy = atoi(par->val);
+-              else if (!strcmp(par->id, P_ID_END_Y))
+-                      ey = atoi(par->val);
++              perror("TuxTxt <open /dev/fb/0>");
++              return 0;
+       }
++      rc=-1;
++      while(1)
++      {
++              struct stat s;
++              char tmp[128];
++              sprintf(tmp, "/dev/input/event%d", cnt);
++              if (stat(tmp, &s))
++                      break;
++              /* open Remote Control */
++              if ((rc=open(tmp, O_RDONLY)) == -1)
++              {
++                      perror("TuxTxt <open remote control>");
++                      return 0;
++              }
++              if (ioctl(rc, EVIOCGNAME(128), tmp) < 0)
++                      perror("EVIOCGNAME failed");
++              if (strstr(tmp, "remote control"))
++                      break;
++              close(rc);
++              rc=-1;
++              ++cnt;
++      }
++      
++      if (rc == -1)
++      {
++              printf("couldnt find correct input device!!!\n");
++              return -1;
++      }
++
++      fcntl(rc, F_SETFL, fcntl(rc, F_GETFL) | O_EXCL | O_NONBLOCK);
++
++      /* open LCD  */
++      if ((lcd=open("/dev/dbox/lcd0", O_RDWR)) == -1)
++      {
++              perror("TuxTxt <open /dev/dbox/lcd0>");
++              return 0;
++      }
++
++      sx = 80;
++      ex = 620;
++      sy = 30;
++      ey = 555;
++      
+       if (tuxtxt_cache.vtxtpid == -1 || fb == -1 || rc == -1 || sx == -1 || ex == -1 || sy == -1 || ey == -1)
+       {
+               printf("TuxTxt <Invalid Param(s)>\n");
+@@ -410,6 +463,7 @@
+                                       int vendor = 3; /* values unknown, rely on requested values */
+ #endif
++#if 0
+                                       if (vendor < 3) /* scart-parameters only known for 3 dboxes, FIXME: order must be like in info.h */
+                                       {
+                                               for (i = 0; i < 6; i++) /* FIXME: FBLK seems to cause troubles */
+@@ -442,6 +496,7 @@
+                                                               perror("TuxTxt <ioctl(avs)>");
+                                               }
+                                       }
++#endif
+                                       continue; /* otherwise ignore exit key */
+                               }
+                               default:
+@@ -604,9 +659,10 @@
+       prev_10    = 0x100;
+       next_100   = 0x100;
+       next_10    = 0x100;
++      zoommode = 0;
+       tuxtxt_cache.subpage    = tuxtxt_cache.subpagetable[tuxtxt_cache.page];
+       if (tuxtxt_cache.subpage == 0xff)
+-      tuxtxt_cache.subpage    = 0;
++              tuxtxt_cache.subpage    = 0;
+       
+       tuxtxt_cache.pageupdate = 0;
+@@ -701,6 +757,14 @@
+                   dumpl25 = ival & 1;
+                       else if (1 == sscanf(line, "UseTTF %i", &ival))
+                   usettf = ival & 1;
++                      else if (1 == sscanf(line, "StartX %i", &ival))
++                  sx = ival;
++                      else if (1 == sscanf(line, "EndX %i", &ival))
++                  ex = ival;
++                      else if (1 == sscanf(line, "StartY %i", &ival))
++                  sy = ival;
++                      else if (1 == sscanf(line, "EndY %i", &ival))
++                  ey = ival;
+               }
+               fclose(conf);
+       }
+@@ -764,11 +828,8 @@
+               typettf.font.pix_height = (FT_UShort) 23;
+       }
+-#if HAVE_DVB_API_VERSION >= 3
+-      typettf.flags = FT_LOAD_MONOCHROME;
+-#else
+       typettf.image_type = ftc_image_mono;
+-#endif
++
+       if ((error = FTC_Manager_Lookup_Face(manager, typettf.font.face_id, &face)))
+       {
+               typettf.font.face_id = (usettf ? (FTC_FaceID) TUXTXTTTF : TUXTXTOTB);
+@@ -896,46 +957,16 @@
+       tuxtxt_start(tuxtxt_cache.vtxtpid);
+ #endif
+-      /* open avs */
+-      if ((avs = open(AVS, O_RDWR)) == -1)
+-      {
+-              perror("TuxTxt <open AVS>");
+-              FTC_Manager_Done(manager);
+-              FT_Done_FreeType(library);
+-              return 0;
+-      }
+-
+-      ioctl(avs, AVSIOGSCARTPIN8, &fnc_old);
+-      ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screen_mode1]);
+-
+-      /* open saa */
+-      if ((saa = open(SAA, O_RDWR)) == -1)
+-      {
+-              perror("TuxTxt <open SAA>");
+-              FTC_Manager_Done(manager);
+-              FT_Done_FreeType(library);
+-              return 0;
+-      }
+-
+-      ioctl(saa, SAAIOGWSS, &saa_old);
+-      ioctl(saa, SAAIOSWSS, &saamodes[screen_mode1]);
+-
+-      /* open pig */
+-      if ((pig = open(PIG, O_RDWR)) == -1)
+-      {
+-              perror("TuxTxt <open PIG>");
+-              FTC_Manager_Done(manager);
+-              FT_Done_FreeType(library);
+-              return 0;
+-      }
+-
++      readproc("/proc/stb/denc/0/wss", saved_wss);
++      writeproc("/proc/stb/denc/0/wss", saamodes[screen_mode1]);
++      
++      readproc("/proc/stb/avs/0/sb", saved_pin8);
++      writeproc("/proc/stb/avs/0/sb", fncmodes[screen_mode1]);
++      
+       /* setup rc */
+       fcntl(rc, F_SETFL, O_NONBLOCK);
+       ioctl(rc, RC_IOCTL_BCODES, 1);
+-
+-
+-
+       gethotlist();
+       SwitchScreenMode(screenmode);
+       prevscreenmode = screenmode;
+@@ -957,7 +988,6 @@
+       /* hide and close pig */
+       if (screenmode)
+               SwitchScreenMode(0); /* turn off divided screen */
+-      close(pig);
+ #if TUXTXT_CFG_STANDALONE
+       tuxtxt_stop_thread();
+@@ -965,12 +995,10 @@
+       if (tuxtxt_cache.dmx != -1)
+           close(tuxtxt_cache.dmx);
+       tuxtxt_cache.dmx = -1;
+-#else
+-      tuxtxt_stop();
+ #endif
+       /* restore videoformat */
+-      ioctl(avs, AVSIOSSCARTPIN8, &fnc_old);
+-      ioctl(saa, SAAIOSWSS, &saa_old);
++      writeproc("/proc/stb/avs/0/sb", saved_pin8);
++      writeproc("/proc/stb/denc/0/wss", saved_wss);
+       if (restoreaudio)
+       {
+@@ -979,6 +1007,7 @@
+ #else
+               int vendor = 3; /* values unknown, rely on requested values */
+ #endif
++#if 0
+               if (vendor < 3) /* scart-parameters only known for 3 dboxes, FIXME: order must be like in info.h */
+               {
+                       for (i = 1; i < 6; i += 2) /* restore dvb audio */
+@@ -988,6 +1017,7 @@
+                                       perror("TuxTxt <ioctl(avs)>");
+                       }
+               }
++#endif
+       }
+       /* clear subtitlecache */
+       for (i = 0; i < SUBTITLE_CACHESIZE; i++)
+@@ -1003,12 +1033,8 @@
+               if (ioctl(fb, FBIOPAN_DISPLAY, &var_screeninfo) == -1)
+                       perror("TuxTxt <FBIOPAN_DISPLAY>");
+       }
+-       /* close avs */
+-      close(avs);
+-
+-      /* close saa */
+-      close(saa);
+-
++      /* clear screen */
++      memset(lfb, 0, var_screeninfo.yres * fix_screeninfo.line_length);
+       /* close freetype */
+       FTC_Manager_Done(manager);
+@@ -1017,7 +1043,17 @@
+       /* unmap framebuffer */
+       munmap(lfb, fix_screeninfo.smem_len);
++      /* close lcd */
++      close(lcd);
++      
++      /* close rc */
++      close(rc);
++      /* close framebuffer */
++      close(fb);
++      
++      lcd = rc = fb = -1;
++ 
+       if (hotlistchanged)
+               savehotlist();
+@@ -1050,6 +1086,10 @@
+                       fprintf(conf, "ShowLevel2p5 %d\n", showl25);
+                       fprintf(conf, "DumpLevel2p5 %d\n", dumpl25);
+                       fprintf(conf, "UseTTF %d\n", usettf);
++                      fprintf(conf, "StartX %d\n", sx);
++                      fprintf(conf, "EndX %d\n", ex);
++                      fprintf(conf, "StartY %d\n", sy);
++                      fprintf(conf, "EndY %d\n", ey);
+                       fclose(conf);
+               }
+       }
+@@ -1714,6 +1754,7 @@
+                                       memset(&menu[Menu_Width*MenuLine[M_COL] + 3+color_mode  ], 0x20,24-color_mode);
+                                       Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+                                       setcolors((unsigned short *)tuxtxt_defaultcolors, 0, SIZECOLTABLE);
++                                      Menu_Init(menu, current_pid, menuitem, hotindex);
+                                       break;
+                               case M_TRA:
+                                       saveconfig = 1;
+@@ -1725,6 +1766,7 @@
+                                       memset(&menu[Menu_Width*MenuLine[M_TRA] + 3+trans_mode  ], 0x20,24-trans_mode);
+                                       Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+                                       setcolors((unsigned short *)tuxtxt_defaultcolors, 0, SIZECOLTABLE);
++                                      Menu_Init(menu, current_pid, menuitem, hotindex);
+                                       break;
+                               case M_PID:
+                               {
+@@ -1834,6 +1876,7 @@
+                                       memset(&menu[Menu_Width*MenuLine[M_COL] + 3+color_mode  ], 0x20,24-color_mode);
+                                       Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+                                       setcolors((unsigned short *)tuxtxt_defaultcolors, 0, SIZECOLTABLE);
++                                      Menu_Init(menu, current_pid, menuitem, hotindex);
+                                       break;
+                               case M_TRA:
+                                       saveconfig = 1;
+@@ -1845,6 +1888,7 @@
+                                       memset(&menu[Menu_Width*MenuLine[M_TRA] + 3+trans_mode  ], 0x20,24-trans_mode);
+                                       Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+                                       setcolors((unsigned short *)tuxtxt_defaultcolors, 0, SIZECOLTABLE);
++                                      Menu_Init(menu, current_pid, menuitem, hotindex);
+                                       break;
+                               case M_PID:
+                                       if (!getpidsdone)
+@@ -2152,8 +2196,8 @@
+                                       memcpy(&menu[Menu_Width*MenuLine[M_SC1] + Menu_Width - 5], &configonoff[menulanguage][screen_mode1  ? 3 : 0], 3);
+                                       Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+-                                      ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screen_mode1]);
+-                                      ioctl(saa, SAAIOSWSS, &saamodes[screen_mode1]);
++                                      writeproc("/proc/stb/avs/0/sb", fncmodes[screen_mode1]);
++                                      writeproc("/proc/stb/denc/0/wss", saamodes[screen_mode1]);
+                                       break;
+@@ -2280,7 +2324,8 @@
+       }
+       /* generate pagenumber */
+-      temp_page |= Number << inputcounter*4;
++      if (inputcounter >= 0)
++              temp_page |= Number << inputcounter*4;
+       inputcounter--;
+@@ -2720,9 +2765,9 @@
+ void SwitchScreenMode(int newscreenmode)
+ {
+-#if HAVE_DVB_API_VERSION >= 3
++
+       struct v4l2_format format;
+-#endif
++
+       /* reset transparency mode */
+       if (transpmode)
+               transpmode = 0;
+@@ -2782,42 +2827,53 @@
+               setfontwidth(fw);
+-#if HAVE_DVB_API_VERSION < 3
+-              avia_pig_hide(pig);
+-              avia_pig_set_pos(pig, tx, ty);
+-              avia_pig_set_size(pig, tw, th);
+-              avia_pig_set_stack(pig, 2);
+-              avia_pig_show(pig);
+-#else
+-              int sm = 0;
+-              ioctl(pig, VIDIOC_OVERLAY, &sm);
+-              sm = 1;
+-              ioctl(pig, VIDIOC_G_FMT, &format);
+-              format.type = V4L2_BUF_TYPE_VIDEO_OVERLAY;
+-              format.fmt.win.w.left   = tx;
+-              format.fmt.win.w.top    = ty;
+-              format.fmt.win.w.width  = tw;
+-              format.fmt.win.w.height = th;
+-              ioctl(pig, VIDIOC_S_FMT, &format);
+-              ioctl(pig, VIDIOC_OVERLAY, &sm);
+-#endif
+-              ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screen_mode2]);
+-              ioctl(saa, SAAIOSWSS, &saamodes[screen_mode2]);
++              // Video picture scale/pos for e2
++              int i;
++              for (i=0; i<4; ++i)
++              {
++                      char *targets[]={"left", "top", "width", "height"};
++                      char filename[128];
++                      snprintf(filename, 128, "/proc/stb/vmpeg/%d/dst_%s", 0, targets[i]);
++                      FILE *f = fopen(filename, "w");
++                      if (!f)
++                              break;
++                      int val = 0;
++                      switch (i)
++                      {
++                      case 0: val = tx; break;
++                      case 1: val = ty; break;
++                      case 2: val = tw; break;
++                      case 3: val = th; break;
++                      }
++                      fprintf(f, "%08x\n", val);
++                      fclose(f);
++              }
++              
++              writeproc("/proc/stb/avs/0/sb", fncmodes[screen_mode2]);
++              writeproc("/proc/stb/denc/0/wss", saamodes[screen_mode2]);
+       }
+       else /* not split */
+       {
+-#if HAVE_DVB_API_VERSION < 3
+-              avia_pig_hide(pig);
+-#else
+-              ioctl(pig, VIDIOC_OVERLAY, &screenmode);
+-#endif
+-
++              // Video picture scale/pos for e2
++              int i;
++              for (i=0; i<4; ++i)
++              {
++                      char *targets[]={"left", "top", "width", "height"};
++                      char filename[128];
++                      snprintf(filename, 128, "/proc/stb/vmpeg/%d/dst_%s", 0, targets[i]);
++                      FILE *f = fopen(filename, "w");
++                      if (!f)
++                              break;
++                      fprintf(f, "%08x\n", 0);
++                      fclose(f);
++              }
++              
+               setfontwidth(fontwidth_normal);
+               displaywidth= (ex-sx);
+               StartX = sx; //+ (ex-sx - 40*fontwidth) / 2; /* center screen */
+-              ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screen_mode1]);
+-              ioctl(saa, SAAIOSWSS, &saamodes[screen_mode1]);
++              writeproc("/proc/stb/avs/0/sb", fncmodes[screen_mode1]);
++              writeproc("/proc/stb/denc/0/wss", saamodes[screen_mode1]);
+       }
+ }
+@@ -2851,8 +2907,8 @@
+       else if (transpmode == 1) /* semi-transparent BG with FG text */
+       {
+               /* restore videoformat */
+-              ioctl(avs, AVSIOSSCARTPIN8, &fnc_old);
+-              ioctl(saa, SAAIOSWSS, &saa_old);
++              writeproc("/proc/stb/avs/0/sb", saved_pin8);
++              writeproc("/proc/stb/denc/0/wss", saved_wss);
+               ClearBB(transp);
+               tuxtxt_cache.pageupdate = 1;
+@@ -2860,8 +2916,8 @@
+       else /* TV mode */
+       {
+               /* restore videoformat */
+-              ioctl(avs, AVSIOSSCARTPIN8, &fnc_old);
+-              ioctl(saa, SAAIOSWSS, &saa_old);
++              writeproc("/proc/stb/avs/0/sb", saved_pin8);
++              writeproc("/proc/stb/denc/0/wss", saved_wss);
+               ClearFB(transp);
+               clearbbcolor = tuxtxt_cache.FullScrColor;
+@@ -2912,7 +2968,7 @@
+       PosX += t;
+       int curfontwidth2 = GetCurFontWidth();
+       PosX -= t;
+-      int alphachar = tuxtxt_RenderChar(lfb+(yoffset+StartY)*var_screeninfo.xres,  var_screeninfo.xres,Char, &PosX, PosY-StartY, Attribute, zoom, curfontwidth, curfontwidth2, fontheight, transpmode,axdrcs, ascender);
++      int alphachar = tuxtxt_RenderChar(lfb+(yoffset+StartY)*fix_screeninfo.line_length, fix_screeninfo.line_length, Char, &PosX, PosY-StartY, Attribute, zoom, curfontwidth, curfontwidth2, fontheight, transpmode,axdrcs, ascender);
+       if (alphachar <= 0) return;
+       if (zoom && Attribute->doubleh)
+@@ -2945,22 +3001,18 @@
+ #if TUXTXT_DEBUG
+               printf("TuxTxt <FT_Get_Char_Index for Char %x \"%c\" failed\n", alphachar, alphachar);
+ #endif
+-              tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
++              tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
+               PosX += curfontwidth;
+               return;
+       }
+-#if HAVE_DVB_API_VERSION >= 3
+-      if ((error = FTC_SBitCache_Lookup(cache, &typettf, glyph, &sbit, NULL)) != 0)
+-#else
+       if ((error = FTC_SBit_Cache_Lookup(cache, &typettf, glyph, &sbit)) != 0)
+-#endif
+       {
+ #if TUXTXT_DEBUG
+               printf("TuxTxt <FTC_SBitCache_Lookup: 0x%x> c%x a%x g%x w%d h%d x%d y%d\n",
+                                error, alphachar, Attribute, glyph, curfontwidth, fontheight, PosX, PosY);
+ #endif
+-              tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
++              tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
+               PosX += curfontwidth;
+               return;
+       }
+@@ -2981,11 +3033,7 @@
+                       Char = G2table[0][0x20+ Attribute->diacrit];
+               if ((glyph = FT_Get_Char_Index(face, Char)))
+               {
+-#if HAVE_DVB_API_VERSION >= 3
+-                      if ((error = FTC_SBitCache_Lookup(cache, &typettf, glyph, &sbit_diacrit, NULL)) == 0)
+-#else
+                       if ((error = FTC_SBit_Cache_Lookup(cache, &typettf, glyph, &sbit_diacrit)) == 0)
+-#endif
+                       {
+                                       sbitbuffer = localbuffer;
+                                       memcpy(sbitbuffer,sbit->buffer,sbit->pitch*sbit->height);
+@@ -3013,13 +3061,13 @@
+                   Row = 0;
+               }
+               else            
+-                  tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset, curfontwidth, Row, bgcolor); /* fill upper margin */
++                  tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset, curfontwidth, Row, bgcolor); /* fill upper margin */
+               if (ascender - sbit->top + TTFShiftY + he > fontheight)
+                       he = fontheight - ascender + sbit->top - TTFShiftY; /* limit char height to defined/calculated fontheight */
+-              p = lfb + PosX + (yoffset + PosY + Row) * var_screeninfo.xres; /* running pointer into framebuffer */
++              p = lfb + PosX*4 + (yoffset + PosY + Row) * fix_screeninfo.line_length; /* running pointer into framebuffer */
+               for (Row = he; Row; Row--) /* row counts up, but down may be a little faster :) */
+               {
+                       int pixtodo = (usettf ? sbit->width : curfontwidth);
+@@ -3028,8 +3076,8 @@
+                       for (Bit = xfactor * (sbit->left + TTFShiftX); Bit > 0; Bit--) /* fill left margin */
+                       {
+                               for (f = factor-1; f >= 0; f--)
+-                                      *(p + f*var_screeninfo.xres) = bgcolor;
+-                              p++;
++                                      memcpy((p + f*fix_screeninfo.line_length),bgra[bgcolor],4);/*bgcolor*/
++                              p+=4;
+                               if (!usettf)
+                                       pixtodo--;
+                       }
+@@ -3049,14 +3097,15 @@
+                                               color = bgcolor;
+                                       for (f = factor-1; f >= 0; f--)
+-                                              *(p + f*var_screeninfo.xres) = color;
+-                                      p++;
++                                              memcpy((p + f*fix_screeninfo.line_length),bgra[color],4);
++                                      p+=4;
+                                       if (xfactor > 1) /* double width */
+                                       {
+                                               for (f = factor-1; f >= 0; f--)
+-                                                      *(p + f*var_screeninfo.xres) = color;
+-                                              p++;
++                                                      memcpy((p + f*fix_screeninfo.line_length),bgra[color],4);
++                                              p+=4;
++
+                                               if (!usettf)
+                                                       pixtodo--;
+                                       }
+@@ -3067,17 +3116,17 @@
+                                 Bit > 0; Bit--) /* fill rest of char width */
+                       {
+                               for (f = factor-1; f >= 0; f--)
+-                                      *(p + f*var_screeninfo.xres) = bgcolor;
+-                              p++;
++                                      memcpy((p + f*fix_screeninfo.line_length),bgra[bgcolor],4);
++                              p+=4;
+                       }
+-                      p = pstart + factor*var_screeninfo.xres;
++                      p = pstart + factor*fix_screeninfo.line_length;
+               }
+               Row = ascender - sbit->top + he + TTFShiftY;
+-              tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset + Row*factor, curfontwidth, (fontheight - Row) * factor, bgcolor); /* fill lower margin */
++              tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset + Row*factor, curfontwidth, (fontheight - Row) * factor, bgcolor); /* fill lower margin */
+               if (Attribute->underline)
+-                      tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset + (fontheight-2)* factor, curfontwidth,2*factor, fgcolor); /* underline char */
++                      tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset + (fontheight-2)* factor, curfontwidth,2*factor, fgcolor); /* underline char */
+               PosX += curfontwidth;
+ }
+@@ -3462,11 +3511,11 @@
+                       for (row = 0; row < DRCSROWS; row++)
+                               for (col = 0; col < DRCSCOLS; col++)
+-                                      tuxtxt_RenderDRCS(var_screeninfo.xres,
++                                      tuxtxt_RenderDRCS(fix_screeninfo.line_length,
+                                               page_char + 20 * (DRCSCOLS * row + col + 2),
+                                               lfb
+-                                              + (StartY + fontheight + DRCSYSPC * row + var_screeninfo.yres - var_screeninfo.yoffset) * var_screeninfo.xres
+-                                              + StartX + DRCSXSPC * col,
++                                              + (StartY + fontheight + DRCSYSPC * row + var_screeninfo.yres - var_screeninfo.yoffset) * fix_screeninfo.line_length
++                                              + (StartX + DRCSXSPC * col)*4,
+                                               ax, white, black);
+                       memset(page_char + 40, 0xff, 24*40); /* don't render any char below row 0 */
+@@ -3559,13 +3608,13 @@
+                               pageinfo = p;
+                               boxed = p->boxed;
+                       }
++                      if (tuxtxt_cache.colortable)
++                              setcolors(tuxtxt_cache.colortable, 16, 16); /* set colors for CLUTs 2+3 */
+                       if (boxed || transpmode)
+ //                            tuxtxt_cache.FullScrColor = transp;
+                               FillBorder(transp);
+                       else
+                               FillBorder(tuxtxt_cache.FullScrColor);
+-                      if (tuxtxt_cache.colortable) /* as late as possible to shorten the time the old page is displayed with the new colors */
+-                              setcolors(tuxtxt_cache.colortable, 16, 16); /* set colors for CLUTs 2+3 */
+               }
+               else
+                       startrow = 1;
+@@ -3698,7 +3747,7 @@
+       if (boxed)
+       {
+               PosX = StartX + column*width;
+-              tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY+yoffset, displaywidth, fontheight, transp);
++              tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY+yoffset, displaywidth, fontheight, transp);
+               return;
+       }
+@@ -3709,7 +3758,7 @@
+               if (l > 9) /* smaller font, if no space for one half space at front and end */
+                       setfontwidth(oldfontwidth * 10 / (l+1));
+-              tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY+yoffset, width+(displaywidth%4), fontheight, atrtable[ATR_L250 + column].bg);
++              tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY+yoffset, width+(displaywidth%4), fontheight, atrtable[ATR_L250 + column].bg);
+               PosX += ((width) - (l*fontwidth+l*fontwidth/abx))/2; /* center */
+               for (p = tuxtxt_cache.adip[linkpage]; *p; p++)
+                       RenderCharBB(*p, &atrtable[ATR_L250 + column]);
+@@ -3718,7 +3767,7 @@
+       else /* display number */
+       {
+               PosX = StartX + column*width;
+-              tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY+yoffset, displaywidth+sx-PosX, fontheight, atrtable[ATR_L250 + column].bg);
++              tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY+yoffset, displaywidth+sx-PosX, fontheight, atrtable[ATR_L250 + column].bg);
+               if (linkpage < tuxtxt_cache.page)
+               {
+                       line[6] = '<';
+@@ -3888,7 +3937,7 @@
+ void CopyBB2FB()
+ {
+       unsigned char *src, *dst, *topsrc;
+-      int fillcolor, i, screenwidth;
++      int fillcolor, i, screenwidth, swtmp;
+       /* line 25 */
+       if (!pagecatching)
+@@ -3905,8 +3954,8 @@
+               if (ioctl(fb, FBIOPAN_DISPLAY, &var_screeninfo) == -1)
+                       perror("TuxTxt <FBIOPAN_DISPLAY>");
+-              if (StartX > 0 && *lfb != *(lfb + var_screeninfo.xres * var_screeninfo.yres)) /* adapt background of backbuffer if changed */
+-                      FillBorder(*(lfb + var_screeninfo.xres * var_screeninfo.yoffset));
++              if (StartX > 0 && *lfb != *(lfb + fix_screeninfo.line_length * var_screeninfo.yres)) /* adapt background of backbuffer if changed */
++                      FillBorder(*(lfb + fix_screeninfo.line_length * var_screeninfo.yoffset));
+ //                     ClearBB(*(lfb + var_screeninfo.xres * var_screeninfo.yoffset));
+               if (clearbbcolor >= 0)
+@@ -3917,18 +3966,18 @@
+               return;
+       }
+-      src = dst = topsrc = lfb + StartY*var_screeninfo.xres;
++      src = dst = topsrc = lfb + StartY*fix_screeninfo.line_length;
+       if (var_screeninfo.yoffset)
+-              dst += var_screeninfo.xres * var_screeninfo.yres;
++              dst += fix_screeninfo.line_length * var_screeninfo.yres;
+       else
+       {
+-              src += var_screeninfo.xres * var_screeninfo.yres;
+-              topsrc += var_screeninfo.xres * var_screeninfo.yres;
++              src += fix_screeninfo.line_length * var_screeninfo.yres;
++              topsrc += fix_screeninfo.line_length * var_screeninfo.yres;
+       }
+       if (!pagecatching )
+-              memcpy(dst+(24*fontheight)*var_screeninfo.xres, src + (24*fontheight)*var_screeninfo.xres, var_screeninfo.xres*fontheight); /* copy line25 in normal height */
++              memcpy(dst+(24*fontheight)*fix_screeninfo.line_length, src + (24*fontheight)*fix_screeninfo.line_length, fix_screeninfo.line_length*fontheight); /* copy line25 in normal height */
+       if (transpmode)
+               fillcolor = transp;
+@@ -3936,47 +3985,54 @@
+               fillcolor = tuxtxt_cache.FullScrColor;
+       if (zoommode == 2)
+-              src += 12*fontheight*var_screeninfo.xres;
++              src += 12*fontheight*fix_screeninfo.line_length;
+       if (screenmode == 1) /* copy topmenu in normal height (since PIG also keeps dimensions) */
+       {
+               unsigned char *topdst = dst;
+-              screenwidth = TV43STARTX;
++              screenwidth = ( TV43STARTX ) * 4;
+               topsrc += screenwidth;
+               topdst += screenwidth;
+               for (i=0; i < 24*fontheight; i++)
+               {
+                       memcpy(topdst, topsrc,ex-screenwidth);
+-                      topdst += var_screeninfo.xres;
+-                      topsrc += var_screeninfo.xres;
++                      topdst += fix_screeninfo.line_length;
++                      topsrc += fix_screeninfo.line_length;
+               }
+       }
+       else if (screenmode == 2)
+-              screenwidth = TV169FULLSTARTX;
++              screenwidth = ( TV169FULLSTARTX ) * 4;
+       else
+-              screenwidth = var_screeninfo.xres;
++              screenwidth = fix_screeninfo.line_length;
+       for (i = StartY; i>0;i--)
+       {
+-              memset(dst - i*var_screeninfo.xres, fillcolor, screenwidth);
++              for (swtmp=0; swtmp<screenwidth/4; swtmp++)
++              {
++                      memcpy(dst - i*fix_screeninfo.line_length+swtmp*4, bgra[fillcolor], 4);
++              }
+       }
+       for (i = 12*fontheight; i; i--)
+       {
+               memcpy(dst, src, screenwidth);
+-              dst += var_screeninfo.xres;
++              dst += fix_screeninfo.line_length;
+               memcpy(dst, src, screenwidth);
+-              dst += var_screeninfo.xres;
+-              src += var_screeninfo.xres;
++              dst += fix_screeninfo.line_length;
++              src += fix_screeninfo.line_length;
+       }
+ //    if (!pagecatching )
+ //            memcpy(dst, lfb + (StartY+24*fontheight)*var_screeninfo.xres, var_screeninfo.xres*fontheight); /* copy line25 in normal height */
+-      for (i = var_screeninfo.yres - StartY - 25*fontheight; i >= 0;i--)
++      dst -= fix_screeninfo.line_length;
++      for (i = var_screeninfo.yres - StartY - 25 * fontheight; i >= 0;i--)
+       {
+-              memset(dst + var_screeninfo.xres*(fontheight+i), fillcolor, screenwidth);
++              for (swtmp=0; swtmp < screenwidth/4;swtmp++)
++              {
++                      memcpy(dst + fix_screeninfo.line_length*(fontheight+i)+swtmp*4, bgra[fillcolor], 4);
++              }
+       }
+ }
+@@ -4204,8 +4260,8 @@
+                               case KEY_VOLUMEDOWN:    RCCode = RC_MINUS;      break;
+                               case KEY_MUTE:          RCCode = RC_MUTE;       break;
+                               case KEY_HELP:          RCCode = RC_HELP;       break;
+-                              case KEY_SETUP:         RCCode = RC_DBOX;       break;
+-                              case KEY_HOME:          RCCode = RC_HOME;       break;
++                              case KEY_MENU:          RCCode = RC_DBOX;       break;
++                              case KEY_EXIT:          RCCode = RC_HOME;       break;
+                               case KEY_POWER:         RCCode = RC_STANDBY;    break;
+                               }
+                               return 1;
+@@ -4234,10 +4290,3 @@
+       return 0;
+ }
+-/* Local Variables: */
+-/* indent-tabs-mode:t */
+-/* tab-width:3 */
+-/* c-basic-offset:3 */
+-/* comment-column:0 */
+-/* fill-column:120 */
+-/* End: */
+Only in tuxtxt.e1: tuxtxt.c.orig
+diff -ru tuxtxt.e1/tuxtxt.h tuxtxt/tuxtxt.h
+--- tuxtxt.e1/tuxtxt.h 2008-05-21 09:21:06.000000000 +0200
++++ tuxtxt/tuxtxt.h    2008-05-27 09:44:33.000000000 +0200
+@@ -1,3 +1,6 @@
++#ifndef __tuxtxt_h__
++#define __tuxtxt_h__
++
+ /******************************************************************************
+  *                      <<< TuxTxt - Teletext Plugin >>>                      *
+  *                                                                            *
+@@ -6,7 +9,13 @@
+  *    continued 2004-2005 by Roland Meier <RolandMeier@Siemens.com>           *
+  *                       and DBLuelle <dbluelle@blau-weissoedingen.de>        *
+  *                                                                            *
+- ******************************************************************************/
++ *              ported 2006 to Dreambox 7025 / 32Bit framebuffer              *
++ *                   by Seddi <seddi@i-have-a-dreambox.com>                   *
++ *                                                                            *
++ *              ported 32Bit framebuffer to Tuxtxt v1.99 (2008)               *
++ *                      by the PLi team (Sat-Turner)                          *
++ *                                                                            *
++******************************************************************************/
+ #define TUXTXT_CFG_STANDALONE 0  // 1:plugin only 0:use library
+ #define TUXTXT_DEBUG 0
+@@ -41,7 +50,6 @@
+ #include <dbox/avs_core.h>
+ #include <dbox/saa7126_core.h>
+ #include <dbox/fp.h>
+-#include <plugin.h>
+ #include <dbox/lcd-ks0713.h>
+@@ -66,6 +74,7 @@
+ #include "tuxtxt_common.h"
+ #else
+ /* variables and functions from libtuxtxt */
++extern unsigned char bgra[][4];
+ extern tuxtxt_cache_struct tuxtxt_cache;
+ extern int tuxtxt_init();
+ extern void tuxtxt_close();
+@@ -205,11 +214,7 @@
+ FTC_Manager     manager;
+ FTC_SBitCache   cache;
+ FTC_SBit        sbit;
+-#if HAVE_DVB_API_VERSION < 3
+ #define FONTTYPE FTC_Image_Desc
+-#else
+-#define FONTTYPE FTC_ImageTypeRec
+-#endif
+ FT_Face                       face;
+ FONTTYPE typettf;
+@@ -247,7 +252,7 @@
+ int hotlist[10];
+ int maxhotlist;
+-int pig, avs, saa, rc, fb, lcd;
++int rc, fb, lcd;
+ int sx, ex, sy, ey;
+ int PosX, PosY, StartX, StartY;
+ int lastpage;
+@@ -256,7 +261,7 @@
+ char dumpl25;
+ int catch_row, catch_col, catched_page, pagecatching;
+ int prev_100, prev_10, next_10, next_100;
+-int fnc_old, saa_old, screen_mode1, screen_mode2, color_mode, trans_mode, auto_national, swapupdown, showhex, menulanguage;
++int screen_mode1, screen_mode2, color_mode, trans_mode, auto_national, swapupdown, showhex, menulanguage;
+ int pids_found, current_service, getpidsdone;
+ int SDT_ready;
+ int pc_old_row, pc_old_col;     /* for page catching */
+@@ -267,8 +272,8 @@
+ unsigned char axdrcs[12+1+10+1];
+ #define aydrcs (axdrcs + 12+1)
+ tstPageinfo *pageinfo = 0;/* pointer to cached info of last decoded page */
+-const int fncmodes[] = {AVS_FNCOUT_EXT43, AVS_FNCOUT_EXT169};
+-const int saamodes[] = {SAA_WSS_43F, SAA_WSS_169F};
++const char * fncmodes[] = {"12", "6"};
++const char * saamodes[] = {"4:3_full_format", "16:9_full_format"};
+ struct timeval tv_delay;
+ int  subtitledelay, delaystarted;
+@@ -847,7 +852,7 @@
+ //unsigned short page_atrb[40 * 25]; /*  ?????:h:cc:bbbb:ffff -> ?=reserved, h=double height, c=charset (0:G0 / 1:G1c / 2:G1s), b=background, f=foreground */
+-/* colormaps */
++/* colormap */
+ unsigned short rd0[] = {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0x00<<8, 0x00<<8, 0x00<<8, 0,      0      };
+ unsigned short gn0[] = {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0x20<<8, 0x10<<8, 0x20<<8, 0,      0      };
+@@ -1227,3 +1232,5 @@
+ /* comment-column:0 */
+ /* fill-column:120 */
+ /* End: */
++
++#endif
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp/add_new_default_conf.diff b/packages/tuxbox/tuxbox-tuxtxt-32bpp/add_new_default_conf.diff
new file mode 100644 (file)
index 0000000..2266b0e
--- /dev/null
@@ -0,0 +1,36 @@
+diff -Naur tuxtxt_org/tuxtxt2.conf tuxtxt_32bpp/tuxtxt2.conf
+--- tuxtxt/tuxtxt2.conf        1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/tuxtxt2.conf        2006-03-10 22:07:15.000000000 +0100
+@@ -0,0 +1,23 @@
++ScreenMode16x9Normal 1
++ScreenMode16x9Divided 1
++Brightness 10
++MenuLanguage 1
++AutoNational 1
++NationalSubset 5
++SwapUpDown 0
++ShowHexPages 0
++Transparency 0xA
++TTFWidthFactor16 28
++TTFHeightFactor16 16
++TTFShiftX 0
++TTFShiftY 0
++Screenmode 0
++ShowFLOF 1
++Show39 1
++ShowLevel2p5 1
++DumpLevel2p5 0
++UseTTF 0
++StartX 50
++EndX 670
++StartY 30
++EndY 555
+diff -Naur tuxtxt_org/tuxtxt.conf tuxtxt_32bpp/tuxtxt.conf
+--- tuxtxt/tuxtxt.conf 2006-03-10 22:13:26.000000000 +0100
++++ tuxtxt/tuxtxt.conf 1970-01-01 01:00:00.000000000 +0100
+@@ -1,5 +0,0 @@
+-ScreenMode16x9Normal 0
+-ScreenMode16x9Divided 0
+-ColorDimmed 1
+-AutoNational 1
+-NationalSubset 4
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp/freetype2.patch b/packages/tuxbox/tuxbox-tuxtxt-32bpp/freetype2.patch
new file mode 100644 (file)
index 0000000..b3621d5
--- /dev/null
@@ -0,0 +1,87 @@
+--- ~/tuxtxt.c 2008-09-03 20:07:53.000000000 +0200
++++ ~/tuxtxt.c 2008-09-04 10:54:47.000000000 +0200
+@@ -243,7 +243,11 @@
+               int i;
+               fontwidth = newwidth;
+               if (usettf)
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++                      typettf.width  = (FT_UShort) fontwidth * TTFWidthFactor16 / 16;
++#else
+                       typettf.font.pix_width  = (FT_UShort) fontwidth * TTFWidthFactor16 / 16;
++#endif
+               else
+               {
+                       if (newwidth < 11)
+@@ -252,7 +256,11 @@
+                               newwidth = 22;
+                       else
+                               newwidth = 23;
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++                      typettf.width  = typettf.height = (FT_UShort) newwidth;
++#else
+                       typettf.font.pix_width  = typettf.font.pix_height = (FT_UShort) newwidth;
++#endif
+               }
+               for (i = 0; i <= 12; i++)
+                       axdrcs[i] = (fontwidth * i + 6) / 12;
+@@ -808,22 +816,43 @@
+       if (usettf)
+       {
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++              typettf.face_id = (FTC_FaceID) TUXTXTTTFVAR;
++              typettf.height = (FT_UShort) fontheight * TTFHeightFactor16 / 16;
++#else
+               typettf.font.face_id = (FTC_FaceID) TUXTXTTTFVAR;
+               typettf.font.pix_height = (FT_UShort) fontheight * TTFHeightFactor16 / 16;
++#endif
+       }
+       else
+       {
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++              typettf.face_id = (FTC_FaceID) TUXTXTOTBVAR;
++              typettf.width  = (FT_UShort) 23;
++              typettf.height = (FT_UShort) 23;
++#else
+               typettf.font.face_id = (FTC_FaceID) TUXTXTOTBVAR;
+               typettf.font.pix_width  = (FT_UShort) 23;
+               typettf.font.pix_height = (FT_UShort) 23;
++#endif
+       }
+-
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++      typettf.flags = FT_LOAD_MONOCHROME;
++#else
+       typettf.image_type = ftc_image_mono;
++#endif
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++      if ((error = FTC_Manager_Lookup_Face(manager, typettf.face_id, &face)))
++      {
++              typettf.face_id = (usettf ? (FTC_FaceID) TUXTXTTTF : TUXTXTOTB);
++              if ((error = FTC_Manager_Lookup_Face(manager, typettf.face_id, &face)))
++#else
+       if ((error = FTC_Manager_Lookup_Face(manager, typettf.font.face_id, &face)))
+       {
+               typettf.font.face_id = (usettf ? (FTC_FaceID) TUXTXTTTF : TUXTXTOTB);
+               if ((error = FTC_Manager_Lookup_Face(manager, typettf.font.face_id, &face)))
++#endif
+               {
+                       printf("TuxTxt <FTC_Manager_Lookup_Face failed with Errorcode 0x%.2X>\n", error);
+                       FTC_Manager_Done(manager);
+--- ~/tuxtxt.h 2008-09-03 20:07:53.000000000 +0200
++++ ~/tuxtxt.h 2008-09-04 10:54:18.000000000 +0200
+@@ -210,6 +210,13 @@
+ struct fb_fix_screeninfo fix_screeninfo;
+ /* freetype stuff */
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++typedef FTC_ImageTypeRec FTC_Image_Desc;
++typedef FTC_SBitCache FTC_SBit_Cache;
++#define FTC_SBit_Cache_New(a,b)               FTC_SBitCache_New(a,b)
++#define FTC_SBit_Cache_Lookup(a,b,c,d)        FTC_SBitCache_Lookup(a,b,c,d,NULL)
++#define FTC_Manager_Lookup_Face(a,b,c) FTC_Manager_LookupFace(a,b,c)
++#endif
+ FT_Library      library;
+ FTC_Manager     manager;
+ FTC_SBitCache   cache;
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp/hdres.patch b/packages/tuxbox/tuxbox-tuxtxt-32bpp/hdres.patch
new file mode 100644 (file)
index 0000000..e8821cc
--- /dev/null
@@ -0,0 +1,77 @@
+--- ~/tuxtxt.c 2008-09-09 22:34:39.000000000 +0200
++++ ~/tuxtxt.c 2008-09-10 19:03:07.000000000 +0200
+@@ -867,15 +867,6 @@
+                        ymosaic[0], ymosaic[1], ymosaic[2], StartX, StartY, ascender);
+ #endif
+-      /* get fixed screeninfo */
+-      if (ioctl(fb, FBIOGET_FSCREENINFO, &fix_screeninfo) == -1)
+-      {
+-              perror("TuxTxt <FBIOGET_FSCREENINFO>");
+-              FTC_Manager_Done(manager);
+-              FT_Done_FreeType(library);
+-              return 0;
+-      }
+-
+       /* get variable screeninfo */
+       if (ioctl(fb, FBIOGET_VSCREENINFO, &var_screeninfo) == -1)
+       {
+@@ -885,6 +876,11 @@
+               return 0;
+       }
++      var_screeninfo_original = var_screeninfo;
++
++      var_screeninfo.xres = 720;
++      var_screeninfo.yres = 576;
++
+       /* set variable screeninfo for double buffering */
+       var_screeninfo.yres_virtual = 2*var_screeninfo.yres;
+       var_screeninfo.xres_virtual = var_screeninfo.xres;
+@@ -898,6 +894,15 @@
+               return 0;
+       }
++      /* get fixed screeninfo */
++      if (ioctl(fb, FBIOGET_FSCREENINFO, &fix_screeninfo) == -1)
++      {
++              perror("TuxTxt <FBIOGET_FSCREENINFO>");
++              FTC_Manager_Done(manager);
++              FT_Done_FreeType(library);
++              return 0;
++      }
++
+ #if TUXTXT_DEBUG
+       if (ioctl(fb, FBIOGET_VSCREENINFO, &var_screeninfo) == -1)
+       {
+@@ -1053,7 +1058,7 @@
+                       perror("TuxTxt <FBIOPAN_DISPLAY>");
+       }
+       /* clear screen */
+-      memset(lfb, 0, var_screeninfo.yres * fix_screeninfo.line_length);
++      memset(lfb, 0, fix_screeninfo.smem_len);
+       /* close freetype */
+       FTC_Manager_Done(manager);
+@@ -1062,6 +1067,11 @@
+       /* unmap framebuffer */
+       munmap(lfb, fix_screeninfo.smem_len);
++      if (ioctl(fb, FBIOPUT_VSCREENINFO, &var_screeninfo_original) == -1)
++      {
++              perror("TuxTxt <FBIOPUT_VSCREENINFO>");
++      }
++
+       /* close lcd */
+       close(lcd);
+       
+--- ~/tuxtxt.h 2008-09-09 22:34:39.000000000 +0200
++++ ~/tuxtxt.h 2008-09-10 18:23:21.000000000 +0200
+@@ -207,6 +207,7 @@
+ /* framebuffer stuff */
+ unsigned char *lfb = 0;
+ struct fb_var_screeninfo var_screeninfo;
++struct fb_var_screeninfo var_screeninfo_original;
+ struct fb_fix_screeninfo fix_screeninfo;
+ /* freetype stuff */
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp/makefiles.diff b/packages/tuxbox/tuxbox-tuxtxt-32bpp/makefiles.diff
new file mode 100644 (file)
index 0000000..a2ff2a9
--- /dev/null
@@ -0,0 +1,547 @@
+diff -Naur tuxtxt_org/AUTHORS tuxtxt/AUTHORS
+--- tuxtxt_org/AUTHORS 1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/AUTHORS     2006-12-28 12:08:57.000000000 +0100
+@@ -0,0 +1,25 @@
++In order of appearance in cvs:
++------------------------------------------------
++Felix Domke           <tmbinc@berlios.de>
++Andreas Oberritter    <obi@berlios.de>
++Steffen Hehn          <mcclean@berlios.de>
++Andreas Monzner               <ghostrider@berlios.de>
++Florian Roks          <trh@berlios.de>
++Ronny Strutz          <tripledes@berlios.de>
++Bastian Blank         <waldi@berlios.de>
++Henning Heinold               <woglinde@berlios.de>
++Rainer Scherg         <rasc@berlios.de>
++Steffen Buehl         <shadow@berlios.de>
++Wolfram Joost         <wjoost@berlios.de>
++Thomas Herold         <dertom@berlios.de>
++Stefan Pluecken               <thedoc@berlios.de>
++Florian Schirmer      <jolt@berlios.de>
++Christoph Ketzler     <chkdesign@berlios.de>
++Bernhard Roth         <bernroth@berlios.de>
++Roland Meier          <RolandMeier@Siemens.com>
++DBLuelle              <dbluelle@blau-weissoedingend.de>
++
++
++Also many thanks to everyone who supported development
++without having cvs write access
++
+diff -Naur tuxtxt_org/Makefile.am tuxtxt/Makefile.am
+--- tuxtxt_org/Makefile.am     2006-12-28 12:10:01.000000000 +0100
++++ tuxtxt/Makefile.am 2006-12-28 12:10:27.000000000 +0100
+@@ -1,37 +1,18 @@
+-SUBDIRS = font 
++installdir = $(CONFIGDIR)/tuxtxt
+-if BOXTYPE_DREAMBOX
+-AM_CPPFLAGS = \
+-      @FREETYPE_CFLAGS@ \
+-      -I$(top_srcdir)/include \
+-      -I$(includedir)/tuxbox/tuxtxt 
++SUBDIRS = font python
+-tuxtxt_la_LIBADD = \
+-      @FREETYPE_LIBS@ \
+-      @TUXTXT_LIBS@
+-else
+ AM_CPPFLAGS = \
+-      @TUXBOX_CFLAGS@ \
+       @FREETYPE_CFLAGS@ \
++      -funsigned-char \
+       -I$(top_srcdir)/include \
+-      -I$(includedir)/tuxbox/tuxtxt 
++      -I$(prefix)/$(includedir)/tuxbox/tuxtxt 
+-tuxtxt_la_LIBADD = \
+-      @TUXBOX_LIBS@  \
++bin_PROGRAMS = tuxtxt
++tuxtxt_LDADD = -lpthread -lz \
+       @FREETYPE_LIBS@ \
+-      @TUXTXT_LIBS@ 
+-endif
+-
+-noinst_LTLIBRARIES = tuxtxt.la
+-
+-tuxtxt_la_SOURCES = tuxtxt.c
++      @TUXTXT_LIBS@
+-tuxtxt_la_LDFLAGS = -rpath $(PLUGINDIR) -module -avoid-version
++tuxtxt_SOURCES = tuxtxt.c
+-install-exec-local:
+-      install -d $(DESTDIR)$(PLUGINDIR)
+-      install -d $(DESTDIR)$(CONFIGDIR)
+-      install -d $(DESTDIR)$(CONFIGDIR)/tuxtxt
+-      $(LIBTOOL) install tuxtxt.la $(DESTDIR)$(PLUGINDIR)
+-      install -m 0644 $(srcdir)/tuxtxt.cfg $(DESTDIR)$(PLUGINDIR)
+-      install -m 0644 $(srcdir)/tuxtxt.conf $(DESTDIR)$(CONFIGDIR)/tuxtxt
++install_DATA = tuxtxt2.conf
+diff -Naur tuxtxt_org/acinclude.m4 tuxtxt/acinclude.m4
+--- tuxtxt_org/acinclude.m4    1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/acinclude.m4        2006-12-28 12:08:57.000000000 +0100
+@@ -0,0 +1,434 @@
++AC_DEFUN(TUXBOX_APPS,[
++AM_CONFIG_HEADER(config.h)
++AM_MAINTAINER_MODE
++
++INSTALL="$INSTALL -p"
++
++AC_GNU_SOURCE
++AC_SYS_LARGEFILE
++
++AC_ARG_WITH(target,
++      [  --with-target=TARGET    target for compilation [[native,cdk]]],
++      [TARGET="$withval"],[TARGET="native"])
++
++AC_ARG_WITH(targetprefix,
++      [  --with-targetprefix=PATH  prefix relative to target root (only applicable in cdk mode)],
++      [targetprefix="$withval"],[targetprefix="NONE"])
++
++AC_ARG_WITH(debug,
++      [  --without-debug         disable debugging code],
++      [DEBUG="$withval"],[DEBUG="yes"])
++
++if test "$DEBUG" = "yes"; then
++      DEBUG_CFLAGS="-g3 -ggdb"
++      AC_DEFINE(DEBUG,1,[Enable debug messages])
++fi
++
++AC_MSG_CHECKING(target)
++
++if test "$TARGET" = "native"; then
++      AC_MSG_RESULT(native)
++
++      if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
++              CFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
++              CXXFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
++      fi
++      if test "$prefix" = "NONE"; then
++              prefix=/usr/local
++      fi
++      targetprefix=$prefix
++elif test "$TARGET" = "cdk"; then
++      AC_MSG_RESULT(cdk)
++
++      if test "$CC" = "" -a "$CXX" = ""; then
++              CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++
++      fi
++      if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
++              CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
++              CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
++      fi
++      if test "$prefix" = "NONE"; then
++              AC_MSG_ERROR(invalid prefix, you need to specify one in cdk mode)
++      fi
++      if test "$targetprefix" = "NONE"; then
++              targetprefix=""
++      fi
++      if test "$host_alias" = ""; then
++              cross_compiling=yes
++              host_alias=powerpc-tuxbox-linux-gnu
++      fi
++else
++      AC_MSG_RESULT(none)
++      AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]);
++fi
++
++AC_CANONICAL_BUILD
++AC_CANONICAL_HOST
++
++check_path () {
++      return $(perl -e "if(\"$1\"=~m#^/usr/(local/)?bin#){print \"0\"}else{print \"1\";}")
++}
++
++])
++
++AC_DEFUN(TUXBOX_APPS_DIRECTORY_ONE,[
++AC_ARG_WITH($1,[  $6$7 [[PREFIX$4$5]]],[
++      _$2=$withval
++      if test "$TARGET" = "cdk"; then
++              $2=`eval echo "${targetprefix}$withval"`
++      else
++              $2=$withval
++      fi
++],[
++      $2="\${$3}$5"
++      if test "$TARGET" = "cdk"; then
++              _$2=`eval echo "${target$3}$5"`
++      else
++              _$2=`eval echo "${$3}$5"`
++      fi
++])
++
++dnl automake <= 1.6 don't support this
++dnl AC_SUBST($2)
++AC_DEFINE_UNQUOTED($2,"$_$2",$7)
++])
++
++AC_DEFUN(TUXBOX_APPS_DIRECTORY,[
++AC_REQUIRE([TUXBOX_APPS])
++
++if test "$TARGET" = "cdk"; then
++      datadir="\${prefix}/share"
++      tuxboxdatadir="\${prefix}/share/tuxbox"
++      zoneinfodir="\${datadir}/zoneinfo"
++      sysconfdir="\${prefix}/etc"
++      localstatedir="\${prefix}/var"
++      localedir="\${prefix}/var"
++      libdir="\${prefix}/lib"
++      targetdatadir="\${targetprefix}/share"
++      targetsysconfdir="\${targetprefix}/etc"
++      targetlocalstatedir="\${targetprefix}/var"
++      targetlibdir="\${targetprefix}/lib"
++fi
++
++TUXBOX_APPS_DIRECTORY_ONE(configdir,CONFIGDIR,sysconfdir,/etc,,
++      [--with-configdir=PATH   ],[where to find the config files])
++
++TUXBOX_APPS_DIRECTORY_ONE(datadir,DATADIR,datadir,/share,,
++      [--with-datadir=PATH     ],[where to find data])
++
++TUXBOX_APPS_DIRECTORY_ONE(localedir,LOCALEDIR,datadir,/share,/locale,
++      [--with-localedir=PATH ],[where to find locales])
++
++TUXBOX_APPS_DIRECTORY_ONE(fontdir,FONTDIR,datadir,/share,/fonts,
++      [--with-fontdir=PATH     ],[where to find the fonts])
++
++TUXBOX_APPS_DIRECTORY_ONE(gamesdir,GAMESDIR,localstatedir,/var,/tuxbox/games,
++      [--with-gamesdir=PATH    ],[where games data is stored])
++
++TUXBOX_APPS_DIRECTORY_ONE(libdir,LIBDIR,libdir,/lib,,
++      [--with-libdir=PATH      ],[where to find the internal libs])
++
++TUXBOX_APPS_DIRECTORY_ONE(plugindir,PLUGINDIR,libdir,/lib,/tuxbox/plugins,
++      [--with-plugindir=PATH   ],[where to find the plugins])
++
++TUXBOX_APPS_DIRECTORY_ONE(tuxboxdatadir,TUXBOXDATADIR,datadir,/share,,
++      [--with-tuxboxdatadir=PATH],[where to find tuxbox data])
++
++TUXBOX_APPS_DIRECTORY_ONE(zoneinfodir,ZONEINFODIR,datadir,/share,/zoneinfo,
++      [--with-zoneinfodir=PATH ],[where to find zoneinfo db])
++])
++
++dnl automake <= 1.6 needs this specifications
++AC_SUBST(CONFIGDIR)
++AC_SUBST(DATADIR)
++AC_SUBST(ZONEINFODIR)
++AC_SUBST(FONTDIR)
++AC_SUBST(GAMESDIR)
++AC_SUBST(LIBDIR)
++AC_SUBST(LOCALEDIR)
++AC_SUBST(PLUGINDIR)
++AC_SUBST(TUXBOXDATADIR)
++dnl end workaround
++
++AC_DEFUN(TUXBOX_APPS_ENDIAN,[
++AC_CHECK_HEADERS(endian.h)
++AC_C_BIGENDIAN
++])
++
++AC_DEFUN(TUXBOX_APPS_DRIVER,[
++#AC_ARG_WITH(driver,
++#     [  --with-driver=PATH      path for driver sources [[NONE]]],
++#     [DRIVER="$withval"],[DRIVER=""])
++#
++#if test -d "$DRIVER/include"; then
++#     AC_DEFINE(HAVE_DBOX2_DRIVER,1,[Define to 1 if you have the dbox2 driver sources])
++#else
++#     AC_MSG_ERROR([can't find driver sources])
++#fi
++
++#AC_SUBST(DRIVER)
++
++#CPPFLAGS="$CPPFLAGS -I$DRIVER/include"
++])
++
++AC_DEFUN([TUXBOX_APPS_DVB],[
++AC_ARG_WITH(dvbincludes,
++      [  --with-dvbincludes=PATH  path for dvb includes [[NONE]]],
++      [DVBINCLUDES="$withval"],[DVBINCLUDES=""])
++
++if test "$DVBINCLUDES"; then
++      CPPFLAGS="$CPPFLAGS -I$DVBINCLUDES"
++fi
++
++AC_CHECK_HEADERS(ost/dmx.h,[
++      DVB_API_VERSION=1
++      AC_MSG_NOTICE([found dvb version 1])
++])
++
++if test -z "$DVB_API_VERSION"; then
++AC_CHECK_HEADERS(linux/dvb/version.h,[
++      AC_LANG_PREPROC_REQUIRE()
++      AC_REQUIRE([AC_PROG_EGREP])
++      AC_LANG_CONFTEST([AC_LANG_SOURCE([[
++#include <linux/dvb/version.h>
++version DVB_API_VERSION
++      ]])])
++      DVB_API_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
++      rm -f conftest*
++
++      AC_MSG_NOTICE([found dvb version $DVB_API_VERSION])
++])
++fi
++
++if test "$DVB_API_VERSION"; then
++      AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes])
++      AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api])
++else
++      AC_MSG_ERROR([can't find dvb headers])
++fi
++])
++
++AC_DEFUN(_TUXBOX_APPS_LIB_CONFIG,[
++AC_PATH_PROG($1_CONFIG,$2,no)
++if test "$$1_CONFIG" != "no"; then
++      if test "$TARGET" = "cdk" && check_path "$$1_CONFIG"; then
++              AC_MSG_$3([could not find a suitable version of $2]);
++      else
++              $1_CFLAGS=$($$1_CONFIG --cflags)
++              $1_LIBS=$($$1_CONFIG --libs)
++      fi
++fi
++
++AC_SUBST($1_CFLAGS)
++AC_SUBST($1_LIBS)
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG,[
++_TUXBOX_APPS_LIB_CONFIG($1,$2,ERROR)
++if test "$$1_CONFIG" = "no"; then
++      AC_MSG_ERROR([could not find $2]);
++fi
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_CHECK,[
++_TUXBOX_APPS_LIB_CONFIG($1,$2,WARN)
++])
++
++AC_DEFUN(TUXBOX_APPS_PKGCONFIG,[
++AC_PATH_PROG(PKG_CONFIG, pkg-config,no)
++if test "$PKG_CONFIG" = "no" ; then
++      AC_MSG_ERROR([could not find pkg-config]);
++fi
++])
++
++AC_DEFUN(_TUXBOX_APPS_LIB_PKGCONFIG,[
++PKG_CHECK_MODULES($1,$2)
++AC_SUBST($1_CFLAGS)
++AC_SUBST($1_LIBS)
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG,[
++_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
++if test -z "$$1_CFLAGS" ; then
++      AC_MSG_ERROR([could not find package $2]);
++fi
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG_CHECK,[
++_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
++])
++
++AC_DEFUN(_TUXBOX_APPS_LIB_SYMBOL,[
++AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no")
++if test "$HAVE_$1" = "yes"; then
++      $1_LIBS=-l$2
++fi
++
++AC_SUBST($1_LIBS)
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_SYMBOL,[
++_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR)
++if test "$HAVE_$1" = "no"; then
++      AC_MSG_ERROR([could not find $2]);
++fi
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_SYMBOL,[
++_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN)
++])
++
++AC_DEFUN(TUXBOX_APPS_GETTEXT,[
++AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
++      [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
++      (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++      :)
++AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
++
++AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
++      [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
++      (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++      :)
++
++AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1],:)
++
++AC_MSG_CHECKING([whether NLS is requested])
++AC_ARG_ENABLE(nls,
++      [  --disable-nls           do not use Native Language Support],
++      USE_NLS=$enableval, USE_NLS=yes)
++AC_MSG_RESULT($USE_NLS)
++AC_SUBST(USE_NLS)
++
++if test "$USE_NLS" = "yes"; then
++      AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[
++              AC_TRY_LINK([
++                      #include <libintl.h>
++                      #ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++                      #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++                      #endif
++                      extern int _nl_msg_cat_cntr;
++                      extern int *_nl_domain_bindings;
++                      ],[
++                      bindtextdomain ("", "");
++                      return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings;
++                      ], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no
++              )]
++      )
++
++      if test "$gt_cv_func_gnugettext_libc" = "yes"; then
++              AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.])
++              gt_use_preinstalled_gnugettext=yes
++      else
++              USE_NLS=no
++      fi
++fi
++
++if test -f "$srcdir/po/LINGUAS"; then
++      ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS")
++fi
++
++POFILES=
++GMOFILES=
++UPDATEPOFILES=
++DUMMYPOFILES=
++for lang in $ALL_LINGUAS; do
++      POFILES="$POFILES $srcdirpre$lang.po"
++      GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++      UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++      DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++done
++INST_LINGUAS=
++if test -n "$ALL_LINGUAS"; then
++      for presentlang in $ALL_LINGUAS; do
++              useit=no
++              if test -n "$LINGUAS"; then
++                      desiredlanguages="$LINGUAS"
++              else
++                      desiredlanguages="$ALL_LINGUAS"
++              fi
++              for desiredlang in $desiredlanguages; do
++                      case "$desiredlang" in
++                              "$presentlang"*) useit=yes;;
++                      esac
++              done
++              if test $useit = yes; then
++                      INST_LINGUAS="$INST_LINGUAS $presentlang"
++              fi
++      done
++fi
++CATALOGS=
++if test -n "$INST_LINGUAS"; then
++      for lang in $INST_LINGUAS; do
++              CATALOGS="$CATALOGS $lang.gmo"
++      done
++fi
++AC_SUBST(POFILES)
++AC_SUBST(GMOFILES)
++AC_SUBST(UPDATEPOFILES)
++AC_SUBST(DUMMYPOFILES)
++AC_SUBST(CATALOGS)
++])
++
++dnl backward compatiblity
++AC_DEFUN([AC_GNU_SOURCE],
++[AH_VERBATIM([_GNU_SOURCE],
++[/* Enable GNU extensions on systems that have them.  */
++#ifndef _GNU_SOURCE
++# undef _GNU_SOURCE
++#endif])dnl
++AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
++AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
++AC_DEFINE([_GNU_SOURCE])
++])
++
++AC_DEFUN([AC_PROG_EGREP],
++[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
++   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
++    then ac_cv_prog_egrep='grep -E'
++    else ac_cv_prog_egrep='egrep'
++    fi])
++ EGREP=$ac_cv_prog_egrep
++ AC_SUBST([EGREP])
++])
++
++AC_DEFUN([AC_PYTHON_DEVEL],[
++        #
++        # should allow for checking of python version here...
++        #
++        AC_REQUIRE([AM_PATH_PYTHON])
++
++        # Check for Python include path
++        AC_MSG_CHECKING([for Python include path])
++        python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
++        for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/python/" "$python_path/" ; do
++                python_path=`find $i -type f -name Python.h -print | sed "1q"`
++                if test -n "$python_path" ; then
++                        break
++                fi
++        done
++        python_path=`echo $python_path | sed "s,/Python.h$,,"`
++        AC_MSG_RESULT([$python_path])
++        if test -z "$python_path" ; then
++                AC_MSG_ERROR([cannot find Python include path])
++        fi
++        AC_SUBST([PYTHON_CPPFLAGS],[-I$python_path])
++
++        # Check for Python library path
++        AC_MSG_CHECKING([for Python library path])
++        python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
++        for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do
++                python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
++                if test -n "$python_path" ; then
++                        break
++                fi
++        done
++        python_path=`echo $python_path | sed "s,/libpython.*$,,"`
++        AC_MSG_RESULT([$python_path])
++        if test -z "$python_path" ; then
++                AC_MSG_ERROR([cannot find Python library path])
++        fi
++        AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -lpython$PYTHON_VERSION"])
++        #
++        python_site=`echo $python_path | sed "s/config/site-packages/"`
++        AC_SUBST([PYTHON_SITE_PKG],[$python_site])
++])
+diff -Naur tuxtxt_org/configure.ac tuxtxt/configure.ac
+--- tuxtxt_org/configure.ac    1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/configure.ac        2006-12-28 12:08:58.000000000 +0100
+@@ -0,0 +1,17 @@
++AC_INIT(tuxbox-tuxtxt-32bpp,1.96)
++AM_INIT_AUTOMAKE(tuxbox-tuxtxt-32bpp,1.96)
++
++TUXBOX_APPS
++TUXBOX_APPS_DIRECTORY
++TUXBOX_APPS_DVB
++TUXBOX_APPS_DRIVER
++
++# Checks for programs.
++AC_PROG_CC
++
++TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config)
++TUXBOX_APPS_LIB_PKGCONFIG(TUXTXT,tuxbox-tuxtxt)
++
++AC_OUTPUT(Makefile)
++AC_OUTPUT(font/Makefile)
++AC_OUTPUT(python/Makefile)
+diff -Naur tuxtxt_32bpp/python/Makefile.am tuxtxt/python/Makefile.am
+--- tuxtxt/python/Makefile.am  1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/python/Makefile.am  2006-03-10 21:43:45.000000000 +0100
+@@ -0,0 +1,5 @@
++installdir = $(LIBDIR)/enigma2/python/Plugins/Extensions/Tuxtxt
++
++install_DATA = \
++      plugin.py \
++      __init__.py
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp/makelib.diff b/packages/tuxbox/tuxbox-tuxtxt-32bpp/makelib.diff
new file mode 100644 (file)
index 0000000..859045e
--- /dev/null
@@ -0,0 +1,71 @@
+diff -ru tuxtxt.org/configure.ac tuxtxt/configure.ac
+--- tuxtxt.org/configure.ac    2008-05-22 11:30:43.000000000 +0200
++++ tuxtxt/configure.ac        2008-05-22 11:37:20.000000000 +0200
+@@ -1,5 +1,9 @@
+-AC_INIT(tuxbox-tuxtxt-32bpp,1.96)
+-AM_INIT_AUTOMAKE(tuxbox-tuxtxt-32bpp,1.96)
++AC_INIT(libtuxtxt32bpp,1.96)
++AM_INIT_AUTOMAKE(libtuxtxt32bpp,1.96)
++
++AM_PROG_LIBTOOL
++
++AC_DISABLE_STATIC
+ TUXBOX_APPS
+ TUXBOX_APPS_DIRECTORY
+diff -ru tuxtxt.org/Makefile.am tuxtxt/Makefile.am
+--- tuxtxt.org/Makefile.am     2008-05-22 11:30:43.000000000 +0200
++++ tuxtxt/Makefile.am 2008-05-22 11:37:20.000000000 +0200
+@@ -6,13 +6,14 @@
+       @FREETYPE_CFLAGS@ \
+       -funsigned-char \
+       -I$(top_srcdir)/include \
+-      -I$(prefix)/$(includedir)/tuxbox/tuxtxt 
++      -I$(prefix)/$(includedir)/tuxbox/tuxtxt
+-bin_PROGRAMS = tuxtxt
+-tuxtxt_LDADD = -lpthread -lz \
++libtuxtxt32bpp_la_LIBADD = -lpthread -lz \
+       @FREETYPE_LIBS@ \
+       @TUXTXT_LIBS@
+-tuxtxt_SOURCES = tuxtxt.c
++lib_LTLIBRARIES = libtuxtxt32bpp.la
++
++libtuxtxt32bpp_la_SOURCES = tuxtxt.c
+ install_DATA = tuxtxt2.conf
+diff -ru tuxtxt.org/tuxtxt.c tuxtxt/tuxtxt.c
+--- tuxtxt.org/tuxtxt.c        2008-05-23 10:32:31.000000000 +0200
++++ tuxtxt/tuxtxt.c    2008-05-23 10:33:53.000000000 +0200
+@@ -317,7 +317,7 @@
+  * main loop                                                                  *
+  ******************************************************************************/
+-int main(int argc, char **argv)
++int tuxtxt_run_ui(int pid)
+ {
+       char cvs_revision[] = "$Revision: 1.99 $";
+@@ -333,18 +333,8 @@
+       printf("TuxTxt %s\n", versioninfo);
+       printf("for 32bpp framebuffer\n");
+-      /* get params */
+-      tuxtxt_cache.vtxtpid = fb = lcd = rc = sx = ex = sy = ey = -1;
+-      if (argc==1)
+-      {
+-              printf("\nUSAGE: tuxtxt vtpid\n");
+-              printf("No PID given, so scanning for PIDs ...\n\n");
+-              tuxtxt_cache.vtxtpid=0;
+-      }
+-      else 
+-      {
+-              tuxtxt_cache.vtxtpid = atoi(argv[1]);
+-      }
++      fb = lcd = rc = sx = ex = sy = ey = -1;
++      tuxtxt_cache.vtxtpid = pid;
+       /* open Framebuffer */
+       if ((fb=open("/dev/fb/0", O_RDWR)) == -1)
+Only in tuxtxt: tuxtxt.c.orig
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp/plugin.py b/packages/tuxbox/tuxbox-tuxtxt-32bpp/plugin.py
new file mode 100644 (file)
index 0000000..40b56a2
--- /dev/null
@@ -0,0 +1,8 @@
+from enigma import eTuxtxtApp
+from Plugins.Plugin import PluginDescriptor
+
+def main(session, **kwargs):
+       eTuxtxtApp.getInstance().startUi()
+
+def Plugins(**kwargs):
+       return PluginDescriptor(name="TuxTXT", description="Videotext", where = PluginDescriptor.WHERE_TELETEXT, fnc=main)
diff --git a/packages/unionfs/unionfs-modules_1.1.5.bb b/packages/unionfs/unionfs-modules_1.1.5.bb
new file mode 100644 (file)
index 0000000..89d0e3e
--- /dev/null
@@ -0,0 +1,12 @@
+PR = "r1"
+PARALLEL_MAKE = ""
+
+require unionfs-modules.inc
+
+KERNEL_MAJMIN = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')[:3]}"
+
+do_compile() {
+       unset LDFLAGS
+       oe_runmake unionfs.ko
+#${KERNEL_MAJMIN}
+}
diff --git a/packages/unionfs/unionfs-utils_1.1.5.bb b/packages/unionfs/unionfs-utils_1.1.5.bb
new file mode 100644 (file)
index 0000000..f22be6c
--- /dev/null
@@ -0,0 +1,2 @@
+require unionfs-utils.inc
+
diff --git a/packages/vsftpd/files/opendreambox/vsftpd.conf b/packages/vsftpd/files/opendreambox/vsftpd.conf
new file mode 100644 (file)
index 0000000..3a04e33
--- /dev/null
@@ -0,0 +1,105 @@
+# Opendreambox /etc/vsftpd.conf
+#
+# Please see vsftpd.conf.5 for all compiled in defaults.
+#
+# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
+# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
+# capabilities.
+#
+# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
+anonymous_enable=NO
+#
+# Uncomment this to allow local users to log in.
+local_enable=YES
+#
+# Uncomment this to enable any form of FTP write command.
+write_enable=YES
+#
+# Default umask for local users is 077. You may wish to change this to 022,
+# if your users expect that (022 is used by most other ftpd's)
+#local_umask=022
+#
+# Uncomment this to allow the anonymous FTP user to upload files. This only
+# has an effect if the above global write enable is activated. Also, you will
+# obviously need to create a directory writable by the FTP user.
+#anon_upload_enable=YES
+#
+# Uncomment this if you want the anonymous FTP user to be able to create
+# new directories.
+#anon_mkdir_write_enable=YES
+#
+# Activate directory messages - messages given to remote users when they
+# go into a certain directory.
+dirmessage_enable=YES
+#
+# Activate logging of uploads/downloads.
+xferlog_enable=YES
+#
+# Make sure PORT transfer connections originate from port 20 (ftp-data).
+connect_from_port_20=YES
+#
+# If you want, you can arrange for uploaded anonymous files to be owned by
+# a different user. Note! Using "root" for uploaded files is not
+# recommended!
+#chown_uploads=YES
+#chown_username=whoever
+#
+# You may override where the log file goes if you like. The default is shown
+# below.
+#xferlog_file=/var/log/vsftpd.log
+#
+# If you want, you can have your log file in standard ftpd xferlog format
+#xferlog_std_format=YES
+#
+# You may change the default value for timing out an idle session.
+#idle_session_timeout=600
+#
+# You may change the default value for timing out a data connection.
+#data_connection_timeout=120
+#
+# It is recommended that you define on your system a unique user which the
+# ftp server can use as a totally isolated and unprivileged user.
+#nopriv_user=ftpsecure
+#
+# Enable this and the server will recognise asynchronous ABOR requests. Not
+# recommended for security (the code is non-trivial). Not enabling it,
+# however, may confuse older FTP clients.
+async_abor_enable=YES
+#
+# By default the server will pretend to allow ASCII mode but in fact ignore
+# the request. Turn on the below options to have the server actually do ASCII
+# mangling on files when in ASCII mode.
+# Beware that turning on ascii_download_enable enables malicious remote parties
+# to consume your I/O resources, by issuing the command "SIZE /big/file" in
+# ASCII mode.
+# These ASCII options are split into upload and download because you may wish
+# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
+# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
+# on the client anyway..
+#ascii_upload_enable=YES
+#ascii_download_enable=YES
+#
+# You may fully customise the login banner string:
+ftpd_banner=Welcome to the OpenDreambox FTP service.
+#
+# You may specify a file of disallowed anonymous e-mail addresses. Apparently
+# useful for combatting certain DoS attacks.
+#deny_email_enable=YES
+# (default follows)
+#banned_email_file=/etc/vsftpd.banned_emails
+#
+# You may specify an explicit list of local users to chroot() to their home
+# directory. If chroot_local_user is YES, then this list becomes a list of
+# users to NOT chroot().
+#chroot_list_enable=YES
+# (default follows)
+#chroot_list_file=/etc/vsftpd.chroot_list
+#
+# You may activate the "-R" option to the builtin ls. This is disabled by
+# default to avoid remote users being able to cause excessive I/O on large
+# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
+# the presence of the "-R" option, so there is a strong case for enabling it.
+ls_recurse_enable=YES
+#
+secure_chroot_dir=/dev/shm
+local_root=/
index fc10d27..3561fea 100644 (file)
@@ -35,8 +35,12 @@ do_install() {
 }
 
 pkg_postinst() {
-        addgroup ftp
-        adduser --system --home /var/tmp/ftp --no-create-home --ingroup ftp --disabled-password -s /bin/false ftp
+        # can't do this offline
+        if [ "x$D" != "x" ]; then
+                exit 1
+        fi
+        addgroup ftp &&
+        adduser --system --home /var/tmp/ftp --no-create-home --ingroup ftp --disabled-password -s /bin/false ftp &&
         mkdir -p ${localstatedir}/share/empty
 }
 
diff --git a/packages/wlan-rt73/files/changeiface.patch b/packages/wlan-rt73/files/changeiface.patch
new file mode 100644 (file)
index 0000000..89b3cf1
--- /dev/null
@@ -0,0 +1,38 @@
+--- Module/rtmp_main.c_orig    2008-05-06 07:26:44.000000000 +0200
++++ Module/rtmp_main.c 2008-08-12 09:19:55.000000000 +0200
+@@ -987,7 +987,7 @@
+               for (i = 0; i < 8; i++)
+               {
+-                      sprintf(slot_name, "rausb%d", i);
++                      sprintf(slot_name, "wlan%d", i);
+                       
+                       read_lock_bh(&dev_base_lock); // avoid multiple init
+ //Benson modify -->
+@@ -1010,7 +1010,7 @@
+                       return NULL;
+               }
+-              sprintf(pAd->net_dev->name, "rausb%d", i);
++              sprintf(pAd->net_dev->name, "wlan%d", i);
+               DBGPRINT(RT_DEBUG_ERROR, "usb device name %s\n",pAd->net_dev->name);
+         /* get Max Packet Size from usb_dev endpoint */
+@@ -1191,7 +1191,7 @@
+         
+               for (i = 0; i < 8; i++)
+               {
+-                      sprintf(slot_name, "rausb%d", i);
++                      sprintf(slot_name, "wlan%d", i);
+ #if 1          
+ //--> Benson add 20080505, for Linux_kernel > 2,6,24 
+@@ -1231,7 +1231,7 @@
+                       return res;
+               }
+-              sprintf(pAd->net_dev->name, "rausb%d", i);
++              sprintf(pAd->net_dev->name, "wlan%d", i);
+               DBGPRINT(RT_DEBUG_ERROR, "usb device name %s\n", pAd->net_dev->name);
diff --git a/packages/wlan-rt73/files/make.patch b/packages/wlan-rt73/files/make.patch
new file mode 100644 (file)
index 0000000..b49d513
--- /dev/null
@@ -0,0 +1,20 @@
+--- Module/Makefile    2008-05-06 07:58:14.000000000 +0200
++++ Module/Makefile    2008-08-04 15:08:58.000000000 +0200
+@@ -14,6 +14,8 @@
+ #Support Block Net-If during TxSw queue full.
+ HAS_BLOCK_NET_IF=y
++VERSION := $(shell uname -r)
++MODPATH := /lib/modules/$(VERSION)
+ WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs
+@@ -35,7 +37,7 @@
+ EXTRA_CFLAGS += $(WFLAGS)
+ ifeq ($(PLATFORM),PC)
+-LINUX_SRC =/lib/modules/$(shell uname -r)/build
++LINUX_SRC ?= $(MODPATH)/source
+ endif
+ ifeq ($(PLATFORM),CMPC)
+ LINUX_SRC = /home/fonchi/vendor/kernel-default-2.6.21/linux-2.6.21
diff --git a/packages/wlan-rt73/wlan-rt73.bb b/packages/wlan-rt73/wlan-rt73.bb
new file mode 100644 (file)
index 0000000..56124aa
--- /dev/null
@@ -0,0 +1,38 @@
+DESCRIPTION = "Driver for Ralink rt73 USB 802.11b/g WiFi sticks"
+HOMEPAGE = "http://www.ralinktech.com.tw"
+SECTION = "kernel/modules"
+LICENSE = "GPL"
+
+PR = "r3"
+
+SRC_URI = "http://www.ralinktech.com.tw/data/drivers/2008_0506_RT73_Linux_STA_Drv1.1.0.1.tar.bz2 \
+           file://make.patch;patch=1 \
+           file://changeiface.patch;patch=1"
+RDEPEND = "wireless-tools"
+
+inherit module
+
+FILES_${PN} += " /lib/firmware/rt73.bin"
+
+S = "${WORKDIR}/2008_0506_RT73_Linux_STA_Drv1.1.0.1/Module/"
+EXTRA_OEMAKE = "KERNDIR=${STAGING_KERNEL_DIR}"
+
+do_compile () {
+        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+        oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+                   'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+                   'LINUX_SRC=${STAGING_KERNEL_DIR}' \
+                   'KDIR=${STAGING_KERNEL_DIR}' \
+                   'KERNDIR=${STAGING_KERNEL_DIR}' \
+                   'KERNEL_VERSION=${KERNEL_VERSION}' \
+                   'CC=${KERNEL_CC}' \
+                   'LD=${KERNEL_LD}'
+}
+
+do_install() {
+        install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+        install -m 0644 rt73${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
+        install -d ${D}/lib/firmware
+        install -m 0644 rt73.bin ${D}/lib/firmware/
+}
+
diff --git a/packages/zd1211/zd1211b-r222/ZD1211LnxDrv_2_22_0_0.patch b/packages/zd1211/zd1211b-r222/ZD1211LnxDrv_2_22_0_0.patch
new file mode 100644 (file)
index 0000000..3558e8c
--- /dev/null
@@ -0,0 +1,61 @@
+diff -Naur org/Makefile patched/Makefile
+--- org/Makefile       2008-08-19 12:45:17.000000000 +0200
++++ patched/Makefile   2008-08-19 12:44:55.000000000 +0200
+@@ -4,9 +4,11 @@
+ #\r
+ #\r
\r
+-HOST=\r
+-CC=$(HOST)gcc\r
+-LD=$(HOST)ld\r
++#HOST=\r
++#CC=$(HOST)gcc\r
++#LD=$(HOST)ld\r
++VERSION := $(shell uname -r)\r
++MODPATH := /lib/modules/$(VERSION)\r
+ KERN_VER=$(shell uname -r | cut -b1-3;)\r
+ KDIR := /lib/modules/$(shell uname -r)/build\r
+ PWD := $(shell pwd)\r
+@@ -17,15 +19,17 @@
\r
+ ifeq ($(KERN_VER), 2.6) \r
+     KERN_26=y\r
+-    KERNEL_SOURCE=/usr/src/linux-2.6.9\r
++    KERNEL_SOURCE ?= $(MODPATH)/source\r
+ else \r
+     KERN_24=y\r
+     KERNEL_SOURCE=/usr/src/linux-2.4\r
+ endif\r
\r
+ SRC_DIR=src\r
+-DEFINES=-D__KERNEL__ -DMODULE=1\r
++DEFINES ?= -D__KERNEL__ -DMODULE=1\r
\r
++# set to 1 for zd1211b\r
++ZD1211REV_B=1\r
\r
+ KERNRELEASE := $(shell uname -r;)\r
+ MODPATH := /lib/modules/$(KERNRELEASE)\r
+@@ -362,14 +366,14 @@
+       /bin/sh scripts/Menuconfig\r
\r
+ debug:\r
+-      gcc -o apdbg apdbg.c\r
+-      chmod +x apdbg\r
+-      cp ./apdbg /sbin/apdbg   \r
+-      make -C Menudbg\r
+-      mv Menudbg/menudbg .\r
+-      chmod +x menudbg\r
+-      cp ./menudbg /sbin\r
+-      gcc -DPKT_SEND_FUNCTION -o winevl_iface Winevl_iface/pkt_send.c Winevl_iface/winevl_bridge.c\r
++      #gcc -o apdbg apdbg.c\r
++      #chmod +x apdbg\r
++      #cp ./apdbg /sbin/apdbg   \r
++      #make -C Menudbg\r
++      #mv Menudbg/menudbg .\r
++      #chmod +x menudbg\r
++      #cp ./menudbg /sbin\r
++      #gcc -DPKT_SEND_FUNCTION -o winevl_iface Winevl_iface/pkt_send.c Winevl_iface/winevl_bridge.c\r
\r
+ clean:\r
+       rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o  $(SRC_DIR)/.*.o.cmd menudbg apdbg winevl_iface\r
diff --git a/packages/zd1211/zd1211b-r222/zdiface.patch b/packages/zd1211/zd1211b-r222/zdiface.patch
new file mode 100644 (file)
index 0000000..da51ae7
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur org/src/zdusb.c patched/src/zdusb.c
+--- org/src/zdusb.c    2007-11-06 13:06:36.000000000 +0100
++++ patched/src/zdusb.c        2008-08-19 12:44:48.000000000 +0200
+@@ -371,6 +371,8 @@
+       g_dev = net;  //save this for CBs use\r
+       //macp = net->priv; //kernel 2.4\r
+       net->priv = macp;   //kernel 2.6\r
++  /* ath_desc: use /dev/wlanX as device node */\r
++  strcpy(net->name, "wlan%d");        \r
+       macp->device = net;\r
+       macp->usb = dev;\r
+       SET_MODULE_OWNER(net);\r
diff --git a/packages/zd1211/zd1211b-r83/zd1211b.patch b/packages/zd1211/zd1211b-r83/zd1211b.patch
new file mode 100644 (file)
index 0000000..1e7416b
--- /dev/null
@@ -0,0 +1,48 @@
+--- zd1211-driver-r85/Makefile 2006-07-09 11:59:42.000000000 +0200
++++ zd1211-driver-r85/Makefile 2008-05-22 09:03:08.000000000 +0200
+@@ -4,10 +4,10 @@
+ #
+ #
+-CC=gcc
+-CPP=g++
+-LD=ld
+-rM=rm -f -r
++#CC=gcc
++#CPP=g++
++#LD=ld
++#rM=rm -f -r
+ VERSION := $(shell uname -r)
+ MODPATH := /lib/modules/$(VERSION)
+@@ -15,14 +15,14 @@
+ # if the kernel is 2.6.x, turn on this
+ KERN_26=y
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+ # set to 1 for zd1211b
+-ZD1211REV_B=0
++ZD1211REV_B=1
+ SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++DEFINES ?= -D__KERNEL__ -DMODULE=1
+@@ -228,9 +228,9 @@
+       depmod -a $(VERSION)
+ #for apdbg
+-      gcc -o apdbg apdbg.c
+-      chmod +x apdbg
+-      cp ./apdbg /sbin/apdbg   
++#     gcc -o apdbg apdbg.c
++#     chmod +x apdbg
++#     cp ./apdbg /sbin/apdbg   
+ clean:
+       rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o  $(SRC_DIR)/.*.o.cmd
diff --git a/packages/zd1211/zd1211b_r222.bb b/packages/zd1211/zd1211b_r222.bb
new file mode 100644 (file)
index 0000000..0b7ef2d
--- /dev/null
@@ -0,0 +1,31 @@
+DESCRIPTION = "Driver for zd1211b family of wireless USB Dongles"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+MAINTAINER = "Oyvind Repvik <nail@nslu2-linux.org>"
+LICENSE = "GPL"
+RDEPENDS = "wireless-tools"
+PR = "r0"
+
+SRC_URI = "http://www.reactivated.net/software/zd1211-vendor/releases/ZD1211LnxDrv_2_22_0_0.tar.gz \
+           file://ZD1211LnxDrv_2_22_0_0.patch;patch=1 \
+           file://zdiface.patch;patch=1"
+           
+S = "${WORKDIR}/ZD1211LnxDrv_2_22_0_0"
+
+inherit module
+
+do_compile () {
+        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+        oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+                   'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+                   'KDIR=${STAGING_KERNEL_DIR}' \
+                   'KERNEL_VERSION=${KERNEL_VERSION}' \
+                   'CC=${KERNEL_CC}' \
+                   'LD=${KERNEL_LD}'
+}
+
+do_install() {
+        install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+        install -m 0644 ${S}/zd1211*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+}
diff --git a/packages/zd1211/zd1211b_r83.bb b/packages/zd1211/zd1211b_r83.bb
new file mode 100644 (file)
index 0000000..37b7251
--- /dev/null
@@ -0,0 +1,30 @@
+DESCRIPTION = "Driver for zd1211b family of wireless USB Dongles"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+MAINTAINER = "Oyvind Repvik <nail@nslu2-linux.org>"
+LICENSE = "GPL"
+RDEPENDS = "wireless-tools"
+PR = "r1"
+
+SRC_URI = "http://downloads.openwrt.org/sources/zd1211-driver-${PV}.tgz \
+           file://zd1211b.patch;patch=1"
+
+S = "${WORKDIR}/zd1211-driver-${PV}"
+
+inherit module
+
+do_compile () {
+        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+        oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+                   'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+                   'KDIR=${STAGING_KERNEL_DIR}' \
+                   'KERNEL_VERSION=${KERNEL_VERSION}' \
+                   'CC=${KERNEL_CC}' \
+                   'LD=${KERNEL_LD}'
+}
+
+do_install() {
+        install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+        install -m 0644 ${S}/zd1211*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+}
diff --git a/packages/zope/python-zopeinterface-native_3.3.0.bb b/packages/zope/python-zopeinterface-native_3.3.0.bb
new file mode 100644 (file)
index 0000000..0863fa1
--- /dev/null
@@ -0,0 +1,8 @@
+include python-zopeinterface_${PV}.bb
+inherit native
+DEPENDS = "python-native"
+
+do_stage() {
+       BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
+        ${STAGING_BINDIR}/python setup.py install --prefix=${STAGING_BINDIR}/.. --install-data=${STAGING_DATADIR}
+}
diff --git a/packages/zope/python-zopeinterface_3.3.0.bb b/packages/zope/python-zopeinterface_3.3.0.bb
new file mode 100644 (file)
index 0000000..4d96561
--- /dev/null
@@ -0,0 +1,12 @@
+DESCRIPTION = "zope.interface is provides Zope 3-styled interface definitions \
+for python"
+SECTION = "devel/python"
+PRIORITY = "optional"
+LICENSE = "ZPL"
+SRCNAME = "zope.interface"
+
+SRC_URI = "http://www.zope.org/Products/ZopeInterface/${PV}/${SRCNAME}-${PV}.tar.gz"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
index 06602ca..c821daf 100644 (file)
@@ -1,3 +1,8 @@
+#used by many configure scripts (i.e. for strace)
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_have_little_endian_long_long=${ac_cv_have_little_endian_long_long=yes}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
 
 ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
 ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
@@ -106,10 +111,20 @@ rd_cv_ieee_works=${rd_cv_ieee_works=yes}
 am_cv_func_working_getline=${am_cv_func_working_getline=yes}
 
 # samba
+samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
+samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=yes}
+samba_cv_have_longlong=${samba_cv_have_longlong=yes}
+samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=yes}
 samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes}
+samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=no}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
 
 # vim
 ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
+ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
+ac_cv_sizeof_fpos_t=${ac_cv_sizeof_fpos_t=12}
 
 # sudo
 sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
@@ -127,3 +142,15 @@ ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
 cv_mono_sizeof_sunpath=108
 mono_cv_uscore=${mono_cv_uscore=no}
 
+#python2.5
+ac_cv_file__dev_ptmx=${ac_cv_file__dev_ptmx=yes}
+ac_cv_file__dev_ptc=${ac_cv_file__dev_ptc=no}
+ac_cv_no_strict_aliasing_ok=${ac_cv_no_strict_aliasing_ok=yes}
+ac_cv_pthread=${ac_cv_pthread=yes}
+ac_cv_cxx_thread=${ac_cv_cxx_thread=yes}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
index 278736e..c0c16ed 100644 (file)
@@ -326,3 +326,6 @@ sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
 # dpkg
 dpkg_cv_va_copy=${ac_cv_va_copy=yes}
 dpkg_cv___va_copy=${ac_cv___va_copy=yes}
+
+# rp_pppoe
+rpppoe_cv_pack_bitfields=${rpppoe_cv_pack_bitfields=rev}