diff options
author | Michael Lauer <mickey@vanille-media.de> | 2006-11-11 18:22:30 +0000 |
---|---|---|
committer | Michael Lauer <mickey@vanille-media.de> | 2006-11-11 18:22:30 +0000 |
commit | 4eb54f079356de0e82ff98cfc68a3ab254b38351 (patch) | |
tree | 3e8fe453dc0f031e93b1d71860ffb1c02448e267 | |
parent | d6ed5ee9f9682d7de5012fac6528f46675cfb43c (diff) | |
parent | 01b752a6cdf62a513886bd89bf649980f8ab1862 (diff) |
merge of a83b40dbdf522cf477298e73d789074887799468
and e2fde1c5cf87c2b0a9be2dfac2a1a1937db68382
162 files changed, 7337 insertions, 4803 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass index 75602d0f44..4ff867b62f 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -8,7 +8,7 @@ # -Check the RUNTIME path for the $TMPDIR # -Check if .la files wrongly point to workdir # -Check if .pc files wrongly point to workdir -# -Check if packages contains .dbg or .so files where they should be in -dev or -dbg +# -Check if packages contains .debug directories or .so files where they should be in -dev or -dbg # @@ -55,7 +55,7 @@ def package_qa_check_devdbg(path, name,d): if not "-dbg" in name: if '.debug' in path: - bb.error("QA Issue: non debug package contains .dbg file: %s" % name) + bb.error("QA Issue: non debug package contains .debug directory: %s" % name) def package_qa_check_perm(path,name,d): """ @@ -126,7 +126,7 @@ def package_qa_check_rdepends(pkg, workdir, d): # The PACKAGE FUNC to scan each package python do_package_qa () { bb.note("DO PACKAGE QA") - workdir = bb.data.getVar('WORKDIR', d, True) + workdir = bb.data.getVar('WORKDIR', d, True) packages = bb.data.getVar('PACKAGES',d, True) # no packages should be scanned diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf index be6bed9f9a..738a0cef78 100644 --- a/conf/distro/angstrom-2007.1.conf +++ b/conf/distro/angstrom-2007.1.conf @@ -8,7 +8,7 @@ #DISTRO_VERSION = "2007.1" DISTRO_VERSION = "test-${DATE}" -DISTRO_REVISION = "8" +DISTRO_REVISION = "9" require conf/distro/include/angstrom.inc require conf/distro/include/sane-srcdates.inc @@ -38,6 +38,7 @@ FEED_ARCH_htcuniversal = "armv5te" FEED_ARCH_hx2000 = "armv5te" FEED_ARCH_hx4700 = "armv5te" FEED_ARCH_ixp4xx = "armv5te" +FEED_ARCH_magician = "armv5te" FEED_ARCH_netbook-pro = "armv5te" FEED_ARCH_nokia770 = "armv5te" FEED_ARCH_poodle = "armv5te" @@ -96,6 +97,7 @@ PREFERRED_PROVIDER_xserver ?= "xserver-kdrive" require conf/distro/include/preferred-xorg-versions-X11R7.1.inc PREFERRED_VERSION_xserver-kdrive = "X11R7.1-1.1.0" +PREFERRED_VERSION_gtk+ = "2.10.6" #zap extra stuff taking place in $MACHINE.conf GPE_EXTRA_INSTALL = "" @@ -147,10 +149,14 @@ PREFERRED_VERSION_gcc ?= "4.1.1" PREFERRED_VERSION_gcc-cross ?= "4.1.1" PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.1" PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1" + PREFERRED_VERSION_binutils ?= "2.17.50.0.5" PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5" PREFERRED_VERSION_binutils-cross-sdk ?= "2.17.50.0.5" + +PREFERRED_VERSION_linux-libc-headers_guinness ?= "2.6.18" PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99" + PREFERRED_VERSION_glibc ?= "2.5" PREFERRED_VERSION_glibc-intermediate ?= "2.5" diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc index 858305cd39..a3d9694295 100644 --- a/conf/distro/include/angstrom.inc +++ b/conf/distro/include/angstrom.inc @@ -28,11 +28,18 @@ INHERIT += "package_ipk debian multimachine sanity" PREFERRED_PROVIDER_qemu-native = "qemu-native" ENABLE_BINARY_LOCALE_GENERATION ?= "1" +#qemu doesn't like armv6/eabi/vfp +ENABLE_BINARY_LOCALE_GENERATION_mx31ads = "0" + #ARM EABI is softfloat by default, but let's make sure :) #make it overridable for platforms with FPU, like ep93xx or i.mx31 TARGET_FPU_arm ?= "soft" TARGET_FPU_ixp4xx ?= "soft" + +#Make a LE jffs2 image +SLUGOS_IMAGESEX = "little-endian" + #Name the generated images in a sane way IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${DISTRO_VERSION}-${MACHINE}" DEPLOY_DIR_IMAGE = ${DEPLOY_DIR}/images/${MACHINE} diff --git a/conf/machine/h5xxx.conf b/conf/machine/h5xxx.conf index d2e7306c46..941d08c013 100644 --- a/conf/machine/h5xxx.conf +++ b/conf/machine/h5xxx.conf @@ -29,5 +29,5 @@ MACHINE_EXTRA_RRECOMMENDS = " kernel-module-h5400_lcd \ # # Modules autoload and other boot properties # -SERIAL_CONSOLE = "115200 tts/0 vt100" +SERIAL_CONSOLE = "115200 ttyS0 vt100" USE_VT = "0" diff --git a/conf/machine/hx2000.conf b/conf/machine/hx2000.conf index b0c962c1d0..da2e466425 100644 --- a/conf/machine/hx2000.conf +++ b/conf/machine/hx2000.conf @@ -5,7 +5,7 @@ TARGET_ARCH = "arm" IPKG_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt ipaqpxa ipaq-pxa270" -#PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus" +PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus" PREFERRED_VERSION_orinoco-modules = "0.15rc1" diff --git a/conf/machine/ixp4xx.conf b/conf/machine/ixp4xx.conf index c088485fcc..c3e56067cd 100644 --- a/conf/machine/ixp4xx.conf +++ b/conf/machine/ixp4xx.conf @@ -2,4 +2,8 @@ #@NAME: Generic IXP4XX kernel #@DESCRIPTION: Machine configuration for a generic ixp4xx board +MACHINE_FEATURES = "kernel26 usbhost ext2" + include conf/machine/include/ixp4xx.conf + +IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ixp4xx${ARCH_BYTE_SEX}" diff --git a/conf/machine/mx31ads.conf b/conf/machine/mx31ads.conf index ad6de78f56..4b3fff7061 100644 --- a/conf/machine/mx31ads.conf +++ b/conf/machine/mx31ads.conf @@ -5,8 +5,10 @@ TARGET_ARCH = "arm" TARGET_FPU_arm = "hard" +MACHINE_FEATURES = "kernel26 apm alsa ext2 pcmcia usbhost usbgadget" + GUI_MACHINE_CLASS = "smallscreen" -IPKG_EXTRA_ARCHS = "armv6" +IPKG_EXTRA_ARCHS = "arm armv4t armv5te armv6" PREFERRED_PROVIDER_virtual/kernel = "${MACHINE}-kernel" diff --git a/conf/machine/palmld.conf b/conf/machine/palmld.conf new file mode 100644 index 0000000000..35a31aa00b --- /dev/null +++ b/conf/machine/palmld.conf @@ -0,0 +1,23 @@ +#@TYPE: Machine +#@NAME: Palm LifeDrive +#@DESCRIPTION: Machine configuration for the Palm LifeDrive + +TARGET_ARCH = "arm" +IPKG_EXTRA_ARCHS = "arm armv4t armv5te" + +PREFERRED_PROVIDER_virtual/kernel = "hackndev-2.6trunk" + +PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive" + +MACHINE_FEATURES = "kernel26 touchscreen apm alsa pcmcia irda wifi ext2 usbgadget" + +ROOT_FLASH_SIZE = "100" + +SERIAL_CONSOLE = "115200 ttyS0" + +GUI_MACHINE_CLASS = "bigscreen" + +# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm. +include conf/machine/tune-xscale.conf + +module_autoload_sa1100-rtc = "sa1100-rtc" diff --git a/packages/abiword/abiword-embedded_2.4.6.bb b/packages/abiword/abiword-embedded_2.4.6.bb new file mode 100644 index 0000000000..9381bbd8a7 --- /dev/null +++ b/packages/abiword/abiword-embedded_2.4.6.bb @@ -0,0 +1,12 @@ +require abiword.inc + +EXTRA_OECONF += "--enable-embedded" + +RCONFLICTS = "abiword" +RPROVIDES += "abiword" + +do_compile_prepend() { + cp ${S}/src/af/xap/unix/hildon/xap_EmbeddedFeatures.h ${S}/src/af/xap/unix/ + cp ${S}/src/wp/ap/unix/hildon/ap_EmbeddedFeatures.h ${S}/src/wp/ap/unix/ +} + diff --git a/packages/abiword/abiword-plugins_2.4.6.bb b/packages/abiword/abiword-plugins_2.4.6.bb new file mode 100644 index 0000000000..28d076aaa4 --- /dev/null +++ b/packages/abiword/abiword-plugins_2.4.6.bb @@ -0,0 +1,27 @@ +DESCRIPTION ="AbiWord is free word processing program similar to Microsoft(r) Word"" +SECTION = "gnome/office" +HOMEPAGE="http://www.abiword.org"" +LICENSE="GPLv2" + +DEPENDS = "libwpd librsvg goffice poppler" +PR="r0" + +SRC_URI = "http://www.abiword.org/downloads/abiword/${PV}/source/abiword-${PV}.tar.gz \ + file://abiword-plugin-pdf-poppler.patch;patch=1;pnum=2" +S = "${WORKDIR}/abiword-${PV}/abiword-plugins" +RDEPENDS='abiword' + +inherit autotools + +PARALLEL_MAKE="" + +EXTRA_OECONF = "--without-libwmf" + +PACKAGES_DYNAMIC = "abiword-plugin-*" + +python populate_packages_prepend () { + abiword_libdir = bb.data.expand('${libdir}/AbiWord-2.4/plugins', d) + + do_split_packages(d, abiword_libdir, '^libAbi(.*)\.so$', 'abiword-plugin-%s', 'Abiword plugin for %s', extra_depends='') +} + diff --git a/packages/abiword/abiword.inc b/packages/abiword/abiword.inc index ac9a39515a..c8f3243b9c 100644 --- a/packages/abiword/abiword.inc +++ b/packages/abiword/abiword.inc @@ -6,31 +6,32 @@ LICENSE = "GPLv2" DEPENDS = "perl-native libgsf libgnomeprint libgnomeprintui libglade libfribidi enchant jpeg libpng libxml2" RDEPENDS = "enchant glibc-gconv-ibm850 glibc-gconv-cp1252 \ glibc-gconv-iso8859-15 glibc-gconv-iso8859-1" -PR="r1" +PR = "r2" SRC_URI = "http://www.abiword.org/downloads/abiword/${PV}/source/abiword-${PV}.tar.gz" S = "${WORKDIR}/abiword-${PV}/abi" -FILES_${PN} += " ${datadir}/icons/* \ -${datadir}/AbiSuite-2.4/AbiWord/glade \ -${datadir}/AbiSuite-2.4/AbiWord/scripts \ -${datadir}/AbiSuite-2.4/AbiWord/system.profile-en \ -${datadir}/AbiSuite-2.4/AbiWord/system.profile-en_GB \ -#${datadir}/AbiSuite-2.4/templates/A4.awt \ -#${datadir}/AbiSuite-2.4/templates/US-Letter.awt \ -${datadir}/AbiSuite-2.4/templates/normal.awt \ -${datadir}/AbiSuite-2.4/templates/normal.awt-en_GB \ -${datadir}/AbiSuite-2.4/templates/Employee-Directory.awt \ -${datadir}/AbiSuite-2.4/templates/Business-Report.awt \ -${datadir}/AbiSuite-2.4/templates/Fax-Coversheet.awt \ -${datadir}/AbiSuite-2.4/templates/Resume.awt \ -${datadir}/AbiSuite-2.4/templates/Two-Columns.awt \ -${datadir}/AbiSuite-2.4/templates/Memo.awt \ -${datadir}/AbiSuite-2.4/templates/Press-Release.awt " +FILES_${PN} += " \ + ${datadir}/icons/* \ + ${datadir}/AbiSuite-2.4/AbiWord/glade \ + ${datadir}/AbiSuite-2.4/AbiWord/scripts \ + ${datadir}/AbiSuite-2.4/AbiWord/system.profile-en \ + ${datadir}/AbiSuite-2.4/AbiWord/system.profile-en_GB \ +# ${datadir}/AbiSuite-2.4/templates/A4.awt \ +# ${datadir}/AbiSuite-2.4/templates/US-Letter.awt \ + ${datadir}/AbiSuite-2.4/templates/normal.awt \ + ${datadir}/AbiSuite-2.4/templates/normal.awt-en_GB \ + ${datadir}/AbiSuite-2.4/templates/Employee-Directory.awt \ + ${datadir}/AbiSuite-2.4/templates/Business-Report.awt \ + ${datadir}/AbiSuite-2.4/templates/Fax-Coversheet.awt \ + ${datadir}/AbiSuite-2.4/templates/Resume.awt \ + ${datadir}/AbiSuite-2.4/templates/Two-Columns.awt \ + ${datadir}/AbiSuite-2.4/templates/Memo.awt \ + ${datadir}/AbiSuite-2.4/templates/Press-Release.awt " inherit autotools -PARALLEL_MAKE="" +PARALLEL_MAKE = "" EXTRA_OECONF = "--disable-pspell --enable-enchant" @@ -39,4 +40,10 @@ do_install_append() { mv ${D}${datadir}/icons/* ${D}${datadir}/pixmaps/ } +PACKAGES += " abiword-clipart abiword-icons abiword-strings abiword-systemprofiles abiword-templates " +FILES_abiword-clipart += "${datadir}/AbiSuite-2.4/clipart" +FILES_abiword-icons += "${datadir}/AbiSuite-2.4/icons" +FILES_abiword-strings += "${datadir}/AbiSuite-2.4/AbiWord/strings" +FILES_abiword-systemprofiles += "${datadir}/AbiSuite-2.4/AbiWord/system.profile*" +FILES_abiword-templates += "${datadir}/AbiSuite-2.4/templates" diff --git a/packages/abiword/abiword_2.4.6.bb b/packages/abiword/abiword_2.4.6.bb new file mode 100644 index 0000000000..b97556b735 --- /dev/null +++ b/packages/abiword/abiword_2.4.6.bb @@ -0,0 +1,4 @@ +require abiword.inc + +RCONFLICTS = "abiword-embedded" + diff --git a/packages/altboot/altboot_1.1.0-wip.bb b/packages/altboot/altboot_1.1.0-wip.bb index 9d78a7a1c2..84acba9f32 100644 --- a/packages/altboot/altboot_1.1.0-wip.bb +++ b/packages/altboot/altboot_1.1.0-wip.bb @@ -23,7 +23,7 @@ RDEPENDS_${PN}-conf = "${PN}" ###################################################################################### -WIP_DATE = "20061105" +WIP_DATE = "20061108" PR = "${WIP_DATE}-r0" ###################################################################################### @@ -78,7 +78,7 @@ do_install() { ###################################################################################### do_configure() { - cat ${WORKDIR}/altboot/init.altboot | sed "s/^VERSION=.*/VERSION=\"${PV}\"/" > ${WORKDIR}/altboot/init.altboot_ + cat ${WORKDIR}/altboot/init.altboot | sed "s/^VERSION=.*/VERSION=\"${PV}-${PR}\"/" > ${WORKDIR}/altboot/init.altboot_ mv ${WORKDIR}/altboot/init.altboot_ ${WORKDIR}/altboot/init.altboot } diff --git a/packages/altboot/files/altboot.rc/playbeep.sh b/packages/altboot/files/altboot.rc/playbeep.sh index 9ef6a0c41b..b41f098630 100644 --- a/packages/altboot/files/altboot.rc/playbeep.sh +++ b/packages/altboot/files/altboot.rc/playbeep.sh @@ -11,7 +11,7 @@ then for module in `cat /etc/modules | grep snd | grep -v ^#` do #echo "loading $module" - modprobe $module + modprobe $module >/dev/null 2>&1 done mount -o remount,rw / diff --git a/packages/angstrom/angstrom-version.bb b/packages/angstrom/angstrom-version.bb index 45fadcb3d1..763fbf22dc 100644 --- a/packages/angstrom/angstrom-version.bb +++ b/packages/angstrom/angstrom-version.bb @@ -1,5 +1,7 @@ PV = ${DISTRO_VERSION} +PACKAGES = "${PN}" + do_compile() { mkdir -p ${D}${sysconfdir} echo "Angstrom ${DISTRO_VERSION}" > ${D}${sysconfdir}/angstrom-version diff --git a/packages/boost-asio/boost-asio_0.3.7.bb b/packages/boost-asio/boost-asio_0.3.7.bb index 07888044f2..45b7e22eb1 100644 --- a/packages/boost-asio/boost-asio_0.3.7.bb +++ b/packages/boost-asio/boost-asio_0.3.7.bb @@ -6,8 +6,6 @@ PRIORITY = "optional" LICENSE = "Boost Software License" PR = "r1" -inherit debian - SRC_URI = "${SOURCEFORGE_MIRROR}/asio/boost_asio_0_3_7.tar.bz2" # mtx-[12] use 2.4 kernels but the kernel-libc-headers are from kernel 2.6, diff --git a/packages/boost/boost_1.33.0.bb b/packages/boost/boost_1.33.0.bb index c409022fae..4c709e6842 100644 --- a/packages/boost/boost_1.33.0.bb +++ b/packages/boost/boost_1.33.0.bb @@ -11,9 +11,6 @@ PRIORITY = "optional" LICENSE = "Boost Software License" PR = "r1" -# need debian package naming for the libs -inherit debian - BOOST_VER = "${@"_".join(bb.data.getVar("PV",d,1).split("."))}" BOOST_MAJ = "${@"_".join(bb.data.getVar("PV",d,1).split(".")[0:2])}" BOOST_P = "boost_${BOOST_VER}" diff --git a/packages/busybox/slingbox-1.2.2/defconfig b/packages/busybox/slingbox-1.2.2/defconfig index a9b167ad8d..8026cfc2ff 100644 --- a/packages/busybox/slingbox-1.2.2/defconfig +++ b/packages/busybox/slingbox-1.2.2/defconfig @@ -10,37 +10,41 @@ HAVE_DOT_CONFIG=y # # General Configuration # +# CONFIG_NITPICK is not set # CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set -CONFIG_FEATURE_BUFFERS_GO_ON_STACK=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_FEATURE_DEVFS is not set +CONFIG_GETOPT_LONG=y # CONFIG_FEATURE_DEVPTS is not set # CONFIG_FEATURE_CLEAN_UP is not set # CONFIG_FEATURE_SUID is not set # CONFIG_FEATURE_SUID_CONFIG is not set # CONFIG_FEATURE_SUID_CONFIG_QUIET is not set # CONFIG_SELINUX is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" # # Build Options # # CONFIG_STATIC is not set -# CONFIG_DISABLE_SHARED is not set # CONFIG_BUILD_LIBBUSYBOX is not set # CONFIG_FEATURE_FULL_LIBBUSYBOX is not set # CONFIG_FEATURE_SHARED_BUSYBOX is not set CONFIG_LFS=y USING_CROSS_COMPILER=y -CROSS_COMPILER_PREFIX="armv5b-softfloat-linux-" +CROSS_COMPILER_PREFIX="armeb-linux-" # CONFIG_BUILD_AT_ONCE is not set # # Debugging Options # # CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set # CONFIG_NO_DEBUG_LIB is not set # CONFIG_DMALLOC is not set # CONFIG_EFENCE is not set @@ -70,7 +74,7 @@ CONFIG_MD5_SIZE_VS_SPEED=2 # CONFIG_AR is not set # CONFIG_FEATURE_AR_LONG_FILENAMES is not set CONFIG_BUNZIP2=y -# CONFIG_CPIO is not set +CONFIG_CPIO=y # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set # CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set @@ -83,12 +87,12 @@ CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set -# CONFIG_FEATURE_TAR_FROM is not set +CONFIG_FEATURE_TAR_FROM=y CONFIG_FEATURE_TAR_GZIP=y CONFIG_FEATURE_TAR_COMPRESS=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y +# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set CONFIG_UNCOMPRESS=y # CONFIG_UNLZMA is not set # CONFIG_FEATURE_LZMA_FAST is not set @@ -105,29 +109,38 @@ CONFIG_UNZIP=y # # Coreutils # -# CONFIG_BASENAME is not set +CONFIG_BASENAME=y # CONFIG_CAL is not set -# CONFIG_CAT is not set -# CONFIG_CHGRP is not set -# CONFIG_CHMOD is not set -# CONFIG_CHOWN is not set +CONFIG_CAT=y +# CONFIG_CATV is not set +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y CONFIG_CHROOT=y +# CONFIG_CKSUM is not set # CONFIG_CMP is not set # CONFIG_COMM is not set -# CONFIG_CP is not set +CONFIG_CP=y CONFIG_CUT=y # CONFIG_DATE is not set # CONFIG_FEATURE_DATE_ISOFMT is not set -# CONFIG_DD is not set -# CONFIG_DF is not set +CONFIG_DD=y +# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set +# CONFIG_FEATURE_DD_IBS_OBS is not set +CONFIG_DF=y +# CONFIG_DIFF is not set +# CONFIG_FEATURE_DIFF_BINARY is not set +# CONFIG_FEATURE_DIFF_DIR is not set +# CONFIG_FEATURE_DIFF_MINIMAL is not set CONFIG_DIRNAME=y -# CONFIG_DOS2UNIX is not set -# CONFIG_UNIX2DOS is not set +CONFIG_DOS2UNIX=y +CONFIG_UNIX2DOS=y CONFIG_DU=y -CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y -# CONFIG_ECHO is not set -# CONFIG_FEATURE_FANCY_ECHO is not set +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y # CONFIG_ENV is not set +# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set CONFIG_EXPR=y # CONFIG_EXPR_MATH_SUPPORT_64 is not set # CONFIG_FALSE is not set @@ -135,37 +148,40 @@ CONFIG_EXPR=y CONFIG_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y # CONFIG_HOSTID is not set -# CONFIG_ID 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 is not set +CONFIG_LN=y # CONFIG_LOGNAME is not set -# CONFIG_LS is not set -# CONFIG_FEATURE_LS_FILETYPES is not set -# CONFIG_FEATURE_LS_FOLLOWLINKS is not set -# CONFIG_FEATURE_LS_RECURSIVE is not set -# CONFIG_FEATURE_LS_SORTFILES is not set -# CONFIG_FEATURE_LS_TIMESTAMPS is not set -# CONFIG_FEATURE_LS_USERNAME is not set +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 is not set # CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set CONFIG_MD5SUM=y -# CONFIG_MKDIR is not set +CONFIG_MKDIR=y +# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set CONFIG_MKFIFO=y -# CONFIG_MKNOD is not set -# CONFIG_MV is not set +CONFIG_MKNOD=y +CONFIG_MV=y +# CONFIG_FEATURE_MV_LONG_OPTIONS is not set # CONFIG_NICE is not set # CONFIG_NOHUP is not set # CONFIG_OD is not set # CONFIG_PRINTENV is not set # CONFIG_PRINTF is not set -# CONFIG_PWD is not set +CONFIG_PWD=y # CONFIG_REALPATH is not set -# CONFIG_RM is not set +CONFIG_RM=y CONFIG_RMDIR=y # CONFIG_SEQ is not set # CONFIG_SHA1SUM is not set -# CONFIG_SLEEP is not set +CONFIG_SLEEP=y # CONFIG_FEATURE_FANCY_SLEEP is not set CONFIG_SORT=y # CONFIG_FEATURE_SORT_BIG is not set @@ -173,14 +189,14 @@ CONFIG_SORT=y # CONFIG_FEATURE_STAT_FORMAT is not set # CONFIG_STTY is not set # CONFIG_SUM is not set -# CONFIG_SYNC is not set +CONFIG_SYNC=y CONFIG_TAIL=y CONFIG_FEATURE_FANCY_TAIL=y CONFIG_TEE=y # CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set -# CONFIG_TEST is not set +CONFIG_TEST=y # CONFIG_FEATURE_TEST_64 is not set -# CONFIG_TOUCH is not set +CONFIG_TOUCH=y # CONFIG_TR is not set # CONFIG_FEATURE_TR_CLASSES is not set # CONFIG_FEATURE_TR_EQUIV is not set @@ -196,6 +212,10 @@ CONFIG_UNIQ=y # CONFIG_WHO is not set # CONFIG_WHOAMI is not set # CONFIG_YES is not set + +# +# Common options for cp and mv +# # CONFIG_FEATURE_PRESERVE_HARDLINKS is not set # @@ -206,7 +226,7 @@ CONFIG_FEATURE_AUTOWIDTH=y # # Common options for df, du, ls # -# CONFIG_FEATURE_HUMAN_READABLE is not set +CONFIG_FEATURE_HUMAN_READABLE=y # # Common options for md5sum, sha1sum @@ -225,7 +245,9 @@ CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y # CONFIG_OPENVT is not set # CONFIG_RESET 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 @@ -235,7 +257,10 @@ CONFIG_MKTEMP=y # CONFIG_READLINK is not set # CONFIG_FEATURE_READLINK_FOLLOW is not set # CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set # CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set # CONFIG_WHICH is not set # @@ -243,29 +268,31 @@ CONFIG_MKTEMP=y # CONFIG_AWK=y CONFIG_FEATURE_AWK_MATH=y +# CONFIG_ED is not set # CONFIG_PATCH is not set CONFIG_SED=y -# CONFIG_VI is not set -# CONFIG_FEATURE_VI_COLON is not set -# CONFIG_FEATURE_VI_YANKMARK is not set -# CONFIG_FEATURE_VI_SEARCH is not set +CONFIG_VI=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y # CONFIG_FEATURE_VI_USE_SIGNALS is not set # CONFIG_FEATURE_VI_DOT_CMD is not set # 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 is not set -# CONFIG_FEATURE_VI_OPTIMIZE_CURSOR is not set +CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y # # Finding Utilities # -# CONFIG_FIND is not set +CONFIG_FIND=y +# CONFIG_FEATURE_FIND_PRINT0 is not set # CONFIG_FEATURE_FIND_MTIME is not set # CONFIG_FEATURE_FIND_MMIN is not set # CONFIG_FEATURE_FIND_PERM is not set -# CONFIG_FEATURE_FIND_TYPE is not set -# CONFIG_FEATURE_FIND_XDEV is not set +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_XDEV=y # CONFIG_FEATURE_FIND_NEWER is not set # CONFIG_FEATURE_FIND_INUM is not set # CONFIG_FEATURE_FIND_EXEC is not set @@ -283,12 +310,13 @@ CONFIG_FEATURE_GREP_FGREP_ALIAS=y # Init Utilities # # CONFIG_INIT is not set +# CONFIG_DEBUG_INIT is not set # CONFIG_FEATURE_USE_INITTAB is not set # CONFIG_FEATURE_INIT_SCTTY 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_HALT=y # CONFIG_MESG is not set # @@ -326,26 +354,30 @@ CONFIG_FEATURE_GREP_FGREP_ALIAS=y # # Linux Module Utilities # -# CONFIG_INSMOD 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 is not set -# CONFIG_LSMOD is not set +CONFIG_RMMOD=y +CONFIG_LSMOD=y # CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set # CONFIG_MODPROBE is not set # CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set -# CONFIG_FEATURE_2_4_MODULES is not set + +# +# Options common to multiple modutils +# +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +CONFIG_FEATURE_2_4_MODULES=y # CONFIG_FEATURE_2_6_MODULES is not set -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set +CONFIG_FEATURE_QUERY_MODULE_INTERFACE=y # # Linux System Utilities # -# CONFIG_DMESG is not set +CONFIG_DMESG=y # CONFIG_FBSET is not set # CONFIG_FEATURE_FBSET_FANCY is not set # CONFIG_FEATURE_FBSET_READMODE is not set @@ -366,14 +398,16 @@ CONFIG_FREERAMDISK=y # CONFIG_GETOPT is not set CONFIG_HEXDUMP=y # CONFIG_HWCLOCK is not set -# CONFIG_FEATURE_HWCLOCK_LONGOPTIONS 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_MKSWAP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +CONFIG_MKSWAP=y +# CONFIG_FEATURE_MKSWAP_V0 is not set CONFIG_MORE=y CONFIG_FEATURE_USE_TERMIOS=y CONFIG_MOUNT=y @@ -382,7 +416,7 @@ CONFIG_PIVOT_ROOT=y # CONFIG_RDATE is not set # CONFIG_READPROFILE is not set # CONFIG_SETARCH is not set -# CONFIG_SWAPONOFF is not set +CONFIG_SWAPONOFF=y # CONFIG_SWITCH_ROOT is not set CONFIG_UMOUNT=y CONFIG_FEATURE_UMOUNT_ALL=y @@ -399,6 +433,7 @@ CONFIG_FEATURE_MOUNT_LOOP=y # CONFIG_ADJTIMEX is not set # CONFIG_BBCONFIG is not set # CONFIG_CROND is not set +# CONFIG_DEBUG_CROND_OPTION is not set # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set # CONFIG_CRONTAB is not set # CONFIG_DC is not set @@ -406,6 +441,7 @@ CONFIG_FEATURE_MOUNT_LOOP=y # CONFIG_DEVFSD_MODLOAD is not set # CONFIG_DEVFSD_FG_NP is not set # CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set # CONFIG_EJECT is not set # CONFIG_LAST is not set # CONFIG_LESS is not set @@ -430,6 +466,7 @@ CONFIG_FEATURE_MOUNT_LOOP=y # CONFIG_RX is not set CONFIG_STRINGS=y # CONFIG_SETSID is not set +# CONFIG_TASKSET is not set # CONFIG_TIME is not set # CONFIG_WATCHDOG is not set @@ -443,24 +480,25 @@ CONFIG_STRINGS=y # CONFIG_FAKEIDENTD is not set # CONFIG_FTPGET is not set # CONFIG_FTPPUT is not set -# CONFIG_HOSTNAME is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y # CONFIG_HTTPD is not set -# CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY is not set -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_WITHOUT_INETD 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_IFCONFIG is not set -# CONFIG_FEATURE_IFCONFIG_STATUS 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 is not set -# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y # CONFIG_IFUPDOWN is not set # CONFIG_FEATURE_IFUPDOWN_IP is not set # CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set @@ -469,33 +507,35 @@ CONFIG_STRINGS=y # CONFIG_FEATURE_IFUPDOWN_IPX is not set # CONFIG_FEATURE_IFUPDOWN_MAPPING is not set # CONFIG_INETD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_ECHO is not set -# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DISCARD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_TIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DAYTIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN 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 is not set # CONFIG_FEATURE_IP_ADDRESS is not set # CONFIG_FEATURE_IP_LINK is not set # CONFIG_FEATURE_IP_ROUTE is not set # CONFIG_FEATURE_IP_TUNNEL is not set -# CONFIG_IPCALC is not set -# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FEATURE_IP_SHORT_FORMS is not set # CONFIG_IPADDR is not set # CONFIG_IPLINK is not set # CONFIG_IPROUTE is not set # CONFIG_IPTUNNEL 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_NC=y # CONFIG_NC_GAPING_SECURITY_HOLE is not set # CONFIG_NETSTAT is not set # CONFIG_NSLOOKUP is not set -# CONFIG_PING is not set -# CONFIG_FEATURE_FANCY_PING is not set +CONFIG_PING=y +CONFIG_FEATURE_FANCY_PING=y # CONFIG_PING6 is not set # CONFIG_FEATURE_FANCY_PING6 is not set -# CONFIG_ROUTE is not set +CONFIG_ROUTE=y # CONFIG_TELNET is not set # CONFIG_FEATURE_TELNET_TTYPE is not set # CONFIG_FEATURE_TELNET_AUTOLOGIN is not set @@ -505,25 +545,26 @@ CONFIG_NC=y # CONFIG_FEATURE_TFTP_GET is not set # CONFIG_FEATURE_TFTP_PUT is not set # CONFIG_FEATURE_TFTP_BLOCKSIZE is not set -# CONFIG_FEATURE_TFTP_DEBUG is not set +# CONFIG_DEBUG_TFTP is not set # CONFIG_TRACEROUTE is not set # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set # CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set # CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set -# CONFIG_VCONFIG is not set -CONFIG_WGET=y -# CONFIG_FEATURE_WGET_STATUSBAR is not set -# CONFIG_FEATURE_WGET_AUTHENTICATION is not set -# CONFIG_FEATURE_WGET_IP6_LITERAL is not set # # udhcp Server/Client # -# CONFIG_UDHCPD is not set -# CONFIG_UDHCPC is not set -# CONFIG_DUMPLEASES is not set +# CONFIG_APP_UDHCPD is not set +# CONFIG_APP_UDHCPC is not set +# CONFIG_APP_DUMPLEASES is not set # CONFIG_FEATURE_UDHCP_SYSLOG is not set # CONFIG_FEATURE_UDHCP_DEBUG is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +# CONFIG_FEATURE_WGET_STATUSBAR is not set +# CONFIG_FEATURE_WGET_AUTHENTICATION is not set +# CONFIG_FEATURE_WGET_IP6_LITERAL is not set +CONFIG_FEATURE_WGET_LONG_OPTIONS=y # CONFIG_ZCIP is not set # @@ -531,12 +572,12 @@ CONFIG_WGET=y # CONFIG_FREE=y # CONFIG_FUSER is not set -# CONFIG_KILL is not set -# CONFIG_KILLALL is not set -# CONFIG_PIDOF is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_PIDOF=y # CONFIG_FEATURE_PIDOF_SINGLE is not set # CONFIG_FEATURE_PIDOF_OMIT is not set -# CONFIG_PS is not set +CONFIG_PS=y # CONFIG_FEATURE_PS_WIDE is not set # CONFIG_RENICE is not set # CONFIG_BB_SYSCTL is not set @@ -547,47 +588,56 @@ CONFIG_FREE=y # # Shells # -# CONFIG_FEATURE_SH_IS_ASH is not set +CONFIG_FEATURE_SH_IS_ASH=y # CONFIG_FEATURE_SH_IS_HUSH is not set # CONFIG_FEATURE_SH_IS_LASH is not set # CONFIG_FEATURE_SH_IS_MSH is not set -CONFIG_FEATURE_SH_IS_NONE=y -# CONFIG_ASH is not set -# CONFIG_ASH_JOB_CONTROL is not set +# CONFIG_FEATURE_SH_IS_NONE is not set +CONFIG_ASH=y + +# +# Ash Shell Options +# +CONFIG_ASH_JOB_CONTROL=y # CONFIG_ASH_READ_NCHARS is not set # CONFIG_ASH_READ_TIMEOUT is not set # CONFIG_ASH_ALIAS is not set -# CONFIG_ASH_MATH_SUPPORT is not set +CONFIG_ASH_MATH_SUPPORT=y # CONFIG_ASH_MATH_SUPPORT_64 is not set # CONFIG_ASH_GETOPTS is not set -# CONFIG_ASH_CMDCMD is not set # CONFIG_ASH_BUILTIN_ECHO is not set +# CONFIG_ASH_BUILTIN_TEST is not set +# CONFIG_ASH_CMDCMD is not set # CONFIG_ASH_MAIL is not set -# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y # CONFIG_ASH_RANDOM_SUPPORT is not set # CONFIG_ASH_EXPAND_PRMT is not set # CONFIG_HUSH is not set # CONFIG_LASH is not set # CONFIG_MSH is not set + +# +# Bourne Shell Options +# # CONFIG_FEATURE_SH_EXTRA_QUIET is not set # CONFIG_FEATURE_SH_STANDALONE_SHELL is not set -# CONFIG_FEATURE_COMMAND_EDITING is not set +CONFIG_FEATURE_COMMAND_EDITING=y # CONFIG_FEATURE_COMMAND_EDITING_VI is not set -CONFIG_FEATURE_COMMAND_HISTORY=0 +CONFIG_FEATURE_COMMAND_HISTORY=15 # CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set -# CONFIG_FEATURE_COMMAND_TAB_COMPLETION is not set +CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y # CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set # CONFIG_FEATURE_SH_FANCY_PROMPT is not set # # System Logging Utilities # -# CONFIG_SYSLOGD is not set -# CONFIG_FEATURE_ROTATE_LOGFILE is not set +CONFIG_SYSLOGD=y +CONFIG_FEATURE_ROTATE_LOGFILE=y # CONFIG_FEATURE_REMOTE_LOG is not set # CONFIG_FEATURE_IPC_SYSLOG is not set CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 # CONFIG_LOGREAD is not set # CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set -# CONFIG_KLOGD is not set +CONFIG_KLOGD=y # CONFIG_LOGGER is not set diff --git a/packages/busybox/slingbox-1.2.2/halt.patch b/packages/busybox/slingbox-1.2.2/halt.patch new file mode 100644 index 0000000000..c52e35a8d5 --- /dev/null +++ b/packages/busybox/slingbox-1.2.2/halt.patch @@ -0,0 +1,40 @@ +diff -Naur busybox-1.2.2/init.orig/halt.c busybox-1.2.2/init/halt.c +--- busybox-1.2.2/init.orig/halt.c 2006-11-10 13:39:29.000000000 -0600 ++++ busybox-1.2.2/init/halt.c 2006-11-10 13:39:09.000000000 -0600 +@@ -12,6 +12,8 @@ + #include <sys/reboot.h> + #include <unistd.h> + ++#include "init_shared.h" /* Linksys mods */ ++ + int halt_main(int argc, char *argv[]) + { + static const int magic[] = { +@@ -40,6 +42,12 @@ + if (flags&1) sleep(atoi(delay)); + if (!(flags&2)) sync(); + ++/* Linksys Halt code - adapted from the Linksys source for Busybox. */ ++ rc = bb_shutdown_system(magic[which]); ++ if (rc) bb_error_msg("No."); ++ return rc; /* Shrug */ ++/* End of Linksys code */ ++ + /* Perform action. */ + if (ENABLE_INIT && !(flags & 4)) { + if (ENABLE_FEATURE_INITRD) { +diff -Naur busybox-1.2.2/init.orig/init_shared.c busybox-1.2.2/init/init_shared.c +--- busybox-1.2.2/init.orig/init_shared.c 2006-11-10 13:39:29.000000000 -0600 ++++ busybox-1.2.2/init/init_shared.c 2006-11-10 13:38:37.000000000 -0600 +@@ -62,6 +62,11 @@ + + sync(); + ++/* Linksys Halt code - if poweroff or halt, invoke an external program ++ to do actually turn off the power. */ ++ if (magic != 0x01234567) system("/usr/bin/Set_Led power_off"); ++/* End of Linksys Halt code */ ++ + reboot(magic); + return 0; /* Shrug */ + } diff --git a/packages/busybox/slingbox-1.2.2/wget-long-options.patch b/packages/busybox/slingbox-1.2.2/wget-long-options.patch new file mode 100644 index 0000000000..3c5920a3cb --- /dev/null +++ b/packages/busybox/slingbox-1.2.2/wget-long-options.patch @@ -0,0 +1,20 @@ +--- busybox-1.2.1.orig/networking/wget.c ++++ busybox-1.2.1/networking/wget.c +@@ -136,7 +136,7 @@ + #define WGET_OPT_PREFIX 32 + #define WGET_OPT_PROXY 64 + +-#if ENABLE_WGET_LONG_OPTIONS ++#if CONFIG_FEATURE_WGET_LONG_OPTIONS + static const struct option wget_long_options[] = { + { "continue", 0, NULL, 'c' }, + { "quiet", 0, NULL, 'q' }, +@@ -180,7 +180,7 @@ + * Crack command line. + */ + bb_opt_complementally = "-1:\203::"; +-#if ENABLE_WGET_LONG_OPTIONS ++#if CONFIG_FEATURE_WGET_LONG_OPTIONS + bb_applet_long_options = wget_long_options; + #endif + opt = bb_getopt_ulflags(argc, argv, "cq\213O:\203:P:Y:", diff --git a/packages/busybox/slingbox_1.2.2.bb b/packages/busybox/slingbox_1.2.2.bb index a8fd77d4ef..2468680ba1 100644 --- a/packages/busybox/slingbox_1.2.2.bb +++ b/packages/busybox/slingbox_1.2.2.bb @@ -4,12 +4,14 @@ HOMEPAGE = "http://www.busybox.net" LICENSE = "GPL" SECTION = "base" PRIORITY = "required" -PR = "r1" +PR = "r2" SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ file://defconfig \ + file://wget-long-options.patch;patch=1 \ file://lazy_umount.patch;patch=1 \ file://slingbox_name.patch;patch=1 \ + file://halt.patch;patch=1" \ file://slingbox.patch;patch=1" S = "${WORKDIR}/busybox-${PV}" diff --git a/packages/cairo/cairo-1.2.4/.mtn2git_empty b/packages/cairo/cairo-1.2.4/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/cairo/cairo-1.2.4/.mtn2git_empty diff --git a/packages/cairo/cairo-1.2.4/0001-Add-autoconf-macro-AX_C_FLOAT_WORDS_BIGENDIAN.diff b/packages/cairo/cairo-1.2.4/0001-Add-autoconf-macro-AX_C_FLOAT_WORDS_BIGENDIAN.diff new file mode 100644 index 0000000000..90718d4976 --- /dev/null +++ b/packages/cairo/cairo-1.2.4/0001-Add-autoconf-macro-AX_C_FLOAT_WORDS_BIGENDIAN.diff @@ -0,0 +1,103 @@ +From nobody Mon Sep 17 00:00:00 2001 +From: Dan Amelang <dan@amelang.net> +Date: Sun Oct 29 21:30:08 2006 -0800 +Subject: [PATCH] Add autoconf macro AX_C_FLOAT_WORDS_BIGENDIAN + +The symbol that this macro defines (FLOAT_WORDS_BIGENDIAN) can be used +to make double arithmetic tricks portable. + +--- + + acinclude.m4 | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + configure.in | 1 + + 2 files changed, 66 insertions(+), 0 deletions(-) + +3231d91b59a6c2e1c40bbaa8b143694b6c693662 +diff --git a/acinclude.m4 b/acinclude.m4 +index af73800..a0eb13a 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -51,3 +51,68 @@ ifelse([$1],[],, + AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) + AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL") + ]) ++ ++# AX_C_FLOAT_WORDS_BIGENDIAN ([ACTION-IF-TRUE], [ACTION-IF-FALSE], ++# [ACTION-IF-UNKNOWN]) ++# ++# Checks the ordering of words within a multi-word float. This check ++# is necessary because on some systems (e.g. certain ARM systems), the ++# float word ordering can be different from the byte ordering. In a ++# multi-word float context, "big-endian" implies that the word containing ++# the sign bit is found in the memory location with the lowest address. ++# This implemenation was inspired by the AC_C_BIGENDIAN macro in autoconf. ++# ------------------------------------------------------------------------- ++AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN], ++ [AC_CACHE_CHECK(whether float word ordering is bigendian, ++ ax_cv_c_float_words_bigendian, [ ++ ++# The endianess is detected by first compiling C code that contains a special ++# double float value, then grepping the resulting object file for certain ++# strings of ascii values. The double is specially crafted to have a ++# binary representation that corresponds with a simple string. In this ++# implementation, the string "noonsees" was selected because the individual ++# word values ("noon" and "sees") are palindromes, thus making this test ++# byte-order agnostic. If grep finds the string "noonsees" in the object ++# file, the target platform stores float words in big-endian order. If grep ++# finds "seesnoon", float words are in little-endian order. If neither value ++# is found, the user is instructed to specify the ordering. ++ ++ax_cv_c_float_words_bigendian=unknown ++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++ ++double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0; ++ ++]])], [ ++ ++if grep noonsees conftest.$ac_objext >/dev/null ; then ++ ax_cv_c_float_words_bigendian=yes ++fi ++if grep seesnoon conftest.$ac_objext >/dev/null ; then ++ if test "$ax_cv_c_float_words_bigendian" = unknown; then ++ ax_cv_c_float_words_bigendian=no ++ else ++ ax_cv_c_float_words_bigendian=unknown ++ fi ++fi ++ ++])]) ++ ++case $ax_cv_c_float_words_bigendian in ++ yes) ++ m4_default([$1], ++ [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1, ++ [Define to 1 if your system stores words within floats ++ with the most significant word first])]) ;; ++ no) ++ $2 ;; ++ *) ++ m4_default([$3], ++ [AC_MSG_ERROR([ ++ ++Unknown float word ordering. You need to manually preset ++ax_cv_c_float_words_bigendian=no (or yes) according to your system. ++ ++ ])]) ;; ++esac ++ ++])# AX_C_FLOAT_WORDS_BIGENDIAN +diff --git a/configure.in b/configure.in +index 2d2bf9f..797c7ce 100644 +--- a/configure.in ++++ b/configure.in +@@ -55,6 +55,7 @@ AC_PROG_CPP + AC_PROG_LIBTOOL dnl required version (1.4) DON'T REMOVE! + AC_STDC_HEADERS + AC_C_BIGENDIAN ++AX_C_FLOAT_WORDS_BIGENDIAN + + dnl =========================================================================== + dnl === Local macros +-- +1.2.6 + diff --git a/packages/cairo/cairo-1.2.4/0002-Change-_cairo_fixed_from_double-to-use-the-magic-number-technique.diff b/packages/cairo/cairo-1.2.4/0002-Change-_cairo_fixed_from_double-to-use-the-magic-number-technique.diff new file mode 100644 index 0000000000..56d8b7e99a --- /dev/null +++ b/packages/cairo/cairo-1.2.4/0002-Change-_cairo_fixed_from_double-to-use-the-magic-number-technique.diff @@ -0,0 +1,79 @@ +From nobody Mon Sep 17 00:00:00 2001 +From: Dan Amelang <dan@amelang.net> +Date: Sun Oct 29 21:31:23 2006 -0800 +Subject: [PATCH] Change _cairo_fixed_from_double to use the "magic number" technique + +See long thread here: +http://lists.freedesktop.org/archives/cairo/2006-October/008285.html + +--- + + src/cairo-fixed.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++- + 1 files changed, 47 insertions(+), 1 deletions(-) + +d88acddcabe770e17664b34a2d5f74d3926e1642 +diff --git a/src/cairo-fixed.c b/src/cairo-fixed.c +index 604c9e7..fe6c2dc 100644 +--- a/src/cairo-fixed.c ++++ b/src/cairo-fixed.c +@@ -42,10 +42,56 @@ _cairo_fixed_from_int (int i) + return i << 16; + } + ++/* This is the "magic number" approach to converting a double into fixed ++ * point as described here: ++ * ++ * http://www.stereopsis.com/sree/fpu2006.html (an overview) ++ * http://www.d6.com/users/checker/pdfs/gdmfp.pdf (in detail) ++ * ++ * The basic idea is to add a large enough number to the double that the ++ * literal floating point is moved up to the extent that it forces the ++ * double's value to be shifted down to the bottom of the mantissa (to make ++ * room for the large number being added in). Since the mantissa is, at a ++ * given moment in time, a fixed point integer itself, one can convert a ++ * float to various fixed point representations by moving around the point ++ * of a floating point number through arithmetic operations. This behavior ++ * is reliable on most modern platforms as it is mandated by the IEEE-754 ++ * standard for floating point arithmetic. ++ * ++ * For our purposes, a "magic number" must be carefully selected that is ++ * both large enough to produce the desired point-shifting effect, and also ++ * has no lower bits in its representation that would interfere with our ++ * value at the bottom of the mantissa. The magic number is calculated as ++ * follows: ++ * ++ * (2 ^ (MANTISSA_SIZE - FRACTIONAL_SIZE)) * 1.5 ++ * ++ * where in our case: ++ * - MANTISSA_SIZE for 64-bit doubles is 52 ++ * - FRACTIONAL_SIZE for 16.16 fixed point is 16 ++ * ++ * Although this approach provides a very large speedup of this function ++ * on a wide-array of systems, it does come with two caveats: ++ * ++ * 1) It uses banker's rounding as opposed to arithmetic rounding. ++ * 2) It doesn't function properly if the FPU is in single-precision ++ * mode. ++ */ ++#define CAIRO_MAGIC_NUMBER_FIXED_16_16 (103079215104.0) + cairo_fixed_t + _cairo_fixed_from_double (double d) + { +- return (cairo_fixed_t) floor (d * 65536 + 0.5); ++ union { ++ double d; ++ int32_t i[2]; ++ } u; ++ ++ u.d = d + CAIRO_MAGIC_NUMBER_FIXED_16_16; ++#ifdef FLOAT_WORDS_BIGENDIAN ++ return u.i[1]; ++#else ++ return u.i[0]; ++#endif + } + + cairo_fixed_t +-- +1.2.6 + diff --git a/packages/cairo/cairo-1.2.4/0003-Add-new-perf-test-pattern_create_radial.diff b/packages/cairo/cairo-1.2.4/0003-Add-new-perf-test-pattern_create_radial.diff new file mode 100644 index 0000000000..c2b47deb7f --- /dev/null +++ b/packages/cairo/cairo-1.2.4/0003-Add-new-perf-test-pattern_create_radial.diff @@ -0,0 +1,164 @@ +From nobody Mon Sep 17 00:00:00 2001 +From: Dan Amelang <dan@amelang.net> +Date: Tue Oct 31 23:47:35 2006 -0800 +Subject: [PATCH] Add new perf test "pattern_create_radial" + +This test is really just for hammering the double to fixed-point conversion +(in _cairo_fixed_from_double) that happens as doubles from API calls gets +translated into internal cairo fixed-point numbers. + +Because it's not generally useful, I don't recommend that it become part of +the main cairo performance test. But hey, it might come in handy for someone +else. + +--- + + perf/Makefile.am | 1 + perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/pattern_create_radial.c | 98 ++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 101 insertions(+), 0 deletions(-) + create mode 100644 perf/pattern_create_radial.c + +977383b86c68d0523c899efcba3cf8d36e94d2a7 +diff --git a/perf/Makefile.am b/perf/Makefile.am +index 419a998..e1cfdc7 100644 +--- a/perf/Makefile.am ++++ b/perf/Makefile.am +@@ -21,6 +21,7 @@ cairo_perf_SOURCES = \ + stroke.c \ + subimage_copy.c \ + tessellate.c \ ++ pattern_create_radial.c \ + text.c + + if CAIRO_HAS_WIN32_SURFACE +diff --git a/perf/cairo-perf.c b/perf/cairo-perf.c +index d9734c4..0707433 100644 +--- a/perf/cairo-perf.c ++++ b/perf/cairo-perf.c +@@ -256,5 +256,6 @@ cairo_perf_case_t perf_cases[] = { + { text, 64, 256}, + { tessellate, 100, 100}, + { subimage_copy, 16, 512}, ++ { pattern_create_radial, 16, 16}, + { NULL } + }; +diff --git a/perf/cairo-perf.h b/perf/cairo-perf.h +index 560ba64..faacff9 100644 +--- a/perf/cairo-perf.h ++++ b/perf/cairo-perf.h +@@ -88,5 +88,6 @@ CAIRO_PERF_DECL (stroke); + CAIRO_PERF_DECL (subimage_copy); + CAIRO_PERF_DECL (tessellate); + CAIRO_PERF_DECL (text); ++CAIRO_PERF_DECL (pattern_create_radial); + + #endif +diff --git a/perf/pattern_create_radial.c b/perf/pattern_create_radial.c +new file mode 100644 +index 0000000..d793b7d +--- /dev/null ++++ b/perf/pattern_create_radial.c +@@ -0,0 +1,98 @@ ++/* ++ * Copyright © 2006 Dan Amelang ++ * ++ * Permission to use, copy, modify, distribute, and sell this software ++ * and its documentation for any purpose is hereby granted without ++ * fee, provided that the above copyright notice appear in all copies ++ * and that both that copyright notice and this permission notice ++ * appear in supporting documentation, and that the name of ++ * the authors not be used in advertising or publicity pertaining to ++ * distribution of the software without specific, written prior ++ * permission. The authors make no representations about the ++ * suitability of this software for any purpose. It is provided "as ++ * is" without express or implied warranty. ++ * ++ * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS ++ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND ++ * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, ++ * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ++ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION ++ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR ++ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ * ++ * Authors: Dan Amelang <dan@amelang.net> ++ * ++ * This test was originally created to test _cairo_fixed_from_double. ++ * cairo_pattern_create_radial was selected as the entry point into ++ * cairo as it makes several calls to _cairo_fixed_from_double and ++ * presents a somewhat realistic use-case (although the RADIALS_COUNT ++ * isn't very realistic). ++ */ ++#include <time.h> ++#include "cairo-perf.h" ++ ++#define RADIALS_COUNT (100000) ++ ++static struct ++{ ++ double cx0; ++ double cy0; ++ double radius0; ++ double cx1; ++ double cy1; ++ double radius1; ++} radials[RADIALS_COUNT]; ++ ++static double ++generate_double_in_range (double min, double max) ++{ ++ double d; ++ ++ d = rand () / (double) RAND_MAX; ++ d *= max - min; ++ d += min; ++ ++ return d; ++} ++ ++static cairo_perf_ticks_t ++do_pattern_create_radial (cairo_t *cr, int width, int height) ++{ ++ int i; ++ cairo_pattern_t *pattern; ++ ++ cairo_perf_timer_start (); ++ ++ for (i = 0; i < RADIALS_COUNT; i++) ++ { ++ pattern = cairo_pattern_create_radial (radials[i].cx0, radials[i].cy0, ++ radials[i].radius0, ++ radials[i].cx1, radials[i].cy1, ++ radials[i].radius1); ++ cairo_pattern_destroy (pattern); ++ } ++ ++ cairo_perf_timer_stop (); ++ ++ return cairo_perf_timer_elapsed (); ++} ++ ++void ++pattern_create_radial (cairo_perf_t *perf, cairo_t *cr, int width, int height) ++{ ++ int i; ++ ++ srand (time (0)); ++ for (i = 0; i < RADIALS_COUNT; i++) ++ { ++ radials[i].cx0 = generate_double_in_range (-50000.0, 50000.0); ++ radials[i].cy0 = generate_double_in_range (-50000.0, 50000.0); ++ radials[i].radius0 = generate_double_in_range (0.0, 1000.0); ++ radials[i].cx1 = generate_double_in_range (-50000.0, 50000.0); ++ radials[i].cy1 = generate_double_in_range (-50000.0, 50000.0); ++ radials[i].radius1 = generate_double_in_range (0.0, 1000.0); ++ } ++ ++ cairo_perf_run (perf, "pattern_create_radial", ++ do_pattern_create_radial); ++} +-- +1.2.6 + diff --git a/packages/cairo/cairo_1.2.4.bb b/packages/cairo/cairo_1.2.4.bb index 0260c267dd..f23e376d1c 100644 --- a/packages/cairo/cairo_1.2.4.bb +++ b/packages/cairo/cairo_1.2.4.bb @@ -3,9 +3,12 @@ PRIORITY = "optional" DEPENDS = "virtual/libx11 libpng fontconfig libxrender" DESCRIPTION = "Cairo graphics library" LICENSE = "MPL LGPL" -PR = "r1" +PR = "r2" -SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz" +SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz \ + file://0001-Add-autoconf-macro-AX_C_FLOAT_WORDS_BIGENDIAN.diff;patch=1 \ + file://0002-Change-_cairo_fixed_from_double-to-use-the-magic-number-technique.diff;patch=1 \ + " inherit autotools pkgconfig diff --git a/packages/clamav/clamav_0.88.4.bb b/packages/clamav/clamav_0.88.6.bb index 2d980440fa..fec4ae59d8 100644 --- a/packages/clamav/clamav_0.88.4.bb +++ b/packages/clamav/clamav_0.88.6.bb @@ -1,3 +1,3 @@ require clamav.inc -PR = "r6" +PR = "r0" diff --git a/packages/dbus/dbus-0.94/dbus-1.init b/packages/dbus/dbus-0.94/dbus-1.init new file mode 100644 index 0000000000..7ef411606b --- /dev/null +++ b/packages/dbus/dbus-0.94/dbus-1.init @@ -0,0 +1,86 @@ +#! /bin/sh +# -*- coding: utf-8 -*- +# Debian init.d script for D-BUS +# Copyright © 2003 Colin Walters <walters@debian.org> + +set -e + +DAEMON=/usr/bin/dbus-daemon +NAME=dbus +DAEMONUSER=messagebus +PIDDIR=/var/run/dbus +PIDFILE=$PIDDIR/pid +DESC="system message bus" +EVENTDIR=/etc/dbus-1/event.d + +test -x $DAEMON || exit 0 + +# Source defaults file; edit that file to configure this script. +ENABLED=1 +PARAMS="" +if [ -e /etc/default/dbus ]; then + . /etc/default/dbus +fi + +test "$ENABLED" != "0" || exit 0 + +start_it_up() +{ + if [ ! -d $PIDDIR ]; then + mkdir -p $PIDDIR + chown $DAEMONUSER $PIDDIR + chgrp $DAEMONUSER $PIDDIR + fi + if [ -e $PIDFILE ]; then + PIDDIR=/proc/$(cat $PIDFILE) + if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then + echo "$DESC already started; not starting." + else + echo "Removing stale PID file $PIDFILE." + rm -f $PIDFILE + fi + fi + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER --exec $DAEMON -- --system $PARAMS + echo "$NAME." + if [ -d $EVENTDIR ]; then + run-parts --arg=start $EVENTDIR + fi +} + +shut_it_down() +{ + if [ -d $EVENTDIR ]; then + run-parts --reverse --arg=stop $EVENTDIR + fi + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER + # We no longer include these arguments so that start-stop-daemon + # can do its job even given that we may have been upgraded. + # We rely on the pidfile being sanely managed + # --exec $DAEMON -- --system $PARAMS + echo "$NAME." + rm -f $PIDFILE +} + +case "$1" in + start) + start_it_up + ;; + stop) + shut_it_down + ;; + restart|force-reload) + shut_it_down + sleep 1 + start_it_up + ;; + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/packages/dbus/dbus-0.95/.mtn2git_empty b/packages/dbus/dbus-0.95/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/dbus/dbus-0.95/.mtn2git_empty diff --git a/packages/dbus/dbus-0.95/cross.patch b/packages/dbus/dbus-0.95/cross.patch new file mode 100644 index 0000000000..268a3ae3de --- /dev/null +++ b/packages/dbus/dbus-0.95/cross.patch @@ -0,0 +1,10 @@ +--- /tmp/configure.in 2006-11-09 21:47:10.000000000 +0100 ++++ dbus-0.95/configure.in 2006-11-09 21:48:13.108554000 +0100 +@@ -719,6 +719,7 @@ + exit (0); + ]])], + [ac_cv_have_abstract_sockets=yes], ++ [ac_cv_have_abstract_sockets=no], + [ac_cv_have_abstract_sockets=no] + )]) + AC_LANG_POP(C) diff --git a/packages/dbus/dbus-0.95/dbus-1.init b/packages/dbus/dbus-0.95/dbus-1.init new file mode 100644 index 0000000000..4829c0d4a8 --- /dev/null +++ b/packages/dbus/dbus-0.95/dbus-1.init @@ -0,0 +1,88 @@ +#! /bin/sh +# -*- coding: utf-8 -*- +# Debian init.d script for D-BUS +# Copyright © 2003 Colin Walters <walters@debian.org> + +set -e + +DAEMON=/usr/bin/dbus-daemon +NAME=dbus +DAEMONUSER=messagebus +PIDDIR=/var/run/dbus +PIDFILE=$PIDDIR/pid +DESC="system message bus" +EVENTDIR=/etc/dbus-1/event.d + +test -x $DAEMON || exit 0 + +# Source defaults file; edit that file to configure this script. +ENABLED=1 +PARAMS="" +if [ -e /etc/default/dbus ]; then + . /etc/default/dbus +fi + +test "$ENABLED" != "0" || exit 0 + +start_it_up() +{ + if [ ! -d $PIDDIR ]; then + mkdir -p $PIDDIR + chown $DAEMONUSER $PIDDIR + chgrp $DAEMONUSER $PIDDIR + fi + if [ -e $PIDFILE ]; then + PIDDIR=/proc/$(cat $PIDFILE) + if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then + echo "$DESC already started; not starting." + else + echo "Removing stale PID file $PIDFILE." + rm -f $PIDFILE + fi + fi + + dbus-uuidgen --ensure + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER --exec $DAEMON -- --system $PARAMS + echo "$NAME." + if [ -d $EVENTDIR ]; then + run-parts --arg=start $EVENTDIR + fi +} + +shut_it_down() +{ + if [ -d $EVENTDIR ]; then + run-parts --reverse --arg=stop $EVENTDIR + fi + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER + # We no longer include these arguments so that start-stop-daemon + # can do its job even given that we may have been upgraded. + # We rely on the pidfile being sanely managed + # --exec $DAEMON -- --system $PARAMS + echo "$NAME." + rm -f $PIDFILE +} + +case "$1" in + start) + start_it_up + ;; + stop) + shut_it_down + ;; + restart|force-reload) + shut_it_down + sleep 1 + start_it_up + ;; + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/packages/dbus/dbus-0.95/fix-install-daemon.patch b/packages/dbus/dbus-0.95/fix-install-daemon.patch new file mode 100644 index 0000000000..c31786357d --- /dev/null +++ b/packages/dbus/dbus-0.95/fix-install-daemon.patch @@ -0,0 +1,13 @@ +Index: dbus-0.94/bus/Makefile.am +=================================================================== +--- dbus-0.94.orig/bus/Makefile.am 2006-10-01 17:36:18.000000000 +0200 ++++ dbus-0.94/bus/Makefile.am 2006-10-14 21:40:05.000000000 +0200 +@@ -110,7 +110,7 @@ + $(mkinstalldirs) $(DESTDIR)$(DBUS_DAEMONDIR); \ + chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \ + fi +- $(INSTALL_PROGRAM) dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) ++ $(INSTALL_PROGRAM) .libs/dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) + $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus + $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d + $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services diff --git a/packages/dbus/dbus-1.0.0/.mtn2git_empty b/packages/dbus/dbus-1.0.0/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/dbus/dbus-1.0.0/.mtn2git_empty diff --git a/packages/dbus/dbus-1.0.0/cross.patch b/packages/dbus/dbus-1.0.0/cross.patch new file mode 100644 index 0000000000..268a3ae3de --- /dev/null +++ b/packages/dbus/dbus-1.0.0/cross.patch @@ -0,0 +1,10 @@ +--- /tmp/configure.in 2006-11-09 21:47:10.000000000 +0100 ++++ dbus-0.95/configure.in 2006-11-09 21:48:13.108554000 +0100 +@@ -719,6 +719,7 @@ + exit (0); + ]])], + [ac_cv_have_abstract_sockets=yes], ++ [ac_cv_have_abstract_sockets=no], + [ac_cv_have_abstract_sockets=no] + )]) + AC_LANG_POP(C) diff --git a/packages/dbus/dbus-1.0.0/dbus-1.init b/packages/dbus/dbus-1.0.0/dbus-1.init new file mode 100644 index 0000000000..4829c0d4a8 --- /dev/null +++ b/packages/dbus/dbus-1.0.0/dbus-1.init @@ -0,0 +1,88 @@ +#! /bin/sh +# -*- coding: utf-8 -*- +# Debian init.d script for D-BUS +# Copyright © 2003 Colin Walters <walters@debian.org> + +set -e + +DAEMON=/usr/bin/dbus-daemon +NAME=dbus +DAEMONUSER=messagebus +PIDDIR=/var/run/dbus +PIDFILE=$PIDDIR/pid +DESC="system message bus" +EVENTDIR=/etc/dbus-1/event.d + +test -x $DAEMON || exit 0 + +# Source defaults file; edit that file to configure this script. +ENABLED=1 +PARAMS="" +if [ -e /etc/default/dbus ]; then + . /etc/default/dbus +fi + +test "$ENABLED" != "0" || exit 0 + +start_it_up() +{ + if [ ! -d $PIDDIR ]; then + mkdir -p $PIDDIR + chown $DAEMONUSER $PIDDIR + chgrp $DAEMONUSER $PIDDIR + fi + if [ -e $PIDFILE ]; then + PIDDIR=/proc/$(cat $PIDFILE) + if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then + echo "$DESC already started; not starting." + else + echo "Removing stale PID file $PIDFILE." + rm -f $PIDFILE + fi + fi + + dbus-uuidgen --ensure + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER --exec $DAEMON -- --system $PARAMS + echo "$NAME." + if [ -d $EVENTDIR ]; then + run-parts --arg=start $EVENTDIR + fi +} + +shut_it_down() +{ + if [ -d $EVENTDIR ]; then + run-parts --reverse --arg=stop $EVENTDIR + fi + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER + # We no longer include these arguments so that start-stop-daemon + # can do its job even given that we may have been upgraded. + # We rely on the pidfile being sanely managed + # --exec $DAEMON -- --system $PARAMS + echo "$NAME." + rm -f $PIDFILE +} + +case "$1" in + start) + start_it_up + ;; + stop) + shut_it_down + ;; + restart|force-reload) + shut_it_down + sleep 1 + start_it_up + ;; + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/packages/dbus/dbus-1.0.0/fix-install-daemon.patch b/packages/dbus/dbus-1.0.0/fix-install-daemon.patch new file mode 100644 index 0000000000..c31786357d --- /dev/null +++ b/packages/dbus/dbus-1.0.0/fix-install-daemon.patch @@ -0,0 +1,13 @@ +Index: dbus-0.94/bus/Makefile.am +=================================================================== +--- dbus-0.94.orig/bus/Makefile.am 2006-10-01 17:36:18.000000000 +0200 ++++ dbus-0.94/bus/Makefile.am 2006-10-14 21:40:05.000000000 +0200 +@@ -110,7 +110,7 @@ + $(mkinstalldirs) $(DESTDIR)$(DBUS_DAEMONDIR); \ + chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \ + fi +- $(INSTALL_PROGRAM) dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) ++ $(INSTALL_PROGRAM) .libs/dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) + $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus + $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d + $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services diff --git a/packages/dbus/dbus_0.94.bb b/packages/dbus/dbus_0.94.bb index 050be8a86e..f19df19187 100644 --- a/packages/dbus/dbus_0.94.bb +++ b/packages/dbus/dbus_0.94.bb @@ -6,6 +6,8 @@ DESCRIPTION = "message bus system for applications to talk to one another" LICENSE = "GPL" DEPENDS = "expat glib-2.0 virtual/libintl" +PR = "r1" + SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://cross.patch;patch=1 \ file://tmpdir.patch;patch=1 \ diff --git a/packages/dbus/dbus_0.95.bb b/packages/dbus/dbus_0.95.bb new file mode 100644 index 0000000000..688e5c630f --- /dev/null +++ b/packages/dbus/dbus_0.95.bb @@ -0,0 +1,63 @@ +DEFAULT_PREFERENCE = "-1" + +SECTION = "base" +HOMEPAGE = "http://www.freedesktop.org/Software/dbus" +DESCRIPTION = "message bus system for applications to talk to one another" +LICENSE = "GPL" +DEPENDS = "expat glib-2.0 virtual/libintl" + +SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ + file://tmpdir.patch;patch=1 \ + file://dbus-1.init \ + file://fix-segfault.patch;patch=1 \ + file://cross.patch;patch=1 \ + file://fix-install-daemon.patch;patch=1" + +inherit autotools pkgconfig update-rc.d gettext + +INITSCRIPT_NAME = "dbus-1" +INITSCRIPT_PARAMS = "defaults" + +CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf" + +FILES_${PN} = "${bindir}/dbus-daemon ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${bindir}/dbus-uuidgen ${sysconfdir} ${datadir}/dbus-1/services ${libdir}/lib*.so.*" +FILES_${PN}-dev += "${libdir}/dbus-1.0/include" + +pkg_postinst_dbus() { +#!/bin/sh + +# can't do adduser stuff offline +if [ "x$D" != "x" ]; then + exit 1 +fi + +MESSAGEUSER=messagebus +MESSAGEHOME=/var/run/dbus + +mkdir -p $MESSAGEHOME || true +chgrp "$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || addgroup "$MESSAGEUSER" +chown "$MESSAGEUSER"."$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password --ingroup "$MESSAGEUSER" "$MESSAGEUSER" +} + +EXTRA_OECONF = "--disable-qt --disable-qt3 --disable-gtk --disable-tests \ + --disable-checks --disable-xml-docs --disable-doxygen-docs \ + --with-xml=expat --without-x" + +do_stage () { + oe_libinstall -so -C dbus libdbus-1 ${STAGING_LIBDIR} + + autotools_stage_includes + + mkdir -p ${STAGING_LIBDIR}/dbus-1.0/include/dbus/ + install -m 0644 dbus/dbus-arch-deps.h ${STAGING_LIBDIR}/dbus-1.0/include/dbus/ +} + +do_install_append () { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1 +} + +python populate_packages_prepend () { + if (bb.data.getVar('DEBIAN_NAMES', d, 1)): + bb.data.setVar('PKG_dbus', 'dbus-1', d) +} diff --git a/packages/dbus/dbus_1.0.0.bb b/packages/dbus/dbus_1.0.0.bb new file mode 100644 index 0000000000..688e5c630f --- /dev/null +++ b/packages/dbus/dbus_1.0.0.bb @@ -0,0 +1,63 @@ +DEFAULT_PREFERENCE = "-1" + +SECTION = "base" +HOMEPAGE = "http://www.freedesktop.org/Software/dbus" +DESCRIPTION = "message bus system for applications to talk to one another" +LICENSE = "GPL" +DEPENDS = "expat glib-2.0 virtual/libintl" + +SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ + file://tmpdir.patch;patch=1 \ + file://dbus-1.init \ + file://fix-segfault.patch;patch=1 \ + file://cross.patch;patch=1 \ + file://fix-install-daemon.patch;patch=1" + +inherit autotools pkgconfig update-rc.d gettext + +INITSCRIPT_NAME = "dbus-1" +INITSCRIPT_PARAMS = "defaults" + +CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf" + +FILES_${PN} = "${bindir}/dbus-daemon ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${bindir}/dbus-uuidgen ${sysconfdir} ${datadir}/dbus-1/services ${libdir}/lib*.so.*" +FILES_${PN}-dev += "${libdir}/dbus-1.0/include" + +pkg_postinst_dbus() { +#!/bin/sh + +# can't do adduser stuff offline +if [ "x$D" != "x" ]; then + exit 1 +fi + +MESSAGEUSER=messagebus +MESSAGEHOME=/var/run/dbus + +mkdir -p $MESSAGEHOME || true +chgrp "$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || addgroup "$MESSAGEUSER" +chown "$MESSAGEUSER"."$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password --ingroup "$MESSAGEUSER" "$MESSAGEUSER" +} + +EXTRA_OECONF = "--disable-qt --disable-qt3 --disable-gtk --disable-tests \ + --disable-checks --disable-xml-docs --disable-doxygen-docs \ + --with-xml=expat --without-x" + +do_stage () { + oe_libinstall -so -C dbus libdbus-1 ${STAGING_LIBDIR} + + autotools_stage_includes + + mkdir -p ${STAGING_LIBDIR}/dbus-1.0/include/dbus/ + install -m 0644 dbus/dbus-arch-deps.h ${STAGING_LIBDIR}/dbus-1.0/include/dbus/ +} + +do_install_append () { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1 +} + +python populate_packages_prepend () { + if (bb.data.getVar('DEBIAN_NAMES', d, 1)): + bb.data.setVar('PKG_dbus', 'dbus-1', d) +} diff --git a/packages/eds/eds-dbus_svn.bb b/packages/eds/eds-dbus_svn.bb index c39d5b7443..d5f32eb7dd 100644 --- a/packages/eds/eds-dbus_svn.bb +++ b/packages/eds/eds-dbus_svn.bb @@ -4,13 +4,13 @@ LICENSE = "LGPL" DEPENDS = "glib-2.0 gtk+ gconf dbus db gnome-common libglade virtual/libiconv zlib" PV = "1.4.0+svn${SRCDATE}" -PR = "r16" +PR = "r17" SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \ file://no_libdb.patch;patch=1 \ file://no_iconv_test.patch;patch=1 \ file://no_libedataserverui.patch;patch=1 \ - file://disable_orbit.patch;patch=1 \ + file://disable_orbit.patch;patch=1;maxdate=20060126 \ file://iconv-detect.h" S = "${WORKDIR}/trunk" @@ -38,24 +38,7 @@ FILES_${PN}-dev += "${libdir}/evolution-data-server-1.2/extensions/*.la \ do_configure_append = " cp ${WORKDIR}/iconv-detect.h ${S} " do_stage () { - oe_libinstall -so -C addressbook/libebook-dbus libebook-1.2 ${STAGING_LIBDIR} - oe_libinstall -so -C addressbook/libedata-book-dbus libedata-book-1.2 ${STAGING_LIBDIR} - oe_libinstall -so -C calendar/libecal-dbus libecal-1.2 ${STAGING_LIBDIR} - oe_libinstall -so -C calendar/libedata-cal-dbus libedata-cal-1.2 ${STAGING_LIBDIR} - oe_libinstall -so -C libedataserver libedataserver-1.2 ${STAGING_LIBDIR} - oe_libinstall -so -C camel libcamel-1.2 ${STAGING_LIBDIR} - oe_libinstall -so -C camel libcamel-provider-1.2 ${STAGING_LIBDIR} - - install -d ${STAGING_INCDIR}/camel-1.2 ${STAGING_INCDIR}/libebook \ - ${STAGING_INCDIR}/libecal ${STAGING_INCDIR}/libedataserver \ - ${STAGING_INCDIR}/libical - install -m 0644 ${S}/camel/*.h ${STAGING_INCDIR}/camel-1.2 - install -m 0644 ${S}/camel/*.def ${STAGING_INCDIR}/camel-1.2 - ln -sf ${STAGING_INCDIR}/camel-1.2 ${STAGING_INCDIR}/camel - install -m 0644 ${S}/addressbook/libebook-dbus/*.h ${STAGING_INCDIR}/libebook - install -m 0644 ${S}/calendar/libecal-dbus/*.h ${STAGING_INCDIR}/libecal - install -m 0644 ${S}/libedataserver/*.h ${STAGING_INCDIR}/libedataserver - install -m 0644 ${S}/calendar/libical/src/libical/*.h ${STAGING_INCDIR}/libical + autotools_stage_all } diff --git a/packages/file/file-native_4.18.bb b/packages/file/file-native_4.18.bb new file mode 100644 index 0000000000..63554b01fb --- /dev/null +++ b/packages/file/file-native_4.18.bb @@ -0,0 +1,8 @@ +require file_${PV}.bb +inherit native + +# avoid dependency loop +DEPENDS = "" +PR = "r1" + +SRC_URI += "file://native-fix.diff;patch=1" diff --git a/packages/file/file_4.18.bb b/packages/file/file_4.18.bb new file mode 100644 index 0000000000..697d4ffb9f --- /dev/null +++ b/packages/file/file_4.18.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "File attempts to classify files depending \ +on their contents and prints a description if a match is found." +SECTION = "console/utils" +LICENSE = "BSD-ADV" +DEPENDS = "file-native" + +SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \ + file://dump \ + file://filesystems" +S = "${WORKDIR}/file-${PV}" + +inherit autotools + +do_configure_prepend() { + sed -i -e 's,$(top_builddir)/src/file,file,' ${S}/magic/Makefile.am + cp ${WORKDIR}/dump ${S}/magic/Magdir/ + cp ${WORKDIR}/filesystems ${S}/magic/Magdir/ +} + +do_stage() { + autotools_stage_all +} diff --git a/packages/file/files/dump b/packages/file/files/dump new file mode 100644 index 0000000000..628ead86c6 --- /dev/null +++ b/packages/file/files/dump @@ -0,0 +1,81 @@ + +#------------------------------------------------------------------------------ +# dump: file(1) magic for dump file format--for new and old dump filesystems +# +# We specify both byte orders in order to recognize byte-swapped dumps. +# +24 belong 60012 new-fs dump file (big endian), +>4 bedate x Previous dump %s, +>8 bedate x This dump %s, +>12 belong >0 Volume %ld, +>692 belong 0 Level zero, type: +>692 belong >0 Level %d, type: +>0 belong 1 tape header, +>0 belong 2 beginning of file record, +>0 belong 3 map of inodes on tape, +>0 belong 4 continuation of file record, +>0 belong 5 end of volume, +>0 belong 6 map of inodes deleted, +>0 belong 7 end of medium (for floppy), +>676 string >\0 Label %s, +>696 string >\0 Filesystem %s, +>760 string >\0 Device %s, +>824 string >\0 Host %s, +>888 belong >0 Flags %x + +24 belong 60011 old-fs dump file (big endian), +#>4 bedate x Previous dump %s, +#>8 bedate x This dump %s, +>12 belong >0 Volume %ld, +>692 belong 0 Level zero, type: +>692 belong >0 Level %d, type: +>0 belong 1 tape header, +>0 belong 2 beginning of file record, +>0 belong 3 map of inodes on tape, +>0 belong 4 continuation of file record, +>0 belong 5 end of volume, +>0 belong 6 map of inodes deleted, +>0 belong 7 end of medium (for floppy), +>676 string >\0 Label %s, +>696 string >\0 Filesystem %s, +>760 string >\0 Device %s, +>824 string >\0 Host %s, +>888 belong >0 Flags %x + +24 lelong 60012 new-fs dump file (little endian), +>4 ledate x This dump %s, +>8 ledate x Previous dump %s, +>12 lelong >0 Volume %ld, +>692 lelong 0 Level zero, type: +>692 lelong >0 Level %d, type: +>0 lelong 1 tape header, +>0 lelong 2 beginning of file record, +>0 lelong 3 map of inodes on tape, +>0 lelong 4 continuation of file record, +>0 lelong 5 end of volume, +>0 lelong 6 map of inodes deleted, +>0 lelong 7 end of medium (for floppy), +>676 string >\0 Label %s, +>696 string >\0 Filesystem %s, +>760 string >\0 Device %s, +>824 string >\0 Host %s, +>888 lelong >0 Flags %x + +24 lelong 60011 old-fs dump file (little endian), +#>4 ledate x Previous dump %s, +#>8 ledate x This dump %s, +>12 lelong >0 Volume %ld, +>692 lelong 0 Level zero, type: +>692 lelong >0 Level %d, type: +>0 lelong 1 tape header, +>0 lelong 2 beginning of file record, +>0 lelong 3 map of inodes on tape, +>0 lelong 4 continuation of file record, +>0 lelong 5 end of volume, +>0 lelong 6 map of inodes deleted, +>0 lelong 7 end of medium (for floppy), +>676 string >\0 Label %s, +>696 string >\0 Filesystem %s, +>760 string >\0 Device %s, +>824 string >\0 Host %s, +>888 lelong >0 Flags %x diff --git a/packages/file/files/filesystems b/packages/file/files/filesystems new file mode 100644 index 0000000000..fd5073334c --- /dev/null +++ b/packages/file/files/filesystems @@ -0,0 +1,812 @@ + +#------------------------------------------------------------------------------ +# filesystems: file(1) magic for different filesystems +# +0 string \366\366\366\366 PC formatted floppy with no filesystem +# Sun disk labels +# From /usr/include/sun/dklabel.h: +0774 beshort 0xdabe Sun disk label +>0 string x '%s +>>31 string >\0 \b%s +>>>63 string >\0 \b%s +>>>>95 string >\0 \b%s +>0 string x \b' +>0734 short >0 %d rpm, +>0736 short >0 %d phys cys, +>0740 short >0 %d alts/cyl, +>0746 short >0 %d interleave, +>0750 short >0 %d data cyls, +>0752 short >0 %d alt cyls, +>0754 short >0 %d heads/partition, +>0756 short >0 %d sectors/track, +>0764 long >0 start cyl %ld, +>0770 long x %ld blocks +# Is there a boot block written 1 sector in? +>512 belong&077777777 0600407 \b, boot block present +# Smart Boot Manager backup file is 41 byte header + first sectors of disc +# (http://btmgr.sourceforge.net/docs/user-guide-3.html) +0 string SBMBAKUP_ Smart Boot Manager backup file +>9 string x \b, version %-5.5s +>>14 string =_ +>>>15 string x %-.1s +>>>>16 string =_ \b. +>>>>>17 string x \b%-.1s +>>>>>>18 string =_ \b. +>>>>>>>19 string x \b%-.1s +# DOS Emulator image is 128 byte header + harddisc image +0 string DOSEMU\0 +>0x27E leshort 0xAA55 DOS Emulator image +0x1FE leshort 0xAA55 x86 boot sector +>2 string OSBS \b, OS/BS MBR +# J\xf6rg Jenderek <joerg dot jenderek at web dot de> +>0x8C string Invalid\ partition\ table \b, MS-DOS MBR +# dr-dos with some upper-, lowercase variants +>0x9D string Invalid\ partition\ table$ +>>181 string No\ Operating\ System$ +>>>201 string Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03 +>0x9D string Invalid\ partition\ table$ +>>181 string No\ operating\ system$ +>>>201 string Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03 +>342 string Invalid\ partition\ table$ +>>366 string No\ operating\ system$ +>>>386 string Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03 +>295 string NEWLDR\0 +>>302 string Bad\ PT\ $ +>>>310 string No\ OS\ $ +>>>>317 string OS\ load\ err$ +>>>>>329 string Moved\ or\ missing\ IBMBIO.LDR\n\r +>>>>>>358 string Press\ any\ key\ to\ continue.\n\r$ +>>>>>>>387 string Copyright\ (c)\ 1984,1998 +>>>>>>>>411 string Caldera\ Inc.\0 \b, DR-DOS MBR (IBMBIO.LDR) +>0x10F string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222 +>>0x1B8 ubelong >0 \b, Serial 0x%-.4x +>0x8B string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950 +>271 string Invalid\ partition\ table\0 +>>295 string Error\ loading\ operating\ system\0 +>>>326 string Missing\ operating\ system\0 \b, mbr +# +>139 string Invalid\ partition\ table\0 +>>163 string Error\ loading\ operating\ system\0 +>>>194 string Missing\ operating\ system\0 \b, Microsoft Windows XP mbr +# http://www.heise.de/ct/05/09/006/ page 184 +#HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\?:=Serial4Bytes+8Bytes +>>>>0x1B8 ulelong >0 \b,Serial 0x%-.4x +>300 string Invalid\ partition\ table\0 +>>324 string Error\ loading\ operating\ system\0 +>>>355 string Missing\ operating\ system\0 \b, Microsoft Windows XP MBR +#??>>>389 string Invalid\ system\ disk +>>>>0x1B8 ulelong >0 \b, Serial 0x%-.4x +>300 string Ung\201ltige\ Partitionstabelle +#split string to avoid error: String too long +>>328 string Fehler\ beim\ Laden\ +>>>346 string des\ Betriebssystems +>>>>366 string Betriebssystem\ nicht\ vorhanden \b, Microsoft Windows XP MBR (german) +>>>>>0x1B8 ulelong >0 \b, Serial 0x%-.4x +>0x145 string Default:\ F \b, FREE-DOS MBR +>64 string no\ active\ partition\ found +>>96 string read\ error\ while\ reading\ drive \b, FREE-DOS Beta 0.9 MBR +>271 string Operating\ system\ loading +>>296 string error\r \b, SYSLINUX MBR (2.10) +# bootloader, bootmanager +>43 string SMART\ BTMGRFAT12\ \ \ +>>430 string SBMK\ Bad!\r +>>>3 string SBM \b, Smart Boot Manager +>>>>6 string >\0 \b, version %s +>382 string XOSLLOADXCF \b, eXtended Operating System Loader +>6 string LILO \b, LInux i386 boot LOader +>>120 string LILO \b, version 22.3.4 SuSe +>>172 string LILO \b, version 22.5.8 Debian +>402 string Geom\0Hard\ Disk\0Read\0\ Error\0 +>>394 string stage1 \b, GRand Unified Bootloader (0.5.95) +>343 string Geom\0Read\0\ Error\0 +>>321 string Loading\ stage1.5 \b, Grand Unified Bootloader +>380 string Geom\0Hard\ Disk\0Read\0\ Error\0 +>>374 string GRUB\ \0 \b, GRand Unified Bootloader +>382 string Geom\0Hard\ Disk\0Read\0\ Error\0 +>>376 string GRUB\ \0 \b, GRand Unified Bootloader (0.93) +>383 string Geom\0Hard\ Disk\0Read\0\ Error\0 +>>377 string GRUB\ \0 \b, GRand Unified Bootloader (0.94) +>385 string Geom\0Hard\ Disk\0Read\0\ Error\0 +>>379 string GRUB\ \0 \b, GRand Unified Bootloader (0.95) +>480 string Boot\ failed\r +>>495 string LDLINUX\ SYS \b, SYSLINUX bootloader (2.06) +>395 string chksum\0\ ERROR!\0 \b, Gujin bootloader +>185 string FDBOOT\ Version\ +>>204 string \rNo\ Systemdisk.\ +>>>220 string Booting\ from\ harddisk.\n\r +>>>245 string Cannot\ load\ from\ harddisk.\n\r +>>>>273 string Insert\ Systemdisk\ +>>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader +>>>>>>200 string >\0 \b, version %-3s +>242 string Bootsector\ from\ C.H.\ Hochst\204 +>>278 string No\ Systemdisk.\ +>>>293 string Booting\ from\ harddisk.\n\r +>>>441 string Cannot\ load\ from\ harddisk.\n\r +>>>>469 string Insert\ Systemdisk\ +>>>>>487 string and\ press\ any\ key.\n\r \b, WinImage harddisk Bootloader +>>>>>>209 string >\0 \b, version %-4.4s +>(1.b+2) ubyte 0xe +>>(1.b+3) ubyte 0x1f +>>>(1.b+4) ubyte 0xbe +>>>>(1.b+5) ubyte 0x77 +>>>>(1.b+6) ubyte 0x7c +>>>>>(1.b+7) ubyte 0xac +>>>>>>(1.b+8) ubyte 0x22 +>>>>>>>(1.b+9) ubyte 0xc0 +>>>>>>>>(1.b+10) ubyte 0x74 +>>>>>>>>>(1.b+11) ubyte 0xb +>>>>>>>>>>(1.b+12) ubyte 0x56 +>>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display +# +>66 string Solaris\ Boot\ Sector +>>99 string Incomplete\ MDBoot\ load. +>>>89 string Version \b, Sun Solaris Bootloader +>>>>97 byte x version %c +# +>408 string OS/2\ !!\ SYS01475\r\0 +>>429 string OS/2\ !!\ SYS02025\r\0 +>>>450 string OS/2\ !!\ SYS02027\r\0 +>>>469 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp bootloader +# +>409 string OS/2\ !!\ SYS01475\r\0 +>>430 string OS/2\ !!\ SYS02025\r\0 +>>>451 string OS/2\ !!\ SYS02027\r\0 +>>>470 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp Bootloader +>112 string This\ disk\ is\ not\ bootable\r +>>142 string If\ you\ wish\ to\ make\ it\ bootable +>>>176 string run\ the\ DOS\ program\ SYS\ +>>>200 string after\ the\r +>>>>216 string system\ has\ been\ loaded\r\n +>>>>>242 string Please\ insert\ a\ DOS\ diskette\ +>>>>>271 string into\r\n\ the\ drive\ and\ +>>>>>>292 string strike\ any\ key...\0 \b, IBM OS/2 Warp message display +# XP +>430 string NTLDR\ is\ missing\xFF\r\n +>>449 string Disk\ error\xFF\r\n +>>>462 string Press\ any\ key\ to\ restart\r \b, Microsoft Windows XP Bootloader +# DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes +>>>>417 ubyte&0xDF >0 +>>>>>417 string x %-.5s +>>>>>>422 ubyte&0xDF >0 +>>>>>>>422 string x \b%-.3s +>>>>>425 ubyte&0xDF >0 +>>>>>>425 string >\ \b.%-.3s +# +>>>>371 ubyte >0x20 +>>>>>368 ubyte&0xDF >0 +>>>>>>368 string x %-.5s +>>>>>>>373 ubyte&0xDF >0 +>>>>>>>>373 string x \b%-.3s +>>>>>>376 ubyte&0xDF >0 +>>>>>>>376 string x \b.%-.3s +# +>430 string NTLDR\ nicht\ gefunden\xFF\r\n +>>453 string Datentr\204gerfehler\xFF\r\n +>>>473 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (german) +>>>>417 ubyte&0xDF >0 +>>>>>417 string x %-.5s +>>>>>>422 ubyte&0xDF >0 +>>>>>>>422 string x \b%-.3s +>>>>>425 ubyte&0xDF >0 +>>>>>>425 string >\ \b.%-.3s +# +>>>>368 ubyte&0xDF >0 +>>>>>368 string x %-.5s +>>>>>>373 ubyte&0xDF >0 +>>>>>>>373 string x \b%-.3s +>>>>>376 ubyte&0xDF >0 +>>>>>>376 string x \b.%-.3s +# +>430 string NTLDR\ fehlt\xFF\r\n +>>444 string Datentr\204gerfehler\xFF\r\n +>>>464 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (2.german) +>>>>417 ubyte&0xDF >0 +>>>>>417 string x %-.5s +>>>>>>422 ubyte&0xDF >0 +>>>>>>>422 string x \b%-.3s +>>>>>425 ubyte&0xDF >0 +>>>>>>425 string >\ \b.%-.3s +# variant +>>>>371 ubyte >0x20 +>>>>>368 ubyte&0xDF >0 +>>>>>>368 string x %-.5s +>>>>>>>373 ubyte&0xDF >0 +>>>>>>>>373 string x \b%-.3s +>>>>>>376 ubyte&0xDF >0 +>>>>>>>376 string x \b.%-.3s +# +>430 string NTLDR\ fehlt\xFF\r\n +>>444 string Medienfehler\xFF\r\n +>>>459 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (3.german) +>>>>371 ubyte >0x20 +>>>>>368 ubyte&0xDF >0 +>>>>>>368 string x %-.5s +>>>>>>>373 ubyte&0xDF >0 +>>>>>>>>373 string x \b%-.3s +>>>>>>376 ubyte&0xDF >0 +>>>>>>>376 string x \b.%-.3s +# variant +>>>>417 ubyte&0xDF >0 +>>>>>417 string x %-.5s +>>>>>>422 ubyte&0xDF >0 +>>>>>>>422 string x \b%-.3s +>>>>>425 ubyte&0xDF >0 +>>>>>>425 string >\ \b.%-.3s +# +>430 string Datentr\204ger\ entfernen\xFF\r\n +>>454 string Medienfehler\xFF\r\n +>>>469 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (4.german) +>>>>368 ubyte&0xDF >0 +>>>>>368 string x %-.5s +>>>>>>373 ubyte&0xDF >0 +>>>>>>>373 string x \b%-.3s +>>>>>376 ubyte&0xDF >0 +>>>>>>376 string x \b.%-.3s +#>3 string NTFS\ \ \ \ +>389 string Fehler\ beim\ Lesen\ +>>407 string des\ Datentr\204gers +>>>426 string NTLDR\ fehlt +>>>>440 string NTLDR\ ist\ komprimiert +>>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r \b, Microsoft Windows XP Bootloader NTFS (german) +#>3 string NTFS\ \ \ \ +>313 string A\ disk\ read\ error\ occurred.\r +>>345 string A\ kernel\ file\ is\ missing\ +>>>370 string from\ the\ disk.\r +>>>>484 string NTLDR\ is\ compressed +>>>>>429 string Insert\ a\ system\ diskette\ +>>>>>>454 string and\ restart\r\nthe\ system.\r \b, Microsoft Windows XP Bootloader NTFS +# DOS loader variants different languages,offsets +>472 ubyte&0xDF >0 +>>389 string Invalid\ system\ disk\xFF\r\n +>>>411 string Disk\ I/O\ error +>>>>428 string Replace\ the\ disk,\ and\ +>>>>>455 string press\ any\ key \b, Microsoft Windows 98 Bootloader +#IO.SYS +>>>>>>472 ubyte&0xDF >0 +>>>>>>>472 string x \b %-.2s +>>>>>>>>474 ubyte&0xDF >0 +>>>>>>>>>474 string x \b%-.5s +>>>>>>>>>>479 ubyte&0xDF >0 +>>>>>>>>>>>479 string x \b%-.1s +>>>>>>>480 ubyte&0xDF >0 +>>>>>>>>480 string x \b.%-.3s +#MSDOS.SYS +>>>>>>>483 ubyte&0xDF >0 \b+ +>>>>>>>>483 string x \b%-.5s +>>>>>>>>>488 ubyte&0xDF >0 +>>>>>>>>>>488 string x \b%-.3s +>>>>>>>>491 ubyte&0xDF >0 +>>>>>>>>>491 string x \b.%-.3s +# +>>390 string Invalid\ system\ disk\xFF\r\n +>>>412 string Disk\ I/O\ error\xFF\r\n +>>>>429 string Replace\ the\ disk,\ and\ +>>>>>451 string then\ press\ any\ key\r \b, Microsoft Windows 98 Bootloader +>>388 string Ungueltiges\ System\ \xFF\r\n +>>>410 string E/A-Fehler\ \ \ \ \xFF\r\n +>>>>427 string Datentraeger\ wechseln\ und\ +>>>>>453 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (german) +#WINBOOT.SYS only not spaces (0xDF) +>>>>>>497 ubyte&0xDF >0 +>>>>>>>497 string x %-.5s +>>>>>>>>502 ubyte&0xDF >0 +>>>>>>>>>502 string x \b%-.1s +>>>>>>>>>>503 ubyte&0xDF >0 +>>>>>>>>>>>503 string x \b%-.1s +>>>>>>>>>>>>504 ubyte&0xDF >0 +>>>>>>>>>>>>>504 string x \b%-.1s +>>>>>>505 ubyte&0xDF >0 +>>>>>>>505 string x \b.%-.3s +#IO.SYS +>>>>>>472 ubyte&0xDF >0 or +>>>>>>>472 string x \b %-.2s +>>>>>>>>474 ubyte&0xDF >0 +>>>>>>>>>474 string x \b%-.5s +>>>>>>>>>>479 ubyte&0xDF >0 +>>>>>>>>>>>479 string x \b%-.1s +>>>>>>>480 ubyte&0xDF >0 +>>>>>>>>480 string x \b.%-.3s +#MSDOS.SYS +>>>>>>>483 ubyte&0xDF >0 \b+ +>>>>>>>>483 string x \b%-.5s +>>>>>>>>>488 ubyte&0xDF >0 +>>>>>>>>>>488 string x \b%-.3s +>>>>>>>>491 ubyte&0xDF >0 +>>>>>>>>>491 string x \b.%-.3s +# +>>390 string Ungueltiges\ System\ \xFF\r\n +>>>412 string E/A-Fehler\ \ \ \ \xFF\r\n +>>>>429 string Datentraeger\ wechseln\ und\ +>>>>>455 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (German) +#WINBOOT.SYS only not spaces (0xDF) +>>>>>>497 ubyte&0xDF >0 +>>>>>>>497 string x %-.7s +>>>>>>>>504 ubyte&0xDF >0 +>>>>>>>>>504 string x \b%-.1s +>>>>>>505 ubyte&0xDF >0 +>>>>>>>505 string x \b.%-.3s +#IO.SYS +>>>>>>472 ubyte&0xDF >0 or +>>>>>>>472 string x \b %-.2s +>>>>>>>>474 ubyte&0xDF >0 +>>>>>>>>>474 string x \b%-.6s +>>>>>>>480 ubyte&0xDF >0 +>>>>>>>>480 string x \b.%-.3s +#MSDOS.SYS +>>>>>>>483 ubyte&0xDF >0 \b+ +>>>>>>>>483 string x \b%-.5s +>>>>>>>>>488 ubyte&0xDF >0 +>>>>>>>>>>488 string x \b%-.3s +>>>>>>>>491 ubyte&0xDF >0 +>>>>>>>>>491 string x \b.%-.3s +# +>>389 string Ungueltiges\ System\ \xFF\r\n +>>>411 string E/A-Fehler\ \ \ \ \xFF\r\n +>>>>428 string Datentraeger\ wechseln\ und\ +>>>>>454 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (GERMAN) +# DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes +>>>>>>472 string x %-.2s +>>>>>>>474 ubyte&0xDF >0 +>>>>>>>>474 string x \b%-.5s +>>>>>>>>479 ubyte&0xDF >0 +>>>>>>>>>479 string x \b%-.1s +>>>>>>480 ubyte&0xDF >0 +>>>>>>>480 string x \b.%-.3s +>>>>>>483 ubyte&0xDF >0 \b+ +>>>>>>>483 string x \b%-.5s +>>>>>>>488 ubyte&0xDF >0 +>>>>>>>>488 string x \b%-.2s +>>>>>>>>490 ubyte&0xDF >0 +>>>>>>>>>490 string x \b%-.1s +>>>>>>>491 ubyte&0xDF >0 +>>>>>>>>491 string x \b.%-.3s +>479 ubyte&0xDF >0 +>>416 string Kein\ System\ oder\ +>>>433 string Laufwerksfehler +>>>>450 string Wechseln\ und\ Taste\ dr\201cken \b, Microsoft DOS Bootloader (german) +#IO.SYS +>>>>>479 string x \b %-.2s +>>>>>>481 ubyte&0xDF >0 +>>>>>>>481 string x \b%-.6s +>>>>>487 ubyte&0xDF >0 +>>>>>>487 string x \b.%-.3s +#MSDOS.SYS +>>>>>>490 ubyte&0xDF >0 \b+ +>>>>>>>490 string x \b%-.5s +>>>>>>>>495 ubyte&0xDF >0 +>>>>>>>>>495 string x \b%-.3s +>>>>>>>498 ubyte&0xDF >0 +>>>>>>>>498 string x \b.%-.3s +# +>486 ubyte&0xDF >0 +>>416 string Non-System\ disk\ or\ +>>>435 string disk\ error\r +>>>>447 string Replace\ and\ press\ any\ key\ +>>>>>473 string when\ ready\r \b, Microsoft DOS Bootloader +>480 ubyte&0xDF >0 +>>393 string Non-System\ disk\ or\ +>>>412 string disk\ error\r +>>>>424 string Replace\ and\ press\ any\ key\ +>>>>>450 string when\ ready\r \b, Microsoft DOS bootloader +#IO.SYS +>>>>>480 string x \b %-.2s +>>>>>>482 ubyte&0xDF >0 +>>>>>>>48 string x \b%-.6s +>>>>>488 ubyte&0xDF >0 +>>>>>>488 string x \b.%-.3s +#MSDOS.SYS +>>>>>>491 ubyte&0xDF >0 \b+ +>>>>>>>491 string x \b%-.5s +>>>>>>>>496 ubyte&0xDF >0 +>>>>>>>>>496 string x \b%-.3s +>>>>>>>499 ubyte&0xDF >0 +>>>>>>>>499 string x \b.%-.3s +#>43 string \224R-LOADER\ \ SYS =label +>54 string SYS +>>324 string VASKK +>>>495 string NEWLDR\0 \b, DR-DOS Bootloader (LOADER.SYS) +# +>70 string IBMBIO\ \ COM +>>472 string Cannot\ load\ DOS!\ +>>>489 string Any\ key\ to\ retry \b, DR-DOS Bootloader +>>471 string Cannot\ load\ DOS\ +>>487 string press\ key\ to\ retry \b, Open-DOS Bootloader +>444 string KERNEL\ \ SYS +>>314 string BOOT\ error! \b, FREE-DOS Bootloader +>499 string KERNEL\ \ SYS +>>305 string BOOT\ err!\0 \b, Free-DOS Bootloader +>449 string KERNEL\ \ SYS +>>319 string BOOT\ error! \b, FREE-DOS 0.5 Bootloader +>125 string Loading\ FreeDOS...\r +>>311 string BOOT\ error!\r \b, FREE-DOS bootloader +>>>441 ubyte&0xDF >0 +>>>>441 string x \b %-.6s +>>>>>447 ubyte&0xDF >0 +>>>>>>447 string x \b%-.1s +>>>>>>>448 ubyte&0xDF >0 +>>>>>>>>448 string x \b%-.1s +>>>>449 ubyte&0xDF >0 +>>>>>449 string x \b.%-.3s +>124 string FreeDOS\0 +>>331 string \ err\0 \b, FREE-DOS BETa 0.9 Bootloader +# DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes +>>>497 ubyte&0xDF >0 +>>>>497 string x \b %-.6s +>>>>>503 ubyte&0xDF >0 +>>>>>>503 string x \b%-.1s +>>>>>>>504 ubyte&0xDF >0 +>>>>>>>>504 string x \b%-.1s +>>>>505 ubyte&0xDF >0 +>>>>>505 string x \b.%-.3s +>>333 string \ err\0 \b, FREE-DOS BEta 0.9 Bootloader +>>>497 ubyte&0xDF >0 +>>>>497 string x \b %-.6s +>>>>>503 ubyte&0xDF >0 +>>>>>>503 string x \b%-.1s +>>>>>>>504 ubyte&0xDF >0 +>>>>>>>>504 string x \b%-.1s +>>>>505 ubyte&0xDF >0 +>>>>>505 string x \b.%-.3s +>>334 string \ err\0 \b, FREE-DOS Beta 0.9 Bootloader +>>>497 ubyte&0xDF >0 +>>>>497 string x \b %-.6s +>>>>>503 ubyte&0xDF >0 +>>>>>>503 string x \b%-.1s +>>>>>>>504 ubyte&0xDF >0 +>>>>>>>>504 string x \b%-.1s +>>>>505 ubyte&0xDF >0 +>>>>>505 string x \b.%-.3s +>336 string Error!\ +>>343 string Hit\ a\ key\ to\ reboot. \b, FREE-DOS Beta 0.9sr1 Bootloader +>>>497 ubyte&0xDF >0 +>>>>497 string x \b %-.6s +>>>>>503 ubyte&0xDF >0 +>>>>>>503 string x \b%-.1s +>>>>>>>504 ubyte&0xDF >0 +>>>>>>>>504 string x \b%-.1s +>>>>505 ubyte&0xDF >0 +>>>>>505 string x \b.%-.3s +# loader end +>0 string \0\0\0\0 \b, extended partition table +# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 +# older drives may use E9 xx xx +>0 lelong&0x009000EB 0x009000EB +>0 lelong&0x000000E9 0x000000E9 +>>1 ubyte >37 \b, code offset 0x%x +# mtools-3.9.8/msdos.h +# usual values are marked with comments to get only informations of strange FAT systems +# valid sectorsize are from 32 to 2048 +>>>11 uleshort <2049 +>>>>11 uleshort >31 +>>>>>3 string >\0 \b, OEM-ID "%8.8s" +>>>>>11 uleshort >512 \b, Bytes/sector %u +#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) +>>>>>11 uleshort <512 \b, Bytes/sector %u +>>>>>13 ubyte >1 \b, sectors/cluster %u +#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) +>>>>>14 uleshort >32 \b, reserved sectors %u +#>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) +#>>>>>14 uleshort >1 \b, reserved sectors %u +#>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) +>>>>>14 uleshort <1 \b, reserved sectors %u +>>>>>16 ubyte >2 \b, FATs %u +#>>>>>16 ubyte =2 \b, FATs %u (usual) +>>>>>16 ubyte =1 \b, FAT %u +>>>>>16 ubyte >0 +>>>>>17 uleshort >0 \b, root entries %u +#>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32) +>>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) +#>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32) +>>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x +#>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy) +>>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x +>>>>>22 uleshort >0 \b, sectors/FAT %u +#>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32) +>>>>>26 ubyte >2 \b, heads %u +#>>>>>26 ubyte =2 \b, heads %u (usual floppy) +>>>>>26 ubyte =1 \b, heads %u +>>>>>28 ulelong >0 \b, hidden sectors %u +#>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) +>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) +#>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) +# FAT<32 specific +# NOT le FAT3=NOT 3TAF=0xCCABBEB9 +>>>>>82 ulelong&0xCCABBEB9 >0 +>>>>>>36 ubyte >0x80 \b, physical drive 0x%x +#>>>>>>36 ubyte =0x80 \b, physical drive 0x%x=0x80 (usual harddisk) +>>>>>>36 ubyte&0x7F >0 \b, physical drive 0x%x +#>>>>>>36 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) +>>>>>>37 ubyte >0 \b, reserved 0x%x +#>>>>>>37 ubyte =0 \b, reserved 0x%x +>>>>>>38 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x) +>>>>>>38 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x) +>>>>>>38 ubyte =0x29 +>>>>>>>39 ulelong x \b, serial number 0x%x +>>>>>>>43 string <NO\ NAME \b, label: "%11.11s" +>>>>>>>43 string >NO\ NAME \b, label: "%11.11s" +>>>>>>>43 string =NO\ NAME \b, unlabeled +>>>>>>54 string FAT \b, FAT +>>>>>>>54 string FAT12 \b (12 bit) +>>>>>>>54 string FAT16 \b (16 bit) +# FAT32 specific +>>>>>82 string FAT32 \b, FAT (32 bit) +>>>>>>36 ulelong x \b, sectors/FAT %u +>>>>>>40 uleshort >0 \b, extension flags %u +#>>>>>>40 uleshort =0 \b, extension flags %u +>>>>>>42 uleshort >0 \b, fsVersion %u +#>>>>>>42 uleshort =0 \b, fsVersion %u (usual) +>>>>>>44 ulelong >2 \b, rootdir cluster %u +#>>>>>>44 ulelong =2 \b, rootdir cluster %u +#>>>>>>44 ulelong =1 \b, rootdir cluster %u +>>>>>>48 uleshort >1 \b, infoSector %u +#>>>>>>48 uleshort =1 \b, infoSector %u (usual) +>>>>>>48 uleshort <1 \b, infoSector %u +>>>>>>50 uleshort >6 \b, Backup boot sector %u +#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) +>>>>>>50 uleshort <6 \b, Backup boot sector %u +>>>>>>54 ulelong >0 \b, reserved1 0x%x +>>>>>>58 ulelong >0 \b, reserved2 0x%x +>>>>>>62 ulelong >0 \b, reserved3 0x%x +# same structure as FAT1X +>>>>>>64 ubyte >0x80 \b, physical drive 0x%x +#>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk) +>>>>>>64 ubyte&0x7F >0 \b, physical drive 0x%x +#>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) +>>>>>>65 ubyte >0 \b, reserved 0x%x +>>>>>>66 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x) +>>>>>>66 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x) +>>>>>>66 ubyte =0x29 +>>>>>>>67 ulelong x \b, serial number 0x%x +>>>>>>>71 string <NO\ NAME \b, label: "%11.11s" +>>>>>>71 string >NO\ NAME \b, label: "%11.11s" +>>>>>>71 string =NO\ NAME \b, unlabeled +### FATs end +>0x200 lelong 0x82564557 \b, BSD disklabel +# FATX +0 string FATX FATX filesystem data + + +# Minix filesystems - Juan Cespedes <cespedes@debian.org> +0x410 leshort 0x137f Minix filesystem +0x410 beshort 0x137f Minix filesystem (big endian), +>0x402 beshort !0 \b, %d zones +>0x1e string minix \b, bootable +0x410 leshort 0x138f Minix filesystem, 30 char names +0x410 leshort 0x2468 Minix filesystem, version 2 +0x410 leshort 0x2478 Minix filesystem, version 2, 30 char names + +# romfs filesystems - Juan Cespedes <cespedes@debian.org> +0 string -rom1fs-\0 romfs filesystem, version 1 +>8 belong x %d bytes, +>16 string x named %s. + +# netboot image - Juan Cespedes <cespedes@debian.org> +0 lelong 0x1b031336L Netboot image, +>4 lelong&0xFFFFFF00 0 +>>4 lelong&0x100 0x000 mode 2 +>>4 lelong&0x100 0x100 mode 3 +>4 lelong&0xFFFFFF00 !0 unknown mode + +0x18b string OS/2 OS/2 Boot Manager + +9564 lelong 0x00011954 Unix Fast File system (little-endian), +>8404 string x last mounted on %s, +#>9504 ledate x last checked at %s, +>8224 ledate x last written at %s, +>8401 byte x clean flag %d, +>8228 lelong x number of blocks %d, +>8232 lelong x number of data blocks %d, +>8236 lelong x number of cylinder groups %d, +>8240 lelong x block size %d, +>8244 lelong x fragment size %d, +>8252 lelong x minimum percentage of free blocks %d, +>8256 lelong x rotational delay %dms, +>8260 lelong x disk rotational speed %drps, +>8320 lelong 0 TIME optimization +>8320 lelong 1 SPACE optimization + +9564 belong 0x00011954 Unix Fast File system (big-endian), +>7168 long 0x4c41424c Apple UFS Volume +>>7186 string x named %s, +>>7176 belong x volume label version %d, +>>7180 bedate x created on %s, +>8404 string x last mounted on %s, +#>9504 bedate x last checked at %s, +>8224 bedate x last written at %s, +>8401 byte x clean flag %d, +>8228 belong x number of blocks %d, +>8232 belong x number of data blocks %d, +>8236 belong x number of cylinder groups %d, +>8240 belong x block size %d, +>8244 belong x fragment size %d, +>8252 belong x minimum percentage of free blocks %d, +>8256 belong x rotational delay %dms, +>8260 belong x disk rotational speed %drps, +>8320 belong 0 TIME optimization +>8320 belong 1 SPACE optimization + +# ext2/ext3 filesystems - Andreas Dilger <adilger@turbolabs.com> +0x438 leshort 0xEF53 Linux +>0x44c lelong x rev %d +>0x43e leshort x \b.%d +>0x45c lelong ^0x0000004 ext2 filesystem data +>>0x43a leshort ^0x0000001 (mounted or unclean) +>0x45c lelong &0x0000004 ext3 filesystem data +>>0x460 lelong &0x0000004 (needs journal recovery) +>0x43a leshort &0x0000002 (errors) +>0x460 lelong &0x0000001 (compressed) +#>0x460 lelong &0x0000002 (filetype) +#>0x464 lelong &0x0000001 (sparse_super) +>0x464 lelong &0x0000002 (large files) + +# SGI disk labels - Nathan Scott <nathans@debian.org> +0 belong 0x0BE5A941 SGI disk label (volume header) + +# SGI XFS filesystem - Nathan Scott <nathans@debian.org> +0 belong 0x58465342 SGI XFS filesystem data +>0x4 belong x (blksz %d, +>0x68 beshort x inosz %d, +>0x64 beshort ^0x2004 v1 dirs) +>0x64 beshort &0x2004 v2 dirs) + +############################################################################ +# Minix-ST kernel floppy +0x800 belong 0x46fc2700 Atari-ST Minix kernel image +>19 string \240\5\371\5\0\011\0\2\0 \b, 720k floppy +>19 string \320\2\370\5\0\011\0\1\0 \b, 360k floppy + +############################################################################ +# Hmmm, is this a better way of detecting _standard_ floppy images ? +19 string \320\2\360\3\0\011\0\1\0 DOS floppy 360k +>0x1FE leshort 0xAA55 \b, x86 hard disk boot sector +19 string \240\5\371\3\0\011\0\2\0 DOS floppy 720k +>0x1FE leshort 0xAA55 \b, x86 hard disk boot sector +19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k +>0x1FE leshort 0xAA55 \b, x86 hard disk boot sector + +19 string \240\5\371\5\0\011\0\2\0 DOS floppy 720k, IBM +>0x1FE leshort 0xAA55 \b, x86 hard disk boot sector +19 string \100\013\371\5\0\011\0\2\0 DOS floppy 1440k, mkdosfs +>0x1FE leshort 0xAA55 \b, x86 hard disk boot sector + +19 string \320\2\370\5\0\011\0\1\0 Atari-ST floppy 360k +19 string \240\5\371\5\0\011\0\2\0 Atari-ST floppy 720k + +# Valid media descriptor bytes for MS-DOS: +# +# Byte Capacity Media Size and Type +# ------------------------------------------------- +# +# F0 2.88 MB 3.5-inch, 2-sided, 36-sector +# F0 1.44 MB 3.5-inch, 2-sided, 18-sector +# F9 720K 3.5-inch, 2-sided, 9-sector +# F9 1.2 MB 5.25-inch, 2-sided, 15-sector +# FD 360K 5.25-inch, 2-sided, 9-sector +# FF 320K 5.25-inch, 2-sided, 8-sector +# FC 180K 5.25-inch, 1-sided, 9-sector +# FE 160K 5.25-inch, 1-sided, 8-sector +# FE 250K 8-inch, 1-sided, single-density +# FD 500K 8-inch, 2-sided, single-density +# FE 1.2 MB 8-inch, 2-sided, double-density +# F8 ----- Fixed disk +# +# FC xxxK Apricot 70x1x9 boot disk. +# +# Originally a bitmap: +# xxxxxxx0 Not two sided +# xxxxxxx1 Double sided +# xxxxxx0x Not 8 SPT +# xxxxxx1x 8 SPT +# xxxxx0xx Not Removable drive +# xxxxx1xx Removable drive +# 11111xxx Must be one. +# +# But now it's rather random: +# 111111xx Low density disk +# 00 SS, Not 8 SPT +# 01 DS, Not 8 SPT +# 10 SS, 8 SPT +# 11 DS, 8 SPT +# +# 11111001 Double density 3½ floppy disk, high density 5¼ +# 11110000 High density 3½ floppy disk +# 11111000 Hard disk any format +# + +# CDROM Filesystems +32769 string CD001 ISO 9660 CD-ROM filesystem data +# "application id" which appears to be used as a volume label +>32808 string >\0 '%s' +>34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable) +37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors) +32776 string CDROM High Sierra CD-ROM filesystem data + +# cramfs filesystem - russell@coker.com.au +0 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian +>4 lelong x size %d +>8 lelong &1 version #2 +>8 lelong &2 sorted_dirs +>8 lelong &4 hole_support +>32 lelong x CRC 0x%x, +>36 lelong x edition %d, +>40 lelong x %d blocks, +>44 lelong x %d files + +0 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian +>4 belong x size %d +>8 belong &1 version #2 +>8 belong &2 sorted_dirs +>8 belong &4 hole_support +>32 belong x CRC 0x%x, +>36 belong x edition %d, +>40 belong x %d blocks, +>44 belong x %d files + +# reiserfs - russell@coker.com.au +0x10034 string ReIsErFs ReiserFS V3.5 +0x10034 string ReIsEr2Fs ReiserFS V3.6 +>0x1002c leshort x block size %d +>0x10032 leshort &2 (mounted or unclean) +>0x10000 lelong x num blocks %d +>0x10040 lelong 1 tea hash +>0x10040 lelong 2 yura hash +>0x10040 lelong 3 r5 hash + +# JFFS - russell@coker.com.au +0 lelong 0x34383931 Linux Journalled Flash File system, little endian +0 belong 0x34383931 Linux Journalled Flash File system, big endian + +# EST flat binary format (which isn't, but anyway) +# From: Mark Brown <broonie@sirena.org.uk> +0 string ESTFBINR EST flat binary + +# Aculab VoIP firmware +# From: Mark Brown <broonie@sirena.org.uk> +0 string VoIP\ Startup\ and Aculab VoIP firmware +>35 string x format %s + +# PPCBoot image file +# From: Mark Brown <broonie@sirena.org.uk> +0 belong 0x27051956 PPCBoot image +>4 string PPCBoot +>>12 string x version %s + +# JFFS2 file system +0 leshort 0x1984 Linux old jffs2 filesystem data little endian +0 lelong 0xe0011985 Linux jffs2 filesystem data little endian + +# Squashfs +0 string sqsh Squashfs filesystem, big endian, +>28 beshort x version %d. +>30 beshort x \b%d, +>8 belong x %d bytes, +>4 belong x %d inodes, +>28 beshort <2 +>>32 beshort x blocksize: %d bytes, +>28 beshort >1 +>>51 belong x blocksize: %d bytes, +>39 bedate x created: %s +0 string hsqs Squashfs filesystem, little endian, +>28 leshort x version %d. +>30 leshort x \b%d, +>8 lelong x %d bytes, +>4 lelong x %d inodes, +>28 leshort <2 +>>32 leshort x blocksize: %d bytes, +>28 leshort >1 +>>51 lelong x blocksize: %d bytes, +>39 ledate x created: %s + +# AFS Dump Magic +# From: Ty Sarna <tsarna@sarna.org> +0 string \x01\xb3\xa1\x13\x22 AFS Dump +>&0 belong x (v%d) +>>&0 byte 0x76 +>>>&0 belong x Vol %d, +>>>>&0 byte 0x6e +>>>>>&0 string x %s +>>>>>>&1 byte 0x74 +>>>>>>>&0 beshort 2 +>>>>>>>>&4 bedate x on: %s +>>>>>>>>&0 bedate =0 full dump +>>>>>>>>&0 bedate !0 incremental since: %s diff --git a/packages/gcc/gcc-fpu.inc b/packages/gcc/gcc-fpu.inc new file mode 100644 index 0000000000..bb03d95567 --- /dev/null +++ b/packages/gcc/gcc-fpu.inc @@ -0,0 +1,6 @@ + +def get_gcc_fpu_setting(bb, d): + if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: + return "--with-float=soft" + return "" + diff --git a/packages/gcc/gcc3-build.inc b/packages/gcc/gcc3-build.inc index 6260a51533..2924f0f9dd 100644 --- a/packages/gcc/gcc3-build.inc +++ b/packages/gcc/gcc3-build.inc @@ -54,10 +54,7 @@ ARCH_FLAGS_FOR_TARGET_slugos = "${TARGET_CC_ARCH}" ARCH_FLAGS_FOR_TARGET_unslung = "${TARGET_CC_ARCH}" EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'" -def get_gcc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--with-float=soft" - return "" +require gcc-fpu.inc python __anonymous () { import bb, re diff --git a/packages/gcc/gcc_3.3.3.bb b/packages/gcc/gcc_3.3.3.bb index 8852f81def..0c237a9166 100644 --- a/packages/gcc/gcc_3.3.3.bb +++ b/packages/gcc/gcc_3.3.3.bb @@ -124,10 +124,7 @@ EXTRA_OECONF_uclibc = "--disable-__cxa_atexit" EXTRA_OECONF_glibc = "--enable-__cxa_atexit" EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}" -def get_gcc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--with-float=soft" - return "" +require gcc-fpu.inc python __anonymous () { import bb, re diff --git a/packages/gcc/gcc_3.3.4.bb b/packages/gcc/gcc_3.3.4.bb index 49f14cd888..bb52fa6a1f 100644 --- a/packages/gcc/gcc_3.3.4.bb +++ b/packages/gcc/gcc_3.3.4.bb @@ -103,10 +103,7 @@ EXTRA_OECONF_uclibc = "--disable-__cxa_atexit" EXTRA_OECONF_glibc = "--enable-__cxa_atexit" EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}" -def get_gcc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--with-float=soft" - return "" +require gcc-fpu.inc python __anonymous () { import bb, re diff --git a/packages/gcc/gcc_4.1.1.bb b/packages/gcc/gcc_4.1.1.bb index cd93cab7e2..9c0bd7baac 100644 --- a/packages/gcc/gcc_4.1.1.bb +++ b/packages/gcc/gcc_4.1.1.bb @@ -34,6 +34,7 @@ SRC_URI = "http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2 \ SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 " #Set the fortran bits +# 'fortran' or '', not 'f77' like gcc3 had FORTRAN = "" HAS_GFORTRAN = "no" HAS_G2C = "no" @@ -41,7 +42,7 @@ HAS_G2C = "no" #Set the java bits JAVA_arm = "" -LANGUAGES = "c,c++" +LANGUAGES = "c,c++${FORTRAN}${JAVA}" require gcc3-build.inc diff --git a/packages/geoclue/.mtn2git_empty b/packages/geoclue/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/geoclue/.mtn2git_empty diff --git a/packages/geoclue/geoclue_svn.bb b/packages/geoclue/geoclue_svn.bb new file mode 100644 index 0000000000..e07b01d2ca --- /dev/null +++ b/packages/geoclue/geoclue_svn.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "GeoClue is a project that provide all kinds of geography information to an application" +HOMEPAGE = "http://live.gnome.org/GeoClue" + +DEPENDS = "gpsd gnome-panel libsoup dbus-glib" + +PV = "0.0+svn${SRCDATE}" + +inherit autotools pkgconfig + +SRC_URI = "svn://svn.foinse-project.org/geoclue;module=trunk;proto=http" + +S = "${WORKDIR}/trunk" + +do_install_append() { + mkdir -p ${D}/usr/share/ + cp -pPr ${D}${STAGING_DATADIR}/* ${D}/usr/share + rm -rf ${D}${STAGING_DATADIR}/ +} + +PACKAGES =+ "geoclue-applet" + +FILES_geoclue-applet += " \ + ${libdir}/bonobo/servers/* \ + ${libdir}/gnome-panel/*" + + +FILES_${PN} += " \ + ${libdir}/gnome-panel/* \ + ${datadir}/dbus-1" diff --git a/packages/glibc/glibc-2.4/arm_eabi_ipc_fix.patch b/packages/glibc/glibc-2.4/arm_eabi_ipc_fix.patch new file mode 100644 index 0000000000..8b36960b04 --- /dev/null +++ b/packages/glibc/glibc-2.4/arm_eabi_ipc_fix.patch @@ -0,0 +1,94 @@ +From libc-ports-return-430-listarch-libc-ports=sources dot redhat dot com at sourceware dot org Mon Aug 21 20:08:57 2006 +Return-Path: <libc-ports-return-430-listarch-libc-ports=sources dot redhat dot com at sourceware dot org> +Delivered-To: listarch-libc-ports at sources dot redhat dot com +Received: (qmail 9913 invoked by alias); 21 Aug 2006 20:08:56 -0000 +Received: (qmail 9893 invoked by uid 22791); 21 Aug 2006 20:08:53 -0000 +X-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,TW_HM,TW_SG,TW_SN +X-Spam-Check-By: sourceware.org +Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Mon, 21 Aug 2006 20:08:44 +0000 +Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GFG4f-0007gO-TW for libc-ports@sourceware.org; Mon, 21 Aug 2006 16:08:42 -0400 +Date: Mon, 21 Aug 2006 16:08:41 -0400 +From: Daniel Jacobowitz <drow at false dot org> +To: libc-ports at sourceware dot org +Subject: ARM IPC fix +Message-ID: <20060821200841.GA29502@nevyn.them.org> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +User-Agent: Mutt/1.5.11+cvs20060403 +X-IsSubscribed: yes +Mailing-List: contact libc-ports-help at sourceware dot org; run by ezmlm +Precedence: bulk +List-Subscribe: <mailto:libc-ports-subscribe at sourceware dot org> +List-Post: <mailto:libc-ports at sourceware dot org> +List-Help: <mailto:libc-ports-help at sourceware dot org>, <http://sourceware dot org/lists dot html#faqs> +Sender: libc-ports-owner at sourceware dot org +Delivered-To: mailing list libc-ports at sourceware dot org + +We can't treat msgctl as a real syscall; if we don't add __IPC_64, we'll get +a mismatched type for ipc_perm. Fixed by using the Alpha implementation, +which is similar to the standard i386 implementation but doesn't use +the multiplexer syscall. + +-- +Daniel Jacobowitz +CodeSourcery + +2006-08-21 Daniel Jacobowitz <dan@codesourcery.com> + + * sysdeps/unix/sysv/linux/arm/eabi/syscalls.list: Remove msgctl, + shmctl, and semctl. + * sysdeps/unix/sysv/linux/arm/eabi/semctl.c, + sysdeps/unix/sysv/linux/arm/eabi/shmctl.c, + sysdeps/unix/sysv/linux/arm/eabi/msgctl.c: New files. + +Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list +=================================================================== +--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list (revision 147209) ++++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list (working copy) +@@ -1,18 +1,16 @@ + # File name Caller Syscall name # args Strong name Weak names + +-# semaphore and shm system calls +-msgctl - msgctl i:iip __msgctl msgctl ++# Semaphore and shm system calls. msgctl, shmctl, and semctl have C ++# wrappers (to set __IPC_64). + msgget - msgget i:ii __msgget msgget + msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv + msgsnd - msgsnd Ci:ibni __msgsnd msgsnd + shmat - shmat i:ipi __shmat shmat +-shmctl - shmctl i:iip __shmctl shmctl + shmdt - shmdt i:s __shmdt shmdt + shmget - shmget i:iii __shmget shmget + semop - semop i:ipi __semop semop + semtimedop - semtimedop i:ipip semtimedop + semget - semget i:iii __semget semget +-semctl - semctl i:iiii __semctl semctl + + # proper socket implementations: + accept - accept Ci:iBN __libc_accept __accept accept + +Property changes on: sysdeps/unix/sysv/linux/arm/eabi/syscalls.list +___________________________________________________________________ +Name: svn:mime-type + - application/octet-stream + +Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c +=================================================================== +--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c (revision 0) ++++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c (revision 0) +@@ -0,0 +1 @@ ++#include <sysdeps/unix/sysv/linux/alpha/semctl.c> +Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c +=================================================================== +--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c (revision 0) ++++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c (revision 0) +@@ -0,0 +1 @@ ++#include <sysdeps/unix/sysv/linux/alpha/msgctl.c> +Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c +=================================================================== +--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c (revision 0) ++++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c (revision 0) +@@ -0,0 +1 @@ ++#include <sysdeps/unix/sysv/linux/alpha/shmctl.c> + diff --git a/packages/glibc/glibc_2.2.5.bb b/packages/glibc/glibc_2.2.5.bb index 9c7765f1ea..10e2e2e351 100644 --- a/packages/glibc/glibc_2.2.5.bb +++ b/packages/glibc/glibc_2.2.5.bb @@ -129,11 +129,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" -def get_glibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - glibc_do_unpack () { mv ${WORKDIR}/linuxthreads ${WORKDIR}/linuxthreads_db ${S}/ } diff --git a/packages/glibc/glibc_2.3.2.bb b/packages/glibc/glibc_2.3.2.bb index f1c9c1ce69..9f42e00e35 100644 --- a/packages/glibc/glibc_2.3.2.bb +++ b/packages/glibc/glibc_2.3.2.bb @@ -129,11 +129,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" -def get_glibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - glibc_do_unpack () { mv "${WORKDIR}/linuxthreads" "${WORKDIR}/linuxthreads_db" "${S}/" } diff --git a/packages/glibc/glibc_2.3.3+cvs20041128.bb b/packages/glibc/glibc_2.3.3+cvs20041128.bb index 1d87f0e37c..a6950c558d 100644 --- a/packages/glibc/glibc_2.3.3+cvs20041128.bb +++ b/packages/glibc/glibc_2.3.3+cvs20041128.bb @@ -73,11 +73,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" -def get_glibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - do_configure () { # override this function to avoid the autoconf/automake/aclocal/autoheader # calls for now diff --git a/packages/glibc/glibc_2.3.3.bb b/packages/glibc/glibc_2.3.3.bb index 1c0c0f9124..22ae2c5c38 100644 --- a/packages/glibc/glibc_2.3.3.bb +++ b/packages/glibc/glibc_2.3.3.bb @@ -74,11 +74,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" -def get_glibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - glibc_do_unpack () { mv "${WORKDIR}/linuxthreads" "${WORKDIR}/linuxthreads_db" "${S}/" } diff --git a/packages/glibc/glibc_2.3.5+cvs20050627.bb b/packages/glibc/glibc_2.3.5+cvs20050627.bb index 51039fd3c0..833370740f 100644 --- a/packages/glibc/glibc_2.3.5+cvs20050627.bb +++ b/packages/glibc/glibc_2.3.5+cvs20050627.bb @@ -84,11 +84,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" -def get_glibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - do_munge() { # Integrate ports into tree mv ${WORKDIR}/ports ${S} diff --git a/packages/glibc/glibc_2.4.bb b/packages/glibc/glibc_2.4.bb index dc844ea1d2..702ea4b8fb 100644 --- a/packages/glibc/glibc_2.4.bb +++ b/packages/glibc/glibc_2.4.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" LICENSE = "LGPL" SECTION = "libs" PRIORITY = "required" -PR = "r10" +PR = "r11" #add the hosts that are confirmed to be working to COMPATIBLE_HOSTi COMPATIBLE_HOST = '(i.86.*-linux|sh.*-linux)' @@ -63,6 +63,7 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.4.tar.bz2 \ file://glibc-2.4-openat-3.patch;patch=1 \ file://fixup-aeabi-syscalls.patch;patch=1 \ file://zecke-sane-readelf.patch;patch=1 \ + file://arm_eabi_ipc_fix.patch;patch=1 \ file://generic-bits_select.h \ file://generic-bits_types.h \ file://generic-bits_typesizes.h \ @@ -90,11 +91,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" -def get_glibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - do_munge() { # Integrate ports and libidn into tree mv ${WORKDIR}/glibc-ports-${PV} ${S}/ports diff --git a/packages/glibc/glibc_2.5.bb b/packages/glibc/glibc_2.5.bb index 0afadadb60..3523a3fa8f 100644 --- a/packages/glibc/glibc_2.5.bb +++ b/packages/glibc/glibc_2.5.bb @@ -86,11 +86,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" -def get_glibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - do_munge() { # Integrate ports and libidn into tree mv ${WORKDIR}/glibc-ports-${PV} ${S}/ports diff --git a/packages/glibc/glibc_cvs.bb b/packages/glibc/glibc_cvs.bb index 396e0d535b..26f03ab0c1 100644 --- a/packages/glibc/glibc_cvs.bb +++ b/packages/glibc/glibc_cvs.bb @@ -74,11 +74,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" -def get_glibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - do_munge() { # Integrate ports into tree mv ${WORKDIR}/ports ${S} diff --git a/packages/gmp/gmp-4.2.1/.mtn2git_empty b/packages/gmp/gmp-4.2.1/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gmp/gmp-4.2.1/.mtn2git_empty diff --git a/packages/gmp/gmp-4.2.1/amd64.patch b/packages/gmp/gmp-4.2.1/amd64.patch new file mode 100644 index 0000000000..67be9dd350 --- /dev/null +++ b/packages/gmp/gmp-4.2.1/amd64.patch @@ -0,0 +1,14 @@ +--- gmp-4.1.4/longlong.h.orig 2004-04-22 00:34:28.000000000 +0200 ++++ gmp-4.1.4/longlong.h 2005-07-18 01:13:06.000000000 +0200 +@@ -738,8 +738,10 @@ + count is only an int. */ + #define count_trailing_zeros(count, x) \ + do { \ ++ UDItype __cbtmp; \ + ASSERT ((x) != 0); \ +- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \ ++ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \ ++ (count) = __cbtmp; \ + } while (0) + #endif /* x86_64 */ + diff --git a/packages/gmp/gmp-4.2.1/configure.patch b/packages/gmp/gmp-4.2.1/configure.patch new file mode 100644 index 0000000000..08f2172479 --- /dev/null +++ b/packages/gmp/gmp-4.2.1/configure.patch @@ -0,0 +1,195 @@ + acinclude.m4 | 26 ++++++++++++++------------ + configure.in | 24 +++++++++--------------- + 2 files changed, 23 insertions(+), 27 deletions(-) + +Index: gmp-4.2.1/acinclude.m4 +=================================================================== +--- gmp-4.2.1.orig/acinclude.m4 2006-05-04 17:39:01.000000000 +0100 ++++ gmp-4.2.1/acinclude.m4 2006-11-06 20:36:14.000000000 +0000 +@@ -32,20 +32,20 @@ dnl a_out.exe - OpenVMS DEC C called + dnl conftest.exe - various DOS compilers + + +-define(IA64_PATTERN, ++define([IA64_PATTERN], + [[ia64*-*-* | itanium-*-* | itanium2-*-*]]) + + dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all + dnl of which config.sub accepts. (Though none of which are likely to work + dnl with GMP.) + dnl +-define(M68K_PATTERN, ++define([M68K_PATTERN], + [[m68k-*-* | m68[0-9][0-9][0-9]-*-*]]) + +-define(POWERPC64_PATTERN, ++define([POWERPC64_PATTERN], + [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]]) + +-define(X86_PATTERN, ++define([X86_PATTERN], + [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-*]]) + + +@@ -64,7 +64,7 @@ dnl x86 -> x86 + dnl x86/k6 -> k6 + dnl x86/k6/mmx -> k6_mmx + +-define(GMP_FAT_SUFFIX, ++define([GMP_FAT_SUFFIX], + [[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]]) + + +@@ -73,7 +73,7 @@ dnl ---------------------------------- + dnl Emit code to remove any occurance of ITEM from $LISTVAR. ITEM can be a + dnl shell expression like $foo if desired. + +-define(GMP_REMOVE_FROM_LIST, ++define([GMP_REMOVE_FROM_LIST], + [remove_from_list_tmp= + for remove_from_list_i in $[][$1]; do + if test $remove_from_list_i = [$2]; then :; +@@ -89,12 +89,12 @@ dnl GMP_STRIP_PATH(subdir) + dnl ---------------------- + dnl Strip entries */subdir from $path and $fat_path. + +-define(GMP_STRIP_PATH, ++define([GMP_STRIP_PATH], + [GMP_STRIP_PATH_VAR(path, [$1]) + GMP_STRIP_PATH_VAR(fat_path, [$1]) + ]) + +-define(GMP_STRIP_PATH_VAR, ++define([GMP_STRIP_PATH_VAR], + [tmp_path= + for i in $[][$1]; do + case $i in +@@ -115,7 +115,7 @@ dnl + dnl Dummy values for __GMP_BITS_PER_MP_LIMB and GMP_LIMB_BITS are enough + dnl for all current configure-time uses of gmp.h. + +-define(GMP_INCLUDE_GMP_H, ++define([GMP_INCLUDE_GMP_H], + [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ + #define GMP_NAIL_BITS $GMP_NAIL_BITS + #define __GMP_BITS_PER_MP_LIMB 123 /* dummy for GMP_NUMB_BITS etc */ +@@ -131,7 +131,7 @@ dnl Expand at autoconf time to the valu + dnl FILE. The regexps here aren't very rugged, but are enough for gmp. + dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted. + +-define(GMP_HEADER_GETVAL, ++define([GMP_HEADER_GETVAL], + [patsubst(patsubst( + esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]), + [^.*$1[ ]+],[]), +@@ -145,7 +145,7 @@ dnl The gmp version number, extracted f + dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits + dnl like 3.0.1 if patchlevel > 0. + +-define(GMP_VERSION, ++define([GMP_VERSION], + [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl + .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl + ifelse(m4_eval(GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in) > 0),1, +@@ -1491,7 +1491,9 @@ esac + echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4 + + # All CPUs use asm-defs.m4 +-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i ++echo -n ["include("] >>$gmp_tmpconfigm4i ++echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i ++echo [")"] >>$gmp_tmpconfigm4i + ]) + + +Index: gmp-4.2.1/configure.in +=================================================================== +--- gmp-4.2.1.orig/configure.in 2006-04-30 00:31:08.000000000 +0100 ++++ gmp-4.2.1/configure.in 2006-11-06 20:39:17.000000000 +0000 +@@ -31,12 +31,6 @@ AC_REVISION($Revision: 1.11 $) + AC_PREREQ(2.59) + AC_INIT(GNU MP, GMP_VERSION, gmp-bugs@swox.com, gmp) + AC_CONFIG_SRCDIR(gmp-impl.h) +-m4_pattern_forbid([^[ \t]*GMP_]) +-m4_pattern_allow(GMP_LDFLAGS) +-m4_pattern_allow(GMP_LIMB_BITS) +-m4_pattern_allow(GMP_MPARAM_H_SUGGEST) +-m4_pattern_allow(GMP_NAIL_BITS) +-m4_pattern_allow(GMP_NUMB_BITS) + + # If --target is not used then $target_alias is empty, but if say + # "./configure athlon-pc-freebsd3.5" is used, then all three of +@@ -277,7 +271,7 @@ AH_VERBATIM([HAVE_HOST_CPU_1], + # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is + # called. User selections of CC etc are respected. + # +-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP ++# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP + # pre-testing, since they of course depend on AC_PROG_CC, and also some of + # them cache their results, which is not wanted. + # +@@ -369,7 +363,7 @@ abilist="standard" + # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring + # c89 over cc here. But note that on HP-UX c89 provides a castrated + # environment, and would want to be excluded somehow. Maybe +-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and ++# already does enough to stick cc into ANSI mode and + # we don't need to worry. + # + cclist="gcc cc" +@@ -1498,7 +1492,7 @@ esac + CFLAGS_or_unset=${CFLAGS-'(unset)'} + CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'} + +-cat >&AC_FD_CC <<EOF ++cat >&AS_MESSAGE_LOG_FD() <<EOF + User: + ABI=$ABI + CC=$CC +@@ -1869,7 +1863,6 @@ AC_SUBST(DEFN_LONG_LONG_LIMB) + + # The C compiler and preprocessor, put into ANSI mode if possible. + AC_PROG_CC +-AC_PROG_CC_STDC + AC_PROG_CPP + GMP_H_ANSI + +@@ -1892,11 +1885,11 @@ AC_SUBST(CCAS) + + # The C++ compiler, if desired. + want_cxx=no ++AC_PROG_CXX + if test $enable_cxx != no; then + test_CXXFLAGS=${CXXFLAGS+set} +- AC_PROG_CXX + +- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC ++ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD() + cxxflags_ac_prog_cxx=$CXXFLAGS + cxxflags_list=ac_prog_cxx + +@@ -2002,7 +1995,7 @@ case $host in + esac + + +-cat >&AC_FD_CC <<EOF ++cat >&AS_MESSAGE_LOG_FD() <<EOF + Decided: + ABI=$ABI + CC=$CC +@@ -3175,7 +3168,7 @@ GMP_FINISH + # FIXME: Upcoming version of autoconf/automake may not like broken lines. + # Right now automake isn't accepting the new AC_CONFIG_FILES scheme. + +-AC_OUTPUT(Makefile \ ++AC_CONFIG_FILES([Makefile \ + mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile \ + mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile \ + tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile \ +@@ -3184,4 +3177,5 @@ AC_OUTPUT(Makefile \ + tests/cxx/Makefile \ + doc/Makefile tune/Makefile \ + demos/Makefile demos/calc/Makefile demos/expr/Makefile \ +- gmp.h:gmp-h.in mp.h:mp-h.in) ++ gmp.h:gmp-h.in mp.h:mp-h.in]) ++AC_OUTPUT diff --git a/packages/gmp/gmp-4.2.1/sh4-asmfix.patch b/packages/gmp/gmp-4.2.1/sh4-asmfix.patch new file mode 100644 index 0000000000..1a01f61533 --- /dev/null +++ b/packages/gmp/gmp-4.2.1/sh4-asmfix.patch @@ -0,0 +1,26 @@ +--- gmp-4.1.4/mpn/sh/add_n.s 2005/11/17 08:44:00 1.1 ++++ gmp-4.1.4/mpn/sh/add_n.s 2005/11/17 08:18:57 +@@ -29,8 +29,8 @@ + + .text + .align 2 +- .global ___gmpn_add_n +-___gmpn_add_n: ++ .global __gmpn_add_n ++__gmpn_add_n: + mov #0,r3 ! clear cy save reg + + Loop: mov.l @r5+,r1 +--- gmp-4.1.4/mpn/sh/sub_n.s 2005/11/17 08:44:04 1.1 ++++ gmp-4.1.4/mpn/sh/sub_n.s 2005/11/17 08:18:59 +@@ -29,8 +29,8 @@ + + .text + .align 2 +- .global ___gmpn_sub_n +-___gmpn_sub_n: ++ .global __gmpn_sub_n ++__gmpn_sub_n: + mov #0,r3 ! clear cy save reg + + Loop: mov.l @r5+,r1 diff --git a/packages/gmp/gmp-native.inc b/packages/gmp/gmp-native.inc new file mode 100644 index 0000000000..c3d36e0fdb --- /dev/null +++ b/packages/gmp/gmp-native.inc @@ -0,0 +1,23 @@ +require gmp_${PV}.bb + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gmp-${PV}" +S = "${WORKDIR}/gmp-${PV}" + +inherit native + +# darwin 'hacks' +EXTRA_OECONF_build-darwin = " --enable-shared " +OLD_STAGING := "${STAGING_BINDIR}" +OLD_TARGET := "${TARGET_SYS}" +OLD_HOST := "${HOST_SYS}" +OLD_BUILD := "${BUILD_SYS}" + +PATH_prepend_build-darwin = "${OLD_STAGING}/${OLD_HOST}:${OLD_STAGING}:" + +TARGET_SYS_build-darwin = "none-apple-darwin" +HOST_SYS_build-darwin = "none-apple-darwin" +BUILD_SYS_build-darwin = "none-apple-darwin" + +do_compile_append_build-darwin() { + oe_runmake check +} diff --git a/packages/gmp/gmp-native_4.1.2.bb b/packages/gmp/gmp-native_4.1.2.bb index c3d36e0fdb..14e8587154 100644 --- a/packages/gmp/gmp-native_4.1.2.bb +++ b/packages/gmp/gmp-native_4.1.2.bb @@ -1,23 +1,2 @@ -require gmp_${PV}.bb - -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gmp-${PV}" -S = "${WORKDIR}/gmp-${PV}" - -inherit native - -# darwin 'hacks' -EXTRA_OECONF_build-darwin = " --enable-shared " -OLD_STAGING := "${STAGING_BINDIR}" -OLD_TARGET := "${TARGET_SYS}" -OLD_HOST := "${HOST_SYS}" -OLD_BUILD := "${BUILD_SYS}" - -PATH_prepend_build-darwin = "${OLD_STAGING}/${OLD_HOST}:${OLD_STAGING}:" - -TARGET_SYS_build-darwin = "none-apple-darwin" -HOST_SYS_build-darwin = "none-apple-darwin" -BUILD_SYS_build-darwin = "none-apple-darwin" - -do_compile_append_build-darwin() { - oe_runmake check -} +PV = "4.1.2" +require gmp-native.inc diff --git a/packages/gmp/gmp-native_4.2.1.bb b/packages/gmp/gmp-native_4.2.1.bb new file mode 100644 index 0000000000..8594f2cb0b --- /dev/null +++ b/packages/gmp/gmp-native_4.2.1.bb @@ -0,0 +1,2 @@ +PV = "4.2.1" +require gmp-native.inc diff --git a/packages/gmp/gmp.inc b/packages/gmp/gmp.inc new file mode 100644 index 0000000000..ad179165f3 --- /dev/null +++ b/packages/gmp/gmp.inc @@ -0,0 +1,16 @@ +SECTION = "libs" +DESCRIPTION = "GNU multiprecision arithmetic library" +HOMEPAGE = "http://www.swox.com/gmp/" +LICENSE = "GPL LGPL" + +SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/gmp-${PV}.tar.bz2 \ + file://configure.patch;patch=1 \ + file://amd64.patch;patch=1" + +inherit autotools + +acpaths = "" + +do_stage () { + autotools_stage_all +} diff --git a/packages/gmp/gmp_4.1.2.bb b/packages/gmp/gmp_4.1.2.bb index d7456175a1..45b2672ee7 100644 --- a/packages/gmp/gmp_4.1.2.bb +++ b/packages/gmp/gmp_4.1.2.bb @@ -1,18 +1,3 @@ -SECTION = "libs" -DESCRIPTION = "GNU multiprecision arithmetic library" -HOMEPAGE = "http://www.swox.com/gmp/" -LICENSE = "GPL LGPL" +require gmp.inc -SRC_URI = "ftp://mirrors.kernel.org/gnu/gmp/gmp-${PV}.tar.gz \ - file://configure.patch;patch=1 \ - file://amd64.patch;patch=1 \ - file://gcc-compile.patch;patch=1 " - -inherit autotools - -acpaths = "" - -do_stage () { - oe_libinstall -so libgmp ${STAGING_LIBDIR} - install -m 0644 ${S}/gmp.h ${STAGING_INCDIR}/gmp.h -} +SRC_URI += "file://gcc-compile.patch;patch=1"
\ No newline at end of file diff --git a/packages/gmp/gmp_4.1.4.bb b/packages/gmp/gmp_4.1.4.bb index d80e728dc4..0b32f552e7 100644 --- a/packages/gmp/gmp_4.1.4.bb +++ b/packages/gmp/gmp_4.1.4.bb @@ -1,19 +1,5 @@ -SECTION = "libs" -DESCRIPTION = "GNU multiprecision arithmetic library" -HOMEPAGE = "http://www.swox.com/gmp/" -LICENSE = "GPL LGPL" +require gmp.inc PR = "r1" -SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/gmp-${PV}.tar.bz2 \ - file://configure.patch;patch=1 \ - file://amd64.patch;patch=1 \ - file://sh4-asmfix.patch;patch=1" - -inherit autotools - -acpaths = "" - -do_stage () { - autotools_stage_all -} +SRC_URI += "file://sh4-asmfix.patch;patch=1"
\ No newline at end of file diff --git a/packages/gmp/gmp_4.2.1.bb b/packages/gmp/gmp_4.2.1.bb new file mode 100644 index 0000000000..6af2db66a4 --- /dev/null +++ b/packages/gmp/gmp_4.2.1.bb @@ -0,0 +1,3 @@ +require gmp.inc + +SRC_URI += "file://sh4-asmfix.patch;patch=1"
\ No newline at end of file diff --git a/packages/gnome/libgnome_2.16.0.bb b/packages/gnome/libgnome_2.16.0.bb new file mode 100644 index 0000000000..d6c64ee7be --- /dev/null +++ b/packages/gnome/libgnome_2.16.0.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Gnome application programming libraries" +LICENSE = "GPL" +SECTION = "x11/gnome/libs" +PR = "r0" + +inherit gnome + +DEPENDS = "gconf-native gnome-vfs libbonobo esound" + +EXTRA_OECONF = "--disable-gtk-doc" + +do_stage() { +autotools_stage_all +} diff --git a/packages/gnome/libgnomeui_2.16.0.bb b/packages/gnome/libgnomeui_2.16.0.bb new file mode 100644 index 0000000000..8f3e0a725c --- /dev/null +++ b/packages/gnome/libgnomeui_2.16.0.bb @@ -0,0 +1,22 @@ +LICENSE = "GPL" +SECTION = "x11/gnome/libs" +PR = "r0" +DEPENDS = "libgnome libgnomecanvas libbonoboui gnome-keyring" +DESCRIPTION = "GNOME User Interface Library" + +FILES_${PN} += "${libdir}/gtk-2.0/*/filesystems/lib*.so \ + ${libdir}/libglade/*/lib*.so" + +inherit gnome + +SRC_URI += "file://gnome-stock-pixbufs.h file://no-pixbuf-csource.patch;patch=1" + +EXTRA_OECONF = "--disable-gtk-doc" + +do_configure_prepend() { + install -m 0644 ${WORKDIR}/gnome-stock-pixbufs.h ${S}/libgnomeui/pixmaps/gnome-stock-pixbufs.h +} + +do_stage() { +autotools_stage_all +} diff --git a/packages/hal/files/.mtn2git_empty b/packages/hal/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/hal/files/.mtn2git_empty diff --git a/packages/hal/files/dbus-fix-api.patch b/packages/hal/files/dbus-fix-api.patch new file mode 100644 index 0000000000..1f025870bc --- /dev/null +++ b/packages/hal/files/dbus-fix-api.patch @@ -0,0 +1,26 @@ +Index: hal-0.5.7/tools/lshal.c +=================================================================== +--- hal-0.5.7.orig/tools/lshal.c 2006-02-13 14:35:31.000000000 +0000 ++++ hal-0.5.7/tools/lshal.c 2006-11-09 13:48:07.000000000 +0000 +@@ -701,7 +701,7 @@ + libhal_ctx_shutdown (hal_ctx, &error); + libhal_ctx_free (hal_ctx); + +- dbus_connection_disconnect (conn); ++ dbus_connection_close (conn); + dbus_connection_unref (conn); + + if (show_device) +Index: hal-0.5.7/tools/hal-device.c +=================================================================== +--- hal-0.5.7.orig/tools/hal-device.c 2006-11-09 13:49:44.000000000 +0000 ++++ hal-0.5.7/tools/hal-device.c 2006-11-09 13:50:00.000000000 +0000 +@@ -155,7 +155,7 @@ + + libhal_ctx_shutdown(hal_ctx, &error); + libhal_ctx_free(hal_ctx); +- dbus_connection_disconnect(conn); ++ dbus_connection_close(conn); + dbus_connection_unref(conn); + dbus_error_free(&error); + diff --git a/packages/hal/hal_0.5.7.bb b/packages/hal/hal_0.5.7.bb index 5476e2ec22..6139203f10 100644 --- a/packages/hal/hal_0.5.7.bb +++ b/packages/hal/hal_0.5.7.bb @@ -8,7 +8,8 @@ HOMEPAGE = "http://freedesktop.org/Software/hal" LICENSE = "GPL LGPL AFL" PR = "r0" -SRC_URI = "http://freedesktop.org/~david/dist/hal-${PV}.tar.gz" +SRC_URI = "http://freedesktop.org/~david/dist/hal-${PV}.tar.gz \ + file://dbus-fix-api.patch;patch=1" S = "${WORKDIR}/hal-${PV}" inherit autotools pkgconfig diff --git a/packages/images/nylon-image-base.bb b/packages/images/nylon-image-base.bb index 4034590822..5eee653453 100644 --- a/packages/images/nylon-image-base.bb +++ b/packages/images/nylon-image-base.bb @@ -1,5 +1,5 @@ inherit image_ipk -inherit nylon_image +inherit nylon-image LICENSE = MIT export IMAGE_BASENAME = "nylon-base" diff --git a/packages/images/unslung-image.bb b/packages/images/unslung-image.bb index 629c855014..d585414f1f 100644 --- a/packages/images/unslung-image.bb +++ b/packages/images/unslung-image.bb @@ -1,5 +1,5 @@ LICENSE = MIT -PR = "r21" +PR = "r23" IMAGE_BASENAME = "unslung" @@ -11,14 +11,16 @@ DEPENDS = "virtual/kernel \ RDEPENDS = "kernel update-modules unslung-rootfs \ libc6-unslung slingbox ipkg \ - cpio \ - findutils \ + libipkg \ +# cpio \ +# findutils \ ${UNSLUNG_EXTRA_RDEPENDS}" IPKG_INSTALL = "kernel update-modules unslung-rootfs \ libc6-unslung slingbox ipkg \ - cpio \ - findutils \ + libipkg \ +# cpio \ +# findutils \ kernel-module-netconsole \ ${UNSLUNG_EXTRA_INSTALL}" @@ -72,25 +74,26 @@ unslung_clean_image () { ${STRIP} ${IMAGE_ROOTFS}/lib/libgcc_s.so.1 chmod ugo+x ${IMAGE_ROOTFS}/lib/libgcc_s.so.1 +# MJW - experimental right now, but no longer need cpio and find # We need cpio and find, but we don't need any of the other stuff in # the packages (users can install the full package with ipkg after # unsling). Remove the extra files and executables, and clean up # the entries from the ipkg database manually. #-- these are for cpio: - rm -f ${IMAGE_ROOTFS}/usr/bin/mt - rm -rf ${IMAGE_ROOTFS}/usr/libexec - rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/info/cpio.* - rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/alternatives/rmt - sed -i -e '/^Package: cpio/,/^$/d' ${IMAGE_ROOTFS}${libdir}/ipkg/status +# rm -f ${IMAGE_ROOTFS}/usr/bin/mt +# rm -rf ${IMAGE_ROOTFS}/usr/libexec +# rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/info/cpio.* +# rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/alternatives/rmt +# sed -i -e '/^Package: cpio/,/^$/d' ${IMAGE_ROOTFS}${libdir}/ipkg/status #-- and these for find: - rm -f ${IMAGE_ROOTFS}/usr/bin/locate - rm -f ${IMAGE_ROOTFS}/usr/bin/updatedb - rm -f ${IMAGE_ROOTFS}/usr/bin/xargs - rm -f ${IMAGE_ROOTFS}/usr/bin/xargs.findutils - rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/info/findutils.* - sed -i -e '/^Package: findutils/,/^$/d' ${IMAGE_ROOTFS}${libdir}/ipkg/status +# rm -f ${IMAGE_ROOTFS}/usr/bin/locate +# rm -f ${IMAGE_ROOTFS}/usr/bin/updatedb +# rm -f ${IMAGE_ROOTFS}/usr/bin/xargs +# rm -f ${IMAGE_ROOTFS}/usr/bin/xargs.findutils +# rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/info/findutils.* +# sed -i -e '/^Package: findutils/,/^$/d' ${IMAGE_ROOTFS}${libdir}/ipkg/status # FIXME: change made 24 Jul 2006 by the OE folks changes the "strip" # behavior to create an extra file named .debug/<filename> containing @@ -107,6 +110,13 @@ unslung_clean_image () { rm -rf ${IMAGE_ROOTFS}/usr/bin/.debug rm -rf ${IMAGE_ROOTFS}/usr/sbin/.debug rm -rf ${IMAGE_ROOTFS}/usr/lib/.debug + +# MJW - Experimental - just to make space; remove before releasing! +# #### Hack to make space for testing! REMOVE THIS! +# rm -rf ${IMAGE_ROOTFS}/etc/samba/codepages/unicode_map.850 +# rm -rf ${IMAGE_ROOTFS}/bin/ftp +# #### End of Hack! + } python () { diff --git a/packages/initscripts/initscripts-1.0/angstrom/.mtn2git_empty b/packages/initscripts/initscripts-1.0/angstrom/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/angstrom/.mtn2git_empty diff --git a/packages/initscripts/initscripts-1.0/angstrom/checkroot.sh b/packages/initscripts/initscripts-1.0/angstrom/checkroot.sh new file mode 100755 index 0000000000..e5fc6ed8b5 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/angstrom/checkroot.sh @@ -0,0 +1,201 @@ +# +# checkroot.sh Check to root filesystem. +# +# Version: @(#)checkroot.sh 2.84 25-Jan-2002 miquels@cistron.nl +# + +. /etc/default/rcS + +# +# Set SULOGIN in /etc/default/rcS to yes if you want a sulogin to be spawned +# from this script *before anything else* with a timeout, like SCO does. +# +test "$SULOGIN" = yes && sulogin -t 30 $CONSOLE + +# +# Ensure that bdflush (update) is running before any major I/O is +# performed (the following fsck is a good example of such activity :). +# +test -x /sbin/update && update + +# +# Read /etc/fstab. +# +exec 9>&0 </etc/fstab +rootmode=rw +rootopts=rw +test "$ENABLE_ROOTFS_FSCK" = yes && rootcheck="yes" || rootcheck="no" +swap_on_md=no +devfs= +while read fs mnt type opts dump pass junk +do + case "$fs" in + ""|\#*) + continue; + ;; + /dev/md*) + # Swap on md device. + test "$type" = swap && swap_on_md=yes + ;; + /dev/*) + ;; + *) + # Might be a swapfile. + test "$type" = swap && swap_on_md=yes + ;; + esac + + test "$type" = devfs && devfs="$fs" + + # Currently we do not care about the other entries + if test "$mnt" = "/" + then + #echo "[$fs] [$mnt] [$type] [$opts] [$dump] [$pass] [$junk]" + + rootopts="$opts" + roottype="$type" + + #The "spinner" is broken on busybox sh + TERM=dumb + + test "$pass" = 0 -o "$pass" = "" && rootcheck=no + + # Enable fsck for ext2 and ext3 rootfs, disable for everything else + case "$type" in + ext2|ext3) rootcheck=yes;; + *) rootcheck=no;; + esac + + if test "$rootcheck" = yes + then + if ! test -x "/sbin/fsck.${roottype}" + then + echo -e "\n * * * WARNING: /sbin/fsck.${roottype} is missing! * * *\n" + rootcheck=no + fi + fi + + case "$opts" in + ro|ro,*|*,ro|*,ro,*) + rootmode=ro + ;; + esac + fi +done +exec 0>&9 9>&- + +# +# Activate the swap device(s) in /etc/fstab. This needs to be done +# before fsck, since fsck can be quite memory-hungry. +# +doswap=no +test -d /proc/1 || mount -n /proc +case "`uname -r`" in + 2.[0123].*) + if test $swap_on_md = yes && grep -qs resync /proc/mdstat + then + test "$VERBOSE" != no && echo "Not activating swap - RAID array resyncing" + else + doswap=yes + fi + ;; + *) + doswap=yes + ;; +esac +if test $doswap = yes +then + test "$VERBOSE" != no && echo "Activating swap" + swapon -a 2> /dev/null +fi + +# +# Check the root filesystem. +# +if test -f /fastboot || test $rootcheck = no +then + test $rootcheck = yes && echo "Fast boot, no filesystem check" +else + # + # Ensure that root is quiescent and read-only before fsck'ing. + # + mount -n -o remount,ro / + if test $? = 0 + then + if test -f /forcefsck + then + force="-f" + else + force="" + fi + if test "$FSCKFIX" = yes + then + fix="-y" + else + fix="-a" + fi + spinner="-C" + case "$TERM" in + dumb|network|unknown|"") spinner="" ;; + esac + test `uname -m` = s390 && spinner="" # This should go away + test "$VERBOSE" != no && echo "Checking root filesystem..." + fsck $spinner $force $fix / + # + # If there was a failure, drop into single-user mode. + # + # NOTE: "failure" is defined as exiting with a return code of + # 2 or larger. A return code of 1 indicates that filesystem + # errors were corrected but that the boot may proceed. + # + if test "$?" -gt 1 + then + # Surprise! Re-directing from a HERE document (as in + # "cat << EOF") won't work, because the root is read-only. + echo + echo "fsck failed. Please repair manually and reboot. Please note" + echo "that the root filesystem is currently mounted read-only. To" + echo "remount it read-write:" + echo + echo " # mount -n -o remount,rw /" + echo + echo "CONTROL-D will exit from this shell and REBOOT the system." + echo + # Start a single user shell on the console + /sbin/sulogin $CONSOLE + reboot -f + fi + else + echo "*** ERROR! Cannot fsck root fs because it is not mounted read-only!" + echo + fi +fi + +# +# If the root filesystem was not marked as read-only in /etc/fstab, +# remount the rootfs rw but do not try to change mtab because it +# is on a ro fs until the remount succeeded. Then clean up old mtabs +# and finally write the new mtab. +# This part is only needed if the rootfs was mounted ro. +# + +if [ $(grep "/dev/root" /proc/mounts | awk '{print $4}') = rw ]; then + exit 0 +fi + + +echo "Remounting root file system..." +mount -n -o remount,$rootmode / +if test "$rootmode" = rw +then + if test ! -L /etc/mtab + then + rm -f /etc/mtab~ /etc/nologin + : > /etc/mtab + fi + mount -f -o remount / + mount -f /proc + test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs" +fi + +: exit 0 diff --git a/packages/initscripts/initscripts-1.0/checkroot.sh b/packages/initscripts/initscripts-1.0/checkroot.sh index 3729072656..e84e000f53 100755 --- a/packages/initscripts/initscripts-1.0/checkroot.sh +++ b/packages/initscripts/initscripts-1.0/checkroot.sh @@ -24,7 +24,7 @@ test -x /sbin/update && update exec 9>&0 </etc/fstab rootmode=rw rootopts=rw -rootcheck=no +test "$ENABLE_ROOTFS_FSCK" = yes && rootcheck="yes" || rootcheck="no" swap_on_md=no devfs= while read fs mnt type opts dump pass junk @@ -44,15 +44,43 @@ do test "$type" = swap && swap_on_md=yes ;; esac + test "$type" = devfs && devfs="$fs" - test "$mnt" != / && continue - rootopts="$opts" - test "$pass" = 0 -o "$pass" = "" && rootcheck=no - case "$opts" in - ro|ro,*|*,ro|*,ro,*) - rootmode=ro - ;; - esac + + # Currently we do not care about the other entries + if test "$mnt" = "/" + then + #echo "[$fs] [$mnt] [$type] [$opts] [$dump] [$pass] [$junk]" + + rootopts="$opts" + roottype="$type" + + #The "spinner" is broken on busybox sh + TERM=dumb + + test "$pass" = 0 -o "$pass" = "" && rootcheck=no + + # Enable fsck for ext2 and ext3 rootfs, disable for everything else + case "$type" in + ext2|ext3) rootcheck=yes;; + *) rootcheck=no;; + esac + + if test "$rootcheck" = yes + then + if ! test -x "/sbin/fsck.${roottype}" + then + echo -e "\n * * * WARNING: /sbin/fsck.${roottype} is missing! * * *\n" + rootcheck=no + fi + fi + + case "$opts" in + ro|ro,*|*,ro|*,ro,*) + rootmode=ro + ;; + esac + fi done exec 0>&9 9>&- diff --git a/packages/initscripts/initscripts_1.0.bb b/packages/initscripts/initscripts_1.0.bb index 005b8cfab6..3c937856ae 100644 --- a/packages/initscripts/initscripts_1.0.bb +++ b/packages/initscripts/initscripts_1.0.bb @@ -5,7 +5,7 @@ DEPENDS = "makedevs" DEPENDS_openzaurus = "makedevs virtual/kernel" RDEPENDS = "makedevs" LICENSE = "GPL" -PR = "r77" +PR = "r80" SRC_URI = "file://halt \ file://ramdisk \ diff --git a/packages/libiconv/libiconv_1.9.2.bb b/packages/libiconv/libiconv_1.9.2.bb index 4f8f694e07..059d5fd4c5 100644 --- a/packages/libiconv/libiconv_1.9.2.bb +++ b/packages/libiconv/libiconv_1.9.2.bb @@ -1,11 +1,11 @@ DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \ multiple character encodings, but that support lacks from your system." HOMEPAGE = "http://www.gnu.org/software/libiconv" -SECTION = "e/libs" +SECTION = "libs" PRIORITY = "optional" NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8" PROVIDES = "virtual/libiconv" -PR = "r3" +PR = "r4" LICENSE = "LGPL" SRC_URI = "ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-${PV}.tar.gz" diff --git a/packages/libnet/libnet-1.1.2.1/configure.patch b/packages/libnet/libnet-1.1.2.1/configure.patch deleted file mode 100644 index a2a4f3fc0d..0000000000 --- a/packages/libnet/libnet-1.1.2.1/configure.patch +++ /dev/null @@ -1,3075 +0,0 @@ -This is autogenerated, so not really needed. -Just here for completeness. - ---- libnet/configure 2005/11/15 03:56:13 1.1 -+++ libnet/configure 2005/11/15 03:56:28 -@@ -1,9 +1,8 @@ - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. --# Generated by GNU Autoconf 2.57. -+# Generated by GNU Autoconf 2.59. - # --# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 --# Free Software Foundation, Inc. -+# Copyright (C) 2003 Free Software Foundation, Inc. - # This configure script is free software; the Free Software Foundation - # gives unlimited permission to copy, distribute and modify it. - ## --------------------- ## -@@ -20,9 +19,10 @@ - elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix - fi -+DUALCASE=1; export DUALCASE # for MKS sh - - # Support unset when possible. --if (FOO=FOO; unset FOO) >/dev/null 2>&1; then -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset - else - as_unset=false -@@ -41,7 +41,7 @@ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME - do -- if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then -+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var -@@ -218,16 +218,17 @@ - if mkdir -p . 2>/dev/null; then - as_mkdir_p=: - else -+ test -d ./-p && rmdir ./-p - as_mkdir_p=false - fi - - as_executable_p="test -f" - - # Sed expression to map a string onto a valid CPP name. --as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - - # Sed expression to map a string onto a valid variable name. --as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - # IFS -@@ -309,7 +310,7 @@ - #endif" - - ac_default_prefix=/usr --ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE RANLIB ac_ct_RANLIB CPP EGREP ENDIANESS LIBNET_VERSION HAVE_PACKET_SOCKET ADDITIONAL_LIBS LIBNET_CONFIG_DEFINES LIBNET_CONFIG_LIBS LIBNET_CONFIG_CFLAGS LIBOBJS LTLIBOBJS' -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB CPP EGREP ENDIANESS LIBNET_VERSION HAVE_PACKET_SOCKET ADDITIONAL_LIBS LIBNET_CONFIG_DEFINES LIBNET_CONFIG_LIBS LIBNET_CONFIG_CFLAGS LIBOBJS LTLIBOBJS' - ac_subst_files='' - - # Initialize some variables set by options. -@@ -668,7 +669,7 @@ - - # Be sure to have absolute paths. - for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ -- localstatedir libdir includedir oldincludedir infodir mandir -+ localstatedir libdir includedir oldincludedir infodir mandir - do - eval ac_val=$`echo $ac_var` - case $ac_val in -@@ -708,10 +709,10 @@ - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || - $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$0" : 'X\(//\)[^/]' \| \ -- X"$0" : 'X\(//\)$' \| \ -- X"$0" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$0" : 'X\(//\)[^/]' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -803,9 +804,9 @@ - cat <<_ACEOF - Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX -- [$ac_default_prefix] -+ [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -- [PREFIX] -+ [PREFIX] - - By default, \`make install' will install all the files in - \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -@@ -850,10 +851,10 @@ - Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -- --enable-maintainer-mode enable make rules and dependencies not useful -- (and sometimes confusing) to the casual installer -- --disable-dependency-tracking Speeds up one-time builds -- --enable-dependency-tracking Do not reject slow dependency extractors -+ --enable-maintainer-mode enable make rules and dependencies not useful -+ (and sometimes confusing) to the casual installer -+ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors - - Some influential environment variables: - CC C compiler command -@@ -900,12 +901,45 @@ - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; - esac --# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be --# absolute. --ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` --ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` --ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` --ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` -+ -+# Do not use `cd foo && pwd` to compute absolute paths, because -+# the directories may not exist. -+case `pwd` in -+.) ac_abs_builddir="$ac_dir";; -+*) -+ case "$ac_dir" in -+ .) ac_abs_builddir=`pwd`;; -+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -+ *) ac_abs_builddir=`pwd`/"$ac_dir";; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_builddir=${ac_top_builddir}.;; -+*) -+ case ${ac_top_builddir}. in -+ .) ac_abs_top_builddir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_srcdir=$ac_srcdir;; -+*) -+ case $ac_srcdir in -+ .) ac_abs_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_srcdir=$ac_top_srcdir;; -+*) -+ case $ac_top_srcdir in -+ .) ac_abs_top_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -+ esac;; -+esac - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. -@@ -916,7 +950,7 @@ - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || -- test -f $ac_srcdir/configure.in; then -+ test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help - else -@@ -930,8 +964,7 @@ - if $ac_init_version; then - cat <<\_ACEOF - --Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 --Free Software Foundation, Inc. -+Copyright (C) 2003 Free Software Foundation, Inc. - This configure script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it. - _ACEOF -@@ -943,7 +976,7 @@ - running configure, to aid debugging if configure makes a mistake. - - It was created by $as_me, which was --generated by GNU Autoconf 2.57. Invocation command line was -+generated by GNU Autoconf 2.59. Invocation command line was - - $ $0 $@ - -@@ -1020,19 +1053,19 @@ - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then -- ac_must_keep_next=false # Got value, back to normal. -+ ac_must_keep_next=false # Got value, back to normal. - else -- case $ac_arg in -- *=* | --config-cache | -C | -disable-* | --disable-* \ -- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -- | -with-* | --with-* | -without-* | --without-* | --x) -- case "$ac_configure_args0 " in -- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -- esac -- ;; -- -* ) ac_must_keep_next=true ;; -- esac -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac - fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. -@@ -1066,12 +1099,12 @@ - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ -- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; -- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" -+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ -- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; - } -@@ -1100,7 +1133,7 @@ - for ac_var in $ac_subst_files - do - eval ac_val=$`echo $ac_var` -- echo "$ac_var='"'"'$ac_val'"'"'" -+ echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - fi -@@ -1119,7 +1152,7 @@ - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 -- rm -f core core.* *.core && -+ rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status - ' 0 -@@ -1199,7 +1232,7 @@ - # value. - ac_cache_corrupted=false - for ac_var in `(set) 2>&1 | -- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do -+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" -@@ -1216,13 +1249,13 @@ - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then -- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 - echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 - echo "$as_me: former value: $ac_old_val" >&2;} -- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 - echo "$as_me: current value: $ac_new_val" >&2;} -- ac_cache_corrupted=: -+ ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. -@@ -1381,7 +1414,7 @@ - NONENONEs,x,x, && - program_prefix=${target_alias}- - --am__api_version="1.6" -+am__api_version="1.9" - # Find a good install program. We prefer a C program (faster), - # so one script is as good as another. But avoid the broken or - # incompatible versions: -@@ -1393,6 +1426,7 @@ - # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag - # AFS /usr/afsws/bin/install, which mishandles nonexistent args - # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic - # ./install, which can be erroneously created by make from ./install.sh. - echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 - echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -@@ -1409,6 +1443,7 @@ - case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. -@@ -1416,20 +1451,20 @@ - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -- if test $ac_prog = install && -- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -- # AIX install. It has an incompatible calling convention. -- : -- elif test $ac_prog = install && -- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -- # program-specific install script used by HP pwplus--don't use. -- : -- else -- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -- break 3 -- fi -- fi -+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi - done - done - ;; -@@ -1517,7 +1552,6 @@ - program_transform_name=`echo $program_transform_name | sed -f conftest.sed` - rm conftest.sed - -- - # expand $ac_aux_dir to an absolute path - am_aux_dir=`cd $ac_aux_dir && pwd` - -@@ -1531,6 +1565,39 @@ - echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} - fi - -+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then -+ # We used to keeping the `.' as first argument, in order to -+ # allow $(mkdir_p) to be used without argument. As in -+ # $(mkdir_p) $(somedir) -+ # where $(somedir) is conditionally defined. However this is wrong -+ # for two reasons: -+ # 1. if the package is installed by a user who cannot write `.' -+ # make install will fail, -+ # 2. the above comment should most certainly read -+ # $(mkdir_p) $(DESTDIR)$(somedir) -+ # so it does not work when $(somedir) is undefined and -+ # $(DESTDIR) is not. -+ # To support the latter case, we have to write -+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), -+ # so the `.' trick is pointless. -+ mkdir_p='mkdir -p --' -+else -+ # On NextStep and OpenStep, the `mkdir' command does not -+ # recognize any option. It will interpret all options as -+ # directories to create, and then abort because `.' already -+ # exists. -+ for d in ./-p ./--version; -+ do -+ test -d $d && rmdir $d -+ done -+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. -+ if test -f "$ac_aux_dir/mkinstalldirs"; then -+ mkdir_p='$(mkinstalldirs)' -+ else -+ mkdir_p='$(install_sh) -d' -+ fi -+fi -+ - for ac_prog in gawk mawk nawk awk - do - # Extract the first word of "$ac_prog", so it can be a program name with args. -@@ -1573,7 +1640,7 @@ - - echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 - echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 --set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` - if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -@@ -1600,7 +1667,16 @@ - SET_MAKE="MAKE=${MAKE-make}" - fi - -- # test to see if srcdir already configured -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+ -+# test to see if srcdir already configured - if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -@@ -1608,6 +1684,16 @@ - { (exit 1); exit 1; }; } - fi - -+# test whether we have cygpath -+if test -z "$CYGPATH_W"; then -+ if (cygpath --version) >/dev/null 2>/dev/null; then -+ CYGPATH_W='cygpath -w' -+ else -+ CYGPATH_W=echo -+ fi -+fi -+ -+ - # Define the identity of the package. - PACKAGE=libnet - VERSION=$LIBNET_VERSION -@@ -1638,9 +1724,6 @@ - - MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -- --AMTAR=${AMTAR-"${am_missing_run}tar"} -- - install_sh=${install_sh-"$am_aux_dir/install-sh"} - - # Installed binaries are usually stripped using `strip' when the user -@@ -1733,15 +1816,18 @@ - - # We need awk for the "check" target. The system "awk" is bad on - # some platforms. -+# Always define AMTAR for backward compatibility. - -+AMTAR=${AMTAR-"${am_missing_run}tar"} -+ -+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - --# Add the stamp file to the list of files AC keeps track of, --# along with our hook. -- ac_config_headers="$ac_config_headers include/config.h" - - - -+ ac_config_headers="$ac_config_headers include/config.h" -+ - echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 - echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 - # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. -@@ -2103,7 +2189,6 @@ - (exit $ac_status); } - - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2123,8 +2208,8 @@ - # Try to create an executable without -o first, disregard a.out. - # It will help us diagnose broken compilers, and finding out an intuition - # of exeext. --echo "$as_me:$LINENO: checking for C compiler default output" >&5 --echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 - ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 -@@ -2144,23 +2229,23 @@ - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) -- ;; -+ ;; - conftest.$ac_ext ) -- # This is the source file. -- ;; -+ # This is the source file. -+ ;; - [ab].out ) -- # We found the default executable, but exeext='' is most -- # certainly right. -- break;; -+ # We found the default executable, but exeext='' is most -+ # certainly right. -+ break;; - *.* ) -- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -- # FIXME: I believe we export ac_cv_exeext for Libtool, -- # but it would be cool to find out if it's true. Does anybody -- # maintain Libtool? --akim. -- export ac_cv_exeext -- break;; -+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -+ # FIXME: I believe we export ac_cv_exeext for Libtool, -+ # but it would be cool to find out if it's true. Does anybody -+ # maintain Libtool? --akim. -+ export ac_cv_exeext -+ break;; - * ) -- break;; -+ break;; - esac - done - else -@@ -2234,8 +2319,8 @@ - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -- export ac_cv_exeext -- break;; -+ export ac_cv_exeext -+ break;; - * ) break;; - esac - done -@@ -2260,7 +2345,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2311,7 +2395,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2331,11 +2414,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2348,7 +2441,7 @@ - - ac_compiler_gnu=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_c_compiler_gnu=$ac_compiler_gnu - - fi -@@ -2364,7 +2457,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2381,11 +2473,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2398,7 +2500,7 @@ - - ac_cv_prog_cc_g=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 - echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -@@ -2425,7 +2527,6 @@ - ac_cv_prog_cc_stdc=no - ac_save_CC=$CC - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2453,6 +2554,16 @@ - va_end (v); - return s; - } -+ -+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has -+ function prototypes and stuff, but not '\xHH' hex character constants. -+ These don't provoke an error unfortunately, instead are silently treated -+ as 'x'. The following induces an error, until -std1 is added to get -+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an -+ array size at least. It's necessary to write '\x00'==0 to get something -+ that's true only with -std1. */ -+int osf4_cc_array ['\x00' == 0 ? 1 : -1]; -+ - int test (int i, double x); - struct s1 {int (*f) (int a);}; - struct s2 {int (*f) (double a);}; -@@ -2479,11 +2590,21 @@ - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2496,7 +2617,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext -+rm -f conftest.err conftest.$ac_objext - done - rm -f conftest.$ac_ext conftest.$ac_objext - CC=$ac_save_CC -@@ -2524,19 +2645,28 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ -- ''\ -- '#include <stdlib.h>' \ -+ '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ -@@ -2544,14 +2674,13 @@ - 'void exit (int);' - do - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --#include <stdlib.h> - $ac_declaration -+#include <stdlib.h> - int - main () - { -@@ -2562,11 +2691,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2579,9 +2718,8 @@ - - continue - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2598,11 +2736,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2614,7 +2762,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done - rm -f conftest* - if test -n "$ac_declaration"; then -@@ -2628,30 +2776,22 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' - ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' - ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' - ac_compiler_gnu=$ac_cv_c_compiler_gnu --rm -f .deps 2>/dev/null --mkdir .deps 2>/dev/null --if test -d .deps; then -- DEPDIR=.deps --else -- # MS-DOS does not allow filenames that begin with a dot. -- DEPDIR=_deps --fi --rmdir .deps 2>/dev/null -- -+DEPDIR="${am__leading_dot}deps" - - ac_config_commands="$ac_config_commands depfiles" - - - am_make=${MAKE-make} - cat > confinc << 'END' --doit: -+am__doit: - @echo done -+.PHONY: am__doit - END - # If we don't find an include directive, just comment out the code. - echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -@@ -2666,7 +2806,7 @@ - # In particular we don't look at `^make:' because GNU make might - # be invoked under some other name (usually "gmake"), in which - # case it prints its new name instead of `make'. --if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -@@ -2726,18 +2866,34 @@ - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. -- echo '#include "conftest.h"' > conftest.c -- echo 'int i;' > conftest.h -- echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) -@@ -2755,13 +2911,25 @@ - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ -- source=conftest.c object=conftest.o \ -- depfile=conftest.Po tmpdepfile=conftest.TPo \ -- $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && -- grep conftest.h conftest.Po > /dev/null 2>&1 && -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -- am_cv_CC_dependencies_compiler_type=$depmode -- break -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi - fi - done - -@@ -2777,6 +2945,18 @@ - CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - -+ -+if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' -+else -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= -+fi -+ -+ - # Find a good install program. We prefer a C program (faster), - # so one script is as good as another. But avoid the broken or - # incompatible versions: -@@ -2788,6 +2968,7 @@ - # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag - # AFS /usr/afsws/bin/install, which mishandles nonexistent args - # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic - # ./install, which can be erroneously created by make from ./install.sh. - echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 - echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -@@ -2804,6 +2985,7 @@ - case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. -@@ -2811,20 +2993,20 @@ - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -- if test $ac_prog = install && -- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -- # AIX install. It has an incompatible calling convention. -- : -- elif test $ac_prog = install && -- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -- # program-specific install script used by HP pwplus--don't use. -- : -- else -- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -- break 3 -- fi -- fi -+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi - done - done - ;; -@@ -2964,7 +3146,6 @@ - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2975,7 +3156,7 @@ - #else - # include <assert.h> - #endif -- Syntax error -+ Syntax error - _ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -@@ -2987,6 +3168,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -3007,7 +3189,6 @@ - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3025,6 +3206,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -3071,7 +3253,6 @@ - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3082,7 +3263,7 @@ - #else - # include <assert.h> - #endif -- Syntax error -+ Syntax error - _ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -@@ -3094,6 +3275,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -3114,7 +3296,6 @@ - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3132,6 +3313,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -3192,7 +3374,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3213,11 +3394,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3230,12 +3421,11 @@ - - ac_cv_header_stdc=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3257,7 +3447,6 @@ - if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3282,7 +3471,6 @@ - : - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3294,9 +3482,9 @@ - # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) - #else - # define ISLOWER(c) \ -- (('a' <= (c) && (c) <= 'i') \ -- || ('j' <= (c) && (c) <= 'r') \ -- || ('s' <= (c) && (c) <= 'z')) -+ (('a' <= (c) && (c) <= 'i') \ -+ || ('j' <= (c) && (c) <= 'r') \ -+ || ('s' <= (c) && (c) <= 'z')) - # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) - #endif - -@@ -3307,7 +3495,7 @@ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) -- || toupper (i) != TOUPPER (i)) -+ || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); - } -@@ -3332,7 +3520,7 @@ - ( exit $ac_status ) - ac_cv_header_stdc=no - fi --rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - fi - fi -@@ -3357,7 +3545,7 @@ - - - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -- inttypes.h stdint.h unistd.h -+ inttypes.h stdint.h unistd.h - do - as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` - echo "$as_me:$LINENO: checking for $ac_header" >&5 -@@ -3366,7 +3554,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3378,11 +3565,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3395,7 +3592,7 @@ - - eval "$as_ac_Header=no" - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -3426,7 +3623,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3437,11 +3633,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3454,7 +3660,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -3462,7 +3668,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3480,6 +3685,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -3499,33 +3705,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## ------------------------------------------ ## -+## Report this to the AC_PACKAGE_NAME lists. ## -+## ------------------------------------------ ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -3536,7 +3741,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -3553,78 +3758,243 @@ - - - --echo "$as_me:$LINENO: checking machine endianess" >&5 --echo $ECHO_N "checking machine endianess... $ECHO_C" >&6 -+echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 -+if test "${ac_cv_c_bigendian+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ # See if sys/param.h defines the BYTE_ORDER macro. -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include <sys/types.h> -+#include <sys/param.h> - -- cat > conftest.c << EOF --# include <stdio.h> --# include <stdlib.h> -+int -+main () -+{ -+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN -+ bogus endian macros -+#endif - -- int main() -- { -- union -- { -- short s; -- char c[sizeof(short)]; -- } un; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ # It does; now see whether it defined to BIG_ENDIAN or not. -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include <sys/types.h> -+#include <sys/param.h> - -- un.s = 0x0102; -- if (sizeof (short) == 2) -- { -- if (un.c [0] == 1 && un.c [1] == 2) -- { -- printf("B\n"); -- } -- else -- { -- if (un.c [0] == 2 && un.c [1] == 1) -- { -- printf("L\n"); -- } -- } -- } -- else -- { -- printf("?\n"); -- } -- return (EXIT_SUCCESS); -- } --EOF -- ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS > /dev/null 2>&1 -- # Oopz 4.3 BSD doesn't have this. Sorry. -- if test ! -x conftest ; then -- ac_cv_libnet_endianess=unknown -- else -- ./conftest > conftest.out -- result=`cat conftest.out` -- if test $result = "B"; then -- ac_cv_libnet_endianess=big -- elif test $result = "L"; then -- ac_cv_libnet_endianess=lil -- else -- ac_cv_libnet_endianess=unknown -- fi -- fi -- rm -f conftest* core core.conftest -+int -+main () -+{ -+#if BYTE_ORDER != BIG_ENDIAN -+ not big endian -+#endif - -- echo "$as_me:$LINENO: result: $ac_cv_libnet_endianess" >&5 --echo "${ECHO_T}$ac_cv_libnet_endianess" >&6 -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_c_bigendian=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - -- if test $ac_cv_libnet_endianess = big ; then -- cat >>confdefs.h <<\_ACEOF -+ac_cv_c_bigendian=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+# It does not; compile a test program. -+if test "$cross_compiling" = yes; then -+ # try to guess the endianness by grepping values into an object file -+ ac_cv_c_bigendian=unknown -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -+short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -+void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -+short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -+short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -+void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } -+int -+main () -+{ -+ _ascii (); _ebcdic (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then -+ ac_cv_c_bigendian=yes -+fi -+if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then -+ if test "$ac_cv_c_bigendian" = unknown; then -+ ac_cv_c_bigendian=no -+ else -+ # finding both strings is unlikely to happen, but who knows? -+ ac_cv_c_bigendian=unknown -+ fi -+fi -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+int -+main () -+{ -+ /* Are we little or big endian? From Harbison&Steele. */ -+ union -+ { -+ long l; -+ char c[sizeof (long)]; -+ } u; -+ u.l = 1; -+ exit (u.c[sizeof (long) - 1] == 1); -+} -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_c_bigendian=no -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+( exit $ac_status ) -+ac_cv_c_bigendian=yes -+fi -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -+echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -+case $ac_cv_c_bigendian in -+ yes) -+ -+ cat >>confdefs.h <<\_ACEOF - #define LIBNET_BIG_ENDIAN 1 - _ACEOF - -- ENDIANESS="LIBNET_BIG_ENDIAN" -- LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN" -- elif test $ac_cv_libnet_endianess = lil ; then -- cat >>confdefs.h <<\_ACEOF -+ ENDIANESS="LIBNET_BIG_ENDIAN" -+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN" -+ ;; -+ no) -+ -+ cat >>confdefs.h <<\_ACEOF - #define LIBNET_LIL_ENDIAN 1 - _ACEOF - -- ENDIANESS="LIBNET_LIL_ENDIAN" -- LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN" -- fi -+ ENDIANESS="LIBNET_LIL_ENDIAN" -+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN" -+ ;; -+ *) -+ { echo "$as_me:$LINENO: WARNING: cannot detect endianess. try setting ac_cv_c_bigendian to yes or no" >&5 -+echo "$as_me: WARNING: cannot detect endianess. try setting ac_cv_c_bigendian to yes or no" >&2;} ;; -+esac -+ - - echo "$as_me:$LINENO: checking if unaligned accesses fail" >&5 - echo $ECHO_N "checking if unaligned accesses fail... $ECHO_C" >&6 -@@ -3714,7 +4084,6 @@ - else - ac_pattern="Autoconf.*'x'" - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3734,7 +4103,6 @@ - - if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3774,21 +4142,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -3819,11 +4194,21 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3836,7 +4221,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -3853,27 +4239,69 @@ - echo $ECHO_N "checking link-layer packet interface type... $ECHO_C" >&6 - - if test -r /dev/bpf0 ; then -- LIBOBJS="$LIBOBJS libnet_link_bpf.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_bpf.$ac_objext" | \ -+ *" libnet_link_bpf.$ac_objext" | \ -+ "libnet_link_bpf.$ac_objext "* | \ -+ *" libnet_link_bpf.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_bpf.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found bpf" >&5 - echo "${ECHO_T}found bpf" >&6 - elif test -r /usr/include/net/pfilt.h ; then -- LIBOBJS="$LIBOBJS libnet_link_pf.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_pf.$ac_objext" | \ -+ *" libnet_link_pf.$ac_objext" | \ -+ "libnet_link_pf.$ac_objext "* | \ -+ *" libnet_link_pf.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_pf.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found pf" >&5 - echo "${ECHO_T}found pf" >&6 - elif test -r /dev/nit ; then -- LIBOBJS="$LIBOBJS libnet_link_snit.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_snit.$ac_objext" | \ -+ *" libnet_link_snit.$ac_objext" | \ -+ "libnet_link_snit.$ac_objext "* | \ -+ *" libnet_link_snit.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_snit.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found snit" >&5 - echo "${ECHO_T}found snit" >&6 - elif test -r /usr/include/sys/net/nit.h ; then -- LIBOBJS="$LIBOBJS libnet_link_nit.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_nit.$ac_objext" | \ -+ *" libnet_link_nit.$ac_objext" | \ -+ "libnet_link_nit.$ac_objext "* | \ -+ *" libnet_link_nit.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_nit.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found nit" >&5 - echo "${ECHO_T}found nit" >&6 - elif test -r /usr/include/net/raw.h ; then -- LIBOBJS="$LIBOBJS libnet_link_snoop.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_snoop.$ac_objext" | \ -+ *" libnet_link_snoop.$ac_objext" | \ -+ "libnet_link_snoop.$ac_objext "* | \ -+ *" libnet_link_snoop.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_snoop.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found snoop" >&5 - echo "${ECHO_T}found snoop" >&6 - elif test -r /usr/include/sys/dlpi.h ; then -- LIBOBJS="$LIBOBJS libnet_link_dlpi.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_dlpi.$ac_objext" | \ -+ *" libnet_link_dlpi.$ac_objext" | \ -+ "libnet_link_dlpi.$ac_objext "* | \ -+ *" libnet_link_dlpi.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_dlpi.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found dlpi" >&5 - echo "${ECHO_T}found dlpi" >&6 - cat >>confdefs.h <<\_ACEOF -@@ -3881,7 +4309,14 @@ - _ACEOF - - elif test -r /usr/include/linux/socket.h ; then -- LIBOBJS="$LIBOBJS libnet_link_linux.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_linux.$ac_objext" | \ -+ *" libnet_link_linux.$ac_objext" | \ -+ "libnet_link_linux.$ac_objext "* | \ -+ *" libnet_link_linux.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_linux.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found linux primitives" >&5 - echo "${ECHO_T}found linux primitives" >&6 - -@@ -3995,19 +4430,47 @@ - - fi - elif test -c /dev/bpf0 ; then # check again in case not readable -- LIBOBJS="$LIBOBJS libnet_link_bpf.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_bpf.$ac_objext" | \ -+ *" libnet_link_bpf.$ac_objext" | \ -+ "libnet_link_bpf.$ac_objext "* | \ -+ *" libnet_link_bpf.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_bpf.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found bpf" >&5 - echo "${ECHO_T}found bpf" >&6 - elif test -c /dev/nit ; then # check again in case not readable -- LIBOBJS="$LIBOBJS libnet_link_snit.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_snit.$ac_objext" | \ -+ *" libnet_link_snit.$ac_objext" | \ -+ "libnet_link_snit.$ac_objext "* | \ -+ *" libnet_link_snit.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_snit.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found snit" >&5 - echo "${ECHO_T}found snit" >&6 - elif test "$target_os" = "cygwin" ; then -- LIBOBJS="$LIBOBJS libnet_link_win32.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_win32.$ac_objext" | \ -+ *" libnet_link_win32.$ac_objext" | \ -+ "libnet_link_win32.$ac_objext "* | \ -+ *" libnet_link_win32.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_win32.$ac_objext" ;; -+esac -+ - echo "$as_me:$LINENO: result: found win32 wpcap" >&5 - echo "${ECHO_T}found win32 wpcap" >&6 - else -- LIBOBJS="$LIBOBJS libnet_link_none.$ac_objext" -+ case $LIBOBJS in -+ "libnet_link_none.$ac_objext" | \ -+ *" libnet_link_none.$ac_objext" | \ -+ "libnet_link_none.$ac_objext "* | \ -+ *" libnet_link_none.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS libnet_link_none.$ac_objext" ;; -+esac -+ - { echo "$as_me:$LINENO: WARNING: could not find a link-layer packet interface" >&5 - echo "$as_me: WARNING: could not find a link-layer packet interface" >&2;} - { echo "$as_me:$LINENO: WARNING: link-layer packet injection will not be available" >&5 -@@ -4054,7 +4517,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4065,11 +4527,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4082,7 +4554,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -4090,7 +4562,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4108,6 +4579,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -4127,33 +4599,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## ------------------------------------------ ## -+## Report this to the AC_PACKAGE_NAME lists. ## -+## ------------------------------------------ ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -4164,7 +4635,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -4265,7 +4736,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4276,11 +4746,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4293,7 +4773,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -4301,7 +4781,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4319,6 +4798,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -4338,33 +4818,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## ------------------------------------------ ## -+## Report this to the AC_PACKAGE_NAME lists. ## -+## ------------------------------------------ ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -4375,7 +4854,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -4426,7 +4905,6 @@ - ac_check_lib_save_LIBS=$LIBS - LIBS="-lsocket $LIBS" - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4450,11 +4928,21 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4467,7 +4955,8 @@ - - ac_cv_lib_socket_socket=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - LIBS=$ac_check_lib_save_LIBS - fi - echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 -@@ -4494,7 +4983,6 @@ - ac_check_lib_save_LIBS=$LIBS - LIBS="-lnsl $LIBS" - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4518,11 +5006,21 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4535,7 +5033,8 @@ - - ac_cv_lib_nsl_gethostbyname=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - LIBS=$ac_check_lib_save_LIBS - fi - echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 -@@ -4616,7 +5115,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4627,11 +5125,21 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4644,7 +5152,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -4652,7 +5160,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4670,6 +5177,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -4689,33 +5197,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## ------------------------------------------ ## -+## Report this to the AC_PACKAGE_NAME lists. ## -+## ------------------------------------------ ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -4726,7 +5233,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -4763,7 +5270,6 @@ - ac_check_lib_save_LIBS=$LIBS - LIBS="-lpacket $LIBS" - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4787,11 +5293,21 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4804,7 +5320,8 @@ - - ac_cv_lib_packet_PacketSetMode=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - LIBS=$ac_check_lib_save_LIBS - fi - echo "$as_me:$LINENO: result: $ac_cv_lib_packet_PacketSetMode" >&5 -@@ -4831,7 +5348,6 @@ - ac_check_lib_save_LIBS=$LIBS - LIBS="-lwpcap $LIBS" - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4855,11 +5371,21 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4872,7 +5398,8 @@ - - ac_cv_lib_wpcap_pcap_setmode=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - LIBS=$ac_check_lib_save_LIBS - fi - echo "$as_me:$LINENO: result: $ac_cv_lib_wpcap_pcap_setmode" >&5 -@@ -4934,13 +5461,13 @@ - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ -- "s/'/'\\\\''/g; -- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ -- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; - } | -@@ -4970,13 +5497,13 @@ - # trailing colons and then remove the whole line if VPATH becomes empty - # (actually we leave an empty line to preserve line numbers). - if test "x$srcdir" = x.; then -- ac_vpsub='/^[ ]*VPATH[ ]*=/{ -+ ac_vpsub='/^[ ]*VPATH[ ]*=/{ - s/:*\$(srcdir):*/:/; - s/:*\${srcdir}:*/:/; - s/:*@srcdir@:*/:/; --s/^\([^=]*=[ ]*\):*/\1/; -+s/^\([^=]*=[ ]*\):*/\1/; - s/:*$//; --s/^[^=]*=[ ]*$//; -+s/^[^=]*=[ ]*$//; - }' - fi - -@@ -4987,7 +5514,7 @@ - for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_i=`echo "$ac_i" | -- sed 's/\$U\././;s/\.o$//;s/\.obj$//'` -+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' -@@ -5011,6 +5538,13 @@ - Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } - fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." >&5 -+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." >&2;} -+ { (exit 1); exit 1; }; } -+fi - - : ${CONFIG_STATUS=./config.status} - ac_clean_files_save=$ac_clean_files -@@ -5045,9 +5579,10 @@ - elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix - fi -+DUALCASE=1; export DUALCASE # for MKS sh - - # Support unset when possible. --if (FOO=FOO; unset FOO) >/dev/null 2>&1; then -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset - else - as_unset=false -@@ -5066,7 +5601,7 @@ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME - do -- if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then -+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var -@@ -5245,16 +5780,17 @@ - if mkdir -p . 2>/dev/null; then - as_mkdir_p=: - else -+ test -d ./-p && rmdir ./-p - as_mkdir_p=false - fi - - as_executable_p="test -f" - - # Sed expression to map a string onto a valid CPP name. --as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - - # Sed expression to map a string onto a valid variable name. --as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - # IFS -@@ -5281,7 +5817,7 @@ - cat >&5 <<_CSEOF - - This file was extended by $as_me, which was --generated by GNU Autoconf 2.57. Invocation command line was -+generated by GNU Autoconf 2.59. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS -@@ -5325,9 +5861,9 @@ - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] -- instantiate the configuration file FILE -+ instantiate the configuration file FILE - --header=FILE[:TEMPLATE] -- instantiate the configuration header FILE -+ instantiate the configuration header FILE - - Configuration files: - $config_files -@@ -5344,11 +5880,10 @@ - cat >>$CONFIG_STATUS <<_ACEOF - ac_cs_version="\\ - config.status --configured by $0, generated by GNU Autoconf 2.57, -+configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - --Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 --Free Software Foundation, Inc. -+Copyright (C) 2003 Free Software Foundation, Inc. - This config.status script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it." - srcdir=$srcdir -@@ -5565,6 +6100,7 @@ - s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t - s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t - s,@INSTALL_DATA@,$INSTALL_DATA,;t t -+s,@CYGPATH_W@,$CYGPATH_W,;t t - s,@PACKAGE@,$PACKAGE,;t t - s,@VERSION@,$VERSION,;t t - s,@ACLOCAL@,$ACLOCAL,;t t -@@ -5572,13 +6108,17 @@ - s,@AUTOMAKE@,$AUTOMAKE,;t t - s,@AUTOHEADER@,$AUTOHEADER,;t t - s,@MAKEINFO@,$MAKEINFO,;t t --s,@AMTAR@,$AMTAR,;t t - s,@install_sh@,$install_sh,;t t - s,@STRIP@,$STRIP,;t t - s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t - s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t -+s,@mkdir_p@,$mkdir_p,;t t - s,@AWK@,$AWK,;t t - s,@SET_MAKE@,$SET_MAKE,;t t -+s,@am__leading_dot@,$am__leading_dot,;t t -+s,@AMTAR@,$AMTAR,;t t -+s,@am__tar@,$am__tar,;t t -+s,@am__untar@,$am__untar,;t t - s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t - s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t - s,@MAINT@,$MAINT,;t t -@@ -5596,6 +6136,8 @@ - s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t - s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t - s,@CCDEPMODE@,$CCDEPMODE,;t t -+s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t -+s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t - s,@RANLIB@,$RANLIB,;t t - s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t - s,@CPP@,$CPP,;t t -@@ -5638,9 +6180,9 @@ - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then -- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" -+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else -- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" -+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end -@@ -5658,21 +6200,21 @@ - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin -- cat >$tmp/stdin -- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ cat >$tmp/stdin -+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || - $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$ac_file" : 'X\(//\)[^/]' \| \ -- X"$ac_file" : 'X\(//\)$' \| \ -- X"$ac_file" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -5688,10 +6230,10 @@ - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || - $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -5729,12 +6271,45 @@ - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; - esac --# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be --# absolute. --ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` --ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` --ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` --ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` -+ -+# Do not use `cd foo && pwd` to compute absolute paths, because -+# the directories may not exist. -+case `pwd` in -+.) ac_abs_builddir="$ac_dir";; -+*) -+ case "$ac_dir" in -+ .) ac_abs_builddir=`pwd`;; -+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -+ *) ac_abs_builddir=`pwd`/"$ac_dir";; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_builddir=${ac_top_builddir}.;; -+*) -+ case ${ac_top_builddir}. in -+ .) ac_abs_top_builddir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_srcdir=$ac_srcdir;; -+*) -+ case $ac_srcdir in -+ .) ac_abs_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_srcdir=$ac_top_srcdir;; -+*) -+ case $ac_top_srcdir in -+ .) ac_abs_top_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -+ esac;; -+esac - - - case $INSTALL in -@@ -5756,7 +6331,7 @@ - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | -- sed 's,.*/,,'` by configure." -+ sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. -@@ -5765,24 +6340,24 @@ - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) -- # Absolute (can't be DOS-style, as IFS=:) -- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+ # Absolute (can't be DOS-style, as IFS=:) -+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 - echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } -- echo $f;; -+ echo "$f";; - *) # Relative -- if test -f "$f"; then -- # Build tree -- echo $f -- elif test -f "$srcdir/$f"; then -- # Source tree -- echo $srcdir/$f -- else -- # /dev/null tree -- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+ if test -f "$f"; then -+ # Build tree -+ echo "$f" -+ elif test -f "$srcdir/$f"; then -+ # Source tree -+ echo "$srcdir/$f" -+ else -+ # /dev/null tree -+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 - echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } -- fi;; -+ fi;; - esac - done` || { (exit 1); exit 1; } - _ACEOF -@@ -5824,12 +6399,12 @@ - # NAME is the cpp macro being defined and VALUE is the value it is being given. - # - # ac_d sets the value in "#define NAME VALUE" lines. --ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' --ac_dB='[ ].*$,\1#\2' -+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -+ac_dB='[ ].*$,\1#\2' - ac_dC=' ' - ac_dD=',;t' - # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". --ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' - ac_uB='$,\1#\2define\3' - ac_uC=' ' - ac_uD=',;t' -@@ -5838,11 +6413,11 @@ - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin -- cat >$tmp/stdin -- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ cat >$tmp/stdin -+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - -@@ -5856,28 +6431,29 @@ - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) -- # Absolute (can't be DOS-style, as IFS=:) -- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+ # Absolute (can't be DOS-style, as IFS=:) -+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 - echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } -- echo $f;; -+ # Do quote $f, to prevent DOS paths from being IFS'd. -+ echo "$f";; - *) # Relative -- if test -f "$f"; then -- # Build tree -- echo $f -- elif test -f "$srcdir/$f"; then -- # Source tree -- echo $srcdir/$f -- else -- # /dev/null tree -- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+ if test -f "$f"; then -+ # Build tree -+ echo "$f" -+ elif test -f "$srcdir/$f"; then -+ # Source tree -+ echo "$srcdir/$f" -+ else -+ # /dev/null tree -+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 - echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } -- fi;; -+ fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. -- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in -+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - - _ACEOF - -@@ -5900,9 +6476,9 @@ - s,[\\$`],\\&,g - t clear - : clear --s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp -+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp - t end --s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp - : end - _ACEOF - # If some macros were called several times there might be several times -@@ -5916,13 +6492,13 @@ - # example, in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - cat >>conftest.undefs <<\_ACEOF --s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, - _ACEOF - - # Break up conftest.defines because some shells have a limit on the size - # of here documents, and old seds have small limits too (100 cmds). - echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS --echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -+echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS - echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS - echo ' :' >>$CONFIG_STATUS - rm -f conftest.tail -@@ -5931,7 +6507,7 @@ - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. -- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS -+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS -@@ -5958,7 +6534,7 @@ - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' -- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS -+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS -@@ -5992,10 +6568,10 @@ - else - ac_dir=`(dirname "$ac_file") 2>/dev/null || - $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$ac_file" : 'X\(//\)[^/]' \| \ -- X"$ac_file" : 'X\(//\)$' \| \ -- X"$ac_file" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -6011,10 +6587,10 @@ - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || - $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -6034,13 +6610,29 @@ - cat $tmp/config.h - rm -f $tmp/config.h - fi -- # Run the commands associated with the file. -- case $ac_file in -- include/config.h ) # update the timestamp --echo 'timestamp for include/config.h' >"include/stamp-h1" -- ;; -+# Compute $ac_file's index in $config_headers. -+_am_stamp_count=1 -+for _am_header in $config_headers :; do -+ case $_am_header in -+ $ac_file | $ac_file:* ) -+ break ;; -+ * ) -+ _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac - done -+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || -+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X$ac_file : 'X\(//\)[^/]' \| \ -+ X$ac_file : 'X\(//\)$' \| \ -+ X$ac_file : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || -+echo X$ac_file | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+ /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+ /^X\(\/\/\)$/{ s//\1/; q; } -+ /^X\(\/\).*/{ s//\1/; q; } -+ s/.*/./; q'`/stamp-h$_am_stamp_count -+done - _ACEOF - cat >>$CONFIG_STATUS <<\_ACEOF - -@@ -6052,16 +6644,41 @@ - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_dir=`(dirname "$ac_dest") 2>/dev/null || - $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$ac_dest" : 'X\(//\)[^/]' \| \ -- X"$ac_dest" : 'X\(//\)$' \| \ -- X"$ac_dest" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$ac_dest" : 'X\(//\)[^/]' \| \ -+ X"$ac_dest" : 'X\(//\)$' \| \ -+ X"$ac_dest" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$ac_dest" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` -+ { if $as_mkdir_p; then -+ mkdir -p "$ac_dir" -+ else -+ as_dir="$ac_dir" -+ as_dirs= -+ while test ! -d "$as_dir"; do -+ as_dirs="$as_dir $as_dirs" -+ as_dir=`(dirname "$as_dir") 2>/dev/null || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || -+echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+ /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+ /^X\(\/\/\)$/{ s//\1/; q; } -+ /^X\(\/\).*/{ s//\1/; q; } -+ s/.*/./; q'` -+ done -+ test ! -n "$as_dirs" || mkdir $as_dirs -+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} -+ { (exit 1); exit 1; }; }; } -+ - ac_builddir=. - - if test "$ac_dir" != .; then -@@ -6087,12 +6704,45 @@ - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; - esac --# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be --# absolute. --ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` --ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` --ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` --ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` -+ -+# Do not use `cd foo && pwd` to compute absolute paths, because -+# the directories may not exist. -+case `pwd` in -+.) ac_abs_builddir="$ac_dir";; -+*) -+ case "$ac_dir" in -+ .) ac_abs_builddir=`pwd`;; -+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -+ *) ac_abs_builddir=`pwd`/"$ac_dir";; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_builddir=${ac_top_builddir}.;; -+*) -+ case ${ac_top_builddir}. in -+ .) ac_abs_top_builddir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_srcdir=$ac_srcdir;; -+*) -+ case $ac_srcdir in -+ .) ac_abs_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_srcdir=$ac_top_srcdir;; -+*) -+ case $ac_top_srcdir in -+ .) ac_abs_top_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -+ esac;; -+esac - - - { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 -@@ -6110,10 +6760,10 @@ - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`(dirname "$mf") 2>/dev/null || - $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$mf" : 'X\(//\)[^/]' \| \ -- X"$mf" : 'X\(//\)$' \| \ -- X"$mf" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$mf" : 'X\(//\)[^/]' \| \ -+ X"$mf" : 'X\(//\)$' \| \ -+ X"$mf" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -6123,36 +6773,30 @@ - else - continue - fi -- grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue -- # Extract the definition of DEP_FILES from the Makefile without -- # running `make'. -- DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it -- U=`sed -n -e '/^U = / s///p' < "$mf"` -- test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" -- # We invoke sed twice because it is the simplest approach to -- # changing $(DEPDIR) to its actual value in the expansion. -- for file in `sed -n -e ' -- /^DEP_FILES = .*\\\\$/ { -- s/^DEP_FILES = // -- :loop -- s/\\\\$// -- p -- n -- /\\\\$/ b loop -- p -- } -- /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`(dirname "$file") 2>/dev/null || - $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$file" : 'X\(//\)[^/]' \| \ -- X"$file" : 'X\(//\)$' \| \ -- X"$file" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$file" : 'X\(//\)[^/]' \| \ -+ X"$file" : 'X\(//\)$' \| \ -+ X"$file" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -6168,10 +6812,10 @@ - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || - $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } diff --git a/packages/libnet/libnet-1.1.2.1/fix-endianess-test.patch b/packages/libnet/libnet-1.1.2.1/fix-endianess-test.patch index e75ce6737a..6d93e04f68 100644 --- a/packages/libnet/libnet-1.1.2.1/fix-endianess-test.patch +++ b/packages/libnet/libnet-1.1.2.1/fix-endianess-test.patch @@ -34,93 +34,3 @@ Also remove the old test from aclocal.m4. AC_LBL_UNALIGNED_ACCESS dnl AC_LBL_LIBRARY_NET ---- libnet/aclocal.m4 2005/11/15 04:02:01 1.1 -+++ libnet/aclocal.m4 2005/11/15 04:03:43 -@@ -279,87 +279,6 @@ - - - dnl --dnl Checks endianess --dnl --dnl usage: --dnl --dnl AC_LIBNET_ENDIAN_CHECK --dnl --dnl results: --dnl --dnl LIBNET_BIG_ENDIAN = 1 or --dnl LIBNET_LIL_ENDIAN = 1 --dnl -- --AC_DEFUN(AC_LIBNET_ENDIAN_CHECK, -- [AC_MSG_CHECKING(machine endianess) -- -- cat > conftest.c << EOF --# include <stdio.h> --# include <stdlib.h> -- -- int main() -- { -- union -- { -- short s; -- char c[[sizeof(short)]]; -- } un; -- -- un.s = 0x0102; -- if (sizeof (short) == 2) -- { -- if (un.c [[0]] == 1 && un.c [[1]] == 2) -- { -- printf("B\n"); -- } -- else -- { -- if (un.c [[0]] == 2 && un.c [[1]] == 1) -- { -- printf("L\n"); -- } -- } -- } -- else -- { -- printf("?\n"); -- } -- return (EXIT_SUCCESS); -- } --EOF -- ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS > /dev/null 2>&1 -- # Oopz 4.3 BSD doesn't have this. Sorry. -- if test ! -x conftest ; then --dnl failed to compile for some reason -- ac_cv_libnet_endianess=unknown -- else -- ./conftest > conftest.out -- result=`cat conftest.out` -- if test $result = "B"; then -- ac_cv_libnet_endianess=big -- elif test $result = "L"; then -- ac_cv_libnet_endianess=lil -- else -- ac_cv_libnet_endianess=unknown -- fi -- fi -- rm -f conftest* core core.conftest -- -- AC_MSG_RESULT($ac_cv_libnet_endianess) -- -- if test $ac_cv_libnet_endianess = big ; then -- AC_DEFINE(LIBNET_BIG_ENDIAN) -- ENDIANESS="LIBNET_BIG_ENDIAN" -- LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN" -- elif test $ac_cv_libnet_endianess = lil ; then -- AC_DEFINE(LIBNET_LIL_ENDIAN) -- ENDIANESS="LIBNET_LIL_ENDIAN" -- LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN" -- fi -- ]) -- --dnl - dnl Improved version of AC_CHECK_LIB - dnl - dnl Thanks to John Hawkinson (jhawk@mit.edu) diff --git a/packages/libnet/libnet_1.1.2.1.bb b/packages/libnet/libnet_1.1.2.1.bb index c28b98a304..92457a8ff4 100644 --- a/packages/libnet/libnet_1.1.2.1.bb +++ b/packages/libnet/libnet_1.1.2.1.bb @@ -1,41 +1,38 @@ -SECTION = "libs" DESCRIPTION = "A packet dissection and creation library" HOMEPAGE = "http://www.packetfactory.net/libnet/" -LICENSE = "BSD" +SECTION = "libs" PRIORITY = "optional" +LICENSE = "BSD" DEPENDS = "libpcap" -PR = "r0" - # There are major API changes beween libnet v1.0 and libnet v1.1 PROVIDES = "libnet-1.1" +PR = "r1" SRC_URI = "http://www.packetfactory.net/libnet/dist/libnet-${PV}.tar.gz \ - file://support-uclibc.patch;patch=1 \ - file://fix-endianess-test.patch;patch=1 \ - file://configure.patch;patch=1" + file://support-uclibc.patch;patch=1 \ + file://fix-endianess-test.patch;patch=1" S = "${WORKDIR}/libnet" inherit autotools binconfig -CPPFLAGS_prepend = "-I${S}/libnet/include " - -do_configure() { - oe_runconf -} - -do_stage () { - oe_runmake -C src 'DESTDIR=${STAGING_LIBDIR}' 'libdir=' install-libLIBRARIES - oe_runmake -C include 'DESTDIR=${STAGING_INCDIR}' 'includedir=' install-includeHEADERS - oe_runmake -C include/libnet 'DESTDIR=${STAGING_INCDIR}' 'includedir=' install-libnetincludeHEADERS +do_configure_prepend() { + rm -f aclocal.m4 Makefile.am ltmain.sh } - do_install_append () { - install -d ${D}${datadir}/man/man3/ - install -d ${D}${bindir} - install -m 0644 ${S}/doc/man/man3/*.3 ${D}${datadir}/man/man3/ - install -m 0755 ${S}/libnet-config ${D}${bindir} + install -d ${D}${datadir}/man/man3/ + install -d ${D}${bindir} + install -m 0644 ${S}/doc/man/man3/*.3 ${D}${datadir}/man/man3/ + install -m 0755 ${S}/libnet-config ${D}${bindir} +} +do_stage () { + oe_runmake -C src 'DESTDIR=${STAGING_LIBDIR}' 'libdir=' install-libLIBRARIES + oe_runmake -C include 'DESTDIR=${STAGING_INCDIR}' 'includedir=' install-includeHEADERS + oe_runmake -C include/libnet 'DESTDIR=${STAGING_INCDIR}' 'includedir=' install-libnetincludeHEADERS } PACKAGES = "${PN}-dev ${PN}-doc" + FILES_${PN}-dev += "${bindir}/libnet-config" + +CPPFLAGS_prepend = "-I${S}/libnet/include " diff --git a/packages/libpcre/libpcre_4.4.bb b/packages/libpcre/libpcre_4.4.bb index 941888577b..7b841d0cfc 100644 --- a/packages/libpcre/libpcre_4.4.bb +++ b/packages/libpcre/libpcre_4.4.bb @@ -10,6 +10,8 @@ LICENSE = "BSD" SRC_URI = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${PV}.tar.bz2" S = "${WORKDIR}/pcre-${PV}" +PROVIDES = "pcre" + inherit autotools binconfig PARALLEL_MAKE = "" diff --git a/packages/libw100/.mtn2git_empty b/packages/libw100/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/libw100/.mtn2git_empty diff --git a/packages/libw100/libw100_svn.bb b/packages/libw100/libw100_svn.bb new file mode 100644 index 0000000000..4e6a45b29c --- /dev/null +++ b/packages/libw100/libw100_svn.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Acceleration library for ATI imageon chipsets (w100 and w3220)" +LICENSE = "GPLv2" + +PV = "0.0.2+svn${SRCDATE}" +SRC_URI = "svn://svn.sourceforge.net/svnroot/libw100;module=trunk;proto=https" + +S = "${WORKDIR}/trunk" + +inherit autotools pkgconfig + +do_stage() { + autotools_stage_all +} + diff --git a/packages/linux/linux-handhelds-2.6_2.6.17-hh3.bb b/packages/linux/linux-handhelds-2.6_2.6.17-hh3.bb new file mode 100644 index 0000000000..b34d4630a0 --- /dev/null +++ b/packages/linux/linux-handhelds-2.6_2.6.17-hh3.bb @@ -0,0 +1,11 @@ +SECTION = "kernel" +DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices." +LICENSE = "GPL" +PR = "r0" + +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \ + file://defconfig" + +require linux-handhelds-2.6.inc diff --git a/packages/linux/linux-handhelds-2.6_cvs.bb b/packages/linux/linux-handhelds-2.6_cvs.bb index cd4ab10dd1..107b014e60 100644 --- a/packages/linux/linux-handhelds-2.6_cvs.bb +++ b/packages/linux/linux-handhelds-2.6_cvs.bb @@ -6,8 +6,8 @@ PR = "r5" K_MAJOR = "2" K_MINOR = "6" -K_MICRO = "17" -HHV = "2" +K_MICRO = "18" +HHV = "0" SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26 \ file://24-hostap_cs_id.diff;patch=1;maxdate=20061104 \ diff --git a/packages/linux/linux-openzaurus-2.6.18+git/sharpsl-pm-postresume-r1.patch b/packages/linux/linux-openzaurus-2.6.18+git/sharpsl-pm-postresume-r1.patch new file mode 100644 index 0000000000..409daf03e6 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/sharpsl-pm-postresume-r1.patch @@ -0,0 +1,30 @@ + arch/arm/common/sharpsl_pm.c | 3 +++ + include/asm-arm/hardware/sharpsl_pm.h | 1 + + 2 files changed, 4 insertions(+) + +Index: git/include/asm-arm/hardware/sharpsl_pm.h +=================================================================== +--- git.orig/include/asm-arm/hardware/sharpsl_pm.h 2006-10-31 16:09:33.000000000 +0000 ++++ git/include/asm-arm/hardware/sharpsl_pm.h 2006-11-07 22:08:41.000000000 +0000 +@@ -26,6 +26,7 @@ struct sharpsl_charger_machinfo { + void (*presuspend)(void); + void (*postsuspend)(void); + void (*earlyresume)(void); ++ void (*postresume)(void); + unsigned long (*read_devdata)(int); + #define SHARPSL_BATT_VOLT 1 + #define SHARPSL_BATT_TEMP 2 +Index: git/arch/arm/common/sharpsl_pm.c +=================================================================== +--- git.orig/arch/arm/common/sharpsl_pm.c 2006-11-07 22:03:48.000000000 +0000 ++++ git/arch/arm/common/sharpsl_pm.c 2006-11-07 22:04:20.000000000 +0000 +@@ -584,6 +584,9 @@ static int corgi_pxa_pm_enter(suspend_st + if (sharpsl_pm.machinfo->earlyresume) + sharpsl_pm.machinfo->earlyresume(); + ++ if (sharpsl_pm.machinfo->postresume) ++ sharpsl_pm.machinfo->postresume(); ++ + dev_dbg(sharpsl_pm.dev, "SharpSL resuming...\n"); + + return 0; diff --git a/packages/linux/linux-openzaurus-2.6.18+git/tmio-nand-r7.patch b/packages/linux/linux-openzaurus-2.6.18+git/tmio-nand-r7.patch new file mode 100644 index 0000000000..b6ce56eea4 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/tmio-nand-r7.patch @@ -0,0 +1,593 @@ + drivers/mtd/nand/Kconfig | 7 + drivers/mtd/nand/Makefile | 1 + drivers/mtd/nand/tmio.c | 554 ++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 562 insertions(+) + +Index: git/drivers/mtd/nand/tmio.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/drivers/mtd/nand/tmio.c 2006-11-07 23:31:12.000000000 +0000 +@@ -0,0 +1,554 @@ ++/* ++ * A device driver for NAND flash connected to a Toshiba Mobile IO ++ * controller. This is known to work with the following variants: ++ * TC6393XB revision 3 ++ * ++ * Maintainer: Chris Humbert <mahadri+mtd@drigon.com> ++ * ++ * Copyright (C) 2005 Chris Humbert ++ * Copyright (C) 2005 Dirk Opfer ++ * Copyright (C) 2004 SHARP ++ * Copyright (C) 2002 Lineo Japan, Inc. ++ * Copyright (C) Ian Molton and Sebastian Carlier ++ * ++ * Based on Sharp's NAND driver, sharp_sl_tc6393.c ++ * ++ * 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. ++ */ ++ ++#include <linux/module.h> ++#include <linux/types.h> ++#include <linux/delay.h> ++#include <linux/wait.h> ++#include <linux/ioport.h> ++#include <linux/mtd/mtd.h> ++#include <linux/mtd/nand.h> ++#include <linux/mtd/nand_ecc.h> ++#include <linux/mtd/partitions.h> ++#include <asm/io.h> ++#include <asm/hardware/tmio.h> ++ ++#include <linux/interrupt.h> ++ ++#define mtd_printk(level, mtd, format, arg...) \ ++ printk (level "%s: " format, mtd->name, ## arg) ++#define mtd_warn(mtd, format, arg...) \ ++ mtd_printk (KERN_WARNING, mtd, format, ## arg) ++ ++/*--------------------------------------------------------------------------*/ ++ ++/* tmio_nfcr.mode Register Command List */ ++#define FCR_MODE_DATA 0x94 // Data Data_Mode ++#define FCR_MODE_COMMAND 0x95 // Data Command_Mode ++#define FCR_MODE_ADDRESS 0x96 // Data Address_Mode ++ ++#define FCR_MODE_HWECC_CALC 0xB4 // HW-ECC Data ++#define FCR_MODE_HWECC_RESULT 0xD4 // HW-ECC Calculation Result Read_Mode ++#define FCR_MODE_HWECC_RESET 0xF4 // HW-ECC Reset ++ ++#define FCR_MODE_POWER_ON 0x0C // Power Supply ON to SSFDC card ++#define FCR_MODE_POWER_OFF 0x08 // Power Supply OFF to SSFDC card ++ ++#define FCR_MODE_LED_OFF 0x00 // LED OFF ++#define FCR_MODE_LED_ON 0x04 // LED ON ++ ++#define FCR_MODE_EJECT_ON 0x68 // Ejection Demand from Penguin is Advanced ++#define FCR_MODE_EJECT_OFF 0x08 // Ejection Demand from Penguin is Not Advanced ++ ++#define FCR_MODE_LOCK 0x6C // Operates By Lock_Mode. Ejection Switch is Invalid ++#define FCR_MODE_UNLOCK 0x0C // Operates By UnLock_Mode.Ejection Switch is Effective ++ ++#define FCR_MODE_CONTROLLER_ID 0x40 // Controller ID Read ++#define FCR_MODE_STANDBY 0x00 // SSFDC card Changes Standby State ++ ++#define FCR_MODE_WE 0x80 ++#define FCR_MODE_ECC1 0x40 ++#define FCR_MODE_ECC0 0x20 ++#define FCR_MODE_CE 0x10 ++#define FCR_MODE_PCNT1 0x08 ++#define FCR_MODE_PCNT0 0x04 ++#define FCR_MODE_ALE 0x02 ++#define FCR_MODE_CLE 0x01 ++ ++#define FCR_STATUS_BUSY 0x80 ++ ++/* ++ * NAND Flash Host Controller Configuration Register ++ */ ++struct tmio_nfhccr { ++ u8 x00[4]; ++ u16 command; /* 0x04 Command */ ++ u8 x01[0x0a]; ++ u16 base[2]; /* 0x10 NAND Flash Control Reg Base Addr*/ ++ u8 x02[0x29]; ++ u8 intp; /* 0x3d Interrupt Pin */ ++ u8 x03[0x0a]; ++ u8 inte; /* 0x48 Interrupt Enable */ ++ u8 x04; ++ u8 ec; /* 0x4a Event Control */ ++ u8 x05; ++ u8 icc; /* 0x4c Internal Clock Control */ ++ u8 x06[0x0e]; ++ u8 eccc; /* 0x5b ECC Control */ ++ u8 x07[4]; ++ u8 nftc; /* 0x60 NAND Flash Transaction Control */ ++ u8 nfm; /* 0x61 NAND Flash Monitor */ ++ u8 nfpsc; /* 0x62 NAND Flash Power Supply Control */ ++ u8 nfdc; /* 0x63 NAND Flash Detect Control */ ++ u8 x08[0x9c]; ++} __attribute__ ((packed)); ++ ++/* ++ * NAND Flash Control Register ++ */ ++struct tmio_nfcr { ++union { ++ u8 u8; /* 0x00 Data Register */ ++ u16 u16; ++ u32 u32; ++} __attribute__ ((packed)); ++ u8 mode; /* 0x04 Mode Register */ ++ u8 status; /* 0x05 Status Register */ ++ u8 isr; /* 0x06 Interrupt Status Register */ ++ u8 imr; /* 0x07 Interrupt Mask Register */ ++} __attribute__ ((packed)); ++ ++struct tmio_nand { ++ struct mtd_info mtd; ++ struct nand_chip chip; ++ ++ struct tmio_nfhccr __iomem * ccr; ++ struct tmio_nfcr __iomem * fcr; ++ ++ unsigned int irq; ++ ++ /* for tmio_nand_read_byte */ ++ u8 read; ++ unsigned read_good:1; ++}; ++ ++#define mtd_to_tmio(m) container_of(m, struct tmio_nand, mtd) ++ ++/*--------------------------------------------------------------------------*/ ++ ++static void tmio_nand_hwcontrol(struct mtd_info *mtd, int cmd, ++ unsigned int ctrl) ++{ ++ struct tmio_nand *tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem *fcr = tmio->fcr; ++ struct nand_chip *chip = mtd->priv; ++ ++ if (ctrl & NAND_CTRL_CHANGE) { ++ u8 mode; ++ ++ if (ctrl & NAND_NCE) { ++ mode = FCR_MODE_DATA; ++ ++ if (ctrl & NAND_CLE) ++ mode |= FCR_MODE_CLE; ++ else ++ mode &= ~FCR_MODE_CLE; ++ ++ if (ctrl & NAND_ALE) ++ mode |= FCR_MODE_ALE; ++ else ++ mode &= ~FCR_MODE_ALE; ++ } else { ++ mode = FCR_MODE_STANDBY; ++ } ++ ++ iowrite8 (mode, &fcr->mode); ++ tmio->read_good = 0; ++ } ++ ++ if (cmd != NAND_CMD_NONE) ++ writeb(cmd, chip->IO_ADDR_W); ++} ++ ++static int tmio_nand_dev_ready (struct mtd_info* mtd) ++{ ++ struct tmio_nand* tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ ++ return !(ioread8 (&fcr->status) & FCR_STATUS_BUSY); ++} ++ ++static irqreturn_t tmio_irq (int irq, void *__tmio) ++{ ++ struct tmio_nand* tmio = __tmio; ++ struct nand_chip* this = &tmio->chip; ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ ++ /* disable RDYREQ interrupt */ ++ iowrite8 (0x00, &fcr->imr); ++ ++ if (unlikely (!waitqueue_active (&this->controller->wq))) ++ printk (KERN_WARNING TMIO_NAME_NAND ": spurious interrupt\n"); ++ ++ wake_up (&this->controller->wq); ++ return IRQ_HANDLED; ++} ++ ++/* ++ * The TMIO core has a RDYREQ interrupt on the posedge of #SMRB. ++ * This interrupt is normally disabled, but for long operations like ++ * erase and write, we enable it to wake us up. The irq handler ++ * disables the interrupt. ++ */ ++static int ++tmio_nand_wait (struct mtd_info *mtd, struct nand_chip *this) ++{ ++ struct tmio_nand* tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ long timeout; ++ ++ /* enable RDYREQ interrupt */ ++ iowrite8 (0x0f, &fcr->isr); ++ iowrite8 (0x81, &fcr->imr); ++ ++ timeout = wait_event_timeout (this->controller->wq, tmio_nand_dev_ready (mtd), ++ msecs_to_jiffies (this->state == FL_ERASING ? 400 : 20)); ++ ++ if (unlikely (!tmio_nand_dev_ready (mtd))) { ++ iowrite8 (0x00, &fcr->imr); ++ mtd_warn (mtd, "still busy with %s after %d ms\n", ++ this->state == FL_ERASING ? "erase" : "program", ++ this->state == FL_ERASING ? 400 : 20); ++ ++ } else if (unlikely (!timeout)) { ++ iowrite8 (0x00, &fcr->imr); ++ mtd_warn (mtd, "timeout waiting for interrupt\n"); ++ } ++ ++ this->cmdfunc (mtd, NAND_CMD_STATUS, -1, -1); ++ return this->read_byte (mtd); ++} ++ ++/* ++ * The TMIO controller combines two 8-bit data bytes into one 16-bit ++ * word. This function separates them so nand_base.c works as expected, ++ * especially its NAND_CMD_READID routines. ++ * ++ * To prevent stale data from being read, tmio_nand_hwcontrol() clears ++ * tmio->read_good. ++ */ ++static u_char tmio_nand_read_byte (struct mtd_info *mtd) ++{ ++ struct tmio_nand* tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ unsigned int data; ++ ++ if (tmio->read_good--) ++ return tmio->read; ++ ++ data = ioread16 (&fcr->u16); ++ tmio->read = data >> 8; ++ return data; ++} ++ ++/* ++ * The TMIO controller converts an 8-bit NAND interface to a 16-bit ++ * bus interface, so all data reads and writes must be 16-bit wide. ++ * Thus, we implement 16-bit versions of the read, write, and verify ++ * buffer functions. ++ */ ++static void ++tmio_nand_write_buf (struct mtd_info *mtd, const u_char *buf, int len) ++{ ++ struct tmio_nand* tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ ++ iowrite16_rep (&fcr->u16, buf, len >> 1); ++} ++ ++static void tmio_nand_read_buf (struct mtd_info *mtd, u_char *buf, int len) ++{ ++ struct tmio_nand* tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ ++ ioread16_rep (&fcr->u16, buf, len >> 1); ++} ++ ++static int ++tmio_nand_verify_buf (struct mtd_info *mtd, const u_char *buf, int len) ++{ ++ struct tmio_nand* tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ u16* p = (u16*) buf; ++ ++ for (len >>= 1; len; len--) ++ if (*(p++) != ioread16 (&fcr->u16)) ++ return -EFAULT; ++ return 0; ++} ++ ++static void tmio_nand_enable_hwecc (struct mtd_info* mtd, int mode) ++{ ++ struct tmio_nand* tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ ++ iowrite8 (FCR_MODE_HWECC_RESET, &fcr->mode); ++ ioread8 (&fcr->u8); /* dummy read */ ++ iowrite8 (FCR_MODE_HWECC_CALC, &fcr->mode); ++} ++ ++static int tmio_nand_calculate_ecc (struct mtd_info* mtd, const u_char* dat, ++ u_char* ecc_code) ++{ ++ struct tmio_nand* tmio = mtd_to_tmio (mtd); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ unsigned int ecc; ++ ++ iowrite8 (FCR_MODE_HWECC_RESULT, &fcr->mode); ++ ++ ecc = ioread16 (&fcr->u16); ++ ecc_code[1] = ecc; // 000-255 LP7-0 ++ ecc_code[0] = ecc >> 8; // 000-255 LP15-8 ++ ecc = ioread16 (&fcr->u16); ++ ecc_code[2] = ecc; // 000-255 CP5-0,11b ++ ecc_code[4] = ecc >> 8; // 256-511 LP7-0 ++ ecc = ioread16 (&fcr->u16); ++ ecc_code[3] = ecc; // 256-511 LP15-8 ++ ecc_code[5] = ecc >> 8; // 256-511 CP5-0,11b ++ ++ iowrite8 (FCR_MODE_DATA, &fcr->mode); ++ return 0; ++} ++ ++static void tmio_hw_init (struct device *dev, struct tmio_nand *tmio) ++{ ++ struct resource* nfcr = tmio_resource_control (dev); ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ struct tmio_nfhccr __iomem * ccr = tmio->ccr; ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ unsigned long base; ++ ++ /* (89h) SMD Buffer ON By TC6393XB SystemConfig gpibfc1 */ ++ tdev->ops->clock (dev, 1); ++ tdev->ops->function (dev, 1); ++ ++ /* (4Ch) CLKRUN Enable 1st spcrunc */ ++ iowrite8 (0x81, &ccr->icc); ++ ++ /* (10h)BaseAddress 0x1000 spba.spba2 */ ++ base = nfcr->start - tdev->iomem->start; ++ iowrite16 (base, ccr->base + 0); ++ iowrite16 (base >> 16, ccr->base + 1); ++ ++ /* (04h)Command Register I/O spcmd */ ++ iowrite8 (0x02, &ccr->command); ++ ++ /* (62h) Power Supply Control ssmpwc */ ++ /* HardPowerOFF - SuspendOFF - PowerSupplyWait_4MS */ ++ iowrite8 (0x02, &ccr->nfpsc); ++ ++ /* (63h) Detect Control ssmdtc */ ++ iowrite8 (0x02, &ccr->nfdc); ++ ++ /* Interrupt status register clear sintst */ ++ iowrite8 (0x0f, &fcr->isr); ++ ++ /* After power supply, Media are reset smode */ ++ iowrite8 (FCR_MODE_POWER_ON, &fcr->mode); ++ iowrite8 (FCR_MODE_COMMAND, &fcr->mode); ++ iowrite8 (NAND_CMD_RESET, &fcr->u8); ++ ++ /* Standby Mode smode */ ++ iowrite8 (FCR_MODE_STANDBY, &fcr->mode); ++ ++ mdelay (5); ++} ++ ++static void tmio_hw_stop (struct device *dev, struct tmio_nand *tmio) ++{ ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ struct tmio_nfcr __iomem * fcr = tmio->fcr; ++ ++ iowrite8 (FCR_MODE_POWER_OFF, &fcr->mode); ++ tdev->ops->function (dev, 0); ++ tdev->ops->clock (dev, 0); ++} ++ ++/*--------------------------------------------------------------------------*/ ++ ++#ifdef CONFIG_MTD_PARTITIONS ++static const char *part_probes[] = { "cmdlinepart", NULL }; ++#endif ++ ++static int tmio_probe (struct device *dev) ++{ ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ struct tmio_nand_platform_data* tnpd = dev->platform_data; ++ struct resource* ccr = tmio_resource_config (dev); ++ struct resource* fcr = tmio_resource_control (dev); ++ struct resource* irq = tmio_resource_irq (dev); ++ struct tmio_nand* tmio; ++ struct mtd_info* mtd; ++ struct nand_chip* this; ++ struct mtd_partition* parts; ++ int nbparts = 0; ++ int retval; ++ ++ if (!tnpd) ++ return -EINVAL; ++ ++ retval = request_resource (tdev->iomem, ccr); ++ if (retval) ++ goto err_request_ccr; ++ ++ retval = request_resource (tdev->iomem, fcr); ++ if (retval) ++ goto err_request_fcr; ++ ++ tmio = kzalloc (sizeof *tmio, GFP_KERNEL); ++ if (!tmio) { ++ retval = -ENOMEM; ++ goto err_kzalloc; ++ } ++ ++ dev_set_drvdata (dev, tmio); ++ mtd = &tmio->mtd; ++ this = &tmio->chip; ++ mtd->priv = this; ++ mtd->name = TMIO_NAME_NAND; ++ ++ tmio->ccr = ioremap (ccr->start, ccr->end - ccr->start + 1); ++ if (!tmio->ccr) { ++ retval = -EIO; ++ goto err_iomap_ccr; ++ } ++ ++ tmio->fcr = ioremap (fcr->start, fcr->end - fcr->start + 1); ++ if (!tmio->fcr) { ++ retval = -EIO; ++ goto err_iomap_fcr; ++ } ++ ++ tmio_hw_init (dev, tmio); ++ ++ /* Set address of NAND IO lines */ ++ this->IO_ADDR_R = tmio->fcr; ++ this->IO_ADDR_W = tmio->fcr; ++ ++ /* Set address of hardware control function */ ++ this->cmd_ctrl = tmio_nand_hwcontrol; ++ this->dev_ready = tmio_nand_dev_ready; ++ this->read_byte = tmio_nand_read_byte; ++ this->write_buf = tmio_nand_write_buf; ++ this->read_buf = tmio_nand_read_buf; ++ this->verify_buf = tmio_nand_verify_buf; ++ ++ /* set eccmode using hardware ECC */ ++ this->ecc.mode = NAND_ECC_HW; ++ this->ecc.size = 512; ++ this->ecc.bytes = 6; ++ this->ecc.hwctl = tmio_nand_enable_hwecc; ++ this->ecc.calculate = tmio_nand_calculate_ecc; ++ this->ecc.correct = nand_correct_data; ++ this->badblock_pattern = tnpd->badblock_pattern; ++ ++ /* 15 us command delay time */ ++ this->chip_delay = 15; ++ ++ if (irq->start) { ++ retval = request_irq (irq->start, &tmio_irq, ++ SA_INTERRUPT, irq->name, tmio); ++ if (!retval) { ++ tmio->irq = irq->start; ++ this->waitfunc = tmio_nand_wait; ++ } else ++ mtd_warn (mtd, "request_irq error %d\n", retval); ++ } ++ ++ /* Scan to find existence of the device */ ++ if (nand_scan (mtd, 1)) { ++ retval = -ENODEV; ++ goto err_scan; ++ } ++ ++ /* Register the partitions */ ++#ifdef CONFIG_MTD_PARTITIONS ++ nbparts = parse_mtd_partitions (mtd, part_probes, &parts, 0); ++#endif ++ if (nbparts <= 0) { ++ parts = tnpd->partition; ++ nbparts = tnpd->num_partitions; ++ } ++ ++ add_mtd_partitions (mtd, parts, nbparts); ++ return 0; ++ ++err_scan: ++ if (tmio->irq) ++ free_irq (tmio->irq, tmio); ++ tmio_hw_stop (dev, tmio); ++ iounmap (tmio->fcr); ++err_iomap_fcr: ++ iounmap (tmio->ccr); ++err_iomap_ccr: ++ kfree (tmio); ++err_kzalloc: ++ release_resource (fcr); ++err_request_fcr: ++ release_resource (ccr); ++err_request_ccr: ++ return retval; ++} ++ ++static int tmio_remove (struct device *dev) ++{ ++ struct tmio_nand* tmio = dev_get_drvdata (dev); ++ ++ nand_release (&tmio->mtd); ++ if (tmio->irq) ++ free_irq (tmio->irq, tmio); ++ tmio_hw_stop (dev, tmio); ++ iounmap (tmio->fcr); ++ iounmap (tmio->ccr); ++ kfree (tmio); ++ release_resource (tmio_resource_control (dev)); ++ release_resource (tmio_resource_config (dev)); ++ return 0; ++} ++ ++#ifdef CONFIG_PM ++static int tmio_suspend (struct device *dev, pm_message_t state) ++{ ++ tmio_hw_stop (dev, dev_get_drvdata (dev)); ++ return 0; ++} ++ ++static int tmio_resume (struct device *dev) ++{ ++ tmio_hw_init (dev, dev_get_drvdata (dev)); ++ return 0; ++} ++#endif ++ ++static struct device_driver tmio_driver = { ++ .name = TMIO_NAME_NAND, ++ .bus = &tmio_bus_type, ++ .probe = tmio_probe, ++ .remove = tmio_remove, ++#ifdef CONFIG_PM ++ .suspend = tmio_suspend, ++ .resume = tmio_resume, ++#endif ++}; ++ ++static int __init tmio_init (void) { ++ return driver_register (&tmio_driver); ++} ++ ++static void __exit tmio_exit (void) { ++ driver_unregister (&tmio_driver); ++} ++ ++module_init (tmio_init); ++module_exit (tmio_exit); ++ ++MODULE_LICENSE ("GPL"); ++MODULE_AUTHOR ("Dirk Opfer, Chris Humbert"); ++MODULE_DESCRIPTION ("NAND flash driver on Toshiba Mobile IO controller"); +Index: git/drivers/mtd/nand/Kconfig +=================================================================== +--- git.orig/drivers/mtd/nand/Kconfig 2006-10-31 16:09:03.000000000 +0000 ++++ git/drivers/mtd/nand/Kconfig 2006-11-07 22:13:09.000000000 +0000 +@@ -63,6 +63,13 @@ config MTD_NAND_AMS_DELTA + help + Support for NAND flash on Amstrad E3 (Delta). + ++config MTD_NAND_TMIO ++ tristate "NAND Flash device on Toshiba Mobile IO Controller" ++ depends on MTD_NAND && TOSHIBA_TC6393XB ++ help ++ Support for NAND flash connected to a Toshiba Mobile IO ++ Controller in some PDAs, including the Sharp SL6000x. ++ + config MTD_NAND_TOTO + tristate "NAND Flash device on TOTO board" + depends on ARCH_OMAP && MTD_NAND && BROKEN +Index: git/drivers/mtd/nand/Makefile +=================================================================== +--- git.orig/drivers/mtd/nand/Makefile 2006-10-31 16:09:03.000000000 +0000 ++++ git/drivers/mtd/nand/Makefile 2006-11-07 22:13:09.000000000 +0000 +@@ -22,5 +22,6 @@ obj-$(CONFIG_MTD_NAND_TS7250) += ts7250 + obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o + obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o + obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o ++obj-$(CONFIG_MTD_NAND_TMIO) += tmio.o + + nand-objs = nand_base.o nand_bbt.o diff --git a/packages/linux/linux-openzaurus-2.6.18+git/tmio-ohci-r6.patch b/packages/linux/linux-openzaurus-2.6.18+git/tmio-ohci-r6.patch new file mode 100644 index 0000000000..9fdd2962c9 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/tmio-ohci-r6.patch @@ -0,0 +1,929 @@ + + drivers/usb/host/Kconfig | 1 + drivers/usb/host/ohci-hcd.c | 1 + drivers/usb/host/ohci-tmio.c | 894 +++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 896 insertions(+) + +Index: git/drivers/usb/host/ohci-tmio.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/drivers/usb/host/ohci-tmio.c 2006-11-07 21:48:33.000000000 +0000 +@@ -0,0 +1,894 @@ ++/* ++ * OHCI HCD (Host Controller Driver) for USB. ++ * ++ * (C) Copyright 1999 Roman Weissgaerber <weissg@vienna.at> ++ * (C) Copyright 2000-2002 David Brownell <dbrownell@users.sourceforge.net> ++ * (C) Copyright 2002 Hewlett-Packard Company ++ * ++ * Bus glue for Toshiba Mobile IO (TMIO) Controller's OHCI core ++ * (C) Copyright 2005 Chris Humbert <mahadri-usb@drigon.com> ++ * ++ * This is known to work with the following variants: ++ * TC6393XB revision 3 (32kB SRAM) ++ * ++ * The TMIO's OHCI core DMAs through a small internal buffer that ++ * is directly addressable by the CPU. dma_declare_coherent_memory ++ * and DMA bounce buffers allow the higher-level OHCI host driver to ++ * work. However, the dma API doesn't handle dma mapping failures ++ * well (dma_sg_map() is a prime example), so it is unusable. ++ * ++ * This HC pretends be a PIO-ish controller and uses the kernel's ++ * generic allocator for the entire SRAM. Using the USB core's ++ * usb_operations, we provide hcd_buffer_alloc/free. Using the OHCI's ++ * ohci_ops, we provide memory management for OHCI's TDs and EDs. We ++ * internally queue a URB's TDs until enough dma memory is available ++ * to enqueue them with the HC. ++ * ++ * Written from sparse documentation from Toshiba and Sharp's driver ++ * for the 2.4 kernel, ++ * usb-ohci-tc6393.c (C) Copyright 2004 Lineo Solutions, Inc. ++ * ++ * 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. ++ */ ++ ++#include <linux/fs.h> ++#include <linux/mount.h> ++#include <linux/pagemap.h> ++#include <linux/init.h> ++#include <linux/namei.h> ++#include <linux/sched.h> ++ ++#include <linux/genalloc.h> ++#include <asm/dma-mapping.h> /* for consistent_sync() */ ++#include <asm/hardware/tmio.h> ++ ++/*-------------------------------------------------------------------------*/ ++ ++/* ++ * USB Host Controller Configuration Register ++ */ ++struct tmio_uhccr { ++ u8 x00[8]; ++ u8 revid; /* 0x08 Revision ID */ ++ u8 x01[7]; ++ u16 basel; /* 0x10 USB Control Register Base Address Low */ ++ u16 baseh; /* 0x12 USB Control Register Base Address High */ ++ u8 x02[0x2c]; ++ u8 ilme; /* 0x40 Internal Local Memory Enable */ ++ u8 x03[0x0b]; ++ u16 pm; /* 0x4c Power Management */ ++ u8 x04[2]; ++ u8 intc; /* 0x50 INT Control */ ++ u8 x05[3]; ++ u16 lmw1l; /* 0x54 Local Memory Window 1 LMADRS Low */ ++ u16 lmw1h; /* 0x56 Local Memory Window 1 LMADRS High */ ++ u16 lmw1bl; /* 0x58 Local Memory Window 1 Base Address Low */ ++ u16 lmw1bh; /* 0x5A Local Memory Window 1 Base Address High */ ++ u16 lmw2l; /* 0x5C Local Memory Window 2 LMADRS Low */ ++ u16 lmw2h; /* 0x5E Local Memory Window 2 LMADRS High */ ++ u16 lmw2bl; /* 0x60 Local Memory Window 2 Base Address Low */ ++ u16 lmw2bh; /* 0x62 Local Memory Window 2 Base Address High */ ++ u8 x06[0x98]; ++ u8 misc; /* 0xFC MISC */ ++ u8 x07[3]; ++} __attribute__ ((packed)); ++ ++union tmio_uhccr_pm { ++ u16 raw; ++struct { ++ unsigned gcken:1; /* D0 */ ++ unsigned ckrnen:1; /* D1 */ ++ unsigned uspw1:1; /* D2 USB Port 1 Power Disable */ ++ unsigned uspw2:1; /* D3 USB Port 2 Power Disable */ ++ unsigned x00:4; ++ unsigned pmee:1; /* D8 */ ++ unsigned x01:6; ++ unsigned pmes:1; /* D15 */ ++} __attribute__ ((packed)); ++} __attribute__ ((packed)); ++ ++/*-------------------------------------------------------------------------*/ ++ ++struct tmio_dma_pool { ++ struct device* dev; ++ unsigned int size; ++}; ++ ++struct tmio_hcd { ++ struct gen_pool* poolp; ++ struct usb_operations ops; ++ struct tmio_dma_pool td_pool; ++ struct tmio_dma_pool ed_pool; ++ ++ struct tmio_uhccr __iomem *ccr; ++ void __iomem * sram; ++ size_t sram_len; ++}; ++ ++#define hcd_to_tmio(hcd) ((struct tmio_hcd*)(hcd_to_ohci (hcd) + 1)) ++ ++struct tmio_td { ++ void* data; /* td's data buffer */ ++ void __iomem * bounce; /* dma bounce buffer */ ++ dma_addr_t dma; /* bounce buffer dma address */ ++ size_t len; /* bounce buffer length */ ++ u32 info; /* parameter for td_fill */ ++}; ++ ++struct tmio_urb { ++ int td_add; /* next index to be added */ ++ int td_queue; /* next index to be HC enqueued */ ++ ++ struct tmio_td td [0]; /* private td data */ ++}; ++ ++static inline struct tmio_urb *urb_to_turb (struct urb *urb) ++{ ++ urb_priv_t* urb_priv = urb->hcpriv; ++ return (struct tmio_urb*)(urb_priv->td + urb_priv->length); ++} ++ ++/*-------------------------------------------------------------------------*/ ++ ++/* gen_pool_alloc page allocator callback */ ++static unsigned long tmio_pool_callback(struct gen_pool *poolp) ++{ ++ return 0; ++} ++ ++static inline void tmio_pool_destroy(struct tmio_hcd *tmio) ++{ ++ struct gen_pool *poolp = tmio->poolp; ++ ++ if (!poolp) ++ return; ++ if (poolp->h) ++ kfree(poolp->h); ++ kfree(poolp); ++ tmio->poolp = NULL; ++} ++ ++/*-------------------------------------------------------------------------*/ ++ ++#define BOUNDED_XYL(x,y,ylen) (((y) <= (x)) && ((x) < ((y)+(ylen)))) ++#define BOUNDED_XYY(x,y1,y2) (((y1) <= (x)) && ((x) < (y2))) ++ ++static inline dma_addr_t tmio_virt_to_dma (struct usb_hcd *hcd, void *vaddr) ++{ ++ struct resource* sram = tmio_resource_mem (hcd->self.controller); ++ struct tmio_hcd* tmio = hcd_to_tmio (hcd); ++ ++ return BOUNDED_XYL (vaddr, tmio->sram, tmio->sram_len) ++ ? sram->start + (vaddr - tmio->sram) ++ : ~0; ++} ++ ++static inline void* tmio_dma_to_virt (struct usb_hcd *hcd, dma_addr_t handle) ++{ ++ struct resource* sram = tmio_resource_mem (hcd->self.controller); ++ struct tmio_hcd* tmio = hcd_to_tmio (hcd); ++ ++ return BOUNDED_XYY (handle, sram->start, sram->end + 1) ++ ? tmio->sram + handle - sram->start ++ : NULL; ++} ++ ++/* ++ * allocate dma-able memory in the device's internal sram ++ * ++ * The generic pool allocator's minimum chunk size is 32 bytes, ++ * which is the cache line size on the PXA255, so we don't need ++ * to do anything special for smaller requests. ++ */ ++static inline void *tmio_dma_alloc (struct device *dev, size_t size, ++ dma_addr_t *handle, gfp_t mem_flags) ++{ ++ struct usb_hcd* hcd = dev_get_drvdata (dev); ++ struct tmio_hcd* tmio = hcd_to_tmio (hcd); ++ void* virt = (void*) gen_pool_alloc (tmio->poolp, size); ++ ++ return (*handle = tmio_virt_to_dma (hcd, virt)) == ~0 ? NULL : virt; ++} ++ ++static inline void tmio_dma_free (struct device *dev, size_t size, ++ void *cpu_addr, dma_addr_t handle) ++{ ++ struct usb_hcd* hcd = dev_get_drvdata (dev); ++ struct tmio_hcd* tmio = hcd_to_tmio (hcd); ++ dma_addr_t dma = tmio_virt_to_dma (hcd, cpu_addr); ++ ++ if (unlikely (dma == ~0)) { ++ dev_err (dev, "trying to free bad address 0x%p\n", cpu_addr); ++ return; ++ } ++ ++ if (unlikely (handle != dma)) ++ dev_err (dev, "dma address mismatch for 0x%p: %08x != %08x\n", ++ cpu_addr, handle, dma); ++ ++ gen_pool_free (tmio->poolp, (unsigned long) cpu_addr, size); ++} ++ ++/*-------------------------------------------------------------------------*/ ++ ++static void *tmio_dma_pool_alloc(struct dma_pool *pool, gfp_t mem_flags, ++ dma_addr_t *handle) ++{ ++ struct tmio_dma_pool *tdp = (struct tmio_dma_pool*) pool; ++ return tmio_dma_alloc (tdp->dev, tdp->size, handle, mem_flags); ++} ++ ++static void ++tmio_dma_pool_free (struct dma_pool *pool, void *vaddr, dma_addr_t addr) ++{ ++ struct tmio_dma_pool *tdp = (struct tmio_dma_pool*) pool; ++ return tmio_dma_free (tdp->dev, tdp->size, vaddr, addr); ++} ++ ++static void *tmio_buffer_alloc (struct usb_bus *bus, size_t size, ++ gfp_t mem_flags, dma_addr_t *dma) ++{ ++ return tmio_dma_alloc (bus->controller, size, dma, mem_flags); ++} ++ ++static void tmio_buffer_free (struct usb_bus *bus, size_t size, ++ void *addr, dma_addr_t dma) ++{ ++ tmio_dma_free (bus->controller, size, addr, dma); ++} ++ ++/*-------------------------------------------------------------------------*/ ++ ++static void tmio_hc_stop (struct usb_hcd *hcd) ++{ ++ struct device* dev = hcd->self.controller; ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ struct tmio_hcd* tmio = hcd_to_tmio (hcd); ++ struct tmio_uhccr __iomem* ccr = tmio->ccr; ++ union tmio_uhccr_pm pm = {0}; ++ ++ pm.gcken = 1; ++ pm.ckrnen = 1; ++ pm.uspw1 = 1; ++ pm.uspw2 = 1; ++ ++ iowrite8 (0, &ccr->intc); ++ iowrite8 (0, &ccr->ilme); ++ iowrite16(0, &ccr->basel); ++ iowrite16(0, &ccr->baseh); ++ iowrite16(pm.raw, &ccr->pm); ++ ++ tdev->ops->function (dev, 0); ++ tdev->ops->clock (dev, 0); ++} ++ ++static void tmio_hc_start (struct usb_hcd *hcd) ++{ ++ struct device* dev = hcd->self.controller; ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ struct tmio_hcd* tmio = hcd_to_tmio (hcd); ++ struct tmio_uhccr __iomem* ccr = tmio->ccr; ++ union tmio_uhccr_pm pm = {0}; ++ ++ pm.pmes = 1; ++ pm.pmee = 1; ++ pm.ckrnen = 1; ++ pm.gcken = 1; ++ ++ tdev->ops->clock (dev, 1); ++ tdev->ops->function (dev, 1); ++ ++ iowrite16(pm.raw, &ccr->pm); ++ iowrite16(hcd->rsrc_start, &ccr->basel); ++ iowrite16(hcd->rsrc_start >> 16, &ccr->baseh); ++ iowrite8 (1, &ccr->ilme); ++ iowrite8 (2, &ccr->intc); ++ ++ consistent_sync (tmio->sram, tmio->sram_len, DMA_BIDIRECTIONAL); ++ ++ dev_info (dev, "revision %d @ 0x%08llx, irq %d\n", ++ ioread8 (&ccr->revid), hcd->rsrc_start, hcd->irq); ++} ++ ++static void tmio_stop (struct usb_hcd *hcd) ++{ ++ struct ohci_hcd* ohci = hcd_to_ohci (hcd); ++ ++ /* NULL these so ohci_stop() doesn't try to free them */ ++ ohci->hcca = NULL; ++ ohci->td_cache = NULL; ++ ohci->ed_cache = NULL; ++ ++ ohci_stop (hcd); ++ tmio_hc_stop (hcd); ++ tmio_pool_destroy (hcd_to_tmio (hcd)); ++ ++ /* We don't free the hcca because tmio_hc_stop() turns off ++ * the sram and the memory allocation data is destroyed. */ ++} ++ ++static int tmio_start (struct usb_hcd *hcd) ++{ ++ struct device* dev = hcd->self.controller; ++ struct ohci_hcd* ohci = hcd_to_ohci (hcd); ++ struct tmio_hcd* tmio = hcd_to_tmio (hcd); ++ int retval; ++ ++ tmio_hc_start (hcd); ++ ++ tmio->poolp = gen_pool_create(0, fls(tmio->sram_len) - 1, ++ tmio_pool_callback, 0); ++ if (!tmio->poolp) { ++ retval = -ENOMEM; ++ goto err_gen_pool_create; ++ } ++ ++ gen_pool_free (tmio->poolp, (unsigned long)(tmio->sram), ++ tmio->sram_len); ++ ++ ohci->hcca = tmio_dma_alloc (dev, sizeof *ohci->hcca, ++ &ohci->hcca_dma, GFP_KERNEL); ++ if (!ohci->hcca) { ++ retval = -ENOMEM; ++ goto err_hcca_alloc; ++ } ++ ++ /* for our dma_pool_alloc/free hooks */ ++ ohci->td_cache = (struct dma_pool*) &tmio->td_pool; ++ ohci->ed_cache = (struct dma_pool*) &tmio->ed_pool; ++ ++ if ((retval = ohci_init (ohci)) < 0) ++ goto err_ohci_init; ++ ++ if ((retval = ohci_run (ohci)) < 0) ++ goto err_ohci_run; ++ ++ return 0; ++ ++err_ohci_run: ++ err ("can't start %s", hcd->self.bus_name); ++err_ohci_init: ++err_hcca_alloc: ++err_gen_pool_create: ++ tmio_stop (hcd); ++ return retval; ++} ++ ++/*-------------------------------------------------------------------------*/ ++ ++static inline void *tmio_urb_dma_to_virt(struct urb *urb, dma_addr_t dma) ++{ ++ if (BOUNDED_XYL(dma, urb->transfer_dma, urb->transfer_buffer_length)) ++ return urb->transfer_buffer + dma - urb->transfer_dma; ++ ++ if (BOUNDED_XYL(dma, urb->setup_dma, sizeof (struct usb_ctrlrequest))) ++ return urb->setup_packet + dma - urb->setup_dma; ++ ++ return NULL; ++} ++ ++static struct tmio_td* tmio_td_find (struct td *td, int *index) ++{ ++ struct urb* urb = td->urb; ++ urb_priv_t* urb_priv = urb->hcpriv; ++ struct tmio_urb* turb = urb_to_turb (urb); ++ int i; ++ ++ for (i=0; i < urb_priv->length; i++) ++ if (urb_priv->td[i] == td) { ++ *index = i; ++ return turb->td + i; ++ } ++ ++ return NULL; ++} ++ ++/* ++ * map the td's data to dma-able memory ++ * ++ * if this td transfers data, ++ * sets tmtd->data to the urb's data buffer ++ * sets tmtd->dma to dma-able memory ++ * sets tmtd->bounce to non-NULL if a bounce buffer is allocated ++ * copies the urb's data buffer to the bounce buffer if necessary ++ */ ++static int tmio_td_dma_map (struct ohci_hcd *ohci, struct urb *urb, ++ struct tmio_td *tmtd, int idx) ++{ ++ struct usb_hcd* hcd = ohci_to_hcd (ohci); ++ struct device* dev = hcd->self.controller; ++ dma_addr_t dma; ++ ++ if (!tmtd->len) ++ return 0; ++ ++ if (tmio_dma_to_virt (hcd, tmtd->dma)) ++ return 0; ++ ++ tmtd->data = tmio_urb_dma_to_virt (urb, tmtd->dma); ++ if (unlikely (!tmtd->data)) { ++ dev_err (dev, "TD has bad dma address 0x%08x\n", tmtd->dma); ++ return 0; ++ } ++ ++ tmtd->bounce = tmio_dma_alloc (dev, tmtd->len, &dma, GFP_ATOMIC); ++ if (!tmtd->bounce) ++ return -ENOMEM; ++ ++ if ((usb_pipecontrol (urb->pipe) && !idx) || usb_pipeout (urb->pipe)) { ++ consistent_sync (tmtd->bounce, tmtd->len, DMA_TO_DEVICE); ++ memcpy (tmtd->bounce, tmtd->data, tmtd->len); ++ } else ++ consistent_sync (tmtd->bounce, tmtd->len, DMA_FROM_DEVICE); ++ ++ tmtd->dma = dma; ++ return 0; ++} ++ ++/* ++ * unmaps the td's data from dma-able memory ++ * ++ * if a bounce buffer has been allocated, ++ * copy the bounce buffer to the urb's data buffer if necessary ++ * free the bounce buffer ++ */ ++static void tmio_td_dma_unmap (struct ohci_hcd *ohci, struct td *td) ++{ ++ struct device* dev = (ohci_to_hcd (ohci))->self.controller; ++ struct urb* urb = td->urb; ++ int idx; ++ struct tmio_td* tmtd = tmio_td_find (td, &idx); ++ ++ if (!tmtd->bounce) ++ return; ++ ++ if (usb_pipein (urb->pipe) && (usb_pipecontrol (urb->pipe) ? idx : 1)) { ++ memcpy (tmtd->data, tmtd->bounce, tmtd->len); ++ consistent_sync (tmtd->data, tmtd->len, DMA_TO_DEVICE); ++ } ++ ++ tmio_dma_free (dev, tmtd->len, tmtd->bounce, tmtd->dma); ++} ++ ++static int tmio_urb_runqueue (struct ohci_hcd *ohci, struct urb *urb) ++{ ++ struct tmio_urb* turb = urb_to_turb (urb); ++ urb_priv_t* urb_priv= urb->hcpriv; ++ int start = turb->td_queue; ++ int retval = 0; ++ int i; ++ ++ for (i = start; i < turb->td_add; i = ++turb->td_queue) { ++ struct tmio_td *tmtd = turb->td + i; ++ ++ if ((retval = tmio_td_dma_map (ohci, urb, tmtd, i))) ++ break; ++ ++ td_fill (ohci, tmtd->info, tmtd->dma, tmtd->len, urb, i); ++ } ++ ++ if (i <= start) ++ return retval; ++ ++ /* kickstart the appropriate list */ ++ wmb (); ++ switch (urb_priv->ed->type) { ++ case PIPE_BULK: ++ ohci_writel (ohci, OHCI_BLF, &ohci->regs->cmdstatus); ++ break; ++ case PIPE_CONTROL: ++ ohci_writel (ohci, OHCI_CLF, &ohci->regs->cmdstatus); ++ break; ++ } ++ ++ return retval; ++} ++ ++/* ++ * This needs to be called with ohci->lock held so the pending urb list ++ * isn't modified. ++ */ ++static int tmio_ohci_runqueue (struct ohci_hcd *ohci) ++{ ++ urb_priv_t* priv; ++ int retval = 0; ++ ++ list_for_each_entry_reverse (priv, &ohci->pending, pending) ++ if ((retval = tmio_urb_runqueue (ohci, priv->td[0]->urb))) ++ return retval; ++ ++ return retval; ++} ++ ++static void tmio_td_fill (struct ohci_hcd *ohci, u32 info, ++ dma_addr_t data, int len, struct urb *urb, int index) ++{ ++ struct tmio_urb* turb = urb_to_turb (urb); ++ struct tmio_td* tmtd = turb->td + index; ++ ++ tmtd->data = NULL; ++ tmtd->bounce = NULL; ++ tmtd->dma = data; ++ tmtd->len = len; ++ tmtd->info = info; ++ turb->td_add = index + 1; ++} ++ ++static void ++tmio_td_done (struct ohci_hcd *ohci, struct urb *urb, struct td *td) ++{ ++ tmio_td_dma_unmap (ohci, td); ++ td_done (ohci, urb, td); ++} ++ ++const static struct ohci_ops tmio_ops = { ++ .dma_pool_alloc = tmio_dma_pool_alloc, ++ .dma_pool_free = tmio_dma_pool_free, ++ .td_fill = tmio_td_fill, ++ .td_done = tmio_td_done, ++}; ++ ++/*-------------------------------------------------------------------------*/ ++ ++static irqreturn_t tmio_irq (struct usb_hcd *hcd, struct pt_regs *ptregs) ++{ ++ irqreturn_t retval = ohci_irq (hcd, ptregs); ++ ++ if (retval == IRQ_HANDLED) { ++ struct ohci_hcd *ohci = hcd_to_ohci (hcd); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&ohci->lock, flags); ++ tmio_ohci_runqueue (ohci); ++ spin_unlock_irqrestore (&ohci->lock, flags); ++ } ++ ++ return retval; ++} ++ ++/* ++ * This is ohci_urb_enqueue with: ++ * dma address sanitization for tmio_urb_dma_to_virt() ++ * allocate extra space in urb_priv for our private data ++ * initialize urb_priv->td[0]->urb for tmio_ohci_runqueue() ++ * call tmio_ohci_runqueue() after submitting TDs ++ */ ++static int tmio_urb_enqueue ( ++ struct usb_hcd *hcd, ++ struct usb_host_endpoint *ep, ++ struct urb *urb, ++ gfp_t mem_flags ++) { ++ struct ohci_hcd *ohci = hcd_to_ohci (hcd); ++ struct ed *ed; ++ urb_priv_t *urb_priv; ++ unsigned int pipe = urb->pipe; ++ int i, size = 0; ++ unsigned long flags; ++ int retval = 0; ++ ++#ifdef OHCI_VERBOSE_DEBUG ++ urb_print (urb, "SUB", usb_pipein (pipe)); ++#endif ++ ++ /* make sure we can convert dma offsets back to virtual addresses */ ++ if (!tmio_dma_to_virt (hcd, urb->setup_dma)) ++ urb->setup_dma = 0; ++ ++ if (!tmio_dma_to_virt (hcd, urb->transfer_dma)) ++ urb->transfer_dma = sizeof (struct usb_ctrlrequest); ++ ++ /* every endpoint has a ed, locate and maybe (re)initialize it */ ++ if (! (ed = ed_get (ohci, ep, urb->dev, pipe, urb->interval))) ++ return -ENOMEM; ++ ++ /* for the private part of the URB we need the number of TDs (size) */ ++ switch (ed->type) { ++ case PIPE_CONTROL: ++ /* td_submit_urb() doesn't yet handle these */ ++ if (urb->transfer_buffer_length > 4096) ++ return -EMSGSIZE; ++ ++ /* 1 TD for setup, 1 for ACK, plus ... */ ++ size = 2; ++ /* FALLTHROUGH */ ++ // case PIPE_INTERRUPT: ++ // case PIPE_BULK: ++ default: ++ /* one TD for every 4096 Bytes (can be upto 8K) */ ++ size += urb->transfer_buffer_length / 4096; ++ /* ... and for any remaining bytes ... */ ++ if ((urb->transfer_buffer_length % 4096) != 0) ++ size++; ++ /* ... and maybe a zero length packet to wrap it up */ ++ if (size == 0) ++ size++; ++ else if ((urb->transfer_flags & URB_ZERO_PACKET) != 0 ++ && (urb->transfer_buffer_length ++ % usb_maxpacket (urb->dev, pipe, ++ usb_pipeout (pipe))) == 0) ++ size++; ++ break; ++ case PIPE_ISOCHRONOUS: /* number of packets from URB */ ++ size = urb->number_of_packets; ++ break; ++ } ++ ++ /* allocate the private part of the URB */ ++ urb_priv = kzalloc (sizeof (urb_priv_t) ++ + size * sizeof (struct td*) ++ + sizeof (struct tmio_urb) ++ + size * sizeof (struct tmio_td), ++ mem_flags); ++ if (!urb_priv) ++ return -ENOMEM; ++ INIT_LIST_HEAD (&urb_priv->pending); ++ urb_priv->length = size; ++ urb_priv->ed = ed; ++ ++ /* allocate the TDs (deferring hash chain updates) */ ++ for (i = 0; i < size; i++) { ++ urb_priv->td [i] = td_alloc (ohci, mem_flags); ++ if (!urb_priv->td [i]) { ++ urb_priv->length = i; ++ urb_free_priv (ohci, urb_priv); ++ return -ENOMEM; ++ } ++ urb_priv->td [i]->urb = urb; ++ } ++ ++ spin_lock_irqsave (&ohci->lock, flags); ++ ++ /* don't submit to a dead HC */ ++ if (!HC_IS_RUNNING(hcd->state)) { ++ retval = -ENODEV; ++ goto fail; ++ } ++ ++ /* in case of unlink-during-submit */ ++ spin_lock (&urb->lock); ++ if (urb->status != -EINPROGRESS) { ++ spin_unlock (&urb->lock); ++ urb->hcpriv = urb_priv; ++ finish_urb (ohci, urb, NULL); ++ retval = 0; ++ goto fail; ++ } ++ ++ /* schedule the ed if needed */ ++ if (ed->state == ED_IDLE) { ++ retval = ed_schedule (ohci, ed); ++ if (retval < 0) ++ goto fail0; ++ if (ed->type == PIPE_ISOCHRONOUS) { ++ u16 frame = ohci_frame_no(ohci); ++ ++ /* delay a few frames before the first TD */ ++ frame += max_t (u16, 8, ed->interval); ++ frame &= ~(ed->interval - 1); ++ frame |= ed->branch; ++ urb->start_frame = frame; ++ ++ /* yes, only URB_ISO_ASAP is supported, and ++ * urb->start_frame is never used as input. ++ */ ++ } ++ } else if (ed->type == PIPE_ISOCHRONOUS) ++ urb->start_frame = ed->last_iso + ed->interval; ++ ++ /* fill the TDs and link them to the ed; and ++ * enable that part of the schedule, if needed ++ * and update count of queued periodic urbs ++ */ ++ urb->hcpriv = urb_priv; ++ td_submit_urb (ohci, urb); ++ tmio_ohci_runqueue (ohci); ++ ++fail0: ++ spin_unlock (&urb->lock); ++fail: ++ if (retval) ++ urb_free_priv (ohci, urb_priv); ++ spin_unlock_irqrestore (&ohci->lock, flags); ++ return retval; ++} ++ ++static const struct hc_driver tmio_hc_driver = { ++ .description = hcd_name, ++ .product_desc = "TMIO OHCI USB Host Controller", ++ .hcd_priv_size = sizeof (struct ohci_hcd) ++ + sizeof (struct tmio_hcd), ++ ++ /* generic hardware linkage */ ++ .irq = tmio_irq, ++ .flags = HCD_USB11 | HCD_MEMORY, ++ ++ /* basic lifecycle operations */ ++ .start = tmio_start, ++ .stop = tmio_stop, ++ ++ /* managing i/o requests and associated device resources */ ++ .urb_enqueue = tmio_urb_enqueue, ++ .urb_dequeue = ohci_urb_dequeue, ++ .endpoint_disable = ohci_endpoint_disable, ++ ++ /* scheduling support */ ++ .get_frame_number = ohci_get_frame, ++ ++ /* root hub support */ ++ .hub_status_data = ohci_hub_status_data, ++ .hub_control = ohci_hub_control, ++#ifdef CONFIG_PM ++ .bus_suspend = ohci_bus_suspend, ++ .bus_resume = ohci_bus_resume, ++#endif ++ .start_port_reset = ohci_start_port_reset, ++}; ++ ++/*-------------------------------------------------------------------------*/ ++ ++/* configure so an HC device and id are always provided */ ++/* always called with process context; sleeping is OK */ ++ ++/** ++ * tmio_probe - initialize TMIO-based HCDs ++ * Context: !in_interrupt() ++ * ++ * Allocates basic resources for this USB host controller, and ++ * then invokes the start() method for the HCD associated with it ++ * through the hotplug entry's driver_data. ++ */ ++static int tmio_probe (struct device *dev) ++{ ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ struct resource* config = tmio_resource_config (dev); ++ struct resource* regs = tmio_resource_control (dev); ++ struct resource* sram = tmio_resource_mem (dev); ++ struct resource* irq = tmio_resource_irq (dev); ++ struct usb_operations* ops; ++ struct tmio_hcd* tmio; ++ struct ohci_hcd* ohci; ++ struct usb_hcd* hcd; ++ int retval; ++ ++ if (usb_disabled ()) ++ return -ENODEV; ++ ++ if (dev->dma_mask || dev->coherent_dma_mask) { ++ dev_err (dev, "DMA not supported\n"); ++ return -ENODEV; ++ } ++ ++ hcd = usb_create_hcd (&tmio_hc_driver, dev, dev->bus_id); ++ if (!hcd) { ++ retval = -ENOMEM; ++ goto err_create_hcd; ++ } ++ ++ tmio = hcd_to_tmio (hcd); ++ tmio->td_pool.dev = dev; ++ tmio->ed_pool.dev = dev; ++ tmio->td_pool.size = sizeof (struct td); ++ tmio->ed_pool.size = sizeof (struct ed); ++ ohci = hcd_to_ohci (hcd); ++ ohci_hcd_init (ohci); ++ ohci->ops = &tmio_ops; ++ ++ retval = request_resource (tdev->iomem, config); ++ if (retval) ++ goto err_request_config_resource; ++ ++ retval = request_resource (tdev->iomem, regs); ++ if (retval) ++ goto err_request_regs_resource; ++ ++ retval = request_resource (tdev->iomem, sram); ++ if (retval) ++ goto err_request_sram_resource; ++ ++ hcd->rsrc_start = regs->start; ++ hcd->rsrc_len = regs->end - regs->start + 1; ++ tmio->sram_len = sram->end - sram->start + 1; ++ ++ tmio->ccr = ioremap (config->start, config->end - config->start + 1); ++ if (!tmio->ccr) { ++ retval = -ENOMEM; ++ goto err_ioremap_ccr; ++ } ++ ++ hcd->regs = ioremap (hcd->rsrc_start, hcd->rsrc_len); ++ if (!hcd->regs) { ++ retval = -ENOMEM; ++ goto err_ioremap_regs; ++ } ++ ++ tmio->sram = ioremap (sram->start, tmio->sram_len); ++ if (!tmio->sram) { ++ retval = -ENOMEM; ++ goto err_ioremap_sram; ++ } ++ ++ /* drivers should use our coherent buffer allocator */ ++ ops = &tmio->ops; ++ memcpy (ops, hcd->self.op, sizeof *ops); ++ ops->buffer_alloc = tmio_buffer_alloc; ++ ops->buffer_free = tmio_buffer_free; ++ hcd->self.op = ops; ++ ++ retval = usb_add_hcd (hcd, irq->start, SA_INTERRUPT); ++ if (retval) ++ goto err_usb_add_hcd; ++ ++ return 0; ++ ++err_usb_add_hcd: ++ iounmap (tmio->sram); ++err_ioremap_sram: ++ iounmap (hcd->regs); ++err_ioremap_regs: ++ iounmap (tmio->ccr); ++err_ioremap_ccr: ++ release_resource (sram); ++err_request_sram_resource: ++ release_resource (regs); ++err_request_regs_resource: ++ release_resource (config); ++err_request_config_resource: ++ usb_put_hcd (hcd); ++err_create_hcd: ++ return retval; ++} ++ ++/* may be called without controller electrically present */ ++/* may be called with controller, bus, and devices active */ ++ ++/** ++ * tmio_remove - shutdown processing for TMIO-based HCDs ++ * @dev: USB Host Controller being removed ++ * Context: !in_interrupt() ++ * ++ * Reverses the effect of tmio_probe(), first invoking ++ * the HCD's stop() method. It is always called from a thread ++ * context, normally "rmmod", "apmd", or something similar. ++ */ ++static int tmio_remove (struct device *dev) ++{ ++ struct usb_hcd* hcd = dev_get_drvdata (dev); ++ struct tmio_hcd* tmio = hcd_to_tmio (hcd); ++ ++ usb_remove_hcd (hcd); ++ iounmap (tmio->sram); ++ iounmap (hcd->regs); ++ iounmap (tmio->ccr); ++ release_resource (tmio_resource_mem (dev)); ++ release_resource (tmio_resource_control (dev)); ++ release_resource (tmio_resource_config (dev)); ++ usb_put_hcd (hcd); ++ return 0; ++} ++ ++static struct device_driver tmio_ohci = { ++ .name = TMIO_NAME_OHCI, ++ .bus = &tmio_bus_type, ++ .probe = tmio_probe, ++ .remove = tmio_remove, ++}; ++ ++static int __init tmio_init (void) ++{ ++ dbg (DRIVER_INFO " (%s)", TMIO_SOC_NAME); ++ dbg ("block sizes: ed %d td %d", ++ sizeof (struct ed), sizeof (struct td)); ++ ++ return driver_register (&tmio_ohci); ++} ++ ++static void __exit tmio_exit (void) ++{ ++ driver_unregister (&tmio_ohci); ++} ++ ++module_init (tmio_init); ++module_exit (tmio_exit); +Index: git/drivers/usb/host/Kconfig +=================================================================== +--- git.orig/drivers/usb/host/Kconfig 2006-11-07 21:46:32.000000000 +0000 ++++ git/drivers/usb/host/Kconfig 2006-11-07 21:48:38.000000000 +0000 +@@ -84,6 +84,7 @@ config USB_OHCI_HCD + depends on USB && USB_ARCH_HAS_OHCI + select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 + select I2C if ARCH_PNX4008 ++ select GENERIC_ALLOCATOR if TOSHIBA_TC6393XB + ---help--- + The Open Host Controller Interface (OHCI) is a standard for accessing + USB 1.1 host controller hardware. It does more in hardware than Intel's +Index: git/drivers/usb/host/ohci-hcd.c +=================================================================== +--- git.orig/drivers/usb/host/ohci-hcd.c 2006-11-07 21:46:32.000000000 +0000 ++++ git/drivers/usb/host/ohci-hcd.c 2006-11-07 21:48:33.000000000 +0000 +@@ -944,6 +944,7 @@ MODULE_LICENSE ("GPL"); + || defined(CONFIG_ARCH_OMAP) \ + || defined (CONFIG_ARCH_LH7A404) \ + || defined (CONFIG_PXA27x) \ ++ || defined (CONFIG_TOSHIBA_TC6393XB) \ + || defined (CONFIG_ARCH_EP93XX) \ + || defined (CONFIG_SOC_AU1X00) \ + || defined (CONFIG_USB_OHCI_HCD_PPC_SOC) \ diff --git a/packages/linux/linux-openzaurus-2.6.18+git/tmio-tc6393-r8.patch b/packages/linux/linux-openzaurus-2.6.18+git/tmio-tc6393-r8.patch new file mode 100644 index 0000000000..2f1b47d783 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/tmio-tc6393-r8.patch @@ -0,0 +1,800 @@ + arch/arm/common/Kconfig | 3 + arch/arm/common/Makefile | 1 + arch/arm/common/tc6393xb.c | 668 ++++++++++++++++++++++++++++++++++++++++ + arch/arm/mach-pxa/Kconfig | 1 + include/asm-arm/arch-pxa/irqs.h | 10 + include/asm-arm/hardware/tmio.h | 44 ++ + 6 files changed, 727 insertions(+) + +Index: git/arch/arm/common/tc6393xb.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/arch/arm/common/tc6393xb.c 2006-11-07 22:14:49.000000000 +0000 +@@ -0,0 +1,668 @@ ++/* ++ * Toshiba TC6393XB SoC support ++ * ++ * Maintainer: Chris Humbert <mahadri-kernel@drigon.com> ++ * ++ * Copyright (c) 2005-2006 Chris Humbert ++ * Copyright (c) 2005 Dirk Opfer ++ * ++ * Based on code written by Sharp/Lineo for 2.4 kernels ++ * Based on locomo.c ++ * ++ * 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. ++ */ ++ ++#include <linux/module.h> ++#include <linux/init.h> ++#include <linux/kernel.h> ++#include <linux/delay.h> ++#include <linux/errno.h> ++#include <linux/ioport.h> ++#include <linux/device.h> ++#include <linux/platform_device.h> ++#include <linux/slab.h> ++#include <linux/spinlock.h> ++#include <linux/fb.h> ++ ++#include <asm/hardware.h> ++#include <asm/mach-types.h> ++#include <asm/io.h> ++#include <asm/irq.h> ++#include <asm/mach/irq.h> ++#include <asm/arch/irqs.h> ++#include <asm/hardware/tmio.h> ++ ++#ifndef TMIO_SOC_TC6393XB ++#error "TC6393XB SoC not configured" ++#endif ++ ++/*--------------------------------------------------------------------------*/ ++ ++/* cell ids must be 0-based because they are used as array indexes. */ ++#define TC6393_CELL_NAND 0 ++#define TC6393_CELL_SD 1 ++#define TC6393_CELL_OHCI 2 ++#define TC6393_CELL_SERIAL 3 ++#define TC6393_CELL_LCD 4 ++#define TC6393_NUM_CELLS 5 ++ ++#define TC6393_RESOURCE(_name, _start, _end, _flags) \ ++ { \ ++ .name = _name, \ ++ .start = _start, \ ++ .end = _end, \ ++ .flags = _flags, \ ++ } ++ ++#define TC6393_MEM(name, start, size) \ ++ TC6393_RESOURCE(name, start, (start) + (size) - 1, IORESOURCE_MEM) ++ ++#define TC6393_IRQ(name, irq) \ ++ TC6393_RESOURCE(name, irq, irq, IORESOURCE_IRQ) ++ ++const static struct resource tc6393_NAND_resource[] = { ++ TC6393_MEM (TMIO_NAME_NAND, 0x000100, 0x100), ++ TC6393_MEM (TMIO_NAME_NAND, 0x001000, 0x008), ++ TC6393_MEM (TMIO_NAME_NAND, 0, 0), ++ TC6393_IRQ (TMIO_NAME_NAND, IRQ_TC6393_NAND), ++}; ++ ++const static struct resource tc6393_SD_resource[] = { ++ TC6393_MEM (TMIO_NAME_SD, 0x000200, 0x100), ++ TC6393_MEM (TMIO_NAME_SD, 0x002000, 0x200), ++ TC6393_MEM (TMIO_NAME_SD, 0, 0), ++ TC6393_IRQ (TMIO_NAME_SD, IRQ_TC6393_SD), ++}; ++ ++const static struct resource tc6393_OHCI_resource[] = { ++ TC6393_MEM (TMIO_NAME_OHCI, 0x000300, 0x100), ++ TC6393_MEM (TMIO_NAME_OHCI, 0x003000, 0x100), ++ TC6393_MEM (TMIO_NAME_OHCI, 0x010000, 32 * 1024), ++ TC6393_IRQ (TMIO_NAME_OHCI, IRQ_TC6393_OHCI), ++}; ++ ++const static struct resource tc6393_SERIAL_resource[] = { ++ TC6393_MEM (TMIO_NAME_SERIAL, 0x000400, 0x100), ++ TC6393_MEM (TMIO_NAME_SERIAL, 0x004000, 0x100), ++ TC6393_MEM (TMIO_NAME_SERIAL, 0, 0), ++ TC6393_IRQ (TMIO_NAME_SERIAL, IRQ_TC6393_SERIAL), ++}; ++ ++const static struct resource tc6393_LCD_resource[] = { ++ TC6393_MEM (TMIO_NAME_LCD, 0x000500, 0x100), ++ TC6393_MEM (TMIO_NAME_LCD, 0x005000, 0x200), ++ TC6393_MEM (TMIO_NAME_LCD, 0x100000, 1024 * 1024), ++ TC6393_IRQ (TMIO_NAME_LCD, IRQ_TC6393_LCD), ++}; ++ ++#define TC6393_CELL(_NAME) \ ++ [TC6393_CELL_##_NAME] = { \ ++ .name = TMIO_NAME_##_NAME, \ ++ .id = TC6393_CELL_##_NAME, \ ++ .resource = tc6393_##_NAME##_resource, \ ++ .num_resources = ARRAY_SIZE (tc6393_##_NAME##_resource), \ ++ } ++ ++struct tc6393_cell { ++ const char* name; ++ unsigned int id; ++ const struct resource* resource; ++ unsigned int num_resources; ++}; ++ ++const static struct tc6393_cell tc6393_cell [TC6393_NUM_CELLS] = { ++ TC6393_CELL (NAND ), ++ TC6393_CELL (SD ), ++ TC6393_CELL (OHCI ), ++ TC6393_CELL (SERIAL ), ++ TC6393_CELL (LCD ), ++}; ++ ++/*--------------------------------------------------------------------------*/ ++ ++/* ++ * TC6393 System Configuration Register ++ */ ++struct tc6393_scr { ++ u8 x00[8]; ++ u8 revid; /* 0x08 Revision ID */ ++ u8 x01[0x47]; ++ u8 isr; /* 0x50 Interrupt Status */ ++ u8 x02; ++ u8 imr; /* 0x52 Interrupt Mask */ ++ u8 x03; ++ u8 irr; /* 0x54 Interrupt Routing */ ++ u8 x04[0x0b]; ++ u16 gper; /* 0x60 GP Enable */ ++ u8 x05[2]; ++ u16 gpi_sr[2]; /* 0x64 GPI Status */ ++ u16 gpi_imr[2]; /* 0x68 GPI INT Mask */ ++ u16 gpi_eder[2]; /* 0x6c GPI Edge Detect Enable */ ++ u16 gpi_lir[4]; /* 0x70 GPI Level Invert */ ++ u16 gpo_dsr[2]; /* 0x78 GPO Data Set */ ++ u16 gpo_doecr[2]; /* 0x7c GPO Data OE Control */ ++ u16 gp_iarcr[2]; /* 0x80 GP Internal Active Reg Control */ ++ u16 gp_iarlcr[2]; /* 0x84 GP Internal Active Reg Level Con*/ ++ u8 gpi_bcr[4]; /* 0x88 GPI Buffer Control */ ++ u16 gpa_iarcr; /* 0x8c GPa Internal Active Reg Control */ ++ u8 x06[2]; ++ u16 gpa_iarlcr; /* 0x90 GPa Internal Active Reg Level Co*/ ++ u8 x07[2]; ++ u16 gpa_bcr; /* 0x94 GPa Buffer Control */ ++ u8 x08[2]; ++ u16 ccr; /* 0x98 Clock Control */ ++ u16 pll2cr; /* 0x9a PLL2 Control */ ++ u16 pll1cr[2]; /* 0x9c PLL1 Control */ ++ u8 diarcr; /* 0xa0 Device Internal Active Reg Contr*/ ++ u8 dbocr; /* 0xa1 Device Buffer Off Control */ ++ u8 x09[0x3e]; ++ u8 fer; /* 0xe0 Function Enable */ ++ u8 x10[3]; ++ u16 mcr; /* 0xe4 Mode Control */ ++ u8 x11[0x14]; ++ u8 config; /* 0xfc Configuration Control */ ++ u8 x12[2]; ++ u8 debug; /* 0xff Debug */ ++} __attribute__ ((packed)); ++ ++union tc6393_scr_fer { ++ u8 raw; ++struct { ++ unsigned usben:1; /* D0 USB enable */ ++ unsigned lcdcven:1; /* D1 polysylicon TFT enable */ ++ unsigned slcden:1; /* D2 SLCD enable */ ++} __attribute__ ((packed)); ++} __attribute__ ((packed)); ++ ++union tc6393_scr_ccr { ++ u16 raw; ++struct { ++ unsigned ck32ken:1; /* D0 SD host clock enable */ ++ unsigned usbcken:1; /* D1 USB host clock enable */ ++ unsigned x00:2; ++ unsigned sharp:1; /* D4 ??? set in Sharp's code */ ++ unsigned x01:3; ++ enum { disable = 0, ++ m12MHz = 1, ++ m24MHz = 2, ++ m48MHz = 3, ++ } mclksel:3; /* D10-D8 LCD controller clock */ ++ unsigned x02:1; ++ enum { h24MHz = 0, ++ h48MHz = 1, ++ } hclksel:2; /* D13-D12 host bus clock */ ++ unsigned x03:2; ++} __attribute__ ((packed)); ++} __attribute__ ((packed)); ++ ++/*--------------------------------------------------------------------------*/ ++ ++struct tc6393 { ++ spinlock_t lock; /* read-modify-write lock */ ++ struct device* dev; /* TC6393 device */ ++ struct tc6393_scr __iomem *scr; /* system configuration reg */ ++ ++ struct resource rscr; /* system config reg resource */ ++ struct resource* iomem; /* entire TC6393 iomem resource */ ++ unsigned int irq; /* hardware cascade irq */ ++ ++ struct tmio_device tdev [TC6393_NUM_CELLS]; ++}; ++ ++/*--------------------------------------------------------------------------*/ ++ ++static u32 tc6393_ioread32 (const void __iomem *addr) ++{ ++ return ((u32) ioread16 (addr)) | (((u32) ioread16 (addr + 2)) << 16); ++} ++ ++static u32 tc6393_iowrite32 (u32 val, const void __iomem *addr) ++{ ++ iowrite16 (val, addr); ++ iowrite16 (val >> 16, addr + 2); ++ return val; ++} ++ ++u32 get_tc6393_gpio (struct device *dev) ++{ ++ struct tc6393* tc6393 = dev_get_drvdata (dev); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ ++ return tc6393_ioread32 (scr->gpo_dsr); ++} ++EXPORT_SYMBOL (get_tc6393_gpio); ++ ++u32 set_tc6393_gpio (struct device *dev, u32 bits) ++{ ++ struct tc6393* tc6393 = dev_get_drvdata (dev); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ unsigned long flags; ++ u32 dsr; ++ ++ spin_lock_irqsave (&tc6393->lock, flags); ++ dsr = tc6393_ioread32 (scr->gpo_dsr) | bits; ++ tc6393_iowrite32 (dsr, scr->gpo_dsr); ++ spin_unlock_irqrestore (&tc6393->lock, flags); ++ ++ return dsr; ++} ++EXPORT_SYMBOL (set_tc6393_gpio); ++ ++u32 reset_tc6393_gpio (struct device *dev, u32 bits) ++{ ++ struct tc6393* tc6393 = dev_get_drvdata (dev); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ unsigned long flags; ++ u32 dsr; ++ ++ spin_lock_irqsave (&tc6393->lock, flags); ++ dsr = tc6393_ioread32 (scr->gpo_dsr) & ~bits; ++ tc6393_iowrite32 (dsr, scr->gpo_dsr); ++ spin_unlock_irqrestore (&tc6393->lock, flags); ++ ++ return dsr; ++} ++EXPORT_SYMBOL (reset_tc6393_gpio); ++ ++/*--------------------------------------------------------------------------*/ ++ ++static void ++tc6393_irq (unsigned int irq, struct irqdesc *desc) ++{ ++ struct tc6393* tc6393 = get_irq_chipdata (irq); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ unsigned int isr; ++ unsigned int bit; ++ unsigned int i; ++ ++ desc->chip->ack (irq); ++ ++ while ((isr = ioread8(&scr->isr) & ~ioread8(&scr->imr))) ++ for (bit = 1, i = IRQ_TC6393_START; i <= IRQ_TC6393_LCD; ++ bit <<= 1, i++) ++ if (isr & bit) ++ desc_handle_irq (i, irq_desc + i); ++} ++ ++static void tc6393_irq_ack (unsigned int irq) ++{ ++} ++ ++static void tc6393_irq_mask (unsigned int irq) ++{ ++ struct tc6393* tc6393 = get_irq_chipdata (irq); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ unsigned long flags; ++ ++ spin_lock_irqsave (&tc6393->lock, flags); ++ iowrite8 (ioread8 (&scr->imr) | (1 << (irq - IRQ_TC6393_START)), ++ &scr->imr); ++ spin_unlock_irqrestore (&tc6393->lock, flags); ++} ++ ++static void tc6393_irq_unmask (unsigned int irq) ++{ ++ struct tc6393* tc6393 = get_irq_chipdata (irq); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ unsigned long flags; ++ ++ spin_lock_irqsave (&tc6393->lock, flags); ++ iowrite8 (ioread8 (&scr->imr) & ~(1 << (irq - IRQ_TC6393_START)), ++ &scr->imr); ++ spin_unlock_irqrestore (&tc6393->lock, flags); ++} ++ ++static struct irqchip tc6393_chip = { ++ .ack = tc6393_irq_ack, ++ .mask = tc6393_irq_mask, ++ .unmask = tc6393_irq_unmask, ++}; ++ ++static void tc6393_attach_irq (struct tc6393 *tc6393) ++{ ++ unsigned int irq; ++ ++ for (irq = IRQ_TC6393_START; irq <= IRQ_TC6393_LCD; irq++) { ++ set_irq_chip (irq, &tc6393_chip); ++ set_irq_chipdata(irq, tc6393); ++ set_irq_handler (irq, do_edge_IRQ); ++ set_irq_flags (irq, IRQF_VALID | IRQF_PROBE); ++ } ++ ++ set_irq_type (tc6393->irq, IRQT_FALLING); ++ set_irq_chipdata (tc6393->irq, tc6393); ++ set_irq_chained_handler (tc6393->irq, tc6393_irq); ++} ++ ++static void tc6393_detach_irq (struct tc6393 *tc6393) ++{ ++ unsigned int irq; ++ ++ set_irq_chained_handler (tc6393->irq, NULL); ++ set_irq_chipdata (tc6393->irq, NULL); ++ ++ for (irq = IRQ_TC6393_START; irq <= IRQ_TC6393_LCD; irq++) { ++ set_irq_flags (irq, 0); ++ set_irq_chip (irq, NULL); ++ set_irq_chipdata(irq, NULL); ++ } ++} ++ ++/*--------------------------------------------------------------------------*/ ++ ++static int tc6393_bus_match (struct device *dev, struct device_driver *drv) ++{ ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ const struct tc6393_cell* cell = tdev->soc_data; ++ ++ return !strcmp (cell->name, drv->name); ++} ++ ++static int tc6393_bus_suspend (struct device *dev, pm_message_t state) ++{ ++ struct device_driver* drv = dev->driver; ++ return drv && drv->suspend ? drv->suspend (dev, state) : 0; ++} ++ ++static int tc6393_bus_resume (struct device *dev) ++{ ++ struct device_driver* drv = dev->driver; ++ return drv && drv->resume ? drv->resume (dev) : 0; ++} ++ ++struct bus_type tc6393_bus_type = { ++ .name = TMIO_NAME_BUS, ++ .match = tc6393_bus_match, ++ .suspend = tc6393_bus_suspend, ++ .resume = tc6393_bus_resume, ++}; ++EXPORT_SYMBOL (tc6393_bus_type); ++ ++/*--------------------------------------------------------------------------*/ ++ ++static void tc6393_cell_clock (struct device *dev, int enable) ++{ ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ const struct tc6393_cell* cell = tdev->soc_data; ++ struct tc6393* tc6393 = dev_get_drvdata (dev->parent); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ union tc6393_scr_ccr ccr; ++ unsigned long flags; ++ ++ spin_lock_irqsave (&tc6393->lock, flags); ++ ccr.raw = ioread16 (&scr->ccr); ++ ++ switch (cell->id) { ++ case TC6393_CELL_SD: ccr.ck32ken = enable; break; ++ case TC6393_CELL_OHCI: ccr.usbcken = enable; break; ++ case TC6393_CELL_LCD: ++ ccr.mclksel = enable ? m48MHz : disable; ++ break; ++ } ++ ++ printk (KERN_DEBUG TMIO_NAME_CORE ": scr->ccr = %04x\n", ccr.raw); ++ ++ iowrite16(ccr.raw, &scr->ccr); ++ spin_unlock_irqrestore (&tc6393->lock, flags); ++} ++ ++static void tc6393_cell_function (struct device *dev, int enable) ++{ ++ struct tmio_device* tdev = dev_to_tdev (dev); ++ const struct tc6393_cell* cell = tdev->soc_data; ++ struct tc6393* tc6393 = dev_get_drvdata (dev->parent); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ union tc6393_scr_fer fer; ++ unsigned long flags; ++ ++ if (cell->id == TC6393_CELL_NAND) { ++ if (enable) { ++ /* SMD buffer on */ ++ printk (KERN_DEBUG TMIO_NAME_CORE ": SMD buffer on\n"); ++ iowrite8 (0xff, scr->gpi_bcr + 1); ++ } ++ return; ++ } ++ ++ spin_lock_irqsave (&tc6393->lock, flags); ++ fer.raw = ioread16 (&scr->fer); ++ ++ switch (cell->id) { ++ case TC6393_CELL_OHCI: fer.usben = enable; break; ++ case TC6393_CELL_LCD: fer.slcden = enable; break; ++ } ++ ++ printk (KERN_DEBUG TMIO_NAME_CORE ": scr->fer = %02x\n", fer.raw); ++ ++ iowrite8 (fer.raw, &scr->fer); ++ spin_unlock_irqrestore (&tc6393->lock, flags); ++} ++ ++static void ++tc6393_lcd_mode (struct device *dev, const struct fb_videomode *mode) ++{ ++ struct tc6393* tc6393 = dev_get_drvdata (dev->parent); ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ ++ iowrite16 (mode->pixclock, scr->pll1cr + 0); ++ iowrite16 (mode->pixclock >> 16, scr->pll1cr + 1); ++} ++ ++static struct tmio_cell_ops tc6393_cell_ops = { ++ .clock = tc6393_cell_clock, ++ .function = tc6393_cell_function, ++ .lcd_mode = tc6393_lcd_mode, ++}; ++ ++static void tc6393_device_release (struct device *dev) ++{ ++} ++ ++static int ++tc6393_device_register (struct tc6393 *tc6393, struct tmio_cell *tcell) ++{ ++ const struct tc6393_cell* cell; ++ struct tmio_device* tdev; ++ struct device* dev; ++ int i; ++ ++ for (i = 0; strcmp (tcell->name, tc6393_cell [i].name); ) ++ if (++i >= ARRAY_SIZE(tc6393_cell)) ++ return -EINVAL; ++ ++ cell = tc6393_cell + i; ++ tdev = tc6393->tdev + i; ++ dev = &tdev->dev; ++ ++ tdev->ops = &tc6393_cell_ops; ++ tdev->iomem = tc6393->iomem; ++ tdev->soc_data = (void*) cell; ++ ++ dev->parent = tc6393->dev; ++ strncpy (dev->bus_id, cell->name, sizeof dev->bus_id); ++ dev->bus = &tc6393_bus_type; ++ dev->dma_mask = tc6393->dev->dma_mask; ++ dev->coherent_dma_mask = tc6393->dev->coherent_dma_mask; ++ dev->release = tc6393_device_release; ++ dev->platform_data = tcell->platform_data; ++ ++ for (i=0; i < cell->num_resources; i++) { ++ const struct resource* cr = cell->resource + i; ++ struct resource* dr = tdev->resource + i; ++ ++ dr->name = cr->name; ++ dr->start = cr->start; ++ dr->end = cr->end; ++ dr->flags = cr->flags; ++ ++ /* convert memory offsets to absolutes */ ++ if (cr->flags & IORESOURCE_MEM) { ++ dr->start += tc6393->iomem->start; ++ dr->end += tc6393->iomem->start; ++ } ++ } ++ ++ return device_register (dev); ++} ++ ++/*--------------------------------------------------------------------------*/ ++ ++static void tc6393_hw_init (struct tc6393 *tc6393) ++{ ++ struct tc6393_scr __iomem * scr = tc6393->scr; ++ struct tc6393_platform_data* tcpd = tc6393->dev->platform_data; ++ ++ tcpd->enable (tc6393->dev); ++ ++ iowrite8 (0, &scr->fer); ++ iowrite16(tcpd->scr_pll2cr, &scr->pll2cr); ++ iowrite16(tcpd->scr_ccr, &scr->ccr); ++ iowrite16(tcpd->scr_mcr, &scr->mcr); ++ iowrite16(tcpd->scr_gper, &scr->gper); ++ iowrite8 (0, &scr->irr); ++ iowrite8 (0xbf, &scr->imr); ++ iowrite16(tcpd->scr_gpo_dsr, scr->gpo_dsr + 0); ++ iowrite16(tcpd->scr_gpo_dsr >> 16, scr->gpo_dsr + 1); ++ iowrite16(tcpd->scr_gpo_doecr, scr->gpo_doecr + 0); ++ iowrite16(tcpd->scr_gpo_doecr >> 16, scr->gpo_doecr + 1); ++} ++ ++static int tc6393_probe (struct device *dev) ++{ ++ struct platform_device* pdev = to_platform_device (dev); ++ struct tc6393_platform_data* tcpd = dev->platform_data; ++ struct tc6393* tc6393; ++ struct resource* iomem; ++ struct resource* rscr; ++ int retval; ++ int i; ++ ++ iomem = platform_get_resource (pdev, IORESOURCE_MEM, 0); ++ if (!iomem) ++ return -EINVAL; ++ ++ tc6393 = kzalloc (sizeof *tc6393, GFP_KERNEL); ++ if (!tc6393) { ++ retval = -ENOMEM; ++ goto err_kzalloc; ++ } ++ ++ dev_set_drvdata (dev, tc6393); ++ spin_lock_init (&tc6393->lock); ++ tc6393->dev = dev; ++ tc6393->iomem = iomem; ++ tc6393->irq = platform_get_irq (pdev, 0); ++ ++ rscr = &tc6393->rscr; ++ rscr->name = TMIO_NAME_CORE; ++ rscr->start = iomem->start; ++ rscr->end = iomem->start + 0xff; ++ rscr->flags = IORESOURCE_MEM; ++ ++ retval = request_resource (iomem, rscr); ++ if (retval) ++ goto err_request_scr; ++ ++ tc6393->scr = ioremap (rscr->start, rscr->end - rscr->start + 1); ++ if (!tc6393->scr) { ++ retval = -ENOMEM; ++ goto err_ioremap; ++ } ++ ++ tc6393_hw_init (tc6393); ++ ++ printk (KERN_INFO "Toshiba %s revision %d at 0x%08lx, irq %d\n", ++ TMIO_SOC_NAME, ioread8 (&tc6393->scr->revid), ++ iomem->start, tc6393->irq); ++ ++ if (tc6393->irq) ++ tc6393_attach_irq (tc6393); ++ ++ for (i = 0; i < tcpd->num_cells; i++) ++ tc6393_device_register (tc6393, tcpd->cell + i); ++ ++ return 0; ++ ++err_ioremap: ++ release_resource (rscr); ++err_request_scr: ++ kfree(tc6393); ++err_kzalloc: ++ release_resource (iomem); ++ return retval; ++} ++ ++static int tc6393_dev_remove (struct device *dev, void *data) ++{ ++ device_unregister (dev); ++ return 0; ++} ++ ++static int tc6393_remove (struct device *dev) ++{ ++ struct tc6393* tc6393 = dev_get_drvdata (dev); ++ ++ device_for_each_child (dev, tc6393, tc6393_dev_remove); ++ ++ if (tc6393->irq) ++ tc6393_detach_irq (tc6393); ++ ++ iounmap (tc6393->scr); ++ release_resource (&tc6393->rscr); ++ release_resource (tc6393->iomem); ++ kfree (tc6393); ++ return 0; ++} ++ ++#ifdef CONFIG_PM ++static int tc6393_suspend (struct device *dev, pm_message_t state) ++{ ++ struct tc6393_platform_data* tcpd = dev->platform_data; ++ tcpd->disable (dev); ++ return 0; ++} ++ ++static int tc6393_resume (struct device *dev) ++{ ++ struct tc6393* tc6393 = dev_get_drvdata (dev); ++ tc6393_hw_init (tc6393); ++ return 0; ++} ++#endif ++ ++static struct device_driver tc6393_device_driver = { ++ .name = TMIO_SOC_NAME, ++ .bus = &platform_bus_type, ++ .probe = tc6393_probe, ++ .remove = tc6393_remove, ++#ifdef CONFIG_PM ++ .suspend = tc6393_suspend, ++ .resume = tc6393_resume, ++#endif ++}; ++ ++/*--------------------------------------------------------------------------*/ ++ ++static int __init tc6393_init (void) ++{ ++ int retval = bus_register (&tc6393_bus_type); ++ if (retval) ++ return retval; ++ ++ return driver_register (&tc6393_device_driver); ++} ++ ++static void __exit tc6393_exit (void) ++{ ++ driver_unregister (&tc6393_device_driver); ++ bus_unregister (&tc6393_bus_type); ++} ++ ++module_init (tc6393_init); ++module_exit (tc6393_exit); ++ ++MODULE_DESCRIPTION ("TC6393 SoC bus driver"); ++MODULE_AUTHOR ("Chris Humbert, Dirk Opfer"); ++MODULE_LICENSE ("GPL"); +Index: git/arch/arm/common/Kconfig +=================================================================== +--- git.orig/arch/arm/common/Kconfig 2006-10-31 16:08:28.000000000 +0000 ++++ git/arch/arm/common/Kconfig 2006-11-07 22:13:09.000000000 +0000 +@@ -31,3 +31,6 @@ config SHARPSL_PM + + config SHARP_SCOOP + bool ++ ++config TOSHIBA_TC6393XB ++ bool +Index: git/arch/arm/mach-pxa/Kconfig +=================================================================== +--- git.orig/arch/arm/mach-pxa/Kconfig 2006-11-07 22:13:06.000000000 +0000 ++++ git/arch/arm/mach-pxa/Kconfig 2006-11-07 23:30:34.000000000 +0000 +@@ -128,6 +128,7 @@ config MACH_BORZOI + config MACH_TOSA + bool "Enable Sharp SL-6000x (Tosa) Support" + depends PXA_SHARPSL_25x ++ select TOSHIBA_TC6393XB + + config PXA25x + bool +Index: git/arch/arm/common/Makefile +=================================================================== +--- git.orig/arch/arm/common/Makefile 2006-10-31 16:08:28.000000000 +0000 ++++ git/arch/arm/common/Makefile 2006-11-07 22:13:09.000000000 +0000 +@@ -17,3 +17,4 @@ obj-$(CONFIG_SHARPSL_PM) += sharpsl_pm.o + obj-$(CONFIG_SHARP_SCOOP) += scoop.o + obj-$(CONFIG_ARCH_IXP2000) += uengine.o + obj-$(CONFIG_ARCH_IXP23XX) += uengine.o ++obj-$(CONFIG_TOSHIBA_TC6393XB) += tc6393xb.o +Index: git/include/asm-arm/hardware/tmio.h +=================================================================== +--- git.orig/include/asm-arm/hardware/tmio.h 2006-11-07 22:13:09.000000000 +0000 ++++ git/include/asm-arm/hardware/tmio.h 2006-11-07 22:13:09.000000000 +0000 +@@ -91,6 +91,50 @@ struct tmio_device { + + /*--------------------------------------------------------------------------*/ + ++/* ++ * TC6393XB SoC ++ */ ++#ifdef CONFIG_TOSHIBA_TC6393XB ++#define TMIO_SOC_TC6393XB ++#define TMIO_SOC_NAME "TC6393XB" ++#define TMIO_NAME_BUS "tc6393-bus" ++#define TMIO_NAME_CORE "tc6393-core" ++#define TMIO_NAME_NAND "tc6393-nand" ++#define TMIO_NAME_SD "tc6393-sd" ++#define TMIO_NAME_OHCI "tc6393-ohci" ++#define TMIO_NAME_SERIAL "tc6393-serial" ++#define TMIO_NAME_LCD "tc6393-lcd" ++#define tmio_bus_type tc6393_bus_type ++ ++#define TC6393_GPIO(x) (1 << (x)) ++ ++extern struct bus_type tc6393_bus_type; ++ ++struct tc6393_platform_data { ++ u16 scr_pll2cr; /* PLL2 Control */ ++ u16 scr_ccr; /* Clock Control */ ++ u16 scr_mcr; /* Mode Control */ ++ u16 scr_gper; /* GP Enable */ ++ u32 scr_gpo_doecr; /* GPO Data OE Control */ ++ u32 scr_gpo_dsr; /* GPO Data Set */ ++ ++ /* cells to register as devices */ ++ struct tmio_cell* cell; ++ unsigned int num_cells; ++ ++ /* callbacks to enable and disable the TC6393XB's power and clock */ ++ void (*enable) (struct device *dev); ++ void (*disable) (struct device *dev); ++}; ++ ++u32 get_tc6393_gpio (struct device *dev); ++u32 set_tc6393_gpio (struct device *dev, u32 bits); ++u32 reset_tc6393_gpio (struct device *dev, u32 bits); ++ ++/*--------------------------------------------------------------------------*/ ++ ++#else + #error "no TMIO SoC configured" ++#endif + + #endif +Index: git/include/asm-arm/arch-pxa/irqs.h +=================================================================== +--- git.orig/include/asm-arm/arch-pxa/irqs.h 2006-10-31 16:09:33.000000000 +0000 ++++ git/include/asm-arm/arch-pxa/irqs.h 2006-11-07 22:13:09.000000000 +0000 +@@ -163,17 +163,27 @@ + #define IRQ_LOCOMO_SPI_OVRN (IRQ_BOARD_END + 20) + #define IRQ_LOCOMO_SPI_TEND (IRQ_BOARD_END + 21) + ++#define IRQ_TC6393_START (IRQ_BOARD_END) ++#define IRQ_TC6393_NAND (IRQ_BOARD_END + 0) ++#define IRQ_TC6393_SD (IRQ_BOARD_END + 1) ++#define IRQ_TC6393_OHCI (IRQ_BOARD_END + 2) ++#define IRQ_TC6393_SERIAL (IRQ_BOARD_END + 3) ++#define IRQ_TC6393_LCD (IRQ_BOARD_END + 4) ++ + /* + * Figure out the MAX IRQ number. + * + * If we have an SA1111, the max IRQ is S1_BVD1_STSCHG+1. + * If we have an LoCoMo, the max IRQ is IRQ_LOCOMO_SPI_TEND+1 ++ * If we have an TC6393XB, the max IRQ is IRQ_TC6393_LCD+1 + * Otherwise, we have the standard IRQs only. + */ + #ifdef CONFIG_SA1111 + #define NR_IRQS (IRQ_S1_BVD1_STSCHG + 1) + #elif defined(CONFIG_SHARP_LOCOMO) + #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) ++#elif defined(CONFIG_TOSHIBA_TC6393XB) ++#define NR_IRQS (IRQ_TC6393_LCD + 1) + #elif defined(CONFIG_ARCH_LUBBOCK) || \ + defined(CONFIG_MACH_LOGICPD_PXA270) || \ + defined(CONFIG_MACH_MAINSTONE) diff --git a/packages/linux/linux-openzaurus-2.6.18+git/tosa-keyboard-r18.patch b/packages/linux/linux-openzaurus-2.6.18+git/tosa-keyboard-r18.patch new file mode 100644 index 0000000000..00bac40db5 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/tosa-keyboard-r18.patch @@ -0,0 +1,515 @@ + drivers/input/keyboard/Kconfig | 12 - + drivers/input/keyboard/Makefile | 1 + drivers/input/keyboard/tosakbd.c | 467 +++++++++++++++++++++++++++++++++++++++ + 3 files changed, 479 insertions(+), 1 deletion(-) + +Index: git/drivers/input/keyboard/Kconfig +=================================================================== +--- git.orig/drivers/input/keyboard/Kconfig 2006-10-31 16:08:57.000000000 +0000 ++++ git/drivers/input/keyboard/Kconfig 2006-11-07 22:13:10.000000000 +0000 +@@ -148,12 +148,22 @@ config KEYBOARD_SPITZ + depends on PXA_SHARPSL + default y + help +- Say Y here to enable the keyboard on the Sharp Zaurus SL-C1000, ++ Say Y here to enable the keyboard on the Sharp Zaurus SL-C1000, + SL-C3000 and Sl-C3100 series of PDAs. + + To compile this driver as a module, choose M here: the + module will be called spitzkbd. + ++config KEYBOARD_TOSA ++ tristate "Tosa keyboard" ++ depends on PXA_SHARPSL ++ default y ++ help ++ Say Y here to enable the keyboard on the Sharp Zaurus SL-6000x (Tosa) ++ ++ To compile this driver as a module, choose M here: the ++ module will be called tosakbd. ++ + config KEYBOARD_AMIGA + tristate "Amiga keyboard" + depends on AMIGA +Index: git/drivers/input/keyboard/Makefile +=================================================================== +--- git.orig/drivers/input/keyboard/Makefile 2006-10-31 16:08:57.000000000 +0000 ++++ git/drivers/input/keyboard/Makefile 2006-11-07 22:13:10.000000000 +0000 +@@ -17,4 +17,5 @@ obj-$(CONFIG_KEYBOARD_SPITZ) += spitzkb + obj-$(CONFIG_KEYBOARD_HIL) += hil_kbd.o + obj-$(CONFIG_KEYBOARD_HIL_OLD) += hilkbd.o + obj-$(CONFIG_KEYBOARD_OMAP) += omap-keypad.o ++obj-$(CONFIG_KEYBOARD_TOSA) += tosakbd.o + +Index: git/drivers/input/keyboard/tosakbd.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/drivers/input/keyboard/tosakbd.c 2006-11-07 23:27:19.000000000 +0000 +@@ -0,0 +1,467 @@ ++/* ++ * Keyboard driver for Sharp Tosa models (SL-6000x) ++ * ++ * Copyright (c) 2005 Dirk Opfer ++ * ++ * Based on xtkbd.c/locomkbd.c/corgikbd.c ++ * ++ * 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. ++ * ++ */ ++ ++#include <linux/delay.h> ++#include <linux/platform_device.h> ++#include <linux/init.h> ++#include <linux/input.h> ++#include <linux/interrupt.h> ++#include <linux/jiffies.h> ++#include <linux/module.h> ++#include <linux/slab.h> ++ ++#include <asm/arch/tosa.h> ++#include <asm/arch/hardware.h> ++#include <asm/arch/pxa-regs.h> ++ ++ ++#define TOSA_KEY_STROBE_NUM (11) ++#define TOSA_KEY_SENSE_NUM (7) ++ ++#define KEYMASK_ON (0x1<<0) ++#define KEYMASK_REC (0x1<<1) ++#define KEYMASK_SYNC (0x1<<2) ++ ++#define KB_ROWS 7 ++#define KB_COLS 11 ++#define KB_ROWMASK(r) (1 << (r)) ++#define SCANCODE(r,c) ( ((r)<<4) + (c) + 1 ) ++#define NR_SCANCODES (SCANCODE(KB_ROWS-1,KB_COLS)+1+1) ++ ++#define SCAN_INTERVAL (HZ/10) ++#define HP_SCAN_INTERVAL (150) /* ms */ ++#define HP_STABLE_COUNT 2 ++ ++#define TOSA_KEY_CALENDER KEY_F1 ++#define TOSA_KEY_ADDRESS KEY_F2 ++#define TOSA_KEY_FN KEY_F3 ++#define TOSA_KEY_CANCEL KEY_F4 ++#define TOSA_KEY_OFF KEY_SUSPEND ++#define TOSA_KEY_CENTER KEY_F5 ++#define TOSA_KEY_REC KEY_F6 ++#define TOSA_KEY_LIGHT KEY_F7 ++#define TOSA_KEY_RECORD KEY_F8 ++#define TOSA_KEY_HOME KEY_F9 ++#define TOSA_KEY_MAIL KEY_F10 ++#define TOSA_KEY_OK KEY_F11 ++#define TOSA_KEY_MENU KEY_F12 ++#define TOSA_KEY_SYNC KEY_F13 ++ ++#define GET_ROWS_STATUS(c) ((GPLR2 & TOSA_GPIO_ALL_SENSE_BIT) >> TOSA_GPIO_ALL_SENSE_RSHIFT) ++#define KB_DISCHARGE_DELAY 10 ++#define KB_ACTIVATE_DELAY 10 ++ ++ ++static unsigned char tosakbd_keycode[NR_SCANCODES] = { ++ 0, /* 0 */ ++ 0, KEY_W, 0, 0, 0, KEY_K, KEY_BACKSPACE, KEY_P, 0, 0, 0, TOSA_KEY_OFF, 0, 0, 0, 0, /*1 - 16*/ ++ KEY_Q, KEY_E, KEY_T, KEY_Y, 0, KEY_O, KEY_I, KEY_COMMA, 0, 0, 0, TOSA_KEY_RECORD, 0, 0, 0, 0, /*17 - 32*/ ++ KEY_A, KEY_D, KEY_G, KEY_U, 0, KEY_L, KEY_ENTER, KEY_DOT, 0, 0, 0, TOSA_KEY_SYNC, 0, 0, 0, 0, /*33 - 48*/ ++ KEY_Z, KEY_C, KEY_V, KEY_J, TOSA_KEY_ADDRESS, TOSA_KEY_CANCEL, TOSA_KEY_CENTER, TOSA_KEY_OK, KEY_LEFTSHIFT, 0 , 0,0 , 0, 0, 0, 0, /*49 - 64*/ ++ KEY_S, KEY_R, KEY_B, KEY_N, TOSA_KEY_CALENDER, TOSA_KEY_HOME, TOSA_KEY_REC, TOSA_KEY_LIGHT, 0, KEY_RIGHTSHIFT, 0, 0, 0, 0, 0, 0, /*65 - 80*/ ++ KEY_TAB, KEY_SLASH, KEY_H, KEY_M, TOSA_KEY_MENU, 0, KEY_UP, 0, 0, 0, TOSA_KEY_FN, 0, 0, 0, 0, 0, /*81 - 96*/ ++ KEY_X, KEY_F, KEY_SPACE, KEY_APOSTROPHE, TOSA_KEY_MAIL, KEY_LEFT, KEY_DOWN, KEY_RIGHT, 0, 0, 0, 0, 0, /*97 - 109*/ ++}; ++ ++struct tosakbd { ++ unsigned char keycode[ARRAY_SIZE(tosakbd_keycode)]; ++ struct input_dev *input; ++ ++ spinlock_t lock; ++ struct timer_list timer; ++ struct timer_list hptimer; ++ ++ int hp_state; ++ int hp_count; ++ ++ unsigned int suspended; ++ unsigned long suspend_jiffies; ++}; ++ ++/* Helper functions for reading the keyboard matrix ++ * Note: We should really be using pxa_gpio_mode to alter GPDR but it ++ * requires a function call per GPIO bit which is excessive ++ * when we need to access 12 bits at once, multiple times. ++ * These functions must be called within local_irq_save()/local_irq_restore() ++ * or similar. ++ */ ++static inline void tosakbd_discharge_all(void) ++{ ++ /* STROBE All HiZ */ ++ GPCR1 = TOSA_GPIO_HIGH_STROBE_BIT; ++ GPDR1 &= ~TOSA_GPIO_HIGH_STROBE_BIT; ++ GPCR2 = TOSA_GPIO_LOW_STROBE_BIT; ++ GPDR2 &= ~TOSA_GPIO_LOW_STROBE_BIT; ++} ++ ++static inline void tosakbd_activate_all(void) ++{ ++ /* STROBE ALL -> High */ ++ GPSR1 = TOSA_GPIO_HIGH_STROBE_BIT; ++ GPDR1 |= TOSA_GPIO_HIGH_STROBE_BIT; ++ GPSR2 = TOSA_GPIO_LOW_STROBE_BIT; ++ GPDR2 |= TOSA_GPIO_LOW_STROBE_BIT; ++ ++ udelay(KB_DISCHARGE_DELAY); ++ ++ /* STATE CLEAR */ ++ GEDR2 |= TOSA_GPIO_ALL_SENSE_BIT; ++} ++ ++static inline void tosakbd_activate_col(int col) ++{ ++ if (col<=5) { ++ /* STROBE col -> High, not col -> HiZ */ ++ GPSR1 = TOSA_GPIO_STROBE_BIT(col); ++ GPDR1 = (GPDR1 & ~TOSA_GPIO_HIGH_STROBE_BIT) | TOSA_GPIO_STROBE_BIT(col); ++ } else { ++ /* STROBE col -> High, not col -> HiZ */ ++ GPSR2 = TOSA_GPIO_STROBE_BIT(col); ++ GPDR2 = (GPDR2 & ~TOSA_GPIO_LOW_STROBE_BIT) | TOSA_GPIO_STROBE_BIT(col); ++ } ++} ++ ++static inline void tosakbd_reset_col(int col) ++{ ++ if (col<=5) { ++ /* STROBE col -> Low */ ++ GPCR1 = TOSA_GPIO_STROBE_BIT(col); ++ /* STROBE col -> out, not col -> HiZ */ ++ GPDR1 = (GPDR1 & ~TOSA_GPIO_HIGH_STROBE_BIT) | TOSA_GPIO_STROBE_BIT(col); ++ } else { ++ /* STROBE col -> Low */ ++ GPCR2 = TOSA_GPIO_STROBE_BIT(col); ++ /* STROBE col -> out, not col -> HiZ */ ++ GPDR2 = (GPDR2 & ~TOSA_GPIO_LOW_STROBE_BIT) | TOSA_GPIO_STROBE_BIT(col); ++ } ++} ++ ++/* ++ * Read the GPIOs for POWER, RECORD and SYNC ++ */ ++static int read_port_key_status_raw(void) ++{ ++ int val=0; ++ ++ /* Power key */ ++ if ((GPLR0 & GPIO_bit(TOSA_GPIO_ON_KEY))==0) ++ val |= KEYMASK_ON; ++ /* Record key */ ++ if ((GPLR0 & GPIO_bit(TOSA_GPIO_RECORD_BTN))==0) ++ val |= KEYMASK_REC; ++ /* Sync key */ ++ if ((GPLR0 & GPIO_bit(TOSA_GPIO_SYNC))==0) ++ val |= KEYMASK_SYNC; ++ return val; ++} ++ ++ ++/* ++ * The tosa keyboard only generates interrupts when a key is pressed. ++ * So when a key is pressed, we enable a timer. This timer scans the ++ * keyboard, and this is how we detect when the key is released. ++ */ ++ ++/* Scan the hardware keyboard and push any changes up through the input layer */ ++static void tosakbd_scankeyboard(struct tosakbd *tosakbd_data) ++{ ++ unsigned int row, col, rowd; ++ unsigned long flags; ++ unsigned int num_pressed = 0; ++ ++ if (tosakbd_data->suspended) ++ return; ++ ++ spin_lock_irqsave(&tosakbd_data->lock, flags); ++ ++ for (col = 0; col < KB_COLS; col++) { ++ /* ++ * Discharge the output driver capacitatance ++ * in the keyboard matrix. (Yes it is significant..) ++ */ ++ tosakbd_discharge_all(); ++ udelay(KB_DISCHARGE_DELAY); ++ ++ tosakbd_activate_col( col); ++ udelay(KB_ACTIVATE_DELAY); ++ ++ rowd = GET_ROWS_STATUS(col); ++ ++ for (row = 0; row < KB_ROWS; row++) { ++ unsigned int scancode, pressed; ++ scancode = SCANCODE(row, col); ++ pressed = rowd & KB_ROWMASK(row); ++ input_report_key(tosakbd_data->input, tosakbd_data->keycode[scancode], pressed); ++ if (pressed) ++ num_pressed++; ++ } ++ ++ tosakbd_reset_col(col); ++ } ++ ++ tosakbd_activate_all(); ++ ++ rowd = read_port_key_status_raw(); ++ ++ for (row = 0; row < 3; row++ ) { ++ unsigned int scancode, pressed; ++ scancode = SCANCODE(row, KB_COLS); ++ pressed = rowd & KB_ROWMASK(row); ++ input_report_key(tosakbd_data->input, tosakbd_data->keycode[scancode], pressed); ++ if (pressed) ++ num_pressed++; ++ ++ if (pressed && (tosakbd_data->keycode[scancode] == TOSA_KEY_OFF) ++ && time_after(jiffies, tosakbd_data->suspend_jiffies + msecs_to_jiffies(1000))) { ++ input_event(tosakbd_data->input, EV_PWR, TOSA_KEY_OFF, 1); ++ tosakbd_data->suspend_jiffies = jiffies; ++ } ++ } ++ ++ input_sync(tosakbd_data->input); ++ ++ /* if any keys are pressed, enable the timer */ ++ if (num_pressed) ++ mod_timer(&tosakbd_data->timer, jiffies + SCAN_INTERVAL); ++ ++ spin_unlock_irqrestore(&tosakbd_data->lock, flags); ++} ++ ++/* ++ * tosa keyboard interrupt handler. ++ */ ++static irqreturn_t tosakbd_interrupt(int irq, void *dev_id) ++{ ++ struct tosakbd *tosakbd_data = dev_id; ++ ++ if (!timer_pending(&tosakbd_data->timer)) ++ { ++ /** wait chattering delay **/ ++ udelay(20); ++ tosakbd_scankeyboard(tosakbd_data); ++ } ++ ++ return IRQ_HANDLED; ++} ++ ++/* ++ * tosa timer checking for released keys ++ */ ++static void tosakbd_timer_callback(unsigned long data) ++{ ++ struct tosakbd *tosakbd_data = (struct tosakbd *) data; ++ tosakbd_scankeyboard(tosakbd_data); ++} ++ ++/* ++ * The headphone generates an interrupt. ++ * We debounce the switche and pass them to the input system. ++ */ ++ ++static irqreturn_t tosakbd_hp_isr(int irq, void *dev_id) ++{ ++ struct tosakbd *tosakbd_data = dev_id; ++ ++ if (!timer_pending(&tosakbd_data->hptimer)) ++ mod_timer(&tosakbd_data->hptimer, jiffies + msecs_to_jiffies(HP_SCAN_INTERVAL)); ++ ++ return IRQ_HANDLED; ++} ++ ++static void tosakbd_hp_timer(unsigned long data) ++{ ++ struct tosakbd *tosakbd_data = (struct tosakbd *) data; ++ unsigned long state; ++ unsigned long flags; ++ ++ state = (GPLR(TOSA_GPIO_EAR_IN) & GPIO_bit(TOSA_GPIO_EAR_IN)); ++ if (state != tosakbd_data->hp_state) { ++ tosakbd_data->hp_count = 0; ++ tosakbd_data->hp_state = state; ++ } else if (tosakbd_data->hp_count < HP_STABLE_COUNT) { ++ tosakbd_data->hp_count++; ++ } ++ ++ if (tosakbd_data->hp_count >= HP_STABLE_COUNT) { ++ spin_lock_irqsave(&tosakbd_data->lock, flags); ++ ++ input_report_switch(tosakbd_data->input, SW_HEADPHONE_INSERT, ((GPLR(TOSA_GPIO_EAR_IN) & GPIO_bit(TOSA_GPIO_EAR_IN)) == 0)); ++ input_sync(tosakbd_data->input); ++ ++ spin_unlock_irqrestore(&tosakbd_data->lock, flags); ++ } else { ++ mod_timer(&tosakbd_data->hptimer, jiffies + msecs_to_jiffies(HP_SCAN_INTERVAL)); ++ } ++} ++ ++#ifdef CONFIG_PM ++static int tosakbd_suspend(struct platform_device *dev, pm_message_t state) ++{ ++ struct tosakbd *tosakbd = platform_get_drvdata(dev); ++ ++ tosakbd->suspended = 1; ++ ++ return 0; ++} ++ ++static int tosakbd_resume(struct platform_device *dev) ++{ ++ struct tosakbd *tosakbd = platform_get_drvdata(dev); ++ ++ /* Upon resume, ignore the suspend key for a short while */ ++ tosakbd->suspend_jiffies = jiffies; ++ tosakbd->suspended = 0; ++ ++ return 0; ++} ++#else ++#define tosakbd_suspend NULL ++#define tosakbd_resume NULL ++#endif ++ ++static int __init tosakbd_probe(struct platform_device *pdev) { ++ ++ int i; ++ struct tosakbd *tosakbd; ++ struct input_dev *input_dev; ++ ++ tosakbd = kzalloc(sizeof(struct tosakbd), GFP_KERNEL); ++ if (!tosakbd) ++ return -ENOMEM; ++ ++ input_dev = input_allocate_device(); ++ if (!input_dev) { ++ kfree(tosakbd); ++ return -ENOMEM; ++ } ++ ++ platform_set_drvdata(pdev,tosakbd); ++ ++ spin_lock_init(&tosakbd->lock); ++ ++ /* Init Keyboard rescan timer */ ++ init_timer(&tosakbd->timer); ++ tosakbd->timer.function = tosakbd_timer_callback; ++ tosakbd->timer.data = (unsigned long) tosakbd; ++ ++ /* Init Headphone Timer */ ++ init_timer(&tosakbd->hptimer); ++ tosakbd->hptimer.function = tosakbd_hp_timer; ++ tosakbd->hptimer.data = (unsigned long) tosakbd; ++ ++ tosakbd->suspend_jiffies = jiffies; ++ ++ tosakbd->input = input_dev; ++ ++ input_dev->private = tosakbd; ++ input_dev->name = "Tosa Keyboard"; ++ input_dev->phys = "tosakbd/input0"; ++ input_dev->cdev.dev = &pdev->dev; ++ ++ input_dev->id.bustype = BUS_HOST; ++ input_dev->id.vendor = 0x0001; ++ input_dev->id.product = 0x0001; ++ input_dev->id.version = 0x0100; ++ ++ input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP) | BIT(EV_PWR) | BIT(EV_SW); ++ input_dev->keycode = tosakbd->keycode; ++ input_dev->keycodesize = sizeof(unsigned char); ++ input_dev->keycodemax = ARRAY_SIZE(tosakbd_keycode); ++ ++ memcpy(tosakbd->keycode, tosakbd_keycode, sizeof(tosakbd->keycode)); ++ for (i = 0; i < ARRAY_SIZE(tosakbd_keycode); i++) ++ set_bit(tosakbd->keycode[i], input_dev->keybit); ++ clear_bit(0, input_dev->keybit); ++ set_bit(SW_HEADPHONE_INSERT, input_dev->swbit); ++ ++ input_register_device(tosakbd->input); ++ ++ /* Setup sense interrupts - RisingEdge Detect, sense lines as inputs */ ++ for (i = 0; i < TOSA_KEY_SENSE_NUM; i++) { ++ pxa_gpio_mode( TOSA_GPIO_KEY_SENSE(i) | GPIO_IN); ++ if (request_irq(TOSA_IRQ_GPIO_KEY_SENSE(i), tosakbd_interrupt, ++ SA_INTERRUPT | SA_TRIGGER_RISING, "tosakbd", tosakbd)) { ++ printk("tosakbd: Can't get IRQ: %d !\n", i); ++ } ++ } ++ ++ /* Set Strobe lines as outputs - set high */ ++ for (i = 0; i < TOSA_KEY_STROBE_NUM; i++) { ++ pxa_gpio_mode( TOSA_GPIO_KEY_STROBE(i) | GPIO_OUT | GPIO_DFLT_HIGH); ++ } ++ ++ // Power&Rec Button ++ pxa_gpio_mode( TOSA_GPIO_ON_KEY | GPIO_IN); ++ pxa_gpio_mode( TOSA_GPIO_RECORD_BTN | GPIO_IN); ++ pxa_gpio_mode( TOSA_GPIO_SYNC | GPIO_IN); ++ pxa_gpio_mode( TOSA_GPIO_EAR_IN | GPIO_IN); ++ ++ if (request_irq(TOSA_IRQ_GPIO_ON_KEY, tosakbd_interrupt, SA_INTERRUPT | SA_TRIGGER_FALLING, "On key", tosakbd) || ++ request_irq(TOSA_IRQ_GPIO_RECORD_BTN, tosakbd_interrupt, SA_INTERRUPT | SA_TRIGGER_FALLING, "Record key", tosakbd) || ++ request_irq(TOSA_IRQ_GPIO_SYNC, tosakbd_interrupt, SA_INTERRUPT | SA_TRIGGER_FALLING, "Sync key", tosakbd) || ++ request_irq(TOSA_IRQ_GPIO_EAR_IN, tosakbd_hp_isr, SA_INTERRUPT | SA_TRIGGER_FALLING, "HP in", tosakbd)) { ++ printk("Could not allocate KEYBD IRQ!\n"); ++ } ++ ++ printk(KERN_INFO "input: Tosa Keyboard Registered\n"); ++ ++ return 0; ++} ++ ++static int tosakbd_remove(struct platform_device *dev) { ++ ++ int i; ++ struct tosakbd *tosakbd = platform_get_drvdata(dev); ++ ++ for (i = 0; i < TOSA_KEY_SENSE_NUM; i++) ++ free_irq(TOSA_IRQ_GPIO_KEY_SENSE(i),tosakbd); ++ ++ free_irq(TOSA_IRQ_GPIO_ON_KEY,tosakbd); ++ free_irq(TOSA_IRQ_GPIO_RECORD_BTN,tosakbd); ++ free_irq(TOSA_IRQ_GPIO_SYNC,tosakbd); ++ ++ del_timer_sync(&tosakbd->timer); ++ ++ input_unregister_device(tosakbd->input); ++ ++ kfree(tosakbd); ++ ++ return 0; ++} ++ ++static struct platform_driver tosakbd_driver = { ++ .probe = tosakbd_probe, ++ .remove = tosakbd_remove, ++ .suspend = tosakbd_suspend, ++ .resume = tosakbd_resume, ++ .driver = { ++ .name = "tosa-keyboard", ++ }, ++}; ++ ++static int __devinit tosakbd_init(void) ++{ ++ return platform_driver_register(&tosakbd_driver); ++} ++ ++static void __exit tosakbd_exit(void) ++{ ++ platform_driver_unregister(&tosakbd_driver); ++} ++ ++module_init(tosakbd_init); ++module_exit(tosakbd_exit); ++ ++MODULE_AUTHOR("Dirk Opfer <Dirk@Opfer-Online.de>"); ++MODULE_DESCRIPTION("Tosa Keyboard Driver"); ++MODULE_LICENSE("GPLv2"); diff --git a/packages/linux/linux-openzaurus-2.6.18+git/tosa-lcdnoise-r1.patch b/packages/linux/linux-openzaurus-2.6.18+git/tosa-lcdnoise-r1.patch new file mode 100644 index 0000000000..624098bc64 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/tosa-lcdnoise-r1.patch @@ -0,0 +1,157 @@ +Index: linux-2.6.18/arch/arm/mach-pxa/tosa.c +=================================================================== +--- linux-2.6.18.orig/arch/arm/mach-pxa/tosa.c 2006-09-20 17:14:14.000000000 +0200 ++++ linux-2.6.18/arch/arm/mach-pxa/tosa.c 2006-09-20 17:14:43.000000000 +0200 +@@ -2,6 +2,7 @@ + * Support for Sharp SL-C6000x PDAs + * Model: (Tosa) + * ++ * Copyright (c) 2006 Wolfson Microelectronics PLC. + * Copyright (c) 2005 Dirk Opfer + * + * Based on code written by Sharp/Lineo for 2.4 kernels +@@ -47,6 +48,8 @@ + #include <asm/hardware/tmio.h> + #include <asm/mach/sharpsl_param.h> + ++#include <linux/wm97xx.h> ++ + #include "generic.h" + + /* +@@ -429,6 +432,16 @@ + }, + }; + ++ ++/* ++ * Tosa Touchscreen device ++ */ ++ ++static struct wm97xx_machinfo tosa_ts_machinfo = { ++ .get_hsync_time = tosa_get_hsync_time, ++ .wait_hsync = tosa_wait_hsync, ++}; ++ + /* + * Tosa Blueooth + */ +@@ -458,6 +471,7 @@ + GPSR(TOSA_GPIO_ON_RESET) = GPIO_bit(TOSA_GPIO_ON_RESET); + + mdelay(1000); ++ wm97xx_unset_machinfo(); + arm_machine_restart('h'); + } + +@@ -503,6 +517,8 @@ + platform_scoop_config = &tosa_pcmcia_config; + + platform_add_devices(devices, ARRAY_SIZE(devices)); ++ ++ wm97xx_set_machinfo(&tosa_ts_machinfo); + } + + static void __init fixup_tosa(struct machine_desc *desc, +Index: linux-2.6.18/arch/arm/mach-pxa/tosa_lcd.c +=================================================================== +--- linux-2.6.18.orig/arch/arm/mach-pxa/tosa_lcd.c 2006-09-20 17:14:14.000000000 +0200 ++++ linux-2.6.18/arch/arm/mach-pxa/tosa_lcd.c 2006-09-20 17:14:15.000000000 +0200 +@@ -1,6 +1,7 @@ + /* + * LCD / Backlight control code for Sharp SL-6000x (tosa) + * ++ * Copyright (c) 2006 Wolfson Microelectronics PLC. + * Copyright (c) 2005 Dirk Opfer + * + * This program is free software; you can redistribute it and/or modify +@@ -59,6 +60,8 @@ + static struct ssp_dev tosa_nssp_dev; + static struct ssp_state tosa_nssp_state; + static spinlock_t tosa_nssp_lock; ++static int blanked; ++static unsigned long hsync_time; + + static unsigned short normal_i2c[] = { + DAC_BASE, +@@ -130,6 +133,17 @@ + pxa_nssp_output(TG_GPOSR,0x02); /* GPOS0=powercontrol, GPOS1=GPIO, GPOS2=TCTL */ + } + ++static unsigned long calc_hsync_time(const struct fb_videomode *mode) { ++ /* The 25 and 44 'magic numbers' are from Sharp's 2.4 patches */ ++ if (mode->yres == 640) { ++ return 25; ++ } ++ if (mode->yres == 320) { ++ return 44; ++ } ++ return 0; ++} ++ + static void tosa_lcd_tg_on(struct device *dev, const struct fb_videomode *mode) + { + const int value = TG_REG0_COLOR | TG_REG0_UD | TG_REG0_LR; +@@ -154,6 +168,8 @@ + /* set common voltage */ + i2c_smbus_write_byte_data(tosa_i2c_dac, DAC_CH1, comadj); + ++ blanked = 0; ++ hsync_time = calc_hsync_time(mode); + } + + static void tosa_lcd_tg_off(struct device *dev) +@@ -172,6 +188,8 @@ + + /* L3V Off */ + reset_scoop_gpio( &tosascoop_jc_device.dev,TOSA_SCOOP_JC_TC3693_L3V_ON); ++ ++ blanked = 1; + } + + static int tosa_detect_client(struct i2c_adapter* adapter, int address, int kind) { +@@ -238,6 +256,23 @@ + return 0; + } + ++unsigned long tosa_get_hsync_time(void) ++{ ++/* This method should eventually contain the correct algorithm for calculating ++ the hsync_time */ ++ if (blanked) ++ return 0; ++ else ++ return hsync_time; ++} ++ ++void tosa_wait_hsync(void) ++{ ++ /* Waits for a rising edge on the VGA line */ ++ while((GPLR(TOSA_GPIO_VGA_LINE) & GPIO_bit(TOSA_GPIO_VGA_LINE)) == 0); ++ while((GPLR(TOSA_GPIO_VGA_LINE) & GPIO_bit(TOSA_GPIO_VGA_LINE)) != 0); ++} ++ + static struct i2c_driver tosa_driver={ + .id = TOSA_LCD_I2C_DEVICEID, + .attach_adapter = tosa_attach_adapter, +Index: linux-2.6.18/include/asm-arm/arch-pxa/tosa.h +=================================================================== +--- linux-2.6.18.orig/include/asm-arm/arch-pxa/tosa.h 2006-09-20 17:14:13.000000000 +0200 ++++ linux-2.6.18/include/asm-arm/arch-pxa/tosa.h 2006-09-20 17:14:15.000000000 +0200 +@@ -1,6 +1,7 @@ + /* + * Hardware specific definitions for Sharp SL-C6000x series of PDAs + * ++ * Copyright (c) 2006 Wolfson Microelectronics PLC. + * Copyright (c) 2005 Dirk Opfer + * + * Based on Sharp's 2.4 kernel patches +@@ -187,4 +188,8 @@ + extern struct platform_device tosascoop_jc_device; + extern struct platform_device tosascoop_device; + extern struct platform_device tc6393_device; ++ ++unsigned long tosa_get_hsync_time(void); ++void tosa_wait_hsync(void); ++ + #endif /* _ASM_ARCH_TOSA_H_ */ diff --git a/packages/linux/linux-openzaurus-2.6.18+git/tosa-tmio-lcd-r10.patch b/packages/linux/linux-openzaurus-2.6.18+git/tosa-tmio-lcd-r10.patch new file mode 100644 index 0000000000..aef3a047c1 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/tosa-tmio-lcd-r10.patch @@ -0,0 +1,472 @@ + arch/arm/mach-pxa/Kconfig | 5 + arch/arm/mach-pxa/Makefile | 2 + arch/arm/mach-pxa/tosa.c | 49 +++++- + arch/arm/mach-pxa/tosa_lcd.c | 344 +++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 396 insertions(+), 4 deletions(-) + +Index: git/arch/arm/mach-pxa/Makefile +=================================================================== +--- git.orig/arch/arm/mach-pxa/Makefile 2006-11-07 22:13:10.000000000 +0000 ++++ git/arch/arm/mach-pxa/Makefile 2006-11-07 23:29:38.000000000 +0000 +@@ -17,7 +17,7 @@ obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o + obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o corgi_ssp.o corgi_lcd.o sharpsl_pm.o spitz_pm.o + obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o + obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o sharpsl_pm.o poodle_pm.o +-obj-$(CONFIG_MACH_TOSA) += tosa.o sharpsl_pm.o tosa_pm.o ++obj-$(CONFIG_MACH_TOSA) += tosa.o sharpsl_pm.o tosa_pm.o tosa_lcd.o + obj-$(CONFIG_MACH_HX2750) += hx2750.o hx2750_test.o + + # Support for blinky lights +Index: git/arch/arm/mach-pxa/tosa_lcd.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/arch/arm/mach-pxa/tosa_lcd.c 2006-11-07 23:29:25.000000000 +0000 +@@ -0,0 +1,344 @@ ++/* ++ * LCD / Backlight control code for Sharp SL-6000x (tosa) ++ * ++ * Copyright (c) 2005 Dirk Opfer ++ * ++ * 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. ++ * ++ */ ++ ++#include <linux/module.h> ++#include <linux/init.h> ++#include <linux/kernel.h> ++#include <linux/sched.h> ++#include <linux/slab.h> ++#include <linux/delay.h> ++#include <linux/platform_device.h> ++#include <linux/i2c.h> ++#include <linux/fb.h> ++ ++#include <asm/mach/sharpsl_param.h> ++#include <asm/hardware.h> ++#include <asm/hardware/scoop.h> ++#include <asm/hardware/tmio.h> ++#include <asm/arch/ssp.h> ++#include <asm/arch/sharpsl.h> ++#include <asm/arch/tosa.h> ++#include <asm/arch/pxa-regs.h> ++ ++#define DAC_BASE 0x4e ++#define DAC_CH1 0 ++#define DAC_CH2 1 ++ ++#define TG_REG0_VQV 0x0001 ++#define TG_REG0_COLOR 0x0002 ++#define TG_REG0_UD 0x0004 ++#define TG_REG0_LR 0x0008 ++#define COMADJ_DEFAULT 97 ++#define TOSA_LCD_I2C_DEVICEID 0x4711 // Fixme: new value ++ ++static void tosa_lcd_tg_init(struct device *dev); ++static void tosa_lcd_tg_on(struct device *dev, const struct fb_videomode *mode); ++static void tosa_lcd_tg_off(struct device *dev); ++static void tosa_set_backlight(int intensity); ++ ++const static struct tmio_lcd_ops tosa_tc6393_lcd_ops = { ++ .init = tosa_lcd_tg_init, ++ .tg_on = tosa_lcd_tg_on, ++ .tg_off = tosa_lcd_tg_off, ++}; ++ ++static struct platform_device *tosabl_device; ++static struct i2c_driver tosa_driver; ++static struct i2c_client* tosa_i2c_dac; ++static int initialised; ++static int comadj; ++static int bl_intensity; ++static struct ssp_dev tosa_nssp_dev; ++static struct ssp_state tosa_nssp_state; ++static spinlock_t tosa_nssp_lock; ++ ++static unsigned short normal_i2c[] = { ++ DAC_BASE, ++ I2C_CLIENT_END ++}; ++I2C_CLIENT_INSMOD; ++ ++static struct corgibl_machinfo tosa_bl_machinfo = { ++ .max_intensity = 255, ++ .default_intensity = 68, ++ .limit_mask = 0x0b, ++ .set_bl_intensity = tosa_set_backlight, ++}; ++ ++int tosa_bl_intensity(void) ++{ ++ return bl_intensity; ++} ++ ++static void pxa_nssp_output(unsigned char reg, unsigned char data) ++{ ++ unsigned long flag, dummy; ++ u32 dat = ( ((reg << 5) & 0xe0) | (data & 0x1f) ); ++ spin_lock_irqsave(&tosa_nssp_lock, flag); ++ ++ ssp_config(&tosa_nssp_dev, (SSCR0_Motorola | (SSCR0_DSS & 0x07 )), 0, 0, SSCR0_SerClkDiv(128)); ++ ssp_enable(&tosa_nssp_dev); ++ ++ ssp_write_word(&tosa_nssp_dev,dat); ++ ++ /* Read null data back from device to prevent SSP overflow */ ++ ssp_read_word(&tosa_nssp_dev, &dummy); ++ ssp_disable(&tosa_nssp_dev); ++ spin_unlock_irqrestore(&tosa_nssp_lock, flag); ++ ++} ++ ++static void tosa_set_backlight(int intensity) ++{ ++ if (!tosa_i2c_dac) ++ return; ++ ++ bl_intensity = intensity; ++ /* SetBacklightDuty */ ++ i2c_smbus_write_byte_data(tosa_i2c_dac, DAC_CH2, (unsigned char)intensity); ++ ++ /* SetBacklightVR */ ++ if (intensity) ++ set_tc6393_gpio(&tc6393_device.dev,TOSA_TC6393_BL_C20MA); ++ else ++ reset_tc6393_gpio(&tc6393_device.dev,TOSA_TC6393_BL_C20MA); ++ ++ /* bl_enable GP04=1 otherwise GP04=0*/ ++ pxa_nssp_output(TG_GPODR2, intensity ? 0x01 : 0x00); ++} ++ ++static void tosa_lcd_tg_init(struct device *dev) ++{ ++ /* L3V On */ ++ set_scoop_gpio( &tosascoop_jc_device.dev,TOSA_SCOOP_JC_TC3693_L3V_ON); ++ mdelay(60); ++ ++ /* TG On */ ++ reset_tc6393_gpio(&tc6393_device.dev,TOSA_TC6393_TG_ON); ++ mdelay(60); ++ ++ pxa_nssp_output(TG_TPOSCTL,0x00); /* delayed 0clk TCTL signal for VGA */ ++ pxa_nssp_output(TG_GPOSR,0x02); /* GPOS0=powercontrol, GPOS1=GPIO, GPOS2=TCTL */ ++} ++ ++static void tosa_lcd_tg_on(struct device *dev, const struct fb_videomode *mode) ++{ ++ const int value = TG_REG0_COLOR | TG_REG0_UD | TG_REG0_LR; ++ pxa_nssp_output(TG_PNLCTL, value | (mode->yres == 320 ? 0 : TG_REG0_VQV)); ++ ++ /* TG LCD pannel power up */ ++ pxa_nssp_output(TG_PINICTL,0x4); ++ mdelay(50); ++ ++ /* TG LCD GVSS */ ++ pxa_nssp_output(TG_PINICTL,0x0); ++ ++ if (!initialised) ++ { ++ /* after the pannel is powered up the first time, we can access the i2c bus */ ++ /* so probe for the DAC */ ++ i2c_add_driver(&tosa_driver); ++ initialised = 1; ++ mdelay(50); ++ } ++ if (tosa_i2c_dac) ++ /* set common voltage */ ++ i2c_smbus_write_byte_data(tosa_i2c_dac, DAC_CH1, comadj); ++ ++} ++ ++static void tosa_lcd_tg_off(struct device *dev) ++{ ++ /* TG LCD VHSA off */ ++ pxa_nssp_output(TG_PINICTL,0x4); ++ mdelay(50); ++ ++ /* TG LCD signal off */ ++ pxa_nssp_output(TG_PINICTL,0x6); ++ mdelay(50); ++ ++ /* TG Off */ ++ set_tc6393_gpio(&tc6393_device.dev, TOSA_TC6393_TG_ON); ++ mdelay(100); ++ ++ /* L3V Off */ ++ reset_scoop_gpio( &tosascoop_jc_device.dev,TOSA_SCOOP_JC_TC3693_L3V_ON); ++} ++ ++static int tosa_detect_client(struct i2c_adapter* adapter, int address, int kind) { ++ int err = 0; ++ ++ printk("Tosa-LCD: DAC detected address:0x%2.2x\n",address); ++ if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA )) ++ goto ERROR0; ++ ++ if (!(tosa_i2c_dac = (struct i2c_client*)kzalloc(sizeof(*tosa_i2c_dac), GFP_KERNEL))) { ++ err = -ENOMEM; ++ goto ERROR0; ++ } ++ ++ //i2c_set_clientdata(tosa_i2c_dac, data); ++ tosa_i2c_dac->addr = address; ++ tosa_i2c_dac->adapter = adapter; ++ tosa_i2c_dac->driver = &tosa_driver; ++ tosa_i2c_dac->dev.parent = &tc6393_device.dev; ++ strcpy(tosa_i2c_dac->name, "tosa lcd"); ++ if ((err = i2c_attach_client(tosa_i2c_dac))) ++ goto ERROR3; ++ ++ /* Now i2c is ready, allocate the backlight device*/ ++ tosabl_device = platform_device_alloc("corgi-bl", -1); ++ if (!tosabl_device) { ++ err = -ENOMEM; ++ goto ERROR4; ++ } ++ ++ /* set parent device */ ++ tosabl_device->dev.parent = &tosa_i2c_dac->dev; ++ tosabl_device->dev.platform_data = &tosa_bl_machinfo; ++ ++ err = platform_device_add(tosabl_device); ++ ++ if (err) ++ platform_device_put(tosabl_device); ++ ++ /* set common voltage */ ++ i2c_smbus_write_byte_data(tosa_i2c_dac, DAC_CH1, comadj); ++ ++ return 0; ++ERROR4: ++ i2c_detach_client(tosa_i2c_dac); ++ERROR3: ++ kfree(tosa_i2c_dac); ++ERROR0: ++ return err; ++} ++ ++static int tosa_attach_adapter(struct i2c_adapter* adapter) { ++ return i2c_probe(adapter, &addr_data, &tosa_detect_client); ++} ++ ++static int tosa_detach_client(struct i2c_client* client) { ++ int err; ++ ++ if ((err = i2c_detach_client(client))) { ++ printk(KERN_ERR "tosa: Cannot deregister client\n"); ++ return err; ++ } ++ kfree(client); ++ return 0; ++} ++ ++static struct i2c_driver tosa_driver={ ++ .id = TOSA_LCD_I2C_DEVICEID, ++ .attach_adapter = tosa_attach_adapter, ++ .detach_client = tosa_detach_client, ++}; ++ ++static int __init tosa_lcd_probe(struct platform_device *pdev) ++{ ++ int ret; ++ spin_lock_init(&tosa_nssp_lock); ++ ++ if (!pdev->dev.platform_data) ++ return -EINVAL; ++ ++ /* Set Common Voltage */ ++ comadj = sharpsl_param.comadj == -1 ? COMADJ_DEFAULT : sharpsl_param.comadj; ++ ++ ret=ssp_init(&tosa_nssp_dev,2,0); ++ ++ /* initialize SSP */ ++ pxa_gpio_mode(GPIO83_NSSP_TX); ++ pxa_gpio_mode(GPIO81_NSSP_CLK_OUT); ++ pxa_gpio_mode(GPIO82_NSSP_FRM_OUT); ++ ++ if (ret) ++ printk(KERN_ERR "Unable to register NSSP handler!\n"); ++ else { ++ struct tmio_lcd_ops* *tmio_ops = pdev->dev.platform_data; ++ ssp_disable(&tosa_nssp_dev); ++ initialised = 0; ++ ++ /* Set the lcd functions */ ++ *tmio_ops = (struct tmio_lcd_ops*) &tosa_tc6393_lcd_ops; ++ } ++ ++ return ret; ++} ++ ++static int tosa_lcd_remove(struct platform_device *pdev) ++{ ++ /* delete the lcd functions */ ++ struct tmio_lcd_ops* *tmio_ops = pdev->dev.platform_data; ++ *tmio_ops = NULL; ++ ++ ssp_exit(&tosa_nssp_dev); ++ ++ if (tosa_i2c_dac) { ++ i2c_detach_client(tosa_i2c_dac); ++ kfree(tosa_i2c_dac); ++ } ++ ++ return 0; ++} ++ ++#ifdef CONFIG_PM ++ ++static int tosa_lcd_suspend(struct platform_device *pdev, pm_message_t state) ++{ ++ ssp_flush(&tosa_nssp_dev); ++ ssp_save_state(&tosa_nssp_dev,&tosa_nssp_state); ++ return 0; ++} ++ ++static int tosa_lcd_resume(struct platform_device *pdev) ++{ ++ printk("tosa_lcd_resume\n"); ++ ssp_restore_state(&tosa_nssp_dev,&tosa_nssp_state); ++ ssp_enable(&tosa_nssp_dev); ++ printk("tosa_lcd_resume ok\n"); ++ return 0; ++} ++#else ++ ++#define tosa_lcd_suspend NULL ++#define tosa_lcd_resume NULL ++ ++#endif ++ ++ ++static struct platform_driver tosalcd_driver = { ++ .probe = tosa_lcd_probe, ++ .remove = tosa_lcd_remove, ++ .suspend = tosa_lcd_suspend, ++ .resume = tosa_lcd_resume, ++ .driver = { ++ .name = "tosa-lcd", ++ }, ++}; ++ ++static int __init tosa_lcd_init(void) ++{ ++ return platform_driver_register(&tosalcd_driver); ++} ++ ++static void __exit tosa_lcd_cleanup (void) ++{ ++ platform_driver_unregister (&tosalcd_driver); ++} ++ ++device_initcall(tosa_lcd_init); ++module_exit (tosa_lcd_cleanup); ++ ++MODULE_DESCRIPTION ("Tosa LCD device"); ++MODULE_AUTHOR ("Dirk Opfer"); ++MODULE_LICENSE ("GPL v2"); +Index: git/arch/arm/mach-pxa/tosa.c +=================================================================== +--- git.orig/arch/arm/mach-pxa/tosa.c 2006-11-07 22:13:10.000000000 +0000 ++++ git/arch/arm/mach-pxa/tosa.c 2006-11-07 23:29:38.000000000 +0000 +@@ -24,6 +24,7 @@ + #include <linux/mtd/partitions.h> + #include <linux/pm.h> + #include <linux/delay.h> ++#include <linux/fb.h> + + #include <asm/setup.h> + #include <asm/memory.h> +@@ -48,7 +49,6 @@ + + #include "generic.h" + +- + /* + * SCOOP Device + */ +@@ -345,7 +345,38 @@ static struct tmio_nand_platform_data to + .badblock_pattern = &tosa_tc6393_nand_bbt, + }; + +-extern struct tmio_lcd_platform_data tosa_tc6393_lcd_platform_data; ++static struct fb_videomode tosa_tc6393_lcd_mode[] = { ++ { ++ .xres = 480, ++ .yres = 640, ++ .pixclock = 0x002cdf00,/* PLL divisor */ ++ .left_margin = 0x004c, ++ .right_margin = 0x005b, ++ .upper_margin = 0x0001, ++ .lower_margin = 0x000d, ++ .hsync_len = 0x0002, ++ .vsync_len = 0x0001, ++ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, ++ .vmode = FB_VMODE_NONINTERLACED, ++ },{ ++ .xres = 240, ++ .yres = 320, ++ .pixclock = 0x00e7f203,/* PLL divisor */ ++ .left_margin = 0x0024, ++ .right_margin = 0x002f, ++ .upper_margin = 0x0001, ++ .lower_margin = 0x000d, ++ .hsync_len = 0x0002, ++ .vsync_len = 0x0001, ++ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, ++ .vmode = FB_VMODE_NONINTERLACED, ++}}; ++ ++struct tmio_lcd_platform_data tosa_tc6393_lcd_platform_data = { ++ .ops = NULL, ++ .modelist = tosa_tc6393_lcd_mode, ++ .num_modes = ARRAY_SIZE(tosa_tc6393_lcd_mode), ++}; + + static struct tmio_cell tosa_tc6393_cells[] = { + { +@@ -384,6 +415,19 @@ struct platform_device tc6393_device = { + .num_resources = ARRAY_SIZE(tc6393_resources), + .resource = tc6393_resources, + }; ++EXPORT_SYMBOL (tc6393_device); ++ ++/* ++ * Tosa LCD / Backlight stuff ++ */ ++static struct platform_device tosalcd_device = { ++ .name = "tosa-lcd", ++ .id = -1, ++ .dev = { ++ .parent = &tc6393_device.dev, ++ .platform_data = &tosa_tc6393_lcd_platform_data.ops, ++ }, ++}; + + static struct platform_device *devices[] __initdata = { + &tosascoop_device, +@@ -391,6 +435,7 @@ static struct platform_device *devices[] + &tosakbd_device, + &tosaled_device, + &tc6393_device, ++ &tosalcd_device, + }; + + static void tosa_poweroff(void) +Index: git/arch/arm/mach-pxa/Kconfig +=================================================================== +--- git.orig/arch/arm/mach-pxa/Kconfig 2006-11-07 22:13:10.000000000 +0000 ++++ git/arch/arm/mach-pxa/Kconfig 2006-11-07 22:13:10.000000000 +0000 +@@ -129,7 +129,10 @@ config MACH_TOSA + bool "Enable Sharp SL-6000x (Tosa) Support" + depends PXA_SHARPSL_25x + select TOSHIBA_TC6393XB +- select SHARPSL_PM ++ select I2C ++ select I2C_PXA ++ select SHARPSL_PM ++ select PXA_SSP + + config PXA25x + bool diff --git a/packages/linux/linux-openzaurus-2.6.18+git/wm9712-reset-loop-r2.patch b/packages/linux/linux-openzaurus-2.6.18+git/wm9712-reset-loop-r2.patch new file mode 100644 index 0000000000..78e81ea83a --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/wm9712-reset-loop-r2.patch @@ -0,0 +1,44 @@ + sound/soc/codecs/wm9712.c | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +Index: git/sound/soc/codecs/wm9712.c +=================================================================== +--- git.orig/sound/soc/codecs/wm9712.c 2006-11-07 22:10:01.000000000 +0000 ++++ git/sound/soc/codecs/wm9712.c 2006-11-07 22:11:50.000000000 +0000 +@@ -618,18 +618,26 @@ static int wm9712_dapm_event(struct snd_ + + static int wm9712_reset(struct snd_soc_codec *codec, int try_warm) + { +- if (try_warm && soc_ac97_ops.warm_reset) { +- soc_ac97_ops.warm_reset(codec->ac97); +- if (!(ac97_read(codec, 0) & 0x8000)) +- return 1; +- } ++ int retry = 3; + +- soc_ac97_ops.reset(codec->ac97); +- if (ac97_read(codec, 0) & 0x8000) +- goto err; +- return 0; ++ while (retry--) ++ { ++ if(try_warm && soc_ac97_ops.warm_reset) { ++ soc_ac97_ops.warm_reset(codec->ac97); ++ if(ac97_read(codec, 0) & 0x8000) ++ continue; ++ else ++ return 1; ++ } ++ ++ soc_ac97_ops.reset(codec->ac97); ++ if(ac97_read(codec, 0) & 0x8000) ++ continue; ++ else ++ return 0; ++ ++ } + +-err: + printk(KERN_ERR "WM9712 AC97 reset failed\n"); + return -EIO; + } diff --git a/packages/linux/linux-openzaurus-2.6.18+git/wm9712-suspend-cold-res-r2.patch b/packages/linux/linux-openzaurus-2.6.18+git/wm9712-suspend-cold-res-r2.patch new file mode 100644 index 0000000000..5179b47cc4 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.18+git/wm9712-suspend-cold-res-r2.patch @@ -0,0 +1,16 @@ + sound/soc/codecs/wm9712.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: git/sound/soc/codecs/wm9712.c +=================================================================== +--- git.orig/sound/soc/codecs/wm9712.c 2006-11-07 21:57:34.000000000 +0000 ++++ git/sound/soc/codecs/wm9712.c 2006-11-07 21:59:30.000000000 +0000 +@@ -651,7 +651,7 @@ static int wm9712_soc_resume(struct plat + int i, ret; + u16 *cache = codec->reg_cache; + +- ret = wm9712_reset(codec, 1); ++ ret = wm9712_reset(codec, 0); + if (ret < 0){ + printk(KERN_ERR "could not reset AC97 codec\n"); + return ret; diff --git a/packages/linux/linux-openzaurus_2.6.18+git.bb b/packages/linux/linux-openzaurus_2.6.18+git.bb index c81d67ef5a..6232c9bf47 100644 --- a/packages/linux/linux-openzaurus_2.6.18+git.bb +++ b/packages/linux/linux-openzaurus_2.6.18+git.bb @@ -82,22 +82,22 @@ SRC_URI_append_collie = "\ SRC_URI_append_tosa = "\ ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \ ${CHSRC}/tmio-core-r4.patch;patch=1 \ - file://tmio-tc6393-r7.patch;patch=1 \ - file://tmio-nand-r6.patch;patch=1 \ - file://tmio-ohci-r5.patch;patch=1 \ + file://tmio-tc6393-r8.patch;patch=1 \ + file://tmio-nand-r7.patch;patch=1 \ + file://tmio-ohci-r6.patch;patch=1 \ ${CHSRC}/tmio-fb-r6.patch;patch=1 \ - ${DOSRC}/tosa-keyboard-r17.patch;patch=1 \ + file://tosa-keyboard-r18.patch;patch=1 \ ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \ ${DOSRC}/tosa-tmio-r6.patch;patch=1 \ ${DOSRC}/tosa-power-r17.patch;patch=1 \ - file://tosa-tmio-lcd-r9.patch;patch=1 \ + file://tosa-tmio-lcd-r10.patch;patch=1 \ ${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \ ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \ - ${DOSRC}/wm9712-suspend-cold-res-r1.patch;patch=1 \ - ${DOSRC}/sharpsl-pm-postresume-r0.patch;patch=1 \ + file://wm9712-suspend-cold-res-r2.patch;patch=1 \ + file://sharpsl-pm-postresume-r1.patch;patch=1 \ ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \ ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \ - ${DOSRC}/wm9712-reset-loop-r1.patch;patch=1 \ + file://wm9712-reset-loop-r2.patch;patch=1 \ file://tosa-lcdnoise-r1.patch;patch=1 \ file://wm97xx-lcdnoise-r0.patch;patch=1 " # ${DOSRC}/tosa-asoc-r1.patch;patch=1 " diff --git a/packages/linux/unslung-kernel/defconfig b/packages/linux/unslung-kernel/defconfig index 4f90b9dca6..7a2f164e6f 100644 --- a/packages/linux/unslung-kernel/defconfig +++ b/packages/linux/unslung-kernel/defconfig @@ -458,7 +458,20 @@ CONFIG_IPDDP=m CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP_DECAP=y # CONFIG_DECNET is not set -# CONFIG_BRIDGE is not set +CONFIG_BRIDGE=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_IPF=m +CONFIG_BRIDGE_EBT_ARPF=m +CONFIG_BRIDGE_EBT_VLANF=m +CONFIG_BRIDGE_EBT_MARKF=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_MARK_T=m # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set @@ -513,11 +526,6 @@ CONFIG_TUN=m CONFIG_ETHERTAP=m # -# Netconsole support -# -CONFIG_NETCONSOLE=m - -# # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y @@ -592,6 +600,7 @@ CONFIG_8139CP_PHY_NUM=32 # CONFIG_SK98LIN is not set # CONFIG_TIGON3 is not set # CONFIG_FDDI is not set +CONFIG_NETCONSOLE=m # CONFIG_HIPPI is not set # CONFIG_PLIP is not set CONFIG_PPP=m @@ -1188,6 +1197,18 @@ CONFIG_USB_SERIAL_VISOR=m # CONFIG_USB_SERIAL_EDGEPORT_TI is not set # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set CONFIG_USB_SERIAL_KEYSPAN=m +# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set +# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_KLSI is not set # CONFIG_USB_SERIAL_KOBIL_SCT is not set diff --git a/packages/linux/unslung-kernel_2.4.22.l2.3r63.bb b/packages/linux/unslung-kernel_2.4.22.l2.3r63.bb index 3043992d83..fd8afd1090 100644 --- a/packages/linux/unslung-kernel_2.4.22.l2.3r63.bb +++ b/packages/linux/unslung-kernel_2.4.22.l2.3r63.bb @@ -3,7 +3,7 @@ SECTION = "kernel" require nslu2-linksys-kernel_2.4.22.bb DESCRIPTION = "Unslung kernel for the Linksys NSLU2 device" -PR = "r14" +PR = "r15" KERNEL_SUFFIX = "unslung" diff --git a/packages/matchbox-applet-inputmanager/files/.mtn2git_empty b/packages/matchbox-applet-inputmanager/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/matchbox-applet-inputmanager/files/.mtn2git_empty diff --git a/packages/matchbox-applet-inputmanager/files/mbinputmgr-libgtkinput.patch b/packages/matchbox-applet-inputmanager/files/mbinputmgr-libgtkinput.patch new file mode 100644 index 0000000000..5d1ccdc0c7 --- /dev/null +++ b/packages/matchbox-applet-inputmanager/files/mbinputmgr-libgtkinput.patch @@ -0,0 +1,350 @@ +Index: mb-applet-input-manager-0.6/mbinputmgr-tray.c +=================================================================== +--- mb-applet-input-manager-0.6/mbinputmgr-tray.c (revision 1292) ++++ mb-applet-input-manager-0.6/mbinputmgr-tray.c (working copy) +@@ -32,8 +32,20 @@ + MBInpmgrState *Inpmgr_state = NULL; + Bool ButtonIsDown = False; + int ButtonActive; +-Atom AtomIMActivate; + ++Atom atoms[2]; ++char *atom_names[] = ++ { ++ "_MB_INPUT_REQUEST", ++ "_GPE_INPUT_MANAGER" ++ }; ++ ++#define _MB_INPUT_REQUEST 0 ++#define _GPE_INPUT_MANAGER 1 ++ ++#define _GPE_INPUT_MANAGER_OPEN 1 ++#define _GPE_INPUT_MANAGER_CLOSE 2 ++ + typedef struct ButtonImgs { + + MBPixbufImage *active; +@@ -41,6 +53,17 @@ + + } ButtonImgs; + ++struct window_record ++{ ++ Window w; ++ struct window_record *next; ++}; ++ ++struct window_record *requests; ++ ++Display *dpy; ++Bool auto_enabled; ++ + void + paint_callback ( MBTrayApp *app, Drawable drw ) + { +@@ -262,14 +285,190 @@ + } + + void ++really_close (void) ++{ ++ if (requests == NULL && mbinputmgr_method_active (Inpmgr_state) && auto_enabled) ++ { ++ mbinputmgr_toggle_selected_method (Inpmgr_state); ++ auto_enabled = False; ++ } ++} ++ ++Bool timer_active; ++struct timeval expires; ++ ++Bool ++get_timeout (struct timeval *tv) ++{ ++ int sec, usec; ++ struct timeval now; ++ ++ if (!timer_active) ++ return False; ++ ++ gettimeofday (&now, NULL); ++ ++ sec = expires.tv_sec - now.tv_sec; ++ usec = expires.tv_usec - now.tv_usec; ++ if (usec < 0) ++ { ++ sec--; ++ usec += 1000000; ++ } ++ ++ if (sec < 0) ++ { ++ /* timer expired */ ++ really_close (); ++ timer_active = False; ++ return False; ++ } ++ ++ tv->tv_sec = sec; ++ tv->tv_usec = usec; ++ ++ return True; ++} ++ ++Bool ++process_close_request (Window w) ++{ ++ struct window_record *r, *pr = NULL; ++ unsigned long tv; ++ ++ for (r = requests; r != NULL && r->w != w; ) ++ { ++ pr = r; ++ r = r->next; ++ } ++ ++ if (r) ++ { ++ if (pr) ++ pr->next = r->next; ++ else ++ requests = r->next; ++ ++ free (r); ++ ++ if (requests == NULL && mbinputmgr_method_active (Inpmgr_state) && auto_enabled) ++ { ++ timer_active = True; ++ gettimeofday (&expires, NULL); ++ expires.tv_usec += 100000; ++ if (expires.tv_usec >= 1000000) ++ { ++ expires.tv_sec++; ++ expires.tv_usec -= 1000000; ++ } ++ } ++ ++ return True; ++ } ++ ++ return False; ++} ++ ++int trapped_error_code; ++int (*old_error_handler) (Display *d, XErrorEvent *e); ++ ++static int ++error_handler(Display *display, ++ XErrorEvent *error) ++{ ++ trapped_error_code = error->error_code; ++ return 0; ++} ++ ++static void ++trap_errors(void) ++{ ++ trapped_error_code = 0; ++ old_error_handler = XSetErrorHandler(error_handler); ++} ++ ++static int ++untrap_errors(void) ++{ ++ XSetErrorHandler(old_error_handler); ++ return trapped_error_code; ++} ++ ++Bool ++process_open_request (Window w) ++{ ++ struct window_record *r; ++ ++ for (r = requests; r != NULL && r->w != w; r = r->next) ++ ; ++ ++ if (r) ++ return True; ++ ++ trap_errors (); ++ XSelectInput (dpy, w, StructureNotifyMask); ++ XSync (dpy, False); ++ if (untrap_errors ()) ++ return False; ++ ++ r = malloc (sizeof (*r)); ++ r->next = requests; ++ r->w = w; ++ requests = r; ++ ++ if (!mbinputmgr_method_active(Inpmgr_state)) ++ { ++ mbinputmgr_toggle_selected_method (Inpmgr_state); ++ auto_enabled = True; ++ } ++ ++ return False; ++} ++ ++Bool docked_already; ++ ++void ++is_docked (void) ++{ ++ Window tray_w; ++ ++ tray_w = mb_tray_app_xwin (app); ++ ++ if (XGetSelectionOwner (dpy, atoms[_GPE_INPUT_MANAGER]) == None) ++ { ++ XSetSelectionOwner (dpy, atoms[_GPE_INPUT_MANAGER], tray_w, CurrentTime); ++ } ++ else ++ { ++ fprintf (stderr, "Unable to claim _GPE_INPUT_MANAGER selection.\n"); ++ } ++} ++ ++void + xevent_callback (MBTrayApp *app, XEvent *ev) + { + if (ev->type == ClientMessage) + { + XClientMessageEvent *cmev = (XClientMessageEvent *)&ev->xconfigure; + +- if (cmev->message_type == AtomIMActivate) ++ if (cmev->message_type == atoms[_GPE_INPUT_MANAGER]) + { ++ switch (cmev->data.l[0]) ++ { ++ case _GPE_INPUT_MANAGER_OPEN: ++ process_open_request (cmev->data.l[1]); ++ break; ++ case _GPE_INPUT_MANAGER_CLOSE: ++ process_close_request (cmev->data.l[1]); ++ break; ++ default: ++ fprintf (stderr, "received unknown _GPE_INPUT_MANAGER request %d\n", cmev->data.l[0]); ++ break; ++ } ++ } ++#ifndef DISABLE_OLD_PROTOCOL ++ else if (cmev->message_type == atoms[_MB_INPUT_REQUEST]) ++ { + /* De Activate */ + if (cmev->data.l[0] == 0 && mbinputmgr_method_active(Inpmgr_state)) + mbinputmgr_toggle_selected_method (Inpmgr_state); +@@ -278,8 +477,20 @@ + && !mbinputmgr_method_active(Inpmgr_state)) + mbinputmgr_toggle_selected_method (Inpmgr_state); + } ++#endif + } ++ else if (ev->type == UnmapNotify) ++ { ++ XUnmapEvent *uev = &ev->xunmap; + ++ process_close_request (uev->window); ++ } ++ else if (ev->type == ConfigureNotify && !docked_already) ++ { ++ docked_already = TRUE; ++ is_docked (); ++ } ++ + mb_menu_handle_xevent (PopupMenu, ev); + } + +@@ -347,11 +558,42 @@ + free(icon_path); + } + ++static Bool ++get_xevent_timed(Display* dpy, XEvent* event_return, struct timeval *tv) ++{ ++ if (tv == NULL) ++ { ++ XNextEvent(dpy, event_return); ++ return True; ++ } ++ ++ XFlush(dpy); ++ ++ if (XPending(dpy) == 0) ++ { ++ int fd = ConnectionNumber(dpy); ++ fd_set readset; ++ FD_ZERO(&readset); ++ FD_SET(fd, &readset); ++ if (select(fd+1, &readset, NULL, NULL, tv) == 0) ++ { ++ return False; ++ } else { ++ XNextEvent(dpy, event_return); ++ return True; ++ } ++ } else { ++ XNextEvent(dpy, event_return); ++ return True; ++ } ++} ++ + int + main(int argc, char **argv) + { + int i; + MBPixbufImage *app_icon_img = NULL; ++ XEvent xevent; + + app = mb_tray_app_new ( "Input Selector", + resize_callback, +@@ -359,13 +601,13 @@ + &argc, + &argv ); + ++ dpy = mb_tray_app_xdisplay (app); ++ + Pixbuf = mb_pixbuf_new(mb_tray_app_xdisplay(app), + mb_tray_app_xscreen(app)); + +- AtomIMActivate = XInternAtom(mb_tray_app_xdisplay(app), +- "_MB_INPUT_REQUEST", False); ++ XInternAtoms (dpy, atom_names, sizeof (atom_names) / sizeof (atom_names[0]), False, atoms); + +- + PopupMenu = mb_menu_new (mb_tray_app_xdisplay(app), + mb_tray_app_xscreen(app)); + +@@ -399,17 +641,30 @@ + + mb_tray_app_set_xevent_callback (app, xevent_callback ); + ++ mb_tray_app_set_xevent_mask (app, SubstructureNotifyMask); ++ + mb_tray_app_set_button_callback (app, button_callback ); + + /* XXX set up dnotify to reload entrys only on _addition_ */ + ++#ifndef DISABLE_OLD_PROTOCOL + XSelectInput(mb_tray_app_xdisplay(app), + mb_tray_app_xrootwin(app), + SubstructureNotifyMask); ++#endif + ++ /* Not using mb_tray_app_main() to avoid libmb's broken get_xevent_timed() */ ++ mb_tray_app_main_init (app); ++ for (;;) ++ { ++ struct timeval tv, *tvp = NULL; + +- mb_tray_app_main (app); ++ if (get_timeout (&tv)) ++ tvp = &tv; + ++ if (get_xevent_timed (dpy, &xevent, tvp)) ++ mb_tray_handle_xevent (app, &xevent); ++ } ++ + return 0; + } +- diff --git a/packages/matchbox-applet-inputmanager/files/update-to-svn.diff b/packages/matchbox-applet-inputmanager/files/update-to-svn.diff new file mode 100644 index 0000000000..6ec68a0ea2 --- /dev/null +++ b/packages/matchbox-applet-inputmanager/files/update-to-svn.diff @@ -0,0 +1,33 @@ +--- /tmp/mbinputmgr-tray.c 2006-11-11 14:11:02.000000000 +0100 ++++ mb-applet-input-manager-0.6/mbinputmgr-tray.c 2006-11-11 14:11:43.638554000 +0100 +@@ -228,6 +228,15 @@ + || (!mb_tray_app_tray_is_vertical (app) && x > IconWidth) ) + { + mb_tray_app_get_absolute_coords (app, &abs_x, &abs_y); ++ ++ /* aligned top, position down a little */ ++ if (abs_y < 8) ++ { ++ int w, h; ++ mb_menu_get_root_menu_size(PopupMenu, &w, &h); ++ abs_y = h + IconDim + 2; ++ } ++ + mb_menu_activate(PopupMenu, abs_x, abs_y); + ButtonActive = BUTTON_MENU; + } +@@ -257,14 +266,10 @@ + { + if (ev->type == ClientMessage) + { +- printf("beep\n"); +- + XClientMessageEvent *cmev = (XClientMessageEvent *)&ev->xconfigure; + + if (cmev->message_type == AtomIMActivate) + { +- printf("beep\n"); +- + /* De Activate */ + if (cmev->data.l[0] == 0 && mbinputmgr_method_active(Inpmgr_state)) + mbinputmgr_toggle_selected_method (Inpmgr_state); diff --git a/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb b/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb index f0dc8f09e4..69fe062178 100644 --- a/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb +++ b/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb @@ -3,11 +3,16 @@ LICENSE = "GPL" DEPENDS = "matchbox-wm libmatchbox" SECTION = "x11/wm" -PR = "r1" +PR = "r3" + +SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/${PV}/mb-applet-input-manager-${PV}.tar.gz \ + file://update-to-svn.diff;patch=1 \ + file://mbinputmgr-libgtkinput.patch;patch=1 \ + " -SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/${PV}/mb-applet-input-manager-${PV}.tar.gz" S = "${WORKDIR}/mb-applet-input-manager-${PV}" + inherit autotools pkgconfig FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps" diff --git a/packages/mplayer/mplayer_1.0pre8.bb b/packages/mplayer/mplayer_1.0pre8.bb index b38cdecc0f..b5af659fe9 100644 --- a/packages/mplayer/mplayer_1.0pre8.bb +++ b/packages/mplayer/mplayer_1.0pre8.bb @@ -6,25 +6,26 @@ DEPENDS = "virtual/libsdl libmad zlib libpng jpeg liba52 freetype fontconfig als RDEPENDS = "mplayer-common" LICENSE = "GPL" SRC_URI = "http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-${PV}.tar.bz2 \ - file://vo_w100.c \ - file://vo_w100_api.h \ - file://vo_w100_fb.h \ - file://Makefile.patch;patch=1 \ - file://w100-configure.patch;patch=1 \ - file://w100-Makefile.patch;patch=1 \ - file://w100-video_out.patch;patch=1 \ - file://w100-mplayer.patch;patch=1 \ + file://vo_w100.c \ + file://vo_w100_api.h \ + file://vo_w100_fb.h \ + file://Makefile.patch;patch=1 \ + file://w100-configure.patch;patch=1 \ + file://w100-Makefile.patch;patch=1 \ + file://w100-video_out.patch;patch=1 \ + file://w100-mplayer.patch;patch=1 \ file://libmpdemux-ogg-include.patch;patch=1 \ file://libmpcodecs-ogg-include.patch;patch=1 \ - file://pld-onlyarm5.patch;patch=1" + file://pld-onlyarm5.patch;patch=1 \ + ${SOURCEFORGE_MIRROR}/libw100/mplayer-imageon.patch;patch=1" RCONFLICTS_${PN} = "mplayer-atty" RREPLACES_${PN} = "mplayer-atty" -PR = "r2" +PR = "r3" PARALLEL_MAKE = "" -DEPENDS_append_c7x0 = " sharp-aticore-oss" +DEPENDS_append_c7x0 = " sharp-aticore-oss libw100 " S = "${WORKDIR}/MPlayer-${PV}" @@ -166,7 +167,7 @@ EXTRA_OECONF = " \ --disable-runtime-cpudetection \ " -EXTRA_OECONF_append_c7x0 = " --enable-w100 " +EXTRA_OECONF_append_c7x0 = " --enable-w100 --enable-imageon " do_configure() { cp ${WORKDIR}/vo_w100.c ${S}/libvo diff --git a/packages/nslu2-binary-only/unslung-rootfs/NOTES b/packages/nslu2-binary-only/unslung-rootfs/NOTES index de4d8b00bf..34d319d656 100644 --- a/packages/nslu2-binary-only/unslung-rootfs/NOTES +++ b/packages/nslu2-binary-only/unslung-rootfs/NOTES @@ -546,3 +546,10 @@ maintenance; easier than plugging and unplugging disks. Empty the /etc/win_share.info file on boot (fixes problem with multiple identical shares appearing on a system). + +Upgraded slingbox to v1.2.2 busybox base; enabled fdisk. + +Replaced Linksys busybox with slingbox entirely. + +Modified "unsling" script to use tar instead of find and cpio; removed +obsolete and untested unsling utilities (eg: resling). diff --git a/packages/nslu2-binary-only/unslung-rootfs/rc.1-diversion.patch b/packages/nslu2-binary-only/unslung-rootfs/rc.1-diversion.patch index 35015d6c82..d0d769931c 100644 --- a/packages/nslu2-binary-only/unslung-rootfs/rc.1-diversion.patch +++ b/packages/nslu2-binary-only/unslung-rootfs/rc.1-diversion.patch @@ -13,7 +13,7 @@ /bin/echo "Starting Rest Task :"; . /etc/rc.d/rc.local +/bin/echo "Starting Optware Packages:"; ( . /etc/rc.d/rc.optware-start ) -+ ++/bin/echo "Starting Bootdisk scripts:"; ( . /etc/rc.d/rc.bootdisk ) /usr/bin/Set_Led ready /usr/bin/Set_Led beep1 /bin/echo "Checking disk status :"; /usr/sbin/CheckDiskFull 2 >/dev/null diff --git a/packages/nslu2-binary-only/unslung-rootfs/rc.bootdisk b/packages/nslu2-binary-only/unslung-rootfs/rc.bootdisk new file mode 100755 index 0000000000..3055c1a6c4 --- /dev/null +++ b/packages/nslu2-binary-only/unslung-rootfs/rc.bootdisk @@ -0,0 +1,41 @@ +#!/bin/sh + +# If we're not booting from flash, exit. +i=`grep "/dev/root / jffs2" /proc/mounts` +if ( [ -z "$i" ] ) ; then return 0 ; fi + +# Establish our identity +linksys_hostname=`grep "^default_server_name=" /etc/CGI_ds.conf | sed s/default_server_name=//` +real_hostname=`hostname` +echo "====> linksys_hostname is $linksys_hostname" +echo "====> real_hostname is $real_hostname" + +# but don't duplicate +if ( [ "$linksys_hostname" = `hostname` ] ) ; then linksys_hostname= ; fi +if ( [ "$real_hostname" = "unslung" ] ) ; then real_hostname= ; fi + +# Search all FAT/NTFS filesystem in order. +# (heavily borrowed from the rc.start-optware script). +for i in /share/*/data/HDD_* ; do + if ( [ "$i" = '/share/*/data/HDD_*' ] ) ; then break ; fi + echo "====> searching $i..." + for j in $linksys_hostname $real_hostname "unslung" ; do + echo "====> checking $i/bootdisk/$j ..." + if ( [ -d "$i"/bootdisk/"$j" ] ) ; then + for k in "$i"/bootdisk/"$j"/S??* ; do + echo "====> found $k ..." + [ ! -f "$k" ] && continue + nocopy=`grep "^#unslung-nocopy" "$k"` + if ( [ -z "$nocopy" ] ) ; then + echo "====> running copy: /tmp/tmpscript $k $i" + dos2unix -u <"$k" >/tmp/tmpscript + /bin/sh /tmp/tmpscript "$k" "$i" + rm -f /tmp/tmpscript + else + echo "====> running in-place $k $k $i" + /bin/sh "$k" "$k" "$i" + fi + done + fi + done +done diff --git a/packages/nslu2-binary-only/unslung-rootfs/rc.lan-shell.patch b/packages/nslu2-binary-only/unslung-rootfs/rc.lan-shell.patch new file mode 100644 index 0000000000..5d25788fdf --- /dev/null +++ b/packages/nslu2-binary-only/unslung-rootfs/rc.lan-shell.patch @@ -0,0 +1,7 @@ +--- nslu2-linksys-ramdisk-2.3r63/etc/rc.d/rc.lan.orig 2006-11-10 20:07:27.000000000 -0600 ++++ nslu2-linksys-ramdisk-2.3r63/etc/rc.d/rc.lan 2006-11-10 20:07:35.000000000 -0600 +@@ -1,3 +1,3 @@ +-#!/bin/bash ++#!/bin/sh + #echo "set network driver to operate in auto-sense mode" + #/sbin/insmod /lib/modules/sk98lin.o diff --git a/packages/nslu2-binary-only/unslung-rootfs/unsling b/packages/nslu2-binary-only/unslung-rootfs/unsling index 400c7d0ad2..79584df8b7 100755 --- a/packages/nslu2-binary-only/unslung-rootfs/unsling +++ b/packages/nslu2-binary-only/unslung-rootfs/unsling @@ -36,6 +36,9 @@ else exit 1 fi +# MJW - The new "tar" method of unslinging does not care if the device +# has already been unslung. The following test has been removed. +# # Check that we can unsling at all! An unsling operation creates a new # rootfs, but it also marks the flash rootfs (with a flag file such as # ".sda1root") so that subsequent boots do not create the "var.state" @@ -45,39 +48,39 @@ fi # making sure that we are in a state in which we are capable of # performing the unsling operation. -echo "Checking if able to unsling..." -echo -m1="/dev/root /dev.state jffs2 rw 0 0" -m2="/dev/root /var.state jffs2 rw 0 0" -if ! grep "$m1" /proc/mounts >/dev/null 2>&1 || ! grep "$m2" /proc/mounts >/dev/null 2>&1 ; then - echo "Error: This system is unable to properly unsling because certain" - echo "required mounts (dev.state and/or var.state) are not available." - echo "This is most probably because you have already unslung this system." - echo - - if [ -f /.sda1root ] ; then - rm -f /.sda1root - elif [ -f /.sdb1root ] ; then - rm -f /.sdb1root - elif [ -f /.sda2root ] ; then - rm -f /.sda2root - elif [ -f /.sdb2root ] ; then - rm -f /.sdb2root - else - echo "However, in this case, the flags that indicate an already-unslung" - echo "system seem to be missing. Try restarting your NSLU2 to correct," - echo "but if the problem persists, try re-flashing your NSLU2." - exit 1 - fi - echo "The flags that indicate an already-unslung system have now been" - echo "removed and the required mounts should now become present after" - echo "reboot of the NSLU2." - echo - echo "1) Please unplug all drives from the NSLU2," - echo "2) reboot," - echo "3) and retry the unslinging process." - exit 1 -fi +#echo "Checking if able to unsling..." +#echo +#m1="/dev/root /dev.state jffs2 rw 0 0" +#m2="/dev/root /var.state jffs2 rw 0 0" +#if ! grep "$m1" /proc/mounts >/dev/null 2>&1 || ! grep "$m2" /proc/mounts >/dev/null 2>&1 ; then +# echo "Error: This system is unable to properly unsling because certain" +# echo "required mounts (dev.state and/or var.state) are not available." +# echo "This is most probably because you have already unslung this system." +# echo +# +# if [ -f /.sda1root ] ; then +# rm -f /.sda1root +# elif [ -f /.sdb1root ] ; then +# rm -f /.sdb1root +# elif [ -f /.sda2root ] ; then +# rm -f /.sda2root +# elif [ -f /.sdb2root ] ; then +# rm -f /.sdb2root +# else +# echo "However, in this case, the flags that indicate an already-unslung" +# echo "system seem to be missing. Try restarting your NSLU2 to correct," +# echo "but if the problem persists, try re-flashing your NSLU2." +# exit 1 +# fi +# echo "The flags that indicate an already-unslung system have now been" +# echo "removed and the required mounts should now become present after" +# echo "reboot of the NSLU2." +# echo +# echo "1) Please unplug all drives from the NSLU2," +# echo "2) reboot," +# echo "3) and retry the unslinging process." +# exit 1 +#fi # Check it's a real mount point @@ -138,8 +141,16 @@ if [ "$nopw" -eq 0 ] ; then echo "Error setting password." exit 1 fi +# Quick sanity check, something may have gone wrong while we were +# waiting at the passwd prompt... + if ! [ -d $targ/public ] || ! [ -f $targconf/.dongle ] || ! [ -f $targconf/passwd ] ; then + echo + echo "Error: $targ appears to have vanished into thin air." + echo "This would indicate some type of problem with the USB cable," + echo "the device, or the formatting of the device." + exit 1 + fi cp /etc/passwd /usr/local/passwd -# cp /etc/passwd $targconf/passwd grep "^root:" /etc/passwd >$targconf/passwd.new grep -v "^root:" $targconf/passwd >>$targconf/passwd.new mv $targconf/passwd $targconf/passwd.save @@ -161,10 +172,28 @@ fi # Copy the complete rootfs to the target. echo -echo "Copying the complete rootfs from / to $targ ..." -/usr/bin/find / -xdev -print | /usr/bin/cpio -p -d -m -u $targ -rm -rf $targ/dev ; mv $targ/dev.state $targ/dev -rm -rf $targ/var ; mv $targ/var.state $targ/var +echo "Copying the complete rootfs from / to $targ ... " +echo " (this will take just a couple of minutes)" +# Quick sanity check to avoid filling the flash... +if ! [ -d $targ/public ] || ! [ -f $targconf/.dongle ] || ! [ -f $targconf/passwd ] ; then + echo + echo "Error: $targ appears to have vanished into thin air." + echo "This would indicate some type of problem with the USB cable," + echo "the device, or the formatting of the device." + exit 1 +fi +# /usr/bin/find / -xdev -print | /usr/bin/cpio -p -d -m -u $targ +# rm -rf $targ/dev ; mv $targ/dev.state $targ/dev +# rm -rf $targ/var ; mv $targ/var.state $targ/var +echo "./var/tmp" > /tmp/xfile +echo "./dev.state" >> /tmp/xfile +echo "./var.state" >> /tmp/xfile +mkdir -p /tmp/tmprootfs +/bin/mount /dev/mtdblock4 /tmp/tmprootfs +/bin/tar -c -C /tmp/tmprootfs -X /tmp/xfile -f - . | (cd $targ; /bin/tar -x -f -) +/bin/umount /tmp/tmprootfs +echo "Copy complete ..." +echo # Copy over the existing ipkg database. @@ -191,6 +220,8 @@ touch $targ/var/log/wtmp chmod 644 $targ/var/log/wtmp touch $targ/var/run/utmp chmod 644 $targ/var/run/utmp +mkdir -p $targ/var/tmp +chmod 777 $targ/var/tmp # The "user password" Linksys utility is hard-coded to /share/hdd; also the # QuickSet utility seems to have some difficulty as well. Ugly fix is to @@ -227,7 +258,8 @@ echo > $targ/$flag echo echo "Unsling complete." echo -echo "Leave the device $htmlinfo plugged in, and reboot" -echo "in order to boot this system up into unslung mode." +echo "Leave the device $htmlinfo, plugged in and reboot (using" +echo "either the Web GUI, or the command \"DO_Reboot\") in order to boot" +echo "this system up into unslung mode." exit 0 diff --git a/packages/nslu2-binary-only/unslung-rootfs_2.3r63.bb b/packages/nslu2-binary-only/unslung-rootfs_2.3r63.bb index 73089bafeb..290d2debbc 100644 --- a/packages/nslu2-binary-only/unslung-rootfs_2.3r63.bb +++ b/packages/nslu2-binary-only/unslung-rootfs_2.3r63.bb @@ -1,6 +1,6 @@ SECTION = "base" -PR = "r15" +PR = "r16" DEPENDS = "nslu2-linksys-libs nslu2-linksys-sambacodepages" @@ -11,11 +11,12 @@ SRC_URI = "http://nslu.sf.net/downloads/nslu2-linksys-ramdisk-2.3r63-2.tar.bz2 \ file://motd-fl \ file://motd-un \ file://unsling \ - file://resling \ - file://slingover \ +# file://resling \ +# file://slingover \ file://linuxrc \ file://unslung.gif \ file://nsswitch.conf \ + file://rc.bootdisk \ file://rc.optware-start \ file://rc.optware-stop \ file://rc-diversion.patch;patch=1 \ @@ -23,6 +24,7 @@ SRC_URI = "http://nslu.sf.net/downloads/nslu2-linksys-ramdisk-2.3r63-2.tar.bz2 \ file://rc.1-timestamp.patch;patch=1 \ file://rc.crond-diversion.patch;patch=1 \ file://rc.halt-diversion.patch;patch=1 \ + file://rc.lan-shell.patch;patch=1 \ file://rc.local-diversion.patch;patch=1 \ file://rc.modules-diversion.patch;patch=1 \ file://rc.network-diversion.patch;patch=1 \ @@ -104,10 +106,11 @@ do_compile () { install -d ${S}/initrd install -m 755 ${WORKDIR}/unsling ${S}/sbin/unsling - install -m 755 ${WORKDIR}/resling ${S}/sbin/resling - install -m 755 ${WORKDIR}/slingover ${S}/sbin/slingover +# install -m 755 ${WORKDIR}/resling ${S}/sbin/resling +# install -m 755 ${WORKDIR}/slingover ${S}/sbin/slingover install -m 755 ${WORKDIR}/rc.optware-start ${S}/etc/rc.d/rc.optware-start install -m 755 ${WORKDIR}/rc.optware-stop ${S}/etc/rc.d/rc.optware-stop + install -m 755 ${WORKDIR}/rc.bootdisk ${S}/etc/rc.d/rc.bootdisk install -m 644 ${WORKDIR}/nsswitch.conf ${S}/etc/nsswitch.conf @@ -161,6 +164,14 @@ do_compile () { # a link to busybox or slingbox at some point. rm -r ${S}/usr/sbin/date ln -s ../../bin/date ${S}/usr/sbin/date + + # Replace the Linksys-provided /bin/busybox with a link to slingbox. + rm -f ${S}/bin/busybox + ln -s slingbox ${S}/bin/busybox + + # No reason not to have a home directory for root... + mkdir -p ${S}/root + chmod 775 ${S}/root } do_install () { diff --git a/packages/omniorb/omniorb_4.0.7.bb b/packages/omniorb/omniorb_4.0.7.bb index 1ae2831fba..0dfaa7a98c 100644 --- a/packages/omniorb/omniorb_4.0.7.bb +++ b/packages/omniorb/omniorb_4.0.7.bb @@ -34,4 +34,5 @@ do_install () { make DESTDIR=${D} install install -d ${D}${sysconfdir} install -m 0644 ${WORKDIR}/omniORB.cfg ${D}${sysconfdir} + install -d ${D}${localstatedir}/omninames } diff --git a/packages/openswan/openswan-2.2.0/installflags.patch b/packages/openswan/openswan-2.2.0/installflags.patch new file mode 100644 index 0000000000..837267d3e6 --- /dev/null +++ b/packages/openswan/openswan-2.2.0/installflags.patch @@ -0,0 +1,17 @@ +--- + Makefile.inc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: openswan-2.2.0/Makefile.inc +=================================================================== +--- openswan-2.2.0.orig/Makefile.inc 2006-11-06 23:06:33.000000000 +0000 ++++ openswan-2.2.0/Makefile.inc 2006-11-08 20:16:26.000000000 +0000 +@@ -170,7 +170,7 @@ INSTALL=install + # how backup names are composed. + # Note that the install procedures will never overwrite an existing config + # file, which is why -b is not specified for them. +-INSTBINFLAGS=-b --suffix=.old ++INSTBINFLAGS= + INSTMANFLAGS= + INSTCONFFLAGS= + diff --git a/packages/openswan/openswan_2.2.0.bb b/packages/openswan/openswan_2.2.0.bb index e1423d30b7..b1c5271b13 100644 --- a/packages/openswan/openswan_2.2.0.bb +++ b/packages/openswan/openswan_2.2.0.bb @@ -11,6 +11,7 @@ PR = "r5" SRC_URI = "http://www.openswan.org/download/old/openswan-${PV}.tar.gz \ file://openswan-2.2.0-gentoo.patch;patch=1 \ file://gcc4-fixes.patch;patch=1 \ + file://installflags.patch;patch=1 \ file://makefile-whitespace-fix.patch;patch=1 \ file://ld-library-path-breakage.patch;patch=1" S = "${WORKDIR}/openswan-${PV}" diff --git a/packages/opensync/libopensync_0.20.bb b/packages/opensync/libopensync_0.20.bb new file mode 100644 index 0000000000..9560e5f949 --- /dev/null +++ b/packages/opensync/libopensync_0.20.bb @@ -0,0 +1,18 @@ +LICENSE = "LGPL" +HOMEPAGE = "http://www.opensync.org/" + +DEPENDS = "sqlite3 libxml2 zlib glib-2.0" + +SRC_URI = "http://www.openembedded.org/sources/libopensync-${PV}.tar.gz" + +inherit autotools pkgconfig lib_package + +EXTRA_OECONF = "--disable-python" +LEAD_SONAME = "libopensync.so" + +FILES_${PN} += " ${libdir}/opensync/formats/*.so" + +do_stage() { +autotools_stage_all +} + diff --git a/packages/ossie/ossie-c-wavloader_svn.bb b/packages/ossie/ossie-c-wavloader_svn.bb new file mode 100644 index 0000000000..4fed260694 --- /dev/null +++ b/packages/ossie/ossie-c-wavloader_svn.bb @@ -0,0 +1,14 @@ +PR = "r0" +DESCRIPTION = "OSSIE Waveform Loader" +SECTION = "apps" +PRIORITY = "optional" +LICENSE = "GPL" + +DEPENDS = "ossiecf expat" + +S="${WORKDIR}/c_wavLoader" + +SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/platform/c_wavLoader/trunk;module=c_wavLoader;proto=https" + +inherit autotools + diff --git a/packages/ossie/ossie-soundout-device_svn.bb b/packages/ossie/ossie-soundout-device_svn.bb new file mode 100644 index 0000000000..f5a85c45b2 --- /dev/null +++ b/packages/ossie/ossie-soundout-device_svn.bb @@ -0,0 +1,19 @@ +PR = "r0" +DESCRIPTION = "OSSIE sound playback device" +SECTION = "apps" +PRIORITY = "optional" +MAINTAINER = "Philip Balister philip@balister.org" +LICENSE = "GPL" + +DEPENDS = "alsa-lib ossiecf ossie-standardinterfaces" + +S="${WORKDIR}/Sound_out" + +SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/platform/Sound_out/trunk;module=Sound_out;proto=https" + +prefix="/home/sca" + +inherit autotools + +FILES_${PN} += "/home/sca/xml/soundCard/*xml" + diff --git a/packages/qemu/files/mouse_fix-r0.patch b/packages/qemu/files/mouse_fix-r0.patch deleted file mode 100644 index 8cc19f0392..0000000000 --- a/packages/qemu/files/mouse_fix-r0.patch +++ /dev/null @@ -1,25 +0,0 @@ -If the cursor is hidden (SDL_ShowCursor(0)) and the input is grabbed -(SDL_WM_GrabInput(SDL_GRAB_ON)), then the mouse will give relative motion -events even when the cursor reaches the edge fo the screen. This is currently -only implemented on Windows and Linux/Unix-a-likes. - -Index: qemu/sdl.c -=================================================================== ---- qemu.orig/sdl.c 2006-04-13 12:22:22.000000000 +0100 -+++ qemu/sdl.c 2006-05-25 00:28:25.000000000 +0100 -@@ -280,13 +280,13 @@ - - static void sdl_hide_cursor(void) - { -- SDL_SetCursor(sdl_cursor_hidden); -+ SDL_ShowCursor(0); - } - - static void sdl_show_cursor(void) - { - if (!kbd_mouse_is_absolute()) { -- SDL_SetCursor(sdl_cursor_normal); -+ SDL_ShowCursor(1); - } - } - diff --git a/packages/qemu/files/nodocs_cvs.patch b/packages/qemu/files/nodocs_cvs.patch deleted file mode 100644 index b52d860fb0..0000000000 --- a/packages/qemu/files/nodocs_cvs.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: qemu/Makefile -=================================================================== ---- qemu.orig/Makefile 2006-04-18 11:11:37.000000000 +0100 -+++ qemu/Makefile 2006-04-18 11:14:34.000000000 +0100 -@@ -11,7 +11,7 @@ - ifdef CONFIG_STATIC - LDFLAGS+=-static - endif --DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 -+DOCS= - - all: dyngen$(EXESUF) $(TOOLS) $(DOCS) - for d in $(TARGET_DIRS); do \ -@@ -51,11 +51,11 @@ - video.x proll.elf linux_boot.bin; do \ - $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \ - done -- mkdir -p "$(DESTDIR)$(docdir)" -- $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)" -+# mkdir -p "$(DESTDIR)$(docdir)" -+# $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)" - ifndef CONFIG_WIN32 -- mkdir -p "$(DESTDIR)$(mandir)/man1" -- $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1" -+# mkdir -p "$(DESTDIR)$(mandir)/man1" -+# $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1" - mkdir -p "$(DESTDIR)$(datadir)/keymaps" - for x in $(KEYMAPS); do \ - $(INSTALL) -m 644 $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \ -@@ -122,10 +122,10 @@ - $(datadir)/ppc_rom.bin \ - $(datadir)/video.x \ - $(datadir)/proll.elf \ -- $(datadir)/linux_boot.bin \ -- $(docdir)/qemu-doc.html \ -- $(docdir)/qemu-tech.html \ -- $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 ) -+ $(datadir)/linux_boot.bin -+# $(docdir)/qemu-doc.html \ -+# $(docdir)/qemu-tech.html \ -+# $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 ) - - ifneq ($(wildcard .depend),) - include .depend diff --git a/packages/qemu/files/qemu-usb-wacom.patch b/packages/qemu/files/qemu-usb-wacom.patch deleted file mode 100644 index c1c39eccaf..0000000000 --- a/packages/qemu/files/qemu-usb-wacom.patch +++ /dev/null @@ -1,444 +0,0 @@ -diff -pNaur qemu-cvs-ts-orig/hw/usb-wacom.c qemu-cvs-ts/hw/usb-wacom.c ---- qemu-cvs-ts-orig/hw/usb-wacom.c 1970-01-01 01:00:00.000000000 +0100 -+++ qemu-cvs-ts/hw/usb-wacom.c 2006-09-22 20:44:26.000000000 +0200 -@@ -0,0 +1,407 @@ -+/* -+ * Wacom PenPartner USB tablet emulation. -+ * -+ * Copyright (c) 2006 Openedhand Ltd. -+ * -+ * Author: Andrzej Zaborowski <balrog@zabor.org> -+ * -+ * Based on hw/usb-hid.c: -+ * Copyright (c) 2005 Fabrice Bellard -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a copy -+ * of this software and associated documentation files (the "Software"), to deal -+ * in the Software without restriction, including without limitation the rights -+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -+ * copies of the Software, and to permit persons to whom the Software is -+ * furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -+ * THE SOFTWARE. -+ */ -+#include "vl.h" -+ -+/* Interface requests */ -+#define WACOM_GET_REPORT 0x2101 -+#define WACOM_SET_REPORT 0x2109 -+ -+/* HID interface requests */ -+#define HID_GET_REPORT 0xa101 -+#define HID_GET_IDLE 0xa102 -+#define HID_GET_PROTOCOL 0xa103 -+#define HID_SET_IDLE 0x210a -+#define HID_SET_PROTOCOL 0x210b -+ -+#define WACOM_MODE_HID 1 -+#define WACOM_MODE_WACOM 2 -+ -+typedef struct USBWacomState { -+ USBDevice dev; -+ int dx, dy, dz, buttons_state; -+ int x, y; -+ int mouse_grabbed; -+ int mode; -+} USBWacomState; -+ -+static const uint8_t qemu_wacom_dev_descriptor[] = { -+ 0x12, /* u8 bLength; */ -+ 0x01, /* u8 bDescriptorType; Device */ -+ 0x10, 0x10, /* u16 bcdUSB; v1.10 */ -+ -+ 0x00, /* u8 bDeviceClass; */ -+ 0x00, /* u8 bDeviceSubClass; */ -+ 0x00, /* u8 bDeviceProtocol; [ low/full speeds only ] */ -+ 0x08, /* u8 bMaxPacketSize0; 8 Bytes */ -+ -+ 0x6a, 0x05, /* u16 idVendor; */ -+ 0x00, 0x00, /* u16 idProduct; */ -+ 0x10, 0x42, /* u16 bcdDevice */ -+ -+ 0x01, /* u8 iManufacturer; */ -+ 0x02, /* u8 iProduct; */ -+ 0x00, /* u8 iSerialNumber; */ -+ 0x01, /* u8 bNumConfigurations; */ -+}; -+ -+static const uint8_t qemu_wacom_config_descriptor[] = { -+ /* one configuration */ -+ 0x09, /* u8 bLength; */ -+ 0x02, /* u8 bDescriptorType; Configuration */ -+ 0x22, 0x00, /* u16 wTotalLength; */ -+ 0x01, /* u8 bNumInterfaces; (1) */ -+ 0x01, /* u8 bConfigurationValue; */ -+ 0x00, /* u8 iConfiguration; */ -+ 0x80, /* u8 bmAttributes; -+ Bit 7: must be set, -+ 6: Self-powered, -+ 5: Remote wakeup, -+ 4..0: resvd */ -+ 40, /* u8 MaxPower; */ -+ -+ /* one interface */ -+ 0x09, /* u8 if_bLength; */ -+ 0x04, /* u8 if_bDescriptorType; Interface */ -+ 0x00, /* u8 if_bInterfaceNumber; */ -+ 0x00, /* u8 if_bAlternateSetting; */ -+ 0x01, /* u8 if_bNumEndpoints; */ -+ 0x03, /* u8 if_bInterfaceClass; HID */ -+ 0x01, /* u8 if_bInterfaceSubClass; Boot */ -+ 0x02, /* u8 if_bInterfaceProtocol; [usb1.1 or single tt] */ -+ 0x00, /* u8 if_iInterface; */ -+ -+ /* HID descriptor */ -+ 0x09, /* u8 bLength; */ -+ 0x21, /* u8 bDescriptorType; */ -+ 0x01, 0x10, /* u16 HID_class */ -+ 0x00, /* u8 country_code */ -+ 0x01, /* u8 num_descriptors */ -+ 0x22, /* u8 type; Report */ -+ 0x6e, 0x00, /* u16 len */ -+ -+ /* one endpoint (status change endpoint) */ -+ 0x07, /* u8 ep_bLength; */ -+ 0x05, /* u8 ep_bDescriptorType; Endpoint */ -+ 0x81, /* u8 ep_bEndpointAddress; IN Endpoint 1 */ -+ 0x03, /* u8 ep_bmAttributes; Interrupt */ -+ 0x08, 0x00, /* u16 ep_wMaxPacketSize; */ -+ 0x0a, /* u8 ep_bInterval; */ -+}; -+ -+static void usb_mouse_event(void *opaque, -+ int dx1, int dy1, int dz1, int buttons_state) -+{ -+ USBWacomState *s = opaque; -+ -+ s->dx += dx1; -+ s->dy += dy1; -+ s->dz += dz1; -+ s->buttons_state = buttons_state; -+} -+ -+static void usb_wacom_event(void *opaque, -+ int x, int y, int dz, int buttons_state) -+{ -+ USBWacomState *s = opaque; -+ -+ s->x = x; -+ s->y = y; -+ s->dz += dz; -+ s->buttons_state = buttons_state; -+} -+ -+static inline int int_clamp(int val, int vmin, int vmax) -+{ -+ if (val < vmin) -+ return vmin; -+ else if (val > vmax) -+ return vmax; -+ else -+ return val; -+} -+ -+static int usb_mouse_poll(USBWacomState *s, uint8_t *buf, int len) -+{ -+ int dx, dy, dz, b, l; -+ -+ if (!s->mouse_grabbed) { -+ qemu_add_mouse_event_handler(usb_mouse_event, s, 1); -+ s->mouse_grabbed = 1; -+ } -+ -+ dx = int_clamp(s->dx, -128, 127); -+ dy = int_clamp(s->dy, -128, 127); -+ dz = int_clamp(s->dz, -128, 127); -+ -+ s->dx -= dx; -+ s->dy -= dy; -+ s->dz -= dz; -+ -+ b = 0; -+ if (s->buttons_state & MOUSE_EVENT_LBUTTON) -+ b |= 0x01; -+ if (s->buttons_state & MOUSE_EVENT_RBUTTON) -+ b |= 0x02; -+ if (s->buttons_state & MOUSE_EVENT_MBUTTON) -+ b |= 0x04; -+ -+ buf[0] = b; -+ buf[1] = dx; -+ buf[2] = dy; -+ l = 3; -+ if (len >= 4) { -+ buf[3] = dz; -+ l = 4; -+ } -+ return l; -+} -+ -+static int usb_wacom_poll(USBWacomState *s, uint8_t *buf, int len) -+{ -+ int b; -+ -+ if (!s->mouse_grabbed) { -+ qemu_add_mouse_event_handler(usb_wacom_event, s, 1); -+ s->mouse_grabbed = 1; -+ } -+ -+ b = 0; -+ if (s->buttons_state & MOUSE_EVENT_LBUTTON) -+ b |= 0x01; -+ if (s->buttons_state & MOUSE_EVENT_RBUTTON) -+ b |= 0x02; -+ if (s->buttons_state & MOUSE_EVENT_MBUTTON) -+ b |= 0x04; -+ -+ if (len < 7) -+ return 0; -+ -+ buf[0] = s->mode; -+ buf[1] = s->x & 0xff; -+ buf[2] = s->x >> 8; -+ buf[3] = s->y & 0xff; -+ buf[4] = s->y >> 8; -+ if (b) { -+ buf[5] = 0x40; -+ buf[6] = 0; -+ } else { -+ buf[5] = 0x00; -+ buf[6] = (unsigned char) -120; -+ } -+ -+ return 7; -+} -+ -+static void usb_wacom_handle_reset(USBDevice *dev) -+{ -+ USBWacomState *s = (USBWacomState *) dev; -+ -+ s->dx = 0; -+ s->dy = 0; -+ s->dz = 0; -+ s->x = 0; -+ s->y = 0; -+ s->buttons_state = 0; -+ s->mode = WACOM_MODE_HID; -+} -+ -+static int usb_wacom_handle_control(USBDevice *dev, int request, int value, -+ int index, int length, uint8_t *data) -+{ -+ USBWacomState *s = (USBWacomState *) dev; -+ int ret = 0; -+ -+ switch (request) { -+ case DeviceRequest | USB_REQ_GET_STATUS: -+ data[0] = (1 << USB_DEVICE_SELF_POWERED) | -+ (dev->remote_wakeup << USB_DEVICE_REMOTE_WAKEUP); -+ data[1] = 0x00; -+ ret = 2; -+ break; -+ case DeviceOutRequest | USB_REQ_CLEAR_FEATURE: -+ if (value == USB_DEVICE_REMOTE_WAKEUP) { -+ dev->remote_wakeup = 0; -+ } else { -+ goto fail; -+ } -+ ret = 0; -+ break; -+ case DeviceOutRequest | USB_REQ_SET_FEATURE: -+ if (value == USB_DEVICE_REMOTE_WAKEUP) { -+ dev->remote_wakeup = 1; -+ } else { -+ goto fail; -+ } -+ ret = 0; -+ break; -+ case DeviceOutRequest | USB_REQ_SET_ADDRESS: -+ dev->addr = value; -+ ret = 0; -+ break; -+ case DeviceRequest | USB_REQ_GET_DESCRIPTOR: -+ switch (value >> 8) { -+ case USB_DT_DEVICE: -+ memcpy(data, qemu_wacom_dev_descriptor, -+ sizeof(qemu_wacom_dev_descriptor)); -+ ret = sizeof(qemu_wacom_dev_descriptor); -+ break; -+ case USB_DT_CONFIG: -+ memcpy(data, qemu_wacom_config_descriptor, -+ sizeof(qemu_wacom_config_descriptor)); -+ ret = sizeof(qemu_wacom_config_descriptor); -+ break; -+ case USB_DT_STRING: -+ switch (value & 0xff) { -+ case 0: -+ /* language ids */ -+ data[0] = 4; -+ data[1] = 3; -+ data[2] = 0x09; -+ data[3] = 0x04; -+ ret = 4; -+ break; -+ case 1: -+ /* serial number */ -+ ret = set_usb_string(data, "1"); -+ break; -+ case 2: -+ ret = set_usb_string(data, "Wacom PenPartner"); -+ break; -+ case 3: -+ /* vendor description */ -+ ret = set_usb_string(data, "QEMU " QEMU_VERSION); -+ break; -+ case 4: -+ ret = set_usb_string(data, "Wacom Tablet"); -+ break; -+ case 5: -+ ret = set_usb_string(data, "Endpoint1 Interrupt Pipe"); -+ break; -+ default: -+ goto fail; -+ } -+ break; -+ default: -+ goto fail; -+ } -+ break; -+ case DeviceRequest | USB_REQ_GET_CONFIGURATION: -+ data[0] = 1; -+ ret = 1; -+ break; -+ case DeviceOutRequest | USB_REQ_SET_CONFIGURATION: -+ ret = 0; -+ break; -+ case DeviceRequest | USB_REQ_GET_INTERFACE: -+ data[0] = 0; -+ ret = 1; -+ break; -+ case DeviceOutRequest | USB_REQ_SET_INTERFACE: -+ ret = 0; -+ break; -+ case WACOM_SET_REPORT: -+ qemu_add_mouse_event_handler(NULL, NULL, 0); -+ s->mouse_grabbed = 0; -+ s->mode = data[0]; -+ ret = 0; -+ break; -+ case WACOM_GET_REPORT: -+ data[0] = 0; -+ data[1] = s->mode; -+ ret = 2; -+ break; -+ /* USB HID requests */ -+ case HID_GET_REPORT: -+ if (s->mode == WACOM_MODE_HID) -+ ret = usb_mouse_poll(s, data, length); -+ else if (s->mode == WACOM_MODE_WACOM) -+ ret = usb_wacom_poll(s, data, length); -+ break; -+ case HID_SET_IDLE: -+ ret = 0; -+ break; -+ default: -+ fail: -+ ret = USB_RET_STALL; -+ break; -+ } -+ return ret; -+} -+ -+static int usb_wacom_handle_data(USBDevice *dev, USBPacket *p) -+{ -+ USBWacomState *s = (USBWacomState *) dev; -+ int ret = 0; -+ -+ switch (p->pid) { -+ case USB_TOKEN_IN: -+ if (p->devep == 1) { -+ if (s->mode == WACOM_MODE_HID) -+ ret = usb_mouse_poll(s, p->data, p->len); -+ else if (s->mode == WACOM_MODE_WACOM) -+ ret = usb_wacom_poll(s, p->data, p->len); -+ break; -+ } -+ /* Fall through. */ -+ case USB_TOKEN_OUT: -+ default: -+ ret = USB_RET_STALL; -+ break; -+ } -+ return ret; -+} -+ -+static void usb_wacom_handle_destroy(USBDevice *dev) -+{ -+ USBWacomState *s = (USBWacomState *) dev; -+ -+ qemu_add_mouse_event_handler(NULL, NULL, 0); -+ qemu_free(s); -+} -+ -+USBDevice *usb_wacom_init(void) -+{ -+ USBWacomState *s; -+ -+ s = qemu_mallocz(sizeof(USBWacomState)); -+ if (!s) -+ return NULL; -+ s->dev.speed = USB_SPEED_FULL; -+ s->dev.handle_packet = usb_generic_handle_packet; -+ -+ s->dev.handle_reset = usb_wacom_handle_reset; -+ s->dev.handle_control = usb_wacom_handle_control; -+ s->dev.handle_data = usb_wacom_handle_data; -+ s->dev.handle_destroy = usb_wacom_handle_destroy; -+ -+ pstrcpy(s->dev.devname, sizeof(s->dev.devname), -+ "QEMU PenPartner Tablet"); -+ -+ return (USBDevice *) s; -+} -diff -pNaur qemu-cvs-ts-orig/hw/usb.h qemu-cvs-ts/hw/usb.h ---- qemu-cvs-ts-orig/hw/usb.h 2006-08-12 03:04:27.000000000 +0200 -+++ qemu-cvs-ts/hw/usb.h 2006-09-21 01:40:40.000000000 +0200 -@@ -218,3 +218,6 @@ USBDevice *usb_tablet_init(void); - - /* usb-msd.c */ - USBDevice *usb_msd_init(const char *filename); -+ -+/* usb-wacom.c */ -+USBDevice *usb_wacom_init(void); -diff -pNaur qemu-cvs-ts-orig/vl.c qemu-cvs-ts/vl.c ---- qemu-cvs-ts-orig/vl.c 2006-09-10 16:39:54.000000000 +0200 -+++ qemu-cvs-ts/vl.c 2006-09-21 01:45:16.000000000 +0200 -@@ -3765,6 +3765,8 @@ static int usb_device_add(const char *de - dev = usb_tablet_init(); - } else if (strstart(devname, "disk:", &p)) { - dev = usb_msd_init(p); -+ } else if (!strcmp(devname, "wacom-tablet")) { -+ dev = usb_wacom_init(); - } else { - return -1; - } -diff -pNaur qemu-cvs-ts-orig/Makefile.target qemu-cvs-ts/Makefile.target ---- qemu-cvs-ts-orig/Makefile.target 2006-09-18 03:15:29.000000000 +0200 -+++ qemu-cvs-ts/Makefile.target 2006-09-21 02:32:19.000000000 +0200 -@@ -330,6 +330,7 @@ VL_OBJS+= scsi-disk.o cdrom.o lsi53c895a - - # USB layer - VL_OBJS+= usb.o usb-hub.o usb-linux.o usb-hid.o usb-ohci.o usb-msd.o -+VL_OBJS+= usb-wacom.o - - # PCI network cards - VL_OBJS+= ne2000.o rtl8139.o pcnet.o diff --git a/packages/qemu/files/qemu-x-no-sdl.patch b/packages/qemu/files/qemu-x-no-sdl.patch deleted file mode 100644 index eb00d9806b..0000000000 --- a/packages/qemu/files/qemu-x-no-sdl.patch +++ /dev/null @@ -1,630 +0,0 @@ -diff -urN qemu-0.8.2/configure qemu-0.8.2-x/configure ---- qemu-0.8.2/configure 2006-07-22 18:23:34.000000000 +0100 -+++ qemu-0.8.2-x/configure 2006-08-24 14:24:33.000000000 +0100 -@@ -492,6 +492,21 @@ - fi # cross compilation - fi # -z $sdl - -+########################################## -+# X Probe -+ -+x11=no -+if test -z "$sdl" || test "$sdl" = "no"; then -+ x11=yes -+fi -+ -+if test "$x11" = "yes"; then -+ x11=no -+ if `pkg-config --exists x11 xext`; then -+ x11=yes -+ fi -+fi -+ - # Check if tools are available to build documentation. - if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then - build_docs="yes" -@@ -540,6 +555,7 @@ - if test "$sdl" != "no" ; then - echo "SDL static link $sdl_static" - fi -+echo "X11 support $x11" - echo "mingw32 support $mingw32" - echo "Adlib support $adlib" - echo "CoreAudio support $coreaudio" -@@ -748,14 +764,14 @@ - fi - - if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \ -- -a "$sdl" = "no" -a "$cocoa" = "no" ; then -+ -a "$sdl" = "no" -a "$x11" = "no" -a "$cocoa" = "no" ; then - echo "ERROR: QEMU requires SDL or Cocoa for graphical output" - echo "To build QEMU without graphical output configure with --disable-gfx-check" - echo "Note that this will disable all output from the virtual graphics card." - exit 1; - fi - --#echo "Creating $config_mak, $config_h and $target_dir/Makefile" -+echo "Creating $config_mak, $config_h and $target_dir/Makefile" - - mkdir -p $target_dir - mkdir -p $target_dir/fpu -@@ -882,6 +898,14 @@ - fi - fi - -+# x11 -+if test "$x11" = "yes"; then -+ echo "#define CONFIG_X11 1" >> $config_h -+ echo "CONFIG_X11=yes" >> $config_mak -+ echo "X11_LIBS=`pkg-config --libs x11 xext`" >> $config_mak -+ echo "X11_CFLAGS=`pkg-config --cflags x11 xext`" >> $config_mak -+fi -+ - if test "$cocoa" = "yes" ; then - echo "#define CONFIG_COCOA 1" >> $config_h - echo "CONFIG_COCOA=yes" >> $config_mak -diff -urN qemu-0.8.2/Makefile.target qemu-0.8.2-x/Makefile.target ---- qemu-0.8.2/Makefile.target 2006-07-22 18:23:34.000000000 +0100 -+++ qemu-0.8.2-x/Makefile.target 2006-08-23 14:47:17.000000000 +0100 -@@ -376,6 +376,9 @@ - ifdef CONFIG_SDL - VL_OBJS+=sdl.o - endif -+ifdef CONFIG_X11 -+VL_OBJS+=x.o -+endif - VL_OBJS+=vnc.o - ifdef CONFIG_COCOA - VL_OBJS+=cocoa.o -@@ -426,7 +429,7 @@ - endif - - $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a -- $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS) -+ $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(X11_LIBS) $(COCOA_LIBS) $(VL_LIBS) - - cocoa.o: cocoa.m - $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< -@@ -434,6 +437,10 @@ - sdl.o: sdl.c keymaps.c sdl_keysym.h - $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $< - -+x.o: x.c keymaps.c -+ $(CC) $(CFLAGS) $(DEFINES) $(X11_CFLAGS) -c -o $@ $< -+ -+ - vnc.o: vnc.c keymaps.c sdl_keysym.h vnchextile.h - $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< - -diff -urN qemu-0.8.2/vl.c qemu-0.8.2-x/vl.c ---- qemu-0.8.2/vl.c 2006-07-22 18:23:34.000000000 +0100 -+++ qemu-0.8.2-x/vl.c 2006-09-29 18:58:26.000000000 +0100 -@@ -5217,6 +5217,9 @@ - #ifdef USE_CODE_COPY - "-no-code-copy disable code copy acceleration\n" - #endif -+#if defined(CONFIG_X11) -+ "-parent xid Use pre-existing window as qemu output window\n" -+#endif - #ifdef TARGET_I386 - "-std-vga simulate a standard VGA card with VESA Bochs Extensions\n" - " (default is CL-GD5446 PCI VGA)\n" -@@ -5302,6 +5305,8 @@ - QEMU_OPTION_smp, - QEMU_OPTION_vnc, - QEMU_OPTION_no_acpi, -+ -+ QEMU_OPTION_parent_xid, - }; - - typedef struct QEMUOption { -@@ -5361,6 +5366,9 @@ - #if defined(TARGET_PPC) || defined(TARGET_SPARC) - { "g", 1, QEMU_OPTION_g }, - #endif -+#if defined(CONFIG_X11) -+ { "parent", HAS_ARG, QEMU_OPTION_parent_xid }, -+#endif - { "localtime", 0, QEMU_OPTION_localtime }, - { "std-vga", 0, QEMU_OPTION_std_vga }, - { "monitor", 1, QEMU_OPTION_monitor }, -@@ -5608,6 +5616,10 @@ - char usb_devices[MAX_USB_CMDLINE][128]; - int usb_devices_index; - -+#if defined(CONFIG_X11) -+ unsigned long parent_xid = 0; -+#endif -+ - LIST_INIT (&vm_change_state_head); - #ifndef _WIN32 - { -@@ -6021,6 +6033,11 @@ - case QEMU_OPTION_no_acpi: - acpi_enabled = 0; - break; -+#if defined(CONFIG_X11) -+ case QEMU_OPTION_parent_xid: -+ parent_xid = strtol(optarg, NULL, 0); -+ break; -+#endif - } - } - } -@@ -6142,6 +6159,8 @@ - sdl_display_init(ds, full_screen); - #elif defined(CONFIG_COCOA) - cocoa_display_init(ds, full_screen); -+#elif defined(CONFIG_X11) -+ x_display_init(ds, full_screen, parent_xid); - #else - dumb_display_init(ds); - #endif -diff -urN qemu-0.8.2/vl.h qemu-0.8.2-x/vl.h ---- qemu-0.8.2/vl.h 2006-07-22 18:23:34.000000000 +0100 -+++ qemu-0.8.2-x/vl.h 2006-09-29 18:35:32.000000000 +0100 -@@ -767,6 +767,9 @@ - /* vnc.c */ - void vnc_display_init(DisplayState *ds, int display); - -+/* x.c */ -+void x_display_init(DisplayState *ds, int display, unsigned long parent_xid); -+ - /* ide.c */ - #define MAX_DISKS 4 - -diff -urN qemu-0.8.2/x.c qemu-0.8.2-x/x.c ---- qemu-0.8.2/x.c 1970-01-01 01:00:00.000000000 +0100 -+++ qemu-0.8.2-x/x.c 2006-09-29 18:35:02.000000000 +0100 -@@ -0,0 +1,451 @@ -+#include "vl.h" -+ -+#include <X11/Xlib.h> -+#include <X11/Xutil.h> -+#include <X11/Xatom.h> -+#include <X11/keysym.h> -+#include <X11/extensions/XShm.h> -+ -+#include <sys/ipc.h> -+#include <sys/shm.h> -+ -+typedef struct XHostScreen -+{ -+ Display *xdpy; -+ int xscreen; -+ Visual *xvisual; -+ Window xwin, xwinroot; -+ GC xgc; -+ int xdepth; -+ XImage *ximg; -+ int xwin_width, xwin_height; -+ Bool use_fullscreen; -+ Bool have_shm; -+ unsigned char *fb_data; -+ unsigned long cmap[256]; -+ XShmSegmentInfo shminfo; -+} -+XHostScreen; -+ -+static XHostScreen *xscreen; -+static int trapped_error_code = 0; -+static int (*old_error_handler) (Display *d, XErrorEvent *e); -+ -+static void -+x_update(DisplayState *ds, int x, int y, int w, int h); -+ -+static int -+error_handler(Display *display, -+ XErrorEvent *error) -+{ -+ trapped_error_code = error->error_code; -+ return 0; -+} -+ -+static void -+x_errors_trap(void) -+{ -+ trapped_error_code = 0; -+ old_error_handler = XSetErrorHandler(error_handler); -+} -+ -+static int -+x_errors_untrap(void) -+{ -+ XSetErrorHandler(old_error_handler); -+ return trapped_error_code; -+} -+ -+static void -+x_update(DisplayState *ds, int x, int y, int w, int h) -+{ -+ if (xscreen->have_shm) -+ { -+ XShmPutImage(xscreen->xdpy, xscreen->xwin, xscreen->xgc, xscreen->ximg, -+ x, y, x, y, w, h, False); -+ } -+ else -+ { -+ XPutImage(xscreen->xdpy, xscreen->xwin, xscreen->xgc, xscreen->ximg, -+ x, y, x, y, w, h); -+ } -+ -+ XSync(xscreen->xdpy, False); -+} -+ -+static void -+x_resize(DisplayState *ds, int w, int h) -+{ -+ Bool shm_success = False; -+ int bitmap_pad; -+ XSizeHints *size_hints; -+ -+ if (xscreen->ximg != NULL) -+ { -+ if (xscreen->have_shm) -+ { -+ XShmDetach(xscreen->xdpy, &xscreen->shminfo); -+ XDestroyImage (xscreen->ximg); -+ shmdt(xscreen->shminfo.shmaddr); -+ shmctl(xscreen->shminfo.shmid, IPC_RMID, 0); -+ } -+ else -+ { -+ if (xscreen->ximg->data) -+ { -+ free(xscreen->ximg->data); -+ xscreen->ximg->data = NULL; -+ } -+ -+ XDestroyImage(xscreen->ximg); -+ } -+ } -+ -+ if (xscreen->have_shm) -+ { -+ xscreen->ximg = XShmCreateImage(xscreen->xdpy, -+ xscreen->xvisual, -+ xscreen->xdepth, -+ ZPixmap, -+ NULL, -+ &xscreen->shminfo, -+ w, h ); -+ -+ xscreen->shminfo.shmid -+ = shmget(IPC_PRIVATE, -+ xscreen->ximg->bytes_per_line * h, -+ IPC_CREAT|0777); -+ xscreen->shminfo.shmaddr = xscreen->ximg->data -+ = shmat(xscreen->shminfo.shmid, 0, 0); -+ -+ if (xscreen->ximg->data == (char *)-1) -+ { -+ xscreen->have_shm = False; -+ XDestroyImage(xscreen->ximg); -+ shmctl(xscreen->shminfo.shmid, IPC_RMID, 0); -+ } -+ else -+ { -+ xscreen->shminfo.readOnly = False; -+ XShmAttach(xscreen->xdpy, &xscreen->shminfo); -+ shm_success = True; -+ } -+ } -+ -+ if (!shm_success) -+ { -+ bitmap_pad = ( xscreen->xdepth > 16 ) ? -+ 32 : (( xscreen->xdepth > 8 )? 16 : 8 ); -+ -+ xscreen->ximg = XCreateImage( xscreen->xdpy, -+ xscreen->xvisual, -+ xscreen->xdepth, -+ ZPixmap, 0, 0, -+ w, -+ h, -+ bitmap_pad, -+ 0); -+ -+ xscreen->ximg->data -+ = malloc( xscreen->ximg->bytes_per_line * h ); -+ } -+ -+ XResizeWindow(xscreen->xdpy, xscreen->xwin, w, h); -+ -+ /* Ask the WM to keep our size static */ -+ size_hints = XAllocSizeHints(); -+ size_hints->max_width = size_hints->min_width = w; -+ size_hints->max_height = size_hints->min_height = h; -+ size_hints->flags = PMinSize|PMaxSize; -+ XSetWMNormalHints(xscreen->xdpy, xscreen->xwin, size_hints); -+ XFree(size_hints); -+ -+ XMapWindow(xscreen->xdpy, xscreen->xwin); -+ -+ XSync(xscreen->xdpy, False); -+ -+ xscreen->xwin_width = w; -+ xscreen->xwin_height = h; -+ -+ if (1) // (ds->depth == xscreen->xdepth) -+ { -+ ds->data = xscreen->ximg->data; -+ } -+ else -+ { -+ xscreen->fb_data = malloc(w*h*(ds->depth>>3)); -+ ds->data = xscreen->fb_data; -+ } -+ -+ ds->linesize = xscreen->ximg->bytes_per_line; -+ ds->depth = (xscreen->xdepth >= 24) ? 32 : xscreen->xdepth; -+ ds->bgr = 0; -+ -+#if 0 -+ if (ds->depth == 32 && screen->format->Rshift == 0) { -+ ds->bgr = 1; -+ } else { -+ ds->bgr = 0; -+ } -+#endif -+ -+ ds->width = w; -+ ds->height = h; -+ -+} -+ -+static void -+x_refresh(DisplayState *ds) -+{ -+ vga_hw_update(); -+} -+ -+static int -+x_listen_poll(void *opaque) -+{ -+ return XPending(xscreen->xdpy); -+} -+ -+static void -+x_grab(void) -+{ -+ static Bool grab = False; -+ -+ if (!grab) -+ { -+ if (XGrabPointer (xscreen->xdpy, xscreen->xwin, -+ True, -+ NoEventMask, -+ GrabModeAsync, -+ GrabModeAsync, -+ xscreen->xwin, None, CurrentTime) == 0 -+ && XGrabKeyboard (xscreen->xdpy, xscreen->xwin, True, -+ GrabModeAsync, -+ GrabModeAsync, -+ CurrentTime) == 0) -+ { -+ grab = True; -+ XStoreName(xscreen->xdpy, xscreen->xwin, -+ "QEmu (ctrl+shift releases mouse and keyboard )"); -+ } -+ } -+ else -+ { -+ XUngrabPointer (xscreen->xdpy, CurrentTime); -+ XUngrabKeyboard (xscreen->xdpy, CurrentTime); -+ grab = False; -+ XStoreName(xscreen->xdpy, xscreen->xwin, -+ "QEmu (ctrl+shift grabs mouse and keyboard )"); -+ } -+} -+ -+static void -+x_listen_read(void *opaque) -+{ -+ XEvent xev; -+ DisplayState *ds = opaque; -+ Bool grabbed = False; -+ static int last_x = 0, last_y = 0, button_state = 0, state; -+ -+ if (XPending(xscreen->xdpy)) -+ { -+ XNextEvent(xscreen->xdpy, &xev); -+ -+ switch (xev.type) -+ { -+ case EnterNotify: -+ case LeaveNotify: -+ break; -+ case FocusIn: -+ if (!kbd_mouse_is_absolute()) -+ x_grab(); -+ break; -+ case FocusOut: -+ break; -+ case Expose: -+ while (XCheckTypedWindowEvent(xscreen->xdpy, xev.xexpose.window, -+ Expose, &xev)); -+ x_update(ds, 0, 0, -+ xscreen->xwin_width, -+ xscreen->xwin_height); -+ break; -+ case KeyRelease: -+ if ((XKeycodeToKeysym(xscreen->xdpy, -+ xev.xkey.keycode,0) == XK_Shift_L -+ || XKeycodeToKeysym(xscreen->xdpy, -+ xev.xkey.keycode,0) == XK_Shift_R) -+ && (xev.xkey.state & ControlMask)) -+ { -+ x_grab(); -+ break; -+ } -+ case KeyPress: -+ { -+ int keycode = xev.xkey.keycode-8; /* X adds 8 to keycode */ -+ -+ /* FIXME: LUT needed here me thinks */ -+ -+ if (keycode & 0x80) /* Extended */ -+ kbd_put_keycode(0xe0); -+ -+ if (xev.type == KeyPress) -+ kbd_put_keycode(keycode & 0x7f); -+ else -+ kbd_put_keycode(keycode | 0x80); -+ } -+ break; -+ case ButtonPress: -+ case ButtonRelease: -+ case MotionNotify: -+ { -+ int ev_state, ev_x, ev_y, dx, dy; -+ -+ state = 0; -+ -+ if (xev.type == MotionNotify) -+ { -+ ev_state = xev.xmotion.state; -+ ev_x = xev.xmotion.x; -+ ev_y = xev.xmotion.y; -+ -+ if (ev_state & Button1Mask) -+ state |= MOUSE_EVENT_LBUTTON; -+ if (ev_state & Button2Mask) -+ state |= MOUSE_EVENT_RBUTTON; -+ if (ev_state & Button3Mask) -+ state |= MOUSE_EVENT_MBUTTON; -+ -+ /* Touchscreen dont send motion notifys */ -+ if (kbd_mouse_is_absolute() && state == 0) -+ break; -+ } -+ else -+ { -+ ev_state = xev.xbutton.state; -+ ev_x = xev.xbutton.x; -+ ev_y = xev.xbutton.y; -+ -+ if (xev.type == ButtonPress) -+ { -+ if (xev.xbutton.button == Button1) -+ state |= MOUSE_EVENT_LBUTTON; -+ if (xev.xbutton.state == Button1) -+ state |= MOUSE_EVENT_RBUTTON; -+ if (xev.xbutton.state & Button3) -+ state |= MOUSE_EVENT_MBUTTON; -+ } -+ } -+ -+ if (kbd_mouse_is_absolute()) -+ { -+ dx = ev_x * 0x7FFF / xscreen->xwin_width; -+ dy = ev_y * 0x7FFF / xscreen->xwin_height; -+ } -+ else -+ { -+ dx = ev_x - last_x; -+ dy = ev_y - last_y; -+ } -+ -+ kbd_mouse_event(dx, dy, 0, state); -+ -+ last_x = ev_x; -+ last_y = ev_y; -+ } -+ break; -+ default: -+ break; -+ -+ } -+ } -+ return; -+} -+ -+void -+x_display_init(DisplayState *ds, int full_screen, unsigned long parent_xid) -+{ -+ Cursor empty_cursor; -+ Pixmap cursor_pxm; -+ XColor col; -+ XSetWindowAttributes attr; -+ -+ xscreen = malloc(sizeof(XHostScreen)); -+ memset(xscreen, 0, sizeof(XHostScreen)); -+ -+ if ((xscreen->xdpy = XOpenDisplay(getenv("DISPLAY"))) == NULL) -+ { -+ fprintf(stderr, "\nqemu cannot open host display. Is DISPLAY set?\n"); -+ exit(-1); -+ } -+ -+ xscreen->xscreen = DefaultScreen(xscreen->xdpy); -+ xscreen->xwinroot = RootWindow(xscreen->xdpy, xscreen->xscreen); -+ xscreen->xgc = XCreateGC(xscreen->xdpy, xscreen->xwinroot, 0, NULL); -+ xscreen->xdepth = DefaultDepth(xscreen->xdpy, xscreen->xscreen); -+ xscreen->xvisual = DefaultVisual(xscreen->xdpy, xscreen->xscreen); -+ -+ attr.event_mask = ButtonPressMask|ButtonReleaseMask|PointerMotionMask -+ |KeyPressMask|KeyReleaseMask|ExposureMask -+ |FocusChangeMask|EnterWindowMask|LeaveWindowMask; -+ -+ xscreen->xwin = XCreateWindow(xscreen->xdpy, -+ xscreen->xwinroot, -+ 0,0,640,480, -+ 0, -+ CopyFromParent, -+ CopyFromParent, -+ CopyFromParent, -+ CWEventMask, -+ &attr); -+ -+ xscreen->have_shm = True; -+ -+ if (!XShmQueryExtension(xscreen->xdpy) || getenv("QEMU_X_NO_SHM")) -+ { -+ xscreen->have_shm = False; -+ } -+ else -+ { -+ XShmSegmentInfo shminfo; -+ -+ shminfo.shmid=shmget(IPC_PRIVATE, 1, IPC_CREAT|0777); -+ shminfo.shmaddr=shmat(shminfo.shmid,0,0); -+ shminfo.readOnly=True; -+ -+ x_errors_trap(); -+ -+ XShmAttach(xscreen->xdpy, &shminfo); -+ XSync(xscreen->xdpy, False); -+ -+ if (x_errors_untrap()) -+ { -+ fprintf(stderr, "QEmu unable to use SHM XImages\n"); -+ xscreen->have_shm = False; -+ } -+ -+ shmdt(shminfo.shmaddr); -+ shmctl(shminfo.shmid, IPC_RMID, 0); -+ } -+ -+ if (!kbd_mouse_is_absolute()) -+ { -+ /* Only hide cursor if were not a touchscreen */ -+ cursor_pxm = XCreatePixmap (xscreen->xdpy, xscreen->xwinroot, 1, 1, 1); -+ memset (&col, 0, sizeof (col)); -+ empty_cursor = XCreatePixmapCursor (xscreen->xdpy, -+ cursor_pxm, cursor_pxm, -+ &col, &col, 1, 1); -+ XDefineCursor (xscreen->xdpy, xscreen->xwin, empty_cursor); -+ XFreePixmap (xscreen->xdpy, cursor_pxm); -+ } -+ -+ ds->dpy_update = x_update; -+ ds->dpy_resize = x_resize; -+ ds->dpy_refresh = x_refresh; -+ -+ if ((qemu_set_fd_handler2 (ConnectionNumber(xscreen->xdpy), -+ x_listen_poll, x_listen_read, NULL, ds)) == -1) -+ exit(-1); -+ -+ x_resize(ds, 640, 480); -+} diff --git a/packages/qemu/files/trunk_nodocs.patch b/packages/qemu/files/trunk_nodocs.patch deleted file mode 100644 index 0bf8fcb593..0000000000 --- a/packages/qemu/files/trunk_nodocs.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -Naur trunk_orig/Makefile trunk/Makefile ---- trunk_orig/Makefile 2006-06-06 10:09:03.000000000 +0300 -+++ trunk/Makefile 2006-06-06 17:18:59.000000000 +0300 -@@ -18,7 +18,8 @@ - LDFLAGS+=-static - endif - ifdef BUILD_DOCS --DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 -+#DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 -+DOCS= - else - DOCS= - endif -@@ -58,10 +59,10 @@ - - install-doc: $(DOCS) - mkdir -p "$(DESTDIR)$(docdir)" -- $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)" -+ #$(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)" - ifndef CONFIG_WIN32 - mkdir -p "$(DESTDIR)$(mandir)/man1" -- $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1" -+ #$(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1" - endif - - install: all $(if $(BUILD_DOCS),install-doc) -@@ -151,10 +152,10 @@ - $(datadir)/ppc_rom.bin \ - $(datadir)/video.x \ - $(datadir)/proll.elf \ -- $(datadir)/linux_boot.bin \ -- $(docdir)/qemu-doc.html \ -- $(docdir)/qemu-tech.html \ -- $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 ) -+ $(datadir)/linux_boot.bin -+# $(docdir)/qemu-doc.html \ -+# $(docdir)/qemu-tech.html \ -+# $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 ) - - ifneq ($(wildcard .depend),) - include .depend diff --git a/packages/rxvt-unicode/rxvt-unicode_7.7.bb b/packages/rxvt-unicode/rxvt-unicode_7.7.bb index 532fe2da63..7eaf109312 100644 --- a/packages/rxvt-unicode/rxvt-unicode_7.7.bb +++ b/packages/rxvt-unicode/rxvt-unicode_7.7.bb @@ -10,7 +10,7 @@ PACKAGES =+ "${PN}-daemon ${PN}-control" FILES_${PN}-daemon = "${bindir}/rxvtd" FILES_${PN}-control = "${bindir}/rxvtc" -SRC_URI = "http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-${PV}.tar.bz2 \ +SRC_URI = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${PV}.tar.bz2 \ file://xwc.patch;patch=1 \ file://signedchar.patch;patch=1" PR = "r0" diff --git a/packages/rxvt-unicode/rxvt-unicode_7.9.bb b/packages/rxvt-unicode/rxvt-unicode_7.9.bb index 8356b0589e..5903d08d62 100644 --- a/packages/rxvt-unicode/rxvt-unicode_7.9.bb +++ b/packages/rxvt-unicode/rxvt-unicode_7.9.bb @@ -10,7 +10,7 @@ PACKAGES =+ "${PN}-daemon ${PN}-control" FILES_${PN}-daemon = "${bindir}/rxvtd" FILES_${PN}-control = "${bindir}/rxvtc" -SRC_URI = "http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-${PV}.tar.bz2 \ +SRC_URI = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${PV}.tar.bz2 \ file://xwc.patch;patch=1 \ file://signedchar.patch;patch=1" PR = "r0" diff --git a/packages/rxvt/rxvt-2.8.0/.mtn2git_empty b/packages/rxvt/rxvt-2.8.0/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/rxvt/rxvt-2.8.0/.mtn2git_empty diff --git a/packages/rxvt/rxvt-2.8.0/include.patch b/packages/rxvt/rxvt-2.8.0/include.patch new file mode 100644 index 0000000000..f7542843b1 --- /dev/null +++ b/packages/rxvt/rxvt-2.8.0/include.patch @@ -0,0 +1,16 @@ +diff -urN rxvt.orig/src/rxvtlib.h.in rxvt/src/rxvtlib.h.in +--- rxvt.orig/src/rxvtlib.h.in 2003-03-25 19:13:53.000000000 -0500 ++++ rxvt/src/rxvtlib.h.in 2004-04-03 20:35:13.000000000 -0500 +@@ -43,7 +43,11 @@ + #include <sys/wait.h> + #include <sys/stat.h> + +-#include <X11/Intrinsic.h> /* Xlib, Xutil, Xresource, Xfuncproto */ ++#include <X11/Xlib.h> ++#include <X11/Xutil.h> ++#include <X11/Xresource.h> ++#include <X11/Xproto.h> ++#include <X11/region.h> + + #ifdef ENABLE_XFT + #include <X11/Xft/Xft.h> diff --git a/packages/rxvt/rxvt_2.8.0.bb b/packages/rxvt/rxvt_2.8.0.bb new file mode 100644 index 0000000000..9e4870022f --- /dev/null +++ b/packages/rxvt/rxvt_2.8.0.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "Well known terminal emulator" +SECTION = "x11/utils" +PR = "r1" +DEPENDS = "virtual/libx11 libxft" +LICENSE = "GPL" +SRC_URI = "${HANDHELDS_CVS};module=apps/rxvt \ + file://include.patch;patch=1" + +inherit autotools update-alternatives + +ALTERNATIVE_NAME = "x-terminal-emulator" +ALTERNATIVE_PATH = "${bindir}/rxvt-2.8.0" + +S = ${WORKDIR}/rxvt + +EXTRA_OECONF = "--disable-menubar --disable-xim \ + --enable-utmp --enable-wtmp --enable-lastlog \ + --disable-strings --with-term=rxvt --enable-keepscrolling \ + --with-xft --with-name=rxvt --enable-frills \ + --enable-swapscreen --enable-transparency \ + --with-codesets=eu,jp \ + --enable-cursor-blink --enable-pointer-blank \ + --enable-text-blink --enable-plain-scroll \ + --enable-combining --enable-shared \ + --with-x=${STAGING_LIBDIR}/.." + +EXTRA_OEMAKE = "'XINC=-I${STAGING_INCDIR}' \ + 'XLIB=-L${STAGING_LIBDIR} -lX11 -lXft'" + +do_configure () { + mv autoconf/configure.in . || true + rm autoconf/libtool.m4 + libtoolize --force + autotools_do_configure + echo '#define RXVT_UTMP_FILE "${localstatedir}/run/utmp"' >> config.h + echo '#define RXVT_WTMP_FILE "${localstatedir}/log/wtmp"' >> config.h + echo '#define RXVT_LASTLOG_FILE "${localstatedir}/log/lastlog"' >> config.h + echo '#define HAVE_XLOCALE 1' >> config.h + echo '#define HAVE_UTMP_H 1' >> config.h + echo '#define HAVE_TTYSLOT 1' >> config.h +} diff --git a/packages/setserial/setserial_2.17.bb b/packages/setserial/setserial_2.17.bb index 5d774ff6a3..4646df818a 100644 --- a/packages/setserial/setserial_2.17.bb +++ b/packages/setserial/setserial_2.17.bb @@ -1,5 +1,5 @@ SECTION = "console/utils" -SRC_URI = "ftp://tsx-11.mit.edu/pub/linux/sources/sbin/setserial-2.17.tar.gz" +SRC_URI = "http://fresh.t-systems-sfr.com/linux/src/setserial-2.17.tar.gz" LICENSE = "GPL" PR = "r1" inherit autotools diff --git a/packages/sysvinit/sysvinit/angstrom/rc b/packages/sysvinit/sysvinit/angstrom/rc index a355ea05cc..fb49720455 100755 --- a/packages/sysvinit/sysvinit/angstrom/rc +++ b/packages/sysvinit/sysvinit/angstrom/rc @@ -18,6 +18,11 @@ . /etc/default/rcS export VERBOSE +if [ $(($num_steps + $first_step)) -lt 1 ]; then + numsteps="10" + first_step="1" +fi + startup_progress() { step=$(($step + $step_change)) progress=$(($step * $progress_size / $num_steps + $first_step)) diff --git a/packages/sysvinit/sysvinit_2.86.bb b/packages/sysvinit/sysvinit_2.86.bb index d9cfaff2cb..5fa21607e0 100644 --- a/packages/sysvinit/sysvinit_2.86.bb +++ b/packages/sysvinit/sysvinit_2.86.bb @@ -2,7 +2,7 @@ DESCRIPTION = "System-V like init." SECTION = "base" LICENSE = "GPL" HOMEPAGE = "http://freshmeat.net/projects/sysvinit/" -PR = "r29" +PR = "r30" # USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf. # Set PACKAGE_ARCH appropriately. diff --git a/packages/tasks/task-base.bb b/packages/tasks/task-base.bb index 9b1f22f2d3..366da828bd 100644 --- a/packages/tasks/task-base.bb +++ b/packages/tasks/task-base.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Merge machine and distro options to create a basic machine task/package" -PR = "r12" +PR = "r13" PACKAGES = "task-base \ task-base-minimal \ @@ -17,6 +17,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" # apm # keyboard # touchscreen +# screen +# pci # Valid only in DISTRO_FEATURES: # diff --git a/packages/tasks/task-ossie.bb b/packages/tasks/task-ossie.bb index cc14213441..9d8537d0b9 100644 --- a/packages/tasks/task-ossie.bb +++ b/packages/tasks/task-ossie.bb @@ -3,13 +3,16 @@ DESCRIPTION = "Meta-package for OSSIE Software Defined Radio (SDR)" ALLOW_EMPTY = 1 PR = "r0" -OSSIE_INSTALL = "screen procps xerces-c omniorb usrp ossiecf ossie-standardinterfaces ossie-nodebooter" +OSSIE_BASE = "screen procps xerces-c omniorb usrp" -OSSIE_COMPONENTS = "ossie-gpp-device ossie-usrp-device ossie-demo ossie-channeldemo ossie-rxdemo" +OSSIE_PLATFORM = "ossiecf ossie-standardinterfaces ossie-nodebooter ossie-c-wavloader" +OSSIE_COMPONENTS = "ossie-gpp-device ossie-usrp-device ossie-soundout-device ossie-demo ossie-channeldemo ossie-rxdemo" -RDEPENDS = "${OSSIE_INSTALL} ${OSSIE_COMPONENTS}" -IPKG_INSTALL = "${OSSIE_INSTALL}" +RDEPENDS = "${OSSIE_BASE} ${OSSIE_PLATFORM} ${OSSIE_COMPONENTS}" + +IPKG_INSTALL = "${OSSIE_BASE} ${OSSIE_PLATFORM} ${OSSIE_COMPONENTS}" LICENSE = MIT + diff --git a/packages/tasks/task-pivotboot.bb b/packages/tasks/task-pivotboot.bb index 32e319cae3..a1885170e2 100644 --- a/packages/tasks/task-pivotboot.bb +++ b/packages/tasks/task-pivotboot.bb @@ -10,15 +10,7 @@ PACKAGES = "${PN}" MODUTILS ?= "24 26" -def bootstrap_modutils_rdepends(d): - import bb - m = bb.data.getVar('MODUTILS', d, 1) - r = [] - if '24' in m: - r.append('modutils-depmod') - if '26' in m: - r.append('module-init-tools-depmod') - return ' '.join(r) +require task-bootstrap.inc HOTPLUG ?= "linux-hotplug" diff --git a/packages/tinymail/files/camel-lite-configure-hack.patch b/packages/tinymail/files/camel-lite-configure-hack.patch new file mode 100644 index 0000000000..941f367434 --- /dev/null +++ b/packages/tinymail/files/camel-lite-configure-hack.patch @@ -0,0 +1,18 @@ +--- /tmp/configure.ac 2006-11-10 12:33:24.000000000 +0100 ++++ trunk/libtinymail-camel/camel-lite/configure.ac 2006-11-10 12:33:56.238554000 +0100 +@@ -157,15 +157,6 @@ + + CFLAGS="$CFLAGS -I$srcdir" + +-AC_MSG_CHECKING(preferred charset formats for system iconv) +-AC_RUN_IFELSE([AC_LANG_SOURCE([[ +-#define CONFIGURE_IN +-#include "iconv-detect.c" +-]])],[ +- AC_MSG_RESULT(found) +-],[ +- AC_MSG_RESULT(not found) +-],[]) + + CFLAGS="$save_CFLAGS" + LIBS="$save_LIBS" diff --git a/packages/tinymail/tinymail_svn.bb b/packages/tinymail/tinymail_svn.bb index be12b8ae66..037e78d119 100644 --- a/packages/tinymail/tinymail_svn.bb +++ b/packages/tinymail/tinymail_svn.bb @@ -1,18 +1,19 @@ SECTION = "x11/utils" -DEPENDS = "gtk+ glib-2.0 gnome-vfs-dbus libgnomeui eds-dbus" -DESCRIPTION = "TinyMail is an attempt to create an E-mail client for mobile devices" +DEPENDS = "gtk+ glib-2.0 gnome-vfs-dbus libgnomeui eds-dbus libiconv" +DESCRIPTION = "TinyMail is an attempt to create an E-mail framework for mobile devices" LICENSE = "GPL" PV = "0.0+svn${SRCDATE}" -PR = "r1" +PR = "r2" EXTRA_OECONF=" --disable-gnome --with-platform=gpe --with-html-component=none" SRC_URI = "svn://svn.tinymail.org/svn/tinymail/;module=trunk;proto=https \ - file://gtk-doc.m4 \ + file://camel-lite-configure-hack.patch;patch=1 \ + file://gtk-doc.m4 \ file://gtk-doc.make" -inherit pkgconfig autotools +inherit pkgconfig autotools S = "${WORKDIR}/trunk" do_configure_prepend() { @@ -21,3 +22,34 @@ do_configure_prepend() { install ${WORKDIR}/gtk-doc.make ./ } + +PACKAGES =+ "lib${PN}-gpe lib${PN}-gpe-dev \ + tinymail-camel-lite tinymail-camel-lite-dev tinymail-camel-lite-dbg \ + libtinymailui-gtk libtinymailui libtinymail-camel lib${PN}" + +FILES_lib${PN} = "${libdir}/lib*.so.*" +FILES_libtinymailui = "${libdir}/libtinymailui*.so.*" +FILES_libtinymailui-gtk = "${libdir}/libtinymailui-gtk*.so.*" + +FILES_libtinymail-camel = "${libdir}/libtinymail-camel*.so.*" + +FILES_lib${PN}-gpe = "${libdir}/libtinymail-gpe*.so.*" +FILES_lib${PN}-gpe-dev = "${libdir}/libtinymail-gpe*.so \ + ${libdir}/libtinymail-gpe*.a \ + ${libdir}/libtinymail-gpe*.la" + +LEAD_SONAME_tinymail-camel-lite = "libcamel-lite" +FILES_tinymail-camel-lite += "${libdir}/libcamel*.so.* \ + ${libdir}/camel-lite-1.2/camel-providers/*.so \ + ${libdir}/camel-lite-1.2/camel-providers/*.urls " +FILES_tinymail-camel-lite-dev += "${libdir}/libcamel-lite*.so \ + ${libdir}/libcamel-lite*.a \ + ${libdir}/libcamel-lite*.la \ + ${libdir}/camel-lite-1.2/camel-providers/*.la \ + ${libdir}/camel-lite-1.2/camel-providers/*.a " +FILES_tinymail-camel-lite-dbg += "${libdir}/camel-lite-1.2/camel-providers/.debug" + +PARALLEL_MAKE = "" +LDFLAGS += "-liconv" + + diff --git a/packages/tslib/tslib/h2200/tslib.sh b/packages/tslib/tslib/h2200/tslib.sh index c78f2169c7..b096bfb96e 100644 --- a/packages/tslib/tslib/h2200/tslib.sh +++ b/packages/tslib/tslib/h2200/tslib.sh @@ -1,6 +1,6 @@ #!/bin/sh -TSLIB_TSDEVICE=/dev/input/touchsreen0 +TSLIB_TSDEVICE=/dev/input/touchscreen0 TSLIB_CONFFILE=/etc/ts.conf case `uname -r` in diff --git a/packages/tslib/tslib/usec_fix.patch b/packages/tslib/tslib/usec_fix.patch deleted file mode 100644 index a791b39a3c..0000000000 --- a/packages/tslib/tslib/usec_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: work/tslib-0.0cvs20051201-r32/tslib/plugins/collie-raw.c -=================================================================== ---- tslib.orig/plugins/collie-raw.c 2005-12-04 10:09:33.000000000 +0100 -+++ tslib/plugins/collie-raw.c 2005-12-04 10:16:05.000000000 +0100 -@@ -29,7 +29,7 @@ - #ifdef DEBUG - fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); - #endif /*DEBUG*/ -- samp->tv.tv_usec = collie_evt->millisecs % 1000; -+ samp->tv.tv_usec = (collie_evt->millisecs % 1000) * 1000; - samp->tv.tv_sec = collie_evt->millisecs / 1000; - samp++; - collie_evt++; -Index: work/tslib-0.0cvs20051201-r32/tslib/plugins/corgi-raw.c -=================================================================== ---- tslib.orig/plugins/corgi-raw.c 2005-12-04 10:10:19.000000000 +0100 -+++ tslib/plugins/corgi-raw.c 2005-12-04 10:16:15.000000000 +0100 -@@ -29,7 +29,7 @@ - #ifdef DEBUG - fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure); - #endif /*DEBUG*/ -- samp->tv.tv_usec = corgi_evt->millisecs % 1000; -+ samp->tv.tv_usec = (corgi_evt->millisecs % 1000) * 1000; - samp->tv.tv_sec = corgi_evt->millisecs / 1000; - samp++; - corgi_evt++; diff --git a/packages/tslib/tslib_1.0.bb b/packages/tslib/tslib_1.0.bb index afb0202262..3d2e3cd79e 100644 --- a/packages/tslib/tslib_1.0.bb +++ b/packages/tslib/tslib_1.0.bb @@ -4,7 +4,7 @@ AUTHOR = "Russell King w/ plugins by Chris Larson et. al." SECTION = "base" LICENSE = "LGPL" -PR = "r2" +PR = "r3" SRC_URI = "http://download.berlios.de/tslib/tslib-1.0.tar.bz2 \ file://ts.conf \ diff --git a/packages/udev/files/mount.sh b/packages/udev/files/mount.sh index 48c7844690..be8b3dfca9 100644 --- a/packages/udev/files/mount.sh +++ b/packages/udev/files/mount.sh @@ -50,6 +50,11 @@ if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then fi # If the device isn't mounted at this point, it isn't configured in fstab + # 20061107: Small correction: The rootfs partition may be called just "rootfs" and not by + # its true device name so this would break. If the rootfs is mounted on two places + # during boot, it confuses the heck out of fsck. So Im auto-adding the root-partition + # to /etc/udev/mount.blacklist via postinst + cat /proc/mounts | awk '{print $1}' | grep -q "^$DEVNAME$" || automount fi diff --git a/packages/udev/udev_092.bb b/packages/udev/udev_092.bb index 2de59fb018..3d33938fb1 100644 --- a/packages/udev/udev_092.bb +++ b/packages/udev/udev_092.bb @@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod the hotplug package and requires a kernel not older than 2.6.12." RPROVIDES = "hotplug" -PR = "r12" +PR = "r13" SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ file://noasmlinkage.patch;patch=1 \ @@ -57,3 +57,20 @@ do_install () { do_install_append_h2200() { install -m 0644 ${WORKDIR}/50-hostap_cs.rules ${D}${sysconfdir}/udev/rules.d/50-hostap_cs.rules } + +pkg_postinst_append() { + + # Add the root partition to mount.blacklist to avoid a bug in the auto-mounter, + # causing confusion with fsck on boot + + while read dev mp fs junk + do + if test "$mp" = "/" + then + root_partition="$dev" + echo "$root_partition" >> /etc/udev/mount.blacklist + fi + done < /etc/fstab + +} + diff --git a/packages/udev/udev_097.bb b/packages/udev/udev_097.bb index 3abd9b5fa7..497357775e 100644 --- a/packages/udev/udev_097.bb +++ b/packages/udev/udev_097.bb @@ -8,7 +8,7 @@ used to detect the type of a file system and read its metadata." DESCRIPTION_libvolume-id-dev = "libvolume_id development headers, \ needed to link programs with libvolume_id." -PR = "r3" +PR = "r4" SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ file://noasmlinkage.patch;patch=1 \ @@ -61,3 +61,21 @@ do_install () { do_install_append_h2200() { install -m 0644 ${WORKDIR}/50-hostap_cs.rules ${D}${sysconfdir}/udev/rules.d/50-hostap_cs.rules } + +pkg_postinst_append() { + + # Add the root partition to mount.blacklist to avoid a bug in the auto-mounter, + # causing confusion with fsck on boot + + while read dev mp fs junk + do + if test "$mp" = "/" + then + root_partition="$dev" + echo "$root_partition" >> /etc/udev/mount.blacklist + fi + done < /etc/fstab + +} + + diff --git a/packages/udev/udev_100.bb b/packages/udev/udev_100.bb index 31d49d44d8..183d785627 100644 --- a/packages/udev/udev_100.bb +++ b/packages/udev/udev_100.bb @@ -9,7 +9,7 @@ used to detect the type of a file system and read its metadata." DESCRIPTION_libvolume-id-dev = "libvolume_id development headers, \ needed to link programs with libvolume_id." -PR = "r2" +PR = "r3" SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ file://noasmlinkage.patch;patch=1 \ @@ -62,3 +62,20 @@ do_install () { do_install_append_h2200() { install -m 0644 ${WORKDIR}/50-hostap_cs.rules ${D}${sysconfdir}/udev/rules.d/50-hostap_cs.rules } + +pkg_postinst_append() { + + # Add the root partition to mount.blacklist to avoid a bug in the auto-mounter, + # causing confusion with fsck on boot + + while read dev mp fs junk + do + if test "$mp" = "/" + then + root_partition="$dev" + echo "$root_partition" >> /etc/udev/mount.blacklist + fi + done < /etc/fstab + +} + diff --git a/packages/vino/.mtn2git_empty b/packages/vino/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/vino/.mtn2git_empty diff --git a/packages/vino/vino_2.16.0.bb b/packages/vino/vino_2.16.0.bb new file mode 100644 index 0000000000..0780d0d409 --- /dev/null +++ b/packages/vino/vino_2.16.0.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Vino is an integrated VNC server for GNOME." +LICENSE = "GPLv2" + +DEPENDS = "libgnomeui libglade gnome-keyring esound-gpe dbus-glib libxml2 gnutls gnome-vfs" + +inherit gnome gconf + +do_configure() { + libtoolize --force + gnu-configize + oe_runconf +} + diff --git a/packages/xserver-common/xserver-common_1.11.bb b/packages/xserver-common/xserver-common_1.11.bb new file mode 100644 index 0000000000..47f9f2b184 --- /dev/null +++ b/packages/xserver-common/xserver-common_1.11.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Common X11 scripts and support files" +LICENSE = "GPL" +SECTION = "x11" +RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo xtscal" +PR = "r0" + +PACKAGE_ARCH = "all" + +# we are using a gpe-style Makefile +inherit gpe + +SRC_URI_append = " file://setDPI.sh \ + file://calibrate_zaurusd.patch;patch=1 \ + file://w100.patch;patch=1 \ + file://poodle-xmodmap-2.6.patch;patch=1" + +do_install_append() { + install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi" +} diff --git a/packages/xserver-common/xserver-common_1.12.bb b/packages/xserver-common/xserver-common_1.12.bb new file mode 100644 index 0000000000..4d46020ba5 --- /dev/null +++ b/packages/xserver-common/xserver-common_1.12.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Common X11 scripts and support files" +LICENSE = "GPL" +SECTION = "x11" +RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo xtscal" +PR = "r0" + +PACKAGE_ARCH = "all" + +# we are using a gpe-style Makefile +inherit gpe + +SRC_URI_append = " file://setDPI.sh \ + " + +do_install_append() { + install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi" +} diff --git a/packages/xstroke/xstroke_0.6.bb b/packages/xstroke/xstroke_0.6.bb index 24c03b633c..eb3e23df8b 100644 --- a/packages/xstroke/xstroke_0.6.bb +++ b/packages/xstroke/xstroke_0.6.bb @@ -5,7 +5,7 @@ PRIORITY = "optional" DEPENDS = "virtual/libx11 xft libxtst libxpm" PR = "r2" -SRC_URI = "http://www.oesources.org/source/xstroke-0.6.tar.gz \ +SRC_URI = "http://www.oesources.org/source/current/xstroke-0.6.tar.gz \ file://auto-disable.patch;patch=1;pnum=0" inherit autotools pkgconfig diff --git a/site/arm-linux b/site/arm-linux index ce15c881e8..5aa8a4cf5c 100644 --- a/site/arm-linux +++ b/site/arm-linux @@ -72,6 +72,7 @@ nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} # libnet ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} # screen screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} diff --git a/site/arm-linux-gnueabi b/site/arm-linux-gnueabi index ce15c881e8..77ce33f338 100644 --- a/site/arm-linux-gnueabi +++ b/site/arm-linux-gnueabi @@ -72,6 +72,7 @@ nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} # libnet ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} # screen screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} @@ -305,3 +306,16 @@ dpkg_cv___va_copy=${ac_cv___va_copy=yes} # enca yeti_cv_func_scanf_modif_size_t=yes +# clamav +clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes} +clamav_av_have_in_port_t=${clamav_av_have_in_port_t=yes} +clamav_av_have_in_addr_t=${clamav_av_have_in_addr_t=yes} +ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes} + +#dbus +ac_cv_have_abstract_sockets=${ac_cv_have_abstract_sockets=no} + +# p3scan +ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes} + + diff --git a/site/arm-linux-uclibc b/site/arm-linux-uclibc index 76a93f0f67..f33855f080 100644 --- a/site/arm-linux-uclibc +++ b/site/arm-linux-uclibc @@ -57,6 +57,7 @@ nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} # libnet ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} # screen screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} diff --git a/site/arm-linux-uclibcgnueabi b/site/arm-linux-uclibcgnueabi index 76a93f0f67..f33855f080 100644 --- a/site/arm-linux-uclibcgnueabi +++ b/site/arm-linux-uclibcgnueabi @@ -57,6 +57,7 @@ nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} # libnet ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} # screen screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} diff --git a/site/armeb-linux b/site/armeb-linux index 3b47d0cd96..d00d9189e4 100644 --- a/site/armeb-linux +++ b/site/armeb-linux @@ -60,6 +60,7 @@ nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} # libnet ac_cv_libnet_endianess=${ac_cv_libnet_endianess=big} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} # screen screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} diff --git a/site/armeb-linux-uclibc b/site/armeb-linux-uclibc index 54c529b1ff..c399e64f0c 100644 --- a/site/armeb-linux-uclibc +++ b/site/armeb-linux-uclibc @@ -60,6 +60,7 @@ nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} # libnet ac_cv_libnet_endianess=${ac_cv_libnet_endianess=big} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} # screen screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} diff --git a/site/i486-linux b/site/i486-linux index 6116fde046..114b8d7280 100644 --- a/site/i486-linux +++ b/site/i486-linux @@ -178,3 +178,7 @@ ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes} # p3scan ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes} + +# libnet +ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} diff --git a/site/powerpc-linux b/site/powerpc-linux index 806c011f64..75f8998f23 100644 --- a/site/powerpc-linux +++ b/site/powerpc-linux @@ -65,6 +65,7 @@ nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} # libnet ac_cv_libnet_endianess=${ac_cv_libnet_endianess=big} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} # screen screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} diff --git a/site/sh3-linux b/site/sh3-linux index 8f7998a3de..c83ea6935a 100644 --- a/site/sh3-linux +++ b/site/sh3-linux @@ -64,6 +64,7 @@ nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} # libnet ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} # screen screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} diff --git a/site/sh4-linux b/site/sh4-linux index e2c4df0064..1dc9567ea8 100644 --- a/site/sh4-linux +++ b/site/sh4-linux @@ -288,3 +288,7 @@ clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes} clamav_av_have_in_port_t=${clamav_av_have_in_port_t=yes} clamav_av_have_in_addr_t=${clamav_av_have_in_addr_t=yes} ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes} + +# libnet +ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} diff --git a/site/x86_64-linux b/site/x86_64-linux index dc7cb09069..1a2ea5a42f 100644 --- a/site/x86_64-linux +++ b/site/x86_64-linux @@ -11,6 +11,7 @@ ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no} ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no} ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} ac_cv_linux_vers=${ac_cv_linux_vers=2} ac_cv_need_trio=${ac_cv_need_trio=no} ac_cv_sizeof_char=${ac_cv_sizeof_char=1} diff --git a/site/x86_64-linux-uclibc b/site/x86_64-linux-uclibc index ba60564d0d..2bb77f763f 100644 --- a/site/x86_64-linux-uclibc +++ b/site/x86_64-linux-uclibc @@ -11,6 +11,7 @@ ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no} ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no} ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} ac_cv_linux_vers=${ac_cv_linux_vers=2} ac_cv_need_trio=${ac_cv_need_trio=no} ac_cv_sizeof_char=${ac_cv_sizeof_char=1} |